@riddance/host
Version:
18 lines • 12.4 kB
JavaScript
import { registerHttpHandler } from './host/http-registry.js';
export * from './context.js';
export function get(path, configOrHandler, fn) {
registerHttpHandler('GET', path, configOrHandler, fn);
}
export function post(path, configOrHandler, fn) {
registerHttpHandler('POST', path, configOrHandler, fn);
}
export function put(path, configOrHandler, fn) {
registerHttpHandler('PUT', path, configOrHandler, fn);
}
export function patch(path, configOrHandler, fn) {
registerHttpHandler('PATCH', path, configOrHandler, fn);
}
export function del(path, configOrHandler, fn) {
registerHttpHandler('DELETE', path, configOrHandler, fn);
}
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaHR0cC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbImh0dHAudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0seUJBQXlCLENBQUE7QUFFN0QsY0FBYyxjQUFjLENBQUE7QUFxTjVCLE1BQU0sVUFBVSxHQUFHLENBQ2YsSUFBYSxFQUNiLGVBQW1ELEVBQ25ELEVBQVk7SUFFWixtQkFBbUIsQ0FBQyxLQUFLLEVBQUUsSUFBSSxFQUFFLGVBQWUsRUFBRSxFQUFFLENBQUMsQ0FBQTtBQUN6RCxDQUFDO0FBT0QsTUFBTSxVQUFVLElBQUksQ0FDaEIsSUFBYSxFQUNiLGVBQW1ELEVBQ25ELEVBQVk7SUFFWixtQkFBbUIsQ0FBQyxNQUFNLEVBQUUsSUFBSSxFQUFFLGVBQWUsRUFBRSxFQUFFLENBQUMsQ0FBQTtBQUMxRCxDQUFDO0FBT0QsTUFBTSxVQUFVLEdBQUcsQ0FDZixJQUFhLEVBQ2IsZUFBbUQsRUFDbkQsRUFBWTtJQUVaLG1CQUFtQixDQUFDLEtBQUssRUFBRSxJQUFJLEVBQUUsZUFBZSxFQUFFLEVBQUUsQ0FBQyxDQUFBO0FBQ3pELENBQUM7QUFPRCxNQUFNLFVBQVUsS0FBSyxDQUNqQixJQUFhLEVBQ2IsZUFBbUQsRUFDbkQsRUFBWTtJQUVaLG1CQUFtQixDQUFDLE9BQU8sRUFBRSxJQUFJLEVBQUUsZUFBZSxFQUFFLEVBQUUsQ0FBQyxDQUFBO0FBQzNELENBQUM7QUFPRCxNQUFNLFVBQVUsR0FBRyxDQUNmLElBQWEsRUFDYixlQUFtRCxFQUNuRCxFQUFZO0lBRVosbUJBQW1CLENBQUMsUUFBUSxFQUFFLElBQUksRUFBRSxlQUFlLEVBQUUsRUFBRSxDQUFDLENBQUE7QUFDNUQsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbnRleHQsIEhhbmRsZXJDb25maWd1cmF0aW9uLCB0eXBlIEpzb24gfSBmcm9tICcuL2NvbnRleHQuanMnXG5pbXBvcnQgeyByZWdpc3Rlckh0dHBIYW5kbGVyIH0gZnJvbSAnLi9ob3N0L2h0dHAtcmVnaXN0cnkuanMnXG5cbmV4cG9ydCAqIGZyb20gJy4vY29udGV4dC5qcydcblxuZXhwb3J0IHR5cGUgUmVzcG9uc2VIZWFkZXJzID0ge1xuICAgIFtrZXk6IHN0cmluZ106IHN0cmluZ1xufVxuXG5leHBvcnQgdHlwZSBGdWxsUmVzdWx0ID0ge1xuICAgIGhlYWRlcnM/OiBSZXNwb25zZUhlYWRlcnNcbiAgICBzdGF0dXM/OiBudW1iZXJcbiAgICBib2R5PzogdW5rbm93blxufVxuXG5leHBvcnQgdHlwZSBSZXN1bHQgPSB2b2lkIHwgc3RyaW5nIHwgRnVsbFJlc3VsdFxuXG5leHBvcnQgdHlwZSBIdHRwUmVxdWVzdCA9IHtcbiAgICByZWFkb25seSByYXdVcmw6IHN0cmluZ1xuICAgIHJlYWRvbmx5IHVybDogUGFyc2VkVXJsXG4gICAgcmVhZG9ubHkgaGVhZGVyczogUmVhZG9ubHk8UmVzcG9uc2VIZWFkZXJzPlxuICAgIHJlYWRvbmx5IGJvZHk/OiBKc29uIHwgc3RyaW5nXG59XG5cbnR5cGUgR29uZSA9ICdHb25lJyB8IHVuZGVmaW5lZFxuXG5leHBvcnQgdHlwZSBQYXJzZWRVcmwgPSB7XG4gICAgLyoqXG4gICAgICogR2V0cyB0aGUgZnJhZ21lbnQgcG9ydGlvbiBvZiB0aGUgVVJMLlxuICAgICAqXG4gICAgICogYGBganNcbiAgICAgKiBjb25zdCBteVVSTCA9IG5ldyBVUkwoJ2h0dHBzOi8vZXhhbXBsZS5vcmcvZm9vI2JhcicpO1xuICAgICAqIGNvbnNvbGUubG9nKG15VVJMLmhhc2gpO1xuICAgICAqIC8vIFByaW50cyAjYmFyXG4gICAgICogYGBgXG4gICAgICovXG4gICAgcmVhZG9ubHkgaGFzaDogc3RyaW5nXG4gICAgLyoqXG4gICAgICogR2V0cyB0aGUgaG9zdCBwb3J0aW9uIG9mIHRoZSBVUkwuXG4gICAgICpcbiAgICAgKiBgYGBqc1xuICAgICAqIGNvbnN0IG15VVJMID0gbmV3IFVSTCgnaHR0cHM6Ly9leGFtcGxlLm9yZzo4MS9mb28nKTtcbiAgICAgKiBjb25zb2xlLmxvZyhteVVSTC5ob3N0KTtcbiAgICAgKiAvLyBQcmludHMgZXhhbXBsZS5vcmc6ODFcbiAgICAgKi9cbiAgICByZWFkb25seSBob3N0OiBzdHJpbmdcbiAgICAvKipcbiAgICAgKiBHZXRzIHRoZSBob3N0IG5hbWUgcG9ydGlvbiBvZiB0aGUgVVJMLiBUaGUga2V5IGRpZmZlcmVuY2UgYmV0d2VlbmB1cmwuaG9zdGAgYW5kIGB1cmwuaG9zdG5hbWVgIGlzIHRoYXQgYHVybC5ob3N0bmFtZWAgZG9lcyBfbm90XyBpbmNsdWRlIHRoZVxuICAgICAqIHBvcnQuXG4gICAgICpcbiAgICAgKiBgYGBqc1xuICAgICAqIGNvbnN0IG15VVJMID0gbmV3IFVSTCgnaHR0cHM6Ly9leGFtcGxlLm9yZzo4MS9mb28nKTtcbiAgICAgKiBjb25zb2xlLmxvZyhteVVSTC5ob3N0bmFtZSk7XG4gICAgICogLy8gUHJpbnRzIGV4YW1wbGUub3JnXG4gICAgICovXG4gICAgcmVhZG9ubHkgaG9zdG5hbWU6IHN0cmluZ1xuICAgIC8qKlxuICAgICAqIEdldHMgdGhlIHNlcmlhbGl6ZWQgVVJMLlxuICAgICAqXG4gICAgICogYGBganNcbiAgICAgKiBjb25zdCBteVVSTCA9IG5ldyBVUkwoJ2h0dHBzOi8vZXhhbXBsZS5vcmcvZm9vJyk7XG4gICAgICogY29uc29sZS5sb2cobXlVUkwuaHJlZik7XG4gICAgICogLy8gUHJpbnRzIGh0dHBzOi8vZXhhbXBsZS5vcmcvZm9vXG4gICAgICogYGBgXG4gICAgICovXG4gICAgcmVhZG9ubHkgaHJlZjogc3RyaW5nXG4gICAgLyoqXG4gICAgICogR2V0cyB0aGUgc2VyaWFsaXphdGlvbiBvZiB0aGUgVVJMJ3Mgb3JpZ2luLlxuICAgICAqXG4gICAgICogYGBganNcbiAgICAgKiBjb25zdCBteVVSTCA9IG5ldyBVUkwoJ2h0dHBzOi8vZXhhbXBsZS5vcmcvZm9vL2Jhcj9iYXonKTtcbiAgICAgKiBjb25zb2xlLmxvZyhteVVSTC5vcmlnaW4pO1xuICAgICAqIC8vIFByaW50cyBodHRwczovL2V4YW1wbGUub3JnXG4gICAgICogYGBgXG4gICAgICpcbiAgICAgKiBgYGBqc1xuICAgICAqIGNvbnN0IGlkblVSTCA9IG5ldyBVUkwoJ2h0dHBzOi8v5ris6KmmJyk7XG4gICAgICogY29uc29sZS5sb2coaWRuVVJMLm9yaWdpbik7XG4gICAgICogLy8gUHJpbnRzIGh0dHBzOi8veG4tLWc2dzI1MWRcbiAgICAgKlxuICAgICAqIGNvbnNvbGUubG9nKGlkblVSTC5ob3N0bmFtZSk7XG4gICAgICogLy8gUHJpbnRzIHhuLS1nNncyNTFkXG4gICAgICogYGBgXG4gICAgICovXG4gICAgcmVhZG9ubHkgb3JpZ2luOiBzdHJpbmdcbiAgICAvKipcbiAgICAgKiBHZXRzIHRoZSBwYXNzd29yZCBwb3J0aW9uIG9mIHRoZSBVUkwuXG4gICAgICpcbiAgICAgKiBgYGBqc1xuICAgICAqIGNvbnN0IG15VVJMID0gbmV3IFVSTCgnaHR0cHM6Ly9hYmM6eHl6QGV4YW1wbGUuY29tJyk7XG4gICAgICogY29uc29sZS5sb2cobXlVUkwucGFzc3dvcmQpO1xuICAgICAqIC8vIFByaW50cyB4eXpcbiAgICAgKlxuICAgICAqIG15VVJMLnBhc3N3b3JkID0gJzEyMyc7XG4gICAgICogY29uc29sZS5sb2cobXlVUkwuaHJlZik7XG4gICAgICogLy8gUHJpbnRzIGh0dHBzOi8vYWJjOjEyM0BleGFtcGxlLmNvbS9cbiAgICAgKiBgYGBcbiAgICAgKi9cbiAgICByZWFkb25seSBwYXNzd29yZDogc3RyaW5nXG4gICAgLyoqXG4gICAgICogR2V0cyB0aGUgcGF0aCBwb3J0aW9uIG9mIHRoZSBVUkwuXG4gICAgICpcbiAgICAgKiBgYGBqc1xuICAgICAqIGNvbnN0IG15VVJMID0gbmV3IFVSTCgnaHR0cHM6Ly9leGFtcGxlLm9yZy9hYmMveHl6PzEyMycpO1xuICAgICAqIGNvbnNvbGUubG9nKG15VVJMLnBhdGhuYW1lKTtcbiAgICAgKiAvLyBQcmludHMgL2FiYy94eXpcbiAgICAgKiBgYGBcbiAgICAgKi9cbiAgICByZWFkb25seSBwYXRobmFtZTogc3RyaW5nXG4gICAgLyoqXG4gICAgICogR2V0cyB0aGUgcG9ydCBwb3J0aW9uIG9mIHRoZSBVUkwuXG4gICAgICpcbiAgICAgKiBUaGUgcG9ydCB2YWx1ZSBtYXkgYmUgYSBudW1iZXIgb3IgYSBzdHJpbmcgY29udGFpbmluZyBhIG51bWJlciBpbiB0aGUgcmFuZ2UgYDBgIHRvIGA2NTUzNWAgKGluY2x1c2l2ZSkuIFNldHRpbmcgdGhlIHZhbHVlIHRvIHRoZSBkZWZhdWx0IHBvcnQgb2YgdGhlIGBVUkxgIG9iamVjdHMgZ2l2ZW4gYHByb3RvY29sYCB3aWxsXG4gICAgICogcmVzdWx0IGluIHRoZSBgcG9ydGAgdmFsdWUgYmVjb21pbmdcbiAgICAgKiB0aGUgZW1wdHkgc3RyaW5nIChgJydgKS5cbiAgICAgKlxuICAgICAqIFRoZSBwb3J0IHZhbHVlIGNhbiBiZSBhbiBlbXB0eSBzdHJpbmcgaW4gd2hpY2ggY2FzZSB0aGUgcG9ydCBkZXBlbmRzIG9uXG4gICAgICogdGhlIHByb3RvY29sL3NjaGVtZS5cbiAgICAgKlxuICAgICAqIElmIHRoYXQgc3RyaW5nIGlzIGludmFsaWQgYnV0IGl0IGJlZ2lucyB3aXRoIGEgbnVtYmVyLCB0aGUgbGVhZGluZyBudW1iZXIgaXNcbiAgICAgKiBhc3NpZ25lZCB0byBgcG9ydGAuXG4gICAgICogSWYgdGhlIG51bWJlciBsaWVzIG91dHNpZGUgdGhlIHJhbmdlIGRlbm90ZWQgYWJvdmUsIGl0IGlzIGlnbm9yZWQuXG4gICAgICpcbiAgICAgKiBgYGBqc1xuICAgICAqIGNvbnN0IG15VVJMID0gbmV3IFVSTCgnaHR0cHM6Ly9leGFtcGxlLm9yZzo4ODg4Jyk7XG4gICAgICogY29uc29sZS5sb2cobXlVUkwucG9ydCk7XG4gICAgICogLy8gUHJpbnRzIDg4ODhcbiAgICAgKiBgYGBcbiAgICAgKi9cbiAgICByZWFkb25seSBwb3J0OiBzdHJpbmdcbiAgICAvKipcbiAgICAgKiBHZXRzIHRoZSBwcm90b2NvbCBwb3J0aW9uIG9mIHRoZSBVUkwuXG4gICAgICpcbiAgICAgKiBgYGBqc1xuICAgICAqIGNvbnN0IG15VVJMID0gbmV3IFVSTCgnaHR0cHM6Ly9leGFtcGxlLm9yZycpO1xuICAgICAqIGNvbnNvbGUubG9nKG15VVJMLnByb3RvY29sKTtcbiAgICAgKiAvLyBQcmludHMgaHR0cHM6XG4gICAgICogYGBgXG4gICAgICovXG4gICAgcmVhZG9ubHkgcHJvdG9jb2w6IHN0cmluZ1xuICAgIC8qKlxuICAgICAqIEdldHMgdGhlIHNlcmlhbGl6ZWQgcXVlcnkgcG9ydGlvbiBvZiB0aGUgVVJMLlxuICAgICAqXG4gICAgICogYGBganNcbiAgICAgKiBjb25zdCBteVVSTCA9IG5ldyBVUkwoJ2h0dHBzOi8vZXhhbXBsZS5vcmcvYWJjPzEyMycpO1xuICAgICAqIGNvbnNvbGUubG9nKG15VVJMLnNlYXJjaCk7XG4gICAgICogLy8gUHJpbnRzID8xMjNcbiAgICAgKiBgYGBcbiAgICAgKlxuICAgICAqIEFueSBpbnZhbGlkIFVSTCBjaGFyYWN0ZXJzIGFwcGVhcmluZyBpbiB0aGUgdmFsdWUgYXNzaWduZWQgdGhlIGBzZWFyY2hgcHJvcGVydHkgd2lsbCBiZSBgcGVyY2VudC1lbmNvZGVkYC5cbiAgICAgKi9cbiAgICByZWFkb25seSBzZWFyY2g6IHN0cmluZ1xuICAgIC8qKlxuICAgICAqIEdldHMgdGhlIGBVUkxTZWFyY2hQYXJhbXNgIG9iamVjdCByZXByZXNlbnRpbmcgdGhlIHF1ZXJ5IHBhcmFtZXRlcnMgb2YgdGhlXG4gICAgICogVVJMLlxuICAgICAqXG4gICAgICogYGBganNcbiAgICAgKiBjb25zdCBteVVSTCA9IG5ldyBVUkwoJ2h0dHBzOi8vZXhhbXBsZS5vcmcvYWJjP2Zvbz1+YmFyJyk7XG4gICAgICpcbiAgICAgKiBjb25zb2xlLmxvZyhteVVSTC5zZWFyY2gpOyAgLy8gcHJpbnRzID9mb289fmJhclxuICAgICAqIGBgYFxuICAgICAqL1xuICAgIHJlYWRvbmx5IHNlYXJjaFBhcmFtczogVVJMU2VhcmNoUGFyYW1zXG4gICAgLyoqXG4gICAgICogR2V0cyB0aGUgdXNlcm5hbWUgcG9ydGlvbiBvZiB0aGUgVVJMLlxuICAgICAqXG4gICAgICogYGBganNcbiAgICAgKiBjb25zdCBteVVSTCA9IG5ldyBVUkwoJ2h0dHBzOi8vYWJjOnh5ekBleGFtcGxlLmNvbScpO1xuICAgICAqIGNvbnNvbGUubG9nKG15VVJMLnVzZXJuYW1lKTtcbiAgICAgKiAvLyBQcmludHMgYWJjXG4gICAgICogYGBgXG4gICAgICpcbiAgICAgKiBBbnkgaW52YWxpZCBVUkwgY2hhcmFjdGVycyBhcHBlYXJpbmcgaW4gdGhlIHZhbHVlIGFzc2lnbmVkIHRoZSBgdXNlcm5hbWVgIHByb3BlcnR5IHdpbGwgYmUgYHBlcmNlbnQtZW5jb2RlZGAuXG4gICAgICovXG4gICAgcmVhZG9ubHkgdXNlcm5hbWU6IHN0cmluZ1xuXG4gICAgLyoqXG4gICAgICogR2V0cyBhIHN0ZXAgb2YgdGhlIHBhdGggcG9ydGlvbiBvZiB0aGUgVVJMLlxuICAgICAqXG4gICAgICogYGBganNcbiAgICAgKiBjb25zdCBteVVSTCA9IG5ldyBVUkwoJ2h0dHBzOi8vZXhhbXBsZS5vcmcvYWJjL3h5ej8xMjMnKTtcbiAgICAgKiBjb25zb2xlLmxvZyhteVVSTC5wYXRoU3RlcEF0KDApKTtcbiAgICAgKiAvLyBQcmludHMgYWJjXG4gICAgICogY29uc29sZS5sb2cobXlVUkwucGF0aFN0ZXBBdCgxKSk7XG4gICAgICogLy8gUHJpbnRzIHh5elxuICAgICAqIGBgYFxuICAgICAqL1xuICAgIHBhdGhTdGVwQXQ6IChpbmRleDogbnVtYmVyKSA9PiBzdHJpbmdcblxuICAgIC8qKlxuICAgICAqIEdvbmUsIHVzZSBzZWFyY2hQYXJhbXMgaW5zdGVhZC5cbiAgICAgKi9cbiAgICBxdWVyeT86IEdvbmVcblxuICAgIC8qKiBAaWdub3JlICovXG4gICAgdG9KU09OOiAoKSA9PiBzdHJpbmdcbn1cblxuZXhwb3J0IHR5cGUgSHR0cEhhbmRsZXJDb25maWd1cmF0aW9uID0gSGFuZGxlckNvbmZpZ3VyYXRpb24gJiB7XG4gICAgLyoqXG4gICAgICogQSBzdHJpbmcgaWRlbnRpZnlpbmcgd2hpY2ggZG9tYWlucyBjYW4gYWNjZXNzIHRoZSBlbmRwb2ludCBjcm9zcy1vcmlnaW4uXG4gICAgICogQGRlZmF1bHQgdW5kZWZpbmVkXG4gICAgICovXG4gICAgcmVhZG9ubHkgY29ycz86IHN0cmluZ1xufVxuXG5leHBvcnQgdHlwZSBIYW5kbGVyID0gKGNvbnRleHQ6IENvbnRleHQsIHJlcXVlc3Q6IEh0dHBSZXF1ZXN0KSA9PiBQcm9taXNlPFJlc3VsdD4gfCBSZXN1bHRcblxudHlwZSBQYXRoPFQ+ID0gVCBleHRlbmRzIGAvJHtzdHJpbmd9YCA/ICdFcnJvcjogcGF0aCBjYW5ub3Qgc3RhcnQgd2l0aCBzbGFzaC4nIDogVFxuXG5leHBvcnQgZnVuY3Rpb24gZ2V0PFQgZXh0ZW5kcyBzdHJpbmc+KHBhdGg6IFBhdGg8VD4sIGZuOiBIYW5kbGVyKTogdm9pZFxuZXhwb3J0IGZ1bmN0aW9uIGdldDxUIGV4dGVuZHMgc3RyaW5nPihcbiAgICBwYXRoOiBQYXRoPFQ+LFxuICAgIGNvbmZpZzogSHR0cEhhbmRsZXJDb25maWd1cmF0aW9uLFxuICAgIGZuOiBIYW5kbGVyLFxuKTogdm9pZFxuZXhwb3J0IGZ1bmN0aW9uIGdldDxUIGV4dGVuZHMgc3RyaW5nPihcbiAgICBwYXRoOiBQYXRoPFQ+LFxuICAgIGNvbmZpZ09ySGFuZGxlcjogSHR0cEhhbmRsZXJDb25maWd1cmF0aW9uIHwgSGFuZGxlcixcbiAgICBmbj86IEhhbmRsZXIsXG4pOiB2b2lkIHtcbiAgICByZWdpc3Rlckh0dHBIYW5kbGVyKCdHRVQnLCBwYXRoLCBjb25maWdPckhhbmRsZXIsIGZuKVxufVxuZXhwb3J0IGZ1bmN0aW9uIHBvc3Q8VCBleHRlbmRzIHN0cmluZz4ocGF0aDogUGF0aDxUPiwgZm46IEhhbmRsZXIpOiB2b2lkXG5leHBvcnQgZnVuY3Rpb24gcG9zdDxUIGV4dGVuZHMgc3RyaW5nPihcbiAgICBwYXRoOiBQYXRoPFQ+LFxuICAgIGNvbmZpZzogSHR0cEhhbmRsZXJDb25maWd1cmF0aW9uLFxuICAgIGZuOiBIYW5kbGVyLFxuKTogdm9pZFxuZXhwb3J0IGZ1bmN0aW9uIHBvc3Q8VCBleHRlbmRzIHN0cmluZz4oXG4gICAgcGF0aDogUGF0aDxUPixcbiAgICBjb25maWdPckhhbmRsZXI6IEh0dHBIYW5kbGVyQ29uZmlndXJhdGlvbiB8IEhhbmRsZXIsXG4gICAgZm4/OiBIYW5kbGVyLFxuKTogdm9pZCB7XG4gICAgcmVnaXN0ZXJIdHRwSGFuZGxlcignUE9TVCcsIHBhdGgsIGNvbmZpZ09ySGFuZGxlciwgZm4pXG59XG5leHBvcnQgZnVuY3Rpb24gcHV0PFQgZXh0ZW5kcyBzdHJpbmc+KHBhdGg6IFBhdGg8VD4sIGZuOiBIYW5kbGVyKTogdm9pZFxuZXhwb3J0IGZ1bmN0aW9uIHB1dDxUIGV4dGVuZHMgc3RyaW5nPihcbiAgICBwYXRoOiBQYXRoPFQ+LFxuICAgIGNvbmZpZzogSHR0cEhhbmRsZXJDb25maWd1cmF0aW9uLFxuICAgIGZuOiBIYW5kbGVyLFxuKTogdm9pZFxuZXhwb3J0IGZ1bmN0aW9uIHB1dDxUIGV4dGVuZHMgc3RyaW5nPihcbiAgICBwYXRoOiBQYXRoPFQ+LFxuICAgIGNvbmZpZ09ySGFuZGxlcjogSHR0cEhhbmRsZXJDb25maWd1cmF0aW9uIHwgSGFuZGxlcixcbiAgICBmbj86IEhhbmRsZXIsXG4pOiB2b2lkIHtcbiAgICByZWdpc3Rlckh0dHBIYW5kbGVyKCdQVVQnLCBwYXRoLCBjb25maWdPckhhbmRsZXIsIGZuKVxufVxuZXhwb3J0IGZ1bmN0aW9uIHBhdGNoPFQgZXh0ZW5kcyBzdHJpbmc+KHBhdGg6IFBhdGg8VD4sIGZuOiBIYW5kbGVyKTogdm9pZFxuZXhwb3J0IGZ1bmN0aW9uIHBhdGNoPFQgZXh0ZW5kcyBzdHJpbmc+KFxuICAgIHBhdGg6IFBhdGg8VD4sXG4gICAgY29uZmlnOiBIdHRwSGFuZGxlckNvbmZpZ3VyYXRpb24sXG4gICAgZm46IEhhbmRsZXIsXG4pOiB2b2lkXG5leHBvcnQgZnVuY3Rpb24gcGF0Y2g8VCBleHRlbmRzIHN0cmluZz4oXG4gICAgcGF0aDogUGF0aDxUPixcbiAgICBjb25maWdPckhhbmRsZXI6IEh0dHBIYW5kbGVyQ29uZmlndXJhdGlvbiB8IEhhbmRsZXIsXG4gICAgZm4/OiBIYW5kbGVyLFxuKTogdm9pZCB7XG4gICAgcmVnaXN0ZXJIdHRwSGFuZGxlcignUEFUQ0gnLCBwYXRoLCBjb25maWdPckhhbmRsZXIsIGZuKVxufVxuZXhwb3J0IGZ1bmN0aW9uIGRlbDxUIGV4dGVuZHMgc3RyaW5nPihwYXRoOiBQYXRoPFQ+LCBmbjogSGFuZGxlcik6IHZvaWRcbmV4cG9ydCBmdW5jdGlvbiBkZWw8VCBleHRlbmRzIHN0cmluZz4oXG4gICAgcGF0aDogUGF0aDxUPixcbiAgICBjb25maWc6IEh0dHBIYW5kbGVyQ29uZmlndXJhdGlvbixcbiAgICBmbjogSGFuZGxlcixcbik6IHZvaWRcbmV4cG9ydCBmdW5jdGlvbiBkZWw8VCBleHRlbmRzIHN0cmluZz4oXG4gICAgcGF0aDogUGF0aDxUPixcbiAgICBjb25maWdPckhhbmRsZXI6IEh0dHBIYW5kbGVyQ29uZmlndXJhdGlvbiB8IEhhbmRsZXIsXG4gICAgZm4/OiBIYW5kbGVyLFxuKTogdm9pZCB7XG4gICAgcmVnaXN0ZXJIdHRwSGFuZGxlcignREVMRVRFJywgcGF0aCwgY29uZmlnT3JIYW5kbGVyLCBmbilcbn1cbiJdfQ==