{"remainingRequest":"/home/cmiss/Jenkins/workspace/mapintegratedvuer/node_modules/vue-loader/lib/index.js??vue-loader-options!/home/cmiss/Jenkins/workspace/mapintegratedvuer/node_modules/@abi-software/map-side-bar/src/components/SearchFilters.vue?vue&type=script&lang=js&","dependencies":[{"path":"/home/cmiss/Jenkins/workspace/mapintegratedvuer/node_modules/@abi-software/map-side-bar/src/components/SearchFilters.vue","mtime":499162500000},{"path":"/home/cmiss/Jenkins/workspace/mapintegratedvuer/node_modules/cache-loader/dist/cjs.js","mtime":499162500000},{"path":"/home/cmiss/Jenkins/workspace/mapintegratedvuer/node_modules/thread-loader/dist/cjs.js","mtime":499162500000},{"path":"/home/cmiss/Jenkins/workspace/mapintegratedvuer/node_modules/babel-loader/lib/index.js","mtime":456789000000},{"path":"/home/cmiss/Jenkins/workspace/mapintegratedvuer/node_modules/cache-loader/dist/cjs.js","mtime":499162500000},{"path":"/home/cmiss/Jenkins/workspace/mapintegratedvuer/node_modules/vue-loader/lib/index.js","mtime":499162500000}],"contextDependencies":[],"result":[{"type":"Buffer","data":"base64:Ci8qIGVzbGludC1kaXNhYmxlIG5vLWFsZXJ0LCBuby1jb25zb2xlICovCmltcG9ydCBWdWUgZnJvbSAidnVlIjsKaW1wb3J0IHsgT3B0aW9uLCBTZWxlY3QsIFBvcG92ZXIgfSBmcm9tICJlbGVtZW50LXVpIjsKaW1wb3J0IEN1c3RvbUNhc2NhZGVyIGZyb20gIi4vQ2FzY2FkZXIiOwppbXBvcnQgbGFuZyBmcm9tICJlbGVtZW50LXVpL2xpYi9sb2NhbGUvbGFuZy9lbiI7CmltcG9ydCBsb2NhbGUgZnJvbSAiZWxlbWVudC11aS9saWIvbG9jYWxlIjsKaW1wb3J0IHNwZWNpZXNNYXAgZnJvbSAiLi9zcGVjaWVzLW1hcCI7CmltcG9ydCB7IE1hcFN2Z0ljb24sIE1hcFN2Z1Nwcml0ZUNvbG9yIH0gZnJvbSAiQGFiaS1zb2Z0d2FyZS9zdmctc3ByaXRlIjsKCmltcG9ydCB7QWxnb2xpYUNsaWVudH0gZnJvbSAiLi4vYWxnb2xpYS9hbGdvbGlhLmpzIjsKaW1wb3J0IHtmYWNldFByb3BQYXRoTWFwcGluZ30gZnJvbSAiLi4vYWxnb2xpYS91dGlscy5qcyI7Cgpsb2NhbGUudXNlKGxhbmcpOwpWdWUudXNlKE9wdGlvbik7ClZ1ZS51c2UoU2VsZWN0KTsKVnVlLnVzZShQb3BvdmVyKQoKY29uc3QgY2FwaXRhbGlzZSA9IGZ1bmN0aW9uICh0eHQpIHsKICByZXR1cm4gdHh0LmNoYXJBdCgwKS50b1VwcGVyQ2FzZSgpICsgdHh0LnNsaWNlKDEpOwp9OwoKY29uc3QgY29udmVydFJlYWRhYmxlTGFiZWwgPSBmdW5jdGlvbiAob3JpZ2luYWwpIHsKICBjb25zdCBuYW1lID0gb3JpZ2luYWwudG9Mb3dlckNhc2UoKTsKICBpZiAoc3BlY2llc01hcFtuYW1lXSkgewogICAgcmV0dXJuIGNhcGl0YWxpc2Uoc3BlY2llc01hcFtuYW1lXSk7CiAgfSBlbHNlIHsKICAgIHJldHVybiBjYXBpdGFsaXNlKG5hbWUpOwogIH0KfTsKCmV4cG9ydCBkZWZhdWx0IHsKICBuYW1lOiAiU2VhcmNoRmlsdGVycyIsCiAgY29tcG9uZW50czogewogICAgQ3VzdG9tQ2FzY2FkZXIsCiAgICBNYXBTdmdJY29uLAogICAgTWFwU3ZnU3ByaXRlQ29sb3IsCiAgfSwKICBwcm9wczogewogICAgLyoqCiAgICAgKiBPYmplY3QgY29udGFpbmluZyBpbmZvcm1hdGlvbiBmb3IKICAgICAqIHRoZSByZXF1aXJlZCB2aWV3aW5nLgogICAgICovCiAgICBlbnRyeTogT2JqZWN0LAogICAgZW52VmFyczogewogICAgICB0eXBlOiBPYmplY3QsCiAgICAgIGRlZmF1bHQ6ICgpPT57fQogICAgfSwKICB9LAogIGRhdGE6IGZ1bmN0aW9uICgpIHsKICAgIHJldHVybiB7CiAgICAgIGNhc2NhZGVySXNSZWFkeTogZmFsc2UsCiAgICAgIHByZXZpb3VzU2hvd0FsbENoZWNrZWQ6IHsKICAgICAgICBzcGVjaWVzOiBmYWxzZSwKICAgICAgICBnZW5kZXI6IGZhbHNlLAogICAgICAgIG9yZ2FuOiBmYWxzZSwKICAgICAgICBkYXRhc2V0czogZmFsc2UsCiAgICAgIH0sCiAgICAgIHNob3dGaWx0ZXJzOiB0cnVlLAogICAgICBzaG93RmlsdGVyc1RleHQ6IHRydWUsCiAgICAgIGNhc2NhZGVTZWxlY3RlZDogW10sCiAgICAgIGNhc2NhZGVTZWxlY3RlZFdpdGhCb29sZWFuOiBbXSwgCiAgICAgIG51bWJlclNob3duOiAxMCwKICAgICAgZmlsdGVyczogW10sCiAgICAgIGZhY2V0czogWyJTcGVjaWVzIiwgIkdlbmRlciIsICJPcmdhbiIsICJEYXRhc2V0cyJdLAogICAgICBudW1iZXJEYXRhc2V0c1Nob3duOiBbIjEwIiwgIjIwIiwgIjUwIl0sCiAgICAgIHByb3BzOiB7IG11bHRpcGxlOiB0cnVlIH0sCiAgICAgIG9wdGlvbnM6IFsKICAgICAgICB7CiAgICAgICAgICB2YWx1ZTogIlNwZWNpZXMiLAogICAgICAgICAgbGFiZWw6ICJTcGVjaWVzIiwKICAgICAgICAgIGNoaWxkcmVuOiBbe31dLAogICAgICAgIH0sCiAgICAgIF0sCiAgICB9OwogIH0sCiAgY29tcHV0ZWQ6IHsKICAgIG51bWJlck9mUmVzdWx0c1RleHQ6IGZ1bmN0aW9uICgpIHsKICAgICAgcmV0dXJuIGAke3RoaXMuZW50cnkubnVtYmVyT2ZIaXRzfSByZXN1bHRzIHwgU2hvd2luZ2A7CiAgICB9LAogIH0sCiAgbWV0aG9kczogewogICAgY3JlYXRlQ2FzY2FkZXJJdGVtVmFsdWU6IGZ1bmN0aW9uICh0ZXJtLCBmYWNldDE9dW5kZWZpbmVkLCBmYWNldDI9dW5kZWZpbmVkKSB7CiAgICAgIGxldCB2YWx1ZSA9IHRlcm07CiAgICAgIGlmIChmYWNldDEpIHZhbHVlID0gYCR7dGVybX0+JHtmYWNldDF9YDsKICAgICAgaWYgKGZhY2V0MSAmJiBmYWNldDIpIHZhbHVlID0gYCR7dGVybX0+JHtmYWNldDF9PiR7ZmFjZXQyfWA7CiAgICAgIGlmICghZmFjZXQxICYmIGZhY2V0MikgY29uc29sZS53YXJuKGBXYXJuaW5nOiAke2ZhY2V0Mn0gcHJvdmlkZWQgd2l0aG91dCBpdHMgcGFyZW50LCB0aGlzIHdpbGwgbm90IGJlIHNob3duIGluIHRoZSBjYXNjYWRlcmApIAogICAgICByZXR1cm4gdmFsdWU7CiAgICB9LAogICAgcG9wdWxhdGVDYXNjYWRlcjogZnVuY3Rpb24gKCkgewogICAgICByZXR1cm4gbmV3IFByb21pc2UoKHJlc29sdmUpID0+IHsKICAgICAgICAvLyBBbGdvbGlhIGZhY2V0IHNlcmFjaAogICAgICAgIHRoaXMuYWxnb2xpYUNsaWVudC5nZXRBbGdvbGlhRmFjZXRzKGZhY2V0UHJvcFBhdGhNYXBwaW5nKQogICAgICAgICAgLnRoZW4oKGRhdGEpID0+IHsKICAgICAgICAgICAgdGhpcy5mYWNldHMgPSBkYXRhOwogICAgICAgICAgICB0aGlzLm9wdGlvbnMgPSBkYXRhOwoKICAgICAgICAgICAgLy8gY3JlYXRlIHRvcCBsZXZlbCBvZiBvcHRpb25zIGluIGNhc2NhZGVyCiAgICAgICAgICAgIHRoaXMub3B0aW9ucy5mb3JFYWNoKChmYWNldCwgaSkgPT4gewogICAgICAgICAgICAgIHRoaXMub3B0aW9uc1tpXS5sYWJlbCA9IGNvbnZlcnRSZWFkYWJsZUxhYmVsKGZhY2V0LmxhYmVsKTsKICAgICAgICAgICAgICB0aGlzLm9wdGlvbnNbaV0udmFsdWUgPSB0aGlzLmNyZWF0ZUNhc2NhZGVySXRlbVZhbHVlKAogICAgICAgICAgICAgICAgZmFjZXQua2V5LAogICAgICAgICAgICAgICAgdW5kZWZpbmVkCiAgICAgICAgICAgICAgKTsKCiAgICAgICAgICAgICAgLy8gcHV0ICJTaG93IGFsbCIgYXMgZmlyc3Qgb3B0aW9uCiAgICAgICAgICAgICAgdGhpcy5vcHRpb25zW2ldLmNoaWxkcmVuLnVuc2hpZnQoewogICAgICAgICAgICAgICAgdmFsdWU6IHRoaXMuY3JlYXRlQ2FzY2FkZXJJdGVtVmFsdWUoIlNob3cgYWxsIiksCiAgICAgICAgICAgICAgICBsYWJlbDogIlNob3cgYWxsIiwKICAgICAgICAgICAgICB9KTsKCiAgICAgICAgICAgICAgLy8gcG9wdWxhdGUgc2Vjb25kIGxldmVsIG9mIG9wdGlvbnMgCiAgICAgICAgICAgICAgdGhpcy5vcHRpb25zW2ldLmNoaWxkcmVuLmZvckVhY2goKGZhY2V0SXRlbSwgaikgPT4gewogICAgICAgICAgICAgICAgdGhpcy5vcHRpb25zW2ldLmNoaWxkcmVuW2pdLmxhYmVsID0gY29udmVydFJlYWRhYmxlTGFiZWwoCiAgICAgICAgICAgICAgICAgIGZhY2V0SXRlbS5sYWJlbAogICAgICAgICAgICAgICAgKTsKICAgICAgICAgICAgICAgIHRoaXMub3B0aW9uc1tpXS5jaGlsZHJlbltqXS52YWx1ZSA9CiAgICAgICAgICAgICAgICAgIHRoaXMuY3JlYXRlQ2FzY2FkZXJJdGVtVmFsdWUoZmFjZXQubGFiZWwsIGZhY2V0SXRlbS5sYWJlbCk7CiAgICAgICAgICAgICAgICBpZiAodGhpcy5vcHRpb25zW2ldLmNoaWxkcmVuW2pdLmNoaWxkcmVuICYmIHRoaXMub3B0aW9uc1tpXS5jaGlsZHJlbltqXS5jaGlsZHJlbi5sZW5ndGggPiAwKSB7CiAgICAgICAgICAgICAgICAgIHRoaXMub3B0aW9uc1tpXS5jaGlsZHJlbltqXS5jaGlsZHJlbi5mb3JFYWNoKCh0ZXJtLCBrKSA9PiB7CiAgICAgICAgICAgICAgICAgICAgdGhpcy5vcHRpb25zW2ldLmNoaWxkcmVuW2pdLmNoaWxkcmVuW2tdLmxhYmVsID0gY29udmVydFJlYWRhYmxlTGFiZWwoCiAgICAgICAgICAgICAgICAgICAgICB0ZXJtLmxhYmVsCiAgICAgICAgICAgICAgICAgICAgKTsKICAgICAgICAgICAgICAgICAgICB0aGlzLm9wdGlvbnNbaV0uY2hpbGRyZW5bal0uY2hpbGRyZW5ba10udmFsdWUgPQogICAgICAgICAgICAgICAgICAgICAgdGhpcy5jcmVhdGVDYXNjYWRlckl0ZW1WYWx1ZSgKICAgICAgICAgICAgICAgICAgICAgICAgZmFjZXQubGFiZWwsCiAgICAgICAgICAgICAgICAgICAgICAgIGZhY2V0SXRlbS5sYWJlbCwKICAgICAgICAgICAgICAgICAgICAgICAgdGVybS5sYWJlbAogICAgICAgICAgICAgICAgICAgICAgKTsKICAgICAgICAgICAgICAgICAgfSk7CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgfSk7CiAgICAgICAgICAgIH0pOwogICAgICAgICAgfSkKICAgICAgICAgIC5maW5hbGx5KCgpID0+IHsKICAgICAgICAgICAgcmVzb2x2ZSgpOwogICAgICAgICAgfSk7CiAgICAgIH0pOwogICAgfSwKICAgIHRhZ3NDaGFuZ2VkQ2FsbGJhY2s6IGZ1bmN0aW9uIChwcmVzZW50VGFncykgewogICAgICBpZiAocHJlc2VudFRhZ3MubGVuZ3RoID4gMCkgewogICAgICAgIHRoaXMuc2hvd0ZpbHRlcnNUZXh0ID0gZmFsc2U7CiAgICAgIH0gZWxzZSB7CiAgICAgICAgdGhpcy5zaG93RmlsdGVyc1RleHQgPSB0cnVlOwogICAgICB9CiAgICB9LAogICAgLy8gY2FzY2FkZUV2ZW50OiBpbml0aWF0ZSBzZWFyY2hlcyBiYXNlZCBvZmYgY2FzY2FkZXIgY2hhbmdlcwogICAgY2FzY2FkZUV2ZW50OiBmdW5jdGlvbiAoZXZlbnQpIHsKICAgICAgaWYgKGV2ZW50KSB7CiAgICAgICAgLy8gQ2hlY2sgZm9yIHNob3cgYWxsIGluIHNlbGVjdGVkIGNhc2NhZGUgb3B0aW9ucwogICAgICAgIGV2ZW50ID0gdGhpcy5zaG93QWxsRXZlbnRNb2RpZmllcihldmVudCk7CgogICAgICAgIC8vIENyZWF0ZSByZXN1bHRzIGZvciB0aGUgZmlsdGVyIHVwZGF0ZSAKICAgICAgICBsZXQgZmlsdGVyS2V5cyA9IGV2ZW50LmZpbHRlciggc2VsZWN0aW9uID0+IHNlbGVjdGlvbiAhPT0gdW5kZWZpbmVkKS5tYXAoIGZzID0+IHsKICAgICAgICAgIGxldCB7aFN0cmluZywgYlN0cmluZ30gPSB0aGlzLmZpbmRIaWVyYXJhY2h5U3RyaW5nQW5kQm9vbGVhblN0cmluZyhmcykKICAgICAgICAgIGxldCB7ZmFjZXQsIGZhY2V0MiwgdGVybX0gPSB0aGlzLmdldEZhY2V0c0Zyb21IaWVyYXJjaHlTdHJpbmcoaFN0cmluZykKICAgICAgICAgIHJldHVybiB7CiAgICAgICAgICAgIGZhY2V0UHJvcFBhdGg6IGZzWzBdLCAKICAgICAgICAgICAgZmFjZXQ6IGZhY2V0LAogICAgICAgICAgICBmYWNldDI6IGZhY2V0MiwKICAgICAgICAgICAgdGVybTogdGVybSwgCiAgICAgICAgICAgIEFORDogYlN0cmluZyAvLyBmb3Igc2V0dGluZyB0aGUgYm9vbGVhbgogICAgICAgICAgfQogICAgICAgIH0pCgogICAgICAgIC8vIE1vdmUgcmVzdWx0cyBmcm9tIGFycmF5cyB0byBvYmplY3QgZm9yIHVzZSBvbiBzY2ljcnVuY2ggKG5vdGUgdGhhdCB3ZSByZW1vdmUgJ2R1cGxpY2F0ZScgYXMgdGhhdCBpcyBvbmx5IG5lZWRlZCBmb3IgZmlsdGVyIGtleXMpCiAgICAgICAgbGV0IGZpbHRlcnMgPSBldmVudC5maWx0ZXIoIHNlbGVjdGlvbiA9PiBzZWxlY3Rpb24gIT09IHVuZGVmaW5lZCkubWFwKCBmcyA9PiB7CiAgICAgICAgICBsZXQgZmFjZXRTdWJQcm9wUGF0aCA9IHVuZGVmaW5lZAogICAgICAgICAgbGV0IHByb3BQYXRoID0gZnNbMF0uaW5jbHVkZXMoJ2R1cGxpY2F0ZScpID8gZnNbMF0uc3BsaXQoJ2R1cGxpY2F0ZScpWzBdIDogZnNbMF0KICAgICAgICAgIGxldCB7aFN0cmluZywgYlN0cmluZ30gPSB0aGlzLmZpbmRIaWVyYXJhY2h5U3RyaW5nQW5kQm9vbGVhblN0cmluZyhmcykKICAgICAgICAgIGxldCB7ZmFjZXQsIGZhY2V0MiwgdGVybX0gPSB0aGlzLmdldEZhY2V0c0Zyb21IaWVyYXJjaHlTdHJpbmcoaFN0cmluZykKICAgICAgICAgIGlmIChmYWNldDIpIHsgLy8gV2UgbmVlZCB0byBjaGFuZ2UgdGhlIHByb3BQYXRoIGlmIHdlIGFyZSBhdCB0aGUgdGhpcmQgbGV2ZWwgb2YgdGhlIGNhc2NhZGVyCiAgICAgICAgICAgIGZhY2V0ID0gZmFjZXQyCiAgICAgICAgICAgIGZhY2V0U3ViUHJvcFBhdGggPSAnYW5hdG9teS5vcmdhbi5uYW1lJwogICAgICAgICAgfQogICAgICAgICAgcmV0dXJuIHsKICAgICAgICAgICAgZmFjZXRQcm9wUGF0aDogcHJvcFBhdGgsCiAgICAgICAgICAgIGZhY2V0OiBmYWNldCwKICAgICAgICAgICAgdGVybTogdGVybSwgCiAgICAgICAgICAgIEFORDogYlN0cmluZywgLy8gZm9yIHNldHRpbmcgdGhlIGJvb2xlYW4KICAgICAgICAgICAgZmFjZXRTdWJQcm9wUGF0aDogZmFjZXRTdWJQcm9wUGF0aCAvLyB3aWxsIGJlIHVzZWQgZm9yIGZpbHRlcnMgaWYgd2UgYXJlIGF0IHRoZSB0aGlyZCBsZXZlbCBvZiB0aGUgY2FzY2FkZXIKICAgICAgICAgIH0KICAgICAgICB9KQoKCiAgICAgICAgdGhpcy4kZW1pdCgnbG9hZGluZycsIHRydWUpIC8vIGxldCBzaWRlYmFyY29udGVudCB3YWl0IGZvciB0aGUgcmVxdWVzdHMKCiAgICAgICAgdGhpcy4kZW1pdCgiZmlsdGVyUmVzdWx0cyIsIGZpbHRlcnMpOyAvLyBlbWl0IGZpbHRlcnMgZm9yIGFwcHMgYWJvdmUgc2lkZWJhcgogICAgICAgIHRoaXMuc2V0Q2FzY2FkZXIoZmlsdGVyS2V5cyk7IC8vdXBkYXRlIG91ciBjYXNjYWRlciB2LW1vZGVsIGlmIHdlIG1vZGlmaWVkIHRoZSBldmVudAogICAgICAgIHRoaXMuY3NzTW9kcygpOyAvLyB1cGRhdGUgY3NzIGZvciB0aGUgY2FzY2FkZXIKICAgICAgfQogICAgfSwKICAgIC8vdGhpcyBmdWNudGlvbiBpcyBuZWVkZWQgYXMgd2UgcHJldmlvdXNseSBzdG9yZWQgYm9vbGVhbnMgaW4gdGhlIGFycmF5IG9mIGV2ZW50IHRoYXQgCiAgICAvLyAgYXJlIHN0b3JlZCBpbiB0aGUgY2FzY2FkZXIKICAgIGZpbmRIaWVyYXJhY2h5U3RyaW5nQW5kQm9vbGVhblN0cmluZyhjYXNjYWRlRXZlbnRJdGVtKXsgCiAgICAgIGxldCBoU3RyaW5nLCBiU3RyaW5nCiAgICAgIGlmIChjYXNjYWRlRXZlbnRJdGVtLmxlbmd0aCA+PSAzKXsKICAgICAgICBpZiAoY2FzY2FkZUV2ZW50SXRlbVsyXSAmJiBjYXNjYWRlRXZlbnRJdGVtWzJdLnNwbGl0KCc+JykubGVuZ3RoID4gMil7CiAgICAgICAgICBoU3RyaW5nID0gY2FzY2FkZUV2ZW50SXRlbVsyXQogICAgICAgICAgYlN0cmluZyA9IGNhc2NhZGVFdmVudEl0ZW0ubGVuZ3RoID09IDQgPyBjYXNjYWRlRXZlbnRJdGVtWzNdIDogdW5kZWZpbmVkCiAgICAgICAgfSBlbHNlIHsKICAgICAgICAgIGhTdHJpbmcgPSBjYXNjYWRlRXZlbnRJdGVtWzFdCiAgICAgICAgICBiU3RyaW5nID0gIGNhc2NhZGVFdmVudEl0ZW1bMl0KICAgICAgICB9CiAgICAgIH0gZWxzZSB7CiAgICAgICAgaFN0cmluZyA9IGNhc2NhZGVFdmVudEl0ZW1bMV0KICAgICAgICBiU3RyaW5nID0gdW5kZWZpbmVkCiAgICAgIH0KICAgICAgcmV0dXJuIHtoU3RyaW5nLCBiU3RyaW5nfQogICAgfSwKICAgIC8vIFNwbGl0cyB0aGUgdGVybXMgYW5kIGZhY2V0cyBmcm9tIHRoZSBzdHJpbmcgc3RvcmVkIGluIHRoZSBjYXNjYWRlcgogICAgZ2V0RmFjZXRzRnJvbUhpZXJhcmNoeVN0cmluZyhoaWVyYXJjaHlTdHJpbmcpewogICAgICBsZXQgZmFjZXQsIHRlcm0sIGZhY2V0MiA9IHVuZGVmaW5lZAogICAgICBsZXQgZnNTcGxpdCA9IGhpZXJhcmNoeVN0cmluZy5zcGxpdCgiPiIpOwogICAgICBpZiAoZnNTcGxpdC5sZW5ndGggPT0gMyl7IC8vIGlmIHdlIGFyZSBhdCB0aGUgdGhpcmQgbGV2ZWwgb2YgdGhlIGNhc2NhZGVyCiAgICAgICAgZmFjZXQyID0gZnNTcGxpdFsyXTsKICAgICAgICBmYWNldCA9IGZzU3BsaXRbMV07CiAgICAgICAgdGVybSA9IGZzU3BsaXRbMF07CiAgICAgIH0gZWxzZSB7CiAgICAgICAgZmFjZXQgPSBmc1NwbGl0WzFdOwogICAgICAgIHRlcm0gPSBmc1NwbGl0WzBdOwogICAgICB9IAogICAgICByZXR1cm4ge2ZhY2V0LCBmYWNldDIsIHRlcm19CiAgICB9LAogICAgLy8gc2hvd0FsbEV2ZW50TW9kaWZpZXI6ICBNb2RpZmllcyBhIGNhc2NhZGUgZXZlbnQgdG8gdW5jbGljayBhbGwgc2VsZWN0aW9ucyBpbiBjYXRlZ29yeSBpZiAic2hvdyBhbGwiIGlzIGNsaWNrZWQuIEFsc28gdW5jaGVja3MgIlNob3cgYWxsIiBpZiBhbnkgc2VjZWN0aW9uIGlzIGNsaWNrZWQKICAgIC8vICpOT1RFKiBEb2VzIE5PVCByZW1vdmUgJ1Nob3cgYWxsJyBzZWxlY3Rpb25zIGZyb20gc2hvd2luZyBpbiAnY2FzY2FkZVNlbGVjdGVkJwogICAgc2hvd0FsbEV2ZW50TW9kaWZpZXI6IGZ1bmN0aW9uIChldmVudCkgewogICAgICAvLyBjaGVjayBpZiBzaG93IGFsbCBpcyBpbiB0aGUgY2FzY2FkZXIgY2hlY2tlZCBvcHRpb24gbGlzdAogICAgICBsZXQgaGFzU2hvd0FsbCA9IGV2ZW50CiAgICAgICAgLm1hcCgoZXYpID0+IChldiA/IGV2WzFdLnRvTG93ZXJDYXNlKCkuaW5jbHVkZXMoInNob3cgYWxsIikgOiBmYWxzZSkpCiAgICAgICAgLmluY2x1ZGVzKHRydWUpOwogICAgICAvLyByZW1vdmUgYWxsIHNlbGVjdGVkIG9wdGlvbnMgYmVsb3cgdGhlIHNob3cgYWxsIGlmIGNoZWNrZWQKICAgICAgaWYgKGhhc1Nob3dBbGwpIHsKICAgICAgICBsZXQgbW9kaWZpZWRFdmVudCA9IFtdOwogICAgICAgIGxldCBmYWNldE1hcHMgPSB7fTsKICAgICAgICAvL2NhdGFnb3Jpc2VkIGRpZmZlcmVudCBmYWNldCBpdGVtcwogICAgICAgIGZvciAoY29uc3QgaSBpbiBldmVudCkgewogICAgICAgICAgaWYgKGZhY2V0TWFwc1tldmVudFtpXVswXV0gPT09IHVuZGVmaW5lZCkgZmFjZXRNYXBzW2V2ZW50W2ldWzBdXSA9IFtdOwogICAgICAgICAgZmFjZXRNYXBzW2V2ZW50W2ldWzBdXS5wdXNoKGV2ZW50W2ldKTsKICAgICAgICB9CiAgICAgICAgLy8gZ28gdGhyb3VnaCBlYWNoIGZhY2V0cwogICAgICAgIGZvciAoY29uc3QgZmFjZXQgaW4gZmFjZXRNYXBzKSB7CiAgICAgICAgICBsZXQgc2hvd0FsbCA9IHVuZGVmaW5lZDsKICAgICAgICAgIC8vIEZpbmQgdGhlIHNob3cgYWxsIGl0ZW0gaWYgYW55CiAgICAgICAgICBmb3IgKGxldCBpID0gZmFjZXRNYXBzW2ZhY2V0XS5sZW5ndGggLSAxOyBpID49IDA7IGktLSkgewogICAgICAgICAgICBpZiAoZmFjZXRNYXBzW2ZhY2V0XVtpXVsxXS50b0xvd2VyQ2FzZSgpLmluY2x1ZGVzKCJzaG93IGFsbCIpKSB7CiAgICAgICAgICAgICAgLy9zZXBlcmF0ZSB0aGUgc2hvd0FsbCBpdGVtIGFuZCB0aGUgcmVzdAogICAgICAgICAgICAgIHNob3dBbGwgPSBmYWNldE1hcHNbZmFjZXRdLnNwbGljZShpLCAxKVswXTsKICAgICAgICAgICAgICBicmVhazsKICAgICAgICAgICAgfQogICAgICAgICAgfQogICAgICAgICAgaWYgKHNob3dBbGwpIHsKICAgICAgICAgICAgaWYgKHRoaXMucHJldmlvdXNTaG93QWxsQ2hlY2tlZFtmYWNldF0pIHsKICAgICAgICAgICAgICAvL1Vuc2V0IHRoZSBzaG93IGFsbCBpZiBpdCB3YXMgcHJlc2VudCBwcmV2aW91c2x5CiAgICAgICAgICAgICAgLy9hbmQgdGhlcmUgYXJlIG90aGVyIGl0ZW1zCiAgICAgICAgICAgICAgaWYgKGZhY2V0TWFwc1tmYWNldF0ubGVuZ3RoID4gMCkKICAgICAgICAgICAgICAgIG1vZGlmaWVkRXZlbnQucHVzaCguLi5mYWNldE1hcHNbZmFjZXRdKTsKICAgICAgICAgICAgICBlbHNlIG1vZGlmaWVkRXZlbnQucHVzaChzaG93QWxsKTsKICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAvL3Nob3dBbGwgaXMgdHVybmVkIG9uCiAgICAgICAgICAgICAgbW9kaWZpZWRFdmVudC5wdXNoKHNob3dBbGwpOwogICAgICAgICAgICB9CiAgICAgICAgICB9IGVsc2UgewogICAgICAgICAgICBtb2RpZmllZEV2ZW50LnB1c2goLi4uZmFjZXRNYXBzW2ZhY2V0XSk7CiAgICAgICAgICB9CiAgICAgICAgfQogICAgICAgIC8vTWFrZSBzdXJlIHRoZSBleHBhbmRlZCBpdGVtIGFyZSBzb3J0ZWQgZmlyc3QuCiAgICAgICAgcmV0dXJuIG1vZGlmaWVkRXZlbnQuc29ydCgoYSwgYikgPT4gewogICAgICAgICAgaWYgKHRoaXMuX19leHBhbmRJdGVtX18pIHsKICAgICAgICAgICAgaWYgKGFbMF0gPT0gdGhpcy5fX2V4cGFuZEl0ZW1fXykgewogICAgICAgICAgICAgIGlmIChiWzBdID09IHRoaXMuX19leHBhbmRJdGVtX18pIHsKICAgICAgICAgICAgICAgIHJldHVybiAwOwogICAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgICByZXR1cm4gLTE7CiAgICAgICAgICAgICAgfQogICAgICAgICAgICB9IGVsc2UgaWYgKGJbMF0gPT0gdGhpcy5fX2V4cGFuZEl0ZW1fXykgewogICAgICAgICAgICAgIGlmIChhWzBdID09IHRoaXMuX19leHBhbmRJdGVtX18pIHsKICAgICAgICAgICAgICAgIHJldHVybiAwOwogICAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgICByZXR1cm4gMTsKICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgcmV0dXJuIDA7CiAgICAgICAgICAgIH0KICAgICAgICAgIH0gZWxzZSByZXR1cm4gMDsKICAgICAgICB9KTsKICAgICAgfQogICAgICByZXR1cm4gZXZlbnQ7CiAgICB9LAogICAgY2FzY2FkZUV4cGFuZENoYW5nZTogZnVuY3Rpb24gKGV2ZW50KSB7CiAgICAgIC8vd29yayBhcm91bmQgYXMgdGhlIGV4cGFuZCBpdGVtIG1heSBjaGFuZ2Ugb24gbW9kaWZ5aW5nIHRoZSBjYXNjYWRlIHByb3BzCiAgICAgIHRoaXMuX19leHBhbmRJdGVtX18gPSBldmVudDsKICAgICAgdGhpcy5jc3NNb2RzKCk7CiAgICB9LAogICAgbnVtYmVyU2hvd25DaGFuZ2VkOiBmdW5jdGlvbiAoZXZlbnQpIHsKICAgICAgdGhpcy4kZW1pdCgibnVtYmVyUGVyUGFnZSIsIHBhcnNlSW50KGV2ZW50KSk7CiAgICB9LAogICAgdXBkYXRlUHJldmlvdXNTaG93QWxsQ2hlY2tlZDogZnVuY3Rpb24gKG9wdGlvbnMpIHsKICAgICAgLy9SZXNldCB0aGUgc3RhdGVzCiAgICAgIGZvciAoY29uc3QgZmFjZXQgaW4gdGhpcy5wcmV2aW91c1Nob3dBbGxDaGVja2VkKSB7CiAgICAgICAgdGhpcy5wcmV2aW91c1Nob3dBbGxDaGVja2VkW2ZhY2V0XSA9IGZhbHNlOwogICAgICB9CiAgICAgIG9wdGlvbnMuZm9yRWFjaCgoZWxlbWVudCkgPT4gewogICAgICAgIGlmIChlbGVtZW50WzFdLnRvTG93ZXJDYXNlKCkuaW5jbHVkZXMoInNob3cgYWxsIikpCiAgICAgICAgICB0aGlzLnByZXZpb3VzU2hvd0FsbENoZWNrZWRbZWxlbWVudFswXV0gPSB0cnVlOwogICAgICB9KTsKICAgIH0sCiAgICAvLyBzZXRDYXNjYWRlcjogQ2xlYXJzIHByZXZpb3VzIHNlbGVjdGlvbnMgYW5kIHRha2VzIGluIGFuIGFycmF5IG9mIGZhY2V0cyB0byBzZWxlY3Q6IGZpbHRlckZhY2V0cwogICAgLy8gZmFjZXRzIGFyZSBpbiB0aGUgZm9ybToKICAgIC8vICAgIHsKICAgIC8vICAgICAgZmFjZXRQcm9wUGF0aDogJ2FuYXRvbXkub3JnYW4ubmFtZScsCiAgICAvLyAgICAgIHRlcm06ICdTZXgnLAogICAgLy8gICAgICBmYWNldDogJ01hbGUnCiAgICAvLyAgICAgIEFORDogdHJ1ZSAgLy8gT3B0aW9uYWwgdmFsdWUgZm9yIHNldHRpbmcgdGhlIGJvb2xlYW4gd2l0aGluIGEgZmFjZXQKICAgIC8vICAgIH0KICAgIHNldENhc2NhZGVyOiBmdW5jdGlvbiAoZmlsdGVyRmFjZXRzKSB7CiAgICAgIC8vRG8gbm90IHNldCB0aGUgdmFsdWUgdW5sZXNzIGl0IGlzIHJlYWR5CiAgICAgIGlmICh0aGlzLmNhc2NhZGVySXNSZWFkeSAmJiBmaWx0ZXJGYWNldHMgJiYgZmlsdGVyRmFjZXRzLmxlbmd0aCAhPSAwKSB7CiAgICAgICAgdGhpcy5jYXNjYWRlU2VsZWN0ZWQgPSBmaWx0ZXJGYWNldHMubWFwKGUgPT4gewogICAgICAgICAgbGV0IGZpbHRlcnMgPSBbCiAgICAgICAgICAgIGUuZmFjZXRQcm9wUGF0aCwKICAgICAgICAgICAgdGhpcy5jcmVhdGVDYXNjYWRlckl0ZW1WYWx1ZShjYXBpdGFsaXNlKGUudGVybSksIGUuZmFjZXQpLAogICAgICAgICAgXQogICAgICAgICAgLy8gQWRkIHRoZSB0aGlyZCBsZXZlbCBvZiB0aGUgY2FzY2FkZXIgaWYgaXQgZXhpc3RzCiAgICAgICAgICBpZiAoZS5mYWNldDIpIGZpbHRlcnMucHVzaCh0aGlzLmNyZWF0ZUNhc2NhZGVySXRlbVZhbHVlKGNhcGl0YWxpc2UoZS50ZXJtKSwgZS5mYWNldCwgZS5mYWNldDIpKQogICAgICAgICAgcmV0dXJuIGZpbHRlcnMKICAgICAgICB9KTsKCiAgICAgICAgLy8gVW5mb3J0dHVuYXRlbHkgdGhlIGNhc2NhZGVyIGlzIHZlcnkgcGFydGljdWxhciBhYm91dCBpdCdzIHYtbW9kZWwKICAgICAgICAvLyAgIHRvIGdldCBhcm91bmQgdGhpcyB3ZSBjcmVhdGUgYSBjbG9uZSBvZiBpdCBhbmQgdXNlIHRoaXMgY2xvbmUgZm9yIGFkZGluZyBvdXIgYm9vbGVhbiBpbmZvcm1hdGlvbgogICAgICAgIHRoaXMuY2FzY2FkZVNlbGVjdGVkV2l0aEJvb2xlYW49IGZpbHRlckZhY2V0cy5tYXAoZSA9PiB7CiAgICAgICAgICByZXR1cm4gWwogICAgICAgICAgICBlLmZhY2V0UHJvcFBhdGgsCiAgICAgICAgICAgIHRoaXMuY3JlYXRlQ2FzY2FkZXJJdGVtVmFsdWUoY2FwaXRhbGlzZShlLnRlcm0pLCBlLmZhY2V0KSwKICAgICAgICAgICAgZS5BTkQKICAgICAgICAgIF0KICAgICAgICB9KTsKICAgICAgICB0aGlzLnVwZGF0ZVByZXZpb3VzU2hvd0FsbENoZWNrZWQodGhpcy5jYXNjYWRlU2VsZWN0ZWQpOwogICAgICB9CiAgICB9LAogICAgYWRkRmlsdGVyOiBmdW5jdGlvbiAoZmlsdGVyVG9BZGQpIHsKICAgICAgLy9EbyBub3Qgc2V0IHRoZSB2YWx1ZSB1bmxlc3MgaXQgaXMgcmVhZHkKICAgICAgaWYgKHRoaXMuY2FzY2FkZXJJc1JlYWR5ICYmIGZpbHRlclRvQWRkKSB7CiAgICAgICAgbGV0IGZpbHRlciA9IHRoaXMudmFsaWRhdGVBbmRDb252ZXJ0RmlsdGVyVG9IaWVyYXJjaGljYWwoZmlsdGVyVG9BZGQpCiAgICAgICAgaWYgKGZpbHRlcikgewogICAgICAgICAgdGhpcy5jYXNjYWRlU2VsZWN0ZWQuZmlsdGVyKGY9PmYudGVybSAhPSBmaWx0ZXIudGVybSkKICAgICAgICAgIHRoaXMuY2FzY2FkZVNlbGVjdGVkLnB1c2goW2ZpbHRlci5mYWNldFByb3BQYXRoLHRoaXMuY3JlYXRlQ2FzY2FkZXJJdGVtVmFsdWUoZmlsdGVyLnRlcm0sIGZpbHRlci5mYWNldCksIHRoaXMuY3JlYXRlQ2FzY2FkZXJJdGVtVmFsdWUoZmlsdGVyLnRlcm0sIGZpbHRlci5mYWNldCwgZmlsdGVyLmZhY2V0MildKQogICAgICAgICAgdGhpcy5jYXNjYWRlU2VsZWN0ZWRXaXRoQm9vbGVhbi5wdXNoKFtmaWx0ZXIuZmFjZXRQcm9wUGF0aCx0aGlzLmNyZWF0ZUNhc2NhZGVySXRlbVZhbHVlKGZpbHRlci50ZXJtLCBmaWx0ZXIuZmFjZXQpLCB0aGlzLmNyZWF0ZUNhc2NhZGVySXRlbVZhbHVlKGZpbHRlci50ZXJtLCBmaWx0ZXIuZmFjZXQsIGZpbHRlci5mYWNldDIpLCBmaWx0ZXIuQU5EXSkKICAgICAgICAgIC8vIFRoZSAnQU5EJyBoZXIgaXMgdG8gc2V0IHRoZSBib29sZWFuIHZhbHVlIHdoZW4gd2Ugc2VhcmNoIG9uIHRoZSBmaWx0ZXJzLiBJdCBjYW4gYmUgdW5kZWZpbmVkIHdpdGhvdXQgYnJlYWtpbmcgYW55dGhpbmcKICAgICAgICAgIHJldHVybiB0cnVlOwogICAgICAgIH0KICAgICAgfQogICAgfSwKICAgIGluaXRpYXRlU2VhcmNoOiBmdW5jdGlvbigpIHsKICAgICAgdGhpcy5jYXNjYWRlRXZlbnQodGhpcy5jYXNjYWRlU2VsZWN0ZWRXaXRoQm9vbGVhbikKICAgIH0sCiAgICAvLyBjaGVja1Nob3dBbGxCb3hlczogQ2hlY2tzIGVhY2ggJ1Nob3cgYWxsJyBjYXNjYWRlIG9wdGlvbiBieSB1c2luZyB0aGUgc2V0Q2FzY2FkZXIgZnVuY3Rpb24KICAgIGNoZWNrU2hvd0FsbEJveGVzOiBmdW5jdGlvbigpewogICAgICB0aGlzLnNldENhc2NhZGVyKAogICAgICAgIHRoaXMub3B0aW9ucy5tYXAob3B0aW9uID0+IHsKICAgICAgICAgIHJldHVybiB7CiAgICAgICAgICAgIGZhY2V0UHJvcFBhdGg6IG9wdGlvbi52YWx1ZSwKICAgICAgICAgICAgdGVybTogb3B0aW9uLmxhYmVsLAogICAgICAgICAgICBmYWNldDogJ1Nob3cgYWxsJwogICAgICAgICAgfQogICAgICAgIH0pCiAgICAgICkKICAgIH0sCiAgICBtYWtlQ2FzY2FkZUxhYmVsc0NsaWNrYWJsZTogZnVuY3Rpb24gKCkgewogICAgICAvLyBOZXh0IHRpY2sgYWxsb3dzIHRoZSBjYXNjYWRlciBtZW51IHRvIGNoYW5nZQogICAgICB0aGlzLiRuZXh0VGljaygoKSA9PiB7CiAgICAgICAgZG9jdW1lbnQKICAgICAgICAgIC5xdWVyeVNlbGVjdG9yQWxsKCIuc2lkZWJhci1jYXNjYWRlci1wb3BwZXIgLmVsLWNhc2NhZGVyLW5vZGVfX2xhYmVsIikKICAgICAgICAgIC5mb3JFYWNoKChlbCkgPT4gewogICAgICAgICAgICAvLyBzdGVwIHRocm91Z2ggZWFjaCBjYXNjYWRlIGxhYmVsCiAgICAgICAgICAgIGVsLm9uY2xpY2sgPSBmdW5jdGlvbiAoKSB7CiAgICAgICAgICAgICAgY29uc3QgY2hlY2tib3ggPSB0aGlzLnByZXZpb3VzRWxlbWVudFNpYmxpbmc7CiAgICAgICAgICAgICAgaWYgKGNoZWNrYm94KSB7CiAgICAgICAgICAgICAgICBpZiAoIWNoZWNrYm94LnBhcmVudEVsZW1lbnQuYXR0cmlidXRlc1siYXJpYS1vd25zIl0pIHsKICAgICAgICAgICAgICAgICAgLy8gY2hlY2sgaWYgd2UgYXJlIGF0IHRoZSBsb3dlc3QgbGV2ZWwgb2YgY2FzY2FkZXIKICAgICAgICAgICAgICAgICAgdGhpcy5wcmV2aW91c0VsZW1lbnRTaWJsaW5nLmNsaWNrKCk7IC8vIENsaWNrIHRoZSBjaGVja2JveAogICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgIH0KICAgICAgICAgICAgfTsKICAgICAgICAgIH0pOwogICAgICB9KTsKICAgIH0sCgogICAgY3NzTW9kczogZnVuY3Rpb24gKCl7CiAgICAgIHRoaXMubWFrZUNhc2NhZGVMYWJlbHNDbGlja2FibGUoKTsKICAgICAgdGhpcy5yZW1vdmVUb3BMZXZlbENhc2NhZGVyQ2hlY2tib3hlcygpOwogICAgfSwKCiAgICByZW1vdmVUb3BMZXZlbENhc2NhZGVyQ2hlY2tib3hlczogZnVuY3Rpb24gKCkgewogICAgICAvLyBOZXh0IHRpY2sgYWxsb3dzIHRoZSBjYXNjYWRlciBtZW51IHRvIGNoYW5nZQogICAgICB0aGlzLiRuZXh0VGljaygoKSA9PiB7CiAgICAgICAgbGV0IGNhc2NhZGVQYW5lbHMgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yQWxsKCIuc2lkZWJhci1jYXNjYWRlci1wb3BwZXIgLmVsLWNhc2NhZGVyLW1lbnVfX2xpc3QiKTsKICAgICAgICAvLyBIaWRlIHRoZSBjaGVja2JveGVzIG9uIHRoZSBmaXJzdCBsZXZlbCBvZiB0aGUgY2FzY2FkZXIKICAgICAgICBjYXNjYWRlUGFuZWxzWzBdLnF1ZXJ5U2VsZWN0b3JBbGwoJy5lbC1jaGVja2JveF9faW5wdXQnKS5mb3JFYWNoKGVsPT5lbC5zdHlsZS5kaXNwbGF5PSdub25lJyk7CiAgICAgIH0pOwogICAgfSwKCgogICAgLyoKICAgICAgKiBHaXZlbiBhIGZpbHRlciwgdGhlIGZ1bmN0aW9uIGJlbG93IHJldHVybnMgdGhlIGZpbHRlciBpbiB0aGUgZm9ybWF0IG9mIHRoZSBjYXNjYWRlciwgcmV0dXJucyBmYWxzZSBpZiBmYWNldCBpcyBub3QgZm91bmQKICAgICAgKi8KICAgIHZhbGlkYXRlQW5kQ29udmVydEZpbHRlclRvSGllcmFyY2hpY2FsOiBmdW5jdGlvbiAoZmlsdGVyKSB7CiAgICAgIGlmIChmaWx0ZXIgJiYgZmlsdGVyLmZhY2V0ICYmIGZpbHRlci50ZXJtKSB7CiAgICAgICAgaWYgKGZpbHRlci5mYWNldDIpIHsKICAgICAgICAgIHJldHVybiBmaWx0ZXIgLy8gaWYgaXQgaGFzIGEgc2Vjb25kIHRlcm0gd2Ugd2lsbCBhc3N1bWUgaXQgaXMgaGllcmFyY2hpY2FsIGFuZCByZXR1cm4gaXQgYXMgaXMKICAgICAgICB9IGVsc2UgewogICAgICAgICAgZm9yIChjb25zdCBmaXJzdExheWVyIG9mIHRoaXMub3B0aW9ucyl7CiAgICAgICAgICAgIGlmIChmaXJzdExheWVyLnZhbHVlID09PSBmaWx0ZXIuZmFjZXRQcm9wUGF0aCkgewogICAgICAgICAgICAgIGZvciAoY29uc3Qgc2Vjb25kTGF5ZXIgb2YgZmlyc3RMYXllci5jaGlsZHJlbikgewogICAgICAgICAgICAgICAgaWYgKHNlY29uZExheWVyLmxhYmVsID09PSBmaWx0ZXIuZmFjZXQpIHsKICAgICAgICAgICAgICAgICAgLy8gaWYgd2UgZmluZCBhIG1hdGNoIG9uIHRoZSBzZWNvbmQgbGV2ZWwsIHRoZSBmaWx0ZXIgd2lsbCBhbHJlYWR5IGJlIGNvcnJlY3QKICAgICAgICAgICAgICAgICAgcmV0dXJuIGZpbHRlcgogICAgICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgICAgaWYgKHNlY29uZExheWVyLmNoaWxkcmVuICYmIHNlY29uZExheWVyLmNoaWxkcmVuLmxlbmd0aCA+IDApIHsKICAgICAgICAgICAgICAgICAgICBmb3IgKGNvbnN0IHRoaXJkTGF5ZXIgb2Ygc2Vjb25kTGF5ZXIuY2hpbGRyZW4pIHsKICAgICAgICAgICAgICAgICAgICAgIGlmICh0aGlyZExheWVyLmxhYmVsID09PSBmaWx0ZXIuZmFjZXQpIHsKICAgICAgICAgICAgICAgICAgICAgICAgLy8gSWYgd2UgZmluZCBhIG1hdGNoIG9uIHRoZSB0aGlyZCBsZXZlbCwgd2UgbmVlZCB0byBzd2l0Y2ggZmFjZXQxIHRvIGZhY2V0MgogICAgICAgICAgICAgICAgICAgICAgICAvLyAgIGFuZCBwb3B1bGF0ZSBmYWNldDEgd2l0aCBpdHMgcGFyZW50cyBsYWJlbC4KICAgICAgICAgICAgICAgICAgICAgICAgZmlsdGVyLmZhY2V0MiA9IHRoaXJkTGF5ZXIubGFiZWwKICAgICAgICAgICAgICAgICAgICAgICAgZmlsdGVyLmZhY2V0ID0gc2Vjb25kTGF5ZXIubGFiZWwKICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGZpbHRlcgogICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgIH0KICAgICAgICAgICAgfQogICAgICAgICAgfQogICAgICAgIH0KICAgICAgfQogICAgICByZXR1cm4gZmFsc2UKICAgIH0sCgogICAgZ2V0SGllcmFyY2hpY2FsVmFsaWRhdGVkRmlsdGVyczogZnVuY3Rpb24gKGZpbHRlcnMpIHsKICAgICAgaWYgKGZpbHRlcnMpIHsKICAgICAgICBpZiAodGhpcy5jYXNjYWRlcklzUmVhZHkpIHsKICAgICAgICAgIGNvbnN0IHJlc3VsdCA9IFtdOwogICAgICAgICAgZmlsdGVycy5mb3JFYWNoKGZpbHRlciA9PiB7CiAgICAgICAgICAgIGNvbnN0IHZhbGlkYXRlZEZpbHRlciA9IHRoaXMudmFsaWRhdGVBbmRDb252ZXJ0RmlsdGVyVG9IaWVyYXJjaGljYWwoZmlsdGVyKQogICAgICAgICAgICBpZiAodmFsaWRhdGVkRmlsdGVyKSB7CiAgICAgICAgICAgICAgcmVzdWx0LnB1c2godmFsaWRhdGVkRmlsdGVyKTsKICAgICAgICAgICAgfQogICAgICAgICAgfSk7CiAgICAgICAgICByZXR1cm4gcmVzdWx0OwogICAgICAgIH0gZWxzZSByZXR1cm4gZmlsdGVyczsKICAgICAgfQogICAgICByZXR1cm4gW107CiAgICB9LAoKICB9LAogIG1vdW50ZWQ6IGZ1bmN0aW9uICgpIHsKICAgIHRoaXMuYWxnb2xpYUNsaWVudCA9IG5ldyBBbGdvbGlhQ2xpZW50KHRoaXMuZW52VmFycy5BTEdPTElBX0lELCB0aGlzLmVudlZhcnMuQUxHT0xJQV9LRVksIHRoaXMuZW52VmFycy5QRU5OU0lFVkVfQVBJX0xPQ0FUSU9OKTsKICAgIHRoaXMuYWxnb2xpYUNsaWVudC5pbml0SW5kZXgodGhpcy5lbnZWYXJzLkFMR09MSUFfSU5ERVgpOwogICAgdGhpcy5wb3B1bGF0ZUNhc2NhZGVyKCkudGhlbigoKSA9PiB7CiAgICAgIHRoaXMuY2FzY2FkZXJJc1JlYWR5ID0gdHJ1ZTsKICAgICAgdGhpcy5jaGVja1Nob3dBbGxCb3hlcygpOwogICAgICB0aGlzLnNldENhc2NhZGVyKHRoaXMuZW50cnkuZmlsdGVyRmFjZXRzKTsKICAgICAgdGhpcy5jc3NNb2RzKCk7CiAgICAgIHRoaXMuJGVtaXQoImNhc2NhZGVyUmVhZHkiKTsKICAgIH0pOwogIH0sCn07Cg=="},{"version":3,"sources":["SearchFilters.vue"],"names":[],"mappings":";AAkEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA","file":"SearchFilters.vue","sourceRoot":"node_modules/@abi-software/map-side-bar/src/components","sourcesContent":["\n \n \n \n \n \n \n Filters\n \n \n \n \n Within categories: OR \n \n example: 'heart' OR 'colon'\n \n \n Between categories: AND\n \n example: 'rat' AND 'lung'\n \n \n \n \n \n\n \n \n \n {{ this.numberOfResultsText }}\n \n\n\n\n\n\n\n\n\n"]}]}