summaryrefslogtreecommitdiffstats
path: root/js
diff options
context:
space:
mode:
authorJohn Molakvoæ (skjnldsv) <skjnldsv@protonmail.com>2018-08-28 18:37:16 +0200
committerJohn Molakvoæ (skjnldsv) <skjnldsv@protonmail.com>2018-08-28 18:37:16 +0200
commit699af87659b724df00df77da2c9b66ec9013c2d6 (patch)
tree568042d3d00d0880f720801782eafed50ac4a534 /js
parent4f197293844a5569688dd8d510a1f5c23fb215e1 (diff)
Rebase and compile fixes
Signed-off-by: John Molakvoæ (skjnldsv) <skjnldsv@protonmail.com>
Diffstat (limited to 'js')
-rw-r--r--js/contacts.js103
1 files changed, 82 insertions, 21 deletions
diff --git a/js/contacts.js b/js/contacts.js
index ab21fe16..82462923 100644
--- a/js/contacts.js
+++ b/js/contacts.js
@@ -445,6 +445,18 @@ eval("\n\nObject.defineProperty(exports, \"__esModule\", {\n\tvalue: true\n});\n
/***/ }),
+/***/ "./node_modules/babel-loader/lib/index.js!./node_modules/vue-loader/lib/index.js?!./src/components/ImportScreen.vue?vue&type=script&lang=js&":
+/*!****************************************************************************************************************************************************!*\
+ !*** ./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./src/components/ImportScreen.vue?vue&type=script&lang=js& ***!
+ \****************************************************************************************************************************************************/
+/*! no static exports found */
+/***/ (function(module, exports, __webpack_require__) {
+
+"use strict";
+eval("\n\nObject.defineProperty(exports, \"__esModule\", {\n\tvalue: true\n});\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n\n\nexports.default = {\n\tname: 'ImportScreen',\n\tcomputed: {\n\t\timportState: function importState() {\n\t\t\treturn this.$store.getters.getImportState;\n\t\t}\n\t}\n};\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vc3JjL2NvbXBvbmVudHMvSW1wb3J0U2NyZWVuLnZ1ZT8xYmY1Il0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O2tCQWlDQTtBQUNBLHFCQURBO0FBRUE7QUFDQSxhQURBLHlCQUNBO0FBQ0E7QUFDQTtBQUhBO0FBRkEsQyIsImZpbGUiOiIuL25vZGVfbW9kdWxlcy9iYWJlbC1sb2FkZXIvbGliL2luZGV4LmpzIS4vbm9kZV9tb2R1bGVzL3Z1ZS1sb2FkZXIvbGliL2luZGV4LmpzPyEuL3NyYy9jb21wb25lbnRzL0ltcG9ydFNjcmVlbi52dWU/dnVlJnR5cGU9c2NyaXB0Jmxhbmc9anMmLmpzIiwic291cmNlc0NvbnRlbnQiOlsiPCEtLVxuICogQGNvcHlyaWdodCBDb3B5cmlnaHQgKGMpIDIwMTggVGVhbSBQb3Bjb3JuIDx0ZWFtcG9wY29ybmJlcmxpbkBnbWFpbC5jb20+XG4gKlxuICogQGF1dGhvciBUZWFtIFBvcGNvcm4gPHRlYW1wb3Bjb3JuYmVybGluQGdtYWlsLmNvbT5cbiAqXG4gKiBAbGljZW5zZSBHTlUgQUdQTCB2ZXJzaW9uIDMgb3IgYW55IGxhdGVyIHZlcnNpb25cbiAgLVxuICAtIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOiB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5XG4gIC0gaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgQWZmZXJvIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXNcbiAgLSBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgZWl0aGVyIHZlcnNpb24gMyBvZiB0aGVcbiAgLSBMaWNlbnNlLCBvciAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLlxuICAtXG4gIC0gVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsXG4gIC0gYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2ZcbiAgLSBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlXG4gIC0gR05VIEFmZmVybyBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuXG4gIC1cbiAgLSBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgQWZmZXJvIEdlbmVyYWwgUHVibGljIExpY2Vuc2VcbiAgLSBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbS4gSWYgbm90LCBzZWUgPGh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy8+LlxuICAtXG4gIC0tPlxuXG48dGVtcGxhdGU+XG5cdDxkaXYgY2xhc3M9XCJlbXB0eWNvbnRlbnQgaW1wb3J0LXNjcmVlblwiPlxuXHRcdDxwIGNsYXNzPVwiaWNvbi11cGxvYWRcIiAvPlxuXHRcdDxoMyBjbGFzcz1cImltcG9ydC1zY3JlZW5fX2hlYWRlclwiPnt7IHQoJ2NvbnRhY3RzJywgJ0ltcG9ydGluZyBpbnRvJykgfX0ge3sgYWRkcmVzc2Jvb2sgfX08L2gzPlxuXHRcdDxwcm9ncmVzcyA6bWF4PVwiaW1wb3J0U3RhdGUudG90YWxcIiA6dmFsdWU9XCJpbXBvcnRTdGF0ZS5hY2NlcHRlZFwiIGNsYXNzPVwiaW1wb3J0LXNjcmVlbl9fcHJvZ3Jlc3NcIiAvPlxuXHRcdDxwIGNsYXNzPVwiaW1wb3J0LXNjcmVlbl9fdHJhY2tlclwiPnt7IE1hdGguZmxvb3IoaW1wb3J0U3RhdGUuYWNjZXB0ZWQvKGltcG9ydFN0YXRlLnRvdGFsICsgMSkpICogMTAwIH19ICU8L3A+XG5cdDwvZGl2PlxuPC90ZW1wbGF0ZT5cblxuPHNjcmlwdD5cblxuZXhwb3J0IGRlZmF1bHQge1xuXHRuYW1lOiAnSW1wb3J0U2NyZWVuJyxcblx0Y29tcHV0ZWQ6IHtcblx0XHRpbXBvcnRTdGF0ZSgpIHtcblx0XHRcdHJldHVybiB0aGlzLiRzdG9yZS5nZXR0ZXJzLmdldEltcG9ydFN0YXRlXG5cdFx0fVxuXHR9XG59XG48L3NjcmlwdD5cbiJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/babel-loader/lib/index.js!./node_modules/vue-loader/lib/index.js?!./src/components/ImportScreen.vue?vue&type=script&lang=js&\n");
+
+/***/ }),
+
/***/ "./node_modules/babel-loader/lib/index.js!./node_modules/vue-loader/lib/index.js?!./src/components/Properties/PropertyDateTime.vue?vue&type=script&lang=js&":
/*!*******************************************************************************************************************************************************************!*\
!*** ./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./src/components/Properties/PropertyDateTime.vue?vue&type=script&lang=js& ***!
@@ -561,7 +573,7 @@ eval("\n\nObject.defineProperty(exports, \"__esModule\", {\n\tvalue: true\n});\n
/***/ (function(module, exports, __webpack_require__) {
"use strict";
-eval("\n\nObject.defineProperty(exports, \"__esModule\", {\n\tvalue: true\n});\n\nvar _vueClickOutside = __webpack_require__(/*! vue-click-outside */ \"./node_modules/vue-click-outside/index.js\");\n\nvar _vueClickOutside2 = _interopRequireDefault(_vueClickOutside);\n\nvar _vueMultiselect = __webpack_require__(/*! vue-multiselect */ \"./node_modules/vue-multiselect/dist/vue-multiselect.min.js\");\n\nvar _vueMultiselect2 = _interopRequireDefault(_vueMultiselect);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n\nexports.default = {\n\tname: 'SettingsImportContacts',\n\tcomponents: {\n\t\tclickOutside: _vueClickOutside2.default,\n\t\tMultiselect: _vueMultiselect2.default\n\t},\n\tdirectives: {\n\t\tclickOutside: _vueClickOutside2.default\n\t},\n\t// props: ['addressbooks'],\n\tprops: {\n\t\taddressbooks: {\n\t\t\ttype: Array,\n\t\t\trequired: false,\n\t\t\tdefault: undefined\n\t\t}\n\t},\n\tdata: function data() {\n\t\treturn {\n\t\t\tvalue: ''\n\t\t};\n\t},\n\n\tcomputed: {\n\t\toptions: function options() {\n\t\t\treturn [t('contacts', 'Contacts')].concat(this.addressbooks.map(function (x) {\n\t\t\t\treturn x.displayName;\n\t\t\t}));\n\t\t}\n\t},\n\tmethods: {}\n};\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vc3JjL2NvbXBvbmVudHMvU2V0dGluZ3MvU2V0dGluZ3NJbXBvcnRDb250YWN0cy52dWU/NTE1OSJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7QUFxQ0E7Ozs7QUFDQTs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztrQkFFQTtBQUNBLCtCQURBO0FBRUE7QUFDQSx5Q0FEQTtBQUVBO0FBRkEsRUFGQTtBQU1BO0FBQ0E7QUFEQSxFQU5BO0FBU0E7QUFDQTtBQUNBO0FBQ0EsY0FEQTtBQUVBLGtCQUZBO0FBR0E7QUFIQTtBQURBLEVBVkE7QUFpQkEsS0FqQkEsa0JBaUJBO0FBQ0E7QUFDQTtBQURBO0FBR0EsRUFyQkE7O0FBc0JBO0FBQ0EsU0FEQSxxQkFDQTtBQUNBO0FBQUE7QUFBQTtBQUNBO0FBSEEsRUF0QkE7QUEyQkE7QUEzQkEsQyIsImZpbGUiOiIuL25vZGVfbW9kdWxlcy9iYWJlbC1sb2FkZXIvbGliL2luZGV4LmpzIS4vbm9kZV9tb2R1bGVzL3Z1ZS1sb2FkZXIvbGliL2luZGV4LmpzPyEuL3NyYy9jb21wb25lbnRzL1NldHRpbmdzL1NldHRpbmdzSW1wb3J0Q29udGFjdHMudnVlP3Z1ZSZ0eXBlPXNjcmlwdCZsYW5nPWpzJi5qcyIsInNvdXJjZXNDb250ZW50IjpbIjwhLS1cblx0LSBAY29weXJpZ2h0IENvcHlyaWdodCAoYykgMjAxOCBUZWFtIFBvcGNvcm4gPHRlYW1wb3Bjb3JuYmVybGluQGdtYWlsLmNvbT5cblx0LVxuXHQtIEBhdXRob3IgVGVhbSBQb3Bjb3JuIDx0ZWFtcG9wY29ybmJlcmxpbkBnbWFpbC5jb20+XG5cdC1cblx0LSBAbGljZW5zZSBHTlUgQUdQTCB2ZXJzaW9uIDMgb3IgYW55IGxhdGVyIHZlcnNpb25cblx0LVxuXHQtIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOiB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5XG5cdC0gaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgQWZmZXJvIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXNcblx0LSBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgZWl0aGVyIHZlcnNpb24gMyBvZiB0aGVcblx0LSBMaWNlbnNlLCBvciAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLlxuXHQtXG5cdC0gVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsXG5cdC0gYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2Zcblx0LSBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlXG5cdC0gR05VIEFmZmVybyBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuXG5cdC1cblx0LSBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgQWZmZXJvIEdlbmVyYWwgUHVibGljIExpY2Vuc2Vcblx0LSBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbS4gSWYgbm90LCBzZWUgPGh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy8+LlxuXHQtXG4tLT5cblxuPHRlbXBsYXRlPlxuXHQ8ZGl2IGNsYXNzPVwiaW1wb3J0LWNvbnRhY3RcIj5cblx0XHQ8aW5wdXQgaWQ9XCJjb250YWN0LWltcG9ydFwiIHR5cGU9XCJmaWxlXCIgY2xhc3M9XCJoaWRkZW4tdmlzdWFsbHlcIj5cblx0XHQ8bGFiZWwgaWQ9XCJ1cGxvYWRcIiBmb3I9XCJjb250YWN0LWltcG9ydFwiIGNsYXNzPVwiYnV0dG9uIG11bHRpc2VsZWN0LWxhYmVsIGljb24tdXBsb2FkIG5vLXNlbGVjdFwiPlxuXHRcdFx0e3sgdCgnY29udGFjdHMnLCAnSW1wb3J0IGludG8nKSB9fVxuXHRcdDwvbGFiZWw+XG5cdFx0PG11bHRpc2VsZWN0XG5cdFx0XHR2LW1vZGVsPVwidmFsdWVcIlxuXHRcdFx0Om9wdGlvbnM9XCJvcHRpb25zXCJcblx0XHRcdDpwbGFjZWhvbGRlcj1cInQoJ2NvbnRhY3RzJywgJ0NvbnRhY3RzJylcIlxuXHRcdFx0Y2xhc3M9XCJtdWx0aXNlbGVjdC12dWVcIiAvPlxuXHQ8L2Rpdj5cbjwvdGVtcGxhdGU+XG5cbjxzY3JpcHQ+XG5pbXBvcnQgY2xpY2tPdXRzaWRlIGZyb20gJ3Z1ZS1jbGljay1vdXRzaWRlJ1xuaW1wb3J0IE11bHRpc2VsZWN0IGZyb20gJ3Z1ZS1tdWx0aXNlbGVjdCdcblxuZXhwb3J0IGRlZmF1bHQge1xuXHRuYW1lOiAnU2V0dGluZ3NJbXBvcnRDb250YWN0cycsXG5cdGNvbXBvbmVudHM6IHtcblx0XHRjbGlja091dHNpZGUsXG5cdFx0TXVsdGlzZWxlY3Rcblx0fSxcblx0ZGlyZWN0aXZlczoge1xuXHRcdGNsaWNrT3V0c2lkZVxuXHR9LFxuXHQvLyBwcm9wczogWydhZGRyZXNzYm9va3MnXSxcblx0cHJvcHM6IHtcblx0XHRhZGRyZXNzYm9va3M6IHtcblx0XHRcdHR5cGU6IEFycmF5LFxuXHRcdFx0cmVxdWlyZWQ6IGZhbHNlLFxuXHRcdFx0ZGVmYXVsdDogdW5kZWZpbmVkXG5cdFx0fVxuXHR9LFxuXHRkYXRhKCkge1xuXHRcdHJldHVybiB7XG5cdFx0XHR2YWx1ZTogJydcblx0XHR9XG5cdH0sXG5cdGNvbXB1dGVkOiB7XG5cdFx0b3B0aW9ucygpIHtcblx0XHRcdHJldHVybiBbdCgnY29udGFjdHMnLCAnQ29udGFjdHMnKV0uY29uY2F0KHRoaXMuYWRkcmVzc2Jvb2tzLm1hcCh4ID0+IHguZGlzcGxheU5hbWUpKVxuXHRcdH1cblx0fSxcblx0bWV0aG9kczoge1xuXG5cdH1cbn1cbjwvc2NyaXB0PlxuIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/babel-loader/lib/index.js!./node_modules/vue-loader/lib/index.js?!./src/components/Settings/SettingsImportContacts.vue?vue&type=script&lang=js&\n");
+eval("\n\nObject.defineProperty(exports, \"__esModule\", {\n\tvalue: true\n});\n\nvar _vueClickOutside = __webpack_require__(/*! vue-click-outside */ \"./node_modules/vue-click-outside/index.js\");\n\nvar _vueClickOutside2 = _interopRequireDefault(_vueClickOutside);\n\nvar _vueMultiselect = __webpack_require__(/*! vue-multiselect */ \"./node_modules/vue-multiselect/dist/vue-multiselect.min.js\");\n\nvar _vueMultiselect2 = _interopRequireDefault(_vueMultiselect);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n\nexports.default = {\n\tname: 'SettingsImportContacts',\n\tcomponents: {\n\t\tclickOutside: _vueClickOutside2.default,\n\t\tMultiselect: _vueMultiselect2.default\n\t},\n\tdirectives: {\n\t\tclickOutside: _vueClickOutside2.default\n\t},\n\tdata: function data() {\n\t\treturn {\n\t\t\timportDestination: ''\n\t\t};\n\t},\n\n\tcomputed: {\n\t\taddressbooks: function addressbooks() {\n\t\t\treturn this.$store.getters.getAddressbooks;\n\t\t},\n\t\toptions: function options() {\n\t\t\treturn this.addressbooks.map(function (addressbook) {\n\t\t\t\treturn {\n\t\t\t\t\tid: addressbook.id,\n\t\t\t\t\tdisplayName: addressbook.displayName\n\t\t\t\t};\n\t\t\t});\n\t\t},\n\t\timportState: function importState() {\n\t\t\treturn this.$store.getters.getImportState;\n\t\t},\n\n\t\tselectedAddressbook: {\n\t\t\tget: function get() {\n\t\t\t\tvar _this = this;\n\n\t\t\t\tif (this.importDestination) {\n\t\t\t\t\treturn this.addressbooks.find(function (addressbook) {\n\t\t\t\t\t\treturn addressbook.id === _this.importDestination.id;\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t\t// default is first address book of the list\n\t\t\t\treturn this.addressbooks[0];\n\t\t\t},\n\t\t\tset: function set(value) {\n\t\t\t\tthis.importDestination = value;\n\t\t\t}\n\t\t}\n\t},\n\tmethods: {\n\t\tprocessFile: function processFile(event) {\n\t\t\tvar file = event.target.files[0];\n\t\t\tvar reader = new FileReader();\n\t\t\tvar selectedAddressbook = this.selectedAddressbook;\n\t\t\tthis.$emit('clicked', { importing: true });\n\t\t\tvar self = this;\n\t\t\treader.onload = function (e) {\n\t\t\t\tself.$store.dispatch('getContactsFromAddressBook', { vcf: reader.result, addressbook: selectedAddressbook, importState: this.importState });\n\t\t\t\tself.$emit('fileLoaded', false);\n\t\t\t};\n\t\t\treader.readAsText(file);\n\t\t}\n\t}\n};\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vc3JjL2NvbXBvbmVudHMvU2V0dGluZ3MvU2V0dGluZ3NJbXBvcnRDb250YWN0cy52dWU/NTE1OSJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7QUF3Q0E7Ozs7QUFDQTs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztrQkFFQTtBQUNBLCtCQURBO0FBRUE7QUFDQSx5Q0FEQTtBQUVBO0FBRkEsRUFGQTtBQU1BO0FBQ0E7QUFEQSxFQU5BO0FBU0EsS0FUQSxrQkFTQTtBQUNBO0FBQ0E7QUFEQTtBQUdBLEVBYkE7O0FBY0E7QUFDQSxjQURBLDBCQUNBO0FBQ0E7QUFDQSxHQUhBO0FBSUEsU0FKQSxxQkFJQTtBQUNBO0FBQ0E7QUFDQSx1QkFEQTtBQUVBO0FBRkE7QUFJQSxJQUxBO0FBTUEsR0FYQTtBQVlBLGFBWkEseUJBWUE7QUFDQTtBQUNBLEdBZEE7O0FBZUE7QUFDQSxNQURBLGlCQUNBO0FBQUE7O0FBQ0E7QUFDQTtBQUFBO0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQSxJQVBBO0FBUUEsTUFSQSxlQVFBLEtBUkEsRUFRQTtBQUNBO0FBQ0E7QUFWQTtBQWZBLEVBZEE7QUEwQ0E7QUFDQSxhQURBLHVCQUNBLEtBREEsRUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxJQUhBO0FBSUE7QUFDQTtBQVpBO0FBMUNBLEMiLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvYmFiZWwtbG9hZGVyL2xpYi9pbmRleC5qcyEuL25vZGVfbW9kdWxlcy92dWUtbG9hZGVyL2xpYi9pbmRleC5qcz8hLi9zcmMvY29tcG9uZW50cy9TZXR0aW5ncy9TZXR0aW5nc0ltcG9ydENvbnRhY3RzLnZ1ZT92dWUmdHlwZT1zY3JpcHQmbGFuZz1qcyYuanMiLCJzb3VyY2VzQ29udGVudCI6WyJcbjwhLS1cblx0LSBAY29weXJpZ2h0IENvcHlyaWdodCAoYykgMjAxOCBUZWFtIFBvcGNvcm4gPHRlYW1wb3Bjb3JuYmVybGluQGdtYWlsLmNvbT5cblx0LVxuXHQtIEBhdXRob3IgVGVhbSBQb3Bjb3JuIDx0ZWFtcG9wY29ybmJlcmxpbkBnbWFpbC5jb20+XG5cdC1cblx0LSBAbGljZW5zZSBHTlUgQUdQTCB2ZXJzaW9uIDMgb3IgYW55IGxhdGVyIHZlcnNpb25cblx0LVxuXHQtIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOiB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5XG5cdC0gaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgQWZmZXJvIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXNcblx0LSBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgZWl0aGVyIHZlcnNpb24gMyBvZiB0aGVcblx0LSBMaWNlbnNlLCBvciAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLlxuXHQtXG5cdC0gVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsXG5cdC0gYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2Zcblx0LSBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlXG5cdC0gR05VIEFmZmVybyBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuXG5cdC1cblx0LSBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgQWZmZXJvIEdlbmVyYWwgUHVibGljIExpY2Vuc2Vcblx0LSBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbS4gSWYgbm90LCBzZWUgPGh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy8+LlxuXHQtXG4tLT5cblxuPHRlbXBsYXRlPlxuXHQ8ZGl2IGNsYXNzPVwiaW1wb3J0LWNvbnRhY3RcIj5cblx0XHQ8aW5wdXQgaWQ9XCJjb250YWN0LWltcG9ydFwiIHR5cGU9XCJmaWxlXCIgY2xhc3M9XCJoaWRkZW4tdmlzdWFsbHlcIlxuXHRcdFx0QGNoYW5nZT1cInByb2Nlc3NGaWxlXCI+XG5cdFx0PGxhYmVsIGlkPVwidXBsb2FkXCIgZm9yPVwiY29udGFjdC1pbXBvcnRcIiBjbGFzcz1cImJ1dHRvbiBtdWx0aXNlbGVjdC1sYWJlbCBpY29uLXVwbG9hZCBuby1zZWxlY3RcIj5cblx0XHRcdHt7IHQoJ2NvbnRhY3RzJywgJ0ltcG9ydCBpbnRvJykgfX1cblx0XHQ8L2xhYmVsPlxuXHRcdDxtdWx0aXNlbGVjdFxuXHRcdFx0di1tb2RlbD1cImltcG9ydERlc3RpbmF0aW9uXCJcblx0XHRcdDpvcHRpb25zPVwib3B0aW9uc1wiXG5cdFx0XHQ6cGxhY2Vob2xkZXI9XCJ0KCdjb250YWN0cycsICdDb250YWN0cycpXCJcblx0XHRcdGxhYmVsPVwiZGlzcGxheU5hbWVcIlxuXHRcdFx0Y2xhc3M9XCJtdWx0aXNlbGVjdC12dWVcIiAvPlxuXHQ8L2Rpdj5cbjwvdGVtcGxhdGU+XG5cbjxzY3JpcHQ+XG5pbXBvcnQgY2xpY2tPdXRzaWRlIGZyb20gJ3Z1ZS1jbGljay1vdXRzaWRlJ1xuaW1wb3J0IE11bHRpc2VsZWN0IGZyb20gJ3Z1ZS1tdWx0aXNlbGVjdCdcblxuZXhwb3J0IGRlZmF1bHQge1xuXHRuYW1lOiAnU2V0dGluZ3NJbXBvcnRDb250YWN0cycsXG5cdGNvbXBvbmVudHM6IHtcblx0XHRjbGlja091dHNpZGUsXG5cdFx0TXVsdGlzZWxlY3Rcblx0fSxcblx0ZGlyZWN0aXZlczoge1xuXHRcdGNsaWNrT3V0c2lkZVxuXHR9LFxuXHRkYXRhKCkge1xuXHRcdHJldHVybiB7XG5cdFx0XHRpbXBvcnREZXN0aW5hdGlvbjogJydcblx0XHR9XG5cdH0sXG5cdGNvbXB1dGVkOiB7XG5cdFx0YWRkcmVzc2Jvb2tzKCkge1xuXHRcdFx0cmV0dXJuIHRoaXMuJHN0b3JlLmdldHRlcnMuZ2V0QWRkcmVzc2Jvb2tzXG5cdFx0fSxcblx0XHRvcHRpb25zKCkge1xuXHRcdFx0cmV0dXJuIHRoaXMuYWRkcmVzc2Jvb2tzLm1hcChhZGRyZXNzYm9vayA9PiB7XG5cdFx0XHRcdHJldHVybiB7XG5cdFx0XHRcdFx0aWQ6IGFkZHJlc3Nib29rLmlkLFxuXHRcdFx0XHRcdGRpc3BsYXlOYW1lOiBhZGRyZXNzYm9vay5kaXNwbGF5TmFtZVxuXHRcdFx0XHR9XG5cdFx0XHR9KVxuXHRcdH0sXG5cdFx0aW1wb3J0U3RhdGUoKSB7XG5cdFx0XHRyZXR1cm4gdGhpcy4kc3RvcmUuZ2V0dGVycy5nZXRJbXBvcnRTdGF0ZVxuXHRcdH0sXG5cdFx0c2VsZWN0ZWRBZGRyZXNzYm9vazoge1xuXHRcdFx0Z2V0KCkge1xuXHRcdFx0XHRpZiAodGhpcy5pbXBvcnREZXN0aW5hdGlvbikge1xuXHRcdFx0XHRcdHJldHVybiB0aGlzLmFkZHJlc3Nib29rcy5maW5kKGFkZHJlc3Nib29rID0+IGFkZHJlc3Nib29rLmlkID09PSB0aGlzLmltcG9ydERlc3RpbmF0aW9uLmlkKVxuXHRcdFx0XHR9XG5cdFx0XHRcdC8vIGRlZmF1bHQgaXMgZmlyc3QgYWRkcmVzcyBib29rIG9mIHRoZSBsaXN0XG5cdFx0XHRcdHJldHVybiB0aGlzLmFkZHJlc3Nib29rc1swXVxuXHRcdFx0fSxcblx0XHRcdHNldCh2YWx1ZSkge1xuXHRcdFx0XHR0aGlzLmltcG9ydERlc3RpbmF0aW9uID0gdmFsdWVcblx0XHRcdH1cblx0XHR9XG5cdH0sXG5cdG1ldGhvZHM6IHtcblx0XHRwcm9jZXNzRmlsZShldmVudCkge1xuXHRcdFx0bGV0IGZpbGUgPSBldmVudC50YXJnZXQuZmlsZXNbMF1cblx0XHRcdGxldCByZWFkZXIgPSBuZXcgRmlsZVJlYWRlcigpXG5cdFx0XHRsZXQgc2VsZWN0ZWRBZGRyZXNzYm9vayA9IHRoaXMuc2VsZWN0ZWRBZGRyZXNzYm9va1xuXHRcdFx0dGhpcy4kZW1pdCgnY2xpY2tlZCcsIHsgaW1wb3J0aW5nOiB0cnVlIH0pXG5cdFx0XHRsZXQgc2VsZiA9IHRoaXNcblx0XHRcdHJlYWRlci5vbmxvYWQgPSBmdW5jdGlvbihlKSB7XG5cdFx0XHRcdHNlbGYuJHN0b3JlLmRpc3BhdGNoKCdnZXRDb250YWN0c0Zyb21BZGRyZXNzQm9vaycsIHsgdmNmOiByZWFkZXIucmVzdWx0LCBhZGRyZXNzYm9vazogc2VsZWN0ZWRBZGRyZXNzYm9vaywgaW1wb3J0U3RhdGU6IHRoaXMuaW1wb3J0U3RhdGUgfSlcblx0XHRcdFx0c2VsZi4kZW1pdCgnZmlsZUxvYWRlZCcsIGZhbHNlKVxuXHRcdFx0fVxuXHRcdFx0cmVhZGVyLnJlYWRBc1RleHQoZmlsZSlcblx0XHR9XG5cdH1cbn1cbjwvc2NyaXB0PlxuIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/babel-loader/lib/index.js!./node_modules/vue-loader/lib/index.js?!./src/components/Settings/SettingsImportContacts.vue?vue&type=script&lang=js&\n");
/***/ }),
@@ -597,7 +609,7 @@ eval("\n\nObject.defineProperty(exports, \"__esModule\", {\n\tvalue: true\n});\n
/***/ (function(module, exports, __webpack_require__) {
"use strict";
-eval("\n\nObject.defineProperty(exports, \"__esModule\", {\n\tvalue: true\n});\n\nvar _SettingsAddressbook = __webpack_require__(/*! ../components/Settings/SettingsAddressbook */ \"./src/components/Settings/SettingsAddressbook.vue\");\n\nvar _SettingsAddressbook2 = _interopRequireDefault(_SettingsAddressbook);\n\nvar _SettingsNewAddressbook = __webpack_require__(/*! ../components/Settings/SettingsNewAddressbook */ \"./src/components/Settings/SettingsNewAddressbook.vue\");\n\nvar _SettingsNewAddressbook2 = _interopRequireDefault(_SettingsNewAddressbook);\n\nvar _SettingsImportContacts = __webpack_require__(/*! ../components/Settings/SettingsImportContacts */ \"./src/components/Settings/SettingsImportContacts.vue\");\n\nvar _SettingsImportContacts2 = _interopRequireDefault(_SettingsImportContacts);\n\nvar _SettingsSortContacts = __webpack_require__(/*! ../components/Settings/SettingsSortContacts */ \"./src/components/Settings/SettingsSortContacts.vue\");\n\nvar _SettingsSortContacts2 = _interopRequireDefault(_SettingsSortContacts);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n\nexports.default = {\n\tname: 'SettingsSection',\n\tcomponents: {\n\t\taddressBook: _SettingsAddressbook2.default,\n\t\taddAddressBook: _SettingsNewAddressbook2.default,\n\t\timportContacts: _SettingsImportContacts2.default,\n\t\tsortContacts: _SettingsSortContacts2.default\n\t},\n\tcomputed: {\n\t\t// store getters\n\t\taddressbooks: function addressbooks() {\n\t\t\treturn this.$store.getters.getAddressbooks;\n\t\t}\n\t}\n};\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vc3JjL2NvbXBvbmVudHMvU2V0dGluZ3NTZWN0aW9uLnZ1ZT84YmFmIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7OztBQW1DQTs7OztBQUNBOzs7O0FBQ0E7Ozs7QUFDQTs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7a0JBRUE7QUFDQSx3QkFEQTtBQUVBO0FBQ0EsNENBREE7QUFFQSxrREFGQTtBQUdBLGtEQUhBO0FBSUE7QUFKQSxFQUZBO0FBUUE7QUFDQTtBQUNBLGNBRkEsMEJBRUE7QUFDQTtBQUNBO0FBSkE7QUFSQSxDIiwiZmlsZSI6Ii4vbm9kZV9tb2R1bGVzL2JhYmVsLWxvYWRlci9saWIvaW5kZXguanMhLi9ub2RlX21vZHVsZXMvdnVlLWxvYWRlci9saWIvaW5kZXguanM/IS4vc3JjL2NvbXBvbmVudHMvU2V0dGluZ3NTZWN0aW9uLnZ1ZT92dWUmdHlwZT1zY3JpcHQmbGFuZz1qcyYuanMiLCJzb3VyY2VzQ29udGVudCI6WyI8IS0tXG4gIC0gQGNvcHlyaWdodCBDb3B5cmlnaHQgKGMpIDIwMTggSm9obiBNb2xha3Zvw6YgPHNram5sZHN2QHByb3Rvbm1haWwuY29tPlxuICAtXG4gIC0gQGF1dGhvciBKb2huIE1vbGFrdm/DpiA8c2tqbmxkc3ZAcHJvdG9ubWFpbC5jb20+XG4gIC1cbiAgLSBAbGljZW5zZSBHTlUgQUdQTCB2ZXJzaW9uIDMgb3IgYW55IGxhdGVyIHZlcnNpb25cbiAgLVxuICAtIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOiB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5XG4gIC0gaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgQWZmZXJvIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXNcbiAgLSBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgZWl0aGVyIHZlcnNpb24gMyBvZiB0aGVcbiAgLSBMaWNlbnNlLCBvciAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLlxuICAtXG4gIC0gVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsXG4gIC0gYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2ZcbiAgLSBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlXG4gIC0gR05VIEFmZmVybyBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuXG4gIC1cbiAgLSBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgQWZmZXJvIEdlbmVyYWwgUHVibGljIExpY2Vuc2VcbiAgLSBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbS4gSWYgbm90LCBzZWUgPGh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy8+LlxuICAtXG4gIC0tPlxuXG48dGVtcGxhdGU+XG5cdDxkaXY+XG5cdFx0PHVsIGlkPVwiYWRkcmVzcy1ib29rLWxpc3RcIj5cblx0XHRcdDxhZGRyZXNzLWJvb2sgdi1mb3I9XCJhZGRyZXNzYm9vayBpbiBhZGRyZXNzYm9va3NcIiA6a2V5PVwiYWRkcmVzc2Jvb2suaWRcIiA6YWRkcmVzc2Jvb2s9XCJhZGRyZXNzYm9va1wiIC8+XG5cdFx0PC91bD5cblx0XHQ8YWRkLWFkZHJlc3MtYm9vayA6YWRkcmVzc2Jvb2tzPVwiYWRkcmVzc2Jvb2tzXCIgLz5cblxuXHRcdDxpbXBvcnQtY29udGFjdHMgOmFkZHJlc3Nib29rcz1cImFkZHJlc3Nib29rc1wiIGNsYXNzPVwic2V0dGluZ3Mtc2VjdGlvblwiIC8+XG5cdFx0PHNvcnQtY29udGFjdHMgY2xhc3M9XCJzZXR0aW5ncy1zZWN0aW9uXCIgLz5cblx0PC9kaXY+XG48L3RlbXBsYXRlPlxuXG48c2NyaXB0PlxuaW1wb3J0IGFkZHJlc3NCb29rIGZyb20gJy4uL2NvbXBvbmVudHMvU2V0dGluZ3MvU2V0dGluZ3NBZGRyZXNzYm9vaydcbmltcG9ydCBhZGRBZGRyZXNzQm9vayBmcm9tICcuLi9jb21wb25lbnRzL1NldHRpbmdzL1NldHRpbmdzTmV3QWRkcmVzc2Jvb2snXG5pbXBvcnQgaW1wb3J0Q29udGFjdHMgZnJvbSAnLi4vY29tcG9uZW50cy9TZXR0aW5ncy9TZXR0aW5nc0ltcG9ydENvbnRhY3RzJ1xuaW1wb3J0IHNvcnRDb250YWN0cyBmcm9tICcuLi9jb21wb25lbnRzL1NldHRpbmdzL1NldHRpbmdzU29ydENvbnRhY3RzJ1xuXG5leHBvcnQgZGVmYXVsdCB7XG5cdG5hbWU6ICdTZXR0aW5nc1NlY3Rpb24nLFxuXHRjb21wb25lbnRzOiB7XG5cdFx0YWRkcmVzc0Jvb2ssXG5cdFx0YWRkQWRkcmVzc0Jvb2ssXG5cdFx0aW1wb3J0Q29udGFjdHMsXG5cdFx0c29ydENvbnRhY3RzXG5cdH0sXG5cdGNvbXB1dGVkOiB7XG5cdFx0Ly8gc3RvcmUgZ2V0dGVyc1xuXHRcdGFkZHJlc3Nib29rcygpIHtcblx0XHRcdHJldHVybiB0aGlzLiRzdG9yZS5nZXR0ZXJzLmdldEFkZHJlc3Nib29rc1xuXHRcdH1cblx0fVxufVxuPC9zY3JpcHQ+XG4iXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/babel-loader/lib/index.js!./node_modules/vue-loader/lib/index.js?!./src/components/SettingsSection.vue?vue&type=script&lang=js&\n");
+eval("\n\nObject.defineProperty(exports, \"__esModule\", {\n\tvalue: true\n});\n\nvar _SettingsAddressbook = __webpack_require__(/*! ../components/Settings/SettingsAddressbook */ \"./src/components/Settings/SettingsAddressbook.vue\");\n\nvar _SettingsAddressbook2 = _interopRequireDefault(_SettingsAddressbook);\n\nvar _SettingsNewAddressbook = __webpack_require__(/*! ../components/Settings/SettingsNewAddressbook */ \"./src/components/Settings/SettingsNewAddressbook.vue\");\n\nvar _SettingsNewAddressbook2 = _interopRequireDefault(_SettingsNewAddressbook);\n\nvar _SettingsImportContacts = __webpack_require__(/*! ../components/Settings/SettingsImportContacts */ \"./src/components/Settings/SettingsImportContacts.vue\");\n\nvar _SettingsImportContacts2 = _interopRequireDefault(_SettingsImportContacts);\n\nvar _SettingsSortContacts = __webpack_require__(/*! ../components/Settings/SettingsSortContacts */ \"./src/components/Settings/SettingsSortContacts.vue\");\n\nvar _SettingsSortContacts2 = _interopRequireDefault(_SettingsSortContacts);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n\nexports.default = {\n\tname: 'SettingsSection',\n\tcomponents: {\n\t\taddressBook: _SettingsAddressbook2.default,\n\t\taddAddressBook: _SettingsNewAddressbook2.default,\n\t\timportContacts: _SettingsImportContacts2.default,\n\t\tsortContacts: _SettingsSortContacts2.default\n\t},\n\tcomputed: {\n\t\t// store getters\n\t\taddressbooks: function addressbooks() {\n\t\t\treturn this.$store.getters.getAddressbooks;\n\t\t}\n\t},\n\tmethods: {\n\t\tonClickImport: function onClickImport(event) {\n\t\t\tthis.$emit('clicked', event);\n\t\t},\n\t\tonLoad: function onLoad(event) {\n\t\t\tthis.$emit('fileLoaded', false);\n\t\t}\n\t}\n};\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vc3JjL2NvbXBvbmVudHMvU2V0dGluZ3NTZWN0aW9uLnZ1ZT84YmFmIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7OztBQW1DQTs7OztBQUNBOzs7O0FBQ0E7Ozs7QUFDQTs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7a0JBRUE7QUFDQSx3QkFEQTtBQUVBO0FBQ0EsNENBREE7QUFFQSxrREFGQTtBQUdBLGtEQUhBO0FBSUE7QUFKQSxFQUZBO0FBUUE7QUFDQTtBQUNBLGNBRkEsMEJBRUE7QUFDQTtBQUNBO0FBSkEsRUFSQTtBQWNBO0FBQ0EsZUFEQSx5QkFDQSxLQURBLEVBQ0E7QUFDQTtBQUNBLEdBSEE7QUFJQSxRQUpBLGtCQUlBLEtBSkEsRUFJQTtBQUNBO0FBQ0E7QUFOQTtBQWRBLEMiLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvYmFiZWwtbG9hZGVyL2xpYi9pbmRleC5qcyEuL25vZGVfbW9kdWxlcy92dWUtbG9hZGVyL2xpYi9pbmRleC5qcz8hLi9zcmMvY29tcG9uZW50cy9TZXR0aW5nc1NlY3Rpb24udnVlP3Z1ZSZ0eXBlPXNjcmlwdCZsYW5nPWpzJi5qcyIsInNvdXJjZXNDb250ZW50IjpbIjwhLS1cbiAgLSBAY29weXJpZ2h0IENvcHlyaWdodCAoYykgMjAxOCBKb2huIE1vbGFrdm/DpiA8c2tqbmxkc3ZAcHJvdG9ubWFpbC5jb20+XG4gIC1cbiAgLSBAYXV0aG9yIEpvaG4gTW9sYWt2b8OmIDxza2pubGRzdkBwcm90b25tYWlsLmNvbT5cbiAgLVxuICAtIEBsaWNlbnNlIEdOVSBBR1BMIHZlcnNpb24gMyBvciBhbnkgbGF0ZXIgdmVyc2lvblxuICAtXG4gIC0gVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU6IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnlcbiAgLSBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBBZmZlcm8gR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhc1xuICAtIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBlaXRoZXIgdmVyc2lvbiAzIG9mIHRoZVxuICAtIExpY2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uXG4gIC1cbiAgLSBUaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCxcbiAgLSBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZlxuICAtIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGVcbiAgLSBHTlUgQWZmZXJvIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy5cbiAgLVxuICAtIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBBZmZlcm8gR2VuZXJhbCBQdWJsaWMgTGljZW5zZVxuICAtIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtLiBJZiBub3QsIHNlZSA8aHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzLz4uXG4gIC1cbiAgLS0+XG5cbjx0ZW1wbGF0ZT5cblx0PGRpdj5cblx0XHQ8dWwgaWQ9XCJhZGRyZXNzLWJvb2stbGlzdFwiPlxuXHRcdFx0PGFkZHJlc3MtYm9vayB2LWZvcj1cImFkZHJlc3Nib29rIGluIGFkZHJlc3Nib29rc1wiIDprZXk9XCJhZGRyZXNzYm9vay5pZFwiIDphZGRyZXNzYm9vaz1cImFkZHJlc3Nib29rXCIgLz5cblx0XHQ8L3VsPlxuXHRcdDxhZGQtYWRkcmVzcy1ib29rIDphZGRyZXNzYm9va3M9XCJhZGRyZXNzYm9va3NcIiAvPlxuXHRcdDxpbXBvcnQtY29udGFjdHMgOmFkZHJlc3Nib29rcz1cImFkZHJlc3Nib29rc1wiIGNsYXNzPVwic2V0dGluZ3Mtc2VjdGlvblwiXG5cdFx0XHRAY2xpY2tlZD1cIm9uQ2xpY2tJbXBvcnRcIiBAZmlsZUxvYWRlZD1cIm9uTG9hZFwiIC8+XG5cdFx0PHNvcnQtY29udGFjdHMgY2xhc3M9XCJzZXR0aW5ncy1zZWN0aW9uXCIgLz5cblx0PC9kaXY+XG48L3RlbXBsYXRlPlxuXG48c2NyaXB0PlxuaW1wb3J0IGFkZHJlc3NCb29rIGZyb20gJy4uL2NvbXBvbmVudHMvU2V0dGluZ3MvU2V0dGluZ3NBZGRyZXNzYm9vaydcbmltcG9ydCBhZGRBZGRyZXNzQm9vayBmcm9tICcuLi9jb21wb25lbnRzL1NldHRpbmdzL1NldHRpbmdzTmV3QWRkcmVzc2Jvb2snXG5pbXBvcnQgaW1wb3J0Q29udGFjdHMgZnJvbSAnLi4vY29tcG9uZW50cy9TZXR0aW5ncy9TZXR0aW5nc0ltcG9ydENvbnRhY3RzJ1xuaW1wb3J0IHNvcnRDb250YWN0cyBmcm9tICcuLi9jb21wb25lbnRzL1NldHRpbmdzL1NldHRpbmdzU29ydENvbnRhY3RzJ1xuXG5leHBvcnQgZGVmYXVsdCB7XG5cdG5hbWU6ICdTZXR0aW5nc1NlY3Rpb24nLFxuXHRjb21wb25lbnRzOiB7XG5cdFx0YWRkcmVzc0Jvb2ssXG5cdFx0YWRkQWRkcmVzc0Jvb2ssXG5cdFx0aW1wb3J0Q29udGFjdHMsXG5cdFx0c29ydENvbnRhY3RzXG5cdH0sXG5cdGNvbXB1dGVkOiB7XG5cdFx0Ly8gc3RvcmUgZ2V0dGVyc1xuXHRcdGFkZHJlc3Nib29rcygpIHtcblx0XHRcdHJldHVybiB0aGlzLiRzdG9yZS5nZXR0ZXJzLmdldEFkZHJlc3Nib29rc1xuXHRcdH1cblx0fSxcblx0bWV0aG9kczoge1xuXHRcdG9uQ2xpY2tJbXBvcnQoZXZlbnQpIHtcblx0XHRcdHRoaXMuJGVtaXQoJ2NsaWNrZWQnLCBldmVudClcblx0XHR9LFxuXHRcdG9uTG9hZChldmVudCkge1xuXHRcdFx0dGhpcy4kZW1pdCgnZmlsZUxvYWRlZCcsIGZhbHNlKVxuXHRcdH1cblx0fVxufVxuPC9zY3JpcHQ+XG4iXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/babel-loader/lib/index.js!./node_modules/vue-loader/lib/index.js?!./src/components/SettingsSection.vue?vue&type=script&lang=js&\n");
/***/ }),
@@ -657,7 +669,7 @@ eval("\n\nObject.defineProperty(exports, \"__esModule\", {\n\tvalue: true\n});\n
/***/ (function(module, exports, __webpack_require__) {
"use strict";
-eval("\n\nObject.defineProperty(exports, \"__esModule\", {\n\tvalue: true\n});\n\nvar _appNavigation = __webpack_require__(/*! ../components/core/appNavigation */ \"./src/components/core/appNavigation.vue\");\n\nvar _appNavigation2 = _interopRequireDefault(_appNavigation);\n\nvar _SettingsSection = __webpack_require__(/*! ../components/SettingsSection */ \"./src/components/SettingsSection.vue\");\n\nvar _SettingsSection2 = _interopRequireDefault(_SettingsSection);\n\nvar _ContentList = __webpack_require__(/*! ../components/ContentList */ \"./src/components/ContentList.vue\");\n\nvar _ContentList2 = _interopRequireDefault(_ContentList);\n\nvar _ContactDetails = __webpack_require__(/*! ../components/ContactDetails */ \"./src/components/ContactDetails.vue\");\n\nvar _ContactDetails2 = _interopRequireDefault(_ContactDetails);\n\nvar _contact = __webpack_require__(/*! ../models/contact */ \"./src/models/contact.js\");\n\nvar _contact2 = _interopRequireDefault(_contact);\n\nvar _rfcProps = __webpack_require__(/*! ../models/rfcProps.js */ \"./src/models/rfcProps.js\");\n\nvar _rfcProps2 = _interopRequireDefault(_rfcProps);\n\nvar _cdav = __webpack_require__(/*! ../services/cdav.js */ \"./src/services/cdav.js\");\n\nvar _cdav2 = _interopRequireDefault(_cdav);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _asyncToGenerator(fn) { return function () { var gen = fn.apply(this, arguments); return new Promise(function (resolve, reject) { function step(key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { return Promise.resolve(value).then(function (value) { step(\"next\", value); }, function (err) { step(\"throw\", err); }); } } return step(\"next\"); }); }; } //\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n\nexports.default = {\n\tcomponents: {\n\t\tappNavigation: _appNavigation2.default,\n\t\tsettingsSection: _SettingsSection2.default,\n\t\tcontentList: _ContentList2.default,\n\t\tcontactDetails: _ContactDetails2.default\n\t},\n\n\t// passed by the router\n\tprops: {\n\t\tselectedGroup: {\n\t\t\ttype: String,\n\t\t\tdefault: undefined,\n\t\t\trequired: true\n\t\t},\n\t\tselectedContact: {\n\t\t\ttype: String,\n\t\t\tdefault: undefined\n\t\t}\n\t},\n\n\tdata: function data() {\n\t\treturn {\n\t\t\tloading: true\n\t\t};\n\t},\n\n\n\tcomputed: {\n\t\t// store getters\n\t\taddressbooks: function addressbooks() {\n\t\t\treturn this.$store.getters.getAddressbooks;\n\t\t},\n\t\tsortedContacts: function sortedContacts() {\n\t\t\treturn this.$store.getters.getSortedContacts;\n\t\t},\n\t\tcontacts: function contacts() {\n\t\t\treturn this.$store.getters.getContacts;\n\t\t},\n\t\tgroups: function groups() {\n\t\t\treturn this.$store.getters.getGroups;\n\t\t},\n\t\torderKey: function orderKey() {\n\t\t\treturn this.$store.getters.getOrderKey;\n\t\t},\n\n\n\t\t// first enabled addressbook of the list\n\t\tdefaultAddressbook: function defaultAddressbook() {\n\t\t\treturn this.addressbooks.find(function (addressbook) {\n\t\t\t\treturn addressbook.enabled;\n\t\t\t});\n\t\t},\n\n\n\t\t/**\n * Contacts list based on the selected group.\n * Those filters are pretty fast, so let's only\n * intersect the groups contacts and the full\n * sorted contacts List.\n */\n\t\tcontactsList: function contactsList() {\n\t\t\tvar _this = this;\n\n\t\t\tif (this.selectedGroup === t('contacts', 'All contacts')) {\n\t\t\t\treturn this.sortedContacts;\n\t\t\t}\n\t\t\tvar group = this.groups.filter(function (group) {\n\t\t\t\treturn group.name === _this.selectedGroup;\n\t\t\t})[0];\n\t\t\tif (group) {\n\t\t\t\treturn this.sortedContacts.filter(function (contact) {\n\t\t\t\t\treturn group.contacts.indexOf(contact.key) >= 0;\n\t\t\t\t});\n\t\t\t}\n\t\t\treturn [];\n\t\t},\n\n\n\t\t// generate groups menu from groups store\n\t\tgroupsMenu: function groupsMenu() {\n\t\t\treturn this.groups.map(function (group) {\n\t\t\t\treturn {\n\t\t\t\t\tid: group.name.replace(' ', '_'),\n\t\t\t\t\tkey: group.name.replace(' ', '_'),\n\t\t\t\t\trouter: {\n\t\t\t\t\t\tname: 'group',\n\t\t\t\t\t\tparams: { selectedGroup: group.name }\n\t\t\t\t\t},\n\t\t\t\t\ttext: group.name,\n\t\t\t\t\tutils: {\n\t\t\t\t\t\tcounter: group.contacts.length\n\t\t\t\t\t}\n\t\t\t\t};\n\t\t\t});\n\t\t},\n\n\n\t\t// building the main menu\n\t\tmenu: function menu() {\n\t\t\treturn {\n\t\t\t\tid: 'groups-list',\n\t\t\t\tnew: {\n\t\t\t\t\tid: 'new-contact-button',\n\t\t\t\t\ttext: t('contacts', 'New contact'),\n\t\t\t\t\ticon: 'icon-add',\n\t\t\t\t\taction: this.newContact\n\t\t\t\t},\n\t\t\t\titems: this.allGroup.concat(this.groupsMenu)\n\t\t\t};\n\t\t},\n\n\n\t\t// default group for every contacts\n\t\tallGroup: function allGroup() {\n\t\t\treturn [{\n\t\t\t\tid: 'everyone',\n\t\t\t\tkey: 'everyone',\n\t\t\t\ticon: 'icon-contacts-dark',\n\t\t\t\trouter: {\n\t\t\t\t\tname: 'group',\n\t\t\t\t\tparams: { selectedGroup: t('contacts', 'All contacts') }\n\t\t\t\t},\n\t\t\t\ttext: t('contacts', 'All contacts'),\n\t\t\t\tutils: {\n\t\t\t\t\tcounter: this.sortedContacts.length\n\t\t\t\t}\n\t\t\t}];\n\t\t}\n\t},\n\n\twatch: {\n\t\t// watch url change and group select\n\t\tselectedGroup: function selectedGroup() {\n\t\t\tthis.selectFirstContactIfNone();\n\t\t},\n\t\t// watch url change and contact select\n\t\tselectedContact: function selectedContact() {\n\t\t\tthis.selectFirstContactIfNone();\n\t\t}\n\t},\n\n\tbeforeMount: function beforeMount() {\n\t\tvar _this2 = this;\n\n\t\t// get addressbooks then get contacts\n\t\t_cdav2.default.connect({ enableCardDAV: true }).then(function () {\n\t\t\t_this2.$store.dispatch('getAddressbooks').then(function () {\n\t\t\t\tPromise.all(_this2.addressbooks.map(function () {\n\t\t\t\t\tvar _ref = _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee(addressbook) {\n\t\t\t\t\t\treturn regeneratorRuntime.wrap(function _callee$(_context) {\n\t\t\t\t\t\t\twhile (1) {\n\t\t\t\t\t\t\t\tswitch (_context.prev = _context.next) {\n\t\t\t\t\t\t\t\t\tcase 0:\n\t\t\t\t\t\t\t\t\t\t_context.next = 2;\n\t\t\t\t\t\t\t\t\t\treturn _this2.$store.dispatch('getContactsFromAddressBook', addressbook);\n\n\t\t\t\t\t\t\t\t\tcase 2:\n\t\t\t\t\t\t\t\t\tcase 'end':\n\t\t\t\t\t\t\t\t\t\treturn _context.stop();\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}, _callee, _this2);\n\t\t\t\t\t}));\n\n\t\t\t\t\treturn function (_x) {\n\t\t\t\t\t\treturn _ref.apply(this, arguments);\n\t\t\t\t\t};\n\t\t\t\t}())).then(function () {\n\t\t\t\t\t_this2.loading = false;\n\t\t\t\t\t_this2.selectFirstContactIfNone();\n\t\t\t\t});\n\t\t\t});\n\t\t\t// check local storage for orderKey\n\t\t\tif (localStorage.getItem('orderKey')) {\n\t\t\t\t// run setOrder mutation with local storage key\n\t\t\t\t_this2.$store.commit('setOrder', localStorage.getItem('orderKey'));\n\t\t\t}\n\t\t});\n\t},\n\n\n\tmethods: {\n\t\tnewContact: function newContact() {\n\t\t\tvar contact = new _contact2.default('BEGIN:VCARD\\nVERSION:4.0\\nEND:VCARD', this.defaultAddressbook);\n\t\t\tcontact.fullName = 'New contact';\n\t\t\t// itterate over all properties (filter is not usable on objects and we need the key of the property)\n\t\t\tfor (var name in _rfcProps2.default.properties) {\n\t\t\t\tif (_rfcProps2.default.properties[name].default) {\n\t\t\t\t\tvar defaultData = _rfcProps2.default.properties[name].defaultValue;\n\t\t\t\t\t// add default field\n\t\t\t\t\tvar property = contact.vCard.addPropertyWithValue(name, defaultData.value);\n\t\t\t\t\t// add default type\n\t\t\t\t\tif (defaultData.type) {\n\t\t\t\t\t\tproperty.setParameter('type', defaultData.type);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t\tif (this.selectedGroup !== t('contacts', 'All contacts')) {\n\t\t\t\tcontact.vCard.addPropertyWithValue('categories', this.selectedGroup);\n\t\t\t}\n\t\t\tthis.$store.dispatch('addContact', contact);\n\t\t\tthis.$router.push({\n\t\t\t\tname: 'contact',\n\t\t\t\tparams: {\n\t\t\t\t\tselectedGroup: this.selectedGroup,\n\t\t\t\t\tselectedContact: contact.key\n\t\t\t\t}\n\t\t\t});\n\t\t},\n\n\n\t\t/**\n * Dispatch sorting update request to the store\n *\n * @param {Object} state Default state\n * @param {Array} addressbooks Addressbooks\n */\n\t\tupdateSorting: function updateSorting() {\n\t\t\tvar orderKey = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 'displayName';\n\n\t\t\tthis.$store.commit('setOrder', orderKey);\n\t\t\tthis.$store.commit('sortContacts');\n\t\t},\n\n\n\t\t/**\n * Select the first contact of the list\n * if none are selected already\n */\n\t\tselectFirstContactIfNone: function selectFirstContactIfNone() {\n\t\t\tvar _this3 = this;\n\n\t\t\tvar inList = this.contactsList.findIndex(function (contact) {\n\t\t\t\treturn contact.key === _this3.selectedContact;\n\t\t\t}) > -1;\n\t\t\tif (this.selectedContact === undefined || !inList) {\n\t\t\t\tif (this.selectedContact && !inList) {\n\t\t\t\t\tOC.Notification.showTemporary(t('contacts', 'Contact not found'));\n\t\t\t\t}\n\t\t\t\tif (Object.keys(this.contactsList).length) {\n\t\t\t\t\tthis.$router.push({\n\t\t\t\t\t\tname: 'contact',\n\t\t\t\t\t\tparams: {\n\t\t\t\t\t\t\tselectedGroup: this.selectedGroup,\n\t\t\t\t\t\t\tselectedContact: Object.values(this.contactsList)[0].key\n\t\t\t\t\t\t}\n\t\t\t\t\t});\n\t\t\t\t\tdocument.querySelector('.app-content-list-item.active').scrollIntoView();\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n};\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vc3JjL3ZpZXdzL0NvbnRhY3RzLnZ1ZT9lZjY1Il0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7OztBQTZDQTs7OztBQUNBOzs7O0FBQ0E7Ozs7QUFDQTs7OztBQUVBOzs7O0FBQ0E7Ozs7QUFFQTs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O2tCQUVBO0FBQ0E7QUFDQSx3Q0FEQTtBQUVBLDRDQUZBO0FBR0Esb0NBSEE7QUFJQTtBQUpBLEVBREE7O0FBUUE7QUFDQTtBQUNBO0FBQ0EsZUFEQTtBQUVBLHFCQUZBO0FBR0E7QUFIQSxHQURBO0FBTUE7QUFDQSxlQURBO0FBRUE7QUFGQTtBQU5BLEVBVEE7O0FBcUJBLEtBckJBLGtCQXFCQTtBQUNBO0FBQ0E7QUFEQTtBQUdBLEVBekJBOzs7QUEyQkE7QUFDQTtBQUNBLGNBRkEsMEJBRUE7QUFDQTtBQUNBLEdBSkE7QUFLQSxnQkFMQSw0QkFLQTtBQUNBO0FBQ0EsR0FQQTtBQVFBLFVBUkEsc0JBUUE7QUFDQTtBQUNBLEdBVkE7QUFXQSxRQVhBLG9CQVdBO0FBQ0E7QUFDQSxHQWJBO0FBY0EsVUFkQSxzQkFjQTtBQUNBO0FBQ0EsR0FoQkE7OztBQWtCQTtBQUNBLG9CQW5CQSxnQ0FtQkE7QUFDQTtBQUFBO0FBQUE7QUFDQSxHQXJCQTs7O0FBdUJBOzs7Ozs7QUFNQSxjQTdCQSwwQkE2QkE7QUFBQTs7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBQUE7QUFDQTtBQUNBO0FBQUE7QUFBQTtBQUNBO0FBQ0E7QUFDQSxHQXRDQTs7O0FBd0NBO0FBQ0EsWUF6Q0Esd0JBeUNBO0FBQ0E7QUFDQTtBQUNBLHFDQURBO0FBRUEsc0NBRkE7QUFHQTtBQUNBLG1CQURBO0FBRUE7QUFGQSxNQUhBO0FBT0EscUJBUEE7QUFRQTtBQUNBO0FBREE7QUFSQTtBQVlBLElBYkE7QUFjQSxHQXhEQTs7O0FBMERBO0FBQ0EsTUEzREEsa0JBMkRBO0FBQ0E7QUFDQSxxQkFEQTtBQUVBO0FBQ0EsNkJBREE7QUFFQSx1Q0FGQTtBQUdBLHFCQUhBO0FBSUE7QUFKQSxLQUZBO0FBUUE7QUFSQTtBQVVBLEdBdEVBOzs7QUF3RUE7QUFDQSxVQXpFQSxzQkF5RUE7QUFDQTtBQUNBLGtCQURBO0FBRUEsbUJBRkE7QUFHQSw4QkFIQTtBQUlBO0FBQ0Esa0JBREE7QUFFQTtBQUZBLEtBSkE7QUFRQSx1Q0FSQTtBQVNBO0FBQ0E7QUFEQTtBQVRBO0FBYUE7QUF2RkEsRUEzQkE7O0FBcUhBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsR0FKQTtBQUtBO0FBQ0E7QUFDQTtBQUNBO0FBUkEsRUFySEE7O0FBZ0lBLFlBaElBLHlCQWdJQTtBQUFBOztBQUNBO0FBQ0E7QUFDQSw2Q0FDQSxJQURBLENBQ0E7QUFDQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBLGlCQUNBLGlFQURBOztBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBOztBQUFBO0FBQUE7QUFBQTtBQUFBLFVBRUEsSUFGQSxDQUVBO0FBQ0E7QUFDQTtBQUNBLEtBTEE7QUFNQSxJQVJBO0FBU0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEdBZkE7QUFnQkEsRUFsSkE7OztBQW9KQTtBQUNBLFlBREEsd0JBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLG1CQURBO0FBRUE7QUFDQSxzQ0FEQTtBQUVBO0FBRkE7QUFGQTtBQU9BLEdBNUJBOzs7QUE4QkE7Ozs7OztBQU1BLGVBcENBLDJCQW9DQTtBQUFBOztBQUNBO0FBQ0E7QUFDQSxHQXZDQTs7O0FBeUNBOzs7O0FBSUEsMEJBN0NBLHNDQTZDQTtBQUFBOztBQUNBO0FBQUE7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLHFCQURBO0FBRUE7QUFDQSx3Q0FEQTtBQUVBO0FBRkE7QUFGQTtBQU9BO0FBQ0E7QUFDQTtBQUNBO0FBOURBO0FBcEpBLEMiLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvYmFiZWwtbG9hZGVyL2xpYi9pbmRleC5qcyEuL25vZGVfbW9kdWxlcy92dWUtbG9hZGVyL2xpYi9pbmRleC5qcz8hLi9zcmMvdmlld3MvQ29udGFjdHMudnVlP3Z1ZSZ0eXBlPXNjcmlwdCZsYW5nPWpzJi5qcyIsInNvdXJjZXNDb250ZW50IjpbIjwhLS1cbiAgLSBAY29weXJpZ2h0IENvcHlyaWdodCAoYykgMjAxOCBKb2huIE1vbGFrdm/DpiA8c2tqbmxkc3ZAcHJvdG9ubWFpbC5jb20+XG4gIC1cbiAgLSBAYXV0aG9yIEpvaG4gTW9sYWt2b8OmIDxza2pubGRzdkBwcm90b25tYWlsLmNvbT5cbiAgLVxuICAtIEBsaWNlbnNlIEdOVSBBR1BMIHZlcnNpb24gMyBvciBhbnkgbGF0ZXIgdmVyc2lvblxuICAtXG4gIC0gVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU6IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnlcbiAgLSBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBBZmZlcm8gR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhc1xuICAtIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBlaXRoZXIgdmVyc2lvbiAzIG9mIHRoZVxuICAtIExpY2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uXG4gIC1cbiAgLSBUaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCxcbiAgLSBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZlxuICAtIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGVcbiAgLSBHTlUgQWZmZXJvIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy5cbiAgLVxuICAtIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBBZmZlcm8gR2VuZXJhbCBQdWJsaWMgTGljZW5zZVxuICAtIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtLiBJZiBub3QsIHNlZSA8aHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzLz4uXG4gIC1cbiAgLS0+XG5cbjx0ZW1wbGF0ZT5cblx0PGRpdiBpZD1cImNvbnRlbnRcIiBjbGFzcz1cImFwcC1jb250YWN0c1wiPlxuXG5cdFx0PCEtLSBuZXctY29udGFjdC1idXR0b24gKyBuYXZpZ2F0aW9uICsgc2V0dGluZ3MgLS0+XG5cdFx0PGFwcC1uYXZpZ2F0aW9uIDptZW51PVwibWVudVwiPlxuXHRcdFx0PCEtLSBzZXR0aW5ncyAtLT5cblx0XHRcdDxzZXR0aW5ncy1zZWN0aW9uIHNsb3Q9XCJzZXR0aW5ncy1jb250ZW50XCIgLz5cblx0XHQ8L2FwcC1uYXZpZ2F0aW9uPlxuXG5cdFx0PCEtLSBtYWluIGNvbnRlbnQgLS0+XG5cdFx0PGRpdiBpZD1cImFwcC1jb250ZW50XCI+XG5cdFx0XHQ8ZGl2IGlkPVwiYXBwLWNvbnRlbnQtd3JhcHBlclwiPlxuXHRcdFx0XHQ8IS0tIGNvbnRhY3RzIGxpc3QgLS0+XG5cdFx0XHRcdDxjb250ZW50LWxpc3QgOmxpc3Q9XCJjb250YWN0c0xpc3RcIiA6Y29udGFjdHM9XCJjb250YWN0c1wiIDpsb2FkaW5nPVwibG9hZGluZ1wiIC8+XG5cdFx0XHRcdDwhLS0gbWFpbiBjb250YWN0cyBkZXRhaWxzIC0tPlxuXHRcdFx0XHQ8Y29udGFjdC1kZXRhaWxzIDpsb2FkaW5nPVwibG9hZGluZ1wiIDp1aWQ9XCJzZWxlY3RlZENvbnRhY3RcIiAvPlxuXHRcdFx0PC9kaXY+XG5cdFx0PC9kaXY+XG5cblx0PC9kaXY+XG48L3RlbXBsYXRlPlxuXG48c2NyaXB0PlxuaW1wb3J0IGFwcE5hdmlnYXRpb24gZnJvbSAnLi4vY29tcG9uZW50cy9jb3JlL2FwcE5hdmlnYXRpb24nXG5pbXBvcnQgc2V0dGluZ3NTZWN0aW9uIGZyb20gJy4uL2NvbXBvbmVudHMvU2V0dGluZ3NTZWN0aW9uJ1xuaW1wb3J0IGNvbnRlbnRMaXN0IGZyb20gJy4uL2NvbXBvbmVudHMvQ29udGVudExpc3QnXG5pbXBvcnQgY29udGFjdERldGFpbHMgZnJvbSAnLi4vY29tcG9uZW50cy9Db250YWN0RGV0YWlscydcblxuaW1wb3J0IENvbnRhY3QgZnJvbSAnLi4vbW9kZWxzL2NvbnRhY3QnXG5pbXBvcnQgcmZjUHJvcHMgZnJvbSAnLi4vbW9kZWxzL3JmY1Byb3BzLmpzJ1xuXG5pbXBvcnQgY2xpZW50IGZyb20gJy4uL3NlcnZpY2VzL2NkYXYuanMnXG5cbmV4cG9ydCBkZWZhdWx0IHtcblx0Y29tcG9uZW50czoge1xuXHRcdGFwcE5hdmlnYXRpb24sXG5cdFx0c2V0dGluZ3NTZWN0aW9uLFxuXHRcdGNvbnRlbnRMaXN0LFxuXHRcdGNvbnRhY3REZXRhaWxzXG5cdH0sXG5cblx0Ly8gcGFzc2VkIGJ5IHRoZSByb3V0ZXJcblx0cHJvcHM6IHtcblx0XHRzZWxlY3RlZEdyb3VwOiB7XG5cdFx0XHR0eXBlOiBTdHJpbmcsXG5cdFx0XHRkZWZhdWx0OiB1bmRlZmluZWQsXG5cdFx0XHRyZXF1aXJlZDogdHJ1ZVxuXHRcdH0sXG5cdFx0c2VsZWN0ZWRDb250YWN0OiB7XG5cdFx0XHR0eXBlOiBTdHJpbmcsXG5cdFx0XHRkZWZhdWx0OiB1bmRlZmluZWRcblx0XHR9XG5cdH0sXG5cblx0ZGF0YSgpIHtcblx0XHRyZXR1cm4ge1xuXHRcdFx0bG9hZGluZzogdHJ1ZVxuXHRcdH1cblx0fSxcblxuXHRjb21wdXRlZDoge1xuXHRcdC8vIHN0b3JlIGdldHRlcnNcblx0XHRhZGRyZXNzYm9va3MoKSB7XG5cdFx0XHRyZXR1cm4gdGhpcy4kc3RvcmUuZ2V0dGVycy5nZXRBZGRyZXNzYm9va3Ncblx0XHR9LFxuXHRcdHNvcnRlZENvbnRhY3RzKCkge1xuXHRcdFx0cmV0dXJuIHRoaXMuJHN0b3JlLmdldHRlcnMuZ2V0U29ydGVkQ29udGFjdHNcblx0XHR9LFxuXHRcdGNvbnRhY3RzKCkge1xuXHRcdFx0cmV0dXJuIHRoaXMuJHN0b3JlLmdldHRlcnMuZ2V0Q29udGFjdHNcblx0XHR9LFxuXHRcdGdyb3VwcygpIHtcblx0XHRcdHJldHVybiB0aGlzLiRzdG9yZS5nZXR0ZXJzLmdldEdyb3Vwc1xuXHRcdH0sXG5cdFx0b3JkZXJLZXkoKSB7XG5cdFx0XHRyZXR1cm4gdGhpcy4kc3RvcmUuZ2V0dGVycy5nZXRPcmRlcktleVxuXHRcdH0sXG5cblx0XHQvLyBmaXJzdCBlbmFibGVkIGFkZHJlc3Nib29rIG9mIHRoZSBsaXN0XG5cdFx0ZGVmYXVsdEFkZHJlc3Nib29rKCkge1xuXHRcdFx0cmV0dXJuIHRoaXMuYWRkcmVzc2Jvb2tzLmZpbmQoYWRkcmVzc2Jvb2sgPT4gYWRkcmVzc2Jvb2suZW5hYmxlZClcblx0XHR9LFxuXG5cdFx0LyoqXG5cdFx0ICogQ29udGFjdHMgbGlzdCBiYXNlZCBvbiB0aGUgc2VsZWN0ZWQgZ3JvdXAuXG5cdFx0ICogVGhvc2UgZmlsdGVycyBhcmUgcHJldHR5IGZhc3QsIHNvIGxldCdzIG9ubHlcblx0XHQgKiBpbnRlcnNlY3QgdGhlIGdyb3VwcyBjb250YWN0cyBhbmQgdGhlIGZ1bGxcblx0XHQgKiBzb3J0ZWQgY29udGFjdHMgTGlzdC5cblx0XHQgKi9cblx0XHRjb250YWN0c0xpc3QoKSB7XG5cdFx0XHRpZiAodGhpcy5zZWxlY3RlZEdyb3VwID09PSB0KCdjb250YWN0cycsICdBbGwgY29udGFjdHMnKSkge1xuXHRcdFx0XHRyZXR1cm4gdGhpcy5zb3J0ZWRDb250YWN0c1xuXHRcdFx0fVxuXHRcdFx0bGV0IGdyb3VwID0gdGhpcy5ncm91cHMuZmlsdGVyKGdyb3VwID0+IGdyb3VwLm5hbWUgPT09IHRoaXMuc2VsZWN0ZWRHcm91cClbMF1cblx0XHRcdGlmIChncm91cCkge1xuXHRcdFx0XHRyZXR1cm4gdGhpcy5zb3J0ZWRDb250YWN0cy5maWx0ZXIoY29udGFjdCA9PiBncm91cC5jb250YWN0cy5pbmRleE9mKGNvbnRhY3Qua2V5KSA+PSAwKVxuXHRcdFx0fVxuXHRcdFx0cmV0dXJuIFtdXG5cdFx0fSxcblxuXHRcdC8vIGdlbmVyYXRlIGdyb3VwcyBtZW51IGZyb20gZ3JvdXBzIHN0b3JlXG5cdFx0Z3JvdXBzTWVudSgpIHtcblx0XHRcdHJldHVybiB0aGlzLmdyb3Vwcy5tYXAoZ3JvdXAgPT4ge1xuXHRcdFx0XHRyZXR1cm4ge1xuXHRcdFx0XHRcdGlkOiBncm91cC5uYW1lLnJlcGxhY2UoJyAnLCAnXycpLFxuXHRcdFx0XHRcdGtleTogZ3JvdXAubmFtZS5yZXBsYWNlKCcgJywgJ18nKSxcblx0XHRcdFx0XHRyb3V0ZXI6IHtcblx0XHRcdFx0XHRcdG5hbWU6ICdncm91cCcsXG5cdFx0XHRcdFx0XHRwYXJhbXM6IHsgc2VsZWN0ZWRHcm91cDogZ3JvdXAubmFtZSB9XG5cdFx0XHRcdFx0fSxcblx0XHRcdFx0XHR0ZXh0OiBncm91cC5uYW1lLFxuXHRcdFx0XHRcdHV0aWxzOiB7XG5cdFx0XHRcdFx0XHRjb3VudGVyOiBncm91cC5jb250YWN0cy5sZW5ndGhcblx0XHRcdFx0XHR9XG5cdFx0XHRcdH1cblx0XHRcdH0pXG5cdFx0fSxcblxuXHRcdC8vIGJ1aWxkaW5nIHRoZSBtYWluIG1lbnVcblx0XHRtZW51KCkge1xuXHRcdFx0cmV0dXJuIHtcblx0XHRcdFx0aWQ6ICdncm91cHMtbGlzdCcsXG5cdFx0XHRcdG5ldzoge1xuXHRcdFx0XHRcdGlkOiAnbmV3LWNvbnRhY3QtYnV0dG9uJyxcblx0XHRcdFx0XHR0ZXh0OiB0KCdjb250YWN0cycsICdOZXcgY29udGFjdCcpLFxuXHRcdFx0XHRcdGljb246ICdpY29uLWFkZCcsXG5cdFx0XHRcdFx0YWN0aW9uOiB0aGlzLm5ld0NvbnRhY3Rcblx0XHRcdFx0fSxcblx0XHRcdFx0aXRlbXM6IHRoaXMuYWxsR3JvdXAuY29uY2F0KHRoaXMuZ3JvdXBzTWVudSlcblx0XHRcdH1cblx0XHR9LFxuXG5cdFx0Ly8gZGVmYXVsdCBncm91cCBmb3IgZXZlcnkgY29udGFjdHNcblx0XHRhbGxHcm91cCgpIHtcblx0XHRcdHJldHVybiBbe1xuXHRcdFx0XHRpZDogJ2V2ZXJ5b25lJyxcblx0XHRcdFx0a2V5OiAnZXZlcnlvbmUnLFxuXHRcdFx0XHRpY29uOiAnaWNvbi1jb250YWN0cy1kYXJrJyxcblx0XHRcdFx0cm91dGVyOiB7XG5cdFx0XHRcdFx0bmFtZTogJ2dyb3VwJyxcblx0XHRcdFx0XHRwYXJhbXM6IHsgc2VsZWN0ZWRHcm91cDogdCgnY29udGFjdHMnLCAnQWxsIGNvbnRhY3RzJykgfVxuXHRcdFx0XHR9LFxuXHRcdFx0XHR0ZXh0OiB0KCdjb250YWN0cycsICdBbGwgY29udGFjdHMnKSxcblx0XHRcdFx0dXRpbHM6IHtcblx0XHRcdFx0XHRjb3VudGVyOiB0aGlzLnNvcnRlZENvbnRhY3RzLmxlbmd0aFxuXHRcdFx0XHR9XG5cdFx0XHR9XVxuXHRcdH1cblx0fSxcblxuXHR3YXRjaDoge1xuXHRcdC8vIHdhdGNoIHVybCBjaGFuZ2UgYW5kIGdyb3VwIHNlbGVjdFxuXHRcdHNlbGVjdGVkR3JvdXA6IGZ1bmN0aW9uKCkge1xuXHRcdFx0dGhpcy5zZWxlY3RGaXJzdENvbnRhY3RJZk5vbmUoKVxuXHRcdH0sXG5cdFx0Ly8gd2F0Y2ggdXJsIGNoYW5nZSBhbmQgY29udGFjdCBzZWxlY3Rcblx0XHRzZWxlY3RlZENvbnRhY3Q6IGZ1bmN0aW9uKCkge1xuXHRcdFx0dGhpcy5zZWxlY3RGaXJzdENvbnRhY3RJZk5vbmUoKVxuXHRcdH1cblx0fSxcblxuXHRiZWZvcmVNb3VudCgpIHtcblx0XHQvLyBnZXQgYWRkcmVzc2Jvb2tzIHRoZW4gZ2V0IGNvbnRhY3RzXG5cdFx0Y2xpZW50LmNvbm5lY3QoeyBlbmFibGVDYXJkREFWOiB0cnVlIH0pLnRoZW4oKCkgPT4ge1xuXHRcdFx0dGhpcy4kc3RvcmUuZGlzcGF0Y2goJ2dldEFkZHJlc3Nib29rcycpXG5cdFx0XHRcdC50aGVuKCgpID0+IHtcblx0XHRcdFx0XHRQcm9taXNlLmFsbCh0aGlzLmFkZHJlc3Nib29rcy5tYXAoYXN5bmMgYWRkcmVzc2Jvb2sgPT4ge1xuXHRcdFx0XHRcdFx0YXdhaXQgdGhpcy4kc3RvcmUuZGlzcGF0Y2goJ2dldENvbnRhY3RzRnJvbUFkZHJlc3NCb29rJywgYWRkcmVzc2Jvb2spXG5cdFx0XHRcdFx0fSkpLnRoZW4oKCkgPT4ge1xuXHRcdFx0XHRcdFx0dGhpcy5sb2FkaW5nID0gZmFsc2Vcblx0XHRcdFx0XHRcdHRoaXMuc2VsZWN0Rmlyc3RDb250YWN0SWZOb25lKClcblx0XHRcdFx0XHR9KVxuXHRcdFx0XHR9KVxuXHRcdFx0Ly8gY2hlY2sgbG9jYWwgc3RvcmFnZSBmb3Igb3JkZXJLZXlcblx0XHRcdGlmIChsb2NhbFN0b3JhZ2UuZ2V0SXRlbSgnb3JkZXJLZXknKSkge1xuXHRcdFx0XHQvLyBydW4gc2V0T3JkZXIgbXV0YXRpb24gd2l0aCBsb2NhbCBzdG9yYWdlIGtleVxuXHRcdFx0XHR0aGlzLiRzdG9yZS5jb21taXQoJ3NldE9yZGVyJywgbG9jYWxTdG9yYWdlLmdldEl0ZW0oJ29yZGVyS2V5JykpXG5cdFx0XHR9XG5cdFx0fSlcblx0fSxcblxuXHRtZXRob2RzOiB7XG5cdFx0bmV3Q29udGFjdCgpIHtcblx0XHRcdGxldCBjb250YWN0ID0gbmV3IENvbnRhY3QoJ0JFR0lOOlZDQVJEXFxuVkVSU0lPTjo0LjBcXG5FTkQ6VkNBUkQnLCB0aGlzLmRlZmF1bHRBZGRyZXNzYm9vaylcblx0XHRcdGNvbnRhY3QuZnVsbE5hbWUgPSAnTmV3IGNvbnRhY3QnXG5cdFx0XHQvLyBpdHRlcmF0ZSBvdmVyIGFsbCBwcm9wZXJ0aWVzIChmaWx0ZXIgaXMgbm90IHVzYWJsZSBvbiBvYmplY3RzIGFuZCB3ZSBuZWVkIHRoZSBrZXkgb2YgdGhlIHByb3BlcnR5KVxuXHRcdFx0Zm9yIChsZXQgbmFtZSBpbiByZmNQcm9wcy5wcm9wZXJ0aWVzKSB7XG5cdFx0XHRcdGlmIChyZmNQcm9wcy5wcm9wZXJ0aWVzW25hbWVdLmRlZmF1bHQpIHtcblx0XHRcdFx0XHRsZXQgZGVmYXVsdERhdGEgPSByZmNQcm9wcy5wcm9wZXJ0aWVzW25hbWVdLmRlZmF1bHRWYWx1ZVxuXHRcdFx0XHRcdC8vIGFkZCBkZWZhdWx0IGZpZWxkXG5cdFx0XHRcdFx0bGV0IHByb3BlcnR5ID0gY29udGFjdC52Q2FyZC5hZGRQcm9wZXJ0eVdpdGhWYWx1ZShuYW1lLCBkZWZhdWx0RGF0YS52YWx1ZSlcblx0XHRcdFx0XHQvLyBhZGQgZGVmYXVsdCB0eXBlXG5cdFx0XHRcdFx0aWYgKGRlZmF1bHREYXRhLnR5cGUpIHtcblx0XHRcdFx0XHRcdHByb3BlcnR5LnNldFBhcmFtZXRlcigndHlwZScsIGRlZmF1bHREYXRhLnR5cGUpXG5cblx0XHRcdFx0XHR9XG5cdFx0XHRcdH1cblx0XHRcdH1cblx0XHRcdGlmICh0aGlzLnNlbGVjdGVkR3JvdXAgIT09IHQoJ2NvbnRhY3RzJywgJ0FsbCBjb250YWN0cycpKSB7XG5cdFx0XHRcdGNvbnRhY3QudkNhcmQuYWRkUHJvcGVydHlXaXRoVmFsdWUoJ2NhdGVnb3JpZXMnLCB0aGlzLnNlbGVjdGVkR3JvdXApXG5cdFx0XHR9XG5cdFx0XHR0aGlzLiRzdG9yZS5kaXNwYXRjaCgnYWRkQ29udGFjdCcsIGNvbnRhY3QpXG5cdFx0XHR0aGlzLiRyb3V0ZXIucHVzaCh7XG5cdFx0XHRcdG5hbWU6ICdjb250YWN0Jyxcblx0XHRcdFx0cGFyYW1zOiB7XG5cdFx0XHRcdFx0c2VsZWN0ZWRHcm91cDogdGhpcy5zZWxlY3RlZEdyb3VwLFxuXHRcdFx0XHRcdHNlbGVjdGVkQ29udGFjdDogY29udGFjdC5rZXlcblx0XHRcdFx0fVxuXHRcdFx0fSlcblx0XHR9LFxuXG5cdFx0LyoqXG5cdFx0ICogRGlzcGF0Y2ggc29ydGluZyB1cGRhdGUgcmVxdWVzdCB0byB0aGUgc3RvcmVcblx0XHQgKlxuXHRcdCAqIEBwYXJhbSB7T2JqZWN0fSBzdGF0ZSBEZWZhdWx0IHN0YXRlXG5cdFx0ICogQHBhcmFtIHtBcnJheX0gYWRkcmVzc2Jvb2tzIEFkZHJlc3Nib29rc1xuXHRcdCAqL1xuXHRcdHVwZGF0ZVNvcnRpbmcob3JkZXJLZXkgPSAnZGlzcGxheU5hbWUnKSB7XG5cdFx0XHR0aGlzLiRzdG9yZS5jb21taXQoJ3NldE9yZGVyJywgb3JkZXJLZXkpXG5cdFx0XHR0