@local-labs-jpollock/local-cli 0.0.3 → 0.0.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -69,4 +69,4 @@ async function exportDatabase(args, services) {
69
69
  };
70
70
  }
71
71
  }
72
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXhwb3J0RGF0YWJhc2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvbWFpbi9tY3AvdG9vbHMvZXhwb3J0RGF0YWJhc2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBOzs7R0FHRzs7O0FBNkJILHdDQW9EQztBQTlFRCx1Q0FBdUc7QUFFMUYsUUFBQSx3QkFBd0IsR0FBc0I7SUFDekQsSUFBSSxFQUFFLGlCQUFpQjtJQUN2QixXQUFXLEVBQUUsc0NBQXNDO0lBQ25ELFdBQVcsRUFBRTtRQUNYLElBQUksRUFBRSxRQUFRO1FBQ2QsVUFBVSxFQUFFO1lBQ1YsSUFBSSxFQUFFO2dCQUNKLElBQUksRUFBRSxRQUFRO2dCQUNkLFdBQVcsRUFBRSxpQkFBaUI7YUFDL0I7WUFDRCxVQUFVLEVBQUU7Z0JBQ1YsSUFBSSxFQUFFLFFBQVE7Z0JBQ2QsV0FBVyxFQUFFLHNFQUFzRTthQUNwRjtTQUNGO1FBQ0QsUUFBUSxFQUFFLENBQUMsTUFBTSxDQUFDO0tBQ25CO0NBQ0YsQ0FBQztBQU9LLEtBQUssVUFBVSxjQUFjLENBQ2xDLElBQTZCLEVBQzdCLFFBQXVCO0lBRXZCLE1BQU0sRUFBRSxJQUFJLEVBQUUsU0FBUyxFQUFFLFVBQVUsRUFBRSxHQUFHLElBQXFDLENBQUM7SUFFOUUsOEJBQThCO0lBQzlCLE1BQU0sU0FBUyxHQUFHLElBQUEsK0JBQXFCLEVBQUMsU0FBUyxFQUFFLE1BQU0sQ0FBQyxDQUFDO0lBQzNELElBQUksU0FBUztRQUFFLE9BQU8sU0FBUyxDQUFDO0lBRWhDLDRCQUE0QjtJQUM1QixNQUFNLFVBQVUsR0FBRyxJQUFBLHlCQUFlLEVBQUMsU0FBUyxFQUFFLFFBQVEsQ0FBQyxRQUFRLENBQUMsQ0FBQztJQUNqRSxJQUFJLE9BQU8sSUFBSSxVQUFVO1FBQUUsT0FBTyxVQUFVLENBQUMsS0FBSyxDQUFDO0lBQ25ELE1BQU0sRUFBRSxJQUFJLEVBQUUsR0FBRyxVQUFVLENBQUM7SUFFNUIsSUFBSSxDQUFDO1FBQ0gsd0JBQXdCO1FBQ3hCLE1BQU0sT0FBTyxHQUFHLE9BQU8sQ0FBQyxHQUFHLENBQUMsSUFBSSxJQUFJLE9BQU8sQ0FBQyxHQUFHLENBQUMsV0FBVyxJQUFJLEVBQUUsQ0FBQztRQUNsRSxNQUFNLFdBQVcsR0FBRyxHQUFHLE9BQU8sY0FBYyxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxpQkFBaUIsRUFBRSxHQUFHLENBQUMsTUFBTSxDQUFDO1FBQzVGLE1BQU0sU0FBUyxHQUFHLFVBQVUsSUFBSSxXQUFXLENBQUM7UUFFNUMscUVBQXFFO1FBQ3JFLElBQUksQ0FBQyxJQUFBLHlCQUFlLEVBQUMsU0FBUyxDQUFDLEVBQUUsQ0FBQztZQUNoQyxPQUFPLElBQUEsMkJBQWlCLEVBQ3RCLGtGQUFrRixDQUNuRixDQUFDO1FBQ0osQ0FBQztRQUVELHVCQUF1QjtRQUN2QixNQUFNLE1BQU0sR0FBRyxNQUFNLFFBQVEsQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLElBQUksRUFBRSxDQUFDLElBQUksRUFBRSxRQUFRLEVBQUUsU0FBUyxDQUFDLENBQUMsQ0FBQztRQUUzRSxJQUFJLE1BQU0sS0FBSyxJQUFJLEVBQUUsQ0FBQztZQUNwQixPQUFPO2dCQUNMLE9BQU8sRUFBRSxDQUFDLEVBQUUsSUFBSSxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUUsa0NBQWtDLElBQUksQ0FBQyxJQUFJLEdBQUcsRUFBRSxDQUFDO2dCQUNqRixPQUFPLEVBQUUsSUFBSTthQUNkLENBQUM7UUFDSixDQUFDO1FBRUQsT0FBTztZQUNMLE9BQU8sRUFBRTtnQkFDUDtvQkFDRSxJQUFJLEVBQUUsTUFBTTtvQkFDWixJQUFJLEVBQUUsdUNBQXVDLElBQUksQ0FBQyxJQUFJLFNBQVMsU0FBUyxFQUFFO2lCQUMzRTthQUNGO1NBQ0YsQ0FBQztJQUNKLENBQUM7SUFBQyxPQUFPLEtBQVUsRUFBRSxDQUFDO1FBQ3BCLE9BQU87WUFDTCxPQUFPLEVBQUUsQ0FBQyxFQUFFLElBQUksRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFLDhCQUE4QixLQUFLLENBQUMsT0FBTyxFQUFFLEVBQUUsQ0FBQztZQUNoRixPQUFPLEVBQUUsSUFBSTtTQUNkLENBQUM7SUFDSixDQUFDO0FBQ0gsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogZXhwb3J0X2RhdGFiYXNlIFRvb2xcbiAqIEV4cG9ydCBzaXRlIGRhdGFiYXNlIHRvIFNRTCBmaWxlIHVzaW5nIFdQLUNMSVxuICovXG5cbmltcG9ydCB7IE1jcFRvb2xEZWZpbml0aW9uLCBNY3BUb29sUmVzdWx0LCBMb2NhbFNlcnZpY2VzIH0gZnJvbSAnLi4vLi4vLi4vY29tbW9uL3R5cGVzJztcbmltcG9ydCB7IHZhbGlkYXRlUmVxdWlyZWRQYXJhbSwgZmluZFNpdGVPckVycm9yLCBpc1ZhbGlkRmlsZVBhdGgsIGNyZWF0ZUVycm9yUmVzdWx0IH0gZnJvbSAnLi9oZWxwZXJzJztcblxuZXhwb3J0IGNvbnN0IGV4cG9ydERhdGFiYXNlRGVmaW5pdGlvbjogTWNwVG9vbERlZmluaXRpb24gPSB7XG4gIG5hbWU6ICdleHBvcnRfZGF0YWJhc2UnLFxuICBkZXNjcmlwdGlvbjogJ0V4cG9ydCBhIHNpdGUgZGF0YWJhc2UgdG8gYSBTUUwgZmlsZScsXG4gIGlucHV0U2NoZW1hOiB7XG4gICAgdHlwZTogJ29iamVjdCcsXG4gICAgcHJvcGVydGllczoge1xuICAgICAgc2l0ZToge1xuICAgICAgICB0eXBlOiAnc3RyaW5nJyxcbiAgICAgICAgZGVzY3JpcHRpb246ICdTaXRlIG5hbWUgb3IgSUQnLFxuICAgICAgfSxcbiAgICAgIG91dHB1dFBhdGg6IHtcbiAgICAgICAgdHlwZTogJ3N0cmluZycsXG4gICAgICAgIGRlc2NyaXB0aW9uOiAnT3V0cHV0IGZpbGUgcGF0aCAob3B0aW9uYWwsIGRlZmF1bHRzIHRvIH4vRG93bmxvYWRzLzxzaXRlLW5hbWU+LnNxbCknLFxuICAgICAgfSxcbiAgICB9LFxuICAgIHJlcXVpcmVkOiBbJ3NpdGUnXSxcbiAgfSxcbn07XG5cbmludGVyZmFjZSBFeHBvcnREYXRhYmFzZUFyZ3Mge1xuICBzaXRlOiBzdHJpbmc7XG4gIG91dHB1dFBhdGg/OiBzdHJpbmc7XG59XG5cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiBleHBvcnREYXRhYmFzZShcbiAgYXJnczogUmVjb3JkPHN0cmluZywgdW5rbm93bj4sXG4gIHNlcnZpY2VzOiBMb2NhbFNlcnZpY2VzXG4pOiBQcm9taXNlPE1jcFRvb2xSZXN1bHQ+IHtcbiAgY29uc3QgeyBzaXRlOiBzaXRlUXVlcnksIG91dHB1dFBhdGggfSA9IGFyZ3MgYXMgdW5rbm93biBhcyBFeHBvcnREYXRhYmFzZUFyZ3M7XG5cbiAgLy8gVmFsaWRhdGUgcmVxdWlyZWQgcGFyYW1ldGVyXG4gIGNvbnN0IHNpdGVFcnJvciA9IHZhbGlkYXRlUmVxdWlyZWRQYXJhbShzaXRlUXVlcnksICdzaXRlJyk7XG4gIGlmIChzaXRlRXJyb3IpIHJldHVybiBzaXRlRXJyb3I7XG5cbiAgLy8gRmluZCBzaXRlIG9yIHJldHVybiBlcnJvclxuICBjb25zdCBzaXRlUmVzdWx0ID0gZmluZFNpdGVPckVycm9yKHNpdGVRdWVyeSwgc2VydmljZXMuc2l0ZURhdGEpO1xuICBpZiAoJ2Vycm9yJyBpbiBzaXRlUmVzdWx0KSByZXR1cm4gc2l0ZVJlc3VsdC5lcnJvcjtcbiAgY29uc3QgeyBzaXRlIH0gPSBzaXRlUmVzdWx0O1xuXG4gIHRyeSB7XG4gICAgLy8gRGV0ZXJtaW5lIG91dHB1dCBwYXRoXG4gICAgY29uc3QgaG9tZURpciA9IHByb2Nlc3MuZW52LkhPTUUgfHwgcHJvY2Vzcy5lbnYuVVNFUlBST0ZJTEUgfHwgJyc7XG4gICAgY29uc3QgZGVmYXVsdFBhdGggPSBgJHtob21lRGlyfS9Eb3dubG9hZHMvJHtzaXRlLm5hbWUucmVwbGFjZSgvW15hLXpBLVowLTktX10vZywgJy0nKX0uc3FsYDtcbiAgICBjb25zdCBmaW5hbFBhdGggPSBvdXRwdXRQYXRoIHx8IGRlZmF1bHRQYXRoO1xuXG4gICAgLy8gU2VjdXJpdHk6IFZhbGlkYXRlIG91dHB1dCBwYXRoIGlzIHNhZmUgKG5vIHBhdGggdHJhdmVyc2FsIGF0dGFja3MpXG4gICAgaWYgKCFpc1ZhbGlkRmlsZVBhdGgoZmluYWxQYXRoKSkge1xuICAgICAgcmV0dXJuIGNyZWF0ZUVycm9yUmVzdWx0KFxuICAgICAgICAnRXJyb3I6IEludmFsaWQgb3V0cHV0IHBhdGguIFBhdGggbXVzdCBiZSB3aXRoaW4gYWxsb3dlZCBkaXJlY3RvcmllcyAoaG9tZSwgdG1wKS4nXG4gICAgICApO1xuICAgIH1cblxuICAgIC8vIFJ1biBXUC1DTEkgZGIgZXhwb3J0XG4gICAgY29uc3QgcmVzdWx0ID0gYXdhaXQgc2VydmljZXMud3BDbGkucnVuKHNpdGUsIFsnZGInLCAnZXhwb3J0JywgZmluYWxQYXRoXSk7XG5cbiAgICBpZiAocmVzdWx0ID09PSBudWxsKSB7XG4gICAgICByZXR1cm4ge1xuICAgICAgICBjb250ZW50OiBbeyB0eXBlOiAndGV4dCcsIHRleHQ6IGBGYWlsZWQgdG8gZXhwb3J0IGRhdGFiYXNlIGZvciBcIiR7c2l0ZS5uYW1lfVwiYCB9XSxcbiAgICAgICAgaXNFcnJvcjogdHJ1ZSxcbiAgICAgIH07XG4gICAgfVxuXG4gICAgcmV0dXJuIHtcbiAgICAgIGNvbnRlbnQ6IFtcbiAgICAgICAge1xuICAgICAgICAgIHR5cGU6ICd0ZXh0JyxcbiAgICAgICAgICB0ZXh0OiBgU3VjY2Vzc2Z1bGx5IGV4cG9ydGVkIGRhdGFiYXNlIGZvciBcIiR7c2l0ZS5uYW1lfVwiIHRvOiAke2ZpbmFsUGF0aH1gLFxuICAgICAgICB9LFxuICAgICAgXSxcbiAgICB9O1xuICB9IGNhdGNoIChlcnJvcjogYW55KSB7XG4gICAgcmV0dXJuIHtcbiAgICAgIGNvbnRlbnQ6IFt7IHR5cGU6ICd0ZXh0JywgdGV4dDogYEZhaWxlZCB0byBleHBvcnQgZGF0YWJhc2U6ICR7ZXJyb3IubWVzc2FnZX1gIH1dLFxuICAgICAgaXNFcnJvcjogdHJ1ZSxcbiAgICB9O1xuICB9XG59XG4iXX0=
72
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXhwb3J0RGF0YWJhc2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvbWFpbi9tY3AvdG9vbHMvZXhwb3J0RGF0YWJhc2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBOzs7R0FHRzs7O0FBa0NILHdDQW9EQztBQW5GRCx1Q0FLbUI7QUFFTixRQUFBLHdCQUF3QixHQUFzQjtJQUN6RCxJQUFJLEVBQUUsaUJBQWlCO0lBQ3ZCLFdBQVcsRUFBRSxzQ0FBc0M7SUFDbkQsV0FBVyxFQUFFO1FBQ1gsSUFBSSxFQUFFLFFBQVE7UUFDZCxVQUFVLEVBQUU7WUFDVixJQUFJLEVBQUU7Z0JBQ0osSUFBSSxFQUFFLFFBQVE7Z0JBQ2QsV0FBVyxFQUFFLGlCQUFpQjthQUMvQjtZQUNELFVBQVUsRUFBRTtnQkFDVixJQUFJLEVBQUUsUUFBUTtnQkFDZCxXQUFXLEVBQUUsc0VBQXNFO2FBQ3BGO1NBQ0Y7UUFDRCxRQUFRLEVBQUUsQ0FBQyxNQUFNLENBQUM7S0FDbkI7Q0FDRixDQUFDO0FBT0ssS0FBSyxVQUFVLGNBQWMsQ0FDbEMsSUFBNkIsRUFDN0IsUUFBdUI7SUFFdkIsTUFBTSxFQUFFLElBQUksRUFBRSxTQUFTLEVBQUUsVUFBVSxFQUFFLEdBQUcsSUFBcUMsQ0FBQztJQUU5RSw4QkFBOEI7SUFDOUIsTUFBTSxTQUFTLEdBQUcsSUFBQSwrQkFBcUIsRUFBQyxTQUFTLEVBQUUsTUFBTSxDQUFDLENBQUM7SUFDM0QsSUFBSSxTQUFTO1FBQUUsT0FBTyxTQUFTLENBQUM7SUFFaEMsNEJBQTRCO0lBQzVCLE1BQU0sVUFBVSxHQUFHLElBQUEseUJBQWUsRUFBQyxTQUFTLEVBQUUsUUFBUSxDQUFDLFFBQVEsQ0FBQyxDQUFDO0lBQ2pFLElBQUksT0FBTyxJQUFJLFVBQVU7UUFBRSxPQUFPLFVBQVUsQ0FBQyxLQUFLLENBQUM7SUFDbkQsTUFBTSxFQUFFLElBQUksRUFBRSxHQUFHLFVBQVUsQ0FBQztJQUU1QixJQUFJLENBQUM7UUFDSCx3QkFBd0I7UUFDeEIsTUFBTSxPQUFPLEdBQUcsT0FBTyxDQUFDLEdBQUcsQ0FBQyxJQUFJLElBQUksT0FBTyxDQUFDLEdBQUcsQ0FBQyxXQUFXLElBQUksRUFBRSxDQUFDO1FBQ2xFLE1BQU0sV0FBVyxHQUFHLEdBQUcsT0FBTyxjQUFjLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLGlCQUFpQixFQUFFLEdBQUcsQ0FBQyxNQUFNLENBQUM7UUFDNUYsTUFBTSxTQUFTLEdBQUcsVUFBVSxJQUFJLFdBQVcsQ0FBQztRQUU1QyxxRUFBcUU7UUFDckUsSUFBSSxDQUFDLElBQUEseUJBQWUsRUFBQyxTQUFTLENBQUMsRUFBRSxDQUFDO1lBQ2hDLE9BQU8sSUFBQSwyQkFBaUIsRUFDdEIsa0ZBQWtGLENBQ25GLENBQUM7UUFDSixDQUFDO1FBRUQsdUJBQXVCO1FBQ3ZCLE1BQU0sTUFBTSxHQUFHLE1BQU0sUUFBUSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsSUFBSSxFQUFFLENBQUMsSUFBSSxFQUFFLFFBQVEsRUFBRSxTQUFTLENBQUMsQ0FBQyxDQUFDO1FBRTNFLElBQUksTUFBTSxLQUFLLElBQUksRUFBRSxDQUFDO1lBQ3BCLE9BQU87Z0JBQ0wsT0FBTyxFQUFFLENBQUMsRUFBRSxJQUFJLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRSxrQ0FBa0MsSUFBSSxDQUFDLElBQUksR0FBRyxFQUFFLENBQUM7Z0JBQ2pGLE9BQU8sRUFBRSxJQUFJO2FBQ2QsQ0FBQztRQUNKLENBQUM7UUFFRCxPQUFPO1lBQ0wsT0FBTyxFQUFFO2dCQUNQO29CQUNFLElBQUksRUFBRSxNQUFNO29CQUNaLElBQUksRUFBRSx1Q0FBdUMsSUFBSSxDQUFDLElBQUksU0FBUyxTQUFTLEVBQUU7aUJBQzNFO2FBQ0Y7U0FDRixDQUFDO0lBQ0osQ0FBQztJQUFDLE9BQU8sS0FBVSxFQUFFLENBQUM7UUFDcEIsT0FBTztZQUNMLE9BQU8sRUFBRSxDQUFDLEVBQUUsSUFBSSxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUUsOEJBQThCLEtBQUssQ0FBQyxPQUFPLEVBQUUsRUFBRSxDQUFDO1lBQ2hGLE9BQU8sRUFBRSxJQUFJO1NBQ2QsQ0FBQztJQUNKLENBQUM7QUFDSCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBleHBvcnRfZGF0YWJhc2UgVG9vbFxuICogRXhwb3J0IHNpdGUgZGF0YWJhc2UgdG8gU1FMIGZpbGUgdXNpbmcgV1AtQ0xJXG4gKi9cblxuaW1wb3J0IHsgTWNwVG9vbERlZmluaXRpb24sIE1jcFRvb2xSZXN1bHQsIExvY2FsU2VydmljZXMgfSBmcm9tICcuLi8uLi8uLi9jb21tb24vdHlwZXMnO1xuaW1wb3J0IHtcbiAgdmFsaWRhdGVSZXF1aXJlZFBhcmFtLFxuICBmaW5kU2l0ZU9yRXJyb3IsXG4gIGlzVmFsaWRGaWxlUGF0aCxcbiAgY3JlYXRlRXJyb3JSZXN1bHQsXG59IGZyb20gJy4vaGVscGVycyc7XG5cbmV4cG9ydCBjb25zdCBleHBvcnREYXRhYmFzZURlZmluaXRpb246IE1jcFRvb2xEZWZpbml0aW9uID0ge1xuICBuYW1lOiAnZXhwb3J0X2RhdGFiYXNlJyxcbiAgZGVzY3JpcHRpb246ICdFeHBvcnQgYSBzaXRlIGRhdGFiYXNlIHRvIGEgU1FMIGZpbGUnLFxuICBpbnB1dFNjaGVtYToge1xuICAgIHR5cGU6ICdvYmplY3QnLFxuICAgIHByb3BlcnRpZXM6IHtcbiAgICAgIHNpdGU6IHtcbiAgICAgICAgdHlwZTogJ3N0cmluZycsXG4gICAgICAgIGRlc2NyaXB0aW9uOiAnU2l0ZSBuYW1lIG9yIElEJyxcbiAgICAgIH0sXG4gICAgICBvdXRwdXRQYXRoOiB7XG4gICAgICAgIHR5cGU6ICdzdHJpbmcnLFxuICAgICAgICBkZXNjcmlwdGlvbjogJ091dHB1dCBmaWxlIHBhdGggKG9wdGlvbmFsLCBkZWZhdWx0cyB0byB+L0Rvd25sb2Fkcy88c2l0ZS1uYW1lPi5zcWwpJyxcbiAgICAgIH0sXG4gICAgfSxcbiAgICByZXF1aXJlZDogWydzaXRlJ10sXG4gIH0sXG59O1xuXG5pbnRlcmZhY2UgRXhwb3J0RGF0YWJhc2VBcmdzIHtcbiAgc2l0ZTogc3RyaW5nO1xuICBvdXRwdXRQYXRoPzogc3RyaW5nO1xufVxuXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gZXhwb3J0RGF0YWJhc2UoXG4gIGFyZ3M6IFJlY29yZDxzdHJpbmcsIHVua25vd24+LFxuICBzZXJ2aWNlczogTG9jYWxTZXJ2aWNlc1xuKTogUHJvbWlzZTxNY3BUb29sUmVzdWx0PiB7XG4gIGNvbnN0IHsgc2l0ZTogc2l0ZVF1ZXJ5LCBvdXRwdXRQYXRoIH0gPSBhcmdzIGFzIHVua25vd24gYXMgRXhwb3J0RGF0YWJhc2VBcmdzO1xuXG4gIC8vIFZhbGlkYXRlIHJlcXVpcmVkIHBhcmFtZXRlclxuICBjb25zdCBzaXRlRXJyb3IgPSB2YWxpZGF0ZVJlcXVpcmVkUGFyYW0oc2l0ZVF1ZXJ5LCAnc2l0ZScpO1xuICBpZiAoc2l0ZUVycm9yKSByZXR1cm4gc2l0ZUVycm9yO1xuXG4gIC8vIEZpbmQgc2l0ZSBvciByZXR1cm4gZXJyb3JcbiAgY29uc3Qgc2l0ZVJlc3VsdCA9IGZpbmRTaXRlT3JFcnJvcihzaXRlUXVlcnksIHNlcnZpY2VzLnNpdGVEYXRhKTtcbiAgaWYgKCdlcnJvcicgaW4gc2l0ZVJlc3VsdCkgcmV0dXJuIHNpdGVSZXN1bHQuZXJyb3I7XG4gIGNvbnN0IHsgc2l0ZSB9ID0gc2l0ZVJlc3VsdDtcblxuICB0cnkge1xuICAgIC8vIERldGVybWluZSBvdXRwdXQgcGF0aFxuICAgIGNvbnN0IGhvbWVEaXIgPSBwcm9jZXNzLmVudi5IT01FIHx8IHByb2Nlc3MuZW52LlVTRVJQUk9GSUxFIHx8ICcnO1xuICAgIGNvbnN0IGRlZmF1bHRQYXRoID0gYCR7aG9tZURpcn0vRG93bmxvYWRzLyR7c2l0ZS5uYW1lLnJlcGxhY2UoL1teYS16QS1aMC05LV9dL2csICctJyl9LnNxbGA7XG4gICAgY29uc3QgZmluYWxQYXRoID0gb3V0cHV0UGF0aCB8fCBkZWZhdWx0UGF0aDtcblxuICAgIC8vIFNlY3VyaXR5OiBWYWxpZGF0ZSBvdXRwdXQgcGF0aCBpcyBzYWZlIChubyBwYXRoIHRyYXZlcnNhbCBhdHRhY2tzKVxuICAgIGlmICghaXNWYWxpZEZpbGVQYXRoKGZpbmFsUGF0aCkpIHtcbiAgICAgIHJldHVybiBjcmVhdGVFcnJvclJlc3VsdChcbiAgICAgICAgJ0Vycm9yOiBJbnZhbGlkIG91dHB1dCBwYXRoLiBQYXRoIG11c3QgYmUgd2l0aGluIGFsbG93ZWQgZGlyZWN0b3JpZXMgKGhvbWUsIHRtcCkuJ1xuICAgICAgKTtcbiAgICB9XG5cbiAgICAvLyBSdW4gV1AtQ0xJIGRiIGV4cG9ydFxuICAgIGNvbnN0IHJlc3VsdCA9IGF3YWl0IHNlcnZpY2VzLndwQ2xpLnJ1bihzaXRlLCBbJ2RiJywgJ2V4cG9ydCcsIGZpbmFsUGF0aF0pO1xuXG4gICAgaWYgKHJlc3VsdCA9PT0gbnVsbCkge1xuICAgICAgcmV0dXJuIHtcbiAgICAgICAgY29udGVudDogW3sgdHlwZTogJ3RleHQnLCB0ZXh0OiBgRmFpbGVkIHRvIGV4cG9ydCBkYXRhYmFzZSBmb3IgXCIke3NpdGUubmFtZX1cImAgfV0sXG4gICAgICAgIGlzRXJyb3I6IHRydWUsXG4gICAgICB9O1xuICAgIH1cblxuICAgIHJldHVybiB7XG4gICAgICBjb250ZW50OiBbXG4gICAgICAgIHtcbiAgICAgICAgICB0eXBlOiAndGV4dCcsXG4gICAgICAgICAgdGV4dDogYFN1Y2Nlc3NmdWxseSBleHBvcnRlZCBkYXRhYmFzZSBmb3IgXCIke3NpdGUubmFtZX1cIiB0bzogJHtmaW5hbFBhdGh9YCxcbiAgICAgICAgfSxcbiAgICAgIF0sXG4gICAgfTtcbiAgfSBjYXRjaCAoZXJyb3I6IGFueSkge1xuICAgIHJldHVybiB7XG4gICAgICBjb250ZW50OiBbeyB0eXBlOiAndGV4dCcsIHRleHQ6IGBGYWlsZWQgdG8gZXhwb3J0IGRhdGFiYXNlOiAke2Vycm9yLm1lc3NhZ2V9YCB9XSxcbiAgICAgIGlzRXJyb3I6IHRydWUsXG4gICAgfTtcbiAgfVxufVxuIl19
@@ -79,12 +79,7 @@ function isValidFilePath(filePath, allowedDirs) {
79
79
  const resolvedPath = path.resolve(filePath);
80
80
  // Default allowed directories: home, tmp, and common paths
81
81
  const homeDir = os.homedir();
82
- const defaultAllowed = [
83
- homeDir,
84
- os.tmpdir(),
85
- '/tmp',
86
- '/var/tmp',
87
- ];
82
+ const defaultAllowed = [homeDir, os.tmpdir(), '/tmp', '/var/tmp'];
88
83
  const allowedDirectories = allowedDirs || defaultAllowed;
89
84
  // Check if path is within any allowed directory
90
85
  for (const allowedDir of allowedDirectories) {
@@ -176,4 +171,4 @@ function findSiteOrError(query, siteData) {
176
171
  }
177
172
  return { site };
178
173
  }
179
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGVscGVycy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9tYWluL21jcC90b29scy9oZWxwZXJzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQTs7R0FFRzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBb0JILGdEQVFDO0FBTUQsMENBd0JDO0FBTUQsd0NBWUM7QUFhRCw4Q0FLQztBQU1ELHNEQVFDO0FBTUQsNEJBcUJDO0FBS0QsMENBSUM7QUFNRCwwQ0FjQztBQWxLRCwyQ0FBNkI7QUFDN0IsdUNBQXlCO0FBRXpCOztHQUVHO0FBQ1UsUUFBQSxtQkFBbUIsR0FBRztJQUNqQyxNQUFNLEVBQVMsNkJBQTZCO0lBQzVDLFdBQVcsRUFBSSx3QkFBd0I7SUFDdkMsT0FBTyxFQUFRLHdCQUF3QjtJQUN2QyxVQUFVLEVBQUssb0JBQW9CO0lBQ25DLFFBQVEsRUFBTyxtQkFBbUI7Q0FDbkMsQ0FBQztBQUVGOzs7R0FHRztBQUNILFNBQWdCLGtCQUFrQixDQUFDLE9BQWlCO0lBQ2xELE1BQU0sVUFBVSxHQUFHLE9BQU8sQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsV0FBVyxFQUFFLENBQUM7SUFDbkQsS0FBSyxNQUFNLE9BQU8sSUFBSSwyQkFBbUIsRUFBRSxDQUFDO1FBQzFDLElBQUksVUFBVSxDQUFDLFFBQVEsQ0FBQyxPQUFPLENBQUMsRUFBRSxDQUFDO1lBQ2pDLE9BQU8sT0FBTyxDQUFDO1FBQ2pCLENBQUM7SUFDSCxDQUFDO0lBQ0QsT0FBTyxJQUFJLENBQUM7QUFDZCxDQUFDO0FBRUQ7OztHQUdHO0FBQ0gsU0FBZ0IsZUFBZSxDQUFDLFFBQWdCLEVBQUUsV0FBc0I7SUFDdEUsMkJBQTJCO0lBQzNCLE1BQU0sWUFBWSxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsUUFBUSxDQUFDLENBQUM7SUFFNUMsMkRBQTJEO0lBQzNELE1BQU0sT0FBTyxHQUFHLEVBQUUsQ0FBQyxPQUFPLEVB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QUMsQ0FBQyxNQUFNLEVBQUUsV0FBVyxFQUFFLEtBQUssS0FBSyxDQUFDLFdBQVcsRUFBRSxDQUFDLENBQUM7SUFDekYsSUFBSSxRQUFRO1FBQUUsT0FBTyxRQUFRLENBQUM7SUFFOUIsT0FBTyxTQUFTLENBQUM7QUFDbkIsQ0FBQztBQUVEOztHQUVHO0FBQ0gsU0FBZ0IsZUFBZSxDQUFDLFFBQWE7SUFDM0MsTUFBTSxRQUFRLEdBQUcsUUFBUSxDQUFDLFFBQVEsRUFBRSxDQUFDO0lBQ3JDLE1BQU0sS0FBSyxHQUFHLE1BQU0sQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFVLENBQUM7SUFDL0MsT0FBTyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBTSxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLE1BQU0sQ0FBQztBQUM1RCxDQUFDO0FBRUQ7OztHQUdHO0FBQ0gsU0FBZ0IsZUFBZSxDQUM3QixLQUFhLEVBQ2IsUUFBYTtJQUViLE1BQU0sSUFBSSxHQUFHLFFBQVEsQ0FBQyxLQUFLLEVBQUUsUUFBUSxDQUFDLENBQUM7SUFDdkMsSUFBSSxDQUFDLElBQUksRUFBRSxDQUFDO1FBQ1YsTUFBTSxTQUFTLEdBQUcsZUFBZSxDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBQzVDLE9BQU87WUFDTCxLQUFLLEVBQUUsaUJBQWlCLENBQ3RCLG9CQUFvQixLQUFLLHVCQUF1QixTQUFTLEVBQUUsQ0FDNUQ7U0FDRixDQUFDO0lBQ0osQ0FBQztJQUNELE9BQU8sRUFBRSxJQUFJLEVBQUUsQ0FBQztBQUNsQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBUb29sIEhlbHBlciBGdW5jdGlvbnNcbiAqL1xuXG5pbXBvcnQgKiBhcyBwYXRoIGZyb20gJ3BhdGgnO1xuaW1wb3J0ICogYXMgb3MgZnJvbSAnb3MnO1xuXG4vKipcbiAqIEJsb2NrZWQgV1AtQ0xJIGNvbW1hbmRzIHRoYXQgY291bGQgYWxsb3cgYXJiaXRyYXJ5IGNvZGUgZXhlY3V0aW9uXG4gKi9cbmV4cG9ydCBjb25zdCBCTE9DS0VEX1dQX0NPTU1BTkRTID0gW1xuICAnZXZhbCcsICAgICAgICAvLyBFeGVjdXRlIGFyYml0cmFyeSBQSFAgY29kZVxuICAnZXZhbC1maWxlJywgICAvLyBFeGVjdXRlIFBIUCBmcm9tIGZpbGVcbiAgJ3NoZWxsJywgICAgICAgLy8gSW50ZXJhY3RpdmUgUEhQIHNoZWxsXG4gICdkYiBxdWVyeScsICAgIC8vIFJhdyBTUUwgZXhlY3V0aW9uXG4gICdkYiBjbGknLCAgICAgIC8vIE15U1FMIENMSSBhY2Nlc3Ncbl07XG5cbi8qKlxuICogQ2hlY2sgaWYgYSBXUC1DTEkgY29tbWFuZCBpcyBibG9ja2VkIGZvciBzZWN1cml0eSByZWFzb25zXG4gKiBSZXR1cm5zIHRoZSBibG9ja2VkIGNvbW1hbmQgbmFtZSBpZiBibG9ja2VkLCBudWxsIGlmIHNhZmVcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGlzQmxvY2tlZFdwQ29tbWFuZChjb21tYW5kOiBzdHJpbmdbXSk6IHN0cmluZyB8IG51bGwge1xuICBjb25zdCBjb21tYW5kU3RyID0gY29tbWFuZC5qb2luKCcgJykudG9Mb3dlckNhc2UoKTtcbiAgZm9yIChjb25zdCBibG9ja2VkIG9mIEJMT0NLRURfV1BfQ09NTUFORFMpIHtcbiAgICBpZiAoY29tbWFuZFN0ci5pbmNsdWRlcyhibG9ja2VkKSkge1xuICAgICAgcmV0dXJuIGJsb2NrZWQ7XG4gICAgfVxuICB9XG4gIHJldHVybiBudWxsO1xufVxuXG4vKipcbiAqIFZhbGlkYXRlIHRoYXQgYSBmaWxlIHBhdGggaXMgc2FmZSAobm8gcGF0aCB0cmF2ZXJzYWwpXG4gKiBSZXR1cm5zIHRydWUgaWYgdGhlIHBhdGggaXMgd2l0aGluIGFsbG93ZWQgZGlyZWN0b3JpZXNcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGlzVmFsaWRGaWxlUGF0aChmaWxlUGF0aDogc3RyaW5nLCBhbGxvd2VkRGlycz86IHN0cmluZ1tdKTogYm9vbGVhbiB7XG4gIC8vIFJlc29sdmUgdG8gYWJzb2x1dGUgcGF0aFxuICBjb25zdCByZXNvbHZlZFBhdGggPSBwYXRoLnJlc29sdmUoZmlsZVBhdGgpO1xuXG4gIC8vIERlZmF1bHQgYWxsb3dlZCBkaXJlY3RvcmllczogaG9tZSwgdG1wLCBhbmQgY29tbW9uIHBhdGhzXG4gIGNvbnN0IGhvbWVEaXIgPSBvcy5ob21lZGlyKCk7XG4gIGNvbnN0IGRlZmF1bHRBbGxvd2VkID0gW1xuICAgIGhvbWVEaXIsXG4gICAgb3MudG1wZGlyKCksXG4gICAgJy90bXAnLFxuICAgICcvdmFyL3RtcCcsXG4gIF07XG5cbiAgY29uc3QgYWxsb3dlZERpcmVjdG9yaWVzID0gYWxsb3dlZERpcnMgfHwgZGVmYXVsdEFsbG93ZWQ7XG5cbiAgLy8gQ2hlY2sgaWYgcGF0aCBpcyB3aXRoaW4gYW55IGFsbG93ZWQgZGlyZWN0b3J5XG4gIGZvciAoY29uc3QgYWxsb3dlZERpciBvZiBhbGxvd2VkRGlyZWN0b3JpZXMpIHtcbiAgICBjb25zdCByZXNvbHZlZEFsbG93ZWQgPSBwYXRoLnJlc29sdmUoYWxsb3dlZERpcik7XG4gICAgaWYgKHJlc29sdmVkUGF0aC5zdGFydHNXaXRoKHJlc29sdmVkQWxsb3dlZCArIHBhdGguc2VwKSB8fCByZXNvbHZlZFBhdGggPT09IHJlc29sdmVkQWxsb3dlZCkge1xuICAgICAgcmV0dXJuIHRydWU7XG4gICAgfVxuICB9XG5cbiAgcmV0dXJuIGZhbHNlO1xufVxuXG4vKipcbiAqIFZhbGlkYXRlIHRoYXQgYSBTUUwgZmlsZSBwYXRoIGlzIHNhZmVcbiAqIE11c3QgZW5kIGluIC5zcWwgYW5kIGJlIGluIGFuIGFsbG93ZWQgZGlyZWN0b3J5XG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBpc1ZhbGlkU3FsUGF0aChzcWxQYXRoOiB1bmtub3duKTogYm9vbGVhbiB7XG4gIGlmICh0eXBlb2Ygc3FsUGF0aCAhPT0gJ3N0cmluZycgfHwgIXNxbFBhdGgpIHtcbiAgICByZXR1cm4gZmFsc2U7XG4gIH1cblxuICAvLyBNdXN0IGVuZCBpbiAuc3FsXG4gIGlmICghc3FsUGF0aC50b0xvd2VyQ2FzZSgpLmVuZHNXaXRoKCcuc3FsJykpIHtcbiAgICByZXR1cm4gZmFsc2U7XG4gIH1cblxuICAvLyBNdXN0IGJlIGluIGFuIGFsbG93ZWQgZGlyZWN0b3J5XG4gIHJldHVybiBpc1ZhbGlkRmlsZVBhdGgoc3FsUGF0aCk7XG59XG5cbi8qKlxuICogTUNQIFRvb2wgUmVzdWx0IHR5cGUgZm9yIGVycm9yIHJlc3BvbnNlc1xuICovXG5leHBvcnQgaW50ZXJmYWNlIE1jcEVycm9yUmVzdWx0IHtcbiAgY29udGVudDogQXJyYXk8eyB0eXBlOiAndGV4dCc7IHRleHQ6IHN0cmluZyB9PjtcbiAgaXNFcnJvcjogdHJ1ZTtcbn1cblxuLyoqXG4gKiBDcmVhdGUgYSBzdGFuZGFyZGl6ZWQgZXJyb3IgcmVzdWx0IGZvciBNQ1AgdG9vbHNcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGNyZWF0ZUVycm9yUmVzdWx0KG1lc3NhZ2U6IHN0cmluZyk6IE1jcEVycm9yUmVzdWx0IHtcbiAgcmV0dXJuIHtcbiAgICBjb250ZW50OiBbeyB0eXBlOiAndGV4dCcsIHRleHQ6IG1lc3NhZ2UgfV0sXG4gICAgaXNFcnJvcjogdHJ1ZSxcbiAgfTtcbn1cblxuLyoqXG4gKiBWYWxpZGF0ZSB0aGF0IGEgcmVxdWlyZWQgcGFyYW1ldGVyIGlzIHByZXNlbnRcbiAqIFJldHVybnMgYW4gZXJyb3IgcmVzdWx0IGlmIG1pc3NpbmcsIG51bGwgaWYgdmFsaWRcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHZhbGlkYXRlUmVxdWlyZWRQYXJhbShcbiAgdmFsdWU6IHVua25vd24sXG4gIHBhcmFtTmFtZTogc3RyaW5nXG4pOiBNY3BFcnJvclJlc3VsdCB8IG51bGwge1xuICBpZiAoIXZhbHVlKSB7XG4gICAgcmV0dXJuIGNyZWF0ZUVycm9yUmVzdWx0KGBFcnJvcjogJHtwYXJhbU5hbWV9IHBhcmFtZXRlciBpcyByZXF1aXJlZGApO1xuICB9XG4gIHJldHVybiBudWxsO1xufVxuXG4vKipcbiAqIEZpbmQgYSBzaXRlIGJ5IG5hbWUgb3IgSURcbiAqIFN1cHBvcnRzIHBhcnRpYWwgbmFtZSBtYXRjaGluZyAoY2FzZS1pbnNlbnNpdGl2ZSlcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGZpbmRTaXRlKHF1ZXJ5OiBzdHJpbmcsIHNpdGVEYXRhOiBhbnkpOiBhbnkgfCB1bmRlZmluZWQge1xuICBjb25zdCBzaXRlc01hcCA9IHNpdGVEYXRhLmdldFNpdGVzKCk7XG4gIGNvbnN0IHNpdGVzID0gT2JqZWN0LnZhbHVlcyhzaXRlc01hcCkgYXMgYW55W107XG5cbiAgLy8gVHJ5IGV4YWN0IElEIG1hdGNoIGZpcnN0XG4gIGNvbnN0IGJ5SWQgPSBzaXRlcy5maW5kKChzOiBhbnkpID0+IHMuaWQgPT09IHF1ZXJ5KTtcbiAgaWYgKGJ5SWQpIHJldHVybiBieUlkO1xuXG4gIC8vIFRyeSBleGFjdCBuYW1lIG1hdGNoIChjYXNlLWluc2Vuc2l0aXZlKVxuICBjb25zdCBieUV4YWN0TmFtZSA9IHNpdGVzLmZpbmQoKHM6IGFueSkgPT4gcy5uYW1lLnRvTG93ZXJDYXNlKCkgPT09IHF1ZXJ5LnRvTG93ZXJDYXNlKCkpO1xuICBpZiAoYnlFeGFjdE5hbWUpIHJldHVybiBieUV4YWN0TmFtZTtcblxuICAvLyBUcnkgcGFydGlhbCBuYW1lIG1hdGNoIChjYXNlLWluc2Vuc2l0aXZlKVxuICBjb25zdCBieVBhcnRpYWxOYW1lID0gc2l0ZXMuZmluZCgoczogYW55KSA9PiBzLm5hbWUudG9Mb3dlckNhc2UoKS5pbmNsdWRlcyhxdWVyeS50b0xvd2VyQ2FzZSgpKSk7XG4gIGlmIChieVBhcnRpYWxOYW1lKSByZXR1cm4gYnlQYXJ0aWFsTmFtZTtcblxuICAvLyBUcnkgZG9tYWluIG1hdGNoXG4gIGNvbnN0IGJ5RG9tYWluID0gc2l0ZXMuZmluZCgoczogYW55KSA9PiBzLmRvbWFpbj8udG9Mb3dlckNhc2UoKSA9PT0gcXVlcnkudG9Mb3dlckNhc2UoKSk7XG4gIGlmIChieURvbWFpbikgcmV0dXJuIGJ5RG9tYWluO1xuXG4gIHJldHVybiB1bmRlZmluZWQ7XG59XG5cbi8qKlxuICogR2V0IGFsbCBzaXRlIG5hbWVzIGFzIGEgY29tbWEtc2VwYXJhdGVkIHN0cmluZ1xuICovXG5leHBvcnQgZnVuY3Rpb24gZ2V0QWxsU2l0ZU5hbWVzKHNpdGVEYXRhOiBhbnkpOiBzdHJpbmcge1xuICBjb25zdCBzaXRlc01hcCA9IHNpdGVEYXRhLmdldFNpdGVzKCk7XG4gIGNvbnN0IHNpdGVzID0gT2JqZWN0LnZhbHVlcyhzaXRlc01hcCkgYXMgYW55W107XG4gIHJldHVybiBzaXRlcy5tYXAoKHM6IGFueSkgPT4gcy5uYW1lKS5qb2luKCcsICcpIHx8ICdub25lJztcbn1cblxuLyoqXG4gKiBGaW5kIGEgc2l0ZSBvciByZXR1cm4gYW4gZXJyb3IgcmVzdWx0XG4gKiBDb21iaW5lcyBzaXRlIGxvb2t1cCB3aXRoIHN0YW5kYXJkaXplZCBlcnJvciBoYW5kbGluZ1xuICovXG5leHBvcnQgZnVuY3Rpb24gZmluZFNpdGVPckVycm9yKFxuICBxdWVyeTogc3RyaW5nLFxuICBzaXRlRGF0YTogYW55XG4pOiB7IHNpdGU6IGFueSB9IHwgeyBlcnJvcjogTWNwRXJyb3JSZXN1bHQgfSB7XG4gIGNvbnN0IHNpdGUgPSBmaW5kU2l0ZShxdWVyeSwgc2l0ZURhdGEpO1xuICBpZiAoIXNpdGUpIHtcbiAgICBjb25zdCBzaXRlTmFtZXMgPSBnZXRBbGxTaXRlTmFtZXMoc2l0ZURhdGEpO1xuICAgIHJldHVybiB7XG4gICAgICBlcnJvcjogY3JlYXRlRXJyb3JSZXN1bHQoXG4gICAgICAgIGBTaXRlIG5vdCBmb3VuZDogXCIke3F1ZXJ5fVwiLiBBdmFpbGFibGUgc2l0ZXM6ICR7c2l0ZU5hbWVzfWBcbiAgICAgICksXG4gICAgfTtcbiAgfVxuICByZXR1cm4geyBzaXRlIH07XG59XG4iXX0=
174
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGVscGVycy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9tYWluL21jcC90b29scy9oZWxwZXJzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQTs7R0FFRzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBb0JILGdEQVFDO0FBTUQsMENBbUJDO0FBTUQsd0NBWUM7QUFhRCw4Q0FLQztBQU1ELHNEQUtDO0FBTUQsNEJBcUJDO0FBS0QsMENBSUM7QUFNRCwwQ0FZQztBQXhKRCwyQ0FBNkI7QUFDN0IsdUNBQXlCO0FBRXpCOztHQUVHO0FBQ1UsUUFBQSxtQkFBbUIsR0FBRztJQUNqQyxNQUFNLEVBQUUsNkJBQTZCO0lBQ3JDLFdBQVcsRUFBRSx3QkFBd0I7SUFDckMsT0FBTyxFQUFFLHdCQUF3QjtJQUNqQyxVQUFVLEVBQUUsb0JBQW9CO0lBQ2hDLFFBQVEsRUFBRSxtQkFBbUI7Q0FDOUIsQ0FBQztBQUVGOzs7R0FHRztBQUNILFNBQWdCLGtCQUFrQixDQUFDLE9BQWlCO0lBQ2xELE1BQU0sVUFBVSxHQUFHLE9BQU8sQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsV0FBVyxFQUFFLENBQUM7SUFDbkQsS0FBSyxNQUFNLE9BQU8sSUFBSSwyQkFBbUIsRUFBRSxDQUFDO1FBQzFDLElBQUksVUFBVSxDQUFDLFFBQVEsQ0FBQyxPQUFPLENBQUMsRUFBRSxDQUFDO1lBQ2pDLE9BQU8sT0FBTyxDQUFDO1FBQ2pCLENBQUM7SUFDSCxDQUFDO0lBQ0QsT0FBTyxJQUFJLENBQUM7QUFDZCxDQUFDO0FBRUQ7OztHQUdHO0FBQ0gsU0FBZ0IsZUFBZSxDQUFDLFFBQWdCLEVBQUUsV0FBc0I7SUFDdEUsMkJBQTJCO0lBQzNCLE1BQU0sWUFBWSxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsUUFBUSxDQUFDLENBQUM7SUFFNUMsMkRBQTJEO0lBQzNELE1BQU0sT0FBTyxHQUFHLEVBQUUsQ0FBQyxPQUFPLEVB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QyxDQUFDLE1BQU0sRUFBRSxXQUFXLEVBQUUsS0FBSyxLQUFLLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQztJQUN6RixJQUFJLFFBQVE7UUFBRSxPQUFPLFFBQVEsQ0FBQztJQUU5QixPQUFPLFNBQVMsQ0FBQztBQUNuQixDQUFDO0FBRUQ7O0dBRUc7QUFDSCxTQUFnQixlQUFlLENBQUMsUUFBYTtJQUMzQyxNQUFNLFFBQVEsR0FBRyxRQUFRLENBQUMsUUFBUSxFQUFFLENBQUM7SUFDckMsTUFBTSxLQUFLLEdBQUcsTUFBTSxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQVUsQ0FBQztJQUMvQyxPQUFPLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFNLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksTUFBTSxDQUFDO0FBQzVELENBQUM7QUFFRDs7O0dBR0c7QUFDSCxTQUFnQixlQUFlLENBQzdCLEtBQWEsRUFDYixRQUFhO0lBRWIsTUFBTSxJQUFJLEdBQUcsUUFBUSxDQUFDLEtBQUssRUFBRSxRQUFRLENBQUMsQ0FBQztJQUN2QyxJQUFJLENBQUMsSUFBSSxFQUFFLENBQUM7UUFDVixNQUFNLFNBQVMsR0FBRyxlQUFlLENBQUMsUUFBUSxDQUFDLENBQUM7UUFDNUMsT0FBTztZQUNMLEtBQUssRUFBRSxpQkFBaUIsQ0FBQyxvQkFBb0IsS0FBSyx1QkFBdUIsU0FBUyxFQUFFLENBQUM7U0FDdEYsQ0FBQztJQUNKLENBQUM7SUFDRCxPQUFPLEVBQUUsSUFBSSxFQUFFLENBQUM7QUFDbEIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogVG9vbCBIZWxwZXIgRnVuY3Rpb25zXG4gKi9cblxuaW1wb3J0ICogYXMgcGF0aCBmcm9tICdwYXRoJztcbmltcG9ydCAqIGFzIG9zIGZyb20gJ29zJztcblxuLyoqXG4gKiBCbG9ja2VkIFdQLUNMSSBjb21tYW5kcyB0aGF0IGNvdWxkIGFsbG93IGFyYml0cmFyeSBjb2RlIGV4ZWN1dGlvblxuICovXG5leHBvcnQgY29uc3QgQkxPQ0tFRF9XUF9DT01NQU5EUyA9IFtcbiAgJ2V2YWwnLCAvLyBFeGVjdXRlIGFyYml0cmFyeSBQSFAgY29kZVxuICAnZXZhbC1maWxlJywgLy8gRXhlY3V0ZSBQSFAgZnJvbSBmaWxlXG4gICdzaGVsbCcsIC8vIEludGVyYWN0aXZlIFBIUCBzaGVsbFxuICAnZGIgcXVlcnknLCAvLyBSYXcgU1FMIGV4ZWN1dGlvblxuICAnZGIgY2xpJywgLy8gTXlTUUwgQ0xJIGFjY2Vzc1xuXTtcblxuLyoqXG4gKiBDaGVjayBpZiBhIFdQLUNMSSBjb21tYW5kIGlzIGJsb2NrZWQgZm9yIHNlY3VyaXR5IHJlYXNvbnNcbiAqIFJldHVybnMgdGhlIGJsb2NrZWQgY29tbWFuZCBuYW1lIGlmIGJsb2NrZWQsIG51bGwgaWYgc2FmZVxuICovXG5leHBvcnQgZnVuY3Rpb24gaXNCbG9ja2VkV3BDb21tYW5kKGNvbW1hbmQ6IHN0cmluZ1tdKTogc3RyaW5nIHwgbnVsbCB7XG4gIGNvbnN0IGNvbW1hbmRTdHIgPSBjb21tYW5kLmpvaW4oJyAnKS50b0xvd2VyQ2FzZSgpO1xuICBmb3IgKGNvbnN0IGJsb2NrZWQgb2YgQkxPQ0tFRF9XUF9DT01NQU5EUykge1xuICAgIGlmIChjb21tYW5kU3RyLmluY2x1ZGVzKGJsb2NrZWQpKSB7XG4gICAgICByZXR1cm4gYmxvY2tlZDtcbiAgICB9XG4gIH1cbiAgcmV0dXJuIG51bGw7XG59XG5cbi8qKlxuICogVmFsaWRhdGUgdGhhdCBhIGZpbGUgcGF0aCBpcyBzYWZlIChubyBwYXRoIHRyYXZlcnNhbClcbiAqIFJldHVybnMgdHJ1ZSBpZiB0aGUgcGF0aCBpcyB3aXRoaW4gYWxsb3dlZCBkaXJlY3Rvcmllc1xuICovXG5leHBvcnQgZnVuY3Rpb24gaXNWYWxpZEZpbGVQYXRoKGZpbGVQYXRoOiBzdHJpbmcsIGFsbG93ZWREaXJzPzogc3RyaW5nW10pOiBib29sZWFuIHtcbiAgLy8gUmVzb2x2ZSB0byBhYnNvbHV0ZSBwYXRoXG4gIGNvbnN0IHJlc29sdmVkUGF0aCA9IHBhdGgucmVzb2x2ZShmaWxlUGF0aCk7XG5cbiAgLy8gRGVmYXVsdCBhbGxvd2VkIGRpcmVjdG9yaWVzOiBob21lLCB0bXAsIGFuZCBjb21tb24gcGF0aHNcbiAgY29uc3QgaG9tZURpciA9IG9zLmhvbWVkaXIoKTtcbiAgY29uc3QgZGVmYXVsdEFsbG93ZWQgPSBbaG9tZURpciwgb3MudG1wZGlyKCksICcvdG1wJywgJy92YXIvdG1wJ107XG5cbiAgY29uc3QgYWxsb3dlZERpcmVjdG9yaWVzID0gYWxsb3dlZERpcnMgfHwgZGVmYXVsdEFsbG93ZWQ7XG5cbiAgLy8gQ2hlY2sgaWYgcGF0aCBpcyB3aXRoaW4gYW55IGFsbG93ZWQgZGlyZWN0b3J5XG4gIGZvciAoY29uc3QgYWxsb3dlZERpciBvZiBhbGxvd2VkRGlyZWN0b3JpZXMpIHtcbiAgICBjb25zdCByZXNvbHZlZEFsbG93ZWQgPSBwYXRoLnJlc29sdmUoYWxsb3dlZERpcik7XG4gICAgaWYgKHJlc29sdmVkUGF0aC5zdGFydHNXaXRoKHJlc29sdmVkQWxsb3dlZCArIHBhdGguc2VwKSB8fCByZXNvbHZlZFBhdGggPT09IHJlc29sdmVkQWxsb3dlZCkge1xuICAgICAgcmV0dXJuIHRydWU7XG4gICAgfVxuICB9XG5cbiAgcmV0dXJuIGZhbHNlO1xufVxuXG4vKipcbiAqIFZhbGlkYXRlIHRoYXQgYSBTUUwgZmlsZSBwYXRoIGlzIHNhZmVcbiAqIE11c3QgZW5kIGluIC5zcWwgYW5kIGJlIGluIGFuIGFsbG93ZWQgZGlyZWN0b3J5XG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBpc1ZhbGlkU3FsUGF0aChzcWxQYXRoOiB1bmtub3duKTogYm9vbGVhbiB7XG4gIGlmICh0eXBlb2Ygc3FsUGF0aCAhPT0gJ3N0cmluZycgfHwgIXNxbFBhdGgpIHtcbiAgICByZXR1cm4gZmFsc2U7XG4gIH1cblxuICAvLyBNdXN0IGVuZCBpbiAuc3FsXG4gIGlmICghc3FsUGF0aC50b0xvd2VyQ2FzZSgpLmVuZHNXaXRoKCcuc3FsJykpIHtcbiAgICByZXR1cm4gZmFsc2U7XG4gIH1cblxuICAvLyBNdXN0IGJlIGluIGFuIGFsbG93ZWQgZGlyZWN0b3J5XG4gIHJldHVybiBpc1ZhbGlkRmlsZVBhdGgoc3FsUGF0aCk7XG59XG5cbi8qKlxuICogTUNQIFRvb2wgUmVzdWx0IHR5cGUgZm9yIGVycm9yIHJlc3BvbnNlc1xuICovXG5leHBvcnQgaW50ZXJmYWNlIE1jcEVycm9yUmVzdWx0IHtcbiAgY29udGVudDogQXJyYXk8eyB0eXBlOiAndGV4dCc7IHRleHQ6IHN0cmluZyB9PjtcbiAgaXNFcnJvcjogdHJ1ZTtcbn1cblxuLyoqXG4gKiBDcmVhdGUgYSBzdGFuZGFyZGl6ZWQgZXJyb3IgcmVzdWx0IGZvciBNQ1AgdG9vbHNcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGNyZWF0ZUVycm9yUmVzdWx0KG1lc3NhZ2U6IHN0cmluZyk6IE1jcEVycm9yUmVzdWx0IHtcbiAgcmV0dXJuIHtcbiAgICBjb250ZW50OiBbeyB0eXBlOiAndGV4dCcsIHRleHQ6IG1lc3NhZ2UgfV0sXG4gICAgaXNFcnJvcjogdHJ1ZSxcbiAgfTtcbn1cblxuLyoqXG4gKiBWYWxpZGF0ZSB0aGF0IGEgcmVxdWlyZWQgcGFyYW1ldGVyIGlzIHByZXNlbnRcbiAqIFJldHVybnMgYW4gZXJyb3IgcmVzdWx0IGlmIG1pc3NpbmcsIG51bGwgaWYgdmFsaWRcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHZhbGlkYXRlUmVxdWlyZWRQYXJhbSh2YWx1ZTogdW5rbm93biwgcGFyYW1OYW1lOiBzdHJpbmcpOiBNY3BFcnJvclJlc3VsdCB8IG51bGwge1xuICBpZiAoIXZhbHVlKSB7XG4gICAgcmV0dXJuIGNyZWF0ZUVycm9yUmVzdWx0KGBFcnJvcjogJHtwYXJhbU5hbWV9IHBhcmFtZXRlciBpcyByZXF1aXJlZGApO1xuICB9XG4gIHJldHVybiBudWxsO1xufVxuXG4vKipcbiAqIEZpbmQgYSBzaXRlIGJ5IG5hbWUgb3IgSURcbiAqIFN1cHBvcnRzIHBhcnRpYWwgbmFtZSBtYXRjaGluZyAoY2FzZS1pbnNlbnNpdGl2ZSlcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGZpbmRTaXRlKHF1ZXJ5OiBzdHJpbmcsIHNpdGVEYXRhOiBhbnkpOiBhbnkgfCB1bmRlZmluZWQge1xuICBjb25zdCBzaXRlc01hcCA9IHNpdGVEYXRhLmdldFNpdGVzKCk7XG4gIGNvbnN0IHNpdGVzID0gT2JqZWN0LnZhbHVlcyhzaXRlc01hcCkgYXMgYW55W107XG5cbiAgLy8gVHJ5IGV4YWN0IElEIG1hdGNoIGZpcnN0XG4gIGNvbnN0IGJ5SWQgPSBzaXRlcy5maW5kKChzOiBhbnkpID0+IHMuaWQgPT09IHF1ZXJ5KTtcbiAgaWYgKGJ5SWQpIHJldHVybiBieUlkO1xuXG4gIC8vIFRyeSBleGFjdCBuYW1lIG1hdGNoIChjYXNlLWluc2Vuc2l0aXZlKVxuICBjb25zdCBieUV4YWN0TmFtZSA9IHNpdGVzLmZpbmQoKHM6IGFueSkgPT4gcy5uYW1lLnRvTG93ZXJDYXNlKCkgPT09IHF1ZXJ5LnRvTG93ZXJDYXNlKCkpO1xuICBpZiAoYnlFeGFjdE5hbWUpIHJldHVybiBieUV4YWN0TmFtZTtcblxuICAvLyBUcnkgcGFydGlhbCBuYW1lIG1hdGNoIChjYXNlLWluc2Vuc2l0aXZlKVxuICBjb25zdCBieVBhcnRpYWxOYW1lID0gc2l0ZXMuZmluZCgoczogYW55KSA9PiBzLm5hbWUudG9Mb3dlckNhc2UoKS5pbmNsdWRlcyhxdWVyeS50b0xvd2VyQ2FzZSgpKSk7XG4gIGlmIChieVBhcnRpYWxOYW1lKSByZXR1cm4gYnlQYXJ0aWFsTmFtZTtcblxuICAvLyBUcnkgZG9tYWluIG1hdGNoXG4gIGNvbnN0IGJ5RG9tYWluID0gc2l0ZXMuZmluZCgoczogYW55KSA9PiBzLmRvbWFpbj8udG9Mb3dlckNhc2UoKSA9PT0gcXVlcnkudG9Mb3dlckNhc2UoKSk7XG4gIGlmIChieURvbWFpbikgcmV0dXJuIGJ5RG9tYWluO1xuXG4gIHJldHVybiB1bmRlZmluZWQ7XG59XG5cbi8qKlxuICogR2V0IGFsbCBzaXRlIG5hbWVzIGFzIGEgY29tbWEtc2VwYXJhdGVkIHN0cmluZ1xuICovXG5leHBvcnQgZnVuY3Rpb24gZ2V0QWxsU2l0ZU5hbWVzKHNpdGVEYXRhOiBhbnkpOiBzdHJpbmcge1xuICBjb25zdCBzaXRlc01hcCA9IHNpdGVEYXRhLmdldFNpdGVzKCk7XG4gIGNvbnN0IHNpdGVzID0gT2JqZWN0LnZhbHVlcyhzaXRlc01hcCkgYXMgYW55W107XG4gIHJldHVybiBzaXRlcy5tYXAoKHM6IGFueSkgPT4gcy5uYW1lKS5qb2luKCcsICcpIHx8ICdub25lJztcbn1cblxuLyoqXG4gKiBGaW5kIGEgc2l0ZSBvciByZXR1cm4gYW4gZXJyb3IgcmVzdWx0XG4gKiBDb21iaW5lcyBzaXRlIGxvb2t1cCB3aXRoIHN0YW5kYXJkaXplZCBlcnJvciBoYW5kbGluZ1xuICovXG5leHBvcnQgZnVuY3Rpb24gZmluZFNpdGVPckVycm9yKFxuICBxdWVyeTogc3RyaW5nLFxuICBzaXRlRGF0YTogYW55XG4pOiB7IHNpdGU6IGFueSB9IHwgeyBlcnJvcjogTWNwRXJyb3JSZXN1bHQgfSB7XG4gIGNvbnN0IHNpdGUgPSBmaW5kU2l0ZShxdWVyeSwgc2l0ZURhdGEpO1xuICBpZiAoIXNpdGUpIHtcbiAgICBjb25zdCBzaXRlTmFtZXMgPSBnZXRBbGxTaXRlTmFtZXMoc2l0ZURhdGEpO1xuICAgIHJldHVybiB7XG4gICAgICBlcnJvcjogY3JlYXRlRXJyb3JSZXN1bHQoYFNpdGUgbm90IGZvdW5kOiBcIiR7cXVlcnl9XCIuIEF2YWlsYWJsZSBzaXRlczogJHtzaXRlTmFtZXN9YCksXG4gICAgfTtcbiAgfVxuICByZXR1cm4geyBzaXRlIH07XG59XG4iXX0=
@@ -106,4 +106,4 @@ async function importDatabase(args, services) {
106
106
  };
107
107
  }
108
108
  }
109
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW1wb3J0RGF0YWJhc2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvbWFpbi9tY3AvdG9vbHMvaW1wb3J0RGF0YWJhc2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBOzs7R0FHRzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBOEJILHdDQXVEQztBQWxGRCx1Q0FBc0c7QUFDdEcsdUNBQXlCO0FBRVosUUFBQSx3QkFBd0IsR0FBc0I7SUFDekQsSUFBSSxFQUFFLGlCQUFpQjtJQUN2QixXQUFXLEVBQUUsd0NBQXdDO0lBQ3JELFdBQVcsRUFBRTtRQUNYLElBQUksRUFBRSxRQUFRO1FBQ2QsVUFBVSxFQUFFO1lBQ1YsSUFBSSxFQUFFO2dCQUNKLElBQUksRUFBRSxRQUFRO2dCQUNkLFdBQVcsRUFBRSxpQkFBaUI7YUFDL0I7WUFDRCxPQUFPLEVBQUU7Z0JBQ1AsSUFBSSxFQUFFLFFBQVE7Z0JBQ2QsV0FBVyxFQUFFLGdDQUFnQzthQUM5QztTQUNGO1FBQ0QsUUFBUSxFQUFFLENBQUMsTUFBTSxFQUFFLFNBQVMsQ0FBQztLQUM5QjtDQUNGLENBQUM7QUFPSyxLQUFLLFVBQVUsY0FBYyxDQUNsQyxJQUE2QixFQUM3QixRQUF1QjtJQUV2QixNQUFNLEVBQUUsSUFBSSxFQUFFLFNBQVMsRUFBRSxPQUFPLEVBQUUsR0FBRyxJQUFxQyxDQUFDO0lBRTNFLCtCQUErQjtJQUMvQixNQUFNLFNBQVMsR0FBRyxJQUFBLCtCQUFxQixFQUFDLFNBQVMsRUFBRSxNQUFNLENBQUMsQ0FBQztJQUMzRCxJQUFJLFNBQVM7UUFBRSxPQUFPLFNBQVMsQ0FBQztJQUVoQyxNQUFNLFNBQVMsR0FBRyxJQUFBLCtCQUFxQixFQUFDLE9BQU8sRUFBRSxTQUFTLENBQUMsQ0FBQztJQUM1RCxJQUFJLFNBQVM7UUFBRSxPQUFPLFNBQVMsQ0FBQztJQUVoQyw4REFBOEQ7SUFDOUQsSUFBSSxDQUFDLElBQUEsd0JBQWMsRUFBQyxPQUFPLENBQUMsRUFBRSxDQUFDO1FBQzdCLE9BQU8sSUFBQSwyQkFBaUIsRUFDdEIsb0dBQW9HLENBQ3JHLENBQUM7SUFDSixDQUFDO0lBRUQscUJBQXFCO0lBQ3JCLElBQUksQ0FBQyxFQUFFLENBQUMsVUFBVSxDQUFDLE9BQU8sQ0FBQyxFQUFFLENBQUM7UUFDNUIsT0FBTyxJQUFBLDJCQUFpQixFQUFDLHVCQUF1QixPQUFPLEVBQUUsQ0FBQyxDQUFDO0lBQzdELENBQUM7SUFFRCw0QkFBNEI7SUFDNUIsTUFBTSxVQUFVLEdBQUcsSUFBQSx5QkFBZSxFQUFDLFNBQVMsRUFBRSxRQUFRLENBQUMsUUFBUSxDQUFDLENBQUM7SUFDakUsSUFBSSxPQUFPLElBQUksVUFBVTtRQUFFLE9BQU8sVUFBVSxDQUFDLEtBQUssQ0FBQztJQUNuRCxNQUFNLEVBQUUsSUFBSSxFQUFFLEdBQUcsVUFBVSxDQUFDO0lBRTVCLElBQUksQ0FBQztRQUNILHVCQUF1QjtRQUN2QixNQUFNLE1BQU0sR0FBRyxNQUFNLFFBQVEsQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLElBQUksRUFBRSxDQUFDLElBQUksRUFBRSxRQUFRLEVBQUUsT0FBTyxDQUFDLENBQUMsQ0FBQztRQUV6RSxJQUFJLE1BQU0sS0FBSyxJQUFJLEVBQUUsQ0FBQztZQUNwQixPQUFPO2dCQUNMLE9BQU8sRUFBRSxDQUFDLEVBQUUsSUFBSSxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUUsa0NBQWtDLElBQUksQ0FBQyxJQUFJLEdBQUcsRUFBRSxDQUFDO2dCQUNqRixPQUFPLEVBQUUsSUFBSTthQUNkLENBQUM7UUFDSixDQUFDO1FBRUQsT0FBTztZQUNMLE9BQU8sRUFBRTtnQkFDUDtvQkFDRSxJQUFJLEVBQUUsTUFBTTtvQkFDWixJQUFJLEVBQUUsMEJBQTBCLE9BQU8sd0JBQXdCLElBQUksQ0FBQyxJQUFJLEdBQUc7aUJBQzVFO2FBQ0Y7U0FDRixDQUFDO0lBQ0osQ0FBQztJQUFDLE9BQU8sS0FBVSxFQUFFLENBQUM7UUFDcEIsT0FBTztZQUNMLE9BQU8sRUFBRSxDQUFDLEVBQUUsSUFBSSxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUUsOEJBQThCLEtBQUssQ0FBQyxPQUFPLEVBQUUsRUFBRSxDQUFDO1lBQ2hGLE9BQU8sRUFBRSxJQUFJO1NBQ2QsQ0FBQztJQUNKLENBQUM7QUFDSCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBpbXBvcnRfZGF0YWJhc2UgVG9vbFxuICogSW1wb3J0IFNRTCBmaWxlIGludG8gc2l0ZSBkYXRhYmFzZSB1c2luZyBXUC1DTElcbiAqL1xuXG5pbXBvcnQgeyBNY3BUb29sRGVmaW5pdGlvbiwgTWNwVG9vbFJlc3VsdCwgTG9jYWxTZXJ2aWNlcyB9IGZyb20gJy4uLy4uLy4uL2NvbW1vbi90eXBlcyc7XG5pbXBvcnQgeyB2YWxpZGF0ZVJlcXVpcmVkUGFyYW0sIGZpbmRTaXRlT3JFcnJvciwgaXNWYWxpZFNxbFBhdGgsIGNyZWF0ZUVycm9yUmVzdWx0IH0gZnJvbSAnLi9oZWxwZXJzJztcbmltcG9ydCAqIGFzIGZzIGZyb20gJ2ZzJztcblxuZXhwb3J0IGNvbnN0IGltcG9ydERhdGFiYXNlRGVmaW5pdGlvbjogTWNwVG9vbERlZmluaXRpb24gPSB7XG4gIG5hbWU6ICdpbXBvcnRfZGF0YWJhc2UnLFxuICBkZXNjcmlwdGlvbjogJ0ltcG9ydCBhIFNRTCBmaWxlIGludG8gYSBzaXRlIGRhdGFiYXNlJyxcbiAgaW5wdXRTY2hlbWE6IHtcbiAgICB0eXBlOiAnb2JqZWN0JyxcbiAgICBwcm9wZXJ0aWVzOiB7XG4gICAgICBzaXRlOiB7XG4gICAgICAgIHR5cGU6ICdzdHJpbmcnLFxuICAgICAgICBkZXNjcmlwdGlvbjogJ1NpdGUgbmFtZSBvciBJRCcsXG4gICAgICB9LFxuICAgICAgc3FsUGF0aDoge1xuICAgICAgICB0eXBlOiAnc3RyaW5nJyxcbiAgICAgICAgZGVzY3JpcHRpb246ICdQYXRoIHRvIHRoZSBTUUwgZmlsZSB0byBpbXBvcnQnLFxuICAgICAgfSxcbiAgICB9LFxuICAgIHJlcXVpcmVkOiBbJ3NpdGUnLCAnc3FsUGF0aCddLFxuICB9LFxufTtcblxuaW50ZXJmYWNlIEltcG9ydERhdGFiYXNlQXJncyB7XG4gIHNpdGU6IHN0cmluZztcbiAgc3FsUGF0aDogc3RyaW5nO1xufVxuXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gaW1wb3J0RGF0YWJhc2UoXG4gIGFyZ3M6IFJlY29yZDxzdHJpbmcsIHVua25vd24+LFxuICBzZXJ2aWNlczogTG9jYWxTZXJ2aWNlc1xuKTogUHJvbWlzZTxNY3BUb29sUmVzdWx0PiB7XG4gIGNvbnN0IHsgc2l0ZTogc2l0ZVF1ZXJ5LCBzcWxQYXRoIH0gPSBhcmdzIGFzIHVua25vd24gYXMgSW1wb3J0RGF0YWJhc2VBcmdzO1xuXG4gIC8vIFZhbGlkYXRlIHJlcXVpcmVkIHBhcmFtZXRlcnNcbiAgY29uc3Qgc2l0ZUVycm9yID0gdmFsaWRhdGVSZXF1aXJlZFBhcmFtKHNpdGVRdWVyeSwgJ3NpdGUnKTtcbiAgaWYgKHNpdGVFcnJvcikgcmV0dXJuIHNpdGVFcnJvcjtcblxuICBjb25zdCBwYXRoRXJyb3IgPSB2YWxpZGF0ZVJlcXVpcmVkUGFyYW0oc3FsUGF0aCwgJ3NxbFBhdGgnKTtcbiAgaWYgKHBhdGhFcnJvcikgcmV0dXJuIHBhdGhFcnJvcjtcblxuICAvLyBTZWN1cml0eTogVmFsaWRhdGUgcGF0aCBpcyBzYWZlIChubyBwYXRoIHRyYXZlcnNhbCBhdHRhY2tzKVxuICBpZiAoIWlzVmFsaWRTcWxQYXRoKHNxbFBhdGgpKSB7XG4gICAgcmV0dXJuIGNyZWF0ZUVycm9yUmVzdWx0KFxuICAgICAgJ0Vycm9yOiBJbnZhbGlkIFNRTCBmaWxlIHBhdGguIFBhdGggbXVzdCBlbmQgaW4gLnNxbCBhbmQgYmUgd2l0aGluIGFsbG93ZWQgZGlyZWN0b3JpZXMgKGhvbWUsIHRtcCkuJ1xuICAgICk7XG4gIH1cblxuICAvLyBWZXJpZnkgZmlsZSBleGlzdHNcbiAgaWYgKCFmcy5leGlzdHNTeW5jKHNxbFBhdGgpKSB7XG4gICAgcmV0dXJuIGNyZWF0ZUVycm9yUmVzdWx0KGBTUUwgZmlsZSBub3QgZm91bmQ6ICR7c3FsUGF0aH1gKTtcbiAgfVxuXG4gIC8vIEZpbmQgc2l0ZSBvciByZXR1cm4gZXJyb3JcbiAgY29uc3Qgc2l0ZVJlc3VsdCA9IGZpbmRTaXRlT3JFcnJvcihzaXRlUXVlcnksIHNlcnZpY2VzLnNpdGVEYXRhKTtcbiAgaWYgKCdlcnJvcicgaW4gc2l0ZVJlc3VsdCkgcmV0dXJuIHNpdGVSZXN1bHQuZXJyb3I7XG4gIGNvbnN0IHsgc2l0ZSB9ID0gc2l0ZVJlc3VsdDtcblxuICB0cnkge1xuICAgIC8vIFJ1biBXUC1DTEkgZGIgaW1wb3J0XG4gICAgY29uc3QgcmVzdWx0ID0gYXdhaXQgc2VydmljZXMud3BDbGkucnVuKHNpdGUsIFsnZGInLCAnaW1wb3J0Jywgc3FsUGF0aF0pO1xuXG4gICAgaWYgKHJlc3VsdCA9PT0gbnVsbCkge1xuICAgICAgcmV0dXJuIHtcbiAgICAgICAgY29udGVudDogW3sgdHlwZTogJ3RleHQnLCB0ZXh0OiBgRmFpbGVkIHRvIGltcG9ydCBkYXRhYmFzZSBmb3IgXCIke3NpdGUubmFtZX1cImAgfV0sXG4gICAgICAgIGlzRXJyb3I6IHRydWUsXG4gICAgICB9O1xuICAgIH1cblxuICAgIHJldHVybiB7XG4gICAgICBjb250ZW50OiBbXG4gICAgICAgIHtcbiAgICAgICAgICB0eXBlOiAndGV4dCcsXG4gICAgICAgICAgdGV4dDogYFN1Y2Nlc3NmdWxseSBpbXBvcnRlZCBcIiR7c3FsUGF0aH1cIiBpbnRvIGRhdGFiYXNlIGZvciBcIiR7c2l0ZS5uYW1lfVwiYCxcbiAgICAgICAgfSxcbiAgICAgIF0sXG4gICAgfTtcbiAgfSBjYXRjaCAoZXJyb3I6IGFueSkge1xuICAgIHJldHVybiB7XG4gICAgICBjb250ZW50OiBbeyB0eXBlOiAndGV4dCcsIHRleHQ6IGBGYWlsZWQgdG8gaW1wb3J0IGRhdGFiYXNlOiAke2Vycm9yLm1lc3NhZ2V9YCB9XSxcbiAgICAgIGlzRXJyb3I6IHRydWUsXG4gICAgfTtcbiAgfVxufVxuIl19
109
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW1wb3J0RGF0YWJhc2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvbWFpbi9tY3AvdG9vbHMvaW1wb3J0RGF0YWJhc2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBOzs7R0FHRzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBbUNILHdDQXVEQztBQXZGRCx1Q0FLbUI7QUFDbkIsdUNBQXlCO0FBRVosUUFBQSx3QkFBd0IsR0FBc0I7SUFDekQsSUFBSSxFQUFFLGlCQUFpQjtJQUN2QixXQUFXLEVBQUUsd0NBQXdDO0lBQ3JELFdBQVcsRUFBRTtRQUNYLElBQUksRUFBRSxRQUFRO1FBQ2QsVUFBVSxFQUFFO1lBQ1YsSUFBSSxFQUFFO2dCQUNKLElBQUksRUFBRSxRQUFRO2dCQUNkLFdBQVcsRUFBRSxpQkFBaUI7YUFDL0I7WUFDRCxPQUFPLEVBQUU7Z0JBQ1AsSUFBSSxFQUFFLFFBQVE7Z0JBQ2QsV0FBVyxFQUFFLGdDQUFnQzthQUM5QztTQUNGO1FBQ0QsUUFBUSxFQUFFLENBQUMsTUFBTSxFQUFFLFNBQVMsQ0FBQztLQUM5QjtDQUNGLENBQUM7QUFPSyxLQUFLLFVBQVUsY0FBYyxDQUNsQyxJQUE2QixFQUM3QixRQUF1QjtJQUV2QixNQUFNLEVBQUUsSUFBSSxFQUFFLFNBQVMsRUFBRSxPQUFPLEVBQUUsR0FBRyxJQUFxQyxDQUFDO0lBRTNFLCtCQUErQjtJQUMvQixNQUFNLFNBQVMsR0FBRyxJQUFBLCtCQUFxQixFQUFDLFNBQVMsRUFBRSxNQUFNLENBQUMsQ0FBQztJQUMzRCxJQUFJLFNBQVM7UUFBRSxPQUFPLFNBQVMsQ0FBQztJQUVoQyxNQUFNLFNBQVMsR0FBRyxJQUFBLCtCQUFxQixFQUFDLE9BQU8sRUFBRSxTQUFTLENBQUMsQ0FBQztJQUM1RCxJQUFJLFNBQVM7UUFBRSxPQUFPLFNBQVMsQ0FBQztJQUVoQyw4REFBOEQ7SUFDOUQsSUFBSSxDQUFDLElBQUEsd0JBQWMsRUFBQyxPQUFPLENBQUMsRUFBRSxDQUFDO1FBQzdCLE9BQU8sSUFBQSwyQkFBaUIsRUFDdEIsb0dBQW9HLENBQ3JHLENBQUM7SUFDSixDQUFDO0lBRUQscUJBQXFCO0lBQ3JCLElBQUksQ0FBQyxFQUFFLENBQUMsVUFBVSxDQUFDLE9BQU8sQ0FBQyxFQUFFLENBQUM7UUFDNUIsT0FBTyxJQUFBLDJCQUFpQixFQUFDLHVCQUF1QixPQUFPLEVBQUUsQ0FBQyxDQUFDO0lBQzdELENBQUM7SUFFRCw0QkFBNEI7SUFDNUIsTUFBTSxVQUFVLEdBQUcsSUFBQSx5QkFBZSxFQUFDLFNBQVMsRUFBRSxRQUFRLENBQUMsUUFBUSxDQUFDLENBQUM7SUFDakUsSUFBSSxPQUFPLElBQUksVUFBVTtRQUFFLE9BQU8sVUFBVSxDQUFDLEtBQUssQ0FBQztJQUNuRCxNQUFNLEVBQUUsSUFBSSxFQUFFLEdBQUcsVUFBVSxDQUFDO0lBRTVCLElBQUksQ0FBQztRQUNILHVCQUF1QjtRQUN2QixNQUFNLE1BQU0sR0FBRyxNQUFNLFFBQVEsQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLElBQUksRUFBRSxDQUFDLElBQUksRUFBRSxRQUFRLEVBQUUsT0FBTyxDQUFDLENBQUMsQ0FBQztRQUV6RSxJQUFJLE1BQU0sS0FBSyxJQUFJLEVBQUUsQ0FBQztZQUNwQixPQUFPO2dCQUNMLE9BQU8sRUFBRSxDQUFDLEVBQUUsSUFBSSxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUUsa0NBQWtDLElBQUksQ0FBQyxJQUFJLEdBQUcsRUFBRSxDQUFDO2dCQUNqRixPQUFPLEVBQUUsSUFBSTthQUNkLENBQUM7UUFDSixDQUFDO1FBRUQsT0FBTztZQUNMLE9BQU8sRUFBRTtnQkFDUDtvQkFDRSxJQUFJLEVBQUUsTUFBTTtvQkFDWixJQUFJLEVBQUUsMEJBQTBCLE9BQU8sd0JBQXdCLElBQUksQ0FBQyxJQUFJLEdBQUc7aUJBQzVFO2FBQ0Y7U0FDRixDQUFDO0lBQ0osQ0FBQztJQUFDLE9BQU8sS0FBVSxFQUFFLENBQUM7UUFDcEIsT0FBTztZQUNMLE9BQU8sRUFBRSxDQUFDLEVBQUUsSUFBSSxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUUsOEJBQThCLEtBQUssQ0FBQyxPQUFPLEVBQUUsRUFBRSxDQUFDO1lBQ2hGLE9BQU8sRUFBRSxJQUFJO1NBQ2QsQ0FBQztJQUNKLENBQUM7QUFDSCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBpbXBvcnRfZGF0YWJhc2UgVG9vbFxuICogSW1wb3J0IFNRTCBmaWxlIGludG8gc2l0ZSBkYXRhYmFzZSB1c2luZyBXUC1DTElcbiAqL1xuXG5pbXBvcnQgeyBNY3BUb29sRGVmaW5pdGlvbiwgTWNwVG9vbFJlc3VsdCwgTG9jYWxTZXJ2aWNlcyB9IGZyb20gJy4uLy4uLy4uL2NvbW1vbi90eXBlcyc7XG5pbXBvcnQge1xuICB2YWxpZGF0ZVJlcXVpcmVkUGFyYW0sXG4gIGZpbmRTaXRlT3JFcnJvcixcbiAgaXNWYWxpZFNxbFBhdGgsXG4gIGNyZWF0ZUVycm9yUmVzdWx0LFxufSBmcm9tICcuL2hlbHBlcnMnO1xuaW1wb3J0ICogYXMgZnMgZnJvbSAnZnMnO1xuXG5leHBvcnQgY29uc3QgaW1wb3J0RGF0YWJhc2VEZWZpbml0aW9uOiBNY3BUb29sRGVmaW5pdGlvbiA9IHtcbiAgbmFtZTogJ2ltcG9ydF9kYXRhYmFzZScsXG4gIGRlc2NyaXB0aW9uOiAnSW1wb3J0IGEgU1FMIGZpbGUgaW50byBhIHNpdGUgZGF0YWJhc2UnLFxuICBpbnB1dFNjaGVtYToge1xuICAgIHR5cGU6ICdvYmplY3QnLFxuICAgIHByb3BlcnRpZXM6IHtcbiAgICAgIHNpdGU6IHtcbiAgICAgICAgdHlwZTogJ3N0cmluZycsXG4gICAgICAgIGRlc2NyaXB0aW9uOiAnU2l0ZSBuYW1lIG9yIElEJyxcbiAgICAgIH0sXG4gICAgICBzcWxQYXRoOiB7XG4gICAgICAgIHR5cGU6ICdzdHJpbmcnLFxuICAgICAgICBkZXNjcmlwdGlvbjogJ1BhdGggdG8gdGhlIFNRTCBmaWxlIHRvIGltcG9ydCcsXG4gICAgICB9LFxuICAgIH0sXG4gICAgcmVxdWlyZWQ6IFsnc2l0ZScsICdzcWxQYXRoJ10sXG4gIH0sXG59O1xuXG5pbnRlcmZhY2UgSW1wb3J0RGF0YWJhc2VBcmdzIHtcbiAgc2l0ZTogc3RyaW5nO1xuICBzcWxQYXRoOiBzdHJpbmc7XG59XG5cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiBpbXBvcnREYXRhYmFzZShcbiAgYXJnczogUmVjb3JkPHN0cmluZywgdW5rbm93bj4sXG4gIHNlcnZpY2VzOiBMb2NhbFNlcnZpY2VzXG4pOiBQcm9taXNlPE1jcFRvb2xSZXN1bHQ+IHtcbiAgY29uc3QgeyBzaXRlOiBzaXRlUXVlcnksIHNxbFBhdGggfSA9IGFyZ3MgYXMgdW5rbm93biBhcyBJbXBvcnREYXRhYmFzZUFyZ3M7XG5cbiAgLy8gVmFsaWRhdGUgcmVxdWlyZWQgcGFyYW1ldGVyc1xuICBjb25zdCBzaXRlRXJyb3IgPSB2YWxpZGF0ZVJlcXVpcmVkUGFyYW0oc2l0ZVF1ZXJ5LCAnc2l0ZScpO1xuICBpZiAoc2l0ZUVycm9yKSByZXR1cm4gc2l0ZUVycm9yO1xuXG4gIGNvbnN0IHBhdGhFcnJvciA9IHZhbGlkYXRlUmVxdWlyZWRQYXJhbShzcWxQYXRoLCAnc3FsUGF0aCcpO1xuICBpZiAocGF0aEVycm9yKSByZXR1cm4gcGF0aEVycm9yO1xuXG4gIC8vIFNlY3VyaXR5OiBWYWxpZGF0ZSBwYXRoIGlzIHNhZmUgKG5vIHBhdGggdHJhdmVyc2FsIGF0dGFja3MpXG4gIGlmICghaXNWYWxpZFNxbFBhdGgoc3FsUGF0aCkpIHtcbiAgICByZXR1cm4gY3JlYXRlRXJyb3JSZXN1bHQoXG4gICAgICAnRXJyb3I6IEludmFsaWQgU1FMIGZpbGUgcGF0aC4gUGF0aCBtdXN0IGVuZCBpbiAuc3FsIGFuZCBiZSB3aXRoaW4gYWxsb3dlZCBkaXJlY3RvcmllcyAoaG9tZSwgdG1wKS4nXG4gICAgKTtcbiAgfVxuXG4gIC8vIFZlcmlmeSBmaWxlIGV4aXN0c1xuICBpZiAoIWZzLmV4aXN0c1N5bmMoc3FsUGF0aCkpIHtcbiAgICByZXR1cm4gY3JlYXRlRXJyb3JSZXN1bHQoYFNRTCBmaWxlIG5vdCBmb3VuZDogJHtzcWxQYXRofWApO1xuICB9XG5cbiAgLy8gRmluZCBzaXRlIG9yIHJldHVybiBlcnJvclxuICBjb25zdCBzaXRlUmVzdWx0ID0gZmluZFNpdGVPckVycm9yKHNpdGVRdWVyeSwgc2VydmljZXMuc2l0ZURhdGEpO1xuICBpZiAoJ2Vycm9yJyBpbiBzaXRlUmVzdWx0KSByZXR1cm4gc2l0ZVJlc3VsdC5lcnJvcjtcbiAgY29uc3QgeyBzaXRlIH0gPSBzaXRlUmVzdWx0O1xuXG4gIHRyeSB7XG4gICAgLy8gUnVuIFdQLUNMSSBkYiBpbXBvcnRcbiAgICBjb25zdCByZXN1bHQgPSBhd2FpdCBzZXJ2aWNlcy53cENsaS5ydW4oc2l0ZSwgWydkYicsICdpbXBvcnQnLCBzcWxQYXRoXSk7XG5cbiAgICBpZiAocmVzdWx0ID09PSBudWxsKSB7XG4gICAgICByZXR1cm4ge1xuICAgICAgICBjb250ZW50OiBbeyB0eXBlOiAndGV4dCcsIHRleHQ6IGBGYWlsZWQgdG8gaW1wb3J0IGRhdGFiYXNlIGZvciBcIiR7c2l0ZS5uYW1lfVwiYCB9XSxcbiAgICAgICAgaXNFcnJvcjogdHJ1ZSxcbiAgICAgIH07XG4gICAgfVxuXG4gICAgcmV0dXJuIHtcbiAgICAgIGNvbnRlbnQ6IFtcbiAgICAgICAge1xuICAgICAgICAgIHR5cGU6ICd0ZXh0JyxcbiAgICAgICAgICB0ZXh0OiBgU3VjY2Vzc2Z1bGx5IGltcG9ydGVkIFwiJHtzcWxQYXRofVwiIGludG8gZGF0YWJhc2UgZm9yIFwiJHtzaXRlLm5hbWV9XCJgLFxuICAgICAgICB9LFxuICAgICAgXSxcbiAgICB9O1xuICB9IGNhdGNoIChlcnJvcjogYW55KSB7XG4gICAgcmV0dXJuIHtcbiAgICAgIGNvbnRlbnQ6IFt7IHR5cGU6ICd0ZXh0JywgdGV4dDogYEZhaWxlZCB0byBpbXBvcnQgZGF0YWJhc2U6ICR7ZXJyb3IubWVzc2FnZX1gIH1dLFxuICAgICAgaXNFcnJvcjogdHJ1ZSxcbiAgICB9O1xuICB9XG59XG4iXX0=
@@ -67,4 +67,4 @@ async function renameSite(args, services) {
67
67
  };
68
68
  }
69
69
  }
70
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVuYW1lU2l0ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9tYWluL21jcC90b29scy9yZW5hbWVTaXRlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQTs7O0dBR0c7OztBQTZCSCxnQ0FpREM7QUEzRUQsdUNBQXNGO0FBRXpFLFFBQUEsb0JBQW9CLEdBQXNCO0lBQ3JELElBQUksRUFBRSxhQUFhO0lBQ25CLFdBQVcsRUFBRSx5QkFBeUI7SUFDdEMsV0FBVyxFQUFFO1FBQ1gsSUFBSSxFQUFFLFFBQVE7UUFDZCxVQUFVLEVBQUU7WUFDVixJQUFJLEVBQUU7Z0JBQ0osSUFBSSxFQUFFLFFBQVE7Z0JBQ2QsV0FBVyxFQUFFLHlCQUF5QjthQUN2QztZQUNELE9BQU8sRUFBRTtnQkFDUCxJQUFJLEVBQUUsUUFBUTtnQkFDZCxXQUFXLEVBQUUsdUJBQXVCO2FBQ3JDO1NBQ0Y7UUFDRCxRQUFRLEVBQUUsQ0FBQyxNQUFNLEVBQUUsU0FBUyxDQUFDO0tBQzlCO0NBQ0YsQ0FBQztBQU9LLEtBQUssVUFBVSxVQUFVLENBQzlCLElBQTZCLEVBQzdCLFFBQXVCO0lBRXZCLE1BQU0sRUFBRSxJQUFJLEVBQUUsU0FBUyxFQUFFLE9BQU8sRUFBRSxHQUFHLElBQWlDLENBQUM7SUFFdkUsTUFBTSxTQUFTLEdBQUcsSUFBQSwrQkFBcUIsRUFBQyxTQUFTLEVBQUUsTUFBTSxDQUFDLENBQUM7SUFDM0QsSUFBSSxTQUFTO1FBQUUsT0FBTyxTQUFTLENBQUM7SUFFaEMsTUFBTSxTQUFTLEdBQUcsSUFBQSwrQkFBcUIsRUFBQyxPQUFPLEVBQUUsU0FBUyxDQUFDLENBQUM7SUFDNUQsSUFBSSxTQUFTO1FBQUUsT0FBTyxTQUFTLENBQUM7SUFFaEMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLEVBQUUsRUFBRSxDQUFDO1FBQ3BCLE9BQU8sSUFBQSwyQkFBaUIsRUFBQyxnQ0FBZ0MsQ0FBQyxDQUFDO0lBQzdELENBQUM7SUFFRCxNQUFNLFVBQVUsR0FBRyxJQUFBLHlCQUFlLEVBQUMsU0FBUyxFQUFFLFFBQVEsQ0FBQyxRQUFRLENBQUMsQ0FBQztJQUNqRSxJQUFJLE9BQU8sSUFBSSxVQUFVO1FBQUUsT0FBTyxVQUFVLENBQUMsS0FBSyxDQUFDO0lBQ25ELE1BQU0sRUFBRSxJQUFJLEVBQUUsR0FBRyxVQUFVLENBQUM7SUFFNUIsTUFBTSxPQUFPLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQztJQUUxQixJQUFJLENBQUM7UUFFSCxnREFBZ0Q7UUFDaEQsSUFBSSxDQUFDLFFBQVEsQ0FBQyxRQUFRLENBQUMsVUFBVSxFQUFFLENBQUM7WUFDbEMsT0FBTztnQkFDTCxPQUFPLEVBQUUsQ0FBQyxFQUFFLElBQUksRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFLG1DQUFtQyxFQUFFLENBQUM7Z0JBQ3RFLE9BQU8sRUFBRSxJQUFJO2FBQ2QsQ0FBQztRQUNKLENBQUM7UUFFRCx1QkFBdUI7UUFDdkIsUUFBUSxDQUFDLFFBQVEsQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLEVBQUUsRUFBRSxFQUFFLElBQUksRUFBRSxPQUFPLENBQUMsSUFBSSxFQUFFLEVBQUUsQ0FBQyxDQUFDO1FBRWhFLE9BQU87WUFDTCxPQUFPLEVBQUU7Z0JBQ1A7b0JBQ0UsSUFBSSxFQUFFLE1BQU07b0JBQ1osSUFBSSxFQUFFLG1DQUFtQyxPQUFPLFNBQVMsT0FBTyxDQUFDLElBQUksRUFBRSxHQUFHO2lCQUMzRTthQUNGO1NBQ0YsQ0FBQztJQUNKLENBQUM7SUFBQyxPQUFPLEtBQVUsRUFBRSxDQUFDO1FBQ3BCLE9BQU87WUFDTCxPQUFPLEVBQUUsQ0FBQyxFQUFFLElBQUksRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFLDBCQUEwQixLQUFLLENBQUMsT0FBTyxFQUFFLEVBQUUsQ0FBQztZQUM1RSxPQUFPLEVBQUUsSUFBSTtTQUNkLENBQUM7SUFDSixDQUFDO0FBQ0gsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogcmVuYW1lX3NpdGUgVG9vbFxuICogUmVuYW1lIGEgV29yZFByZXNzIHNpdGVcbiAqL1xuXG5pbXBvcnQgeyBNY3BUb29sRGVmaW5pdGlvbiwgTWNwVG9vbFJlc3VsdCwgTG9jYWxTZXJ2aWNlcyB9IGZyb20gJy4uLy4uLy4uL2NvbW1vbi90eXBlcyc7XG5pbXBvcnQgeyB2YWxpZGF0ZVJlcXVpcmVkUGFyYW0sIGZpbmRTaXRlT3JFcnJvciwgY3JlYXRlRXJyb3JSZXN1bHQgfSBmcm9tICcuL2hlbHBlcnMnO1xuXG5leHBvcnQgY29uc3QgcmVuYW1lU2l0ZURlZmluaXRpb246IE1jcFRvb2xEZWZpbml0aW9uID0ge1xuICBuYW1lOiAncmVuYW1lX3NpdGUnLFxuICBkZXNjcmlwdGlvbjogJ1JlbmFtZSBhIFdvcmRQcmVzcyBzaXRlJyxcbiAgaW5wdXRTY2hlbWE6IHtcbiAgICB0eXBlOiAnb2JqZWN0JyxcbiAgICBwcm9wZXJ0aWVzOiB7XG4gICAgICBzaXRlOiB7XG4gICAgICAgIHR5cGU6ICdzdHJpbmcnLFxuICAgICAgICBkZXNjcmlwdGlvbjogJ0N1cnJlbnQgc2l0ZSBuYW1lIG9yIElEJyxcbiAgICAgIH0sXG4gICAgICBuZXdOYW1lOiB7XG4gICAgICAgIHR5cGU6ICdzdHJpbmcnLFxuICAgICAgICBkZXNjcmlwdGlvbjogJ05ldyBuYW1lIGZvciB0aGUgc2l0ZScsXG4gICAgICB9LFxuICAgIH0sXG4gICAgcmVxdWlyZWQ6IFsnc2l0ZScsICduZXdOYW1lJ10sXG4gIH0sXG59O1xuXG5pbnRlcmZhY2UgUmVuYW1lU2l0ZUFyZ3Mge1xuICBzaXRlOiBzdHJpbmc7XG4gIG5ld05hbWU6IHN0cmluZztcbn1cblxuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIHJlbmFtZVNpdGUoXG4gIGFyZ3M6IFJlY29yZDxzdHJpbmcsIHVua25vd24+LFxuICBzZXJ2aWNlczogTG9jYWxTZXJ2aWNlc1xuKTogUHJvbWlzZTxNY3BUb29sUmVzdWx0PiB7XG4gIGNvbnN0IHsgc2l0ZTogc2l0ZVF1ZXJ5LCBuZXdOYW1lIH0gPSBhcmdzIGFzIHVua25vd24gYXMgUmVuYW1lU2l0ZUFyZ3M7XG5cbiAgY29uc3Qgc2l0ZUVycm9yID0gdmFsaWRhdGVSZXF1aXJlZFBhcmFtKHNpdGVRdWVyeSwgJ3NpdGUnKTtcbiAgaWYgKHNpdGVFcnJvcikgcmV0dXJuIHNpdGVFcnJvcjtcblxuICBjb25zdCBuYW1lRXJyb3IgPSB2YWxpZGF0ZVJlcXVpcmVkUGFyYW0obmV3TmFtZSwgJ25ld05hbWUnKTtcbiAgaWYgKG5hbWVFcnJvcikgcmV0dXJuIG5hbWVFcnJvcjtcblxuICBpZiAoIW5ld05hbWUudHJpbSgpKSB7XG4gICAgcmV0dXJuIGNyZWF0ZUVycm9yUmVzdWx0KCdFcnJvcjogbmV3TmFtZSBjYW5ub3QgYmUgZW1wdHknKTtcbiAgfVxuXG4gIGNvbnN0IHNpdGVSZXN1bHQgPSBmaW5kU2l0ZU9yRXJyb3Ioc2l0ZVF1ZXJ5LCBzZXJ2aWNlcy5zaXRlRGF0YSk7XG4gIGlmICgnZXJyb3InIGluIHNpdGVSZXN1bHQpIHJldHVybiBzaXRlUmVzdWx0LmVycm9yO1xuICBjb25zdCB7IHNpdGUgfSA9IHNpdGVSZXN1bHQ7XG5cbiAgY29uc3Qgb2xkTmFtZSA9IHNpdGUubmFtZTtcblxuICB0cnkge1xuXG4gICAgLy8gQ2hlY2sgaWYgdXBkYXRlU2l0ZSBtZXRob2QgZXhpc3RzIG9uIHNpdGVEYXRhXG4gICAgaWYgKCFzZXJ2aWNlcy5zaXRlRGF0YS51cGRhdGVTaXRlKSB7XG4gICAgICByZXR1cm4ge1xuICAgICAgICBjb250ZW50OiBbeyB0eXBlOiAndGV4dCcsIHRleHQ6ICdTaXRlIHVwZGF0ZSBzZXJ2aWNlIG5vdCBhdmFpbGFibGUnIH1dLFxuICAgICAgICBpc0Vycm9yOiB0cnVlLFxuICAgICAgfTtcbiAgICB9XG5cbiAgICAvLyBVcGRhdGUgdGhlIHNpdGUgbmFtZVxuICAgIHNlcnZpY2VzLnNpdGVEYXRhLnVwZGF0ZVNpdGUoc2l0ZS5pZCwgeyBuYW1lOiBuZXdOYW1lLnRyaW0oKSB9KTtcblxuICAgIHJldHVybiB7XG4gICAgICBjb250ZW50OiBbXG4gICAgICAgIHtcbiAgICAgICAgICB0eXBlOiAndGV4dCcsXG4gICAgICAgICAgdGV4dDogYFN1Y2Nlc3NmdWxseSByZW5hbWVkIHNpdGUgZnJvbSBcIiR7b2xkTmFtZX1cIiB0byBcIiR7bmV3TmFtZS50cmltKCl9XCJgLFxuICAgICAgICB9LFxuICAgICAgXSxcbiAgICB9O1xuICB9IGNhdGNoIChlcnJvcjogYW55KSB7XG4gICAgcmV0dXJuIHtcbiAgICAgIGNvbnRlbnQ6IFt7IHR5cGU6ICd0ZXh0JywgdGV4dDogYEZhaWxlZCB0byByZW5hbWUgc2l0ZTogJHtlcnJvci5tZXNzYWdlfWAgfV0sXG4gICAgICBpc0Vycm9yOiB0cnVlLFxuICAgIH07XG4gIH1cbn1cbiJdfQ==
70
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVuYW1lU2l0ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9tYWluL21jcC90b29scy9yZW5hbWVTaXRlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQTs7O0dBR0c7OztBQTZCSCxnQ0FnREM7QUExRUQsdUNBQXNGO0FBRXpFLFFBQUEsb0JBQW9CLEdBQXNCO0lBQ3JELElBQUksRUFBRSxhQUFhO0lBQ25CLFdBQVcsRUFBRSx5QkFBeUI7SUFDdEMsV0FBVyxFQUFFO1FBQ1gsSUFBSSxFQUFFLFFBQVE7UUFDZCxVQUFVLEVBQUU7WUFDVixJQUFJLEVBQUU7Z0JBQ0osSUFBSSxFQUFFLFFBQVE7Z0JBQ2QsV0FBVyxFQUFFLHlCQUF5QjthQUN2QztZQUNELE9BQU8sRUFBRTtnQkFDUCxJQUFJLEVBQUUsUUFBUTtnQkFDZCxXQUFXLEVBQUUsdUJBQXVCO2FBQ3JDO1NBQ0Y7UUFDRCxRQUFRLEVBQUUsQ0FBQyxNQUFNLEVBQUUsU0FBUyxDQUFDO0tBQzlCO0NBQ0YsQ0FBQztBQU9LLEtBQUssVUFBVSxVQUFVLENBQzlCLElBQTZCLEVBQzdCLFFBQXVCO0lBRXZCLE1BQU0sRUFBRSxJQUFJLEVBQUUsU0FBUyxFQUFFLE9BQU8sRUFBRSxHQUFHLElBQWlDLENBQUM7SUFFdkUsTUFBTSxTQUFTLEdBQUcsSUFBQSwrQkFBcUIsRUFBQyxTQUFTLEVBQUUsTUFBTSxDQUFDLENBQUM7SUFDM0QsSUFBSSxTQUFTO1FBQUUsT0FBTyxTQUFTLENBQUM7SUFFaEMsTUFBTSxTQUFTLEdBQUcsSUFBQSwrQkFBcUIsRUFBQyxPQUFPLEVBQUUsU0FBUyxDQUFDLENBQUM7SUFDNUQsSUFBSSxTQUFTO1FBQUUsT0FBTyxTQUFTLENBQUM7SUFFaEMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLEVBQUUsRUFBRSxDQUFDO1FBQ3BCLE9BQU8sSUFBQSwyQkFBaUIsRUFBQyxnQ0FBZ0MsQ0FBQyxDQUFDO0lBQzdELENBQUM7SUFFRCxNQUFNLFVBQVUsR0FBRyxJQUFBLHlCQUFlLEVBQUMsU0FBUyxFQUFFLFFBQVEsQ0FBQyxRQUFRLENBQUMsQ0FBQztJQUNqRSxJQUFJLE9BQU8sSUFBSSxVQUFVO1FBQUUsT0FBTyxVQUFVLENBQUMsS0FBSyxDQUFDO0lBQ25ELE1BQU0sRUFBRSxJQUFJLEVBQUUsR0FBRyxVQUFVLENBQUM7SUFFNUIsTUFBTSxPQUFPLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQztJQUUxQixJQUFJLENBQUM7UUFDSCxnREFBZ0Q7UUFDaEQsSUFBSSxDQUFDLFFBQVEsQ0FBQyxRQUFRLENBQUMsVUFBVSxFQUFFLENBQUM7WUFDbEMsT0FBTztnQkFDTCxPQUFPLEVBQUUsQ0FBQyxFQUFFLElBQUksRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFLG1DQUFtQyxFQUFFLENBQUM7Z0JBQ3RFLE9BQU8sRUFBRSxJQUFJO2FBQ2QsQ0FBQztRQUNKLENBQUM7UUFFRCx1QkFBdUI7UUFDdkIsUUFBUSxDQUFDLFFBQVEsQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLEVBQUUsRUFBRSxFQUFFLElBQUksRUFBRSxPQUFPLENBQUMsSUFBSSxFQUFFLEVBQUUsQ0FBQyxDQUFDO1FBRWhFLE9BQU87WUFDTCxPQUFPLEVBQUU7Z0JBQ1A7b0JBQ0UsSUFBSSxFQUFFLE1BQU07b0JBQ1osSUFBSSxFQUFFLG1DQUFtQyxPQUFPLFNBQVMsT0FBTyxDQUFDLElBQUksRUFBRSxHQUFHO2lCQUMzRTthQUNGO1NBQ0YsQ0FBQztJQUNKLENBQUM7SUFBQyxPQUFPLEtBQVUsRUFBRSxDQUFDO1FBQ3BCLE9BQU87WUFDTCxPQUFPLEVBQUUsQ0FBQyxFQUFFLElBQUksRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFLDBCQUEwQixLQUFLLENBQUMsT0FBTyxFQUFFLEVBQUUsQ0FBQztZQUM1RSxPQUFPLEVBQUUsSUFBSTtTQUNkLENBQUM7SUFDSixDQUFDO0FBQ0gsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogcmVuYW1lX3NpdGUgVG9vbFxuICogUmVuYW1lIGEgV29yZFByZXNzIHNpdGVcbiAqL1xuXG5pbXBvcnQgeyBNY3BUb29sRGVmaW5pdGlvbiwgTWNwVG9vbFJlc3VsdCwgTG9jYWxTZXJ2aWNlcyB9IGZyb20gJy4uLy4uLy4uL2NvbW1vbi90eXBlcyc7XG5pbXBvcnQgeyB2YWxpZGF0ZVJlcXVpcmVkUGFyYW0sIGZpbmRTaXRlT3JFcnJvciwgY3JlYXRlRXJyb3JSZXN1bHQgfSBmcm9tICcuL2hlbHBlcnMnO1xuXG5leHBvcnQgY29uc3QgcmVuYW1lU2l0ZURlZmluaXRpb246IE1jcFRvb2xEZWZpbml0aW9uID0ge1xuICBuYW1lOiAncmVuYW1lX3NpdGUnLFxuICBkZXNjcmlwdGlvbjogJ1JlbmFtZSBhIFdvcmRQcmVzcyBzaXRlJyxcbiAgaW5wdXRTY2hlbWE6IHtcbiAgICB0eXBlOiAnb2JqZWN0JyxcbiAgICBwcm9wZXJ0aWVzOiB7XG4gICAgICBzaXRlOiB7XG4gICAgICAgIHR5cGU6ICdzdHJpbmcnLFxuICAgICAgICBkZXNjcmlwdGlvbjogJ0N1cnJlbnQgc2l0ZSBuYW1lIG9yIElEJyxcbiAgICAgIH0sXG4gICAgICBuZXdOYW1lOiB7XG4gICAgICAgIHR5cGU6ICdzdHJpbmcnLFxuICAgICAgICBkZXNjcmlwdGlvbjogJ05ldyBuYW1lIGZvciB0aGUgc2l0ZScsXG4gICAgICB9LFxuICAgIH0sXG4gICAgcmVxdWlyZWQ6IFsnc2l0ZScsICduZXdOYW1lJ10sXG4gIH0sXG59O1xuXG5pbnRlcmZhY2UgUmVuYW1lU2l0ZUFyZ3Mge1xuICBzaXRlOiBzdHJpbmc7XG4gIG5ld05hbWU6IHN0cmluZztcbn1cblxuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIHJlbmFtZVNpdGUoXG4gIGFyZ3M6IFJlY29yZDxzdHJpbmcsIHVua25vd24+LFxuICBzZXJ2aWNlczogTG9jYWxTZXJ2aWNlc1xuKTogUHJvbWlzZTxNY3BUb29sUmVzdWx0PiB7XG4gIGNvbnN0IHsgc2l0ZTogc2l0ZVF1ZXJ5LCBuZXdOYW1lIH0gPSBhcmdzIGFzIHVua25vd24gYXMgUmVuYW1lU2l0ZUFyZ3M7XG5cbiAgY29uc3Qgc2l0ZUVycm9yID0gdmFsaWRhdGVSZXF1aXJlZFBhcmFtKHNpdGVRdWVyeSwgJ3NpdGUnKTtcbiAgaWYgKHNpdGVFcnJvcikgcmV0dXJuIHNpdGVFcnJvcjtcblxuICBjb25zdCBuYW1lRXJyb3IgPSB2YWxpZGF0ZVJlcXVpcmVkUGFyYW0obmV3TmFtZSwgJ25ld05hbWUnKTtcbiAgaWYgKG5hbWVFcnJvcikgcmV0dXJuIG5hbWVFcnJvcjtcblxuICBpZiAoIW5ld05hbWUudHJpbSgpKSB7XG4gICAgcmV0dXJuIGNyZWF0ZUVycm9yUmVzdWx0KCdFcnJvcjogbmV3TmFtZSBjYW5ub3QgYmUgZW1wdHknKTtcbiAgfVxuXG4gIGNvbnN0IHNpdGVSZXN1bHQgPSBmaW5kU2l0ZU9yRXJyb3Ioc2l0ZVF1ZXJ5LCBzZXJ2aWNlcy5zaXRlRGF0YSk7XG4gIGlmICgnZXJyb3InIGluIHNpdGVSZXN1bHQpIHJldHVybiBzaXRlUmVzdWx0LmVycm9yO1xuICBjb25zdCB7IHNpdGUgfSA9IHNpdGVSZXN1bHQ7XG5cbiAgY29uc3Qgb2xkTmFtZSA9IHNpdGUubmFtZTtcblxuICB0cnkge1xuICAgIC8vIENoZWNrIGlmIHVwZGF0ZVNpdGUgbWV0aG9kIGV4aXN0cyBvbiBzaXRlRGF0YVxuICAgIGlmICghc2VydmljZXMuc2l0ZURhdGEudXBkYXRlU2l0ZSkge1xuICAgICAgcmV0dXJuIHtcbiAgICAgICAgY29udGVudDogW3sgdHlwZTogJ3RleHQnLCB0ZXh0OiAnU2l0ZSB1cGRhdGUgc2VydmljZSBub3QgYXZhaWxhYmxlJyB9XSxcbiAgICAgICAgaXNFcnJvcjogdHJ1ZSxcbiAgICAgIH07XG4gICAgfVxuXG4gICAgLy8gVXBkYXRlIHRoZSBzaXRlIG5hbWVcbiAgICBzZXJ2aWNlcy5zaXRlRGF0YS51cGRhdGVTaXRlKHNpdGUuaWQsIHsgbmFtZTogbmV3TmFtZS50cmltKCkgfSk7XG5cbiAgICByZXR1cm4ge1xuICAgICAgY29udGVudDogW1xuICAgICAgICB7XG4gICAgICAgICAgdHlwZTogJ3RleHQnLFxuICAgICAgICAgIHRleHQ6IGBTdWNjZXNzZnVsbHkgcmVuYW1lZCBzaXRlIGZyb20gXCIke29sZE5hbWV9XCIgdG8gXCIke25ld05hbWUudHJpbSgpfVwiYCxcbiAgICAgICAgfSxcbiAgICAgIF0sXG4gICAgfTtcbiAgfSBjYXRjaCAoZXJyb3I6IGFueSkge1xuICAgIHJldHVybiB7XG4gICAgICBjb250ZW50OiBbeyB0eXBlOiAndGV4dCcsIHRleHQ6IGBGYWlsZWQgdG8gcmVuYW1lIHNpdGU6ICR7ZXJyb3IubWVzc2FnZX1gIH1dLFxuICAgICAgaXNFcnJvcjogdHJ1ZSxcbiAgICB9O1xuICB9XG59XG4iXX0=
@@ -107,4 +107,4 @@ async function wpCli(args, services) {
107
107
  };
108
108
  }
109
109
  }
110
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid3BDbGkuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvbWFpbi9tY3AvdG9vbHMvd3BDbGkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBOzs7R0FHRzs7O0FBdUNILHNCQWdGQztBQXBIRCx1Q0FBMEc7QUFFN0YsUUFBQSxlQUFlLEdBQXNCO0lBQ2hELElBQUksRUFBRSxRQUFRO0lBQ2QsV0FBVyxFQUFFLDBFQUEwRTtJQUN2RixXQUFXLEVBQUU7UUFDWCxJQUFJLEVBQUUsUUFBUTtRQUNkLFVBQVUsRUFBRTtZQUNWLElBQUksRUFBRTtnQkFDSixJQUFJLEVBQUUsUUFBUTtnQkFDZCxXQUFXLEVBQUUsc0NBQXNDO2FBQ3BEO1lBQ0QsT0FBTyxFQUFFO2dCQUNQLEtBQUssRUFBRTtvQkFDTDt3QkFDRSxJQUFJLEVBQUUsT0FBTzt3QkFDYixLQUFLLEVBQUUsRUFBRSxJQUFJLEVBQUUsUUFBUSxFQUFFO3dCQUN6QixXQUFXLEVBQUUsbUVBQW1FO3FCQUNqRjtvQkFDRDt3QkFDRSxJQUFJLEVBQUUsUUFBUTt3QkFDZCxXQUFXLEVBQUUsNERBQTREO3FCQUMxRTtpQkFDRjtnQkFDRCxXQUFXLEVBQUUsNkVBQTZFO2FBQzNGO1NBQ0Y7UUFDRCxRQUFRLEVBQUUsQ0FBQyxNQUFNLEVBQUUsU0FBUyxDQUFDO0tBQzlCO0NBQ0YsQ0FBQztBQU9LLEtBQUssVUFBVSxLQUFLLENBQ3pCLElBQTZCLEVBQzdCLFFBQXVCO0lBRXZCLE1BQU0sRUFBRSxJQUFJLEVBQUUsU0FBUyxFQUFFLE9BQU8sRUFBRSxVQUFVLEVBQUUsR0FBRyxJQUE0QixDQUFDO0lBRTlFLCtCQUErQjtJQUMvQixNQUFNLFNBQVMsR0FBRyxJQUFBLCtCQUFxQixFQUFDLFNBQVMsRUFBRSxNQUFNLENBQUMsQ0FBQztJQUMzRCxJQUFJLFNBQVM7UUFBRSxPQUFPLFNBQVMsQ0FBQztJQUVoQyxNQUFNLFlBQVksR0FBRyxJQUFBLCtCQUFxQixFQUFDLFVBQVUsRUFBRSxTQUFTLENBQUMsQ0FBQztJQUNsRSxJQUFJLFlBQVk7UUFBRSxPQUFPLFlBQVksQ0FBQztJQUV0QyxvRUFBb0U7SUFDcEUsSUFBSSxPQUFpQixDQUFDO0lBQ3RCLElBQUksT0FBTyxVQUFVLEtBQUssUUFBUSxFQUFFLENBQUM7UUFDbkMseUVBQXlFO1FBQ3pFLG9DQUFvQztRQUNwQyxPQUFPLEdBQUcsVUFBVSxDQUFDLElBQUksRUFBRSxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLENBQUM7SUFDM0QsQ0FBQztTQUFNLElBQUksS0FBSyxDQUFDLE9BQU8sQ0FBQyxVQUFVLENBQUMsRUFBRSxDQUFDO1FBQ3JDLE9BQU8sR0FBRyxVQUFVLENBQUM7SUFDdkIsQ0FBQztTQUFNLENBQUM7UUFDTixPQUFPO1lBQ0wsT0FBTyxFQUFFO2dCQUNQO29CQUNFLElBQUksRUFBRSxNQUFNO29CQUNaLElBQUksRUFBRSxxREFBcUQ7aUJBQzVEO2FBQ0Y7WUFDRCxPQUFPLEVBQUUsSUFBSTtTQUNkLENBQUM7SUFDSixDQUFDO0lBRUQsSUFBSSxPQUFPLENBQUMsTUFBTSxLQUFLLENBQUMsRUFBRSxDQUFDO1FBQ3pCLE9BQU8sSUFBQSwyQkFBaUIsRUFBQyxnQ0FBZ0MsQ0FBQyxDQUFDO0lBQzdELENBQUM7SUFFRCx1Q0FBdUM7SUFDdkMsTUFBTSxjQUFjLEdBQUcsSUFBQSw0QkFBa0IsRUFBQyxPQUFPLENBQUMsQ0FBQztJQUNuRCxJQUFJLGNBQWMsRUFBRSxDQUFDO1FBQ25CLE9BQU8sSUFBQSwyQkFBaUIsRUFDdEIsbUJBQW1CLGNBQWMsdUZBQXVGLENBQ3pILENBQUM7SUFDSixDQUFDO0lBRUQsNEJBQTRCO0lBQzVCLE1BQU0sVUFBVSxHQUFHLElBQUEseUJBQWUsRUFBQyxTQUFTLEVBQUUsUUFBUSxDQUFDLFFBQVEsQ0FBQyxDQUFDO0lBQ2pFLElBQUksT0FBTyxJQUFJLFVBQVU7UUFBRSxPQUFPLFVBQVUsQ0FBQyxLQUFLLENBQUM7SUFDbkQsTUFBTSxFQUFFLElBQUksRUFBRSxHQUFHLFVBQVUsQ0FBQztJQUU1QixJQUFJLENBQUM7UUFDSCxNQUFNLGFBQWEsR0FBRyxNQUFNLFFBQVEsQ0FBQyxrQkFBa0IsQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLENBQUM7UUFFNUUsSUFBSSxhQUFhLEtBQUssU0FBUyxFQUFFLENBQUM7WUFDaEMsT0FBTztnQkFDTCxPQUFPLEVBQUU7b0JBQ1A7d0JBQ0UsSUFBSSxFQUFFLE1BQU07d0JBQ1osSUFBSSxFQUFFLFNBQVMsSUFBSSxDQUFDLElBQUksNERBQTREO3FCQUNyRjtpQkFDRjtnQkFDRCxPQUFPLEVBQUUsSUFBSTthQUNkLENBQUM7UUFDSixDQUFDO1FBRUQsTUFBTSxNQUFNLEdBQUcsTUFBTSxRQUFRLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxJQUFJLEVBQUUsT0FBTyxFQUFFO1lBQ3JELFdBQVcsRUFBRSxJQUFJO1lBQ2pCLFVBQVUsRUFBRSxJQUFJO1lBQ2hCLFlBQVksRUFBRSxLQUFLO1NBQ3BCLENBQUMsQ0FBQztRQUVILE9BQU87WUFDTCxPQUFPLEVBQUUsQ0FBQyxFQUFFLElBQUksRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUUsSUFBSSxhQUFhLEVBQUUsQ0FBQztTQUNuRSxDQUFDO0lBQ0osQ0FBQztJQUFDLE9BQU8sS0FBVSxFQUFFLENBQUM7UUFDcEIsT0FBTztZQUNMLE9BQU8sRUFBRSxDQUFDLEVBQUUsSUFBSSxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUUsaUJBQWlCLEtBQUssQ0FBQyxPQUFPLEVBQUUsRUFBRSxDQUFDO1lBQ25FLE9BQU8sRUFBRSxJQUFJO1NBQ2QsQ0FBQztJQUNKLENBQUM7QUFDSCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiB3cF9jbGkgVG9vbFxuICogUnVuIFdQLUNMSSBjb21tYW5kcyBhZ2FpbnN0IGEgc2l0ZVxuICovXG5cbmltcG9ydCB7IE1jcFRvb2xEZWZpbml0aW9uLCBNY3BUb29sUmVzdWx0LCBMb2NhbFNlcnZpY2VzIH0gZnJvbSAnLi4vLi4vLi4vY29tbW9uL3R5cGVzJztcbmltcG9ydCB7IHZhbGlkYXRlUmVxdWlyZWRQYXJhbSwgZmluZFNpdGVPckVycm9yLCBpc0Jsb2NrZWRXcENvbW1hbmQsIGNyZWF0ZUVycm9yUmVzdWx0IH0gZnJvbSAnLi9oZWxwZXJzJztcblxuZXhwb3J0IGNvbnN0IHdwQ2xpRGVmaW5pdGlvbjogTWNwVG9vbERlZmluaXRpb24gPSB7XG4gIG5hbWU6ICd3cF9jbGknLFxuICBkZXNjcmlwdGlvbjogJ1J1biBhIFdQLUNMSSBjb21tYW5kIGFnYWluc3QgYSBXb3JkUHJlc3Mgc2l0ZS4gVGhlIHNpdGUgbXVzdCBiZSBydW5uaW5nLicsXG4gIGlucHV0U2NoZW1hOiB7XG4gICAgdHlwZTogJ29iamVjdCcsXG4gICAgcHJvcGVydGllczoge1xuICAgICAgc2l0ZToge1xuICAgICAgICB0eXBlOiAnc3RyaW5nJyxcbiAgICAgICAgZGVzY3JpcHRpb246ICdTaXRlIG5hbWUgb3IgSUQgKHBhcnRpYWwgbmFtZXMgd29yayknLFxuICAgICAgfSxcbiAgICAgIGNvbW1hbmQ6IHtcbiAgICAgICAgb25lT2Y6IFtcbiAgICAgICAgICB7XG4gICAgICAgICAgICB0eXBlOiAnYXJyYXknLFxuICAgICAgICAgICAgaXRlbXM6IHsgdHlwZTogJ3N0cmluZycgfSxcbiAgICAgICAgICAgIGRlc2NyaXB0aW9uOiAnV1AtQ0xJIGNvbW1hbmQgYXMgYXJyYXksIGUuZy4gW1wicGx1Z2luXCIsIFwibGlzdFwiLCBcIi0tZm9ybWF0PWpzb25cIl0nLFxuICAgICAgICAgIH0sXG4gICAgICAgICAge1xuICAgICAgICAgICAgdHlwZTogJ3N0cmluZycsXG4gICAgICAgICAgICBkZXNjcmlwdGlvbjogJ1dQLUNMSSBjb21tYW5kIGFzIHN0cmluZywgZS5nLiBcInBsdWdpbiBsaXN0IC0tZm9ybWF0PWpzb25cIicsXG4gICAgICAgICAgfSxcbiAgICAgICAgXSxcbiAgICAgICAgZGVzY3JpcHRpb246ICdXUC1DTEkgY29tbWFuZCAtIGVpdGhlciBhcyBhcnJheSBbXCJwbHVnaW5cIiwgXCJsaXN0XCJdIG9yIHN0cmluZyBcInBsdWdpbiBsaXN0XCInLFxuICAgICAgfSxcbiAgICB9LFxuICAgIHJlcXVpcmVkOiBbJ3NpdGUnLCAnY29tbWFuZCddLFxuICB9LFxufTtcblxuaW50ZXJmYWNlIFdwQ2xpQXJncyB7XG4gIHNpdGU6IHN0cmluZztcbiAgY29tbWFuZDogc3RyaW5nW10gfCBzdHJpbmc7XG59XG5cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiB3cENsaShcbiAgYXJnczogUmVjb3JkPHN0cmluZywgdW5rbm93bj4sXG4gIHNlcnZpY2VzOiBMb2NhbFNlcnZpY2VzXG4pOiBQcm9taXNlPE1jcFRvb2xSZXN1bHQ+IHtcbiAgY29uc3QgeyBzaXRlOiBzaXRlUXVlcnksIGNvbW1hbmQ6IHJhd0NvbW1hbmQgfSA9IGFyZ3MgYXMgdW5rbm93biBhcyBXcENsaUFyZ3M7XG5cbiAgLy8gVmFsaWRhdGUgcmVxdWlyZWQgcGFyYW1ldGVyc1xuICBjb25zdCBzaXRlRXJyb3IgPSB2YWxpZGF0ZVJlcXVpcmVkUGFyYW0oc2l0ZVF1ZXJ5LCAnc2l0ZScpO1xuICBpZiAoc2l0ZUVycm9yKSByZXR1cm4gc2l0ZUVycm9yO1xuXG4gIGNvbnN0IGNvbW1hbmRFcnJvciA9IHZhbGlkYXRlUmVxdWlyZWRQYXJhbShyYXdDb21tYW5kLCAnY29tbWFuZCcpO1xuICBpZiAoY29tbWFuZEVycm9yKSByZXR1cm4gY29tbWFuZEVycm9yO1xuXG4gIC8vIE5vcm1hbGl6ZSBjb21tYW5kIHRvIGFycmF5IC0gYWNjZXB0IGJvdGggc3RyaW5nIGFuZCBhcnJheSBmb3JtYXRzXG4gIGxldCBjb21tYW5kOiBzdHJpbmdbXTtcbiAgaWYgKHR5cGVvZiByYXdDb21tYW5kID09PSAnc3RyaW5nJykge1xuICAgIC8vIFNwbGl0IHN0cmluZyBvbiB3aGl0ZXNwYWNlLCBwcmVzZXJ2aW5nIHF1b3RlZCBzdHJpbmdzIHdvdWxkIGJlIGNvbXBsZXhcbiAgICAvLyBGb3Igc2ltcGxlIGNhc2VzLCBzcGxpdCBvbiBzcGFjZXNcbiAgICBjb21tYW5kID0gcmF3Q29tbWFuZC50cmltKCkuc3BsaXQoL1xccysvKS5maWx0ZXIoQm9vbGVhbik7XG4gIH0gZWxzZSBpZiAoQXJyYXkuaXNBcnJheShyYXdDb21tYW5kKSkge1xuICAgIGNvbW1hbmQgPSByYXdDb21tYW5kO1xuICB9IGVsc2Uge1xuICAgIHJldHVybiB7XG4gICAgICBjb250ZW50OiBbXG4gICAgICAgIHtcbiAgICAgICAgICB0eXBlOiAndGV4dCcsXG4gICAgICAgICAgdGV4dDogJ0Vycm9yOiBjb21tYW5kIG11c3QgYmUgYSBzdHJpbmcgb3IgYXJyYXkgb2Ygc3RyaW5ncycsXG4gICAgICAgIH0sXG4gICAgICBdLFxuICAgICAgaXNFcnJvcjogdHJ1ZSxcbiAgICB9O1xuICB9XG5cbiAgaWYgKGNvbW1hbmQubGVuZ3RoID09PSAwKSB7XG4gICAgcmV0dXJuIGNyZWF0ZUVycm9yUmVzdWx0KCdFcnJvcjogY29tbWFuZCBjYW5ub3QgYmUgZW1wdHknKTtcbiAgfVxuXG4gIC8vIFNlY3VyaXR5OiBDaGVjayBmb3IgYmxvY2tlZCBjb21tYW5kc1xuICBjb25zdCBibG9ja2VkQ29tbWFuZCA9IGlzQmxvY2tlZFdwQ29tbWFuZChjb21tYW5kKTtcbiAgaWYgKGJsb2NrZWRDb21tYW5kKSB7XG4gICAgcmV0dXJuIGNyZWF0ZUVycm9yUmVzdWx0KFxuICAgICAgYEVycm9yOiBDb21tYW5kIFwiJHtibG9ja2VkQ29tbWFuZH1cIiBpcyBibG9ja2VkIGZvciBzZWN1cml0eSByZWFzb25zLiBUaGlzIGNvbW1hbmQgY291bGQgYWxsb3cgYXJiaXRyYXJ5IGNvZGUgZXhlY3V0aW9uLmBcbiAgICApO1xuICB9XG5cbiAgLy8gRmluZCBzaXRlIG9yIHJldHVybiBlcnJvclxuICBjb25zdCBzaXRlUmVzdWx0ID0gZmluZFNpdGVPckVycm9yKHNpdGVRdWVyeSwgc2VydmljZXMuc2l0ZURhdGEpO1xuICBpZiAoJ2Vycm9yJyBpbiBzaXRlUmVzdWx0KSByZXR1cm4gc2l0ZVJlc3VsdC5lcnJvcjtcbiAgY29uc3QgeyBzaXRlIH0gPSBzaXRlUmVzdWx0O1xuXG4gIHRyeSB7XG4gICAgY29uc3QgY3VycmVudFN0YXR1cyA9IGF3YWl0IHNlcnZpY2VzLnNpdGVQcm9jZXNzTWFuYWdlci5nZXRTaXRlU3RhdHVzKHNpdGUpO1xuXG4gICAgaWYgKGN1cnJlbnRTdGF0dXMgIT09ICdydW5uaW5nJykge1xuICAgICAgcmV0dXJuIHtcbiAgICAgICAgY29udGVudDogW1xuICAgICAgICAgIHtcbiAgICAgICAgICAgIHR5cGU6ICd0ZXh0JyxcbiAgICAgICAgICAgIHRleHQ6IGBTaXRlIFwiJHtzaXRlLm5hbWV9XCIgaXMgbm90IHJ1bm5pbmcuIFN0YXJ0IGl0IGZpcnN0IHdpdGggdGhlIHN0YXJ0X3NpdGUgdG9vbC5gLFxuICAgICAgICAgIH0sXG4gICAgICAgIF0sXG4gICAgICAgIGlzRXJyb3I6IHRydWUsXG4gICAgICB9O1xuICAgIH1cblxuICAgIGNvbnN0IG91dHB1dCA9IGF3YWl0IHNlcnZpY2VzLndwQ2xpLnJ1bihzaXRlLCBjb21tYW5kLCB7XG4gICAgICBza2lwUGx1Z2luczogdHJ1ZSxcbiAgICAgIHNraXBUaGVtZXM6IHRydWUsXG4gICAgICBpZ25vcmVFcnJvcnM6IGZhbHNlLFxuICAgIH0pO1xuXG4gICAgcmV0dXJuIHtcbiAgICAgIGNvbnRlbnQ6IFt7IHR5cGU6ICd0ZXh0JywgdGV4dDogb3V0cHV0Py50cmltKCkgfHwgJyhubyBvdXRwdXQpJyB9XSxcbiAgICB9O1xuICB9IGNhdGNoIChlcnJvcjogYW55KSB7XG4gICAgcmV0dXJuIHtcbiAgICAgIGNvbnRlbnQ6IFt7IHR5cGU6ICd0ZXh0JywgdGV4dDogYFdQLUNMSSBlcnJvcjogJHtlcnJvci5tZXNzYWdlfWAgfV0sXG4gICAgICBpc0Vycm9yOiB0cnVlLFxuICAgIH07XG4gIH1cbn1cbiJdfQ==
110
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid3BDbGkuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvbWFpbi9tY3AvdG9vbHMvd3BDbGkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBOzs7R0FHRzs7O0FBNENILHNCQWdGQztBQXpIRCx1Q0FLbUI7QUFFTixRQUFBLGVBQWUsR0FBc0I7SUFDaEQsSUFBSSxFQUFFLFFBQVE7SUFDZCxXQUFXLEVBQUUsMEVBQTBFO0lBQ3ZGLFdBQVcsRUFBRTtRQUNYLElBQUksRUFBRSxRQUFRO1FBQ2QsVUFBVSxFQUFFO1lBQ1YsSUFBSSxFQUFFO2dCQUNKLElBQUksRUFBRSxRQUFRO2dCQUNkLFdBQVcsRUFBRSxzQ0FBc0M7YUFDcEQ7WUFDRCxPQUFPLEVBQUU7Z0JBQ1AsS0FBSyxFQUFFO29CQUNMO3dCQUNFLElBQUksRUFBRSxPQUFPO3dCQUNiLEtBQUssRUFBRSxFQUFFLElBQUksRUFBRSxRQUFRLEVBQUU7d0JBQ3pCLFdBQVcsRUFBRSxtRUFBbUU7cUJBQ2pGO29CQUNEO3dCQUNFLElBQUksRUFBRSxRQUFRO3dCQUNkLFdBQVcsRUFBRSw0REFBNEQ7cUJBQzFFO2lCQUNGO2dCQUNELFdBQVcsRUFBRSw2RUFBNkU7YUFDM0Y7U0FDRjtRQUNELFFBQVEsRUFBRSxDQUFDLE1BQU0sRUFBRSxTQUFTLENBQUM7S0FDOUI7Q0FDRixDQUFDO0FBT0ssS0FBSyxVQUFVLEtBQUssQ0FDekIsSUFBNkIsRUFDN0IsUUFBdUI7SUFFdkIsTUFBTSxFQUFFLElBQUksRUFBRSxTQUFTLEVBQUUsT0FBTyxFQUFFLFVBQVUsRUFBRSxHQUFHLElBQTRCLENBQUM7SUFFOUUsK0JBQStCO0lBQy9CLE1BQU0sU0FBUyxHQUFHLElBQUEsK0JBQXFCLEVBQUMsU0FBUyxFQUFFLE1BQU0sQ0FBQyxDQUFDO0lBQzNELElBQUksU0FBUztRQUFFLE9BQU8sU0FBUyxDQUFDO0lBRWhDLE1BQU0sWUFBWSxHQUFHLElBQUEsK0JBQXFCLEVBQUMsVUFBVSxFQUFFLFNBQVMsQ0FBQyxDQUFDO0lBQ2xFLElBQUksWUFBWTtRQUFFLE9BQU8sWUFBWSxDQUFDO0lBRXRDLG9FQUFvRTtJQUNwRSxJQUFJLE9BQWlCLENBQUM7SUFDdEIsSUFBSSxPQUFPLFVBQVUsS0FBSyxRQUFRLEVBQUUsQ0FBQztRQUNuQyx5RUFBeUU7UUFDekUsb0NBQW9DO1FBQ3BDLE9BQU8sR0FBRyxVQUFVLENBQUMsSUFBSSxFQUFFLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUMzRCxDQUFDO1NBQU0sSUFBSSxLQUFLLENBQUMsT0FBTyxDQUFDLFVBQVUsQ0FBQyxFQUFFLENBQUM7UUFDckMsT0FBTyxHQUFHLFVBQVUsQ0FBQztJQUN2QixDQUFDO1NBQU0sQ0FBQztRQUNOLE9BQU87WUFDTCxPQUFPLEVBQUU7Z0JBQ1A7b0JBQ0UsSUFBSSxFQUFFLE1BQU07b0JBQ1osSUFBSSxFQUFFLHFEQUFxRDtpQkFDNUQ7YUFDRjtZQUNELE9BQU8sRUFBRSxJQUFJO1NBQ2QsQ0FBQztJQUNKLENBQUM7SUFFRCxJQUFJLE9BQU8sQ0FBQyxNQUFNLEtBQUssQ0FBQyxFQUFFLENBQUM7UUFDekIsT0FBTyxJQUFBLDJCQUFpQixFQUFDLGdDQUFnQyxDQUFDLENBQUM7SUFDN0QsQ0FBQztJQUVELHVDQUF1QztJQUN2QyxNQUFNLGNBQWMsR0FBRyxJQUFBLDRCQUFrQixFQUFDLE9BQU8sQ0FBQyxDQUFDO0lBQ25ELElBQUksY0FBYyxFQUFFLENBQUM7UUFDbkIsT0FBTyxJQUFBLDJCQUFpQixFQUN0QixtQkFBbUIsY0FBYyx1RkFBdUYsQ0FDekgsQ0FBQztJQUNKLENBQUM7SUFFRCw0QkFBNEI7SUFDNUIsTUFBTSxVQUFVLEdBQUcsSUFBQSx5QkFBZSxFQUFDLFNBQVMsRUFBRSxRQUFRLENBQUMsUUFBUSxDQUFDLENBQUM7SUFDakUsSUFBSSxPQUFPLElBQUksVUFBVTtRQUFFLE9BQU8sVUFBVSxDQUFDLEtBQUssQ0FBQztJQUNuRCxNQUFNLEVBQUUsSUFBSSxFQUFFLEdBQUcsVUFBVSxDQUFDO0lBRTVCLElBQUksQ0FBQztRQUNILE1BQU0sYUFBYSxHQUFHLE1BQU0sUUFBUSxDQUFDLGtCQUFrQixDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUU1RSxJQUFJLGFBQWEsS0FBSyxTQUFTLEVBQUUsQ0FBQztZQUNoQyxPQUFPO2dCQUNMLE9BQU8sRUFBRTtvQkFDUDt3QkFDRSxJQUFJLEVBQUUsTUFBTTt3QkFDWixJQUFJLEVBQUUsU0FBUyxJQUFJLENBQUMsSUFBSSw0REFBNEQ7cUJBQ3JGO2lCQUNGO2dCQUNELE9BQU8sRUFBRSxJQUFJO2FBQ2QsQ0FBQztRQUNKLENBQUM7UUFFRCxNQUFNLE1BQU0sR0FBRyxNQUFNLFFBQVEsQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLElBQUksRUFBRSxPQUFPLEVBQUU7WUFDckQsV0FBVyxFQUFFLElBQUk7WUFDakIsVUFBVSxFQUFFLElBQUk7WUFDaEIsWUFBWSxFQUFFLEtBQUs7U0FDcEIsQ0FBQyxDQUFDO1FBRUgsT0FBTztZQUNMLE9BQU8sRUFBRSxDQUFDLEVBQUUsSUFBSSxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRSxJQUFJLGFBQWEsRUFBRSxDQUFDO1NBQ25FLENBQUM7SUFDSixDQUFDO0lBQUMsT0FBTyxLQUFVLEVBQUUsQ0FBQztRQUNwQixPQUFPO1lBQ0wsT0FBTyxFQUFFLENBQUMsRUFBRSxJQUFJLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRSxpQkFBaUIsS0FBSyxDQUFDLE9BQU8sRUFBRSxFQUFFLENBQUM7WUFDbkUsT0FBTyxFQUFFLElBQUk7U0FDZCxDQUFDO0lBQ0osQ0FBQztBQUNILENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIHdwX2NsaSBUb29sXG4gKiBSdW4gV1AtQ0xJIGNvbW1hbmRzIGFnYWluc3QgYSBzaXRlXG4gKi9cblxuaW1wb3J0IHsgTWNwVG9vbERlZmluaXRpb24sIE1jcFRvb2xSZXN1bHQsIExvY2FsU2VydmljZXMgfSBmcm9tICcuLi8uLi8uLi9jb21tb24vdHlwZXMnO1xuaW1wb3J0IHtcbiAgdmFsaWRhdGVSZXF1aXJlZFBhcmFtLFxuICBmaW5kU2l0ZU9yRXJyb3IsXG4gIGlzQmxvY2tlZFdwQ29tbWFuZCxcbiAgY3JlYXRlRXJyb3JSZXN1bHQsXG59IGZyb20gJy4vaGVscGVycyc7XG5cbmV4cG9ydCBjb25zdCB3cENsaURlZmluaXRpb246IE1jcFRvb2xEZWZpbml0aW9uID0ge1xuICBuYW1lOiAnd3BfY2xpJyxcbiAgZGVzY3JpcHRpb246ICdSdW4gYSBXUC1DTEkgY29tbWFuZCBhZ2FpbnN0IGEgV29yZFByZXNzIHNpdGUuIFRoZSBzaXRlIG11c3QgYmUgcnVubmluZy4nLFxuICBpbnB1dFNjaGVtYToge1xuICAgIHR5cGU6ICdvYmplY3QnLFxuICAgIHByb3BlcnRpZXM6IHtcbiAgICAgIHNpdGU6IHtcbiAgICAgICAgdHlwZTogJ3N0cmluZycsXG4gICAgICAgIGRlc2NyaXB0aW9uOiAnU2l0ZSBuYW1lIG9yIElEIChwYXJ0aWFsIG5hbWVzIHdvcmspJyxcbiAgICAgIH0sXG4gICAgICBjb21tYW5kOiB7XG4gICAgICAgIG9uZU9mOiBbXG4gICAgICAgICAge1xuICAgICAgICAgICAgdHlwZTogJ2FycmF5JyxcbiAgICAgICAgICAgIGl0ZW1zOiB7IHR5cGU6ICdzdHJpbmcnIH0sXG4gICAgICAgICAgICBkZXNjcmlwdGlvbjogJ1dQLUNMSSBjb21tYW5kIGFzIGFycmF5LCBlLmcuIFtcInBsdWdpblwiLCBcImxpc3RcIiwgXCItLWZvcm1hdD1qc29uXCJdJyxcbiAgICAgICAgICB9LFxuICAgICAgICAgIHtcbiAgICAgICAgICAgIHR5cGU6ICdzdHJpbmcnLFxuICAgICAgICAgICAgZGVzY3JpcHRpb246ICdXUC1DTEkgY29tbWFuZCBhcyBzdHJpbmcsIGUuZy4gXCJwbHVnaW4gbGlzdCAtLWZvcm1hdD1qc29uXCInLFxuICAgICAgICAgIH0sXG4gICAgICAgIF0sXG4gICAgICAgIGRlc2NyaXB0aW9uOiAnV1AtQ0xJIGNvbW1hbmQgLSBlaXRoZXIgYXMgYXJyYXkgW1wicGx1Z2luXCIsIFwibGlzdFwiXSBvciBzdHJpbmcgXCJwbHVnaW4gbGlzdFwiJyxcbiAgICAgIH0sXG4gICAgfSxcbiAgICByZXF1aXJlZDogWydzaXRlJywgJ2NvbW1hbmQnXSxcbiAgfSxcbn07XG5cbmludGVyZmFjZSBXcENsaUFyZ3Mge1xuICBzaXRlOiBzdHJpbmc7XG4gIGNvbW1hbmQ6IHN0cmluZ1tdIHwgc3RyaW5nO1xufVxuXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gd3BDbGkoXG4gIGFyZ3M6IFJlY29yZDxzdHJpbmcsIHVua25vd24+LFxuICBzZXJ2aWNlczogTG9jYWxTZXJ2aWNlc1xuKTogUHJvbWlzZTxNY3BUb29sUmVzdWx0PiB7XG4gIGNvbnN0IHsgc2l0ZTogc2l0ZVF1ZXJ5LCBjb21tYW5kOiByYXdDb21tYW5kIH0gPSBhcmdzIGFzIHVua25vd24gYXMgV3BDbGlBcmdzO1xuXG4gIC8vIFZhbGlkYXRlIHJlcXVpcmVkIHBhcmFtZXRlcnNcbiAgY29uc3Qgc2l0ZUVycm9yID0gdmFsaWRhdGVSZXF1aXJlZFBhcmFtKHNpdGVRdWVyeSwgJ3NpdGUnKTtcbiAgaWYgKHNpdGVFcnJvcikgcmV0dXJuIHNpdGVFcnJvcjtcblxuICBjb25zdCBjb21tYW5kRXJyb3IgPSB2YWxpZGF0ZVJlcXVpcmVkUGFyYW0ocmF3Q29tbWFuZCwgJ2NvbW1hbmQnKTtcbiAgaWYgKGNvbW1hbmRFcnJvcikgcmV0dXJuIGNvbW1hbmRFcnJvcjtcblxuICAvLyBOb3JtYWxpemUgY29tbWFuZCB0byBhcnJheSAtIGFjY2VwdCBib3RoIHN0cmluZyBhbmQgYXJyYXkgZm9ybWF0c1xuICBsZXQgY29tbWFuZDogc3RyaW5nW107XG4gIGlmICh0eXBlb2YgcmF3Q29tbWFuZCA9PT0gJ3N0cmluZycpIHtcbiAgICAvLyBTcGxpdCBzdHJpbmcgb24gd2hpdGVzcGFjZSwgcHJlc2VydmluZyBxdW90ZWQgc3RyaW5ncyB3b3VsZCBiZSBjb21wbGV4XG4gICAgLy8gRm9yIHNpbXBsZSBjYXNlcywgc3BsaXQgb24gc3BhY2VzXG4gICAgY29tbWFuZCA9IHJhd0NvbW1hbmQudHJpbSgpLnNwbGl0KC9cXHMrLykuZmlsdGVyKEJvb2xlYW4pO1xuICB9IGVsc2UgaWYgKEFycmF5LmlzQXJyYXkocmF3Q29tbWFuZCkpIHtcbiAgICBjb21tYW5kID0gcmF3Q29tbWFuZDtcbiAgfSBlbHNlIHtcbiAgICByZXR1cm4ge1xuICAgICAgY29udGVudDogW1xuICAgICAgICB7XG4gICAgICAgICAgdHlwZTogJ3RleHQnLFxuICAgICAgICAgIHRleHQ6ICdFcnJvcjogY29tbWFuZCBtdXN0IGJlIGEgc3RyaW5nIG9yIGFycmF5IG9mIHN0cmluZ3MnLFxuICAgICAgICB9LFxuICAgICAgXSxcbiAgICAgIGlzRXJyb3I6IHRydWUsXG4gICAgfTtcbiAgfVxuXG4gIGlmIChjb21tYW5kLmxlbmd0aCA9PT0gMCkge1xuICAgIHJldHVybiBjcmVhdGVFcnJvclJlc3VsdCgnRXJyb3I6IGNvbW1hbmQgY2Fubm90IGJlIGVtcHR5Jyk7XG4gIH1cblxuICAvLyBTZWN1cml0eTogQ2hlY2sgZm9yIGJsb2NrZWQgY29tbWFuZHNcbiAgY29uc3QgYmxvY2tlZENvbW1hbmQgPSBpc0Jsb2NrZWRXcENvbW1hbmQoY29tbWFuZCk7XG4gIGlmIChibG9ja2VkQ29tbWFuZCkge1xuICAgIHJldHVybiBjcmVhdGVFcnJvclJlc3VsdChcbiAgICAgIGBFcnJvcjogQ29tbWFuZCBcIiR7YmxvY2tlZENvbW1hbmR9XCIgaXMgYmxvY2tlZCBmb3Igc2VjdXJpdHkgcmVhc29ucy4gVGhpcyBjb21tYW5kIGNvdWxkIGFsbG93IGFyYml0cmFyeSBjb2RlIGV4ZWN1dGlvbi5gXG4gICAgKTtcbiAgfVxuXG4gIC8vIEZpbmQgc2l0ZSBvciByZXR1cm4gZXJyb3JcbiAgY29uc3Qgc2l0ZVJlc3VsdCA9IGZpbmRTaXRlT3JFcnJvcihzaXRlUXVlcnksIHNlcnZpY2VzLnNpdGVEYXRhKTtcbiAgaWYgKCdlcnJvcicgaW4gc2l0ZVJlc3VsdCkgcmV0dXJuIHNpdGVSZXN1bHQuZXJyb3I7XG4gIGNvbnN0IHsgc2l0ZSB9ID0gc2l0ZVJlc3VsdDtcblxuICB0cnkge1xuICAgIGNvbnN0IGN1cnJlbnRTdGF0dXMgPSBhd2FpdCBzZXJ2aWNlcy5zaXRlUHJvY2Vzc01hbmFnZXIuZ2V0U2l0ZVN0YXR1cyhzaXRlKTtcblxuICAgIGlmIChjdXJyZW50U3RhdHVzICE9PSAncnVubmluZycpIHtcbiAgICAgIHJldHVybiB7XG4gICAgICAgIGNvbnRlbnQ6IFtcbiAgICAgICAgICB7XG4gICAgICAgICAgICB0eXBlOiAndGV4dCcsXG4gICAgICAgICAgICB0ZXh0OiBgU2l0ZSBcIiR7c2l0ZS5uYW1lfVwiIGlzIG5vdCBydW5uaW5nLiBTdGFydCBpdCBmaXJzdCB3aXRoIHRoZSBzdGFydF9zaXRlIHRvb2wuYCxcbiAgICAgICAgICB9LFxuICAgICAgICBdLFxuICAgICAgICBpc0Vycm9yOiB0cnVlLFxuICAgICAgfTtcbiAgICB9XG5cbiAgICBjb25zdCBvdXRwdXQgPSBhd2FpdCBzZXJ2aWNlcy53cENsaS5ydW4oc2l0ZSwgY29tbWFuZCwge1xuICAgICAgc2tpcFBsdWdpbnM6IHRydWUsXG4gICAgICBza2lwVGhlbWVzOiB0cnVlLFxuICAgICAgaWdub3JlRXJyb3JzOiBmYWxzZSxcbiAgICB9KTtcblxuICAgIHJldHVybiB7XG4gICAgICBjb250ZW50OiBbeyB0eXBlOiAndGV4dCcsIHRleHQ6IG91dHB1dD8udHJpbSgpIHx8ICcobm8gb3V0cHV0KScgfV0sXG4gICAgfTtcbiAgfSBjYXRjaCAoZXJyb3I6IGFueSkge1xuICAgIHJldHVybiB7XG4gICAgICBjb250ZW50OiBbeyB0eXBlOiAndGV4dCcsIHRleHQ6IGBXUC1DTEkgZXJyb3I6ICR7ZXJyb3IubWVzc2FnZX1gIH1dLFxuICAgICAgaXNFcnJvcjogdHJ1ZSxcbiAgICB9O1xuICB9XG59XG4iXX0=
@@ -12,7 +12,8 @@ Object.defineProperty(exports, "__esModule", { value: true });
12
12
  const react_1 = __importDefault(require("react"));
13
13
  const theme_1 = require("../common/theme");
14
14
  // MCP Preferences Panel Component (Class-based for Local compatibility)
15
- class McpPreferencesPanel extends react_1.default.Component {
15
+ // eslint-disable-next-line @typescript-eslint/no-unused-vars
16
+ class _McpPreferencesPanel extends react_1.default.Component {
16
17
  constructor() {
17
18
  super(...arguments);
18
19
  this.state = {
@@ -476,4 +477,4 @@ module.exports = function McpServerRenderer(context) {
476
477
  // Silence unused variable warnings
477
478
  void context;
478
479
  };
479
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvcmVuZGVyZXIvaW5kZXgudHN4Il0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQTs7Ozs7R0FLRzs7Ozs7QUFFSCxrREFBMEI7QUFDMUIsMkNBQTZFO0FBb0M3RSx3RUFBd0U7QUFDeEUsTUFBTSxtQkFBb0IsU0FBUSxlQUFLLENBQUMsU0FHdkM7SUFIRDs7UUFPRSxVQUFLLEdBQTZCO1lBQ2hDLE1BQU0sRUFBRSxJQUFJO1lBQ1osY0FBYyxFQUFFLElBQUk7WUFDcEIsT0FBTyxFQUFFLElBQUk7WUFDYixNQUFNLEVBQUUsS0FBSztZQUNiLGdCQUFnQixFQUFFLEtBQUs7WUFDdkIsU0FBUyxFQUFFLFFBQVE7WUFDbkIsTUFBTSxFQUFFLElBQUEsc0JBQWMsR0FBRTtTQUN6QixDQUFDO1FBd0JNLGdCQUFXLEdBQUcsS0FBSyxJQUFtQixFQUFFO1lBQzlDLElBQUksQ0FBQztnQkFDSCxNQUFNLE1BQU0sR0FBRyxDQUFDLE1BQU0sSUFBSSxDQUFDLEtBQUssQ0FBQyxRQUFRLEVBQUUsV0FBVyxFQUFFLE1BQU0sQ0FBQyxlQUFlLENBQUMsQ0FFbEUsQ0FBQztnQkFDZCxJQUFJLE1BQU0sRUFBRSxDQUFDO29CQUNYLElBQUksQ0FBQyxRQUFRLENBQUMsRUFBRSxNQUFNLEVBQUUsTUFBTSxFQUFFLENBQUMsQ0FBQztnQkFDcEMsQ0FBQztZQUNILENBQUM7WUFBQyxPQUFPLEtBQUssRUFBRSxDQUFDO2dCQUNmLE9BQU8sQ0FBQyxLQUFLLENBQUMsNkJBQTZCLEVBQUUsS0FBSyxDQUFDLENBQUM7WUFDdEQsQ0FBQztRQUNILENBQUMsQ0FBQztRQUVNLHdCQUFtQixHQUFHLEtBQUssSUFBbUIsRUFBRTtZQUN0RCxJQUFJLENBQUM7Z0JBQ0gsTUFBTSxNQUFNLEdBQUcsQ0FBQyxNQUFNLElBQUksQ0FBQyxLQUFLLENBQUMsUUFBUSxFQUFFLFdBQVcsRUFBRSxNQUFNLENBQUMsdUJBQXVC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LGlCQUdFO1lBRUwscUNBQUcsS0FBSyxFQUFFLEVBQUUsS0FBSyxFQUFFLE1BQU0sQ0FBQyxhQUFhLEVBQUUsWUFBWSxFQUFFLE1BQU0sRUFBRSw2R0FHM0Q7WUFHSix1Q0FBSyxLQUFLLEVBQUUsRUFBRSxZQUFZLEVBQUUsYUFBYSxNQUFNLENBQUMsTUFBTSxFQUFFLEVBQUUsWUFBWSxFQUFFLE1BQU0sRUFBRTtnQkFDOUUsMENBQ0UsS0FBSyxFQUFFLElBQUksQ0FBQyxXQUFXLENBQUMsU0FBUyxLQUFLLFFBQVEsQ0FBQyxFQUMvQyxPQUFPLEVBQUUsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxFQUFFLFNBQVMsRUFBRSxRQUFRLEVBQUUsQ0FBQyx3QkFHOUM7Z0JBQ1QsMENBQ0UsS0FBSyxFQUFFLElBQUksQ0FBQyxXQUFXLENBQUMsU0FBUyxLQUFLLE9BQU8sQ0FBQyxFQUM5QyxPQUFPLEVBQUUsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxFQUFFLFNBQVMsRUFBRSxPQUFPLEVBQUUsQ0FBQyxvQkFHN0MsQ0FDTDtZQUVMLFNBQVMsS0FBSyxRQUFRLElBQUksSUFBSSxDQUFDLGVBQWUsRUFBRTtZQUNoRCxTQUFTLEtBQUssT0FBTyxJQUFJLElBQUksQ0FBQyxjQUFjLEVBQUUsQ0FDM0MsQ0FDUCxDQUFDO0lBQ0osQ0FBQztDQUNGO0FBRUQsOERBQThEO0FBQzlELE1BQU0sQ0FBQyxPQUFPLEdBQUcsU0FBUyxpQkFBaUIsQ0FBQyxPQUE4QztJQUN4Riw2Q0FBNkM7SUFDN0MseURBQXlEO0lBQ3pEOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O01BeUJFO0lBRUYsbUNBQW1DO0lBQ25DLEtBQUssT0FBTyxDQUFDO0FBQ2YsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBNQ1AgU2VydmVyIEFkZG9uIC0gUmVuZGVyZXIgRW50cnkgUG9pbnRcbiAqIEFkZHMgTUNQIFNlcnZlciBwcmVmZXJlbmNlcyBwYW5lbCB0byBMb2NhbFxuICpcbiAqIFVzZXMgY2xhc3MgY29tcG9uZW50cyBmb3IgY29tcGF0aWJpbGl0eSB3aXRoIExvY2FsJ3MgRWxlY3Ryb24gZW52aXJvbm1lbnQuXG4gKi9cblxuaW1wb3J0IFJlYWN0IGZyb20gJ3JlYWN0JztcbmltcG9ydCB7IGdldFRoZW1lQ29sb3JzLCBvblRoZW1lQ2hhbmdlLCBUaGVtZUNvbG9ycyB9IGZyb20gJy4uL2NvbW1vbi90aGVtZSc7XG5cbi8vIFR5cGUgZGVmaW5pdGlvbnNcbmludGVyZmFjZSBNY3BTdGF0dXMge1xuICBydW5uaW5nOiBib29sZWFuO1xuICBwb3J0OiBudW1iZXI7XG4gIHVwdGltZTogbnVtYmVyO1xuICBlcnJvcj86IHN0cmluZztcbn1cblxuaW50ZXJmYWNlIENvbm5lY3Rpb25JbmZvIHtcbiAgdXJsOiBzdHJpbmc7XG4gIGF1dGhUb2tlbjogc3RyaW5nO1xuICBwb3J0OiBudW1iZXI7XG4gIHZlcnNpb246IHN0cmluZztcbiAgdG9vbHM6IHN0cmluZ1tdO1xufVxuXG5pbnRlcmZhY2UgTWNwUHJlZmVyZW5jZXNQYW5lbFByb3BzIHtcbiAgZWxlY3Ryb246IHtcbiAgICBpcGNSZW5kZXJlcj86IHtcbiAgICAgIGludm9rZTogKGNoYW5uZWw6IHN0cmluZywgLi4uYXJnczogdW5rbm93bltdKSA9PiBQcm9taXNlPHVua25vd24+O1xuICAgIH07XG4gIH07XG59XG5cbmludGVyZmFjZSBNY3BQcmVmZXJlbmNlc1BhbmVsU3RhdGUge1xuICBzdGF0dXM6IE1jcFN0YXR1cyB8IG51bGw7XG4gIGNvbm5lY3Rpb25JbmZvOiBDb25uZWN0aW9uSW5mbyB8IG51bGw7XG4gIGxvYWRpbmc6IGJvb2xlYW47XG4gIGNvcGllZDogYm9vbGVhbjtcbiAgYWN0aW9uSW5Qcm9ncmVzczogYm9vbGVhbjtcbiAgYWN0aXZlVGFiOiAnc3RhdHVzJyB8ICdzZXR1cCc7XG4gIGNvbG9yczogVGhlbWVDb2xvcnM7XG59XG5cbi8vIE1DUCBQcmVmZXJlbmNlcyBQYW5lbCBDb21wb25lbnQgKENsYXNzLWJhc2VkIGZvciBMb2NhbCBjb21wYXRpYmlsaXR5KVxuY2xhc3MgTWNwUHJlZmVyZW5jZXNQYW5lbCBleHRlbmRzIFJlYWN0LkNvbXBvbmVudDxcbiAgTWNwUHJlZmVyZW5jZXNQYW5lbFByb3BzLFxuICBNY3BQcmVmZXJlbmNlc1BhbmVsU3RhdGVcbj4ge1xuICBwcml2YXRlIHN0YXR1c0ludGVydmFsPzogUmV0dXJuVHlwZTx0eXBlb2Ygc2V0SW50ZXJ2YWw+O1xuICBwcml2YXRlIHRoZW1lQ2xlYW51cD86ICgpID0+IHZvaWQ7XG5cbiAgc3RhdGU6IE1jcFByZWZlcmVuY2VzUGFuZWxTdGF0ZSA9IHtcbiAgICBzdGF0dXM6IG51bGwsXG4gICAgY29ubmVjdGlvbkluZm86IG51bGwsXG4gICAgbG9hZGluZzogdHJ1ZSxcbiAgICBjb3BpZWQ6IGZhbHNlLFxuICAgIGFjdGlvbkluUHJvZ3Jlc3M6IGZhbHNlLFxuICAgIGFjdGl2ZVRhYjogJ3N0YXR1cycsXG4gICAgY29sb3JzOiBnZXRUaGVtZUNvbG9ycygpLFxuICB9O1xuXG4gIGNvbXBvbmVudERpZE1vdW50KCk6IHZvaWQge1xuICAgIHRoaXMuaW5pdCgpO1xuICAgIHRoaXMuc3RhdHVzSW50ZXJ2YWwgPSBzZXRJbnRlcnZhbCgoKSA9PiB0aGlzLmZldGNoU3RhdHVzKCksIDUwMDApO1xuICAgIHRoaXMudGhlbWVDbGVhbnVwID0gb25UaGVtZUNoYW5nZSgoKSA9PiB7XG4gICAgICB0aGlzLnNldFN0YXRlKHsgY29sb3JzOiBnZXRUaGVtZUNvbG9ycygpIH0pO1xuICAgIH0pO1xuICB9XG5cbiAgY29tcG9uZW50V2lsbFVubW91bnQoKTogdm9pZCB7XG4gICAgaWYgKHRoaXMuc3RhdHVzSW50ZXJ2YWwpIHtcbiAgICAgIGNsZWFySW50ZXJ2YWwodGhpcy5zdGF0dXNJbnRlcnZhbCk7XG4gICAgfVxuICAgIGlmICh0aGlzLnRoZW1lQ2xlYW51cCkge1xuICAgICAgdGhpcy50aGVtZUNsZWFudXAoKTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIGFzeW5jIGluaXQoKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgYXdhaXQgUHJvbWlzZS5hbGwoW3RoaXMuZmV0Y2hTdGF0dXMoKSwgdGhpcy5mZXRjaENvbm5lY3Rpb25JbmZvKCldKTtcbiAgICB0aGlzLnNldFN0YXRlKHsgbG9hZGluZzogZmFsc2UgfSk7XG4gIH1cblxuICBwcml2YXRlIGZldGNoU3RhdHVzID0gYXN5bmMgKCk6IFByb21pc2U8dm9pZD4gPT4ge1xuICAgIHRyeSB7XG4gICAgICBjb25zdCByZXN1bHQgPSAoYXdhaXQgdGhpcy5wcm9wcy5lbGVjdHJvbj8uaXBjUmVuZGVyZXI/Lmludm9rZSgnbWNwOmdldFN0YXR1cycpKSBhc1xuICAgICAgICB8IE1jcFN0YXR1c1xuICAgICAgICB8IHVuZGVmaW5lZDtcbiAgICAgIGlmIChyZXN1bHQpIHtcbiAgICAgICAgdGhpcy5zZXRTdGF0ZSh7IHN0YXR1czogcmVzdWx0IH0pO1xuICAgICAgfVxuICAgIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgICBjb25zb2xlLmVycm9yKCdGYWlsZWQgdG8gZmV0Y2ggTUNQIHN0YXR1czonLCBlcnJvcik7XG4gICAgfVxuICB9O1xuXG4gIHByaXZhdGUgZmV0Y2hDb25uZWN0aW9uSW5mbyA9IGFzeW5jICgpOiBQcm9taXNlPHZvaWQ+ID0+IHtcbiAgICB0cnkge1xuICAgICAgY29uc3QgcmVzdWx0ID0gKGF3YWl0IHRoaXMucHJvcHMuZWxlY3Ryb24/LmlwY1JlbmRlcmVyPy5pbnZva2UoJ21jcDpnZXRDb25uZWN0aW9uSW5mbycpKSBhc1xuICAgICAgICB8IENvbm5lY3Rpb25JbmZvXG4gICAgICAgIHwgdW5kZWZpbmVkO1xuICAgICAgaWYgKHJlc3VsdCkge1xuICAgICAgICB0aGlzLnNldFN0YXRlKHsgY29ubmVjdGlvbkluZm86IHJlc3VsdCB9KTtcbiAgICAgIH1cbiAgICB9IGNhdGNoIChlcnJvcikge1xuICAgICAgY29uc29sZS5lcnJvcignRmFpbGVkIHRvIGZldGNoIGNvbm5lY3Rpb24gaW5mbzonLCBlcnJvcik7XG4gICAgfVxuICB9O1xuXG4gIHByaXZhdGUgaGFuZGxlQ29weVN0ZGlvQ29uZmlnID0gKCk6IHZvaWQgPT4ge1xuICAgIGNvbnN0IGNvbmZpZyA9IHtcbiAgICAgIG1jcFNlcnZlcnM6IHtcbiAgICAgICAgbG9jYWw6IHtcbiAgICAgICAgICB0eXBlOiAnc3RkaW8nLFxuICAgICAgICAgIGNvbW1hbmQ6ICdub2RlJyxcbiAgICAgICAgICBhcmdzOiBbJy9wYXRoL3RvL2xvY2FsLWFkZG9uLW1jcC1zZXJ2ZXIvYmluL21jcC1zdGRpby5qcyddLFxuICAgICAgICB9LFxuICAgICAgfSxcbiAgICB9O1xuICAgIG5hdmlnYXRvci5jbGlwYm9hcmQud3JpdGVUZXh0KEpTT04uc3RyaW5naWZ5KGNvbmZpZywgbnVsbCwgMikpO1xuICAgIHRoaXMuc2V0U3RhdGUoeyBjb3BpZWQ6IHRydWUgfSk7XG4gICAgc2V0VGltZW91dCgoKSA9PiB0aGlzLnNldFN0YXRlKHsgY29waWVkOiBmYWxzZSB9KSwgMjAwMCk7XG4gIH07XG5cbiAgcHJpdmF0ZSBoYW5kbGVDb3B5U3NlQ29uZmlnID0gKCk6IHZvaWQgPT4ge1xuICAgIGNvbnN0IHsgY29ubmVjdGlvbkluZm8gfSA9IHRoaXMuc3RhdGU7XG4gICAgaWYgKGNvbm5lY3Rpb25JbmZvKSB7XG4gICAgICBjb25zdCBjb25maWcgPSB7XG4gICAgICAgIG1jcFNlcnZlcnM6IHtcbiAgICAgICAgICBsb2NhbDoge1xuICAgICAgICAgICAgdXJsOiBgJHtjb25uZWN0aW9uSW5mby51cmx9L21jcC9zc2VgLFxuICAgICAgICAgICAgdHJhbnNwb3J0OiAnc3NlJyxcbiAgICAgICAgICAgIGhlYWRlcnM6IHtcbiAgICAgICAgICAgICAgQXV0aG9yaXphdGlvbjogYEJlYXJlciAke2Nvbm5lY3Rpb25JbmZvLmF1dGhUb2tlbn1gLFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICB9LFxuICAgICAgICB9LFxuICAgICAgfTtcbiAgICAgIG5hdmlnYXRvci5jbGlwYm9hcmQud3JpdGVUZXh0KEpTT04uc3RyaW5naWZ5KGNvbmZpZywgbnVsbCwgMikpO1xuICAgICAgdGhpcy5zZXRTdGF0ZSh7IGNvcGllZDogdHJ1ZSB9KTtcbiAgICAgIHNldFRpbWVvdXQoKCkgPT4gdGhpcy5zZXRTdGF0ZSh7IGNvcGllZDogZmFsc2UgfSksIDIwMDApO1xuICAgIH1cbiAgfTtcblxuICBwcml2YXRlIGhhbmRsZVRlc3RDb25uZWN0aW9uID0gYXN5bmMgKCk6IFByb21pc2U8dm9pZD4gPT4ge1xuICAgIGNvbnN0IHsgY29ubmVjdGlvbkluZm8gfSA9IHRoaXMuc3RhdGU7XG4gICAgdHJ5IHtcbiAgICAgIGNvbnN0IHJlc3BvbnNlID0gYXdhaXQgZmV0Y2goYGh0dHA6Ly8xMjcuMC4wLjE6JHtjb25uZWN0aW9uSW5mbz8ucG9ydH0vaGVhbHRoYCk7XG4gICAgICBjb25zdCBkYXRhID0gYXdhaXQgcmVzcG9uc2UuanNvbigpO1xuICAgICAgaWYgKGRhdGEuc3RhdHVzID09PSAnb2snKSB7XG4gICAgICAgIGFsZXJ0KCdDb25uZWN0aW9uIHN1Y2Nlc3NmdWwhIE1DUCBzZXJ2ZXIgaXMgaGVhbHRoeS4nKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIGFsZXJ0KCdDb25uZWN0aW9uIGZhaWxlZDogU2VydmVyIHJldHVybmVkIHVuZXhwZWN0ZWQgcmVzcG9uc2UnKTtcbiAgICAgIH1cbiAgICB9IGNhdGNoIChlcnJvcikge1xuICAgICAgY29uc3QgbWVzc2FnZSA9IGVycm9yIGluc3RhbmNlb2YgRXJyb3IgPyBlcnJvci5tZXNzYWdlIDogJ1Vua25vd24gZXJyb3InO1xuICAgICAgYWxlcnQoYENvbm5lY3Rpb24gZmFpbGVkOiAke21lc3NhZ2V9YCk7XG4gICAgfVxuICB9O1xuXG4gIHByaXZhdGUgaGFuZGxlU3RhcnRTdG9wID0gYXN5bmMgKCk6IFByb21pc2U8dm9pZD4gPT4ge1xuICAgIGNvbnN0IHsgc3RhdHVzIH0gPSB0aGlzLnN0YXRlO1xuICAgIHRoaXMuc2V0U3RhdGUoeyBhY3Rpb25JblByb2dyZXNzOiB0cnVlIH0pO1xuICAgIHRyeSB7XG4gICAgICBpZiAoc3RhdHVzPy5ydW5uaW5nKSB7XG4gICAgICAgIGF3YWl0IHRoaXMucHJvcHMuZWxlY3Ryb24/LmlwY1JlbmRlcmVyPy5pbnZva2UoJ21jcDpzdG9wJyk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBhd2FpdCB0aGlzLnByb3BzLmVsZWN0cm9uPy5pcGNSZW5kZXJlcj8uaW52b2tlKCdtY3A6c3RhcnQnKTtcbiAgICAgIH1cbiAgICAgIGF3YWl0IHRoaXMuZmV0Y2hTdGF0dXMoKTtcbiAgICAgIGF3YWl0IHRoaXMuZmV0Y2hDb25uZWN0aW9uSW5mbygpO1xuICAgIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgICBjb25zdCBtZXNzYWdlID0gZXJyb3IgaW5zdGFuY2VvZiBFcnJvciA/IGVycm9yLm1lc3NhZ2UgOiAnVW5rbm93biBlcnJvcic7XG4gICAgICBhbGVydChgQWN0aW9uIGZhaWxlZDogJHttZXNzYWdlfWApO1xuICAgIH0gZmluYWxseSB7XG4gICAgICB0aGlzLnNldFN0YXRlKHsgYWN0aW9uSW5Qcm9ncmVzczogZmFsc2UgfSk7XG4gICAgfVxuICB9O1xuXG4gIHByaXZhdGUgaGFuZGxlUmVzdGFydCA9IGFzeW5jICgpOiBQcm9taXNlPHZvaWQ+ID0+IHtcbiAgICB0aGlzLnNldFN0YXRlKHsgYWN0aW9uSW5Qcm9ncmVzczogdHJ1ZSB9KTtcbiAgICB0cnkge1xuICAgICAgYXdhaXQgdGhpcy5wcm9wcy5lbGVjdHJvbj8uaXBjUmVuZGVyZXI/Lmludm9rZSgnbWNwOnJlc3RhcnQnKTtcbiAgICAgIGF3YWl0IHRoaXMuZmV0Y2hTdGF0dXMoKTtcbiAgICAgIGF3YWl0IHRoaXMuZmV0Y2hDb25uZWN0aW9uSW5mbygpO1xuICAgIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgICBjb25zdCBtZXNzYWdlID0gZXJyb3IgaW5zdGFuY2VvZiBFcnJvciA/IGVycm9yLm1lc3NhZ2UgOiAnVW5rbm93biBlcnJvcic7XG4gICAgICBhbGVydChgUmVzdGFydCBmYWlsZWQ6ICR7bWVzc2FnZX1gKTtcbiAgICB9IGZpbmFsbHkge1xuICAgICAgdGhpcy5zZXRTdGF0ZSh7IGFjdGlvbkluUHJvZ3Jlc3M6IGZhbHNlIH0pO1xuICAgIH1cbiAgfTtcblxuICBwcml2YXRlIGhhbmRsZVJlZ2VuZXJhdGVUb2tlbiA9IGFzeW5jICgpOiBQcm9taXNlPHZvaWQ+ID0+IHtcbiAgICBpZiAoXG4gICAgICAhY29uZmlybShcbiAgICAgICAgJ1JlZ2VuZXJhdGUgYXV0aGVudGljYXRpb24gdG9rZW4/IFlvdSB3aWxsIG5lZWQgdG8gdXBkYXRlIHlvdXIgQUkgdG9vbCBjb25maWd1cmF0aW9uLidcbiAgICAgIClcbiAgICApIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgdGhpcy5zZXRTdGF0ZSh7IGFjdGlvbkluUHJvZ3Jlc3M6IHRydWUgfSk7XG4gICAgdHJ5IHtcbiAgICAgIGNvbnN0IHJlc3VsdCA9IChhd2FpdCB0aGlzLnByb3BzLmVsZWN0cm9uPy5pcGNSZW5kZXJlcj8uaW52b2tlKCdtY3A6cmVnZW5lcmF0ZVRva2VuJykpIGFzIHtcbiAgICAgICAgc3VjY2Vzcz86IGJvb2xlYW47XG4gICAgICAgIGVycm9yPzogc3RyaW5nO1xuICAgICAgfTtcbiAgICAgIGlmIChyZXN1bHQ/LnN1Y2Nlc3MpIHtcbiAgICAgICAgYXdhaXQgdGhpcy5mZXRjaENvbm5lY3Rpb25JbmZvKCk7XG4gICAgICAgIGFsZXJ0KCdUb2tlbiByZWdlbmVyYXRlZCBzdWNjZXNzZnVsbHkuIFBsZWFzZSB1cGRhdGUgeW91ciBBSSB0b29sIGNvbmZpZ3VyYXRpb24uJyk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBhbGVydChgRmFpbGVkIHRvIHJlZ2VuZXJhdGUgdG9rZW46ICR7cmVzdWx0Py5lcnJvcn1gKTtcbiAgICAgIH1cbiAgICB9IGNhdGNoIChlcnJvcikge1xuICAgICAgY29uc3QgbWVzc2FnZSA9IGVycm9yIGluc3RhbmNlb2YgRXJyb3IgPyBlcnJvci5tZXNzYWdlIDogJ1Vua25vd24gZXJyb3InO1xuICAgICAgYWxlcnQoYEZhaWxlZCB0byByZWdlbmVyYXRlIHRva2VuOiAke21lc3NhZ2V9YCk7XG4gICAgfSBmaW5hbGx5IHtcbiAgICAgIHRoaXMuc2V0U3RhdGUoeyBhY3Rpb25JblByb2dyZXNzOiBmYWxzZSB9KTtcbiAgICB9XG4gIH07XG5cbiAgcHJpdmF0ZSBnZXRTdGF0dXNDb2xvcigpOiBzdHJpbmcge1xuICAgIGNvbnN0IHsgc3RhdHVzLCBjb2xvcnMgfSA9IHRoaXMuc3RhdGU7XG4gICAgaWYgKCFzdGF0dXMpIHJldHVybiBjb2xvcnMudGV4dE11dGVkO1xuICAgIGlmIChzdGF0dXMucnVubmluZykgcmV0dXJuIGNvbG9ycy5zdWNjZXNzVGV4dDtcbiAgICByZXR1cm4gY29sb3JzLmVycm9yVGV4dDtcbiAgfVxuXG4gIHByaXZhdGUgZ2V0U3RhdHVzVGV4dCgpOiBzdHJpbmcge1xuICAgIGNvbnN0IHsgbG9hZGluZywgc3RhdHVzIH0gPSB0aGlzLnN0YXRlO1xuICAgIGlmIChsb2FkaW5nKSByZXR1cm4gJ0xvYWRpbmcuLi4nO1xuICAgIGlmICghc3RhdHVzKSByZXR1cm4gJ1Vua25vd24nO1xuICAgIGlmIChzdGF0dXMucnVubmluZykgcmV0dXJuICdSdW5uaW5nJztcbiAgICByZXR1cm4gJ1N0b3BwZWQnO1xuICB9XG5cbiAgcHJpdmF0ZSBmb3JtYXRVcHRpbWUoc2Vjb25kczogbnVtYmVyKTogc3RyaW5nIHtcbiAgICBpZiAoc2Vjb25kcyA8IDYwKSByZXR1cm4gYCR7TWF0aC5mbG9vcihzZWNvbmRzKX1zYDtcbiAgICBpZiAoc2Vjb25kcyA8IDM2MDApIHJldHVybiBgJHtNYXRoLmZsb29yKHNlY29uZHMgLyA2MCl9bWA7XG4gICAgcmV0dXJuIGAke01hdGguZmxvb3Ioc2Vjb25kcyAvIDM2MDApfWggJHtNYXRoLmZsb29yKChzZWNvbmRzICUgMzYwMCkgLyA2MCl9bWA7XG4gIH1cblxuICBwcml2YXRlIGdldFRhYlN0eWxlKGlzQWN0aXZlOiBib29sZWFuKTogUmVhY3QuQ1NTUHJvcGVydGllcyB7XG4gICAgY29uc3QgeyBjb2xvcnMgfSA9IHRoaXMuc3RhdGU7XG4gICAgcmV0dXJuIHtcbiAgICAgIHBhZGRpbmc6ICc4cHggMTZweCcsXG4gICAgICBib3JkZXI6ICdub25lJyxcbiAgICAgIGJvcmRlckJvdHRvbTogaXNBY3RpdmUgPyBgMnB4IHNvbGlkICR7Y29sb3JzLnByaW1hcnl9YCA6ICcycHggc29saWQgdHJhbnNwYXJlbnQnLFxuICAgICAgYmFja2dyb3VuZENvbG9yOiAndHJhbnNwYXJlbnQnLFxuICAgICAgY29sb3I6IGlzQWN0aXZlID8gY29sb3JzLnByaW1hcnkgOiBjb2xvcnMudGV4dFNlY29uZGFyeSxcbiAgICAgIGN1cnNvcjogJ3BvaW50ZXInLFxuICAgICAgZm9udFNpemU6ICcxNHB4JyxcbiAgICAgIGZvbnRXZWlnaHQ6IGlzQWN0aXZlID8gNjAwIDogNDAwLFxuICAgIH07XG4gIH1cblxuICBwcml2YXRlIGdldEJ1dHRvblN0eWxlKGJnQ29sb3I6IHN0cmluZywgZGlzYWJsZWQ/OiBib29sZWFuKTogUmVhY3QuQ1NTUHJvcGVydGllcyB7XG4gICAgcmV0dXJuIHtcbiAgICAgIHBhZGRpbmc6ICc4cHggMTZweCcsXG4gICAgICBiYWNrZ3JvdW5kQ29sb3I6IGJnQ29sb3IsXG4gICAgICBjb2xvcjogJ3doaXRlJyxcbiAgICAgIGJvcmRlcjogJ25vbmUnLFxuICAgICAgYm9yZGVyUmFkaXVzOiAnNHB4JyxcbiAgICAgIGN1cnNvcjogZGlzYWJsZWQgPyAnbm90LWFsbG93ZWQnIDogJ3BvaW50ZXInLFxuICAgICAgZm9udFNpemU6ICcxM3B4JyxcbiAgICAgIG9wYWNpdHk6IGRpc2FibGVkID8gMC41IDogMSxcbiAgICB9O1xuICB9XG5cbiAgcHJpdmF0ZSByZW5kZXJTdGF0dXNUYWIoKTogUmVhY3QuUmVhY3ROb2RlIHtcbiAgICBjb25zdCB7IHN0YXR1cywgY29ubmVjdGlvbkluZm8sIGFjdGlvbkluUHJvZ3Jlc3MsIGNvbG9ycyB9ID0gdGhpcy5zdGF0ZTtcblxuICAgIHJldHVybiAoXG4gICAgICA8PlxuICAgICAgICB7LyogU3RhdHVzIFNlY3Rpb24gKi99XG4gICAgICAgIDxkaXYgc3R5bGU9e3sgbWFyZ2luQm90dG9tOiAnMjRweCcgfX0+XG4gICAgICAgICAgPGgzXG4gICAgICAgICAgICBzdHlsZT17e1xuICAgICAgICAgICAgICBmb250U2l6ZTogJzE0cHgnLFxuICAgICAgICAgICAgICBmb250V2VpZ2h0OiA2MDAsXG4gICAgICAgICAgICAgIG1hcmdpbkJvdHRvbTogJzEycHgnLFxuICAgICAgICAgICAgICBjb2xvcjogY29sb3JzLnRleHRQcmltYXJ5LFxuICAgICAgICAgICAgfX1cbiAgICAgICAgICA+XG4gICAgICAgICAgICBTZXJ2ZXIgU3RhdHVzXG4gICAgICAgICAgPC9oMz5cbiAgICAgICAgICA8ZGl2XG4gICAgICAgICAgICBzdHlsZT17e1xuICAgICAgICAgICAgICBkaXNwbGF5OiAnZmxleCcsXG4gICAgICAgICAgICAgIGFsaWduSXRlbXM6ICdjZW50ZXInLFxuICAgICAgICAgICAgICBnYXA6ICcxMnB4JyxcbiAgICAgICAgICAgICAgcGFkZGluZzogJzEycHgnLFxuICAgICAgICAgICAgICBiYWNrZ3JvdW5kQ29sb3I6IGNvbG9ycy5wYW5lbEJnU2Vjb25kYXJ5LFxuICAgICAgICAgICAgICBib3JkZXJSYWRpdXM6ICc2cHgnLFxuICAgICAgICAgICAgfX1cbiAgICAgICAgICA+XG4gICAgICAgICAgICA8c3BhblxuICAgICAgICAgICAgICBzdHlsZT17e1xuICAgICAgICAgICAgICAgIHdpZHRoOiAnMTJweCcsXG4gICAgICAgICAgICAgICAgaGVpZ2h0OiAnMTJweCcsXG4gICAgICAgICAgICAgICAgYm9yZGVyUmFkaXVzOiAnNTAlJyxcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kQ29sb3I6IHRoaXMuZ2V0U3RhdHVzQ29sb3IoKSxcbiAgICAgICAgICAgICAgfX1cbiAgICAgICAgICAgIC8+XG4gICAgICAgICAgICA8c3BhbiBzdHlsZT17eyBmb250V2VpZ2h0OiA1MDAsIGNvbG9yOiBjb2xvcnMudGV4dFByaW1hcnkgfX0+XG4gICAgICAgICAgICAgIHt0aGlzLmdldFN0YXR1c1RleHQoKX1cbiAgICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgICAgIHtzdGF0dXM/LnJ1bm5pbmcgJiYgKFxuICAgICAgICAgICAgICA8PlxuICAgICAgICAgICAgICAgIDxzcGFuIHN0eWxlPXt7IGNvbG9yOiBjb2xvcnMudGV4dFNlY29uZGFyeSB9fT58PC9zcGFuPlxuICAgICAgICAgICAgICAgIDxzcGFuIHN0eWxlPXt7IGNvbG9yOiBjb2xvcnMudGV4dFNlY29uZGFyeSB9fT5Qb3J0OiB7c3RhdHVzLnBvcnR9PC9zcGFuPlxuICAgICAgICAgICAgICAgIDxzcGFuIHN0eWxlPXt7IGNvbG9yOiBjb2xvcnMudGV4dFNlY29uZGFyeSB9fT58PC9zcGFuPlxuICAgICAgICAgICAgICAgIDxzcGFuIHN0eWxlPXt7IGNvbG9yOiBjb2xvcnMudGV4dFNlY29uZGFyeSB9fT5cbiAgICAgICAgICAgICAgICAgIFVwdGltZToge3RoaXMuZm9ybWF0VXB0aW1lKHN0YXR1cy51cHRpbWUpfVxuICAgICAgICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgICAgICAgPC8+XG4gICAgICAgICAgICApfVxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2Rpdj5cblxuICAgICAgICB7LyogU2VydmVyIENvbnRyb2xzICovfVxuICAgICAgICA8ZGl2IHN0eWxlPXt7IG1hcmdpbkJvdHRvbTogJzI0cHgnIH19PlxuICAgICAgICAgIDxoM1xuICAgICAgICAgICAgc3R5bGU9e3tcbiAgICAgICAgICAgICAgZm9udFNpemU6ICcxNHB4JyxcbiAgICAgICAgICAgICAgZm9udFdlaWdodDogNjAwLFxuICAgICAgICAgICAgICBtYXJnaW5Cb3R0b206ICcxMnB4JyxcbiAgICAgICAgICAgICAgY29sb3I6IGNvbG9ycy50ZXh0UHJpbWFyeSxcbiAgICAgICAgICAgIH19XG4gICAgICAgICAgPlxuICAgICAgICAgICAgU2VydmVyIENvbnRyb2xzXG4gICAgICAgICAgPC9oMz5cbiAgICAgICAgICA8ZGl2IHN0eWxlPXt7IGRpc3BsYXk6ICdmbGV4JywgZ2FwOiAnMTJweCcsIGZsZXhXcmFwOiAnd3JhcCcgfX0+XG4gICAgICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgICAgIG9uQ2xpY2s9e3RoaXMuaGFuZGxlU3RhcnRTdG9wfVxuICAgICAgICAgICAgICBkaXNhYmxlZD17YWN0aW9uSW5Qcm9ncmVzc31cbiAgICAgICAgICAgICAgc3R5bGU9e3RoaXMuZ2V0QnV0dG9uU3R5bGUoXG4gICAgICAgICAgICAgICAgc3RhdHVzPy5ydW5uaW5nID8gY29sb3JzLmVycm9yVGV4dCA6IGNvbG9ycy5zdWNjZXNzVGV4dCxcbiAgICAgICAgICAgICAgICBhY3Rpb25JblByb2dyZXNzXG4gICAgICAgICAgICAgICl9XG4gICAgICAgICAgICA+XG4gICAgICAgICAgICAgIHtzdGF0dXM/LnJ1bm5pbmcgPyAnU3RvcCBTZXJ2ZXInIDogJ1N0YXJ0IFNlcnZlcid9XG4gICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgICAgIDxidXR0b25cbiAgICAgICAgICAgICAgb25DbGljaz17dGhpcy5oYW5kbGVSZXN0YXJ0fVxuICAgICAgICAgICAgICBkaXNhYmxlZD17YWN0aW9uSW5Qcm9ncmVzcyB8fCAhc3RhdHVzPy5ydW5uaW5nfVxuICAgICAgICAgICAgICBzdHlsZT17dGhpcy5nZXRCdXR0b25TdHlsZSgnIzZjNzU3ZCcsIGFjdGlvbkluUHJvZ3Jlc3MgfHwgIXN0YXR1cz8ucnVubmluZyl9XG4gICAgICAgICAgICA+XG4gICAgICAgICAgICAgIFJlc3RhcnQgU2VydmVyXG4gICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgICAgIDxidXR0b25cbiAgICAgICAgICAgICAgb25DbGljaz17dGhpcy5oYW5kbGVUZXN0Q29ubmVjdGlvbn1cbiAgICAgICAgICAgICAgZGlzYWJsZWQ9eyFzdGF0dXM/LnJ1bm5pbmd9XG4gICAgICAgICAgICAgIHN0eWxlPXt0aGlzLmdldEJ1dHRvblN0eWxlKFxuICAgICAgICAgICAgICAgIHN0YXR1cz8ucnVubmluZyA/ICcjMTdhMmI4JyA6IGNvbG9ycy50ZXh0TXV0ZWQsXG4gICAgICAgICAgICAgICAgIXN0YXR1cz8ucnVubmluZ1xuICAgICAgICAgICAgICApfVxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgICBUZXN0IENvbm5lY3Rpb25cbiAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2Rpdj5cblxuICAgICAgICB7LyogQ29ubmVjdGlvbiBJbmZvIFNlY3Rpb24gKi99XG4gICAgICAgIHtjb25uZWN0aW9uSW5mbyAmJiAoXG4gICAgICAgICAgPGRpdiBzdHlsZT17eyBtYXJnaW5Cb3R0b206ICcyNHB4JyB9fT5cbiAgICAgICAgICAgIDxoM1xuICAgICAgICAgICAgICBzdHlsZT17e1xuICAgICAgICAgICAgICAgIGZvbnRTaXplOiAnMTRweCcsXG4gICAgICAgICAgICAgICAgZm9udFdlaWdodDogNjAwLFxuICAgICAgICAgICAgICAgIG1hcmdpbkJvdHRvbTogJzEycHgnLFxuICAgICAgICAgICAgICAgIGNvbG9yOiBjb2xvcnMudGV4dFByaW1hcnksXG4gICAgICAgICAgICAgIH19XG4gICAgICAgICAgICA+XG4gICAgICAgICAgICAgIENvbm5lY3Rpb24gSW5mb1xuICAgICAgICAgICAgPC9oMz5cbiAgICAgICAgICAgIDxkaXZcbiAgICAgICAgICAgICAgc3R5bGU9e3tcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAnMTJweCcsXG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZENvbG9yOiBjb2xvcnMucGFuZWxCZ1NlY29uZGFyeSxcbiAgICAgICAgICAgICAgICBib3JkZXJSYWRpdXM6ICc2cHgnLFxuICAgICAgICAgICAgICAgIGZvbnRGYW1pbHk6ICdtb25vc3BhY2UnLFxuICAgICAgICAgICAgICAgIGZvbnRTaXplOiAnMTJweCcsXG4gICAgICAgICAgICAgICAgY29sb3I6IGNvbG9ycy50ZXh0UHJpbWFyeSxcbiAgICAgICAgICAgICAgfX1cbiAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgPGRpdiBzdHlsZT17eyBtYXJnaW5Cb3R0b206ICc4cHgnIH19PlxuICAgICAgICAgICAgICAgIDxzdHJvbmc+VVJMOjwvc3Ryb25nPiB7Y29ubmVjdGlvbkluZm8udXJsfVxuICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgPGRpdiBzdHlsZT17eyBtYXJnaW5Cb3R0b206ICc4cHgnIH19PlxuICAgICAgICAgICAgICAgIDxzdHJvbmc+c3RkaW8gc2NyaXB0Ojwvc3Ryb25nPiBiaW4vbWNwLXN0ZGlvLmpzXG4gICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICA8ZGl2IHN0eWxlPXt7IG1hcmdpbkJvdHRvbTogJzhweCcgfX0+XG4gICAgICAgICAgICAgICAgPHN0cm9uZz5WZXJzaW9uOjwvc3Ryb25nPiB7Y29ubmVjdGlvbkluZm8udmVyc2lvbn1cbiAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgIDxkaXY+XG4gICAgICAgICAgICAgICAgPHN0cm9uZz5Ub29sczo8L3N0cm9uZz4ge2Nvbm5lY3Rpb25JbmZvLnRvb2xzLmpvaW4oJywgJyl9XG4gICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgICl9XG5cbiAgICAgICAgey8qIFNlY3VyaXR5IFNlY3Rpb24gKi99XG4gICAgICAgIDxkaXYgc3R5bGU9e3sgbWFyZ2luQm90dG9tOiAnMjRweCcgfX0+XG4gICAgICAgICAgPGgzXG4gICAgICAgICAgICBzdHlsZT17e1xuICAgICAgICAgICAgICBmb250U2l6ZTogJzE0cHgnLFxuICAgICAgICAgICAgICBmb250V2VpZ2h0OiA2MDAsXG4gICAgICAgICAgICAgIG1hcmdpbkJvdHRvbTogJzEycHgnLFxuICAgICAgICAgICAgICBjb2xvcjogY29sb3JzLnRleHRQcmltYXJ5LFxuICAgICAgICAgICAgfX1cbiAgICAgICAgICA+XG4gICAgICAgICAgICBTZWN1cml0eVxuICAgICAgICAgIDwvaDM+XG4gICAgICAgICAgPGRpdiBzdHlsZT17eyBkaXNwbGF5OiAnZmxleCcsIGdhcDogJzEycHgnLCBmbGV4V3JhcDogJ3dyYXAnIH19PlxuICAgICAgICAgICAgPGJ1dHRvblxuICAgICAgICAgICAgICBvbkNsaWNrPXt0aGlzLmhhbmRsZVJlZ2VuZXJhdGVUb2tlbn1cbiAgICAgICAgICAgICAgZGlzYWJsZWQ9e2FjdGlvbkluUHJvZ3Jlc3MgfHwgIXN0YXR1cz8ucnVubmluZ31cbiAgICAgICAgICAgICAgc3R5bGU9e3tcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAnOHB4IDE2cHgnLFxuICAgICAgICAgICAgICAgIGJhY2tncm91bmRDb2xvcjogJyNmZmMxMDcnLFxuICAgICAgICAgICAgICAgIGNvbG9yOiAnIzIxMjUyOScsXG4gICAgICAgICAgICAgICAgYm9yZGVyOiAnbm9uZScsXG4gICAgICAgICAgICAgICAgYm9yZGVyUmFkaXVzOiAnNHB4JyxcbiAgICAgICAgICAgICAgICBjdXJzb3I6IGFjdGlvbkluUHJvZ3Jlc3MgfHwgIXN0YXR1cz8ucnVubmluZyA/ICdub3QtYWxsb3dlZCcgOiAncG9pbnRlcicsXG4gICAgICAgICAgICAgICAgZm9udFNpemU6ICcxM3B4JyxcbiAgICAgICAgICAgICAgICBvcGFjaXR5OiBhY3Rpb25JblByb2dyZXNzIHx8ICFzdGF0dXM/LnJ1bm5pbmcgPyAwLjUgOiAxLFxuICAgICAgICAgICAgICB9fVxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgICBSZWdlbmVyYXRlIFRva2VuXG4gICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8cCBzdHlsZT17eyBmb250U2l6ZTogJzEycHgnLCBjb2xvcjogY29sb3JzLnRleHRTZWNvbmRhcnksIG1hcmdpblRvcDogJzhweCcgfX0+XG4gICAgICAgICAgICBSZWdlbmVyYXRpbmcgdGhlIHRva2VuIHdpbGwgcmVxdWlyZSB5b3UgdG8gdXBkYXRlIHlvdXIgQUkgdG9vbCBjb25maWd1cmF0aW9uLlxuICAgICAgICAgIDwvcD5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8Lz5cbiAgICApO1xuICB9XG5cbiAgcHJpdmF0ZSByZW5kZXJTZXR1cFRhYigpOiBSZWFjdC5SZWFjdE5vZGUge1xuICAgIGNvbnN0IHsgY29ubmVjdGlvbkluZm8sIGNvcGllZCwgY29sb3JzIH0gPSB0aGlzLnN0YXRlO1xuXG4gICAgcmV0dXJuIChcbiAgICAgIDw+XG4gICAgICAgIHsvKiBDbGF1ZGUgQ29kZSBTZXR1cCAqL31cbiAgICAgICAgPGRpdiBzdHlsZT17eyBtYXJnaW5Cb3R0b206ICcyNHB4JyB9fT5cbiAgICAgICAgICA8aDNcbiAgICAgICAgICAgIHN0eWxlPXt7XG4gICAgICAgICAgICAgIGZvbnRTaXplOiAnMTRweCcsXG4gICAgICAgICAgICAgIGZvbnRXZWlnaHQ6IDYwMCxcbiAgICAgICAgICAgICAgbWFyZ2luQm90dG9tOiAnMTJweCcsXG4gICAgICAgICAgICAgIGNvbG9yOiBjb2xvcnMudGV4dFByaW1hcnksXG4gICAgICAgICAgICB9fVxuICAgICAgICAgID5cbiAgICAgICAgICAgIENsYXVkZSBDb2RlIChSZWNvbW1lbmRlZClcbiAgICAgICAgICA8L2gzPlxuICAgICAgICAgIDxkaXZcbiAgICAgICAgICAgIHN0eWxlPXt7XG4gICAgICAgICAgICAgIHBhZGRpbmc6ICcxNnB4JyxcbiAgICAgICAgICAgICAgYmFja2dyb3VuZENvbG9yOiBjb2xvcnMucGFuZWxCZ1NlY29uZGFyeSxcbiAgICAgICAgICAgICAgYm9yZGVyUmFkaXVzOiAnNnB4JyxcbiAgICAgICAgICAgIH19XG4gICAgICAgICAgPlxuICAgICAgICAgICAgPHAgc3R5bGU9e3sgbWFyZ2luOiAnMCAwIDEycHggMCcsIGZvbnRTaXplOiAnMTNweCcsIGNvbG9yOiBjb2xvcnMudGV4dFByaW1hcnkgfX0+XG4gICAgICAgICAgICAgIEFkZCB0aGUgZm9sbG93aW5nIHRvIHlvdXJ7JyAnfVxuICAgICAgICAgICAgICA8Y29kZVxuICAgICAgICAgICAgICAgIHN0eWxlPXt7XG4gICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kQ29sb3I6IGNvbG9ycy5wYW5lbEJnQ29kZSxcbiAgICAgICAgICAgICAgICAgIHBhZGRpbmc6ICcycHggNHB4JyxcbiAgICAgICAgICAgICAgICAgIGJvcmRlclJhZGl1czogJzNweCcsXG4gICAgICAgICAgICAgICAgICBjb2xvcjogJyNmOGY4ZjInLFxuICAgICAgICAgICAgICAgIH19XG4gICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICB+Ly5jbGF1ZGUuanNvblxuICAgICAgICAgICAgICA8L2NvZGU+eycgJ31cbiAgICAgICAgICAgICAgZmlsZTpcbiAgICAgICAgICAgIDwvcD5cbiAgICAgICAgICAgIDxwcmVcbiAgICAgICAgICAgICAgc3R5bGU9e3tcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kQ29sb3I6IGNvbG9ycy5wYW5lbEJnQ29kZSxcbiAgICAgICAgICAgICAgICBjb2xvcjogJyNmOGY4ZjInLFxuICAgICAgICAgICAgICAgIHBhZGRpbmc6ICcxMnB4JyxcbiAgICAgICAgICAgICAgICBib3JkZXJSYWRpdXM6ICc0cHgnLFxuICAgICAgICAgICAgICAgIGZvbnRTaXplOiAnMTFweCcsXG4gICAgICAgICAgICAgICAgb3ZlcmZsb3c6ICdhdXRvJyxcbiAgICAgICAgICAgICAgICBtYXJnaW46ICcwIDAgMTJweCAwJyxcbiAgICAgICAgICAgICAgfX1cbiAgICAgICAgICAgID5cbiAgICAgICAgICAgICAge2B7XG4gIFwibWNwU2VydmVyc1wiOiB7XG4gICAgXCJsb2NhbFwiOiB7XG4gICAgICBcInR5cGVcIjogXCJzdGRpb1wiLFxuICAgICAgXCJjb21tYW5kXCI6IFwibm9kZVwiLFxuICAgICAgXCJhcmdzXCI6IFtcIi9wYXRoL3RvL2xvY2FsLWFkZG9uLW1jcC1zZXJ2ZXIvYmluL21jcC1zdGRpby5qc1wiXVxuICAgIH1cbiAgfVxufWB9XG4gICAgICAgICAgICA8L3ByZT5cbiAgICAgICAgICAgIDxidXR0b25cbiAgICAgICAgICAgICAgb25DbGljaz17dGhpcy5oYW5kbGVDb3B5U3RkaW9Db25maWd9XG4gICAgICAgICAgICAgIHN0eWxlPXt0aGlzLmdldEJ1dHRvblN0eWxlKGNvbG9ycy5wcmltYXJ5KX1cbiAgICAgICAgICAgID5cbiAgICAgICAgICAgICAge2NvcGllZCA/ICdDb3BpZWQhJyA6ICdDb3B5IENvbmZpZyd9XG4gICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9kaXY+XG5cbiAgICAgICAgey8qIENsYXVkZS5haSAvIENoYXRHUFQgU2V0dXAgKi99XG4gICAgICAgIDxkaXYgc3R5bGU9e3sgbWFyZ2luQm90dG9tOiAnMjRweCcgfX0+XG4gICAgICAgICAgPGgzXG4gICAgICAgICAgICBzdHlsZT17e1xuICAgICAgICAgICAgICBmb250U2l6ZTogJzE0cHgnLFxuICAgICAgICAgICAgICBmb250V2VpZ2h0OiA2MDAsXG4gICAgICAgICAgICAgIG1hcmdpbkJvdHRvbTogJzEycHgnLFxuICAgICAgICAgICAgICBjb2xvcjogY29sb3JzLnRleHRQcmltYXJ5LFxuICAgICAgICAgICAgfX1cbiAgICAgICAgICA+XG4gICAgICAgICAgICBDbGF1ZGUuYWkgLyBDaGF0R1BUIC8gT3RoZXIgQUkgVG9vbHNcbiAgICAgICAgICA8L2gzPlxuICAgICAgICAgIDxkaXZcbiAgICAgICAgICAgIHN0eWxlPXt7XG4gICAgICAgICAgICAgIHBhZGRpbmc6ICcxNnB4JyxcbiAgICAgICAgICAgICAgYmFja2dyb3VuZENvbG9yOiBjb2xvcnMucGFuZWxCZ1NlY29uZGFyeSxcbiAgICAgICAgICAgICAgYm9yZGVyUmFkaXVzOiAnNnB4JyxcbiAgICAgICAgICAgIH19XG4gICAgICAgICAgPlxuICAgICAgICAgICAgPHAgc3R5bGU9e3sgbWFyZ2luOiAnMCAwIDEycHggMCcsIGZvbnRTaXplOiAnMTNweCcsIGNvbG9yOiBjb2xvcnMudGV4dFByaW1hcnkgfX0+XG4gICAgICAgICAgICAgIEZvciB0b29scyB0aGF0IHN1cHBvcnQgU1NFIHRyYW5zcG9ydCwgdXNlIHRoaXMgY29uZmlndXJhdGlvbjpcbiAgICAgICAgICAgIDwvcD5cbiAgICAgICAgICAgIDxwcmVcbiAgICAgICAgICAgICAgc3R5bGU9e3tcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kQ29sb3I6IGNvbG9ycy5wYW5lbEJnQ29kZSxcbiAgICAgICAgICAgICAgICBjb2xvcjogJyNmOGY4ZjInLFxuICAgICAgICAgICAgICAgIHBhZGRpbmc6ICcxMnB4JyxcbiAgICAgICAgICAgICAgICBib3JkZXJSYWRpdXM6ICc0cHgnLFxuICAgICAgICAgICAgICAgIGZvbnRTaXplOiAnMTFweCcsXG4gICAgICAgICAgICAgICAgb3ZlcmZsb3c6ICdhdXRvJyxcbiAgICAgICAgICAgICAgICBtYXJnaW46ICcwIDAgMTJweCAwJyxcbiAgICAgICAgICAgICAgfX1cbiAgICAgICAgICAgID5cbiAgICAgICAgICAgICAge2Nvbm5lY3Rpb25JbmZvXG4gICAgICAgICAgICAgICAgPyBge1xuICBcIm1jcFNlcnZlcnNcIjoge1xuICAgIFwibG9jYWxcIjoge1xuICAgICAgXCJ1cmxcIjogXCIke2Nvbm5lY3Rpb25JbmZvLnVybH0vbWNwL3NzZVwiLFxuICAgICAgXCJ0cmFuc3BvcnRcIjogXCJzc2VcIixcbiAgICAgIFwiaGVhZGVyc1wiOiB7XG4gICAgICAgIFwiQXV0aG9yaXphdGlvblwiOiBcIkJlYXJlciAke2Nvbm5lY3Rpb25JbmZvLmF1dGhUb2tlbi5zdWJzdHJpbmcoMCwgMjApfS4uLlwiXG4gICAgICB9XG4gICAgfVxuICB9XG59YFxuICAgICAgICAgICAgICAgIDogJ1NlcnZlciBub3QgcnVubmluZyd9XG4gICAgICAgICAgICA8L3ByZT5cbiAgICAgICAgICAgIDxidXR0b25cbiAgICAgICAgICAgICAgb25DbGljaz17dGhpcy5oYW5kbGVDb3B5U3NlQ29uZmlnfVxuICAgICAgICAgICAgICBkaXNhYmxlZD17IWNvbm5lY3Rpb25JbmZvfVxuICAgICAgICAgICAgICBzdHlsZT17dGhpcy5nZXRCdXR0b25TdHlsZShcbiAgICAgICAgICAgICAgICBjb25uZWN0aW9uSW5mbyA/IGNvbG9ycy5wcmltYXJ5IDogY29sb3JzLnRleHRNdXRlZCxcbiAgICAgICAgICAgICAgICAhY29ubmVjdGlvbkluZm9cbiAgICAgICAgICAgICAgKX1cbiAgICAgICAgICAgID5cbiAgICAgICAgICAgICAge2NvcGllZCA/ICdDb3BpZWQhJyA6ICdDb3B5IFNTRSBDb25maWcnfVxuICAgICAgICAgICAgPC9idXR0b24+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZGl2PlxuXG4gICAgICAgIHsvKiBBdmFpbGFibGUgQ29tbWFuZHMgKi99XG4gICAgICAgIDxkaXYgc3R5bGU9e3sgbWFyZ2luQm90dG9tOiAnMjRweCcgfX0+XG4gICAgICAgICAgPGgzXG4gICAgICAgICAgICBzdHlsZT17e1xuICAgICAgICAgICAgICBmb250U2l6ZTogJzE0cHgnLFxuICAgICAgICAgICAgICBmb250V2VpZ2h0OiA2MDAsXG4gICAgICAgICAgICAgIG1hcmdpbkJvdHRvbTogJzEycHgnLFxuICAgICAgICAgICAgICBjb2xvcjogY29sb3JzLnRleHRQcmltYXJ5LFxuICAgICAgICAgICAgfX1cbiAgICAgICAgICA+XG4gICAgICAgICAgICBFeGFtcGxlIENvbW1hbmRzXG4gICAgICAgICAgPC9oMz5cbiAgICAgICAgICA8ZGl2XG4gICAgICAgICAgICBzdHlsZT17e1xuICAgICAgICAgICAgICBwYWRkaW5nOiAnMTZweCcsXG4gICAgICAgICAgICAgIGJhY2tncm91bmRDb2xvcjogY29sb3JzLmluZm9CZyxcbiAgICAgICAgICAgICAgYm9yZGVyUmFkaXVzOiAnNnB4JyxcbiAgICAgICAgICAgICAgYm9yZGVyOiBgMXB4IHNvbGlkICR7Y29sb3JzLmluZm9Cb3JkZXJ9YCxcbiAgICAgICAgICAgIH19XG4gICAgICAgICAgPlxuICAgICAgICAgICAgPHBcbiAgICAgICAgICAgICAgc3R5bGU9e3tcbiAgICAgICAgICAgICAgICBtYXJnaW46ICcwIDAgOHB4IDAnLFxuICAgICAgICAgICAgICAgIGZvbnRTaXplOiAnMTNweCcsXG4gICAgICAgICAgICAgICAgZm9udFdlaWdodDogNTAwLFxuICAgICAgICAgICAgICAgIGNvbG9yOiBjb2xvcnMuaW5mb1RleHQsXG4gICAgICAgICAgICAgIH19XG4gICAgICAgICAgICA+XG4gICAgICAgICAgICAgIFRyeSBzYXlpbmcgdG8geW91ciBBSSBhc3Npc3RhbnQ6XG4gICAgICAgICAgICA8L3A+XG4gICAgICAgICAgICA8dWxcbiAgICAgICAgICAgICAgc3R5bGU9e3sgbWFyZ2luOiAwLCBwYWRkaW5nTGVmdDogJzIwcHgnLCBmb250U2l6ZTogJzEzcHgnLCBjb2xvcjogY29sb3JzLmluZm9UZXh0IH19XG4gICAgICAgICAgICA+XG4gICAgICAgICAgICAgIDxsaT4mcXVvdDtMaXN0IG15IExvY2FsIHNpdGVzJnF1b3Q7PC9saT5cbiAgICAgICAgICAgICAgPGxpPiZxdW90O1N0YXJ0IHRoZSBibG9nIHNpdGUmcXVvdDs8L2xpPlxuICAgICAgICAgICAgICA8bGk+JnF1b3Q7Q3JlYXRlIGEgbmV3IHNpdGUgY2FsbGVkIHRlc3QtcHJvamVjdCZxdW90OzwvbGk+XG4gICAgICAgICAgICAgIDxsaT4mcXVvdDtSdW4gd3AgcGx1Z2luIGxpc3Qgb24gbXktc2l0ZSZxdW90OzwvbGk+XG4gICAgICAgICAgICAgIDxsaT4mcXVvdDtTdG9wIGFsbCBydW5uaW5nIHNpdGVzJnF1b3Q7PC9saT5cbiAgICAgICAgICAgICAgPGxpPiZxdW90O1doYXQgcGx1Z2lucyBhcmUgaW5zdGFsbGVkIG9uIG15LXNpdGU/JnF1b3Q7PC9saT5cbiAgICAgICAgICAgIDwvdWw+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC8+XG4gICAgKTtcbiAgfVxuXG4gIHJlbmRlcigpOiBSZWFjdC5SZWFjdE5vZGUge1xuICAgIGNvbnN0IHsgYWN0aXZlVGFiLCBjb2xvcnMgfSA9IHRoaXMuc3RhdGU7XG5cbiAgICByZXR1cm4gKFxuICAgICAgPGRpdiBzdHlsZT17eyBwYWRkaW5nOiAnMjBweCcsIGNvbG9yOiBjb2xvcnMudGV4dFByaW1hcnkgfX0+XG4gICAgICAgIDxoMlxuICAgICAgICAgIHN0eWxlPXt7XG4gICAgICAgICAgICBtYXJnaW5Cb3R0b206ICcyMHB4JyxcbiAgICAgICAgICAgIGZvbnRTaXplOiAnMThweCcsXG4gICAgICAgICAgICBmb250V2VpZ2h0OiA2MDAsXG4gICAgICAgICAgICBjb2xvcjogY29sb3JzLnRleHRQcmltYXJ5LFxuICAgICAgICAgIH19XG4gICAgICAgID5cbiAgICAgICAgICBNQ1AgU2VydmVyXG4gICAgICAgIDwvaDI+XG5cbiAgICAgICAgPHAgc3R5bGU9e3sgY29sb3I6IGNvbG9ycy50ZXh0U2Vjb25kYXJ5LCBtYXJnaW5Cb3R0b206ICcyNHB4JyB9fT5cbiAgICAgICAgICBUaGUgTUNQIChNb2RlbCBDb250ZXh0IFByb3RvY29sKSBzZXJ2ZXIgZW5hYmxlcyBBSSB0b29scyBsaWtlIENsYXVkZSBDb2RlIHRvIGNvbnRyb2wgeW91clxuICAgICAgICAgIExvY2FsIHNpdGVzLlxuICAgICAgICA8L3A+XG5cbiAgICAgICAgey8qIFRhYiBOYXZpZ2F0aW9uICovfVxuICAgICAgICA8ZGl2IHN0eWxlPXt7IGJvcmRlckJvdHRvbTogYDFweCBzb2xpZCAke2NvbG9ycy5ib3JkZXJ9YCwgbWFyZ2luQm90dG9tOiAnMjRweCcgfX0+XG4gICAgICAgICAgPGJ1dHRvblxuICAgICAgICAgICAgc3R5bGU9e3RoaXMuZ2V0VGFiU3R5bGUoYWN0aXZlVGFiID09PSAnc3RhdHVzJyl9XG4gICAgICAgICAgICBvbkNsaWNrPXsoKSA9PiB0aGlzLnNldFN0YXRlKHsgYWN0aXZlVGFiOiAnc3RhdHVzJyB9KX1cbiAgICAgICAgICA+XG4gICAgICAgICAgICBTdGF0dXMgJmFtcDsgQ29udHJvbHNcbiAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgICBzdHlsZT17dGhpcy5nZXRUYWJTdHlsZShhY3RpdmVUYWIgPT09ICdzZXR1cCcpfVxuICAgICAgICAgICAgb25DbGljaz17KCkgPT4gdGhpcy5zZXRTdGF0ZSh7IGFjdGl2ZVRhYjogJ3NldHVwJyB9KX1cbiAgICAgICAgICA+XG4gICAgICAgICAgICBBSSBUb29sIFNldHVwXG4gICAgICAgICAgPC9idXR0b24+XG4gICAgICAgIDwvZGl2PlxuXG4gICAgICAgIHthY3RpdmVUYWIgPT09ICdzdGF0dXMnICYmIHRoaXMucmVuZGVyU3RhdHVzVGFiKCl9XG4gICAgICAgIHthY3RpdmVUYWIgPT09ICdzZXR1cCcgJiYgdGhpcy5yZW5kZXJTZXR1cFRhYigpfVxuICAgICAgPC9kaXY+XG4gICAgKTtcbiAgfVxufVxuXG4vLyBFeHBvcnQgYXMgYSBjb25zdHJ1Y3RvciBmdW5jdGlvbiB0aGF0IExvY2FsIGNhbiBpbnN0YW50aWF0ZVxubW9kdWxlLmV4cG9ydHMgPSBmdW5jdGlvbiBNY3BTZXJ2ZXJSZW5kZXJlcihjb250ZXh0OiB7IGhvb2tzOiB1bmtub3duOyBlbGVjdHJvbjogdW5rbm93biB9KTogdm9pZCB7XG4gIC8vIENMSS1vbmx5IG1vZGUgLSBwcmVmZXJlbmNlcyBwYW5lbCBkaXNhYmxlZFxuICAvLyBUbyBlbmFibGUgTUNQIHByZWZlcmVuY2VzIFVJLCB1bmNvbW1lbnQgdGhlIGZvbGxvd2luZzpcbiAgLypcbiAgY29uc3QgeyBob29rcywgZWxlY3Ryb24gfSA9IGNvbnRleHQgYXMge1xuICAgIGhvb2tzOiB7IGFkZEZpbHRlcjogKG5hbWU6IHN0cmluZywgY2FsbGJhY2s6IChpdGVtczogdW5rbm93bltdKSA9PiB1bmtub3duW10pID0+IHZvaWQgfTtcbiAgICBlbGVjdHJvbjogTWNwUHJlZmVyZW5jZXNQYW5lbFByb3BzWydlbGVjdHJvbiddO1xuICB9O1xuXG4gIGNvbnNvbGUubG9nKCdbTUNQIFNlcnZlcl0gUmVuZGVyZXIgbG9hZGluZy4uLicpO1xuXG4gIC8vIEFkZCBNQ1AgU2VydmVyIHRvIHByZWZlcmVuY2VzIG1lbnVcbiAgaG9va3MuYWRkRmlsdGVyKCdwcmVmZXJlbmNlc01lbnVJdGVtcycsIChtZW51SXRlbXM6IHVua25vd25bXSkgPT4ge1xuICAgIGNvbnNvbGUubG9nKCdbTUNQIFNlcnZlcl0gQWRkaW5nIE1DUCBTZXJ2ZXIgdG8gcHJlZmVyZW5jZXMnKTtcblxuICAgIChtZW51SXRlbXMgYXMgQXJyYXk8UmVjb3JkPHN0cmluZywgdW5rbm93bj4+KS5wdXNoKHtcbiAgICAgIHBhdGg6ICdtY3Atc2VydmVyJyxcbiAgICAgIGRpc3BsYXlOYW1lOiAnTUNQIFNlcnZlcicsXG4gICAgICBzZWN0aW9uczogKCkgPT4gPE1jcFByZWZlcmVuY2VzUGFuZWwgZWxlY3Ryb249e2VsZWN0cm9ufSAvPixcbiAgICAgIG9uQXBwbHk6ICgpID0+IHtcbiAgICAgICAgLy8gTm8gYXBwbHkgYWN0aW9uIG5lZWRlZCBmb3IgcmVhZC1vbmx5IGRpc3BsYXlcbiAgICAgIH0sXG4gICAgfSk7XG5cbiAgICByZXR1cm4gbWVudUl0ZW1zO1xuICB9KTtcblxuICBjb25zb2xlLmxvZygnW01DUCBTZXJ2ZXJdIFJlbmRlcmVyIHNldHVwIGNvbXBsZXRlJyk7XG4gICovXG5cbiAgLy8gU2lsZW5jZSB1bnVzZWQgdmFyaWFibGUgd2FybmluZ3NcbiAgdm9pZCBjb250ZXh0O1xufTtcbiJdfQ==
480
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvcmVuZGVyZXIvaW5kZXgudHN4Il0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQTs7Ozs7R0FLRzs7Ozs7QUFFSCxrREFBMEI7QUFDMUIsMkNBQTZFO0FBb0M3RSx3RUFBd0U7QUFDeEUsNkRBQTZEO0FBQzdELE1BQU0sb0JBQXFCLFNBQVEsZUFBSyxDQUFDLFNBR3hDO0lBSEQ7O1FBT0UsVUFBSyxHQUE2QjtZQUNoQyxNQUFNLEVBQUUsSUFBSTtZQUNaLGNBQWMsRUFBRSxJQUFJO1lBQ3BCLE9BQU8sRUFBRSxJQUFJO1lBQ2IsTUFBTSxFQUFFLEtBQUs7WUFDYixnQkFBZ0IsRUFBRSxLQUFLO1lBQ3ZCLFNBQVMsRUFBRSxRQUFRO1lBQ25CLE1BQU0sRUFBRSxJQUFBLHNCQUFjLEdBQUU7U0FDekIsQ0FBQztRQXdCTSxnQkFBVyxHQUFHLEtBQUssSUFBbUIsRUFBRTtZQUM5QyxJQUFJLENBQUM7Z0JBQ0gsTUFBTSxNQUFNLEdBQUcsQ0FBQyxNQUFNLElBQUksQ0FBQyxLQUFLLENBQUMsUUFBUSxFQUFFLFdBQVcsRUFBRSxNQUFNLENBQUMsZUFBZSxDQUFDLENBRWxFLENBQUM7Z0JBQ2QsSUFBSSxNQUFNLEVBQUUsQ0FBQztvQkFDWCxJQUFJLENBQUMsUUFBUSxDQUFDLEVBQUUsTUFBTSxFQUFFLE1BQU0sRUFBRSxDQUFDLENBQUM7Z0JBQ3BDLENBQUM7WUFDSCxDQUFDO1lBQUMsT0FBTyxLQUFLLEVBQUUsQ0FBQztnQkFDZixPQUFPLENBQUMsS0FBSyxDQUFDLDZCQUE2QixFQUFFLEtBQUssQ0FBQyxDQUFDO1lBQ3RELENBQUM7UUFDSCxDQUFDLENBQUM7UUFFTSx3QkFBbUIsR0FBRyxLQUFLLElBQW1CLEVBQUU7WUFDdEQsSUFBSSxDQUFDO2dCQUNILE1BQU0sTUFBTSxHQUFHLENBQUMsTUFBTSxJQUFJLENBQUMsS0FBSyxDQUFDLFFBQVEsRUFBRSxXQUFXLEVBQUUsTUFBTSxDQUFDLHVCQUF1QixDQUFDLENBRTFFLENBQUM7Z0JBQ2QsSUFBSSxNQUFNLEVBQUUsQ0FBQztvQkFDWCxJQUFJLENBQUMsUUFBUSxDQUFDLEVBQUUsY0FBYyxFQUFFLE1BQU0sRUFBRSxDQUFDLENBQUM7Z0JBQzVDLENBQUM7WUFDSCxDQUFDO1lBQUMsT0FBTyxLQUFLLEVBQUUsQ0FBQztnQkFDZixPQUFPLENBQUMsS0FBSyxDQUFDLGtDQUFrQyxFQUFFLEtBQUssQ0FBQyxDQUFDO1lBQzNELENBQUM7UUFDSCxDQUFDLENBQUM7UUFFTSwwQkFBcUIsR0FBRyxHQUFTLEVBQUU7WUFDekMsTUFBTSxNQUFNLEdBQUc7Z0JBQ2IsVUFBVSxFQUFFO29CQUNWLEtBQUssRUFBRTt3QkFDTCxJQUFJLEVBQUUsT0FBTzt3QkFDYixPQUFPLEVBQUUsTUFBTTt3QkFDZixJQUFJLEVBQUUsQ0FBQyxrREFBa0QsQ0FBQztxQkFDM0Q7aUJBQ0Y7YUFDRixDQUFDO1lBQ0YsU0FBUyxDQUFDLFNBQVMsQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxNQUFNLEVBQUUsSUFBSSxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUM7WUFDL0QsSUFBSSxDQUFDLFFBQVEsQ0FBQyxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUFDO1lBQ2hDLFVBQVUsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxDQUFDLEVBQUUsSUFBSSxDQUFDLENBQUM7UUFDM0QsQ0FBQyxDQUFDO1FBRU0sd0JBQW1CLEdBQUcsR0FBUyxFQUFFO1lBQ3ZDLE1BQU0sRUFBRSxjQUFjLEVBQUUsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDO1lBQ3RDLElBQUksY0FBYyxFQUFFLENBQUM7Z0JBQ25CLE1BQU0sTUFBTSxHQUFHO29CQUNiLFVBQVUsRUFBRTt3QkFDVixLQUFLLEVBQUU7NEJBQ0wsR0FBRyxFQUFFLEdBQUcsY0FBYyxDQUFDLEdBQUcsVUFBVTs0QkFDcEMsU0FBUyxFQUFFLEtBQUs7NEJBQ2hCLE9BQU8sRUFBRTtnQ0FDUCxhQUFhLEVBQUUsVUFBVSxjQUFjLENBQUMsU0FBUyxFQUFFOzZCQUNwRDt5QkFDRjtxQkFDRjtpQkFDRixDQUFDO2dCQUNGLFNBQVMsQ0FBQyxTQUFTLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsTUFBTSxFQUFFLElBQUksRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDO2dCQUMvRCxJQUFJLENBQUMsUUFBUSxDQUFDLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRSxDQUFDLENBQUM7Z0JBQ2hDLFVBQVUsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxDQUFDLEVBQUUsSUFBSSxDQUFDLENBQUM7WUFDM0QsQ0FBQztRQUNILENBQUMsQ0FBQztRQUVNLHlCQUFvQixHQUFHLEtBQUssSUFBbUIsRUFBRTtZQUN2RCxNQUFNLEVBQUUsY0FBYyxFQUFFLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQztZQUN0QyxJQUFJLENBQUM7Z0JBQ0gsTUFBTSxRQUFRLEdBQUcsTUFBTSxLQUFLLENBQUMsb0JBQW9CLGNBQWMsRUFBRSxJQUFJLFNBQVMsQ0FBQyxDQUFDO2dCQUNoRixNQUFNLElBQUksR0FBRyxNQUFNLFFBQVEsQ0FBQyxJQUFJLEVBQUUsQ0FBQztnQkFDbkMsSUFBSSxJQUFJLENBQUMsTUFBTSxLQUFLLElBQUksRUFBRSxDQUFDO29CQUN6QixLQUFLLENBQUMsK0NBQStDLENBQUMsQ0FBQztnQkFDekQsQ0FBQztxQkFBTSxDQUFDO29CQUNOLEtBQUssQ0FBQyx3REFBd0QsQ0FBQyxDQUFDO2dCQUNsRSxDQUFDO1lBQ0gsQ0FBQztZQUFDLE9BQU8sS0FBSyxFQUFFLENBQUM7Z0JBQ2YsTUFBTSxPQUFPLEdBQUcsS0FBSyxZQUFZLEtBQUssQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsZUFBZSxDQUFDO2dCQUN6RSxLQUFLLENBQUMsc0JBQXNCLE9BQU8sRUFBRSxDQUFDLENBQUM7WUFDekMsQ0FBQztRQUNILENBQUMsQ0FBQztRQUVNLG9CQUFlLEdBQUcsS0FBSyxJQUFtQixFQUFFO1lBQ2xELE1BQU0sRUFBRSxNQUFNLEVBQUUsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDO1lBQzlCLElBQUksQ0FBQyxRQUFRLENBQUMsRUFBRSxnQkFBZ0IsRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUFDO1lBQzFDLElBQUksQ0FBQztnQkFDSCxJQUFJLE1BQU0sRUFBRSxPQUFPLEVBQUUsQ0FBQztvQkFDcEIsTUFBTSxJQUFJLENBQUMsS0FBSyxDQUFDLFFBQVEsRUFBRSxXQUFXLEVBQUUsTUFBTSxDQUFDLFVBQVUsQ0FBQyxDQUFDO2dCQUM3RCxDQUFDO3FCQUFNLENBQUM7b0JBQ04sTUFBTSxJQUFJLENBQUMsS0FBSyxDQUFDLFFBQVEsRUFBRSxXQUFXLEVBQUUsTUFBTSxDQUFDLFdBQVcsQ0FBQyxDQUFDO2dCQUM5RCxDQUFDO2dCQUNELE1BQU0sSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDO2dCQUN6QixNQUFNLElBQUksQ0FBQyxtQkFBbUIsRUFBRSxDQUFDO1lBQ25DLENBQUM7WUFBQyxPQUFPLEtBQUssRUFBRSxDQUFDO2dCQUNmLE1BQU0sT0FBTyxHQUFHLEtBQUssWUFBWSxLQUFLLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLGVBQWUsQ0FBQztnQkFDekUsS0FBSyxDQUFDLGtCQUFrQixPQUFPLEVBQUUsQ0FBQyxDQUFDO1lBQ3JDLENBQUM7b0JBQVMsQ0FBQztnQkFDVCxJQUFJLENBQUMsUUFBUSxDQUFDLEVBQUUsZ0JBQWdCLEVBQUUsS0FBSyxFQUFFLENBQUMsQ0FBQztZQUM3QyxDQUFDO1FBQ0gsQ0FBQyxDQUFDO1FBRU0sa0JBQWEsR0FBRyxLQUFLLElBQW1CLEVBQUU7WUFDaEQsSUFBSSxDQUFDLFFBQVEsQ0FBQyxFQUFFLGdCQUFnQixFQUFFLElBQUksRUFBRSxDQUFDLENBQUM7WUFDMUMsSUFBSSxDQUFDO2dCQUNILE1BQU0sSUFBSSxDQUFDLEtBQUssQ0FBQyxRQUFRLEVBQUUsV0FBVyxFQUFFLE1BQU0sQ0FBQyxhQUFhLENBQUMsQ0FBQztnQkFDOUQsTUFBTSxJQUFJLENBQUMsV0FBVyxFQUFFLENBQUM7Z0JBQ3pCLE1BQU0sSUFBSSxDQUFDLG1CQUFtQixFQUFFLENBQUM7WUFDbkMsQ0FBQztZQUFDLE9BQU8sS0FBSyxFQUFFLENBQUM7Z0JBQ2YsTUFBTSxPQUFPLEdBQUcsS0FBSyxZQUFZLEtBQUssQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsZUFBZSxDQUFDO2dCQUN6RSxLQUFLLENBQUMsbUJBQW1CLE9BQU8sRUFBRSxDQUFDLENBQUM7WUFDdEMsQ0FBQztvQkFBUyxDQUFDO2dCQUNULElBQUksQ0FBQyxRQUFRLENBQUMsRUFBRSxnQkFBZ0IsRUFBRSxLQUFLLEVBQUUsQ0FBQyxDQUFDO1lBQzdDLENBQUM7UUFDSCxDQUFDLENBQUM7UUFFTSwwQkFBcUIsR0FBRyxLQUFLLElBQW1CLEVBQUU7WUFDeEQsSUFDRSxDQUFDLE9BQU8sQ0FDTixzRkFBc0YsQ0FDdkYsRUFDRCxDQUFDO2dCQUNELE9BQU87WUFDVCxDQUFDO1lBQ0QsSUFBSSxDQUFDLFFBQVEsQ0FBQyxFQUFFLGdCQUFnQixFQUFFLElBQUksRUFBRSxDQUFDLENBQUM7WUFDMUMsSUFBSSxDQUFDO2dCQUNILE1BQU0sTUFBTSxHQUFHLENBQUMsTUFBTSxJQUFJLENBQUMsS0FBSyxDQUFDLFFBQVEsRUFBRSxXQUFXLEVBQUUsTUFBTSxDQUFDLHFCQUFxQixDQUFDLENBR3BGLENBQUM7Z0JBQ0YsSUFBSSxNQUFNLEVBQUUsT0FBTyxFQUFFLENBQUM7b0JBQ3BCLE1BQU0sSUFBSSxDQUFDLG1CQUFtQixFQUFFLENBQUM7b0JBQ2pDLEtBQUssQ0FBQywyRUFBMkUsQ0FBQyxDQUFDO2dCQUNyRixDQUFDO3FCQUFNLENBQUM7b0JBQ04sS0FBSyxDQUFDLCtCQUErQixNQUFNLEVBQUUsS0FBSyxFQUFFLENBQUMsQ0FBQztnQkFDeEQsQ0FBQztZQUNILENBQUM7WUFBQyxPQUFPLEtBQUssRUFBRSxDQUFDO2dCQUNmLE1BQU0sT0FBTyxHQUFHLEtBQUssWUFBWSxLQUFLLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLGVBQWUsQ0FBQztnQkFDekUsS0FBSyxDQUFDLCtCQUErQixPQUFPLEVBQUUsQ0FBQyxDQUFDO1lBQ2xELENBQUM7b0JBQVMsQ0FBQztnQkFDVCxJQUFJLENBQUMsUUFBUSxDQUFDLEVBQUUsZ0JBQWdCLEVBQUUsS0FBSyxFQUFFLENBQUMsQ0FBQztZQUM3QyxDQUFDO1FBQ0gsQ0FBQyxDQUFDO0lBcWJKLENBQUM7SUFubEJDLGlCQUFpQjtRQUNmLElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQztRQUNaLElBQUksQ0FBQyxjQUFjLEdBQUcsV0FBVyxDQUFDLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxXQUFXLEVBQUUsRUFBRSxJQUFJLENBQUMsQ0FBQztRQUNsRSxJQUFJLENBQUMsWUFBWSxHQUFHLElBQUEscUJBQWEsRUFBQyxHQUFHLEVBQUU7WUFDckMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxFQUFFLE1BQU0sRUFBRSxJQUFBLHNCQUFjLEdBQUUsRUFBRSxDQUFDLENBQUM7UUFDOUMsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDO0lBRUQsb0JBQW9CO1FBQ2xCLElBQUksSUFBSSxDQUFDLGNBQWMsRUFBRSxDQUFDO1lBQ3hCLGFBQWEsQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDLENBQUM7UUFDckMsQ0FBQztRQUNELElBQUksSUFBSSxDQUFDLFlBQVksRUFBRSxDQUFDO1lBQ3RCLElBQUksQ0FBQyxZQUFZLEVBQUUsQ0FBQztRQUN0QixDQUFDO0lBQ0gsQ0FBQztJQUVPLEtBQUssQ0FBQyxJQUFJO1FBQ2hCLE1BQU0sT0FBTyxDQUFDLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxXQUFXLEVBQUUsRUFBRSxJQUFJLENBQUMsbUJBQW1CLEVBQUUsQ0FBQyxDQUFDLENBQUM7UUFDcEUsSUFBSSxDQUFDLFFBQVEsQ0FBQyxFQUFFLE9BQU8sRUFBRSxLQUFLLEVBQUUsQ0FBQyxDQUFDO0lBQ3BDLENBQUM7SUE0SU8sY0FBYztRQUNwQixNQUFNLEVBQUUsTUFBTSxFQUFFLE1BQU0sRUFBRSxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUM7UUFDdEMsSUFBSSxDQUFDLE1BQU07WUFBRSxPQUFPLE1BQU0sQ0FBQyxTQUFTLENBQUM7UUFDckMsSUFBSSxNQUFNLENBQUMsT0FBTztZQUFFLE9BQU8sTUFBTSxDQUFDLFdBQVcsQ0FBQztRQUM5QyxPQUFPLE1BQU0sQ0FBQyxTQUFTLENBQUM7SUFDMUIsQ0FBQztJQUVPLGFBQWE7UUFDbkIsTUFBTSxFQUFFLE9BQU8sRUFBRSxNQUFNLEVBQUUsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDO1FBQ3ZDLElBQUksT0FBTztZQUFFLE9BQU8sWUFBWSxDQUFDO1FBQ2pDLElBQUksQ0FBQyxNQUFNO1lBQUUsT0FBTyxTQUFTLENBQUM7UUFDOUIsSUFBSSxNQUFNLENBQUMsT0FBTztZQUFFLE9BQU8sU0FBUyxDQUFDO1FBQ3JDLE9BQU8sU0FBUyxDQUFDO0lBQ25CLENBQUM7SUFFTyxZQUFZLENBQUMsT0FBZTtRQUNsQyxJQUFJLE9BQU8sR0FBRyxFQUFFO1lBQUUsT0FBTyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQztRQUNuRCxJQUFJLE9BQU8sR0FBRyxJQUFJO1lBQUUsT0FBTyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsT0FBTyxHQUFHLEVBQUUsQ0FBQyxHQUFHLENBQUM7UUFDMUQsT0FBTyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsT0FBTyxHQUFHLElBQUksQ0FBQyxLQUFLLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxPQUFPLEdBQUcsSUFBSSxDQUFDLEdBQUcsRUFBRSxDQUFDLEdBQUcsQ0FBQztJQUNoRixDQUFDO0lBRU8sV0FBVyxDQUFDLFFBQWlCO1FBQ25DLE1BQU0sRUFBRSxNQUFNLEVBQUUsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDO1FBQzlCLE9BQU87WUFDTCxPQUFPLEVBQUUsVUFBVTtZQUNuQixNQUFNLEVBQUUsTUFBTTtZQUNkLFlBQVksRUFBRSxRQUFRLENBQUMsQ0FBQyxDQUFDLGFBQWEsTUFBTSxDQUFDLE9BQU8sRUFBRSxDQUFDLENBQUMsQ0FBQyx1QkFBdUI7WUFDaEYsZUFBZSxFQUFFLGFBQWE7WUFDOUIsS0FBSyxFQUFFLFFBQVEsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLGFBQWE7WUFDdkQsTUFBTSxFQUFFLFNBQVM7WUFDakIsUUFBUSxFQUFFLE1BQU07WUFDaEIsVUFBVSxFQUFFLFFBQVEsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxHQUFHO1NBQ2pDLENBQUM7SUFDSixDQUFDO0lBRU8sY0FBYyxDQUFDLE9BQWUsRUFBRSxRQUFrQjtRQUN4RCxPQUFPO1lBQ0wsT0FBTyxFQUFFLFVBQVU7WUFDbkIsZUFBZSxFQUFFLE9BQU87WUFDeEIsS0FBSyxFQUFFLE9BQU87WUFDZCxNQUFNLEVBQUUsTUFBTTtZQUNkLFlBQVksRUFBRSxLQUFLO1lBQ25CLE1BQU0sRUFBRSxRQUFRLENBQUMsQ0FBQyxDQUFDLGFBQWEsQ0FBQyxDQUFDLENBQUMsU0FBUztZQUM1QyxRQUFRLEVBQUUsTUFBTTtZQUNoQixPQUFPLEVBQUUsUUFBUSxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUM7U0FDNUIsQ0FBQztJQUNKLENBQUM7SUFFTyxlQUFlO1FBQ3JCLE1BQU0sRUFBRSxNQUFNLEVBQUUsY0FBYyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sRUFBRSxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUM7UUFFeEUsT0FBTyxDQUNMO1lBRUUsdUNBQUssS0FBSyxFQUFFLEVBQUUsWUFBWSxFQUFFLE1BQU0sRUFBRTtnQkFDbEMsc0NBQ0UsS0FBSyxFQUFFO3dCQUNMLFFBQVEsRUFBRSxNQUFNO3dCQUNoQixVQUFVLEVBQUUsR0FBRzt3QkFDZixZQUFZLEVBQUUsTUFBTTt3QkFDcEIsS0FBSyxFQUFFLE1BQU0sQ0FBQyxXQUFXO3FCQUMxQixvQkFHRTtnQkFDTCx1Q0FDRSxLQUFLLEVBQUU7d0JBQ0wsT0FBTyxFQUFFLE1BQU07d0JBQ2YsVUFBVSxFQUFFLFFBQVE7d0JBQ3BCLEdBQUcsRUFBRSxNQUFNO3dCQUNYLE9BQU8sRUFBRSxNQUFNO3dCQUNmLGVBQWUsRUFBRSxNQUFNLENBQUMsZ0JBQWdCO3dCQUN4QyxZQUFZLEVBQUUsS0FBSztxQkFDcEI7b0JBRUQsd0NBQ0UsS0FBSyxFQUFFOzRCQUNMLEtBQUssRUFBRSxNQUFNOzRCQUNiLE1BQU0sRUFBRSxNQUFNOzRCQUNkLFlBQVksRUFBRSxLQUFLOzRCQUNuQixlQUFlLEVBQUUsSUFBSSxDQUFDLGNBQWMsRUFBRTt5QkFDdkMsR0FDRDtvQkFDRix3Q0FBTSxLQUFLLEVBQUUsRUFBRSxVQUFVLEVBQUUsR0FBRyxFQUFFLEtBQUssRUFBRSxNQUFNLENBQUMsV0FBVyxFQUFFLElBQ3hELElBQUksQ0FBQyxhQUFhLEVBQUUsQ0FDaEI7b0JBQ04sTUFBTSxFQUFFLE9BQU8sSUFBSSxDQUNsQjt3QkFDRSx3Q0FBTSxLQUFLLEVBQUUsRUFBRSxLQUFLLEVBQUUsTUFBTSxDQUFDLGFBQWEsRUFBRSxRQUFVO3dCQUN0RCx3Q0FBTSxLQUFLLEVBQUUsRUFBRSxLQUFLLEVBQUUsTUFBTSxDQUFDLGFBQWEsRUFBRTs7NEJBQVMsTUFBTSxDQUFDLElBQUksQ0FBUTt3QkFDeEUsd0NBQU0sS0FBSyxFQUFFLEVBQUUsS0FBSyxFQUFFLE1BQU0sQ0FBQyxhQUFhLEVBQUUsUUFBVTt3QkFDdEQsd0NBQU0sS0FBSyxFQUFFLEVBQUUsS0FBSyxFQUFFLE1BQU0sQ0FBQyxhQUFhLEVBQUU7OzRCQUNqQyxJQUFJLENBQUMsWUFBWSxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FDcEMsQ0FDTixDQUNKLENBQ0csQ0FDRjtZQUdOLHVDQUFLLEtBQUssRUFBRSxFQUFFLFlBQVksRUFBRSxNQUFNLEVBQUU7Z0JBQ2xDLHNDQUNFLEtBQUssRUFBRTt3QkFDTCxRQUFRLEVBQUUsTUFBTTt3QkFDaEIsVUFBVSxFQUFFLEdBQUc7d0JBQ2YsWUFBWSxFQUFFLE1BQU07d0JBQ3BCLEtBQUssRUFBRSxNQUFNLENBQUMsV0FBVztxQkFDMUIsc0JBR0U7Z0JBQ0wsdUNBQUssS0FBSyxFQUFFLEVBQUUsT0FBTyxFQUFFLE1BQU0sRUFBRSxHQUFHLEVBQUUsTUFBTSxFQUFFLFFBQVEsRUFBRSxNQUFNLEVBQUU7b0JBQzVELDBDQUNFLE9BQU8sRUFBRSxJQUFJLENBQUMsZUFBZSxFQUM3QixRQUFRLEVBQUUsZ0JBQWdCLEVBQzFCLEtBQUssRUFBRSxJQUFJLENBQUMsY0FBYyxDQUN4QixNQUFNLEVBQUUsT0FBTyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsV0FBVyxFQUN2RCxnQkFBZ0IsQ0FDakIsSUFFQSxNQUFNLEVBQUUsT0FBTyxDQUFDLENBQUMsQ0FBQyxhQUFhLENBQUMsQ0FBQyxDQUFDLGNBQWMsQ0FDMUM7b0JBQ1QsMENBQ0UsT0FBTyxFQUFFLElBQUksQ0FBQyxhQUFhLEVBQzNCLFFBQVEsRUFBRSxnQkFBZ0IsSUFBSSxDQUFDLE1BQU0sRUFBRSxPQUFPLEVBQzlDLEtBQUssRUFBRSxJQUFJLENBQUMsY0FBYyxDQUFDLFNBQVMsRUFBRSxnQkFBZ0IsSUFBSSxDQUFDLE1BQU0sRUFBRSxPQUFPLENBQUMscUJBR3BFO29CQUNULDBDQUNFLE9BQU8sRUFBRSxJQUFJLENBQUMsb0JBQW9CLEVBQ2xDLFFBQVEsRUFBRSxDQUFDLE1BQU0sRUFBRSxPQUFPLEVBQzFCLEtBQUssRUFBRSxJQUFJLENBQUMsY0FBYyxDQUN4QixNQUFNLEVBQUUsT0FBTyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxTQUFTLEVBQzlDLENBQUMsTUFBTSxFQUFFLE9BQU8sQ0FDakIsc0JBR00sQ0FDTCxDQUNGO1lBR0wsY0FBYyxJQUFJLENBQ2pCLHVDQUFLLEtBQUssRUFBRSxFQUFFLFlBQVksRUFBRSxNQUFNLEVBQUU7Z0JBQ2xDLHNDQUNFLEtBQUssRUFBRTt3QkFDTCxRQUFRLEVBQUUsTUFBTTt3QkFDaEIsVUFBVSxFQUFFLEdBQUc7d0JBQ2YsWUFBWSxFQUFFLE1BQU07d0JBQ3BCLEtBQUssRUFBRSxNQUFNLENBQUMsV0FBVztxQkFDMUIsc0JBR0U7Z0JBQ0wsdUNBQ0UsS0FBSyxFQUFFO3dCQUNMLE9BQU8sRUFBRSxNQUFNO3dCQUNmLGVBQWUsRUFBRSxNQUFNLENBQUMsZ0JBQWdCO3dCQUN4QyxZQUFZLEVBQUUsS0FBSzt3QkFDbkIsVUFBVSxFQUFFLFdBQVc7d0JBQ3ZCLFFBQVEsRUFBRSxNQUFNO3dCQUNoQixLQUFLLEVBQUUsTUFBTSxDQUFDLFdBQVc7cUJBQzFCO29CQUVELHVDQUFLLEtBQUssRUFBRSxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQUU7d0JBQ2pDLHFEQUFxQjs7d0JBQUUsY0FBYyxDQUFDLEdBQUcsQ0FDckM7b0JBQ04sdUNBQUssS0FBSyxFQUFFLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBRTt3QkFDakMsOERBQThCOzRDQUMxQjtvQkFDTix1Q0FBSyxLQUFLLEVBQUUsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFFO3dCQUNqQyx5REFBeUI7O3dCQUFFLGNBQWMsQ0FBQyxPQUFPLENBQzdDO29CQUNOO3dCQUNFLHVEQUF1Qjs7d0JBQUUsY0FBYyxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQ3BELENBQ0YsQ0FDRixDQUNQO1lBR0QsdUNBQUssS0FBSyxFQUFFLEVBQUUsWUFBWSxFQUFFLE1BQU0sRUFBRTtnQkFDbEMsc0NBQ0UsS0FBSyxFQUFFO3dCQUNMLFFBQVEsRUFBRSxNQUFNO3dCQUNoQixVQUFVLEVBQUUsR0FBRzt3QkFDZixZQUFZLEVBQUUsTUFBTTt3QkFDcEIsS0FBSyxFQUFFLE1BQU0sQ0FBQyxXQUFXO3FCQUMxQixlQUdFO2dCQUNMLHVDQUFLLEtBQUssRUFBRSxFQUFFLE9BQU8sRUFBRSxNQUFNLEVBQUUsR0FBRyxFQUFFLE1BQU0sRUFBRSxRQUFRLEVBQUUsTUFBTSxFQUFFO29CQUM1RCwwQ0FDRSxPQUFPLEVBQUUsSUFBSSxDQUFDLHFCQUFxQixFQUNuQyxRQUFRLEVBQUUsZ0JBQWdCLElBQUksQ0FBQyxNQUFNLEVBQUUsT0FBTyxFQUM5QyxLQUFLLEVBQUU7NEJBQ0wsT0FBTyxFQUFFLFVBQVU7NEJBQ25CLGVBQWUsRUFBRSxTQUFTOzRCQUMxQixLQUFLLEVBQUUsU0FBUzs0QkFDaEIsTUFBTSxFQUFFLE1BQU07NEJBQ2QsWUFBWSxFQUFFLEtBQUs7NEJBQ25CLE1BQU0sRUFBRSxnQkFBZ0IsSUFBSSxDQUFDLE1BQU0sRUFBRSxPQUFPLENBQUMsQ0FBQyxDQUFDLGFBQWEsQ0FBQyxDQUFDLENBQUMsU0FBUzs0QkFDeEUsUUFBUSxFQUFFLE1BQU07NEJBQ2hCLE9BQU8sRUFBRSxnQkFBZ0IsSUFBSSxDQUFDLE1BQU0sRUFBRSxPQUFPLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQzt5QkFDeEQsdUJBR00sQ0FDTDtnQkFDTixxQ0FBRyxLQUFLLEVBQUUsRUFBRSxRQUFRLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxNQUFNLENBQUMsYUFBYSxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsb0ZBRXpFLENBQ0EsQ0FDTCxDQUNKLENBQUM7SUFDSixDQUFDO0lBRU8sY0FBYztRQUNwQixNQUFNLEVBQUUsY0FBYyxFQUFFLE1BQU0sRUFBRSxNQUFNLEVBQUUsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDO1FBRXRELE9BQU8sQ0FDTDtZQUVFLHVDQUFLLEtBQUssRUFBRSxFQUFFLFlBQVksRUFBRSxNQUFNLEVBQUU7Z0JBQ2xDLHNDQUNFLEtBQUssRUFBRTt3QkFDTCxRQUFRLEVBQUUsTUFBTTt3QkFDaEIsVUFBVSxFQUFFLEdBQUc7d0JBQ2YsWUFBWSxFQUFFLE1BQU07d0JBQ3BCLEtBQUssRUFBRSxNQUFNLENBQUMsV0FBVztxQkFDMUIsZ0NBR0U7Z0JBQ0wsdUNBQ0UsS0FBSyxFQUFFO3dCQUNMLE9BQU8sRUFBRSxNQUFNO3dCQUNmLGVBQWUsRUFBRSxNQUFNLENBQUMsZ0JBQWdCO3dCQUN4QyxZQUFZLEVBQUUsS0FBSztxQkFDcEI7b0JBRUQscUNBQUcsS0FBSyxFQUFFLEVBQUUsTUFBTSxFQUFFLFlBQVksRUFBRSxRQUFRLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxNQUFNLENBQUMsV0FBVyxFQUFFOzt3QkFDbkQsR0FBRzt3QkFDN0Isd0NBQ0UsS0FBSyxFQUFFO2dDQUNMLGVBQWUsRUFBRSxNQUFNLENBQUMsV0FBVztnQ0FDbkMsT0FBTyxFQUFFLFNBQVM7Z0NBQ2xCLFlBQVksRUFBRSxLQUFLO2dDQUNuQixLQUFLLEVBQUUsU0FBUzs2QkFDakIscUJBR0k7d0JBQUMsR0FBRztnQ0FFVDtvQkFDSix1Q0FDRSxLQUFLLEVBQUU7NEJBQ0wsZUFBZSxFQUFFLE1BQU0sQ0FBQyxXQUFXOzRCQUNuQyxLQUFLLEVBQUUsU0FBUzs0QkFDaEIsT0FBTyxFQUFFLE1BQU07NEJBQ2YsWUFBWSxFQUFFLEtBQUs7NEJBQ25CLFFBQVEsRUFBRSxNQUFNOzRCQUNoQixRQUFRLEVBQUUsTUFBTTs0QkFDaEIsTUFBTSxFQUFFLFlBQVk7eUJBQ3JCLElBRUE7Ozs7Ozs7O0VBUWIsQ0FDZ0I7b0JBQ04sMENBQ0UsT0FBTyxFQUFFLElBQUksQ0FBQyxxQkFBcUIsRUFDbkMsS0FBSyxFQUFFLElBQUksQ0FBQyxjQUFjLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxJQUV6QyxNQUFNLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsYUFBYSxDQUM1QixDQUNMLENBQ0Y7WUFHTix1Q0FBSyxLQUFLLEVBQUUsRUFBRSxZQUFZLEVBQUUsTUFBTSxFQUFFO2dCQUNsQyxzQ0FDRSxLQUFLLEVBQUU7d0JBQ0wsUUFBUSxFQUFFLE1BQU07d0JBQ2hCLFVBQVUsRUFBRSxHQUFHO3dCQUNmLFlBQVksRUFBRSxNQUFNO3dCQUNwQixLQUFLLEVBQUUsTUFBTSxDQUFDLFdBQVc7cUJBQzFCLDJDQUdFO2dCQUNMLHVDQUNFLEtBQUssRUFBRTt3QkFDTCxPQUFPLEVBQUUsTUFBTTt3QkFDZixlQUFlLEVBQUUsTUFBTSxDQUFDLGdCQUFnQjt3QkFDeEMsWUFBWSxFQUFFLEtBQUs7cUJBQ3BCO29CQUVELHFDQUFHLEtBQUssRUFBRSxFQUFFLE1BQU0sRUFBRSxZQUFZLEVBQUUsUUFBUSxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsTUFBTSxDQUFDLFdBQVcsRUFBRSxvRUFFM0U7b0JBQ0osdUNBQ0UsS0FBSyxFQUFFOzRCQUNMLGVBQWUsRUFBRSxNQUFNLENBQUMsV0FBVzs0QkFDbkMsS0FBSyxFQUFFLFNBQVM7NEJBQ2hCLE9BQU8sRUFBRSxNQUFNOzRCQUNmLFlBQVksRUFBRSxLQUFLOzRCQUNuQixRQUFRLEVBQUUsTUFBTTs0QkFDaEIsUUFBUSxFQUFFLE1BQU07NEJBQ2hCLE1BQU0sRUFBRSxZQUFZO3lCQUNyQixJQUVBLGNBQWM7d0JBQ2IsQ0FBQyxDQUFDOzs7Z0JBR0YsY0FBYyxDQUFDLEdBQUc7OzttQ0FHQyxjQUFjLENBQUMsU0FBUyxDQUFDLFNBQVMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDOzs7O0VBSTFFO3dCQUNjLENBQUMsQ0FBQyxvQkFBb0IsQ0FDcEI7b0JBQ04sMENBQ0UsT0FBTyxFQUFFLElBQUksQ0FBQyxtQkFBbUIsRUFDakMsUUFBUSxFQUFFLENBQUMsY0FBYyxFQUN6QixLQUFLLEVBQUUsSUFBSSxDQUFDLGNBQWMsQ0FDeEIsY0FBYyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsU0FBUyxFQUNsRCxDQUFDLGNBQWMsQ0FDaEIsSUFFQSxNQUFNLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsaUJBQWlCLENBQ2hDLENBQ0wsQ0FDRjtZQUdOLHVDQUFLLEtBQUssRUFBRSxFQUFFLFlBQVksRUFBRSxNQUFNLEVBQUU7Z0JBQ2xDLHNDQUNFLEtBQUssRUFBRTt3QkFDTCxRQUFRLEVBQUUsTUFBTTt3QkFDaEIsVUFBVSxFQUFFLEdBQUc7d0JBQ2YsWUFBWSxFQUFFLE1BQU07d0JBQ3BCLEtBQUssRUFBRSxNQUFNLENBQUMsV0FBVztxQkFDMUIsdUJBR0U7Z0JBQ0wsdUNBQ0UsS0FBSyxFQUFFO3dCQUNMLE9BQU8sRUFBRSxNQUFNO3dCQUNmLGVBQWUsRUFBRSxNQUFNLENBQUMsTUFBTTt3QkFDOUIsWUFBWSxFQUFFLEtBQUs7d0JBQ25CLE1BQU0sRUFBRSxhQUFhLE1BQU0sQ0FBQyxVQUFVLEVBQUU7cUJBQ3pDO29CQUVELHFDQUNFLEtBQUssRUFBRTs0QkFDTCxNQUFNLEVBQUUsV0FBVzs0QkFDbkIsUUFBUSxFQUFFLE1BQU07NEJBQ2hCLFVBQVUsRUFBRSxHQUFHOzRCQUNmLEtBQUssRUFBRSxNQUFNLENBQUMsUUFBUTt5QkFDdkIsdUNBR0M7b0JBQ0osc0NBQ0UsS0FBSyxFQUFFLEVBQUUsTUFBTSxFQUFFLENBQUMsRUFBRSxXQUFXLEVBQUUsTUFBTSxFQUFFLFFBQVEsRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLE1BQU0sQ0FBQyxRQUFRLEVBQUU7d0JBRW5GLG9FQUF3Qzt3QkFDeEMsb0VBQXdDO3dCQUN4QyxzRkFBMEQ7d0JBQzFELDhFQUFrRDt3QkFDbEQsdUVBQTJDO3dCQUMzQyx1RkFBMkQsQ0FDeEQsQ0FDRCxDQUNGLENBQ0wsQ0FDSixDQUFDO0lBQ0osQ0FBQztJQUVELE1BQU07UUFDSixNQUFNLEVBQUUsU0FBUyxFQUFFLE1BQU0sRUFBRSxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUM7UUFFekMsT0FBTyxDQUNMLHVDQUFLLEtBQUssRUFBRSxFQUFFLE9BQU8sRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLE1BQU0sQ0FBQyxXQUFXLEVBQUU7WUFDeEQsc0NBQ0UsS0FBSyxFQUFFO29CQUNMLFlBQVksRUFBRSxNQUFNO29CQUNwQixRQUFRLEVBQUUsTUFBTTtvQkFDaEIsVUFBVSxFQUFFLEdBQUc7b0JBQ2YsS0FBSyxFQUFFLE1BQU0sQ0FBQyxXQUFXO2lCQUMxQixpQkFHRTtZQUVMLHFDQUFHLEtBQUssRUFBRSxFQUFFLEtBQUssRUFBRSxNQUFNLENBQUMsYUFBYSxFQUFFLFlBQVksRUFBRSxNQUFNLEVBQUUsNkdBRzNEO1lBR0osdUNBQUssS0FBSyxFQUFFLEVBQUUsWUFBWSxFQUFFLGFBQWEsTUFBTSxDQUFDLE1BQU0sRUFBRSxFQUFFLFlBQVksRUFBRSxNQUFNLEVBQUU7Z0JBQzlFLDBDQUNFLEtBQUssRUFBRSxJQUFJLENBQUMsV0FBVyxDQUFDLFNBQVMsS0FBSyxRQUFRLENBQUMsRUFDL0MsT0FBTyxFQUFFLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsRUFBRSxTQUFTLEVBQUUsUUFBUSxFQUFFLENBQUMsd0JBRzlDO2dCQUNULDBDQUNFLEtBQUssRUFBRSxJQUFJLENBQUMsV0FBVyxDQUFDLFNBQVMsS0FBSyxPQUFPLENBQUMsRUFDOUMsT0FBTyxFQUFFLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsRUFBRSxTQUFTLEVBQUUsT0FBTyxFQUFFLENBQUMsb0JBRzdDLENBQ0w7WUFFTCxTQUFTLEtBQUssUUFBUSxJQUFJLElBQUksQ0FBQyxlQUFlLEVBQUU7WUFDaEQsU0FBUyxLQUFLLE9BQU8sSUFBSSxJQUFJLENBQUMsY0FBYyxFQUFFLENBQzNDLENBQ1AsQ0FBQztJQUNKLENBQUM7Q0FDRjtBQUVELDhEQUE4RDtBQUM5RCxNQUFNLENBQUMsT0FBTyxHQUFHLFNBQVMsaUJBQWlCLENBQUMsT0FBOEM7SUFDeEYsNkNBQTZDO0lBQzdDLHlEQUF5RDtJQUN6RDs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztNQXlCRTtJQUVGLG1DQUFtQztJQUNuQyxLQUFLLE9BQU8sQ0FBQztBQUNmLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogTUNQIFNlcnZlciBBZGRvbiAtIFJlbmRlcmVyIEVudHJ5IFBvaW50XG4gKiBBZGRzIE1DUCBTZXJ2ZXIgcHJlZmVyZW5jZXMgcGFuZWwgdG8gTG9jYWxcbiAqXG4gKiBVc2VzIGNsYXNzIGNvbXBvbmVudHMgZm9yIGNvbXBhdGliaWxpdHkgd2l0aCBMb2NhbCdzIEVsZWN0cm9uIGVudmlyb25tZW50LlxuICovXG5cbmltcG9ydCBSZWFjdCBmcm9tICdyZWFjdCc7XG5pbXBvcnQgeyBnZXRUaGVtZUNvbG9ycywgb25UaGVtZUNoYW5nZSwgVGhlbWVDb2xvcnMgfSBmcm9tICcuLi9jb21tb24vdGhlbWUnO1xuXG4vLyBUeXBlIGRlZmluaXRpb25zXG5pbnRlcmZhY2UgTWNwU3RhdHVzIHtcbiAgcnVubmluZzogYm9vbGVhbjtcbiAgcG9ydDogbnVtYmVyO1xuICB1cHRpbWU6IG51bWJlcjtcbiAgZXJyb3I/OiBzdHJpbmc7XG59XG5cbmludGVyZmFjZSBDb25uZWN0aW9uSW5mbyB7XG4gIHVybDogc3RyaW5nO1xuICBhdXRoVG9rZW46IHN0cmluZztcbiAgcG9ydDogbnVtYmVyO1xuICB2ZXJzaW9uOiBzdHJpbmc7XG4gIHRvb2xzOiBzdHJpbmdbXTtcbn1cblxuaW50ZXJmYWNlIE1jcFByZWZlcmVuY2VzUGFuZWxQcm9wcyB7XG4gIGVsZWN0cm9uOiB7XG4gICAgaXBjUmVuZGVyZXI/OiB7XG4gICAgICBpbnZva2U6IChjaGFubmVsOiBzdHJpbmcsIC4uLmFyZ3M6IHVua25vd25bXSkgPT4gUHJvbWlzZTx1bmtub3duPjtcbiAgICB9O1xuICB9O1xufVxuXG5pbnRlcmZhY2UgTWNwUHJlZmVyZW5jZXNQYW5lbFN0YXRlIHtcbiAgc3RhdHVzOiBNY3BTdGF0dXMgfCBudWxsO1xuICBjb25uZWN0aW9uSW5mbzogQ29ubmVjdGlvbkluZm8gfCBudWxsO1xuICBsb2FkaW5nOiBib29sZWFuO1xuICBjb3BpZWQ6IGJvb2xlYW47XG4gIGFjdGlvbkluUHJvZ3Jlc3M6IGJvb2xlYW47XG4gIGFjdGl2ZVRhYjogJ3N0YXR1cycgfCAnc2V0dXAnO1xuICBjb2xvcnM6IFRoZW1lQ29sb3JzO1xufVxuXG4vLyBNQ1AgUHJlZmVyZW5jZXMgUGFuZWwgQ29tcG9uZW50IChDbGFzcy1iYXNlZCBmb3IgTG9jYWwgY29tcGF0aWJpbGl0eSlcbi8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tdW51c2VkLXZhcnNcbmNsYXNzIF9NY3BQcmVmZXJlbmNlc1BhbmVsIGV4dGVuZHMgUmVhY3QuQ29tcG9uZW50PFxuICBNY3BQcmVmZXJlbmNlc1BhbmVsUHJvcHMsXG4gIE1jcFByZWZlcmVuY2VzUGFuZWxTdGF0ZVxuPiB7XG4gIHByaXZhdGUgc3RhdHVzSW50ZXJ2YWw/OiBSZXR1cm5UeXBlPHR5cGVvZiBzZXRJbnRlcnZhbD47XG4gIHByaXZhdGUgdGhlbWVDbGVhbnVwPzogKCkgPT4gdm9pZDtcblxuICBzdGF0ZTogTWNwUHJlZmVyZW5jZXNQYW5lbFN0YXRlID0ge1xuICAgIHN0YXR1czogbnVsbCxcbiAgICBjb25uZWN0aW9uSW5mbzogbnVsbCxcbiAgICBsb2FkaW5nOiB0cnVlLFxuICAgIGNvcGllZDogZmFsc2UsXG4gICAgYWN0aW9uSW5Qcm9ncmVzczogZmFsc2UsXG4gICAgYWN0aXZlVGFiOiAnc3RhdHVzJyxcbiAgICBjb2xvcnM6IGdldFRoZW1lQ29sb3JzKCksXG4gIH07XG5cbiAgY29tcG9uZW50RGlkTW91bnQoKTogdm9pZCB7XG4gICAgdGhpcy5pbml0KCk7XG4gICAgdGhpcy5zdGF0dXNJbnRlcnZhbCA9IHNldEludGVydmFsKCgpID0+IHRoaXMuZmV0Y2hTdGF0dXMoKSwgNTAwMCk7XG4gICAgdGhpcy50aGVtZUNsZWFudXAgPSBvblRoZW1lQ2hhbmdlKCgpID0+IHtcbiAgICAgIHRoaXMuc2V0U3RhdGUoeyBjb2xvcnM6IGdldFRoZW1lQ29sb3JzKCkgfSk7XG4gICAgfSk7XG4gIH1cblxuICBjb21wb25lbnRXaWxsVW5tb3VudCgpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5zdGF0dXNJbnRlcnZhbCkge1xuICAgICAgY2xlYXJJbnRlcnZhbCh0aGlzLnN0YXR1c0ludGVydmFsKTtcbiAgICB9XG4gICAgaWYgKHRoaXMudGhlbWVDbGVhbnVwKSB7XG4gICAgICB0aGlzLnRoZW1lQ2xlYW51cCgpO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgYXN5bmMgaW5pdCgpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICBhd2FpdCBQcm9taXNlLmFsbChbdGhpcy5mZXRjaFN0YXR1cygpLCB0aGlzLmZldGNoQ29ubmVjdGlvbkluZm8oKV0pO1xuICAgIHRoaXMuc2V0U3RhdGUoeyBsb2FkaW5nOiBmYWxzZSB9KTtcbiAgfVxuXG4gIHByaXZhdGUgZmV0Y2hTdGF0dXMgPSBhc3luYyAoKTogUHJvbWlzZTx2b2lkPiA9PiB7XG4gICAgdHJ5IHtcbiAgICAgIGNvbnN0IHJlc3VsdCA9IChhd2FpdCB0aGlzLnByb3BzLmVsZWN0cm9uPy5pcGNSZW5kZXJlcj8uaW52b2tlKCdtY3A6Z2V0U3RhdHVzJykpIGFzXG4gICAgICAgIHwgTWNwU3RhdHVzXG4gICAgICAgIHwgdW5kZWZpbmVkO1xuICAgICAgaWYgKHJlc3VsdCkge1xuICAgICAgICB0aGlzLnNldFN0YXRlKHsgc3RhdHVzOiByZXN1bHQgfSk7XG4gICAgICB9XG4gICAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAgIGNvbnNvbGUuZXJyb3IoJ0ZhaWxlZCB0byBmZXRjaCBNQ1Agc3RhdHVzOicsIGVycm9yKTtcbiAgICB9XG4gIH07XG5cbiAgcHJpdmF0ZSBmZXRjaENvbm5lY3Rpb25JbmZvID0gYXN5bmMgKCk6IFByb21pc2U8dm9pZD4gPT4ge1xuICAgIHRyeSB7XG4gICAgICBjb25zdCByZXN1bHQgPSAoYXdhaXQgdGhpcy5wcm9wcy5lbGVjdHJvbj8uaXBjUmVuZGVyZXI/Lmludm9rZSgnbWNwOmdldENvbm5lY3Rpb25JbmZvJykpIGFzXG4gICAgICAgIHwgQ29ubmVjdGlvbkluZm9cbiAgICAgICAgfCB1bmRlZmluZWQ7XG4gICAgICBpZiAocmVzdWx0KSB7XG4gICAgICAgIHRoaXMuc2V0U3RhdGUoeyBjb25uZWN0aW9uSW5mbzogcmVzdWx0IH0pO1xuICAgICAgfVxuICAgIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgICBjb25zb2xlLmVycm9yKCdGYWlsZWQgdG8gZmV0Y2ggY29ubmVjdGlvbiBpbmZvOicsIGVycm9yKTtcbiAgICB9XG4gIH07XG5cbiAgcHJpdmF0ZSBoYW5kbGVDb3B5U3RkaW9Db25maWcgPSAoKTogdm9pZCA9PiB7XG4gICAgY29uc3QgY29uZmlnID0ge1xuICAgICAgbWNwU2VydmVyczoge1xuICAgICAgICBsb2NhbDoge1xuICAgICAgICAgIHR5cGU6ICdzdGRpbycsXG4gICAgICAgICAgY29tbWFuZDogJ25vZGUnLFxuICAgICAgICAgIGFyZ3M6IFsnL3BhdGgvdG8vbG9jYWwtYWRkb24tbWNwLXNlcnZlci9iaW4vbWNwLXN0ZGlvLmpzJ10sXG4gICAgICAgIH0sXG4gICAgICB9LFxuICAgIH07XG4gICAgbmF2aWdhdG9yLmNsaXBib2FyZC53cml0ZVRleHQoSlNPTi5zdHJpbmdpZnkoY29uZmlnLCBudWxsLCAyKSk7XG4gICAgdGhpcy5zZXRTdGF0ZSh7IGNvcGllZDogdHJ1ZSB9KTtcbiAgICBzZXRUaW1lb3V0KCgpID0+IHRoaXMuc2V0U3RhdGUoeyBjb3BpZWQ6IGZhbHNlIH0pLCAyMDAwKTtcbiAgfTtcblxuICBwcml2YXRlIGhhbmRsZUNvcHlTc2VDb25maWcgPSAoKTogdm9pZCA9PiB7XG4gICAgY29uc3QgeyBjb25uZWN0aW9uSW5mbyB9ID0gdGhpcy5zdGF0ZTtcbiAgICBpZiAoY29ubmVjdGlvbkluZm8pIHtcbiAgICAgIGNvbnN0IGNvbmZpZyA9IHtcbiAgICAgICAgbWNwU2VydmVyczoge1xuICAgICAgICAgIGxvY2FsOiB7XG4gICAgICAgICAgICB1cmw6IGAke2Nvbm5lY3Rpb25JbmZvLnVybH0vbWNwL3NzZWAsXG4gICAgICAgICAgICB0cmFuc3BvcnQ6ICdzc2UnLFxuICAgICAgICAgICAgaGVhZGVyczoge1xuICAgICAgICAgICAgICBBdXRob3JpemF0aW9uOiBgQmVhcmVyICR7Y29ubmVjdGlvbkluZm8uYXV0aFRva2VufWAsXG4gICAgICAgICAgICB9LFxuICAgICAgICAgIH0sXG4gICAgICAgIH0sXG4gICAgICB9O1xuICAgICAgbmF2aWdhdG9yLmNsaXBib2FyZC53cml0ZVRleHQoSlNPTi5zdHJpbmdpZnkoY29uZmlnLCBudWxsLCAyKSk7XG4gICAgICB0aGlzLnNldFN0YXRlKHsgY29waWVkOiB0cnVlIH0pO1xuICAgICAgc2V0VGltZW91dCgoKSA9PiB0aGlzLnNldFN0YXRlKHsgY29waWVkOiBmYWxzZSB9KSwgMjAwMCk7XG4gICAgfVxuICB9O1xuXG4gIHByaXZhdGUgaGFuZGxlVGVzdENvbm5lY3Rpb24gPSBhc3luYyAoKTogUHJvbWlzZTx2b2lkPiA9PiB7XG4gICAgY29uc3QgeyBjb25uZWN0aW9uSW5mbyB9ID0gdGhpcy5zdGF0ZTtcbiAgICB0cnkge1xuICAgICAgY29uc3QgcmVzcG9uc2UgPSBhd2FpdCBmZXRjaChgaHR0cDovLzEyNy4wLjAuMToke2Nvbm5lY3Rpb25JbmZvPy5wb3J0fS9oZWFsdGhgKTtcbiAgICAgIGNvbnN0IGRhdGEgPSBhd2FpdCByZXNwb25zZS5qc29uKCk7XG4gICAgICBpZiAoZGF0YS5zdGF0dXMgPT09ICdvaycpIHtcbiAgICAgICAgYWxlcnQoJ0Nvbm5lY3Rpb24gc3VjY2Vzc2Z1bCEgTUNQIHNlcnZlciBpcyBoZWFsdGh5LicpO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgYWxlcnQoJ0Nvbm5lY3Rpb24gZmFpbGVkOiBTZXJ2ZXIgcmV0dXJuZWQgdW5leHBlY3RlZCByZXNwb25zZScpO1xuICAgICAgfVxuICAgIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgICBjb25zdCBtZXNzYWdlID0gZXJyb3IgaW5zdGFuY2VvZiBFcnJvciA/IGVycm9yLm1lc3NhZ2UgOiAnVW5rbm93biBlcnJvcic7XG4gICAgICBhbGVydChgQ29ubmVjdGlvbiBmYWlsZWQ6ICR7bWVzc2FnZX1gKTtcbiAgICB9XG4gIH07XG5cbiAgcHJpdmF0ZSBoYW5kbGVTdGFydFN0b3AgPSBhc3luYyAoKTogUHJvbWlzZTx2b2lkPiA9PiB7XG4gICAgY29uc3QgeyBzdGF0dXMgfSA9IHRoaXMuc3RhdGU7XG4gICAgdGhpcy5zZXRTdGF0ZSh7IGFjdGlvbkluUHJvZ3Jlc3M6IHRydWUgfSk7XG4gICAgdHJ5IHtcbiAgICAgIGlmIChzdGF0dXM/LnJ1bm5pbmcpIHtcbiAgICAgICAgYXdhaXQgdGhpcy5wcm9wcy5lbGVjdHJvbj8uaXBjUmVuZGVyZXI/Lmludm9rZSgnbWNwOnN0b3AnKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIGF3YWl0IHRoaXMucHJvcHMuZWxlY3Ryb24/LmlwY1JlbmRlcmVyPy5pbnZva2UoJ21jcDpzdGFydCcpO1xuICAgICAgfVxuICAgICAgYXdhaXQgdGhpcy5mZXRjaFN0YXR1cygpO1xuICAgICAgYXdhaXQgdGhpcy5mZXRjaENvbm5lY3Rpb25JbmZvKCk7XG4gICAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAgIGNvbnN0IG1lc3NhZ2UgPSBlcnJvciBpbnN0YW5jZW9mIEVycm9yID8gZXJyb3IubWVzc2FnZSA6ICdVbmtub3duIGVycm9yJztcbiAgICAgIGFsZXJ0KGBBY3Rpb24gZmFpbGVkOiAke21lc3NhZ2V9YCk7XG4gICAgfSBmaW5hbGx5IHtcbiAgICAgIHRoaXMuc2V0U3RhdGUoeyBhY3Rpb25JblByb2dyZXNzOiBmYWxzZSB9KTtcbiAgICB9XG4gIH07XG5cbiAgcHJpdmF0ZSBoYW5kbGVSZXN0YXJ0ID0gYXN5bmMgKCk6IFByb21pc2U8dm9pZD4gPT4ge1xuICAgIHRoaXMuc2V0U3RhdGUoeyBhY3Rpb25JblByb2dyZXNzOiB0cnVlIH0pO1xuICAgIHRyeSB7XG4gICAgICBhd2FpdCB0aGlzLnByb3BzLmVsZWN0cm9uPy5pcGNSZW5kZXJlcj8uaW52b2tlKCdtY3A6cmVzdGFydCcpO1xuICAgICAgYXdhaXQgdGhpcy5mZXRjaFN0YXR1cygpO1xuICAgICAgYXdhaXQgdGhpcy5mZXRjaENvbm5lY3Rpb25JbmZvKCk7XG4gICAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAgIGNvbnN0IG1lc3NhZ2UgPSBlcnJvciBpbnN0YW5jZW9mIEVycm9yID8gZXJyb3IubWVzc2FnZSA6ICdVbmtub3duIGVycm9yJztcbiAgICAgIGFsZXJ0KGBSZXN0YXJ0IGZhaWxlZDogJHttZXNzYWdlfWApO1xuICAgIH0gZmluYWxseSB7XG4gICAgICB0aGlzLnNldFN0YXRlKHsgYWN0aW9uSW5Qcm9ncmVzczogZmFsc2UgfSk7XG4gICAgfVxuICB9O1xuXG4gIHByaXZhdGUgaGFuZGxlUmVnZW5lcmF0ZVRva2VuID0gYXN5bmMgKCk6IFByb21pc2U8dm9pZD4gPT4ge1xuICAgIGlmIChcbiAgICAgICFjb25maXJtKFxuICAgICAgICAnUmVnZW5lcmF0ZSBhdXRoZW50aWNhdGlvbiB0b2tlbj8gWW91IHdpbGwgbmVlZCB0byB1cGRhdGUgeW91ciBBSSB0b29sIGNvbmZpZ3VyYXRpb24uJ1xuICAgICAgKVxuICAgICkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICB0aGlzLnNldFN0YXRlKHsgYWN0aW9uSW5Qcm9ncmVzczogdHJ1ZSB9KTtcbiAgICB0cnkge1xuICAgICAgY29uc3QgcmVzdWx0ID0gKGF3YWl0IHRoaXMucHJvcHMuZWxlY3Ryb24/LmlwY1JlbmRlcmVyPy5pbnZva2UoJ21jcDpyZWdlbmVyYXRlVG9rZW4nKSkgYXMge1xuICAgICAgICBzdWNjZXNzPzogYm9vbGVhbjtcbiAgICAgICAgZXJyb3I/OiBzdHJpbmc7XG4gICAgICB9O1xuICAgICAgaWYgKHJlc3VsdD8uc3VjY2Vzcykge1xuICAgICAgICBhd2FpdCB0aGlzLmZldGNoQ29ubmVjdGlvbkluZm8oKTtcbiAgICAgICAgYWxlcnQoJ1Rva2VuIHJlZ2VuZXJhdGVkIHN1Y2Nlc3NmdWxseS4gUGxlYXNlIHVwZGF0ZSB5b3VyIEFJIHRvb2wgY29uZmlndXJhdGlvbi4nKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIGFsZXJ0KGBGYWlsZWQgdG8gcmVnZW5lcmF0ZSB0b2tlbjogJHtyZXN1bHQ/LmVycm9yfWApO1xuICAgICAgfVxuICAgIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgICBjb25zdCBtZXNzYWdlID0gZXJyb3IgaW5zdGFuY2VvZiBFcnJvciA/IGVycm9yLm1lc3NhZ2UgOiAnVW5rbm93biBlcnJvcic7XG4gICAgICBhbGVydChgRmFpbGVkIHRvIHJlZ2VuZXJhdGUgdG9rZW46ICR7bWVzc2FnZX1gKTtcbiAgICB9IGZpbmFsbHkge1xuICAgICAgdGhpcy5zZXRTdGF0ZSh7IGFjdGlvbkluUHJvZ3Jlc3M6IGZhbHNlIH0pO1xuICAgIH1cbiAgfTtcblxuICBwcml2YXRlIGdldFN0YXR1c0NvbG9yKCk6IHN0cmluZyB7XG4gICAgY29uc3QgeyBzdGF0dXMsIGNvbG9ycyB9ID0gdGhpcy5zdGF0ZTtcbiAgICBpZiAoIXN0YXR1cykgcmV0dXJuIGNvbG9ycy50ZXh0TXV0ZWQ7XG4gICAgaWYgKHN0YXR1cy5ydW5uaW5nKSByZXR1cm4gY29sb3JzLnN1Y2Nlc3NUZXh0O1xuICAgIHJldHVybiBjb2xvcnMuZXJyb3JUZXh0O1xuICB9XG5cbiAgcHJpdmF0ZSBnZXRTdGF0dXNUZXh0KCk6IHN0cmluZyB7XG4gICAgY29uc3QgeyBsb2FkaW5nLCBzdGF0dXMgfSA9IHRoaXMuc3RhdGU7XG4gICAgaWYgKGxvYWRpbmcpIHJldHVybiAnTG9hZGluZy4uLic7XG4gICAgaWYgKCFzdGF0dXMpIHJldHVybiAnVW5rbm93bic7XG4gICAgaWYgKHN0YXR1cy5ydW5uaW5nKSByZXR1cm4gJ1J1bm5pbmcnO1xuICAgIHJldHVybiAnU3RvcHBlZCc7XG4gIH1cblxuICBwcml2YXRlIGZvcm1hdFVwdGltZShzZWNvbmRzOiBudW1iZXIpOiBzdHJpbmcge1xuICAgIGlmIChzZWNvbmRzIDwgNjApIHJldHVybiBgJHtNYXRoLmZsb29yKHNlY29uZHMpfXNgO1xuICAgIGlmIChzZWNvbmRzIDwgMzYwMCkgcmV0dXJuIGAke01hdGguZmxvb3Ioc2Vjb25kcyAvIDYwKX1tYDtcbiAgICByZXR1cm4gYCR7TWF0aC5mbG9vcihzZWNvbmRzIC8gMzYwMCl9aCAke01hdGguZmxvb3IoKHNlY29uZHMgJSAzNjAwKSAvIDYwKX1tYDtcbiAgfVxuXG4gIHByaXZhdGUgZ2V0VGFiU3R5bGUoaXNBY3RpdmU6IGJvb2xlYW4pOiBSZWFjdC5DU1NQcm9wZXJ0aWVzIHtcbiAgICBjb25zdCB7IGNvbG9ycyB9ID0gdGhpcy5zdGF0ZTtcbiAgICByZXR1cm4ge1xuICAgICAgcGFkZGluZzogJzhweCAxNnB4JyxcbiAgICAgIGJvcmRlcjogJ25vbmUnLFxuICAgICAgYm9yZGVyQm90dG9tOiBpc0FjdGl2ZSA/IGAycHggc29saWQgJHtjb2xvcnMucHJpbWFyeX1gIDogJzJweCBzb2xpZCB0cmFuc3BhcmVudCcsXG4gICAgICBiYWNrZ3JvdW5kQ29sb3I6ICd0cmFuc3BhcmVudCcsXG4gICAgICBjb2xvcjogaXNBY3RpdmUgPyBjb2xvcnMucHJpbWFyeSA6IGNvbG9ycy50ZXh0U2Vjb25kYXJ5LFxuICAgICAgY3Vyc29yOiAncG9pbnRlcicsXG4gICAgICBmb250U2l6ZTogJzE0cHgnLFxuICAgICAgZm9udFdlaWdodDogaXNBY3RpdmUgPyA2MDAgOiA0MDAsXG4gICAgfTtcbiAgfVxuXG4gIHByaXZhdGUgZ2V0QnV0dG9uU3R5bGUoYmdDb2xvcjogc3RyaW5nLCBkaXNhYmxlZD86IGJvb2xlYW4pOiBSZWFjdC5DU1NQcm9wZXJ0aWVzIHtcbiAgICByZXR1cm4ge1xuICAgICAgcGFkZGluZzogJzhweCAxNnB4JyxcbiAgICAgIGJhY2tncm91bmRDb2xvcjogYmdDb2xvcixcbiAgICAgIGNvbG9yOiAnd2hpdGUnLFxuICAgICAgYm9yZGVyOiAnbm9uZScsXG4gICAgICBib3JkZXJSYWRpdXM6ICc0cHgnLFxuICAgICAgY3Vyc29yOiBkaXNhYmxlZCA/ICdub3QtYWxsb3dlZCcgOiAncG9pbnRlcicsXG4gICAgICBmb250U2l6ZTogJzEzcHgnLFxuICAgICAgb3BhY2l0eTogZGlzYWJsZWQgPyAwLjUgOiAxLFxuICAgIH07XG4gIH1cblxuICBwcml2YXRlIHJlbmRlclN0YXR1c1RhYigpOiBSZWFjdC5SZWFjdE5vZGUge1xuICAgIGNvbnN0IHsgc3RhdHVzLCBjb25uZWN0aW9uSW5mbywgYWN0aW9uSW5Qcm9ncmVzcywgY29sb3JzIH0gPSB0aGlzLnN0YXRlO1xuXG4gICAgcmV0dXJuIChcbiAgICAgIDw+XG4gICAgICAgIHsvKiBTdGF0dXMgU2VjdGlvbiAqL31cbiAgICAgICAgPGRpdiBzdHlsZT17eyBtYXJnaW5Cb3R0b206ICcyNHB4JyB9fT5cbiAgICAgICAgICA8aDNcbiAgICAgICAgICAgIHN0eWxlPXt7XG4gICAgICAgICAgICAgIGZvbnRTaXplOiAnMTRweCcsXG4gICAgICAgICAgICAgIGZvbnRXZWlnaHQ6IDYwMCxcbiAgICAgICAgICAgICAgbWFyZ2luQm90dG9tOiAnMTJweCcsXG4gICAgICAgICAgICAgIGNvbG9yOiBjb2xvcnMudGV4dFByaW1hcnksXG4gICAgICAgICAgICB9fVxuICAgICAgICAgID5cbiAgICAgICAgICAgIFNlcnZlciBTdGF0dXNcbiAgICAgICAgICA8L2gzPlxuICAgICAgICAgIDxkaXZcbiAgICAgICAgICAgIHN0eWxlPXt7XG4gICAgICAgICAgICAgIGRpc3BsYXk6ICdmbGV4JyxcbiAgICAgICAgICAgICAgYWxpZ25JdGVtczogJ2NlbnRlcicsXG4gICAgICAgICAgICAgIGdhcDogJzEycHgnLFxuICAgICAgICAgICAgICBwYWRkaW5nOiAnMTJweCcsXG4gICAgICAgICAgICAgIGJhY2tncm91bmRDb2xvcjogY29sb3JzLnBhbmVsQmdTZWNvbmRhcnksXG4gICAgICAgICAgICAgIGJvcmRlclJhZGl1czogJzZweCcsXG4gICAgICAgICAgICB9fVxuICAgICAgICAgID5cbiAgICAgICAgICAgIDxzcGFuXG4gICAgICAgICAgICAgIHN0eWxlPXt7XG4gICAgICAgICAgICAgICAgd2lkdGg6ICcxMnB4JyxcbiAgICAgICAgICAgICAgICBoZWlnaHQ6ICcxMnB4JyxcbiAgICAgICAgICAgICAgICBib3JkZXJSYWRpdXM6ICc1MCUnLFxuICAgICAgICAgICAgICAgIGJhY2tncm91bmRDb2xvcjogdGhpcy5nZXRTdGF0dXNDb2xvcigpLFxuICAgICAgICAgICAgICB9fVxuICAgICAgICAgICAgLz5cbiAgICAgICAgICAgIDxzcGFuIHN0eWxlPXt7IGZvbnRXZWlnaHQ6IDUwMCwgY29sb3I6IGNvbG9ycy50ZXh0UHJpbWFyeSB9fT5cbiAgICAgICAgICAgICAge3RoaXMuZ2V0U3RhdHVzVGV4dCgpfVxuICAgICAgICAgICAgPC9zcGFuPlxuICAgICAgICAgICAge3N0YXR1cz8ucnVubmluZyAmJiAoXG4gICAgICAgICAgICAgIDw+XG4gICAgICAgICAgICAgICAgPHNwYW4gc3R5bGU9e3sgY29sb3I6IGNvbG9ycy50ZXh0U2Vjb25kYXJ5IH19Pnw8L3NwYW4+XG4gICAgICAgICAgICAgICAgPHNwYW4gc3R5bGU9e3sgY29sb3I6IGNvbG9ycy50ZXh0U2Vjb25kYXJ5IH19PlBvcnQ6IHtzdGF0dXMucG9ydH08L3NwYW4+XG4gICAgICAgICAgICAgICAgPHNwYW4gc3R5bGU9e3sgY29sb3I6IGNvbG9ycy50ZXh0U2Vjb25kYXJ5IH19Pnw8L3NwYW4+XG4gICAgICAgICAgICAgICAgPHNwYW4gc3R5bGU9e3sgY29sb3I6IGNvbG9ycy50ZXh0U2Vjb25kYXJ5IH19PlxuICAgICAgICAgICAgICAgICAgVXB0aW1lOiB7dGhpcy5mb3JtYXRVcHRpbWUoc3RhdHVzLnVwdGltZSl9XG4gICAgICAgICAgICAgICAgPC9zcGFuPlxuICAgICAgICAgICAgICA8Lz5cbiAgICAgICAgICAgICl9XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZGl2PlxuXG4gICAgICAgIHsvKiBTZXJ2ZXIgQ29udHJvbHMgKi99XG4gICAgICAgIDxkaXYgc3R5bGU9e3sgbWFyZ2luQm90dG9tOiAnMjRweCcgfX0+XG4gICAgICAgICAgPGgzXG4gICAgICAgICAgICBzdHlsZT17e1xuICAgICAgICAgICAgICBmb250U2l6ZTogJzE0cHgnLFxuICAgICAgICAgICAgICBmb250V2VpZ2h0OiA2MDAsXG4gICAgICAgICAgICAgIG1hcmdpbkJvdHRvbTogJzEycHgnLFxuICAgICAgICAgICAgICBjb2xvcjogY29sb3JzLnRleHRQcmltYXJ5LFxuICAgICAgICAgICAgfX1cbiAgICAgICAgICA+XG4gICAgICAgICAgICBTZXJ2ZXIgQ29udHJvbHNcbiAgICAgICAgICA8L2gzPlxuICAgICAgICAgIDxkaXYgc3R5bGU9e3sgZGlzcGxheTogJ2ZsZXgnLCBnYXA6ICcxMnB4JywgZmxleFdyYXA6ICd3cmFwJyB9fT5cbiAgICAgICAgICAgIDxidXR0b25cbiAgICAgICAgICAgICAgb25DbGljaz17dGhpcy5oYW5kbGVTdGFydFN0b3B9XG4gICAgICAgICAgICAgIGRpc2FibGVkPXthY3Rpb25JblByb2dyZXNzfVxuICAgICAgICAgICAgICBzdHlsZT17dGhpcy5nZXRCdXR0b25TdHlsZShcbiAgICAgICAgICAgICAgICBzdGF0dXM/LnJ1bm5pbmcgPyBjb2xvcnMuZXJyb3JUZXh0IDogY29sb3JzLnN1Y2Nlc3NUZXh0LFxuICAgICAgICAgICAgICAgIGFjdGlvbkluUHJvZ3Jlc3NcbiAgICAgICAgICAgICAgKX1cbiAgICAgICAgICAgID5cbiAgICAgICAgICAgICAge3N0YXR1cz8ucnVubmluZyA/ICdTdG9wIFNlcnZlcicgOiAnU3RhcnQgU2VydmVyJ31cbiAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgICAgPGJ1dHRvblxuICAgICAgICAgICAgICBvbkNsaWNrPXt0aGlzLmhhbmRsZVJlc3RhcnR9XG4gICAgICAgICAgICAgIGRpc2FibGVkPXthY3Rpb25JblByb2dyZXNzIHx8ICFzdGF0dXM/LnJ1bm5pbmd9XG4gICAgICAgICAgICAgIHN0eWxlPXt0aGlzLmdldEJ1dHRvblN0eWxlKCcjNmM3NTdkJywgYWN0aW9uSW5Qcm9ncmVzcyB8fCAhc3RhdHVzPy5ydW5uaW5nKX1cbiAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgUmVzdGFydCBTZXJ2ZXJcbiAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgICAgPGJ1dHRvblxuICAgICAgICAgICAgICBvbkNsaWNrPXt0aGlzLmhhbmRsZVRlc3RDb25uZWN0aW9ufVxuICAgICAgICAgICAgICBkaXNhYmxlZD17IXN0YXR1cz8ucnVubmluZ31cbiAgICAgICAgICAgICAgc3R5bGU9e3RoaXMuZ2V0QnV0dG9uU3R5bGUoXG4gICAgICAgICAgICAgICAgc3RhdHVzPy5ydW5uaW5nID8gJyMxN2EyYjgnIDogY29sb3JzLnRleHRNdXRlZCxcbiAgICAgICAgICAgICAgICAhc3RhdHVzPy5ydW5uaW5nXG4gICAgICAgICAgICAgICl9XG4gICAgICAgICAgICA+XG4gICAgICAgICAgICAgIFRlc3QgQ29ubmVjdGlvblxuICAgICAgICAgICAgPC9idXR0b24+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZGl2PlxuXG4gICAgICAgIHsvKiBDb25uZWN0aW9uIEluZm8gU2VjdGlvbiAqL31cbiAgICAgICAge2Nvbm5lY3Rpb25JbmZvICYmIChcbiAgICAgICAgICA8ZGl2IHN0eWxlPXt7IG1hcmdpbkJvdHRvbTogJzI0cHgnIH19PlxuICAgICAgICAgICAgPGgzXG4gICAgICAgICAgICAgIHN0eWxlPXt7XG4gICAgICAgICAgICAgICAgZm9udFNpemU6ICcxNHB4JyxcbiAgICAgICAgICAgICAgICBmb250V2VpZ2h0OiA2MDAsXG4gICAgICAgICAgICAgICAgbWFyZ2luQm90dG9tOiAnMTJweCcsXG4gICAgICAgICAgICAgICAgY29sb3I6IGNvbG9ycy50ZXh0UHJpbWFyeSxcbiAgICAgICAgICAgICAgfX1cbiAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgQ29ubmVjdGlvbiBJbmZvXG4gICAgICAgICAgICA8L2gzPlxuICAgICAgICAgICAgPGRpdlxuICAgICAgICAgICAgICBzdHlsZT17e1xuICAgICAgICAgICAgICAgIHBhZGRpbmc6ICcxMnB4JyxcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kQ29sb3I6IGNvbG9ycy5wYW5lbEJnU2Vjb25kYXJ5LFxuICAgICAgICAgICAgICAgIGJvcmRlclJhZGl1czogJzZweCcsXG4gICAgICAgICAgICAgICAgZm9udEZhbWlseTogJ21vbm9zcGFjZScsXG4gICAgICAgICAgICAgICAgZm9udFNpemU6ICcxMnB4JyxcbiAgICAgICAgICAgICAgICBjb2xvcjogY29sb3JzLnRleHRQcmltYXJ5LFxuICAgICAgICAgICAgICB9fVxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgICA8ZGl2IHN0eWxlPXt7IG1hcmdpbkJvdHRvbTogJzhweCcgfX0+XG4gICAgICAgICAgICAgICAgPHN0cm9uZz5VUkw6PC9zdHJvbmc+IHtjb25uZWN0aW9uSW5mby51cmx9XG4gICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICA8ZGl2IHN0eWxlPXt7IG1hcmdpbkJvdHRvbTogJzhweCcgfX0+XG4gICAgICAgICAgICAgICAgPHN0cm9uZz5zdGRpbyBzY3JpcHQ6PC9zdHJvbmc+IGJpbi9tY3Atc3RkaW8uanNcbiAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgIDxkaXYgc3R5bGU9e3sgbWFyZ2luQm90dG9tOiAnOHB4JyB9fT5cbiAgICAgICAgICAgICAgICA8c3Ryb25nPlZlcnNpb246PC9zdHJvbmc+IHtjb25uZWN0aW9uSW5mby52ZXJzaW9ufVxuICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgPGRpdj5cbiAgICAgICAgICAgICAgICA8c3Ryb25nPlRvb2xzOjwvc3Ryb25nPiB7Y29ubmVjdGlvbkluZm8udG9vbHMuam9pbignLCAnKX1cbiAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgKX1cblxuICAgICAgICB7LyogU2VjdXJpdHkgU2VjdGlvbiAqL31cbiAgICAgICAgPGRpdiBzdHlsZT17eyBtYXJnaW5Cb3R0b206ICcyNHB4JyB9fT5cbiAgICAgICAgICA8aDNcbiAgICAgICAgICAgIHN0eWxlPXt7XG4gICAgICAgICAgICAgIGZvbnRTaXplOiAnMTRweCcsXG4gICAgICAgICAgICAgIGZvbnRXZWlnaHQ6IDYwMCxcbiAgICAgICAgICAgICAgbWFyZ2luQm90dG9tOiAnMTJweCcsXG4gICAgICAgICAgICAgIGNvbG9yOiBjb2xvcnMudGV4dFByaW1hcnksXG4gICAgICAgICAgICB9fVxuICAgICAgICAgID5cbiAgICAgICAgICAgIFNlY3VyaXR5XG4gICAgICAgICAgPC9oMz5cbiAgICAgICAgICA8ZGl2IHN0eWxlPXt7IGRpc3BsYXk6ICdmbGV4JywgZ2FwOiAnMTJweCcsIGZsZXhXcmFwOiAnd3JhcCcgfX0+XG4gICAgICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgICAgIG9uQ2xpY2s9e3RoaXMuaGFuZGxlUmVnZW5lcmF0ZVRva2VufVxuICAgICAgICAgICAgICBkaXNhYmxlZD17YWN0aW9uSW5Qcm9ncmVzcyB8fCAhc3RhdHVzPy5ydW5uaW5nfVxuICAgICAgICAgICAgICBzdHlsZT17e1xuICAgICAgICAgICAgICAgIHBhZGRpbmc6ICc4cHggMTZweCcsXG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZENvbG9yOiAnI2ZmYzEwNycsXG4gICAgICAgICAgICAgICAgY29sb3I6ICcjMjEyNTI5JyxcbiAgICAgICAgICAgICAgICBib3JkZXI6ICdub25lJyxcbiAgICAgICAgICAgICAgICBib3JkZXJSYWRpdXM6ICc0cHgnLFxuICAgICAgICAgICAgICAgIGN1cnNvcjogYWN0aW9uSW5Qcm9ncmVzcyB8fCAhc3RhdHVzPy5ydW5uaW5nID8gJ25vdC1hbGxvd2VkJyA6ICdwb2ludGVyJyxcbiAgICAgICAgICAgICAgICBmb250U2l6ZTogJzEzcHgnLFxuICAgICAgICAgICAgICAgIG9wYWNpdHk6IGFjdGlvbkluUHJvZ3Jlc3MgfHwgIXN0YXR1cz8ucnVubmluZyA/IDAuNSA6IDEsXG4gICAgICAgICAgICAgIH19XG4gICAgICAgICAgICA+XG4gICAgICAgICAgICAgIFJlZ2VuZXJhdGUgVG9rZW5cbiAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDxwIHN0eWxlPXt7IGZvbnRTaXplOiAnMTJweCcsIGNvbG9yOiBjb2xvcnMudGV4dFNlY29uZGFyeSwgbWFyZ2luVG9wOiAnOHB4JyB9fT5cbiAgICAgICAgICAgIFJlZ2VuZXJhdGluZyB0aGUgdG9rZW4gd2lsbCByZXF1aXJlIHlvdSB0byB1cGRhdGUgeW91ciBBSSB0b29sIGNvbmZpZ3VyYXRpb24uXG4gICAgICAgICAgPC9wPlxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvPlxuICAgICk7XG4gIH1cblxuICBwcml2YXRlIHJlbmRlclNldHVwVGFiKCk6IFJlYWN0LlJlYWN0Tm9kZSB7XG4gICAgY29uc3QgeyBjb25uZWN0aW9uSW5mbywgY29waWVkLCBjb2xvcnMgfSA9IHRoaXMuc3RhdGU7XG5cbiAgICByZXR1cm4gKFxuICAgICAgPD5cbiAgICAgICAgey8qIENsYXVkZSBDb2RlIFNldHVwICovfVxuICAgICAgICA8ZGl2IHN0eWxlPXt7IG1hcmdpbkJvdHRvbTogJzI0cHgnIH19PlxuICAgICAgICAgIDxoM1xuICAgICAgICAgICAgc3R5bGU9e3tcbiAgICAgICAgICAgICAgZm9udFNpemU6ICcxNHB4JyxcbiAgICAgICAgICAgICAgZm9udFdlaWdodDogNjAwLFxuICAgICAgICAgICAgICBtYXJnaW5Cb3R0b206ICcxMnB4JyxcbiAgICAgICAgICAgICAgY29sb3I6IGNvbG9ycy50ZXh0UHJpbWFyeSxcbiAgICAgICAgICAgIH19XG4gICAgICAgICAgPlxuICAgICAgICAgICAgQ2xhdWRlIENvZGUgKFJlY29tbWVuZGVkKVxuICAgICAgICAgIDwvaDM+XG4gICAgICAgICAgPGRpdlxuICAgICAgICAgICAgc3R5bGU9e3tcbiAgICAgICAgICAgICAgcGFkZGluZzogJzE2cHgnLFxuICAgICAgICAgICAgICBiYWNrZ3JvdW5kQ29sb3I6IGNvbG9ycy5wYW5lbEJnU2Vjb25kYXJ5LFxuICAgICAgICAgICAgICBib3JkZXJSYWRpdXM6ICc2cHgnLFxuICAgICAgICAgICAgfX1cbiAgICAgICAgICA+XG4gICAgICAgICAgICA8cCBzdHlsZT17eyBtYXJnaW46ICcwIDAgMTJweCAwJywgZm9udFNpemU6ICcxM3B4JywgY29sb3I6IGNvbG9ycy50ZXh0UHJpbWFyeSB9fT5cbiAgICAgICAgICAgICAgQWRkIHRoZSBmb2xsb3dpbmcgdG8geW91cnsnICd9XG4gICAgICAgICAgICAgIDxjb2RlXG4gICAgICAgICAgICAgICAgc3R5bGU9e3tcbiAgICAgICAgICAgICAgICAgIGJhY2tncm91bmRDb2xvcjogY29sb3JzLnBhbmVsQmdDb2RlLFxuICAgICAgICAgICAgICAgICAgcGFkZGluZzogJzJweCA0cHgnLFxuICAgICAgICAgICAgICAgICAgYm9yZGVyUmFkaXVzOiAnM3B4JyxcbiAgICAgICAgICAgICAgICAgIGNvbG9yOiAnI2Y4ZjhmMicsXG4gICAgICAgICAgICAgICAgfX1cbiAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgIH4vLmNsYXVkZS5qc29uXG4gICAgICAgICAgICAgIDwvY29kZT57JyAnfVxuICAgICAgICAgICAgICBmaWxlOlxuICAgICAgICAgICAgPC9wPlxuICAgICAgICAgICAgPHByZVxuICAgICAgICAgICAgICBzdHlsZT17e1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmRDb2xvcjogY29sb3JzLnBhbmVsQmdDb2RlLFxuICAgICAgICAgICAgICAgIGNvbG9yOiAnI2Y4ZjhmMicsXG4gICAgICAgICAgICAgICAgcGFkZGluZzogJzEycHgnLFxuICAgICAgICAgICAgICAgIGJvcmRlclJhZGl1czogJzRweCcsXG4gICAgICAgICAgICAgICAgZm9udFNpemU6ICcxMXB4JyxcbiAgICAgICAgICAgICAgICBvdmVyZmxvdzogJ2F1dG8nLFxuICAgICAgICAgICAgICAgIG1hcmdpbjogJzAgMCAxMnB4IDAnLFxuICAgICAgICAgICAgICB9fVxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgICB7YHtcbiAgXCJtY3BTZXJ2ZXJzXCI6IHtcbiAgICBcImxvY2FsXCI6IHtcbiAgICAgIFwidHlwZVwiOiBcInN0ZGlvXCIsXG4gICAgICBcImNvbW1hbmRcIjogXCJub2RlXCIsXG4gICAgICBcImFyZ3NcIjogW1wiL3BhdGgvdG8vbG9jYWwtYWRkb24tbWNwLXNlcnZlci9iaW4vbWNwLXN0ZGlvLmpzXCJdXG4gICAgfVxuICB9XG59YH1cbiAgICAgICAgICAgIDwvcHJlPlxuICAgICAgICAgICAgPGJ1dHRvblxuICAgICAgICAgICAgICBvbkNsaWNrPXt0aGlzLmhhbmRsZUNvcHlTdGRpb0NvbmZpZ31cbiAgICAgICAgICAgICAgc3R5bGU9e3RoaXMuZ2V0QnV0dG9uU3R5bGUoY29sb3JzLnByaW1hcnkpfVxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgICB7Y29waWVkID8gJ0NvcGllZCEnIDogJ0NvcHkgQ29uZmlnJ31cbiAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2Rpdj5cblxuICAgICAgICB7LyogQ2xhdWRlLmFpIC8gQ2hhdEdQVCBTZXR1cCAqL31cbiAgICAgICAgPGRpdiBzdHlsZT17eyBtYXJnaW5Cb3R0b206ICcyNHB4JyB9fT5cbiAgICAgICAgICA8aDNcbiAgICAgICAgICAgIHN0eWxlPXt7XG4gICAgICAgICAgICAgIGZvbnRTaXplOiAnMTRweCcsXG4gICAgICAgICAgICAgIGZvbnRXZWlnaHQ6IDYwMCxcbiAgICAgICAgICAgICAgbWFyZ2luQm90dG9tOiAnMTJweCcsXG4gICAgICAgICAgICAgIGNvbG9yOiBjb2xvcnMudGV4dFByaW1hcnksXG4gICAgICAgICAgICB9fVxuICAgICAgICAgID5cbiAgICAgICAgICAgIENsYXVkZS5haSAvIENoYXRHUFQgLyBPdGhlciBBSSBUb29sc1xuICAgICAgICAgIDwvaDM+XG4gICAgICAgICAgPGRpdlxuICAgICAgICAgICAgc3R5bGU9e3tcbiAgICAgICAgICAgICAgcGFkZGluZzogJzE2cHgnLFxuICAgICAgICAgICAgICBiYWNrZ3JvdW5kQ29sb3I6IGNvbG9ycy5wYW5lbEJnU2Vjb25kYXJ5LFxuICAgICAgICAgICAgICBib3JkZXJSYWRpdXM6ICc2cHgnLFxuICAgICAgICAgICAgfX1cbiAgICAgICAgICA+XG4gICAgICAgICAgICA8cCBzdHlsZT17eyBtYXJnaW46ICcwIDAgMTJweCAwJywgZm9udFNpemU6ICcxM3B4JywgY29sb3I6IGNvbG9ycy50ZXh0UHJpbWFyeSB9fT5cbiAgICAgICAgICAgICAgRm9yIHRvb2xzIHRoYXQgc3VwcG9ydCBTU0UgdHJhbnNwb3J0LCB1c2UgdGhpcyBjb25maWd1cmF0aW9uOlxuICAgICAgICAgICAgPC9wPlxuICAgICAgICAgICAgPHByZVxuICAgICAgICAgICAgICBzdHlsZT17e1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmRDb2xvcjogY29sb3JzLnBhbmVsQmdDb2RlLFxuICAgICAgICAgICAgICAgIGNvbG9yOiAnI2Y4ZjhmMicsXG4gICAgICAgICAgICAgICAgcGFkZGluZzogJzEycHgnLFxuICAgICAgICAgICAgICAgIGJvcmRlclJhZGl1czogJzRweCcsXG4gICAgICAgICAgICAgICAgZm9udFNpemU6ICcxMXB4JyxcbiAgICAgICAgICAgICAgICBvdmVyZmxvdzogJ2F1dG8nLFxuICAgICAgICAgICAgICAgIG1hcmdpbjogJzAgMCAxMnB4IDAnLFxuICAgICAgICAgICAgICB9fVxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgICB7Y29ubmVjdGlvbkluZm9cbiAgICAgICAgICAgICAgICA/IGB7XG4gIFwibWNwU2VydmVyc1wiOiB7XG4gICAgXCJsb2NhbFwiOiB7XG4gICAgICBcInVybFwiOiBcIiR7Y29ubmVjdGlvbkluZm8udXJsfS9tY3Avc3NlXCIsXG4gICAgICBcInRyYW5zcG9ydFwiOiBcInNzZVwiLFxuICAgICAgXCJoZWFkZXJzXCI6IHtcbiAgICAgICAgXCJBdXRob3JpemF0aW9uXCI6IFwiQmVhcmVyICR7Y29ubmVjdGlvbkluZm8uYXV0aFRva2VuLnN1YnN0cmluZygwLCAyMCl9Li4uXCJcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1gXG4gICAgICAgICAgICAgICAgOiAnU2VydmVyIG5vdCBydW5uaW5nJ31cbiAgICAgICAgICAgIDwvcHJlPlxuICAgICAgICAgICAgPGJ1dHRvblxuICAgICAgICAgICAgICBvbkNsaWNrPXt0aGlzLmhhbmRsZUNvcHlTc2VDb25maWd9XG4gICAgICAgICAgICAgIGRpc2FibGVkPXshY29ubmVjdGlvbkluZm99XG4gICAgICAgICAgICAgIHN0eWxlPXt0aGlzLmdldEJ1dHRvblN0eWxlKFxuICAgICAgICAgICAgICAgIGNvbm5lY3Rpb25JbmZvID8gY29sb3JzLnByaW1hcnkgOiBjb2xvcnMudGV4dE11dGVkLFxuICAgICAgICAgICAgICAgICFjb25uZWN0aW9uSW5mb1xuICAgICAgICAgICAgICApfVxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgICB7Y29waWVkID8gJ0NvcGllZCEnIDogJ0NvcHkgU1NFIENvbmZpZyd9XG4gICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9kaXY+XG5cbiAgICAgICAgey8qIEF2YWlsYWJsZSBDb21tYW5kcyAqL31cbiAgICAgICAgPGRpdiBzdHlsZT17eyBtYXJnaW5Cb3R0b206ICcyNHB4JyB9fT5cbiAgICAgICAgICA8aDNcbiAgICAgICAgICAgIHN0eWxlPXt7XG4gICAgICAgICAgICAgIGZvbnRTaXplOiAnMTRweCcsXG4gICAgICAgICAgICAgIGZvbnRXZWlnaHQ6IDYwMCxcbiAgICAgICAgICAgICAgbWFyZ2luQm90dG9tOiAnMTJweCcsXG4gICAgICAgICAgICAgIGNvbG9yOiBjb2xvcnMudGV4dFByaW1hcnksXG4gICAgICAgICAgICB9fVxuICAgICAgICAgID5cbiAgICAgICAgICAgIEV4YW1wbGUgQ29tbWFuZHNcbiAgICAgICAgICA8L2gzPlxuICAgICAgICAgIDxkaXZcbiAgICAgICAgICAgIHN0eWxlPXt7XG4gICAgICAgICAgICAgIHBhZGRpbmc6ICcxNnB4JyxcbiAgICAgICAgICAgICAgYmFja2dyb3VuZENvbG9yOiBjb2xvcnMuaW5mb0JnLFxuICAgICAgICAgICAgICBib3JkZXJSYWRpdXM6ICc2cHgnLFxuICAgICAgICAgICAgICBib3JkZXI6IGAxcHggc29saWQgJHtjb2xvcnMuaW5mb0JvcmRlcn1gLFxuICAgICAgICAgICAgfX1cbiAgICAgICAgICA+XG4gICAgICAgICAgICA8cFxuICAgICAgICAgICAgICBzdHlsZT17e1xuICAgICAgICAgICAgICAgIG1hcmdpbjogJzAgMCA4cHggMCcsXG4gICAgICAgICAgICAgICAgZm9udFNpemU6ICcxM3B4JyxcbiAgICAgICAgICAgICAgICBmb250V2VpZ2h0OiA1MDAsXG4gICAgICAgICAgICAgICAgY29sb3I6IGNvbG9ycy5pbmZvVGV4dCxcbiAgICAgICAgICAgICAgfX1cbiAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgVHJ5IHNheWluZyB0byB5b3VyIEFJIGFzc2lzdGFudDpcbiAgICAgICAgICAgIDwvcD5cbiAgICAgICAgICAgIDx1bFxuICAgICAgICAgICAgICBzdHlsZT17eyBtYXJnaW46IDAsIHBhZGRpbmdMZWZ0OiAnMjBweCcsIGZvbnRTaXplOiAnMTNweCcsIGNvbG9yOiBjb2xvcnMuaW5mb1RleHQgfX1cbiAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgPGxpPiZxdW90O0xpc3QgbXkgTG9jYWwgc2l0ZXMmcXVvdDs8L2xpPlxuICAgICAgICAgICAgICA8bGk+JnF1b3Q7U3RhcnQgdGhlIGJsb2cgc2l0ZSZxdW90OzwvbGk+XG4gICAgICAgICAgICAgIDxsaT4mcXVvdDtDcmVhdGUgYSBuZXcgc2l0ZSBjYWxsZWQgdGVzdC1wcm9qZWN0JnF1b3Q7PC9saT5cbiAgICAgICAgICAgICAgPGxpPiZxdW90O1J1biB3cCBwbHVnaW4gbGlzdCBvbiBteS1zaXRlJnF1b3Q7PC9saT5cbiAgICAgICAgICAgICAgPGxpPiZxdW90O1N0b3AgYWxsIHJ1bm5pbmcgc2l0ZXMmcXVvdDs8L2xpPlxuICAgICAgICAgICAgICA8bGk+JnF1b3Q7V2hhdCBwbHVnaW5zIGFyZSBpbnN0YWxsZWQgb24gbXktc2l0ZT8mcXVvdDs8L2xpPlxuICAgICAgICAgICAgPC91bD5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8Lz5cbiAgICApO1xuICB9XG5cbiAgcmVuZGVyKCk6IFJlYWN0LlJlYWN0Tm9kZSB7XG4gICAgY29uc3QgeyBhY3RpdmVUYWIsIGNvbG9ycyB9ID0gdGhpcy5zdGF0ZTtcblxuICAgIHJldHVybiAoXG4gICAgICA8ZGl2IHN0eWxlPXt7IHBhZGRpbmc6ICcyMHB4JywgY29sb3I6IGNvbG9ycy50ZXh0UHJpbWFyeSB9fT5cbiAgICAgICAgPGgyXG4gICAgICAgICAgc3R5bGU9e3tcbiAgICAgICAgICAgIG1hcmdpbkJvdHRvbTogJzIwcHgnLFxuICAgICAgICAgICAgZm9udFNpemU6ICcxOHB4JyxcbiAgICAgICAgICAgIGZvbnRXZWlnaHQ6IDYwMCxcbiAgICAgICAgICAgIGNvbG9yOiBjb2xvcnMudGV4dFByaW1hcnksXG4gICAgICAgICAgfX1cbiAgICAgICAgPlxuICAgICAgICAgIE1DUCBTZXJ2ZXJcbiAgICAgICAgPC9oMj5cblxuICAgICAgICA8cCBzdHlsZT17eyBjb2xvcjogY29sb3JzLnRleHRTZWNvbmRhcnksIG1hcmdpbkJvdHRvbTogJzI0cHgnIH19PlxuICAgICAgICAgIFRoZSBNQ1AgKE1vZGVsIENvbnRleHQgUHJvdG9jb2wpIHNlcnZlciBlbmFibGVzIEFJIHRvb2xzIGxpa2UgQ2xhdWRlIENvZGUgdG8gY29udHJvbCB5b3VyXG4gICAgICAgICAgTG9jYWwgc2l0ZXMuXG4gICAgICAgIDwvcD5cblxuICAgICAgICB7LyogVGFiIE5hdmlnYXRpb24gKi99XG4gICAgICAgIDxkaXYgc3R5bGU9e3sgYm9yZGVyQm90dG9tOiBgMXB4IHNvbGlkICR7Y29sb3JzLmJvcmRlcn1gLCBtYXJnaW5Cb3R0b206ICcyNHB4JyB9fT5cbiAgICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgICBzdHlsZT17dGhpcy5nZXRUYWJTdHlsZShhY3RpdmVUYWIgPT09ICdzdGF0dXMnKX1cbiAgICAgICAgICAgIG9uQ2xpY2s9eygpID0+IHRoaXMuc2V0U3RhdGUoeyBhY3RpdmVUYWI6ICdzdGF0dXMnIH0pfVxuICAgICAgICAgID5cbiAgICAgICAgICAgIFN0YXR1cyAmYW1wOyBDb250cm9sc1xuICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgIDxidXR0b25cbiAgICAgICAgICAgIHN0eWxlPXt0aGlzLmdldFRhYlN0eWxlKGFjdGl2ZVRhYiA9PT0gJ3NldHVwJyl9XG4gICAgICAgICAgICBvbkNsaWNrPXsoKSA9PiB0aGlzLnNldFN0YXRlKHsgYWN0aXZlVGFiOiAnc2V0dXAnIH0pfVxuICAgICAgICAgID5cbiAgICAgICAgICAgIEFJIFRvb2wgU2V0dXBcbiAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgPC9kaXY+XG5cbiAgICAgICAge2FjdGl2ZVRhYiA9PT0gJ3N0YXR1cycgJiYgdGhpcy5yZW5kZXJTdGF0dXNUYWIoKX1cbiAgICAgICAge2FjdGl2ZVRhYiA9PT0gJ3NldHVwJyAmJiB0aGlzLnJlbmRlclNldHVwVGFiKCl9XG4gICAgICA8L2Rpdj5cbiAgICApO1xuICB9XG59XG5cbi8vIEV4cG9ydCBhcyBhIGNvbnN0cnVjdG9yIGZ1bmN0aW9uIHRoYXQgTG9jYWwgY2FuIGluc3RhbnRpYXRlXG5tb2R1bGUuZXhwb3J0cyA9IGZ1bmN0aW9uIE1jcFNlcnZlclJlbmRlcmVyKGNvbnRleHQ6IHsgaG9va3M6IHVua25vd247IGVsZWN0cm9uOiB1bmtub3duIH0pOiB2b2lkIHtcbiAgLy8gQ0xJLW9ubHkgbW9kZSAtIHByZWZlcmVuY2VzIHBhbmVsIGRpc2FibGVkXG4gIC8vIFRvIGVuYWJsZSBNQ1AgcHJlZmVyZW5jZXMgVUksIHVuY29tbWVudCB0aGUgZm9sbG93aW5nOlxuICAvKlxuICBjb25zdCB7IGhvb2tzLCBlbGVjdHJvbiB9ID0gY29udGV4dCBhcyB7XG4gICAgaG9va3M6IHsgYWRkRmlsdGVyOiAobmFtZTogc3RyaW5nLCBjYWxsYmFjazogKGl0ZW1zOiB1bmtub3duW10pID0+IHVua25vd25bXSkgPT4gdm9pZCB9O1xuICAgIGVsZWN0cm9uOiBNY3BQcmVmZXJlbmNlc1BhbmVsUHJvcHNbJ2VsZWN0cm9uJ107XG4gIH07XG5cbiAgY29uc29sZS5sb2coJ1tNQ1AgU2VydmVyXSBSZW5kZXJlciBsb2FkaW5nLi4uJyk7XG5cbiAgLy8gQWRkIE1DUCBTZXJ2ZXIgdG8gcHJlZmVyZW5jZXMgbWVudVxuICBob29rcy5hZGRGaWx0ZXIoJ3ByZWZlcmVuY2VzTWVudUl0ZW1zJywgKG1lbnVJdGVtczogdW5rbm93bltdKSA9PiB7XG4gICAgY29uc29sZS5sb2coJ1tNQ1AgU2VydmVyXSBBZGRpbmcgTUNQIFNlcnZlciB0byBwcmVmZXJlbmNlcycpO1xuXG4gICAgKG1lbnVJdGVtcyBhcyBBcnJheTxSZWNvcmQ8c3RyaW5nLCB1bmtub3duPj4pLnB1c2goe1xuICAgICAgcGF0aDogJ21jcC1zZXJ2ZXInLFxuICAgICAgZGlzcGxheU5hbWU6ICdNQ1AgU2VydmVyJyxcbiAgICAgIHNlY3Rpb25zOiAoKSA9PiA8TWNwUHJlZmVyZW5jZXNQYW5lbCBlbGVjdHJvbj17ZWxlY3Ryb259IC8+LFxuICAgICAgb25BcHBseTogKCkgPT4ge1xuICAgICAgICAvLyBObyBhcHBseSBhY3Rpb24gbmVlZGVkIGZvciByZWFkLW9ubHkgZGlzcGxheVxuICAgICAgfSxcbiAgICB9KTtcblxuICAgIHJldHVybiBtZW51SXRlbXM7XG4gIH0pO1xuXG4gIGNvbnNvbGUubG9nKCdbTUNQIFNlcnZlcl0gUmVuZGVyZXIgc2V0dXAgY29tcGxldGUnKTtcbiAgKi9cblxuICAvLyBTaWxlbmNlIHVudXNlZCB2YXJpYWJsZSB3YXJuaW5nc1xuICB2b2lkIGNvbnRleHQ7XG59O1xuIl19
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@local-labs-jpollock/local-addon-cli",
3
3
  "productName": "Local CLI",
4
- "version": "0.0.2",
4
+ "version": "0.0.3",
5
5
  "description": "Command-line interface for Local WordPress development",
6
6
  "main": "lib/main/index.js",
7
7
  "renderer": "lib/renderer/index.js",