]> source.dussan.org Git - nextcloud-server.git/commitdiff
chore(assets): Recompile assets 45699/head
authornextcloud-command <nextcloud-command@users.noreply.github.com>
Thu, 6 Jun 2024 21:02:15 +0000 (21:02 +0000)
committernextcloud-command <nextcloud-command@users.noreply.github.com>
Thu, 6 Jun 2024 21:02:15 +0000 (21:02 +0000)
Signed-off-by: nextcloud-command <nextcloud-command@users.noreply.github.com>
30 files changed:
apps/files_sharing/css/icons.css
apps/files_sharing/css/icons.css.map
apps/files_sharing/css/mobile.css
apps/files_sharing/css/mobile.css.map
apps/files_sharing/css/public.css
apps/files_sharing/css/public.css.map
apps/files_sharing/css/publicView.css
apps/files_sharing/css/publicView.css.map
dist/6364-6364.js [deleted file]
dist/6364-6364.js.license [deleted file]
dist/6364-6364.js.map [deleted file]
dist/8450-8450.js [new file with mode: 0644]
dist/8450-8450.js.license [new file with mode: 0644]
dist/8450-8450.js.map [new file with mode: 0644]
dist/files_sharing-additionalScripts.js
dist/files_sharing-additionalScripts.js.license
dist/files_sharing-additionalScripts.js.map
dist/files_sharing-collaboration.js.map
dist/files_sharing-files_sharing_tab.js
dist/files_sharing-files_sharing_tab.js.license
dist/files_sharing-files_sharing_tab.js.map
dist/files_sharing-init.js
dist/files_sharing-init.js.license
dist/files_sharing-init.js.map
dist/files_sharing-main.js.license
dist/files_sharing-main.js.map
dist/files_sharing-personal-settings.js
dist/files_sharing-personal-settings.js.license
dist/files_sharing-personal-settings.js.map
dist/icons.css

index 72966bd1594788f698e7795fa197ea30616df310..3a81b66561fd7a56877ebdb2ee4b9f31f85dbbc6 100644 (file)
@@ -1 +1,4 @@
-.icon-room{background-image:var(--icon-talk-dark)}.icon-circle{background-image:var(--icon-circles-dark)}.icon-guests{background-image:var(--icon-user-dark)}/*# sourceMappingURL=icons.css.map */
+/*!
+ * SPDX-FileCopyrightText: 2019 Nextcloud GmbH and Nextcloud contributors
+ * SPDX-License-Identifier: AGPL-3.0-or-later
+ */.icon-room{background-image:var(--icon-talk-dark)}.icon-circle{background-image:var(--icon-circles-dark)}.icon-guests{background-image:var(--icon-user-dark)}/*# sourceMappingURL=icons.css.map */
index 5c8233c1143c49a7bdb62c9f62530f9119e04677..e413caaf22594ed9c366ee5492fca45e1efae14c 100644 (file)
@@ -1 +1 @@
-{"version":3,"sourceRoot":"","sources":["icons.scss"],"names":[],"mappings":"AAyBA,WACC,uCAED,aACC,0CAED,aACC","file":"icons.css"}
\ No newline at end of file
+{"version":3,"sourceRoot":"","sources":["icons.scss"],"names":[],"mappings":"AAAA;AAAA;AAAA;AAAA,GAQA,WACC,uCAED,aACC,0CAED,aACC","file":"icons.css"}
\ No newline at end of file
index c6e560ef001d3fa4593b509e2a3f30a912162499..6d54510e513fe51d4573517688548f98ada89ec5 100644 (file)
@@ -1 +1,5 @@
-@media only screen and (max-width: 1024px){#header.share-file{position:absolute !important}table th.column-size,table td.filesize,table th.column-mtime,table td.date{display:none}table td.filename .nametext{max-width:75% !important}#imgframe{width:100%;padding:0}#imgframe .publicpreview{margin-top:32px}.files-fileList a.action img{padding:0 6px 0 12px}.files-fileList a.action:not(.menuitem) span{display:none}.nametext{width:60%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}#header .menutoggle{padding-right:14px;background-position:center}.note{padding:0 20px}.emptycontent{margin-top:10vh}}/*# sourceMappingURL=mobile.css.map */
+/*!
+ * SPDX-FileCopyrightText: 2016-2024 Nextcloud GmbH and Nextcloud contributors
+ * SPDX-FileCopyrightText: 2014 ownCloud, Inc.
+ * SPDX-License-Identifier: AGPL-3.0-only
+ */@media only screen and (max-width: 1024px){#header.share-file{position:absolute !important}table th.column-size,table td.filesize,table th.column-mtime,table td.date{display:none}table td.filename .nametext{max-width:75% !important}#imgframe{width:100%;padding:0}#imgframe .publicpreview{margin-top:32px}.files-fileList a.action img{padding:0 6px 0 12px}.files-fileList a.action:not(.menuitem) span{display:none}.nametext{width:60%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}#header .menutoggle{padding-right:14px;background-position:center}.note{padding:0 20px}.emptycontent{margin-top:10vh}}/*# sourceMappingURL=mobile.css.map */
index 2fab5000f7ac55eea2ab0af168e4580f1a19fba6..93b7e2463676f30e901b8c80ced4c1f38d59fbd9 100644 (file)
@@ -1 +1 @@
-{"version":3,"sourceRoot":"","sources":["mobile.scss"],"names":[],"mappings":"AAEA,2CAGA,mBACC,6BAID,2EAIC,aAID,4BACC,yBAID,UACC,WACA,UAGD,yBACC,gBAID,6BACC,qBAGD,6CACC,aAID,UACC,UACA,mBACA,gBACA,uBAGD,oBACI,mBACA,2BAEJ,MACC,eAGD,cACC","file":"mobile.css"}
\ No newline at end of file
+{"version":3,"sourceRoot":"","sources":["mobile.scss"],"names":[],"mappings":"AAAA;AAAA;AAAA;AAAA;AAAA,GAOA,2CAGA,mBACC,6BAID,2EAIC,aAID,4BACC,yBAID,UACC,WACA,UAGD,yBACC,gBAID,6BACC,qBAGD,6CACC,aAID,UACC,UACA,mBACA,gBACA,uBAGD,oBACI,mBACA,2BAEJ,MACC,eAGD,cACC","file":"mobile.css"}
\ No newline at end of file
index 7b4f8756cfd968e0e4bdaa62912c04c3954eed4b..1d1fdd7f6e191aca1efa235e29637dbe7d4c4bd7 100644 (file)
@@ -1 +1,5 @@
-#preview{text-align:center}#preview .notCreatable{display:none}#noPreview{display:none;padding-top:80px}#imgframe{height:75%;padding-bottom:32px;padding-top:32px;width:80%;margin:0 auto}#imgframe #viewer{height:100%;width:100%}#imgframe img{max-height:calc(100vh - var(--header-height) - 65px - 200px - 16px) !important;max-width:100% !important;width:unset !important}#imgframe :not(#viewer) img{min-width:100px}#imgframe video{max-height:calc(100vh - var(--header-height) - 65px - 200px - 16px)}#imgframe .plyr:fullscreen video{max-height:unset}#imgframe audio{display:block;margin-left:auto;margin-right:auto}#imgframe #viewer[data-handler=audios]{margin-top:400px}#imgframe .plyr{top:0px !important}#imgframe .text-preview{display:inline-block;position:relative;text-align:left;white-space:pre-wrap;overflow-y:scroll;height:auto;min-height:200px;max-height:800px}#imgframe .ellipsis{font-size:1.2em}#imgframe .viewer__file{height:100%;width:100%}#imgframe .plyr{max-height:100%}.app-files_sharing #app-content footer{position:sticky !important}thead{left:0 !important}#data-upload-form{position:relative;right:0;height:32px;overflow:hidden;padding:0;float:right;display:inline;margin:0}.directDownload #downloadFile{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:90%;display:inline-block;margin-left:auto;margin-right:auto;margin-top:16px}.download-size{opacity:.5}#details{display:inline-flex}#details button,#details input,#details .button{margin:0 5px;line-height:normal}#details button:hover,#details input:hover,#details .button:hover{border-color:rgba(0,0,0,.3) !important}#public-upload .avatardiv{margin:0 auto}.emptycontent.has-note{margin-top:5vh}#public-upload .emptycontent h2{margin:10px 0 5px 0}#public-upload .emptycontent h2+p{margin-bottom:30px}#public-upload .emptycontent .icon-folder{height:16px;width:16px;background-size:16px;display:inline-block;vertical-align:text-top;margin-bottom:0;margin-right:5px;opacity:1}#public-upload .emptycontent #displayavatar .icon-folder{height:48px;width:48px;background-size:48px}#public-upload .emptycontent .button{display:inline-block;height:auto;width:auto;background-size:16px;background-position:16px;opacity:.7;font-size:20px;line-height:initial;margin:20px;padding:10px 20px;padding-left:42px}#public-upload .emptycontent ul{width:230px;margin:5px auto 5vh;text-align:left}#public-upload .emptycontent li{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;padding:7px 0}#public-upload .emptycontent li img{margin-right:5px;position:relative;top:2px}#drop-upload-progress-indicator span.icon-loading-small{padding-left:18px;margin-right:7px}#drop-uploaded-files li #drop-upload-name{float:left;max-width:180px;text-overflow:ellipsis;white-space:nowrap;overflow:hidden}#drop-uploaded-files li #drop-upload-status{float:right}.disclaimer,.note{margin:0 auto 30px;max-width:400px;text-align:left}#note-content{padding:5px;display:inline-block;width:350px}#note-content .content{overflow:auto;max-height:200px}#show-terms-dialog{cursor:pointer;font-weight:bold}@media only screen and (min-width: 1025px){#body-public .header-right #header-actions-menu>ul>li#download{display:none}}@media only screen and (max-width: 1024px){#body-public .header-right #header-primary-action{display:none}}/*# sourceMappingURL=public.css.map */
+/*!
+ * SPDX-FileCopyrightText: 2016-2024 Nextcloud GmbH and Nextcloud contributors
+ * SPDX-FileCopyrightText: 2012-2016 ownCloud, Inc.
+ * SPDX-License-Identifier: AGPL-3.0-only
+ */#preview{text-align:center}#preview .notCreatable{display:none}#noPreview{display:none;padding-top:80px}#imgframe{height:75%;padding-bottom:32px;padding-top:32px;width:80%;margin:0 auto}#imgframe #viewer{height:100%;width:100%}#imgframe img{max-height:calc(100vh - var(--header-height) - 65px - 200px - 16px) !important;max-width:100% !important;width:unset !important}#imgframe :not(#viewer) img{min-width:100px}#imgframe video{max-height:calc(100vh - var(--header-height) - 65px - 200px - 16px)}#imgframe .plyr:fullscreen video{max-height:unset}#imgframe audio{display:block;margin-left:auto;margin-right:auto}#imgframe #viewer[data-handler=audios]{margin-top:400px}#imgframe .plyr{top:0px !important}#imgframe .text-preview{display:inline-block;position:relative;text-align:left;white-space:pre-wrap;overflow-y:scroll;height:auto;min-height:200px;max-height:800px}#imgframe .ellipsis{font-size:1.2em}#imgframe .viewer__file{height:100%;width:100%}#imgframe .plyr{max-height:100%}.app-files_sharing #app-content footer{position:sticky !important}thead{left:0 !important}#data-upload-form{position:relative;right:0;height:32px;overflow:hidden;padding:0;float:right;display:inline;margin:0}.directDownload #downloadFile{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:90%;display:inline-block;margin-left:auto;margin-right:auto;margin-top:16px}.download-size{opacity:.5}#details{display:inline-flex}#details button,#details input,#details .button{margin:0 5px;line-height:normal}#details button:hover,#details input:hover,#details .button:hover{border-color:rgba(0,0,0,.3) !important}#public-upload .avatardiv{margin:0 auto}.emptycontent.has-note{margin-top:5vh}#public-upload .emptycontent h2{margin:10px 0 5px 0}#public-upload .emptycontent h2+p{margin-bottom:30px}#public-upload .emptycontent .icon-folder{height:16px;width:16px;background-size:16px;display:inline-block;vertical-align:text-top;margin-bottom:0;margin-right:5px;opacity:1}#public-upload .emptycontent #displayavatar .icon-folder{height:48px;width:48px;background-size:48px}#public-upload .emptycontent .button{display:inline-block;height:auto;width:auto;background-size:16px;background-position:16px;opacity:.7;font-size:20px;line-height:initial;margin:20px;padding:10px 20px;padding-left:42px}#public-upload .emptycontent ul{width:230px;margin:5px auto 5vh;text-align:left}#public-upload .emptycontent li{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;padding:7px 0}#public-upload .emptycontent li img{margin-right:5px;position:relative;top:2px}#drop-upload-progress-indicator span.icon-loading-small{padding-left:18px;margin-right:7px}#drop-uploaded-files li #drop-upload-name{float:left;max-width:180px;text-overflow:ellipsis;white-space:nowrap;overflow:hidden}#drop-uploaded-files li #drop-upload-status{float:right}.disclaimer,.note{margin:0 auto 30px;max-width:400px;text-align:left}#note-content{padding:5px;display:inline-block;width:350px}#note-content .content{overflow:auto;max-height:200px}#show-terms-dialog{cursor:pointer;font-weight:bold}@media only screen and (min-width: 1025px){#body-public .header-right #header-actions-menu>ul>li#download{display:none}}@media only screen and (max-width: 1024px){#body-public .header-right #header-primary-action{display:none}}/*# sourceMappingURL=public.css.map */
index f193eeff05c78a90b9110b1d44d73c6be05fdfee..6db98ef00572f3698de1d51e0f3a290c0c62936a 100644 (file)
@@ -1 +1 @@
-{"version":3,"sourceRoot":"","sources":["public.scss"],"names":[],"mappings":"AAMA,SACC,kBAGD,uBACC,aAGD,WACC,aACA,iBAGD,UACC,WACA,oBACA,iBACA,UACA,cAGD,kBACC,YACA,WAGD,cACC,+EACA,0BACA,uBAGD,4BACI,gBAGJ,gBACC,oEAGD,iCACI,iBAGJ,gBACC,cACA,iBACA,kBAGD,uCAEI,iBAGJ,gBACI,mBAGJ,wBACC,qBACA,kBACA,gBACA,qBACA,kBACA,YACA,iBACA,iBAGD,oBACC,gBAGD,wBACC,YACA,WAGD,gBACC,gBAID,uCACC,2BAID,MACC,kBAGD,kBACC,kBACA,QACA,YACA,gBACA,UACA,YACA,eACA,SAID,8BACC,mBACA,gBACA,uBACA,cACA,qBACA,iBACA,kBACA,gBAGD,eACC,WAID,SACC,oBAED,gDAGC,aACA,mBAED,kEAIC,uCAGD,0BACC,cAIA,uBACC,eAIF,gCACC,oBAGD,kCACC,mBAGD,0CACC,YACA,WACA,qBACA,qBACA,wBACA,gBACA,iBACA,UAGD,yDACC,YACA,WACA,qBAGD,qCACC,qBACA,YACA,WACA,qBACA,yBACA,WACA,eACA,oBACA,YACA,kBACA,kBAGD,gCACC,YACA,oBACA,gBAGD,gCACC,gBACA,uBACA,mBACA,cAGD,oCACC,iBACA,kBACA,QAGD,wDACC,kBACA,iBAGD,0CACC,WACA,gBACA,uBACA,mBACA,gBAGD,4CACC,YAGD,kBAEC,mBACA,gBACA,gBAGD,cACC,YACA,qBACA,YACA,uBACC,cACA,iBAIF,mBACC,eACA,iBAKD,2CAII,+DACC,cAQL,2CAGG,kDACC","file":"public.css"}
\ No newline at end of file
+{"version":3,"sourceRoot":"","sources":["public.scss"],"names":[],"mappings":"AAAA;AAAA;AAAA;AAAA;AAAA,GAWA,SACC,kBAGD,uBACC,aAGD,WACC,aACA,iBAGD,UACC,WACA,oBACA,iBACA,UACA,cAGD,kBACC,YACA,WAGD,cACC,+EACA,0BACA,uBAGD,4BACI,gBAGJ,gBACC,oEAGD,iCACI,iBAGJ,gBACC,cACA,iBACA,kBAGD,uCAEI,iBAGJ,gBACI,mBAGJ,wBACC,qBACA,kBACA,gBACA,qBACA,kBACA,YACA,iBACA,iBAGD,oBACC,gBAGD,wBACC,YACA,WAGD,gBACC,gBAID,uCACC,2BAID,MACC,kBAGD,kBACC,kBACA,QACA,YACA,gBACA,UACA,YACA,eACA,SAID,8BACC,mBACA,gBACA,uBACA,cACA,qBACA,iBACA,kBACA,gBAGD,eACC,WAID,SACC,oBAED,gDAGC,aACA,mBAED,kEAIC,uCAGD,0BACC,cAIA,uBACC,eAIF,gCACC,oBAGD,kCACC,mBAGD,0CACC,YACA,WACA,qBACA,qBACA,wBACA,gBACA,iBACA,UAGD,yDACC,YACA,WACA,qBAGD,qCACC,qBACA,YACA,WACA,qBACA,yBACA,WACA,eACA,oBACA,YACA,kBACA,kBAGD,gCACC,YACA,oBACA,gBAGD,gCACC,gBACA,uBACA,mBACA,cAGD,oCACC,iBACA,kBACA,QAGD,wDACC,kBACA,iBAGD,0CACC,WACA,gBACA,uBACA,mBACA,gBAGD,4CACC,YAGD,kBAEC,mBACA,gBACA,gBAGD,cACC,YACA,qBACA,YACA,uBACC,cACA,iBAIF,mBACC,eACA,iBAKD,2CAII,+DACC,cAQL,2CAGG,kDACC","file":"public.css"}
\ No newline at end of file
index f30d7b84728208026b2817cceadea836dc843207..a020d9bba52587fe17517726eb886fc32a28f801 100644 (file)
@@ -1 +1,8 @@
-#preview{text-align:center}#preview .notCreatable{display:none}#noPreview{display:none;padding-top:80px}#imgframe{height:75%;padding-bottom:32px;padding-top:32px;width:80%;margin:0 auto}#imgframe #viewer{height:100%;width:100%}#imgframe img{max-height:calc(100vh - var(--header-height) - 65px - 200px - 16px) !important;max-width:100% !important;width:unset !important}#imgframe :not(#viewer) img{min-width:100px}#imgframe video{max-height:calc(100vh - var(--header-height) - 65px - 200px - 16px)}#imgframe .plyr:fullscreen video{max-height:unset}#imgframe audio{display:block;margin-left:auto;margin-right:auto}#imgframe #viewer[data-handler=audios]{margin-top:400px}#imgframe .plyr{top:0px !important}#imgframe .text-preview{display:inline-block;position:relative;text-align:left;white-space:pre-wrap;overflow-y:scroll;height:auto;min-height:200px;max-height:800px}#imgframe .ellipsis{font-size:1.2em}#imgframe .viewer__file{height:100%;width:100%}#imgframe .plyr{max-height:100%}.app-files_sharing #app-content footer{position:sticky !important}thead{left:0 !important}#data-upload-form{position:relative;right:0;height:32px;overflow:hidden;padding:0;float:right;display:inline;margin:0}.directDownload #downloadFile{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:90%;display:inline-block;margin-left:auto;margin-right:auto;margin-top:16px}.download-size{opacity:.5}#details{display:inline-flex}#details button,#details input,#details .button{margin:0 5px;line-height:normal}#details button:hover,#details input:hover,#details .button:hover{border-color:rgba(0,0,0,.3) !important}#public-upload .avatardiv{margin:0 auto}.emptycontent.has-note{margin-top:5vh}#public-upload .emptycontent h2{margin:10px 0 5px 0}#public-upload .emptycontent h2+p{margin-bottom:30px}#public-upload .emptycontent .icon-folder{height:16px;width:16px;background-size:16px;display:inline-block;vertical-align:text-top;margin-bottom:0;margin-right:5px;opacity:1}#public-upload .emptycontent #displayavatar .icon-folder{height:48px;width:48px;background-size:48px}#public-upload .emptycontent .button{display:inline-block;height:auto;width:auto;background-size:16px;background-position:16px;opacity:.7;font-size:20px;line-height:initial;margin:20px;padding:10px 20px;padding-left:42px}#public-upload .emptycontent ul{width:230px;margin:5px auto 5vh;text-align:left}#public-upload .emptycontent li{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;padding:7px 0}#public-upload .emptycontent li img{margin-right:5px;position:relative;top:2px}#drop-upload-progress-indicator span.icon-loading-small{padding-left:18px;margin-right:7px}#drop-uploaded-files li #drop-upload-name{float:left;max-width:180px;text-overflow:ellipsis;white-space:nowrap;overflow:hidden}#drop-uploaded-files li #drop-upload-status{float:right}.disclaimer,.note{margin:0 auto 30px;max-width:400px;text-align:left}#note-content{padding:5px;display:inline-block;width:350px}#note-content .content{overflow:auto;max-height:200px}#show-terms-dialog{cursor:pointer;font-weight:bold}@media only screen and (min-width: 1025px){#body-public .header-right #header-actions-menu>ul>li#download{display:none}}@media only screen and (max-width: 1024px){#body-public .header-right #header-primary-action{display:none}}@media only screen and (max-width: 1024px){#header.share-file{position:absolute !important}table th.column-size,table td.filesize,table th.column-mtime,table td.date{display:none}table td.filename .nametext{max-width:75% !important}#imgframe{width:100%;padding:0}#imgframe .publicpreview{margin-top:32px}.files-fileList a.action img{padding:0 6px 0 12px}.files-fileList a.action:not(.menuitem) span{display:none}.nametext{width:60%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}#header .menutoggle{padding-right:14px;background-position:center}.note{padding:0 20px}.emptycontent{margin-top:10vh}}/*# sourceMappingURL=publicView.css.map */
+/*!
+ * SPDX-FileCopyrightText: 2017 Nextcloud GmbH and Nextcloud contributors
+ * SPDX-License-Identifier: AGPL-3.0-or-later
+ */#preview{text-align:center}#preview .notCreatable{display:none}#noPreview{display:none;padding-top:80px}#imgframe{height:75%;padding-bottom:32px;padding-top:32px;width:80%;margin:0 auto}#imgframe #viewer{height:100%;width:100%}#imgframe img{max-height:calc(100vh - var(--header-height) - 65px - 200px - 16px) !important;max-width:100% !important;width:unset !important}#imgframe :not(#viewer) img{min-width:100px}#imgframe video{max-height:calc(100vh - var(--header-height) - 65px - 200px - 16px)}#imgframe .plyr:fullscreen video{max-height:unset}#imgframe audio{display:block;margin-left:auto;margin-right:auto}#imgframe #viewer[data-handler=audios]{margin-top:400px}#imgframe .plyr{top:0px !important}#imgframe .text-preview{display:inline-block;position:relative;text-align:left;white-space:pre-wrap;overflow-y:scroll;height:auto;min-height:200px;max-height:800px}#imgframe .ellipsis{font-size:1.2em}#imgframe .viewer__file{height:100%;width:100%}#imgframe .plyr{max-height:100%}.app-files_sharing #app-content footer{position:sticky !important}thead{left:0 !important}#data-upload-form{position:relative;right:0;height:32px;overflow:hidden;padding:0;float:right;display:inline;margin:0}.directDownload #downloadFile{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:90%;display:inline-block;margin-left:auto;margin-right:auto;margin-top:16px}.download-size{opacity:.5}#details{display:inline-flex}#details button,#details input,#details .button{margin:0 5px;line-height:normal}#details button:hover,#details input:hover,#details .button:hover{border-color:rgba(0,0,0,.3) !important}#public-upload .avatardiv{margin:0 auto}.emptycontent.has-note{margin-top:5vh}#public-upload .emptycontent h2{margin:10px 0 5px 0}#public-upload .emptycontent h2+p{margin-bottom:30px}#public-upload .emptycontent .icon-folder{height:16px;width:16px;background-size:16px;display:inline-block;vertical-align:text-top;margin-bottom:0;margin-right:5px;opacity:1}#public-upload .emptycontent #displayavatar .icon-folder{height:48px;width:48px;background-size:48px}#public-upload .emptycontent .button{display:inline-block;height:auto;width:auto;background-size:16px;background-position:16px;opacity:.7;font-size:20px;line-height:initial;margin:20px;padding:10px 20px;padding-left:42px}#public-upload .emptycontent ul{width:230px;margin:5px auto 5vh;text-align:left}#public-upload .emptycontent li{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;padding:7px 0}#public-upload .emptycontent li img{margin-right:5px;position:relative;top:2px}#drop-upload-progress-indicator span.icon-loading-small{padding-left:18px;margin-right:7px}#drop-uploaded-files li #drop-upload-name{float:left;max-width:180px;text-overflow:ellipsis;white-space:nowrap;overflow:hidden}#drop-uploaded-files li #drop-upload-status{float:right}.disclaimer,.note{margin:0 auto 30px;max-width:400px;text-align:left}#note-content{padding:5px;display:inline-block;width:350px}#note-content .content{overflow:auto;max-height:200px}#show-terms-dialog{cursor:pointer;font-weight:bold}@media only screen and (min-width: 1025px){#body-public .header-right #header-actions-menu>ul>li#download{display:none}}@media only screen and (max-width: 1024px){#body-public .header-right #header-primary-action{display:none}}/*!
+ * SPDX-FileCopyrightText: 2016-2024 Nextcloud GmbH and Nextcloud contributors
+ * SPDX-FileCopyrightText: 2014 ownCloud, Inc.
+ * SPDX-License-Identifier: AGPL-3.0-only
+ */@media only screen and (max-width: 1024px){#header.share-file{position:absolute !important}table th.column-size,table td.filesize,table th.column-mtime,table td.date{display:none}table td.filename .nametext{max-width:75% !important}#imgframe{width:100%;padding:0}#imgframe .publicpreview{margin-top:32px}.files-fileList a.action img{padding:0 6px 0 12px}.files-fileList a.action:not(.menuitem) span{display:none}.nametext{width:60%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}#header .menutoggle{padding-right:14px;background-position:center}.note{padding:0 20px}.emptycontent{margin-top:10vh}}/*# sourceMappingURL=publicView.css.map */
index 91e34b4c92d51305d320422648f37c2d84bd001d..10980f72337e22115149fd1e25131b03809a7a78 100644 (file)
@@ -1 +1 @@
-{"version":3,"sourceRoot":"","sources":["public.scss","mobile.scss"],"names":[],"mappings":"AAMA,SACC,kBAGD,uBACC,aAGD,WACC,aACA,iBAGD,UACC,WACA,oBACA,iBACA,UACA,cAGD,kBACC,YACA,WAGD,cACC,+EACA,0BACA,uBAGD,4BACI,gBAGJ,gBACC,oEAGD,iCACI,iBAGJ,gBACC,cACA,iBACA,kBAGD,uCAEI,iBAGJ,gBACI,mBAGJ,wBACC,qBACA,kBACA,gBACA,qBACA,kBACA,YACA,iBACA,iBAGD,oBACC,gBAGD,wBACC,YACA,WAGD,gBACC,gBAID,uCACC,2BAID,MACC,kBAGD,kBACC,kBACA,QACA,YACA,gBACA,UACA,YACA,eACA,SAID,8BACC,mBACA,gBACA,uBACA,cACA,qBACA,iBACA,kBACA,gBAGD,eACC,WAID,SACC,oBAED,gDAGC,aACA,mBAED,kEAIC,uCAGD,0BACC,cAIA,uBACC,eAIF,gCACC,oBAGD,kCACC,mBAGD,0CACC,YACA,WACA,qBACA,qBACA,wBACA,gBACA,iBACA,UAGD,yDACC,YACA,WACA,qBAGD,qCACC,qBACA,YACA,WACA,qBACA,yBACA,WACA,eACA,oBACA,YACA,kBACA,kBAGD,gCACC,YACA,oBACA,gBAGD,gCACC,gBACA,uBACA,mBACA,cAGD,oCACC,iBACA,kBACA,QAGD,wDACC,kBACA,iBAGD,0CACC,WACA,gBACA,uBACA,mBACA,gBAGD,4CACC,YAGD,kBAEC,mBACA,gBACA,gBAGD,cACC,YACA,qBACA,YACA,uBACC,cACA,iBAIF,mBACC,eACA,iBAKD,2CAII,+DACC,cAQL,2CAGG,kDACC,cC3QJ,2CAGA,mBACC,6BAID,2EAIC,aAID,4BACC,yBAID,UACC,WACA,UAGD,yBACC,gBAID,6BACC,qBAGD,6CACC,aAID,UACC,UACA,mBACA,gBACA,uBAGD,oBACI,mBACA,2BAEJ,MACC,eAGD,cACC","file":"publicView.css"}
\ No newline at end of file
+{"version":3,"sourceRoot":"","sources":["publicView.scss","public.scss","mobile.scss"],"names":[],"mappings":"AAAA;AAAA;AAAA;AAAA,GCWA,SACC,kBAGD,uBACC,aAGD,WACC,aACA,iBAGD,UACC,WACA,oBACA,iBACA,UACA,cAGD,kBACC,YACA,WAGD,cACC,+EACA,0BACA,uBAGD,4BACI,gBAGJ,gBACC,oEAGD,iCACI,iBAGJ,gBACC,cACA,iBACA,kBAGD,uCAEI,iBAGJ,gBACI,mBAGJ,wBACC,qBACA,kBACA,gBACA,qBACA,kBACA,YACA,iBACA,iBAGD,oBACC,gBAGD,wBACC,YACA,WAGD,gBACC,gBAID,uCACC,2BAID,MACC,kBAGD,kBACC,kBACA,QACA,YACA,gBACA,UACA,YACA,eACA,SAID,8BACC,mBACA,gBACA,uBACA,cACA,qBACA,iBACA,kBACA,gBAGD,eACC,WAID,SACC,oBAED,gDAGC,aACA,mBAED,kEAIC,uCAGD,0BACC,cAIA,uBACC,eAIF,gCACC,oBAGD,kCACC,mBAGD,0CACC,YACA,WACA,qBACA,qBACA,wBACA,gBACA,iBACA,UAGD,yDACC,YACA,WACA,qBAGD,qCACC,qBACA,YACA,WACA,qBACA,yBACA,WACA,eACA,oBACA,YACA,kBACA,kBAGD,gCACC,YACA,oBACA,gBAGD,gCACC,gBACA,uBACA,mBACA,cAGD,oCACC,iBACA,kBACA,QAGD,wDACC,kBACA,iBAGD,0CACC,WACA,gBACA,uBACA,mBACA,gBAGD,4CACC,YAGD,kBAEC,mBACA,gBACA,gBAGD,cACC,YACA,qBACA,YACA,uBACC,cACA,iBAIF,mBACC,eACA,iBAKD,2CAII,+DACC,cAQL,2CAGG,kDACC,cClRJ;AAAA;AAAA;AAAA;AAAA,GAOA,2CAGA,mBACC,6BAID,2EAIC,aAID,4BACC,yBAID,UACC,WACA,UAGD,yBACC,gBAID,6BACC,qBAGD,6CACC,aAID,UACC,UACA,mBACA,gBACA,uBAGD,oBACI,mBACA,2BAEJ,MACC,eAGD,cACC","file":"publicView.css"}
\ No newline at end of file
diff --git a/dist/6364-6364.js b/dist/6364-6364.js
deleted file mode 100644 (file)
index 71cd360..0000000
+++ /dev/null
@@ -1,3 +0,0 @@
-/*! For license information please see 6364-6364.js.license?v=557e590be224f11e3d58 */
-(self.webpackChunknextcloud=self.webpackChunknextcloud||[]).push([[6364],{17816:function(t,e,i){var n=i(96763);t.exports=function(){"use strict";function t(){throw new Error("Dynamic requires are not currently supported by rollup-plugin-commonjs")}var e=function(t,e){return t(e={exports:{}},e.exports),e.exports}((function(e,i){var r;r=function(){return function e(i,n,r){function a(o,l){if(!n[o]){if(!i[o]){if(!l&&t)return t();if(s)return s(o,!0);var c=new Error("Cannot find module '"+o+"'");throw c.code="MODULE_NOT_FOUND",c}var h=n[o]={exports:{}};i[o][0].call(h.exports,(function(t){return a(i[o][1][t]||t)}),h,h.exports,e,i,n,r)}return n[o].exports}for(var s=t,o=0;o<r.length;o++)a(r[o]);return a}({1:[function(t,e,i){e.exports=function(){return"function"==typeof Promise&&Promise.prototype&&Promise.prototype.then}},{}],2:[function(t,e,i){var n=t("./utils").getSymbolSize;i.getRowColCoords=function(t){if(1===t)return[];for(var e=Math.floor(t/7)+2,i=n(t),r=145===i?26:2*Math.ceil((i-13)/(2*e-2)),a=[i-7],s=1;s<e-1;s++)a[s]=a[s-1]-r;return a.push(6),a.reverse()},i.getPositions=function(t){for(var e=[],n=i.getRowColCoords(t),r=n.length,a=0;a<r;a++)for(var s=0;s<r;s++)0===a&&0===s||0===a&&s===r-1||a===r-1&&0===s||e.push([n[a],n[s]]);return e}},{"./utils":21}],3:[function(t,e,i){var n=t("./mode"),r=["0","1","2","3","4","5","6","7","8","9","A","B","C","D","E","F","G","H","I","J","K","L","M","N","O","P","Q","R","S","T","U","V","W","X","Y","Z"," ","$","%","*","+","-",".","/",":"];function a(t){this.mode=n.ALPHANUMERIC,this.data=t}a.getBitsLength=function(t){return 11*Math.floor(t/2)+t%2*6},a.prototype.getLength=function(){return this.data.length},a.prototype.getBitsLength=function(){return a.getBitsLength(this.data.length)},a.prototype.write=function(t){var e;for(e=0;e+2<=this.data.length;e+=2){var i=45*r.indexOf(this.data[e]);i+=r.indexOf(this.data[e+1]),t.put(i,11)}this.data.length%2&&t.put(r.indexOf(this.data[e]),6)},e.exports=a},{"./mode":14}],4:[function(t,e,i){function n(){this.buffer=[],this.length=0}n.prototype={get:function(t){var e=Math.floor(t/8);return 1==(this.buffer[e]>>>7-t%8&1)},put:function(t,e){for(var i=0;i<e;i++)this.putBit(1==(t>>>e-i-1&1))},getLengthInBits:function(){return this.length},putBit:function(t){var e=Math.floor(this.length/8);this.buffer.length<=e&&this.buffer.push(0),t&&(this.buffer[e]|=128>>>this.length%8),this.length++}},e.exports=n},{}],5:[function(t,e,i){var n=t("../utils/buffer");function r(t){if(!t||t<1)throw new Error("BitMatrix size must be defined and greater than 0");this.size=t,this.data=n.alloc(t*t),this.reservedBit=n.alloc(t*t)}r.prototype.set=function(t,e,i,n){var r=t*this.size+e;this.data[r]=i,n&&(this.reservedBit[r]=!0)},r.prototype.get=function(t,e){return this.data[t*this.size+e]},r.prototype.xor=function(t,e,i){this.data[t*this.size+e]^=i},r.prototype.isReserved=function(t,e){return this.reservedBit[t*this.size+e]},e.exports=r},{"../utils/buffer":28}],6:[function(t,e,i){var n=t("../utils/buffer"),r=t("./mode");function a(t){this.mode=r.BYTE,this.data=n.from(t)}a.getBitsLength=function(t){return 8*t},a.prototype.getLength=function(){return this.data.length},a.prototype.getBitsLength=function(){return a.getBitsLength(this.data.length)},a.prototype.write=function(t){for(var e=0,i=this.data.length;e<i;e++)t.put(this.data[e],8)},e.exports=a},{"../utils/buffer":28,"./mode":14}],7:[function(t,e,i){var n=t("./error-correction-level"),r=[1,1,1,1,1,1,1,1,1,1,2,2,1,2,2,4,1,2,4,4,2,4,4,4,2,4,6,5,2,4,6,6,2,5,8,8,4,5,8,8,4,5,8,11,4,8,10,11,4,9,12,16,4,9,16,16,6,10,12,18,6,10,17,16,6,11,16,19,6,13,18,21,7,14,21,25,8,16,20,25,8,17,23,25,9,17,23,34,9,18,25,30,10,20,27,32,12,21,29,35,12,23,34,37,12,25,34,40,13,26,35,42,14,28,38,45,15,29,40,48,16,31,43,51,17,33,45,54,18,35,48,57,19,37,51,60,19,38,53,63,20,40,56,66,21,43,59,70,22,45,62,74,24,47,65,77,25,49,68,81],a=[7,10,13,17,10,16,22,28,15,26,36,44,20,36,52,64,26,48,72,88,36,64,96,112,40,72,108,130,48,88,132,156,60,110,160,192,72,130,192,224,80,150,224,264,96,176,260,308,104,198,288,352,120,216,320,384,132,240,360,432,144,280,408,480,168,308,448,532,180,338,504,588,196,364,546,650,224,416,600,700,224,442,644,750,252,476,690,816,270,504,750,900,300,560,810,960,312,588,870,1050,336,644,952,1110,360,700,1020,1200,390,728,1050,1260,420,784,1140,1350,450,812,1200,1440,480,868,1290,1530,510,924,1350,1620,540,980,1440,1710,570,1036,1530,1800,570,1064,1590,1890,600,1120,1680,1980,630,1204,1770,2100,660,1260,1860,2220,720,1316,1950,2310,750,1372,2040,2430];i.getBlocksCount=function(t,e){switch(e){case n.L:return r[4*(t-1)+0];case n.M:return r[4*(t-1)+1];case n.Q:return r[4*(t-1)+2];case n.H:return r[4*(t-1)+3];default:return}},i.getTotalCodewordsCount=function(t,e){switch(e){case n.L:return a[4*(t-1)+0];case n.M:return a[4*(t-1)+1];case n.Q:return a[4*(t-1)+2];case n.H:return a[4*(t-1)+3];default:return}}},{"./error-correction-level":8}],8:[function(t,e,i){i.L={bit:1},i.M={bit:0},i.Q={bit:3},i.H={bit:2},i.isValid=function(t){return t&&void 0!==t.bit&&t.bit>=0&&t.bit<4},i.from=function(t,e){if(i.isValid(t))return t;try{return function(t){if("string"!=typeof t)throw new Error("Param is not a string");switch(t.toLowerCase()){case"l":case"low":return i.L;case"m":case"medium":return i.M;case"q":case"quartile":return i.Q;case"h":case"high":return i.H;default:throw new Error("Unknown EC Level: "+t)}}(t)}catch(t){return e}}},{}],9:[function(t,e,i){var n=t("./utils").getSymbolSize;i.getPositions=function(t){var e=n(t);return[[0,0],[e-7,0],[0,e-7]]}},{"./utils":21}],10:[function(t,e,i){var n=t("./utils"),r=n.getBCHDigit(1335);i.getEncodedBits=function(t,e){for(var i=t.bit<<3|e,a=i<<10;n.getBCHDigit(a)-r>=0;)a^=1335<<n.getBCHDigit(a)-r;return 21522^(i<<10|a)}},{"./utils":21}],11:[function(t,e,i){var n=t("../utils/buffer"),r=n.alloc(512),a=n.alloc(256);!function(){for(var t=1,e=0;e<255;e++)r[e]=t,a[t]=e,256&(t<<=1)&&(t^=285);for(e=255;e<512;e++)r[e]=r[e-255]}(),i.log=function(t){if(t<1)throw new Error("log("+t+")");return a[t]},i.exp=function(t){return r[t]},i.mul=function(t,e){return 0===t||0===e?0:r[a[t]+a[e]]}},{"../utils/buffer":28}],12:[function(t,e,i){var n=t("./mode"),r=t("./utils");function a(t){this.mode=n.KANJI,this.data=t}a.getBitsLength=function(t){return 13*t},a.prototype.getLength=function(){return this.data.length},a.prototype.getBitsLength=function(){return a.getBitsLength(this.data.length)},a.prototype.write=function(t){var e;for(e=0;e<this.data.length;e++){var i=r.toSJIS(this.data[e]);if(i>=33088&&i<=40956)i-=33088;else{if(!(i>=57408&&i<=60351))throw new Error("Invalid SJIS character: "+this.data[e]+"\nMake sure your charset is UTF-8");i-=49472}i=192*(i>>>8&255)+(255&i),t.put(i,13)}},e.exports=a},{"./mode":14,"./utils":21}],13:[function(t,e,i){i.Patterns={PATTERN000:0,PATTERN001:1,PATTERN010:2,PATTERN011:3,PATTERN100:4,PATTERN101:5,PATTERN110:6,PATTERN111:7};var n=3,r=3,a=40,s=10;function o(t,e,n){switch(t){case i.Patterns.PATTERN000:return(e+n)%2==0;case i.Patterns.PATTERN001:return e%2==0;case i.Patterns.PATTERN010:return n%3==0;case i.Patterns.PATTERN011:return(e+n)%3==0;case i.Patterns.PATTERN100:return(Math.floor(e/2)+Math.floor(n/3))%2==0;case i.Patterns.PATTERN101:return e*n%2+e*n%3==0;case i.Patterns.PATTERN110:return(e*n%2+e*n%3)%2==0;case i.Patterns.PATTERN111:return(e*n%3+(e+n)%2)%2==0;default:throw new Error("bad maskPattern:"+t)}}i.isValid=function(t){return null!=t&&""!==t&&!isNaN(t)&&t>=0&&t<=7},i.from=function(t){return i.isValid(t)?parseInt(t,10):void 0},i.getPenaltyN1=function(t){for(var e=t.size,i=0,r=0,a=0,s=null,o=null,l=0;l<e;l++){r=a=0,s=o=null;for(var c=0;c<e;c++){var h=t.get(l,c);h===s?r++:(r>=5&&(i+=n+(r-5)),s=h,r=1),(h=t.get(c,l))===o?a++:(a>=5&&(i+=n+(a-5)),o=h,a=1)}r>=5&&(i+=n+(r-5)),a>=5&&(i+=n+(a-5))}return i},i.getPenaltyN2=function(t){for(var e=t.size,i=0,n=0;n<e-1;n++)for(var a=0;a<e-1;a++){var s=t.get(n,a)+t.get(n,a+1)+t.get(n+1,a)+t.get(n+1,a+1);4!==s&&0!==s||i++}return i*r},i.getPenaltyN3=function(t){for(var e=t.size,i=0,n=0,r=0,s=0;s<e;s++){n=r=0;for(var o=0;o<e;o++)n=n<<1&2047|t.get(s,o),o>=10&&(1488===n||93===n)&&i++,r=r<<1&2047|t.get(o,s),o>=10&&(1488===r||93===r)&&i++}return i*a},i.getPenaltyN4=function(t){for(var e=0,i=t.data.length,n=0;n<i;n++)e+=t.data[n];return Math.abs(Math.ceil(100*e/i/5)-10)*s},i.applyMask=function(t,e){for(var i=e.size,n=0;n<i;n++)for(var r=0;r<i;r++)e.isReserved(r,n)||e.xor(r,n,o(t,r,n))},i.getBestMask=function(t,e){for(var n=Object.keys(i.Patterns).length,r=0,a=1/0,s=0;s<n;s++){e(s),i.applyMask(s,t);var o=i.getPenaltyN1(t)+i.getPenaltyN2(t)+i.getPenaltyN3(t)+i.getPenaltyN4(t);i.applyMask(s,t),o<a&&(a=o,r=s)}return r}},{}],14:[function(t,e,i){var n=t("./version-check"),r=t("./regex");i.NUMERIC={id:"Numeric",bit:1,ccBits:[10,12,14]},i.ALPHANUMERIC={id:"Alphanumeric",bit:2,ccBits:[9,11,13]},i.BYTE={id:"Byte",bit:4,ccBits:[8,16,16]},i.KANJI={id:"Kanji",bit:8,ccBits:[8,10,12]},i.MIXED={bit:-1},i.getCharCountIndicator=function(t,e){if(!t.ccBits)throw new Error("Invalid mode: "+t);if(!n.isValid(e))throw new Error("Invalid version: "+e);return e>=1&&e<10?t.ccBits[0]:e<27?t.ccBits[1]:t.ccBits[2]},i.getBestModeForData=function(t){return r.testNumeric(t)?i.NUMERIC:r.testAlphanumeric(t)?i.ALPHANUMERIC:r.testKanji(t)?i.KANJI:i.BYTE},i.toString=function(t){if(t&&t.id)return t.id;throw new Error("Invalid mode")},i.isValid=function(t){return t&&t.bit&&t.ccBits},i.from=function(t,e){if(i.isValid(t))return t;try{return function(t){if("string"!=typeof t)throw new Error("Param is not a string");switch(t.toLowerCase()){case"numeric":return i.NUMERIC;case"alphanumeric":return i.ALPHANUMERIC;case"kanji":return i.KANJI;case"byte":return i.BYTE;default:throw new Error("Unknown mode: "+t)}}(t)}catch(t){return e}}},{"./regex":19,"./version-check":22}],15:[function(t,e,i){var n=t("./mode");function r(t){this.mode=n.NUMERIC,this.data=t.toString()}r.getBitsLength=function(t){return 10*Math.floor(t/3)+(t%3?t%3*3+1:0)},r.prototype.getLength=function(){return this.data.length},r.prototype.getBitsLength=function(){return r.getBitsLength(this.data.length)},r.prototype.write=function(t){var e,i,n;for(e=0;e+3<=this.data.length;e+=3)i=this.data.substr(e,3),n=parseInt(i,10),t.put(n,10);var r=this.data.length-e;r>0&&(i=this.data.substr(e),n=parseInt(i,10),t.put(n,3*r+1))},e.exports=r},{"./mode":14}],16:[function(t,e,i){var n=t("../utils/buffer"),r=t("./galois-field");i.mul=function(t,e){for(var i=n.alloc(t.length+e.length-1),a=0;a<t.length;a++)for(var s=0;s<e.length;s++)i[a+s]^=r.mul(t[a],e[s]);return i},i.mod=function(t,e){for(var i=n.from(t);i.length-e.length>=0;){for(var a=i[0],s=0;s<e.length;s++)i[s]^=r.mul(e[s],a);for(var o=0;o<i.length&&0===i[o];)o++;i=i.slice(o)}return i},i.generateECPolynomial=function(t){for(var e=n.from([1]),a=0;a<t;a++)e=i.mul(e,[1,r.exp(a)]);return e}},{"../utils/buffer":28,"./galois-field":11}],17:[function(t,e,i){var n=t("../utils/buffer"),r=t("./utils"),a=t("./error-correction-level"),s=t("./bit-buffer"),o=t("./bit-matrix"),l=t("./alignment-pattern"),c=t("./finder-pattern"),h=t("./mask-pattern"),u=t("./error-correction-code"),d=t("./reed-solomon-encoder"),p=t("./version"),f=t("./format-info"),A=t("./mode"),g=t("./segments"),m=t("isarray");function v(t,e,i){var n,r,a=t.size,s=f.getEncodedBits(e,i);for(n=0;n<15;n++)r=1==(s>>n&1),n<6?t.set(n,8,r,!0):n<8?t.set(n+1,8,r,!0):t.set(a-15+n,8,r,!0),n<8?t.set(8,a-n-1,r,!0):n<9?t.set(8,15-n-1+1,r,!0):t.set(8,15-n-1,r,!0);t.set(a-8,8,1,!0)}function _(t,e,i){var a=new s;i.forEach((function(e){a.put(e.mode.bit,4),a.put(e.getLength(),A.getCharCountIndicator(e.mode,t)),e.write(a)}));var o=8*(r.getSymbolTotalCodewords(t)-u.getTotalCodewordsCount(t,e));for(a.getLengthInBits()+4<=o&&a.put(0,4);a.getLengthInBits()%8!=0;)a.putBit(0);for(var l=(o-a.getLengthInBits())/8,c=0;c<l;c++)a.put(c%2?17:236,8);return function(t,e,i){for(var a=r.getSymbolTotalCodewords(e),s=a-u.getTotalCodewordsCount(e,i),o=u.getBlocksCount(e,i),l=o-a%o,c=Math.floor(a/o),h=Math.floor(s/o),p=h+1,f=c-h,A=new d(f),g=0,m=new Array(o),v=new Array(o),_=0,y=n.from(t.buffer),w=0;w<o;w++){var C=w<l?h:p;m[w]=y.slice(g,g+C),v[w]=A.encode(m[w]),g+=C,_=Math.max(_,C)}var E,b,S=n.alloc(a),x=0;for(E=0;E<_;E++)for(b=0;b<o;b++)E<m[b].length&&(S[x++]=m[b][E]);for(E=0;E<f;E++)for(b=0;b<o;b++)S[x++]=v[b][E];return S}(a,t,e)}function y(t,e,i,n){var a;if(m(t))a=g.fromArray(t);else{if("string"!=typeof t)throw new Error("Invalid data");var s=e;if(!s){var u=g.rawSplit(t);s=p.getBestVersionForData(u,i)}a=g.fromString(t,s||40)}var d=p.getBestVersionForData(a,i);if(!d)throw new Error("The amount of data is too big to be stored in a QR Code");if(e){if(e<d)throw new Error("\nThe chosen QR Code version cannot contain this amount of data.\nMinimum version required to store current data is: "+d+".\n")}else e=d;var f=_(e,i,a),A=r.getSymbolSize(e),y=new o(A);return function(t,e){for(var i=t.size,n=c.getPositions(e),r=0;r<n.length;r++)for(var a=n[r][0],s=n[r][1],o=-1;o<=7;o++)if(!(a+o<=-1||i<=a+o))for(var l=-1;l<=7;l++)s+l<=-1||i<=s+l||(o>=0&&o<=6&&(0===l||6===l)||l>=0&&l<=6&&(0===o||6===o)||o>=2&&o<=4&&l>=2&&l<=4?t.set(a+o,s+l,!0,!0):t.set(a+o,s+l,!1,!0))}(y,e),function(t){for(var e=t.size,i=8;i<e-8;i++){var n=i%2==0;t.set(i,6,n,!0),t.set(6,i,n,!0)}}(y),function(t,e){for(var i=l.getPositions(e),n=0;n<i.length;n++)for(var r=i[n][0],a=i[n][1],s=-2;s<=2;s++)for(var o=-2;o<=2;o++)-2===s||2===s||-2===o||2===o||0===s&&0===o?t.set(r+s,a+o,!0,!0):t.set(r+s,a+o,!1,!0)}(y,e),v(y,i,0),e>=7&&function(t,e){for(var i,n,r,a=t.size,s=p.getEncodedBits(e),o=0;o<18;o++)i=Math.floor(o/3),n=o%3+a-8-3,r=1==(s>>o&1),t.set(i,n,r,!0),t.set(n,i,r,!0)}(y,e),function(t,e){for(var i=t.size,n=-1,r=i-1,a=7,s=0,o=i-1;o>0;o-=2)for(6===o&&o--;;){for(var l=0;l<2;l++)if(!t.isReserved(r,o-l)){var c=!1;s<e.length&&(c=1==(e[s]>>>a&1)),t.set(r,o-l,c),-1==--a&&(s++,a=7)}if((r+=n)<0||i<=r){r-=n,n=-n;break}}}(y,f),isNaN(n)&&(n=h.getBestMask(y,v.bind(null,y,i))),h.applyMask(n,y),v(y,i,n),{modules:y,version:e,errorCorrectionLevel:i,maskPattern:n,segments:a}}i.create=function(t,e){if(void 0===t||""===t)throw new Error("No input text");var i,n,s=a.M;return void 0!==e&&(s=a.from(e.errorCorrectionLevel,a.M),i=p.from(e.version),n=h.from(e.maskPattern),e.toSJISFunc&&r.setToSJISFunction(e.toSJISFunc)),y(t,i,s,n)}},{"../utils/buffer":28,"./alignment-pattern":2,"./bit-buffer":4,"./bit-matrix":5,"./error-correction-code":7,"./error-correction-level":8,"./finder-pattern":9,"./format-info":10,"./mask-pattern":13,"./mode":14,"./reed-solomon-encoder":18,"./segments":20,"./utils":21,"./version":23,isarray:33}],18:[function(t,e,i){var n=t("../utils/buffer"),r=t("./polynomial"),a=t("buffer").Buffer;function s(t){this.genPoly=void 0,this.degree=t,this.degree&&this.initialize(this.degree)}s.prototype.initialize=function(t){this.degree=t,this.genPoly=r.generateECPolynomial(this.degree)},s.prototype.encode=function(t){if(!this.genPoly)throw new Error("Encoder not initialized");var e=n.alloc(this.degree),i=a.concat([t,e],t.length+this.degree),s=r.mod(i,this.genPoly),o=this.degree-s.length;if(o>0){var l=n.alloc(this.degree);return s.copy(l,o),l}return s},e.exports=s},{"../utils/buffer":28,"./polynomial":16,buffer:30}],19:[function(t,e,i){var n="[0-9]+",r="(?:[u3000-u303F]|[u3040-u309F]|[u30A0-u30FF]|[uFF00-uFFEF]|[u4E00-u9FAF]|[u2605-u2606]|[u2190-u2195]|u203B|[u2010u2015u2018u2019u2025u2026u201Cu201Du2225u2260]|[u0391-u0451]|[u00A7u00A8u00B1u00B4u00D7u00F7])+",a="(?:(?![A-Z0-9 $%*+\\-./:]|"+(r=r.replace(/u/g,"\\u"))+")(?:.|[\r\n]))+";i.KANJI=new RegExp(r,"g"),i.BYTE_KANJI=new RegExp("[^A-Z0-9 $%*+\\-./:]+","g"),i.BYTE=new RegExp(a,"g"),i.NUMERIC=new RegExp(n,"g"),i.ALPHANUMERIC=new RegExp("[A-Z $%*+\\-./:]+","g");var s=new RegExp("^"+r+"$"),o=new RegExp("^"+n+"$"),l=new RegExp("^[A-Z0-9 $%*+\\-./:]+$");i.testKanji=function(t){return s.test(t)},i.testNumeric=function(t){return o.test(t)},i.testAlphanumeric=function(t){return l.test(t)}},{}],20:[function(t,e,i){var n=t("./mode"),r=t("./numeric-data"),a=t("./alphanumeric-data"),s=t("./byte-data"),o=t("./kanji-data"),l=t("./regex"),c=t("./utils"),h=t("dijkstrajs");function u(t){return unescape(encodeURIComponent(t)).length}function d(t,e,i){for(var n,r=[];null!==(n=t.exec(i));)r.push({data:n[0],index:n.index,mode:e,length:n[0].length});return r}function p(t){var e,i,r=d(l.NUMERIC,n.NUMERIC,t),a=d(l.ALPHANUMERIC,n.ALPHANUMERIC,t);return c.isKanjiModeEnabled()?(e=d(l.BYTE,n.BYTE,t),i=d(l.KANJI,n.KANJI,t)):(e=d(l.BYTE_KANJI,n.BYTE,t),i=[]),r.concat(a,e,i).sort((function(t,e){return t.index-e.index})).map((function(t){return{data:t.data,mode:t.mode,length:t.length}}))}function f(t,e){switch(e){case n.NUMERIC:return r.getBitsLength(t);case n.ALPHANUMERIC:return a.getBitsLength(t);case n.KANJI:return o.getBitsLength(t);case n.BYTE:return s.getBitsLength(t)}}function A(t,e){var i,l=n.getBestModeForData(t);if((i=n.from(e,l))!==n.BYTE&&i.bit<l.bit)throw new Error('"'+t+'" cannot be encoded with mode '+n.toString(i)+".\n Suggested mode is: "+n.toString(l));switch(i!==n.KANJI||c.isKanjiModeEnabled()||(i=n.BYTE),i){case n.NUMERIC:return new r(t);case n.ALPHANUMERIC:return new a(t);case n.KANJI:return new o(t);case n.BYTE:return new s(t)}}i.fromArray=function(t){return t.reduce((function(t,e){return"string"==typeof e?t.push(A(e,null)):e.data&&t.push(A(e.data,e.mode)),t}),[])},i.fromString=function(t,e){for(var r=function(t,e){for(var i={},r={start:{}},a=["start"],s=0;s<t.length;s++){for(var o=t[s],l=[],c=0;c<o.length;c++){var h=o[c],u=""+s+c;l.push(u),i[u]={node:h,lastCount:0},r[u]={};for(var d=0;d<a.length;d++){var p=a[d];i[p]&&i[p].node.mode===h.mode?(r[p][u]=f(i[p].lastCount+h.length,h.mode)-f(i[p].lastCount,h.mode),i[p].lastCount+=h.length):(i[p]&&(i[p].lastCount=h.length),r[p][u]=f(h.length,h.mode)+4+n.getCharCountIndicator(h.mode,e))}}a=l}for(d=0;d<a.length;d++)r[a[d]].end=0;return{map:r,table:i}}(function(t){for(var e=[],i=0;i<t.length;i++){var r=t[i];switch(r.mode){case n.NUMERIC:e.push([r,{data:r.data,mode:n.ALPHANUMERIC,length:r.length},{data:r.data,mode:n.BYTE,length:r.length}]);break;case n.ALPHANUMERIC:e.push([r,{data:r.data,mode:n.BYTE,length:r.length}]);break;case n.KANJI:e.push([r,{data:r.data,mode:n.BYTE,length:u(r.data)}]);break;case n.BYTE:e.push([{data:r.data,mode:n.BYTE,length:u(r.data)}])}}return e}(p(t,c.isKanjiModeEnabled())),e),a=h.find_path(r.map,"start","end"),s=[],o=1;o<a.length-1;o++)s.push(r.table[a[o]].node);return i.fromArray(s.reduce((function(t,e){var i=t.length-1>=0?t[t.length-1]:null;return i&&i.mode===e.mode?(t[t.length-1].data+=e.data,t):(t.push(e),t)}),[]))},i.rawSplit=function(t){return i.fromArray(p(t,c.isKanjiModeEnabled()))}},{"./alphanumeric-data":3,"./byte-data":6,"./kanji-data":12,"./mode":14,"./numeric-data":15,"./regex":19,"./utils":21,dijkstrajs:31}],21:[function(t,e,i){var n,r=[0,26,44,70,100,134,172,196,242,292,346,404,466,532,581,655,733,815,901,991,1085,1156,1258,1364,1474,1588,1706,1828,1921,2051,2185,2323,2465,2611,2761,2876,3034,3196,3362,3532,3706];i.getSymbolSize=function(t){if(!t)throw new Error('"version" cannot be null or undefined');if(t<1||t>40)throw new Error('"version" should be in range from 1 to 40');return 4*t+17},i.getSymbolTotalCodewords=function(t){return r[t]},i.getBCHDigit=function(t){for(var e=0;0!==t;)e++,t>>>=1;return e},i.setToSJISFunction=function(t){if("function"!=typeof t)throw new Error('"toSJISFunc" is not a valid function.');n=t},i.isKanjiModeEnabled=function(){return void 0!==n},i.toSJIS=function(t){return n(t)}},{}],22:[function(t,e,i){i.isValid=function(t){return!isNaN(t)&&t>=1&&t<=40}},{}],23:[function(t,e,i){var n=t("./utils"),r=t("./error-correction-code"),a=t("./error-correction-level"),s=t("./mode"),o=t("./version-check"),l=t("isarray"),c=n.getBCHDigit(7973);function h(t,e){return s.getCharCountIndicator(t,e)+4}function u(t,e){var i=0;return t.forEach((function(t){var n=h(t.mode,e);i+=n+t.getBitsLength()})),i}i.from=function(t,e){return o.isValid(t)?parseInt(t,10):e},i.getCapacity=function(t,e,i){if(!o.isValid(t))throw new Error("Invalid QR Code version");void 0===i&&(i=s.BYTE);var a=8*(n.getSymbolTotalCodewords(t)-r.getTotalCodewordsCount(t,e));if(i===s.MIXED)return a;var l=a-h(i,t);switch(i){case s.NUMERIC:return Math.floor(l/10*3);case s.ALPHANUMERIC:return Math.floor(l/11*2);case s.KANJI:return Math.floor(l/13);case s.BYTE:default:return Math.floor(l/8)}},i.getBestVersionForData=function(t,e){var n,r=a.from(e,a.M);if(l(t)){if(t.length>1)return function(t,e){for(var n=1;n<=40;n++)if(u(t,n)<=i.getCapacity(n,e,s.MIXED))return n}(t,r);if(0===t.length)return 1;n=t[0]}else n=t;return function(t,e,n){for(var r=1;r<=40;r++)if(e<=i.getCapacity(r,n,t))return r}(n.mode,n.getLength(),r)},i.getEncodedBits=function(t){if(!o.isValid(t)||t<7)throw new Error("Invalid QR Code version");for(var e=t<<12;n.getBCHDigit(e)-c>=0;)e^=7973<<n.getBCHDigit(e)-c;return t<<12|e}},{"./error-correction-code":7,"./error-correction-level":8,"./mode":14,"./utils":21,"./version-check":22,isarray:33}],24:[function(t,e,i){var n=t("./can-promise"),r=t("./core/qrcode"),a=t("./renderer/canvas"),s=t("./renderer/svg-tag.js");function o(t,e,i,a,s){var o=[].slice.call(arguments,1),l=o.length,c="function"==typeof o[l-1];if(!c&&!n())throw new Error("Callback required as last argument");if(!c){if(l<1)throw new Error("Too few arguments provided");return 1===l?(i=e,e=a=void 0):2!==l||e.getContext||(a=i,i=e,e=void 0),new Promise((function(n,s){try{var o=r.create(i,a);n(t(o,e,a))}catch(t){s(t)}}))}if(l<2)throw new Error("Too few arguments provided");2===l?(s=i,i=e,e=a=void 0):3===l&&(e.getContext&&void 0===s?(s=a,a=void 0):(s=a,a=i,i=e,e=void 0));try{var h=r.create(i,a);s(null,t(h,e,a))}catch(t){s(t)}}i.create=r.create,i.toCanvas=o.bind(null,a.render),i.toDataURL=o.bind(null,a.renderToDataURL),i.toString=o.bind(null,(function(t,e,i){return s.render(t,i)}))},{"./can-promise":1,"./core/qrcode":17,"./renderer/canvas":25,"./renderer/svg-tag.js":26}],25:[function(t,e,i){var n=t("./utils");i.render=function(t,e,i){var r=i,a=e;void 0!==r||e&&e.getContext||(r=e,e=void 0),e||(a=function(){try{return document.createElement("canvas")}catch(t){throw new Error("You need to specify a canvas element")}}()),r=n.getOptions(r);var s=n.getImageWidth(t.modules.size,r),o=a.getContext("2d"),l=o.createImageData(s,s);return n.qrToImageData(l.data,t,r),function(t,e,i){t.clearRect(0,0,e.width,e.height),e.style||(e.style={}),e.height=i,e.width=i,e.style.height=i+"px",e.style.width=i+"px"}(o,a,s),o.putImageData(l,0,0),a},i.renderToDataURL=function(t,e,n){var r=n;void 0!==r||e&&e.getContext||(r=e,e=void 0),r||(r={});var a=i.render(t,e,r),s=r.type||"image/png",o=r.rendererOpts||{};return a.toDataURL(s,o.quality)}},{"./utils":27}],26:[function(t,e,i){var n=t("./utils");function r(t,e){var i=t.a/255,n=e+'="'+t.hex+'"';return i<1?n+" "+e+'-opacity="'+i.toFixed(2).slice(1)+'"':n}function a(t,e,i){var n=t+e;return void 0!==i&&(n+=" "+i),n}i.render=function(t,e,i){var s=n.getOptions(e),o=t.modules.size,l=t.modules.data,c=o+2*s.margin,h=s.color.light.a?"<path "+r(s.color.light,"fill")+' d="M0 0h'+c+"v"+c+'H0z"/>':"",u="<path "+r(s.color.dark,"stroke")+' d="'+function(t,e,i){for(var n="",r=0,s=!1,o=0,l=0;l<t.length;l++){var c=Math.floor(l%e),h=Math.floor(l/e);c||s||(s=!0),t[l]?(o++,l>0&&c>0&&t[l-1]||(n+=s?a("M",c+i,.5+h+i):a("m",r,0),r=0,s=!1),c+1<e&&t[l+1]||(n+=a("h",o),o=0)):r++}return n}(l,o,s.margin)+'"/>',d='viewBox="0 0 '+c+" "+c+'"',p='<svg xmlns="http://www.w3.org/2000/svg" '+(s.width?'width="'+s.width+'" height="'+s.width+'" ':"")+d+' shape-rendering="crispEdges">'+h+u+"</svg>\n";return"function"==typeof i&&i(null,p),p}},{"./utils":27}],27:[function(t,e,i){function n(t){if("number"==typeof t&&(t=t.toString()),"string"!=typeof t)throw new Error("Color should be defined as hex string");var e=t.slice().replace("#","").split("");if(e.length<3||5===e.length||e.length>8)throw new Error("Invalid hex color: "+t);3!==e.length&&4!==e.length||(e=Array.prototype.concat.apply([],e.map((function(t){return[t,t]})))),6===e.length&&e.push("F","F");var i=parseInt(e.join(""),16);return{r:i>>24&255,g:i>>16&255,b:i>>8&255,a:255&i,hex:"#"+e.slice(0,6).join("")}}i.getOptions=function(t){t||(t={}),t.color||(t.color={});var e=void 0===t.margin||null===t.margin||t.margin<0?4:t.margin,i=t.width&&t.width>=21?t.width:void 0,r=t.scale||4;return{width:i,scale:i?4:r,margin:e,color:{dark:n(t.color.dark||"#000000ff"),light:n(t.color.light||"#ffffffff")},type:t.type,rendererOpts:t.rendererOpts||{}}},i.getScale=function(t,e){return e.width&&e.width>=t+2*e.margin?e.width/(t+2*e.margin):e.scale},i.getImageWidth=function(t,e){var n=i.getScale(t,e);return Math.floor((t+2*e.margin)*n)},i.qrToImageData=function(t,e,n){for(var r=e.modules.size,a=e.modules.data,s=i.getScale(r,n),o=Math.floor((r+2*n.margin)*s),l=n.margin*s,c=[n.color.light,n.color.dark],h=0;h<o;h++)for(var u=0;u<o;u++){var d=4*(h*o+u),p=n.color.light;h>=l&&u>=l&&h<o-l&&u<o-l&&(p=c[a[Math.floor((h-l)/s)*r+Math.floor((u-l)/s)]?1:0]),t[d++]=p.r,t[d++]=p.g,t[d++]=p.b,t[d]=p.a}}},{}],28:[function(t,e,i){var n=t("isarray");a.TYPED_ARRAY_SUPPORT=function(){try{var t=new Uint8Array(1);return t.__proto__={__proto__:Uint8Array.prototype,foo:function(){return 42}},42===t.foo()}catch(t){return!1}}();var r=a.TYPED_ARRAY_SUPPORT?2147483647:1073741823;function a(t,e,i){return a.TYPED_ARRAY_SUPPORT||this instanceof a?"number"==typeof t?l(this,t):function(t,e,i,n){if("number"==typeof e)throw new TypeError('"value" argument must not be a number');return"undefined"!=typeof ArrayBuffer&&e instanceof ArrayBuffer?function(t,e,i,n){if(i<0||e.byteLength<i)throw new RangeError("'offset' is out of bounds");if(e.byteLength<i+(n||0))throw new RangeError("'length' is out of bounds");var r;return r=void 0===i&&void 0===n?new Uint8Array(e):void 0===n?new Uint8Array(e,i):new Uint8Array(e,i,n),a.TYPED_ARRAY_SUPPORT?r.__proto__=a.prototype:r=c(t,r),r}(t,e,i,n):"string"==typeof e?function(t,e){var i=0|u(e),n=o(t,i),r=n.write(e);return r!==i&&(n=n.slice(0,r)),n}(t,e):function(t,e){if(a.isBuffer(e)){var i=0|s(e.length),n=o(t,i);return 0===n.length||e.copy(n,0,0,i),n}if(e){if("undefined"!=typeof ArrayBuffer&&e.buffer instanceof ArrayBuffer||"length"in e)return"number"!=typeof e.length||(r=e.length)!=r?o(t,0):c(t,e);if("Buffer"===e.type&&Array.isArray(e.data))return c(t,e.data)}var r;throw new TypeError("First argument must be a string, Buffer, ArrayBuffer, Array, or array-like object.")}(t,e)}(this,t,e,i):new a(t,e,i)}function s(t){if(t>=r)throw new RangeError("Attempt to allocate Buffer larger than maximum size: 0x"+r.toString(16)+" bytes");return 0|t}function o(t,e){var i;return a.TYPED_ARRAY_SUPPORT?(i=new Uint8Array(e)).__proto__=a.prototype:(null===(i=t)&&(i=new a(e)),i.length=e),i}function l(t,e){var i=o(t,e<0?0:0|s(e));if(!a.TYPED_ARRAY_SUPPORT)for(var n=0;n<e;++n)i[n]=0;return i}function c(t,e){for(var i=e.length<0?0:0|s(e.length),n=o(t,i),r=0;r<i;r+=1)n[r]=255&e[r];return n}function h(t,e){var i;e=e||1/0;for(var n=t.length,r=null,a=[],s=0;s<n;++s){if((i=t.charCodeAt(s))>55295&&i<57344){if(!r){if(i>56319){(e-=3)>-1&&a.push(239,191,189);continue}if(s+1===n){(e-=3)>-1&&a.push(239,191,189);continue}r=i;continue}if(i<56320){(e-=3)>-1&&a.push(239,191,189),r=i;continue}i=65536+(r-55296<<10|i-56320)}else r&&(e-=3)>-1&&a.push(239,191,189);if(r=null,i<128){if((e-=1)<0)break;a.push(i)}else if(i<2048){if((e-=2)<0)break;a.push(i>>6|192,63&i|128)}else if(i<65536){if((e-=3)<0)break;a.push(i>>12|224,i>>6&63|128,63&i|128)}else{if(!(i<1114112))throw new Error("Invalid code point");if((e-=4)<0)break;a.push(i>>18|240,i>>12&63|128,i>>6&63|128,63&i|128)}}return a}function u(t){return a.isBuffer(t)?t.length:"undefined"!=typeof ArrayBuffer&&"function"==typeof ArrayBuffer.isView&&(ArrayBuffer.isView(t)||t instanceof ArrayBuffer)?t.byteLength:("string"!=typeof t&&(t=""+t),0===t.length?0:h(t).length)}a.TYPED_ARRAY_SUPPORT&&(a.prototype.__proto__=Uint8Array.prototype,a.__proto__=Uint8Array,"undefined"!=typeof Symbol&&Symbol.species&&a[Symbol.species]===a&&Object.defineProperty(a,Symbol.species,{value:null,configurable:!0,enumerable:!1,writable:!1})),a.prototype.write=function(t,e,i){void 0===e||void 0===i&&"string"==typeof e?(i=this.length,e=0):isFinite(e)&&(e|=0,isFinite(i)?i|=0:i=void 0);var n=this.length-e;if((void 0===i||i>n)&&(i=n),t.length>0&&(i<0||e<0)||e>this.length)throw new RangeError("Attempt to write outside buffer bounds");return function(t,e,i,n){return function(t,e,i,n){for(var r=0;r<n&&!(r+i>=e.length||r>=t.length);++r)e[r+i]=t[r];return r}(h(e,t.length-i),t,i,n)}(this,t,e,i)},a.prototype.slice=function(t,e){var i,n=this.length;if((t=~~t)<0?(t+=n)<0&&(t=0):t>n&&(t=n),(e=void 0===e?n:~~e)<0?(e+=n)<0&&(e=0):e>n&&(e=n),e<t&&(e=t),a.TYPED_ARRAY_SUPPORT)(i=this.subarray(t,e)).__proto__=a.prototype;else{var r=e-t;i=new a(r,void 0);for(var s=0;s<r;++s)i[s]=this[s+t]}return i},a.prototype.copy=function(t,e,i,n){if(i||(i=0),n||0===n||(n=this.length),e>=t.length&&(e=t.length),e||(e=0),n>0&&n<i&&(n=i),n===i)return 0;if(0===t.length||0===this.length)return 0;if(e<0)throw new RangeError("targetStart out of bounds");if(i<0||i>=this.length)throw new RangeError("sourceStart out of bounds");if(n<0)throw new RangeError("sourceEnd out of bounds");n>this.length&&(n=this.length),t.length-e<n-i&&(n=t.length-e+i);var r,s=n-i;if(this===t&&i<e&&e<n)for(r=s-1;r>=0;--r)t[r+e]=this[r+i];else if(s<1e3||!a.TYPED_ARRAY_SUPPORT)for(r=0;r<s;++r)t[r+e]=this[r+i];else Uint8Array.prototype.set.call(t,this.subarray(i,i+s),e);return s},a.prototype.fill=function(t,e,i){if("string"==typeof t){if("string"==typeof e?(e=0,i=this.length):"string"==typeof i&&(i=this.length),1===t.length){var n=t.charCodeAt(0);n<256&&(t=n)}}else"number"==typeof t&&(t&=255);if(e<0||this.length<e||this.length<i)throw new RangeError("Out of range index");if(i<=e)return this;var r;if(e>>>=0,i=void 0===i?this.length:i>>>0,t||(t=0),"number"==typeof t)for(r=e;r<i;++r)this[r]=t;else{var s=a.isBuffer(t)?t:new a(t),o=s.length;for(r=0;r<i-e;++r)this[r+e]=s[r%o]}return this},a.concat=function(t,e){if(!n(t))throw new TypeError('"list" argument must be an Array of Buffers');if(0===t.length)return o(null,0);var i;if(void 0===e)for(e=0,i=0;i<t.length;++i)e+=t[i].length;var r=l(null,e),s=0;for(i=0;i<t.length;++i){var c=t[i];if(!a.isBuffer(c))throw new TypeError('"list" argument must be an Array of Buffers');c.copy(r,s),s+=c.length}return r},a.byteLength=u,a.prototype._isBuffer=!0,a.isBuffer=function(t){return!(null==t||!t._isBuffer)},e.exports.alloc=function(t){var e=new a(t);return e.fill(0),e},e.exports.from=function(t){return new a(t)}},{isarray:33}],29:[function(t,e,i){i.byteLength=function(t){var e=l(t),i=e[0],n=e[1];return 3*(i+n)/4-n},i.toByteArray=function(t){var e,i,n=l(t),s=n[0],o=n[1],c=new a(function(t,e,i){return 3*(e+i)/4-i}(0,s,o)),h=0,u=o>0?s-4:s;for(i=0;i<u;i+=4)e=r[t.charCodeAt(i)]<<18|r[t.charCodeAt(i+1)]<<12|r[t.charCodeAt(i+2)]<<6|r[t.charCodeAt(i+3)],c[h++]=e>>16&255,c[h++]=e>>8&255,c[h++]=255&e;return 2===o&&(e=r[t.charCodeAt(i)]<<2|r[t.charCodeAt(i+1)]>>4,c[h++]=255&e),1===o&&(e=r[t.charCodeAt(i)]<<10|r[t.charCodeAt(i+1)]<<4|r[t.charCodeAt(i+2)]>>2,c[h++]=e>>8&255,c[h++]=255&e),c},i.fromByteArray=function(t){for(var e,i=t.length,r=i%3,a=[],s=16383,o=0,l=i-r;o<l;o+=s)a.push(c(t,o,o+s>l?l:o+s));return 1===r?(e=t[i-1],a.push(n[e>>2]+n[e<<4&63]+"==")):2===r&&(e=(t[i-2]<<8)+t[i-1],a.push(n[e>>10]+n[e>>4&63]+n[e<<2&63]+"=")),a.join("")};for(var n=[],r=[],a="undefined"!=typeof Uint8Array?Uint8Array:Array,s="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",o=0;o<64;++o)n[o]=s[o],r[s.charCodeAt(o)]=o;function l(t){var e=t.length;if(e%4>0)throw new Error("Invalid string. Length must be a multiple of 4");var i=t.indexOf("=");return-1===i&&(i=e),[i,i===e?0:4-i%4]}function c(t,e,i){for(var r,a=[],s=e;s<i;s+=3)r=(t[s]<<16&16711680)+(t[s+1]<<8&65280)+(255&t[s+2]),a.push(n[(o=r)>>18&63]+n[o>>12&63]+n[o>>6&63]+n[63&o]);var o;return a.join("")}r["-".charCodeAt(0)]=62,r["_".charCodeAt(0)]=63},{}],30:[function(t,e,i){var r=t("base64-js"),a=t("ieee754"),s="function"==typeof Symbol&&"function"==typeof Symbol.for?Symbol.for("nodejs.util.inspect.custom"):null;i.Buffer=c,i.SlowBuffer=function(t){return+t!=t&&(t=0),c.alloc(+t)},i.INSPECT_MAX_BYTES=50;var o=2147483647;function l(t){if(t>o)throw new RangeError('The value "'+t+'" is invalid for option "size"');var e=new Uint8Array(t);return Object.setPrototypeOf(e,c.prototype),e}function c(t,e,i){if("number"==typeof t){if("string"==typeof e)throw new TypeError('The "string" argument must be of type string. Received type number');return d(t)}return h(t,e,i)}function h(t,e,i){if("string"==typeof t)return function(t,e){if("string"==typeof e&&""!==e||(e="utf8"),!c.isEncoding(e))throw new TypeError("Unknown encoding: "+e);var i=0|A(t,e),n=l(i),r=n.write(t,e);return r!==i&&(n=n.slice(0,r)),n}(t,e);if(ArrayBuffer.isView(t))return p(t);if(null==t)throw new TypeError("The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type "+typeof t);if(F(t,ArrayBuffer)||t&&F(t.buffer,ArrayBuffer))return function(t,e,i){if(e<0||t.byteLength<e)throw new RangeError('"offset" is outside of buffer bounds');if(t.byteLength<e+(i||0))throw new RangeError('"length" is outside of buffer bounds');var n;return n=void 0===e&&void 0===i?new Uint8Array(t):void 0===i?new Uint8Array(t,e):new Uint8Array(t,e,i),Object.setPrototypeOf(n,c.prototype),n}(t,e,i);if("number"==typeof t)throw new TypeError('The "value" argument must not be of type number. Received type number');var n=t.valueOf&&t.valueOf();if(null!=n&&n!==t)return c.from(n,e,i);var r=function(t){if(c.isBuffer(t)){var e=0|f(t.length),i=l(e);return 0===i.length||t.copy(i,0,0,e),i}return void 0!==t.length?"number"!=typeof t.length||z(t.length)?l(0):p(t):"Buffer"===t.type&&Array.isArray(t.data)?p(t.data):void 0}(t);if(r)return r;if("undefined"!=typeof Symbol&&null!=Symbol.toPrimitive&&"function"==typeof t[Symbol.toPrimitive])return c.from(t[Symbol.toPrimitive]("string"),e,i);throw new TypeError("The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type "+typeof t)}function u(t){if("number"!=typeof t)throw new TypeError('"size" argument must be of type number');if(t<0)throw new RangeError('The value "'+t+'" is invalid for option "size"')}function d(t){return u(t),l(t<0?0:0|f(t))}function p(t){for(var e=t.length<0?0:0|f(t.length),i=l(e),n=0;n<e;n+=1)i[n]=255&t[n];return i}function f(t){if(t>=o)throw new RangeError("Attempt to allocate Buffer larger than maximum size: 0x"+o.toString(16)+" bytes");return 0|t}function A(t,e){if(c.isBuffer(t))return t.length;if(ArrayBuffer.isView(t)||F(t,ArrayBuffer))return t.byteLength;if("string"!=typeof t)throw new TypeError('The "string" argument must be one of type string, Buffer, or ArrayBuffer. Received type '+typeof t);var i=t.length,n=arguments.length>2&&!0===arguments[2];if(!n&&0===i)return 0;for(var r=!1;;)switch(e){case"ascii":case"latin1":case"binary":return i;case"utf8":case"utf-8":return M(t).length;case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return 2*i;case"hex":return i>>>1;case"base64":return U(t).length;default:if(r)return n?-1:M(t).length;e=(""+e).toLowerCase(),r=!0}}function g(t,e,i){var n=!1;if((void 0===e||e<0)&&(e=0),e>this.length)return"";if((void 0===i||i>this.length)&&(i=this.length),i<=0)return"";if((i>>>=0)<=(e>>>=0))return"";for(t||(t="utf8");;)switch(t){case"hex":return D(this,e,i);case"utf8":case"utf-8":return T(this,e,i);case"ascii":return k(this,e,i);case"latin1":case"binary":return R(this,e,i);case"base64":return x(this,e,i);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return I(this,e,i);default:if(n)throw new TypeError("Unknown encoding: "+t);t=(t+"").toLowerCase(),n=!0}}function m(t,e,i){var n=t[e];t[e]=t[i],t[i]=n}function v(t,e,i,n,r){if(0===t.length)return-1;if("string"==typeof i?(n=i,i=0):i>2147483647?i=2147483647:i<-2147483648&&(i=-2147483648),z(i=+i)&&(i=r?0:t.length-1),i<0&&(i=t.length+i),i>=t.length){if(r)return-1;i=t.length-1}else if(i<0){if(!r)return-1;i=0}if("string"==typeof e&&(e=c.from(e,n)),c.isBuffer(e))return 0===e.length?-1:_(t,e,i,n,r);if("number"==typeof e)return e&=255,"function"==typeof Uint8Array.prototype.indexOf?r?Uint8Array.prototype.indexOf.call(t,e,i):Uint8Array.prototype.lastIndexOf.call(t,e,i):_(t,[e],i,n,r);throw new TypeError("val must be string, number or Buffer")}function _(t,e,i,n,r){var a,s=1,o=t.length,l=e.length;if(void 0!==n&&("ucs2"===(n=String(n).toLowerCase())||"ucs-2"===n||"utf16le"===n||"utf-16le"===n)){if(t.length<2||e.length<2)return-1;s=2,o/=2,l/=2,i/=2}function c(t,e){return 1===s?t[e]:t.readUInt16BE(e*s)}if(r){var h=-1;for(a=i;a<o;a++)if(c(t,a)===c(e,-1===h?0:a-h)){if(-1===h&&(h=a),a-h+1===l)return h*s}else-1!==h&&(a-=a-h),h=-1}else for(i+l>o&&(i=o-l),a=i;a>=0;a--){for(var u=!0,d=0;d<l;d++)if(c(t,a+d)!==c(e,d)){u=!1;break}if(u)return a}return-1}function y(t,e,i,n){i=Number(i)||0;var r=t.length-i;n?(n=Number(n))>r&&(n=r):n=r;var a=e.length;n>a/2&&(n=a/2);for(var s=0;s<n;++s){var o=parseInt(e.substr(2*s,2),16);if(z(o))return s;t[i+s]=o}return s}function w(t,e,i,n){return V(M(e,t.length-i),t,i,n)}function C(t,e,i,n){return V(function(t){for(var e=[],i=0;i<t.length;++i)e.push(255&t.charCodeAt(i));return e}(e),t,i,n)}function E(t,e,i,n){return C(t,e,i,n)}function b(t,e,i,n){return V(U(e),t,i,n)}function S(t,e,i,n){return V(function(t,e){for(var i,n,r,a=[],s=0;s<t.length&&!((e-=2)<0);++s)n=(i=t.charCodeAt(s))>>8,r=i%256,a.push(r),a.push(n);return a}(e,t.length-i),t,i,n)}function x(t,e,i){return 0===e&&i===t.length?r.fromByteArray(t):r.fromByteArray(t.slice(e,i))}function T(t,e,i){i=Math.min(t.length,i);for(var n=[],r=e;r<i;){var a,s,o,l,c=t[r],h=null,u=c>239?4:c>223?3:c>191?2:1;if(r+u<=i)switch(u){case 1:c<128&&(h=c);break;case 2:128==(192&(a=t[r+1]))&&(l=(31&c)<<6|63&a)>127&&(h=l);break;case 3:a=t[r+1],s=t[r+2],128==(192&a)&&128==(192&s)&&(l=(15&c)<<12|(63&a)<<6|63&s)>2047&&(l<55296||l>57343)&&(h=l);break;case 4:a=t[r+1],s=t[r+2],o=t[r+3],128==(192&a)&&128==(192&s)&&128==(192&o)&&(l=(15&c)<<18|(63&a)<<12|(63&s)<<6|63&o)>65535&&l<1114112&&(h=l)}null===h?(h=65533,u=1):h>65535&&(h-=65536,n.push(h>>>10&1023|55296),h=56320|1023&h),n.push(h),r+=u}return function(t){var e=t.length;if(e<=P)return String.fromCharCode.apply(String,t);for(var i="",n=0;n<e;)i+=String.fromCharCode.apply(String,t.slice(n,n+=P));return i}(n)}i.kMaxLength=o,c.TYPED_ARRAY_SUPPORT=function(){try{var t=new Uint8Array(1),e={foo:function(){return 42}};return Object.setPrototypeOf(e,Uint8Array.prototype),Object.setPrototypeOf(t,e),42===t.foo()}catch(t){return!1}}(),c.TYPED_ARRAY_SUPPORT||void 0===n||"function"!=typeof n.error||n.error("This browser lacks typed array (Uint8Array) support which is required by `buffer` v5.x. Use `buffer` v4.x if you require old browser support."),Object.defineProperty(c.prototype,"parent",{enumerable:!0,get:function(){if(c.isBuffer(this))return this.buffer}}),Object.defineProperty(c.prototype,"offset",{enumerable:!0,get:function(){if(c.isBuffer(this))return this.byteOffset}}),"undefined"!=typeof Symbol&&null!=Symbol.species&&c[Symbol.species]===c&&Object.defineProperty(c,Symbol.species,{value:null,configurable:!0,enumerable:!1,writable:!1}),c.poolSize=8192,c.from=function(t,e,i){return h(t,e,i)},Object.setPrototypeOf(c.prototype,Uint8Array.prototype),Object.setPrototypeOf(c,Uint8Array),c.alloc=function(t,e,i){return function(t,e,i){return u(t),t<=0?l(t):void 0!==e?"string"==typeof i?l(t).fill(e,i):l(t).fill(e):l(t)}(t,e,i)},c.allocUnsafe=function(t){return d(t)},c.allocUnsafeSlow=function(t){return d(t)},c.isBuffer=function(t){return null!=t&&!0===t._isBuffer&&t!==c.prototype},c.compare=function(t,e){if(F(t,Uint8Array)&&(t=c.from(t,t.offset,t.byteLength)),F(e,Uint8Array)&&(e=c.from(e,e.offset,e.byteLength)),!c.isBuffer(t)||!c.isBuffer(e))throw new TypeError('The "buf1", "buf2" arguments must be one of type Buffer or Uint8Array');if(t===e)return 0;for(var i=t.length,n=e.length,r=0,a=Math.min(i,n);r<a;++r)if(t[r]!==e[r]){i=t[r],n=e[r];break}return i<n?-1:n<i?1:0},c.isEncoding=function(t){switch(String(t).toLowerCase()){case"hex":case"utf8":case"utf-8":case"ascii":case"latin1":case"binary":case"base64":case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return!0;default:return!1}},c.concat=function(t,e){if(!Array.isArray(t))throw new TypeError('"list" argument must be an Array of Buffers');if(0===t.length)return c.alloc(0);var i;if(void 0===e)for(e=0,i=0;i<t.length;++i)e+=t[i].length;var n=c.allocUnsafe(e),r=0;for(i=0;i<t.length;++i){var a=t[i];if(F(a,Uint8Array)&&(a=c.from(a)),!c.isBuffer(a))throw new TypeError('"list" argument must be an Array of Buffers');a.copy(n,r),r+=a.length}return n},c.byteLength=A,c.prototype._isBuffer=!0,c.prototype.swap16=function(){var t=this.length;if(t%2!=0)throw new RangeError("Buffer size must be a multiple of 16-bits");for(var e=0;e<t;e+=2)m(this,e,e+1);return this},c.prototype.swap32=function(){var t=this.length;if(t%4!=0)throw new RangeError("Buffer size must be a multiple of 32-bits");for(var e=0;e<t;e+=4)m(this,e,e+3),m(this,e+1,e+2);return this},c.prototype.swap64=function(){var t=this.length;if(t%8!=0)throw new RangeError("Buffer size must be a multiple of 64-bits");for(var e=0;e<t;e+=8)m(this,e,e+7),m(this,e+1,e+6),m(this,e+2,e+5),m(this,e+3,e+4);return this},c.prototype.toString=function(){var t=this.length;return 0===t?"":0===arguments.length?T(this,0,t):g.apply(this,arguments)},c.prototype.toLocaleString=c.prototype.toString,c.prototype.equals=function(t){if(!c.isBuffer(t))throw new TypeError("Argument must be a Buffer");return this===t||0===c.compare(this,t)},c.prototype.inspect=function(){var t="",e=i.INSPECT_MAX_BYTES;return t=this.toString("hex",0,e).replace(/(.{2})/g,"$1 ").trim(),this.length>e&&(t+=" ... "),"<Buffer "+t+">"},s&&(c.prototype[s]=c.prototype.inspect),c.prototype.compare=function(t,e,i,n,r){if(F(t,Uint8Array)&&(t=c.from(t,t.offset,t.byteLength)),!c.isBuffer(t))throw new TypeError('The "target" argument must be one of type Buffer or Uint8Array. Received type '+typeof t);if(void 0===e&&(e=0),void 0===i&&(i=t?t.length:0),void 0===n&&(n=0),void 0===r&&(r=this.length),e<0||i>t.length||n<0||r>this.length)throw new RangeError("out of range index");if(n>=r&&e>=i)return 0;if(n>=r)return-1;if(e>=i)return 1;if(this===t)return 0;for(var a=(r>>>=0)-(n>>>=0),s=(i>>>=0)-(e>>>=0),o=Math.min(a,s),l=this.slice(n,r),h=t.slice(e,i),u=0;u<o;++u)if(l[u]!==h[u]){a=l[u],s=h[u];break}return a<s?-1:s<a?1:0},c.prototype.includes=function(t,e,i){return-1!==this.indexOf(t,e,i)},c.prototype.indexOf=function(t,e,i){return v(this,t,e,i,!0)},c.prototype.lastIndexOf=function(t,e,i){return v(this,t,e,i,!1)},c.prototype.write=function(t,e,i,n){if(void 0===e)n="utf8",i=this.length,e=0;else if(void 0===i&&"string"==typeof e)n=e,i=this.length,e=0;else{if(!isFinite(e))throw new Error("Buffer.write(string, encoding, offset[, length]) is no longer supported");e>>>=0,isFinite(i)?(i>>>=0,void 0===n&&(n="utf8")):(n=i,i=void 0)}var r=this.length-e;if((void 0===i||i>r)&&(i=r),t.length>0&&(i<0||e<0)||e>this.length)throw new RangeError("Attempt to write outside buffer bounds");n||(n="utf8");for(var a=!1;;)switch(n){case"hex":return y(this,t,e,i);case"utf8":case"utf-8":return w(this,t,e,i);case"ascii":return C(this,t,e,i);case"latin1":case"binary":return E(this,t,e,i);case"base64":return b(this,t,e,i);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return S(this,t,e,i);default:if(a)throw new TypeError("Unknown encoding: "+n);n=(""+n).toLowerCase(),a=!0}},c.prototype.toJSON=function(){return{type:"Buffer",data:Array.prototype.slice.call(this._arr||this,0)}};var P=4096;function k(t,e,i){var n="";i=Math.min(t.length,i);for(var r=e;r<i;++r)n+=String.fromCharCode(127&t[r]);return n}function R(t,e,i){var n="";i=Math.min(t.length,i);for(var r=e;r<i;++r)n+=String.fromCharCode(t[r]);return n}function D(t,e,i){var n=t.length;(!e||e<0)&&(e=0),(!i||i<0||i>n)&&(i=n);for(var r="",a=e;a<i;++a)r+=j[t[a]];return r}function I(t,e,i){for(var n=t.slice(e,i),r="",a=0;a<n.length;a+=2)r+=String.fromCharCode(n[a]+256*n[a+1]);return r}function B(t,e,i){if(t%1!=0||t<0)throw new RangeError("offset is not uint");if(t+e>i)throw new RangeError("Trying to access beyond buffer length")}function N(t,e,i,n,r,a){if(!c.isBuffer(t))throw new TypeError('"buffer" argument must be a Buffer instance');if(e>r||e<a)throw new RangeError('"value" argument is out of bounds');if(i+n>t.length)throw new RangeError("Index out of range")}function L(t,e,i,n,r,a){if(i+n>t.length)throw new RangeError("Index out of range");if(i<0)throw new RangeError("Index out of range")}function H(t,e,i,n,r){return e=+e,i>>>=0,r||L(t,0,i,4),a.write(t,e,i,n,23,4),i+4}function O(t,e,i,n,r){return e=+e,i>>>=0,r||L(t,0,i,8),a.write(t,e,i,n,52,8),i+8}c.prototype.slice=function(t,e){var i=this.length;(t=~~t)<0?(t+=i)<0&&(t=0):t>i&&(t=i),(e=void 0===e?i:~~e)<0?(e+=i)<0&&(e=0):e>i&&(e=i),e<t&&(e=t);var n=this.subarray(t,e);return Object.setPrototypeOf(n,c.prototype),n},c.prototype.readUIntLE=function(t,e,i){t>>>=0,e>>>=0,i||B(t,e,this.length);for(var n=this[t],r=1,a=0;++a<e&&(r*=256);)n+=this[t+a]*r;return n},c.prototype.readUIntBE=function(t,e,i){t>>>=0,e>>>=0,i||B(t,e,this.length);for(var n=this[t+--e],r=1;e>0&&(r*=256);)n+=this[t+--e]*r;return n},c.prototype.readUInt8=function(t,e){return t>>>=0,e||B(t,1,this.length),this[t]},c.prototype.readUInt16LE=function(t,e){return t>>>=0,e||B(t,2,this.length),this[t]|this[t+1]<<8},c.prototype.readUInt16BE=function(t,e){return t>>>=0,e||B(t,2,this.length),this[t]<<8|this[t+1]},c.prototype.readUInt32LE=function(t,e){return t>>>=0,e||B(t,4,this.length),(this[t]|this[t+1]<<8|this[t+2]<<16)+16777216*this[t+3]},c.prototype.readUInt32BE=function(t,e){return t>>>=0,e||B(t,4,this.length),16777216*this[t]+(this[t+1]<<16|this[t+2]<<8|this[t+3])},c.prototype.readIntLE=function(t,e,i){t>>>=0,e>>>=0,i||B(t,e,this.length);for(var n=this[t],r=1,a=0;++a<e&&(r*=256);)n+=this[t+a]*r;return n>=(r*=128)&&(n-=Math.pow(2,8*e)),n},c.prototype.readIntBE=function(t,e,i){t>>>=0,e>>>=0,i||B(t,e,this.length);for(var n=e,r=1,a=this[t+--n];n>0&&(r*=256);)a+=this[t+--n]*r;return a>=(r*=128)&&(a-=Math.pow(2,8*e)),a},c.prototype.readInt8=function(t,e){return t>>>=0,e||B(t,1,this.length),128&this[t]?-1*(255-this[t]+1):this[t]},c.prototype.readInt16LE=function(t,e){t>>>=0,e||B(t,2,this.length);var i=this[t]|this[t+1]<<8;return 32768&i?4294901760|i:i},c.prototype.readInt16BE=function(t,e){t>>>=0,e||B(t,2,this.length);var i=this[t+1]|this[t]<<8;return 32768&i?4294901760|i:i},c.prototype.readInt32LE=function(t,e){return t>>>=0,e||B(t,4,this.length),this[t]|this[t+1]<<8|this[t+2]<<16|this[t+3]<<24},c.prototype.readInt32BE=function(t,e){return t>>>=0,e||B(t,4,this.length),this[t]<<24|this[t+1]<<16|this[t+2]<<8|this[t+3]},c.prototype.readFloatLE=function(t,e){return t>>>=0,e||B(t,4,this.length),a.read(this,t,!0,23,4)},c.prototype.readFloatBE=function(t,e){return t>>>=0,e||B(t,4,this.length),a.read(this,t,!1,23,4)},c.prototype.readDoubleLE=function(t,e){return t>>>=0,e||B(t,8,this.length),a.read(this,t,!0,52,8)},c.prototype.readDoubleBE=function(t,e){return t>>>=0,e||B(t,8,this.length),a.read(this,t,!1,52,8)},c.prototype.writeUIntLE=function(t,e,i,n){t=+t,e>>>=0,i>>>=0,n||N(this,t,e,i,Math.pow(2,8*i)-1,0);var r=1,a=0;for(this[e]=255&t;++a<i&&(r*=256);)this[e+a]=t/r&255;return e+i},c.prototype.writeUIntBE=function(t,e,i,n){t=+t,e>>>=0,i>>>=0,n||N(this,t,e,i,Math.pow(2,8*i)-1,0);var r=i-1,a=1;for(this[e+r]=255&t;--r>=0&&(a*=256);)this[e+r]=t/a&255;return e+i},c.prototype.writeUInt8=function(t,e,i){return t=+t,e>>>=0,i||N(this,t,e,1,255,0),this[e]=255&t,e+1},c.prototype.writeUInt16LE=function(t,e,i){return t=+t,e>>>=0,i||N(this,t,e,2,65535,0),this[e]=255&t,this[e+1]=t>>>8,e+2},c.prototype.writeUInt16BE=function(t,e,i){return t=+t,e>>>=0,i||N(this,t,e,2,65535,0),this[e]=t>>>8,this[e+1]=255&t,e+2},c.prototype.writeUInt32LE=function(t,e,i){return t=+t,e>>>=0,i||N(this,t,e,4,4294967295,0),this[e+3]=t>>>24,this[e+2]=t>>>16,this[e+1]=t>>>8,this[e]=255&t,e+4},c.prototype.writeUInt32BE=function(t,e,i){return t=+t,e>>>=0,i||N(this,t,e,4,4294967295,0),this[e]=t>>>24,this[e+1]=t>>>16,this[e+2]=t>>>8,this[e+3]=255&t,e+4},c.prototype.writeIntLE=function(t,e,i,n){if(t=+t,e>>>=0,!n){var r=Math.pow(2,8*i-1);N(this,t,e,i,r-1,-r)}var a=0,s=1,o=0;for(this[e]=255&t;++a<i&&(s*=256);)t<0&&0===o&&0!==this[e+a-1]&&(o=1),this[e+a]=(t/s>>0)-o&255;return e+i},c.prototype.writeIntBE=function(t,e,i,n){if(t=+t,e>>>=0,!n){var r=Math.pow(2,8*i-1);N(this,t,e,i,r-1,-r)}var a=i-1,s=1,o=0;for(this[e+a]=255&t;--a>=0&&(s*=256);)t<0&&0===o&&0!==this[e+a+1]&&(o=1),this[e+a]=(t/s>>0)-o&255;return e+i},c.prototype.writeInt8=function(t,e,i){return t=+t,e>>>=0,i||N(this,t,e,1,127,-128),t<0&&(t=255+t+1),this[e]=255&t,e+1},c.prototype.writeInt16LE=function(t,e,i){return t=+t,e>>>=0,i||N(this,t,e,2,32767,-32768),this[e]=255&t,this[e+1]=t>>>8,e+2},c.prototype.writeInt16BE=function(t,e,i){return t=+t,e>>>=0,i||N(this,t,e,2,32767,-32768),this[e]=t>>>8,this[e+1]=255&t,e+2},c.prototype.writeInt32LE=function(t,e,i){return t=+t,e>>>=0,i||N(this,t,e,4,2147483647,-2147483648),this[e]=255&t,this[e+1]=t>>>8,this[e+2]=t>>>16,this[e+3]=t>>>24,e+4},c.prototype.writeInt32BE=function(t,e,i){return t=+t,e>>>=0,i||N(this,t,e,4,2147483647,-2147483648),t<0&&(t=4294967295+t+1),this[e]=t>>>24,this[e+1]=t>>>16,this[e+2]=t>>>8,this[e+3]=255&t,e+4},c.prototype.writeFloatLE=function(t,e,i){return H(this,t,e,!0,i)},c.prototype.writeFloatBE=function(t,e,i){return H(this,t,e,!1,i)},c.prototype.writeDoubleLE=function(t,e,i){return O(this,t,e,!0,i)},c.prototype.writeDoubleBE=function(t,e,i){return O(this,t,e,!1,i)},c.prototype.copy=function(t,e,i,n){if(!c.isBuffer(t))throw new TypeError("argument should be a Buffer");if(i||(i=0),n||0===n||(n=this.length),e>=t.length&&(e=t.length),e||(e=0),n>0&&n<i&&(n=i),n===i)return 0;if(0===t.length||0===this.length)return 0;if(e<0)throw new RangeError("targetStart out of bounds");if(i<0||i>=this.length)throw new RangeError("Index out of range");if(n<0)throw new RangeError("sourceEnd out of bounds");n>this.length&&(n=this.length),t.length-e<n-i&&(n=t.length-e+i);var r=n-i;if(this===t&&"function"==typeof Uint8Array.prototype.copyWithin)this.copyWithin(e,i,n);else if(this===t&&i<e&&e<n)for(var a=r-1;a>=0;--a)t[a+e]=this[a+i];else Uint8Array.prototype.set.call(t,this.subarray(i,n),e);return r},c.prototype.fill=function(t,e,i,n){if("string"==typeof t){if("string"==typeof e?(n=e,e=0,i=this.length):"string"==typeof i&&(n=i,i=this.length),void 0!==n&&"string"!=typeof n)throw new TypeError("encoding must be a string");if("string"==typeof n&&!c.isEncoding(n))throw new TypeError("Unknown encoding: "+n);if(1===t.length){var r=t.charCodeAt(0);("utf8"===n&&r<128||"latin1"===n)&&(t=r)}}else"number"==typeof t?t&=255:"boolean"==typeof t&&(t=Number(t));if(e<0||this.length<e||this.length<i)throw new RangeError("Out of range index");if(i<=e)return this;var a;if(e>>>=0,i=void 0===i?this.length:i>>>0,t||(t=0),"number"==typeof t)for(a=e;a<i;++a)this[a]=t;else{var s=c.isBuffer(t)?t:c.from(t,n),o=s.length;if(0===o)throw new TypeError('The value "'+t+'" is invalid for argument "value"');for(a=0;a<i-e;++a)this[a+e]=s[a%o]}return this};var Y=/[^+/0-9A-Za-z-_]/g;function M(t,e){var i;e=e||1/0;for(var n=t.length,r=null,a=[],s=0;s<n;++s){if((i=t.charCodeAt(s))>55295&&i<57344){if(!r){if(i>56319){(e-=3)>-1&&a.push(239,191,189);continue}if(s+1===n){(e-=3)>-1&&a.push(239,191,189);continue}r=i;continue}if(i<56320){(e-=3)>-1&&a.push(239,191,189),r=i;continue}i=65536+(r-55296<<10|i-56320)}else r&&(e-=3)>-1&&a.push(239,191,189);if(r=null,i<128){if((e-=1)<0)break;a.push(i)}else if(i<2048){if((e-=2)<0)break;a.push(i>>6|192,63&i|128)}else if(i<65536){if((e-=3)<0)break;a.push(i>>12|224,i>>6&63|128,63&i|128)}else{if(!(i<1114112))throw new Error("Invalid code point");if((e-=4)<0)break;a.push(i>>18|240,i>>12&63|128,i>>6&63|128,63&i|128)}}return a}function U(t){return r.toByteArray(function(t){if((t=(t=t.split("=")[0]).trim().replace(Y,"")).length<2)return"";for(;t.length%4!=0;)t+="=";return t}(t))}function V(t,e,i,n){for(var r=0;r<n&&!(r+i>=e.length||r>=t.length);++r)e[r+i]=t[r];return r}function F(t,e){return t instanceof e||null!=t&&null!=t.constructor&&null!=t.constructor.name&&t.constructor.name===e.name}function z(t){return t!=t}var j=function(){for(var t="0123456789abcdef",e=new Array(256),i=0;i<16;++i)for(var n=16*i,r=0;r<16;++r)e[n+r]=t[i]+t[r];return e}()},{"base64-js":29,ieee754:32}],31:[function(t,e,i){var n={single_source_shortest_paths:function(t,e,i){var r={},a={};a[e]=0;var s,o,l,c,h,u,d,p=n.PriorityQueue.make();for(p.push(e,0);!p.empty();)for(l in o=(s=p.pop()).value,c=s.cost,h=t[o]||{})h.hasOwnProperty(l)&&(u=c+h[l],d=a[l],(void 0===a[l]||d>u)&&(a[l]=u,p.push(l,u),r[l]=o));if(void 0!==i&&void 0===a[i]){var f=["Could not find a path from ",e," to ",i,"."].join("");throw new Error(f)}return r},extract_shortest_path_from_predecessor_list:function(t,e){for(var i=[],n=e;n;)i.push(n),t[n],n=t[n];return i.reverse(),i},find_path:function(t,e,i){var r=n.single_source_shortest_paths(t,e,i);return n.extract_shortest_path_from_predecessor_list(r,i)},PriorityQueue:{make:function(t){var e,i=n.PriorityQueue,r={};for(e in t=t||{},i)i.hasOwnProperty(e)&&(r[e]=i[e]);return r.queue=[],r.sorter=t.sorter||i.default_sorter,r},default_sorter:function(t,e){return t.cost-e.cost},push:function(t,e){var i={value:t,cost:e};this.queue.push(i),this.queue.sort(this.sorter)},pop:function(){return this.queue.shift()},empty:function(){return 0===this.queue.length}}};void 0!==e&&(e.exports=n)},{}],32:[function(t,e,i){i.read=function(t,e,i,n,r){var a,s,o=8*r-n-1,l=(1<<o)-1,c=l>>1,h=-7,u=i?r-1:0,d=i?-1:1,p=t[e+u];for(u+=d,a=p&(1<<-h)-1,p>>=-h,h+=o;h>0;a=256*a+t[e+u],u+=d,h-=8);for(s=a&(1<<-h)-1,a>>=-h,h+=n;h>0;s=256*s+t[e+u],u+=d,h-=8);if(0===a)a=1-c;else{if(a===l)return s?NaN:1/0*(p?-1:1);s+=Math.pow(2,n),a-=c}return(p?-1:1)*s*Math.pow(2,a-n)},i.write=function(t,e,i,n,r,a){var s,o,l,c=8*a-r-1,h=(1<<c)-1,u=h>>1,d=23===r?Math.pow(2,-24)-Math.pow(2,-77):0,p=n?0:a-1,f=n?1:-1,A=e<0||0===e&&1/e<0?1:0;for(e=Math.abs(e),isNaN(e)||e===1/0?(o=isNaN(e)?1:0,s=h):(s=Math.floor(Math.log(e)/Math.LN2),e*(l=Math.pow(2,-s))<1&&(s--,l*=2),(e+=s+u>=1?d/l:d*Math.pow(2,1-u))*l>=2&&(s++,l/=2),s+u>=h?(o=0,s=h):s+u>=1?(o=(e*l-1)*Math.pow(2,r),s+=u):(o=e*Math.pow(2,u-1)*Math.pow(2,r),s=0));r>=8;t[i+p]=255&o,p+=f,o/=256,r-=8);for(s=s<<r|o,c+=r;c>0;t[i+p]=255&s,p+=f,s/=256,c-=8);t[i+p-f]|=128*A}},{}],33:[function(t,e,i){var n={}.toString;e.exports=Array.isArray||function(t){return"[object Array]"==n.call(t)}},{}]},{},[24])(24)},e.exports=r()}));return{name:"qrcode",props:{value:null,options:Object,tag:{type:String,default:"canvas"}},render:function(t){return t(this.tag,this.$slots.default)},watch:{$props:{deep:!0,immediate:!0,handler:function(){this.$el&&this.generate()}}},methods:{generate:function(){var t=this,i=this.options,n=this.tag,r=String(this.value);"canvas"===n?e.toCanvas(this.$el,r,i,(function(t){if(t)throw t})):"img"===n?e.toDataURL(r,i,(function(e,i){if(e)throw e;t.$el.src=i})):e.toString(r,i,(function(e,i){if(e)throw e;t.$el.innerHTML=i}))}},mounted:function(){this.generate()}}}()},86243:(t,e,i)=>{"use strict";i.d(e,{A:()=>o});var n=i(71354),r=i.n(n),a=i(76314),s=i.n(a)()(r());s.push([t.id,".fade-enter-active[data-v-8e58e0a5],\n.fade-leave-active[data-v-8e58e0a5] {\n  transition: opacity .3s ease;\n}\n.fade-enter[data-v-8e58e0a5],\n.fade-leave-to[data-v-8e58e0a5] {\n  opacity: 0;\n}\n.linked-icons[data-v-8e58e0a5] {\n  display: flex;\n}\n.linked-icons img[data-v-8e58e0a5] {\n  padding: 12px;\n  height: 44px;\n  display: block;\n  background-repeat: no-repeat;\n  background-position: center;\n  opacity: .7;\n}\n.linked-icons img[data-v-8e58e0a5]:hover {\n  opacity: 1;\n}\n.popovermenu[data-v-8e58e0a5] {\n  display: none;\n}\n.popovermenu.open[data-v-8e58e0a5] {\n  display: block;\n}\nli.collection-list-item[data-v-8e58e0a5] {\n  flex-wrap: wrap;\n  height: auto;\n  cursor: pointer;\n  margin-bottom: 0 !important;\n}\nli.collection-list-item .collection-avatar[data-v-8e58e0a5] {\n  margin-top: 6px;\n}\nli.collection-list-item form[data-v-8e58e0a5],\nli.collection-list-item .collection-item-name[data-v-8e58e0a5] {\n  flex-basis: 10%;\n  flex-grow: 1;\n  display: flex;\n}\nli.collection-list-item .collection-item-name[data-v-8e58e0a5] {\n  padding: 12px 9px;\n}\nli.collection-list-item input[data-v-8e58e0a5] {\n  margin-top: 4px;\n  border-color: var(--color-border-maxcontrast);\n}\nli.collection-list-item input[type=text][data-v-8e58e0a5] {\n  flex-grow: 1;\n}\nli.collection-list-item .error[data-v-8e58e0a5],\nli.collection-list-item .resource-list-details[data-v-8e58e0a5] {\n  flex-basis: 100%;\n  width: 100%;\n}\nli.collection-list-item .resource-list-details li[data-v-8e58e0a5] {\n  display: flex;\n  margin-left: 44px;\n  border-radius: 3px;\n  cursor: pointer;\n}\nli.collection-list-item .resource-list-details li[data-v-8e58e0a5]:hover {\n  background-color: var(--color-background-dark);\n}\nli.collection-list-item .resource-list-details li a[data-v-8e58e0a5] {\n  flex-grow: 1;\n  padding: 3px;\n  max-width: calc(100% - 30px);\n  display: flex;\n}\nli.collection-list-item .resource-list-details span[data-v-8e58e0a5] {\n  display: inline-block;\n  vertical-align: top;\n  margin-right: 10px;\n}\nli.collection-list-item .resource-list-details span.resource-name[data-v-8e58e0a5] {\n  text-overflow: ellipsis;\n  overflow: hidden;\n  position: relative;\n  vertical-align: top;\n  white-space: nowrap;\n  flex-grow: 1;\n  padding: 4px;\n}\nli.collection-list-item .resource-list-details img[data-v-8e58e0a5] {\n  width: 24px;\n  height: 24px;\n}\nli.collection-list-item .resource-list-details .icon-close[data-v-8e58e0a5] {\n  opacity: .7;\n}\nli.collection-list-item .resource-list-details .icon-close[data-v-8e58e0a5]:hover,\nli.collection-list-item .resource-list-details .icon-close[data-v-8e58e0a5]:focus {\n  opacity: 1;\n}\n.shouldshake[data-v-8e58e0a5] {\n  animation: shake-8e58e0a5 .6s 1 linear;\n}\n@keyframes shake-8e58e0a5 {\n  0% {\n    transform: translate(15px);\n  }\n  20% {\n    transform: translate(-15px);\n  }\n  40% {\n    transform: translate(7px);\n  }\n  60% {\n    transform: translate(-7px);\n  }\n  80% {\n    transform: translate(3px);\n  }\n  to {\n    transform: translate(0);\n  }\n}\n.collection-list *[data-v-75a4370b] {\n  box-sizing: border-box;\n}\n.collection-list > li[data-v-75a4370b] {\n  display: flex;\n  align-items: start;\n  gap: 12px;\n}\n.collection-list > li > .avatar[data-v-75a4370b] {\n  margin-top: auto;\n}\n#collection-select-container[data-v-75a4370b] {\n  display: flex;\n  flex-direction: column;\n}\n.v-select span.avatar[data-v-75a4370b] {\n  display: block;\n  padding: 16px;\n  opacity: .7;\n  background-repeat: no-repeat;\n  background-position: center;\n}\n.v-select span.avatar[data-v-75a4370b]:hover {\n  opacity: 1;\n}\np.hint[data-v-75a4370b] {\n  z-index: 1;\n  margin-top: -16px;\n  padding: 8px;\n  color: var(--color-text-maxcontrast);\n  line-height: normal;\n}\ndiv.avatar[data-v-75a4370b] {\n  width: 32px;\n  height: 32px;\n  margin: 30px 0 0;\n  padding: 8px;\n  background-color: var(--color-background-dark);\n}\n.icon-projects[data-v-75a4370b] {\n  display: block;\n  padding: 8px;\n  background-repeat: no-repeat;\n  background-position: center;\n}\n.option__wrapper[data-v-75a4370b] {\n  display: flex;\n}\n.option__wrapper .avatar[data-v-75a4370b] {\n  display: block;\n  background-color: var(--color-background-darker) !important;\n}\n.option__wrapper .option__title[data-v-75a4370b] {\n  padding: 4px;\n}\n.fade-enter-active[data-v-75a4370b],\n.fade-leave-active[data-v-75a4370b] {\n  transition: opacity .5s;\n}\n.fade-enter[data-v-75a4370b],\n.fade-leave-to[data-v-75a4370b] {\n  opacity: 0;\n}\n","",{version:3,sources:["webpack://./node_modules/nextcloud-vue-collections/dist/assets/index-Au1Gr_G6.css"],names:[],mappings:"AAAA;;EAEE,4BAA4B;AAC9B;AACA;;EAEE,UAAU;AACZ;AACA;EACE,aAAa;AACf;AACA;EACE,aAAa;EACb,YAAY;EACZ,cAAc;EACd,4BAA4B;EAC5B,2BAA2B;EAC3B,WAAW;AACb;AACA;EACE,UAAU;AACZ;AACA;EACE,aAAa;AACf;AACA;EACE,cAAc;AAChB;AACA;EACE,eAAe;EACf,YAAY;EACZ,eAAe;EACf,2BAA2B;AAC7B;AACA;EACE,eAAe;AACjB;AACA;;EAEE,eAAe;EACf,YAAY;EACZ,aAAa;AACf;AACA;EACE,iBAAiB;AACnB;AACA;EACE,eAAe;EACf,6CAA6C;AAC/C;AACA;EACE,YAAY;AACd;AACA;;EAEE,gBAAgB;EAChB,WAAW;AACb;AACA;EACE,aAAa;EACb,iBAAiB;EACjB,kBAAkB;EAClB,eAAe;AACjB;AACA;EACE,8CAA8C;AAChD;AACA;EACE,YAAY;EACZ,YAAY;EACZ,4BAA4B;EAC5B,aAAa;AACf;AACA;EACE,qBAAqB;EACrB,mBAAmB;EACnB,kBAAkB;AACpB;AACA;EACE,uBAAuB;EACvB,gBAAgB;EAChB,kBAAkB;EAClB,mBAAmB;EACnB,mBAAmB;EACnB,YAAY;EACZ,YAAY;AACd;AACA;EACE,WAAW;EACX,YAAY;AACd;AACA;EACE,WAAW;AACb;AACA;;EAEE,UAAU;AACZ;AACA;EACE,sCAAsC;AACxC;AACA;EACE;IACE,0BAA0B;EAC5B;EACA;IACE,2BAA2B;EAC7B;EACA;IACE,yBAAyB;EAC3B;EACA;IACE,0BAA0B;EAC5B;EACA;IACE,yBAAyB;EAC3B;EACA;IACE,uBAAuB;EACzB;AACF;AACA;EACE,sBAAsB;AACxB;AACA;EACE,aAAa;EACb,kBAAkB;EAClB,SAAS;AACX;AACA;EACE,gBAAgB;AAClB;AACA;EACE,aAAa;EACb,sBAAsB;AACxB;AACA;EACE,cAAc;EACd,aAAa;EACb,WAAW;EACX,4BAA4B;EAC5B,2BAA2B;AAC7B;AACA;EACE,UAAU;AACZ;AACA;EACE,UAAU;EACV,iBAAiB;EACjB,YAAY;EACZ,oCAAoC;EACpC,mBAAmB;AACrB;AACA;EACE,WAAW;EACX,YAAY;EACZ,gBAAgB;EAChB,YAAY;EACZ,8CAA8C;AAChD;AACA;EACE,cAAc;EACd,YAAY;EACZ,4BAA4B;EAC5B,2BAA2B;AAC7B;AACA;EACE,aAAa;AACf;AACA;EACE,cAAc;EACd,2DAA2D;AAC7D;AACA;EACE,YAAY;AACd;AACA;;EAEE,uBAAuB;AACzB;AACA;;EAEE,UAAU;AACZ",sourcesContent:[".fade-enter-active[data-v-8e58e0a5],\n.fade-leave-active[data-v-8e58e0a5] {\n  transition: opacity .3s ease;\n}\n.fade-enter[data-v-8e58e0a5],\n.fade-leave-to[data-v-8e58e0a5] {\n  opacity: 0;\n}\n.linked-icons[data-v-8e58e0a5] {\n  display: flex;\n}\n.linked-icons img[data-v-8e58e0a5] {\n  padding: 12px;\n  height: 44px;\n  display: block;\n  background-repeat: no-repeat;\n  background-position: center;\n  opacity: .7;\n}\n.linked-icons img[data-v-8e58e0a5]:hover {\n  opacity: 1;\n}\n.popovermenu[data-v-8e58e0a5] {\n  display: none;\n}\n.popovermenu.open[data-v-8e58e0a5] {\n  display: block;\n}\nli.collection-list-item[data-v-8e58e0a5] {\n  flex-wrap: wrap;\n  height: auto;\n  cursor: pointer;\n  margin-bottom: 0 !important;\n}\nli.collection-list-item .collection-avatar[data-v-8e58e0a5] {\n  margin-top: 6px;\n}\nli.collection-list-item form[data-v-8e58e0a5],\nli.collection-list-item .collection-item-name[data-v-8e58e0a5] {\n  flex-basis: 10%;\n  flex-grow: 1;\n  display: flex;\n}\nli.collection-list-item .collection-item-name[data-v-8e58e0a5] {\n  padding: 12px 9px;\n}\nli.collection-list-item input[data-v-8e58e0a5] {\n  margin-top: 4px;\n  border-color: var(--color-border-maxcontrast);\n}\nli.collection-list-item input[type=text][data-v-8e58e0a5] {\n  flex-grow: 1;\n}\nli.collection-list-item .error[data-v-8e58e0a5],\nli.collection-list-item .resource-list-details[data-v-8e58e0a5] {\n  flex-basis: 100%;\n  width: 100%;\n}\nli.collection-list-item .resource-list-details li[data-v-8e58e0a5] {\n  display: flex;\n  margin-left: 44px;\n  border-radius: 3px;\n  cursor: pointer;\n}\nli.collection-list-item .resource-list-details li[data-v-8e58e0a5]:hover {\n  background-color: var(--color-background-dark);\n}\nli.collection-list-item .resource-list-details li a[data-v-8e58e0a5] {\n  flex-grow: 1;\n  padding: 3px;\n  max-width: calc(100% - 30px);\n  display: flex;\n}\nli.collection-list-item .resource-list-details span[data-v-8e58e0a5] {\n  display: inline-block;\n  vertical-align: top;\n  margin-right: 10px;\n}\nli.collection-list-item .resource-list-details span.resource-name[data-v-8e58e0a5] {\n  text-overflow: ellipsis;\n  overflow: hidden;\n  position: relative;\n  vertical-align: top;\n  white-space: nowrap;\n  flex-grow: 1;\n  padding: 4px;\n}\nli.collection-list-item .resource-list-details img[data-v-8e58e0a5] {\n  width: 24px;\n  height: 24px;\n}\nli.collection-list-item .resource-list-details .icon-close[data-v-8e58e0a5] {\n  opacity: .7;\n}\nli.collection-list-item .resource-list-details .icon-close[data-v-8e58e0a5]:hover,\nli.collection-list-item .resource-list-details .icon-close[data-v-8e58e0a5]:focus {\n  opacity: 1;\n}\n.shouldshake[data-v-8e58e0a5] {\n  animation: shake-8e58e0a5 .6s 1 linear;\n}\n@keyframes shake-8e58e0a5 {\n  0% {\n    transform: translate(15px);\n  }\n  20% {\n    transform: translate(-15px);\n  }\n  40% {\n    transform: translate(7px);\n  }\n  60% {\n    transform: translate(-7px);\n  }\n  80% {\n    transform: translate(3px);\n  }\n  to {\n    transform: translate(0);\n  }\n}\n.collection-list *[data-v-75a4370b] {\n  box-sizing: border-box;\n}\n.collection-list > li[data-v-75a4370b] {\n  display: flex;\n  align-items: start;\n  gap: 12px;\n}\n.collection-list > li > .avatar[data-v-75a4370b] {\n  margin-top: auto;\n}\n#collection-select-container[data-v-75a4370b] {\n  display: flex;\n  flex-direction: column;\n}\n.v-select span.avatar[data-v-75a4370b] {\n  display: block;\n  padding: 16px;\n  opacity: .7;\n  background-repeat: no-repeat;\n  background-position: center;\n}\n.v-select span.avatar[data-v-75a4370b]:hover {\n  opacity: 1;\n}\np.hint[data-v-75a4370b] {\n  z-index: 1;\n  margin-top: -16px;\n  padding: 8px;\n  color: var(--color-text-maxcontrast);\n  line-height: normal;\n}\ndiv.avatar[data-v-75a4370b] {\n  width: 32px;\n  height: 32px;\n  margin: 30px 0 0;\n  padding: 8px;\n  background-color: var(--color-background-dark);\n}\n.icon-projects[data-v-75a4370b] {\n  display: block;\n  padding: 8px;\n  background-repeat: no-repeat;\n  background-position: center;\n}\n.option__wrapper[data-v-75a4370b] {\n  display: flex;\n}\n.option__wrapper .avatar[data-v-75a4370b] {\n  display: block;\n  background-color: var(--color-background-darker) !important;\n}\n.option__wrapper .option__title[data-v-75a4370b] {\n  padding: 4px;\n}\n.fade-enter-active[data-v-75a4370b],\n.fade-leave-active[data-v-75a4370b] {\n  transition: opacity .5s;\n}\n.fade-enter[data-v-75a4370b],\n.fade-leave-to[data-v-75a4370b] {\n  opacity: 0;\n}\n"],sourceRoot:""}]);const o=s},42572:(t,e,i)=>{"use strict";i.d(e,{A:()=>o});var n=i(71354),r=i.n(n),a=i(76314),s=i.n(a)()(r());s.push([t.id,".sharing-entry[data-v-79edc2ff]{display:flex;align-items:center;height:44px}.sharing-entry__summary[data-v-79edc2ff]{padding:8px;padding-left:10px;display:flex;flex-direction:column;justify-content:center;align-items:flex-start;flex:1 0;min-width:0}.sharing-entry__summary__desc[data-v-79edc2ff]{display:inline-block;padding-bottom:0;line-height:1.2em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sharing-entry__summary__desc p[data-v-79edc2ff],.sharing-entry__summary__desc small[data-v-79edc2ff]{color:var(--color-text-maxcontrast)}.sharing-entry__summary__desc-unique[data-v-79edc2ff]{color:var(--color-text-maxcontrast)}","",{version:3,sources:["webpack://./apps/files_sharing/src/components/SharingEntry.vue"],names:[],mappings:"AACA,gCACC,YAAA,CACA,kBAAA,CACA,WAAA,CACA,yCACC,WAAA,CACA,iBAAA,CACA,YAAA,CACA,qBAAA,CACA,sBAAA,CACA,sBAAA,CACA,QAAA,CACA,WAAA,CAEA,+CACC,oBAAA,CACA,gBAAA,CACA,iBAAA,CACA,kBAAA,CACA,eAAA,CACA,sBAAA,CAEA,sGAEC,mCAAA,CAGD,sDACC,mCAAA",sourcesContent:["\n.sharing-entry {\n\tdisplay: flex;\n\talign-items: center;\n\theight: 44px;\n\t&__summary {\n\t\tpadding: 8px;\n\t\tpadding-left: 10px;\n\t\tdisplay: flex;\n\t\tflex-direction: column;\n\t\tjustify-content: center;\n\t\talign-items: flex-start;\n\t\tflex: 1 0;\n\t\tmin-width: 0;\n\n\t\t&__desc {\n\t\t\tdisplay: inline-block;\n\t\t\tpadding-bottom: 0;\n\t\t\tline-height: 1.2em;\n\t\t\twhite-space: nowrap;\n\t\t\toverflow: hidden;\n\t\t\ttext-overflow: ellipsis;\n\n\t\t\tp,\n\t\t\tsmall {\n\t\t\t\tcolor: var(--color-text-maxcontrast);\n\t\t\t}\n\n\t\t\t&-unique {\n\t\t\t\tcolor: var(--color-text-maxcontrast);\n\t\t\t}\n\t\t}\n\t}\n\n}\n"],sourceRoot:""}]);const o=s},41699:(t,e,i)=>{"use strict";i.d(e,{A:()=>o});var n=i(71354),r=i.n(n),a=i(76314),s=i.n(a)()(r());s.push([t.id,".sharing-entry[data-v-283ca89e]{display:flex;align-items:center;height:44px}.sharing-entry__desc[data-v-283ca89e]{display:flex;flex-direction:column;justify-content:space-between;padding:8px;padding-left:10px;line-height:1.2em}.sharing-entry__desc p[data-v-283ca89e]{color:var(--color-text-maxcontrast)}.sharing-entry__actions[data-v-283ca89e]{margin-left:auto}","",{version:3,sources:["webpack://./apps/files_sharing/src/components/SharingEntryInherited.vue"],names:[],mappings:"AACA,gCACC,YAAA,CACA,kBAAA,CACA,WAAA,CACA,sCACC,YAAA,CACA,qBAAA,CACA,6BAAA,CACA,WAAA,CACA,iBAAA,CACA,iBAAA,CACA,wCACC,mCAAA,CAGF,yCACC,gBAAA",sourcesContent:["\n.sharing-entry {\n\tdisplay: flex;\n\talign-items: center;\n\theight: 44px;\n\t&__desc {\n\t\tdisplay: flex;\n\t\tflex-direction: column;\n\t\tjustify-content: space-between;\n\t\tpadding: 8px;\n\t\tpadding-left: 10px;\n\t\tline-height: 1.2em;\n\t\tp {\n\t\t\tcolor: var(--color-text-maxcontrast);\n\t\t}\n\t}\n\t&__actions {\n\t\tmargin-left: auto;\n\t}\n}\n"],sourceRoot:""}]);const o=s},16469:(t,e,i)=>{"use strict";i.d(e,{A:()=>o});var n=i(71354),r=i.n(n),a=i(76314),s=i.n(a)()(r());s.push([t.id,".sharing-entry__internal .avatar-external[data-v-e40cd936]{width:32px;height:32px;line-height:32px;font-size:18px;background-color:var(--color-text-maxcontrast);border-radius:50%;flex-shrink:0}.sharing-entry__internal .icon-checkmark-color[data-v-e40cd936]{opacity:1;color:var(--color-success)}","",{version:3,sources:["webpack://./apps/files_sharing/src/components/SharingEntryInternal.vue"],names:[],mappings:"AAEC,2DACC,UAAA,CACA,WAAA,CACA,gBAAA,CACA,cAAA,CACA,8CAAA,CACA,iBAAA,CACA,aAAA,CAED,gEACC,SAAA,CACA,0BAAA",sourcesContent:["\n.sharing-entry__internal {\n\t.avatar-external {\n\t\twidth: 32px;\n\t\theight: 32px;\n\t\tline-height: 32px;\n\t\tfont-size: 18px;\n\t\tbackground-color: var(--color-text-maxcontrast);\n\t\tborder-radius: 50%;\n\t\tflex-shrink: 0;\n\t}\n\t.icon-checkmark-color {\n\t\topacity: 1;\n\t\tcolor: var(--color-success);\n\t}\n}\n"],sourceRoot:""}]);const o=s},86104:(t,e,i)=>{"use strict";i.d(e,{A:()=>o});var n=i(71354),r=i.n(n),a=i(76314),s=i.n(a)()(r());s.push([t.id,".sharing-entry[data-v-1ac70a9b]{display:flex;align-items:center;min-height:44px}.sharing-entry__summary[data-v-1ac70a9b]{padding:8px;padding-left:10px;display:flex;justify-content:space-between;flex:1 0;min-width:0}.sharing-entry__desc[data-v-1ac70a9b]{display:flex;flex-direction:column;line-height:1.2em}.sharing-entry__desc p[data-v-1ac70a9b]{color:var(--color-text-maxcontrast)}.sharing-entry__desc__title[data-v-1ac70a9b]{text-overflow:ellipsis;overflow:hidden;white-space:nowrap}.sharing-entry:not(.sharing-entry--share) .sharing-entry__actions .new-share-link[data-v-1ac70a9b]{border-top:1px solid var(--color-border)}.sharing-entry[data-v-1ac70a9b] .avatar-link-share{background-color:var(--color-primary-element)}.sharing-entry .sharing-entry__action--public-upload[data-v-1ac70a9b]{border-bottom:1px solid var(--color-border)}.sharing-entry__loading[data-v-1ac70a9b]{width:44px;height:44px;margin:0;padding:14px;margin-left:auto}.sharing-entry .action-item~.action-item[data-v-1ac70a9b],.sharing-entry .action-item~.sharing-entry__loading[data-v-1ac70a9b]{margin-left:0}.sharing-entry .icon-checkmark-color[data-v-1ac70a9b]{opacity:1;color:var(--color-success)}.qr-code-dialog[data-v-1ac70a9b]{display:flex;width:100%;justify-content:center}.qr-code-dialog__img[data-v-1ac70a9b]{width:100%;height:auto}","",{version:3,sources:["webpack://./apps/files_sharing/src/components/SharingEntryLink.vue"],names:[],mappings:"AACA,gCACC,YAAA,CACA,kBAAA,CACA,eAAA,CAEA,yCACC,WAAA,CACA,iBAAA,CACA,YAAA,CACA,6BAAA,CACA,QAAA,CACA,WAAA,CAGD,sCACC,YAAA,CACA,qBAAA,CACA,iBAAA,CAEA,wCACC,mCAAA,CAGD,6CACC,sBAAA,CACA,eAAA,CACA,kBAAA,CASD,mGACC,wCAAA,CAIF,mDACC,6CAAA,CAGD,sEACC,2CAAA,CAGD,yCACC,UAAA,CACA,WAAA,CACA,QAAA,CACA,YAAA,CACA,gBAAA,CAOA,+HAEC,aAAA,CAIF,sDACC,SAAA,CACA,0BAAA,CAKF,iCACC,YAAA,CACA,UAAA,CACA,sBAAA,CAEA,sCACC,UAAA,CACA,WAAA",sourcesContent:["\n.sharing-entry {\n\tdisplay: flex;\n\talign-items: center;\n\tmin-height: 44px;\n\n\t&__summary {\n\t\tpadding: 8px;\n\t\tpadding-left: 10px;\n\t\tdisplay: flex;\n\t\tjustify-content: space-between;\n\t\tflex: 1 0;\n\t\tmin-width: 0;\n\t}\n\n\t&__desc {\n\t\tdisplay: flex;\n\t\tflex-direction: column;\n\t\tline-height: 1.2em;\n\n\t\tp {\n\t\t\tcolor: var(--color-text-maxcontrast);\n\t\t}\n\n\t\t&__title {\n\t\t\ttext-overflow: ellipsis;\n\t\t\toverflow: hidden;\n\t\t\twhite-space: nowrap;\n\t\t}\n\t}\n\n\t&__copy {\n\n\t}\n\n\t&:not(.sharing-entry--share) &__actions {\n\t\t.new-share-link {\n\t\t\tborder-top: 1px solid var(--color-border);\n\t\t}\n\t}\n\n\t::v-deep .avatar-link-share {\n\t\tbackground-color: var(--color-primary-element);\n\t}\n\n\t.sharing-entry__action--public-upload {\n\t\tborder-bottom: 1px solid var(--color-border);\n\t}\n\n\t&__loading {\n\t\twidth: 44px;\n\t\theight: 44px;\n\t\tmargin: 0;\n\t\tpadding: 14px;\n\t\tmargin-left: auto;\n\t}\n\n\t// put menus to the left\n\t// but only the first one\n\t.action-item {\n\n\t\t~.action-item,\n\t\t~.sharing-entry__loading {\n\t\t\tmargin-left: 0;\n\t\t}\n\t}\n\n\t.icon-checkmark-color {\n\t\topacity: 1;\n\t\tcolor: var(--color-success);\n\t}\n}\n\n// styling for the qr-code container\n.qr-code-dialog {\n\tdisplay: flex;\n\twidth: 100%;\n\tjustify-content: center;\n\n\t&__img {\n\t\twidth: 100%;\n\t\theight: auto;\n\t}\n}\n"],sourceRoot:""}]);const o=s},45340:(t,e,i)=>{"use strict";i.d(e,{A:()=>o});var n=i(71354),r=i.n(n),a=i(76314),s=i.n(a)()(r());s.push([t.id,".share-select[data-v-6e5dd9f1]{display:block}.share-select[data-v-6e5dd9f1] .action-item__menutoggle{color:var(--color-primary-element) !important;font-size:12.5px !important;height:auto !important;min-height:auto !important}.share-select[data-v-6e5dd9f1] .action-item__menutoggle .button-vue__text{font-weight:normal !important}.share-select[data-v-6e5dd9f1] .action-item__menutoggle .button-vue__icon{height:24px !important;min-height:24px !important;width:24px !important;min-width:24px !important}.share-select[data-v-6e5dd9f1] .action-item__menutoggle .button-vue__wrapper{flex-direction:row-reverse !important}","",{version:3,sources:["webpack://./apps/files_sharing/src/components/SharingEntryQuickShareSelect.vue"],names:[],mappings:"AACA,+BACC,aAAA,CAIA,wDACC,6CAAA,CACA,2BAAA,CACA,sBAAA,CACA,0BAAA,CAEA,0EACC,6BAAA,CAGD,0EACC,sBAAA,CACA,0BAAA,CACA,qBAAA,CACA,yBAAA,CAGD,6EAEC,qCAAA",sourcesContent:["\n.share-select {\n\tdisplay: block;\n\n\t// TODO: NcActions should have a slot for custom trigger button like NcPopover\n\t// Overrider NcActionms button to make it small\n\t:deep(.action-item__menutoggle) {\n\t\tcolor: var(--color-primary-element) !important;\n\t\tfont-size: 12.5px !important;\n\t\theight: auto !important;\n\t\tmin-height: auto !important;\n\n\t\t.button-vue__text {\n\t\t\tfont-weight: normal !important;\n\t\t}\n\n\t\t.button-vue__icon {\n\t\t\theight: 24px !important;\n\t\t\tmin-height: 24px !important;\n\t\t\twidth: 24px !important;\n\t\t\tmin-width: 24px !important;\n\t\t}\n\n\t\t.button-vue__wrapper {\n\t\t\t// Emulate NcButton's alignment=center-reverse\n\t\t\tflex-direction: row-reverse !important;\n\t\t}\n\t}\n}\n"],sourceRoot:""}]);const o=s},17557:(t,e,i)=>{"use strict";i.d(e,{A:()=>o});var n=i(71354),r=i.n(n),a=i(76314),s=i.n(a)()(r());s.push([t.id,".sharing-entry[data-v-1852ea78]{display:flex;align-items:center;min-height:44px}.sharing-entry__desc[data-v-1852ea78]{padding:8px;padding-left:10px;line-height:1.2em;position:relative;flex:1 1;min-width:0}.sharing-entry__desc p[data-v-1852ea78]{color:var(--color-text-maxcontrast)}.sharing-entry__title[data-v-1852ea78]{white-space:nowrap;text-overflow:ellipsis;overflow:hidden;max-width:inherit}.sharing-entry__actions[data-v-1852ea78]{margin-left:auto !important}","",{version:3,sources:["webpack://./apps/files_sharing/src/components/SharingEntrySimple.vue"],names:[],mappings:"AACA,gCACC,YAAA,CACA,kBAAA,CACA,eAAA,CACA,sCACC,WAAA,CACA,iBAAA,CACA,iBAAA,CACA,iBAAA,CACA,QAAA,CACA,WAAA,CACA,wCACC,mCAAA,CAGF,uCACC,kBAAA,CACA,sBAAA,CACA,eAAA,CACA,iBAAA,CAED,yCACC,2BAAA",sourcesContent:["\n.sharing-entry {\n\tdisplay: flex;\n\talign-items: center;\n\tmin-height: 44px;\n\t&__desc {\n\t\tpadding: 8px;\n\t\tpadding-left: 10px;\n\t\tline-height: 1.2em;\n\t\tposition: relative;\n\t\tflex: 1 1;\n\t\tmin-width: 0;\n\t\tp {\n\t\t\tcolor: var(--color-text-maxcontrast);\n\t\t}\n\t}\n\t&__title {\n\t\twhite-space: nowrap;\n\t\ttext-overflow: ellipsis;\n\t\toverflow: hidden;\n\t\tmax-width: inherit;\n\t}\n\t&__actions {\n\t\tmargin-left: auto !important;\n\t}\n}\n"],sourceRoot:""}]);const o=s},75212:(t,e,i)=>{"use strict";i.d(e,{A:()=>o});var n=i(71354),r=i.n(n),a=i(76314),s=i.n(a)()(r());s.push([t.id,".sharing-search{display:flex;flex-direction:column;margin-bottom:4px}.sharing-search label[for=sharing-search-input]{margin-bottom:2px}.sharing-search__input{width:100%;margin:10px 0}.vs__dropdown-menu span[lookup] .avatardiv{background-image:var(--icon-search-white);background-repeat:no-repeat;background-position:center;background-color:var(--color-text-maxcontrast) !important}.vs__dropdown-menu span[lookup] .avatardiv .avatardiv__initials-wrapper{display:none}","",{version:3,sources:["webpack://./apps/files_sharing/src/components/SharingInput.vue"],names:[],mappings:"AACA,gBACC,YAAA,CACA,qBAAA,CACA,iBAAA,CAEA,gDACC,iBAAA,CAGD,uBACC,UAAA,CACA,aAAA,CAOA,2CACC,yCAAA,CACA,2BAAA,CACA,0BAAA,CACA,yDAAA,CACA,wEACC,YAAA",sourcesContent:['\n.sharing-search {\n\tdisplay: flex;\n\tflex-direction: column;\n\tmargin-bottom: 4px;\n\n\tlabel[for="sharing-search-input"] {\n\t\tmargin-bottom: 2px;\n\t}\n\n\t&__input {\n\t\twidth: 100%;\n\t\tmargin: 10px 0;\n\t}\n}\n\n.vs__dropdown-menu {\n\t// properly style the lookup entry\n\tspan[lookup] {\n\t\t.avatardiv {\n\t\t\tbackground-image: var(--icon-search-white);\n\t\t\tbackground-repeat: no-repeat;\n\t\t\tbackground-position: center;\n\t\t\tbackground-color: var(--color-text-maxcontrast) !important;\n\t\t\t.avatardiv__initials-wrapper {\n\t\t\t\tdisplay: none;\n\t\t\t}\n\t\t}\n\t}\n}\n'],sourceRoot:""}]);const o=s},3643:(t,e,i)=>{"use strict";i.d(e,{A:()=>o});var n=i(71354),r=i.n(n),a=i(76314),s=i.n(a)()(r());s.push([t.id,".sharingTabDetailsView[data-v-939d3a94]{display:flex;flex-direction:column;width:100%;margin:0 auto;position:relative;height:100%;overflow:hidden}.sharingTabDetailsView__header[data-v-939d3a94]{display:flex;align-items:center;box-sizing:border-box;margin:.2em}.sharingTabDetailsView__header span[data-v-939d3a94]{display:flex;align-items:center}.sharingTabDetailsView__header span h1[data-v-939d3a94]{font-size:15px;padding-left:.3em}.sharingTabDetailsView__wrapper[data-v-939d3a94]{position:relative;overflow:scroll;flex-shrink:1;padding:4px;padding-right:12px}.sharingTabDetailsView__quick-permissions[data-v-939d3a94]{display:flex;justify-content:center;width:100%;margin:0 auto;border-radius:0}.sharingTabDetailsView__quick-permissions div[data-v-939d3a94]{width:100%}.sharingTabDetailsView__quick-permissions div span[data-v-939d3a94]{width:100%}.sharingTabDetailsView__quick-permissions div span span[data-v-939d3a94]:nth-child(1){align-items:center;justify-content:center;padding:.1em}.sharingTabDetailsView__quick-permissions div span[data-v-939d3a94] label span{display:flex;flex-direction:column}.sharingTabDetailsView__quick-permissions div span[data-v-939d3a94] span.checkbox-content__text.checkbox-radio-switch__text{flex-wrap:wrap}.sharingTabDetailsView__quick-permissions div span[data-v-939d3a94] span.checkbox-content__text.checkbox-radio-switch__text .subline{display:block;flex-basis:100%}.sharingTabDetailsView__advanced-control[data-v-939d3a94]{width:100%}.sharingTabDetailsView__advanced-control button[data-v-939d3a94]{margin-top:.5em}.sharingTabDetailsView__advanced[data-v-939d3a94]{width:100%;margin-bottom:.5em;text-align:left;padding-left:0}.sharingTabDetailsView__advanced section textarea[data-v-939d3a94],.sharingTabDetailsView__advanced section div.mx-datepicker[data-v-939d3a94]{width:100%}.sharingTabDetailsView__advanced section textarea[data-v-939d3a94]{height:80px;margin:0}.sharingTabDetailsView__advanced section span[data-v-939d3a94] label{padding-left:0 !important;background-color:initial !important;border:none !important}.sharingTabDetailsView__advanced section section.custom-permissions-group[data-v-939d3a94]{padding-left:1.5em}.sharingTabDetailsView__delete>button[data-v-939d3a94]:first-child{color:#df0707}.sharingTabDetailsView__footer[data-v-939d3a94]{width:100%;display:flex;position:sticky;bottom:0;flex-direction:column;justify-content:space-between;align-items:flex-start;background:linear-gradient(to bottom, rgba(255, 255, 255, 0), var(--color-main-background))}.sharingTabDetailsView__footer .button-group[data-v-939d3a94]{display:flex;justify-content:space-between;width:100%;margin-top:16px}.sharingTabDetailsView__footer .button-group button[data-v-939d3a94]{margin-left:16px}.sharingTabDetailsView__footer .button-group button[data-v-939d3a94]:first-child{margin-left:0}","",{version:3,sources:["webpack://./apps/files_sharing/src/views/SharingDetailsTab.vue"],names:[],mappings:"AACA,wCACC,YAAA,CACA,qBAAA,CACA,UAAA,CACA,aAAA,CACA,iBAAA,CACA,WAAA,CACA,eAAA,CAEA,gDACC,YAAA,CACA,kBAAA,CACA,qBAAA,CACA,WAAA,CAEA,qDACC,YAAA,CACA,kBAAA,CAEA,wDACC,cAAA,CACA,iBAAA,CAMH,iDACC,iBAAA,CACA,eAAA,CACA,aAAA,CACA,WAAA,CACA,kBAAA,CAGD,2DACC,YAAA,CACA,sBAAA,CACA,UAAA,CACA,aAAA,CACA,eAAA,CAEA,+DACC,UAAA,CAEA,oEACC,UAAA,CAEA,sFACC,kBAAA,CACA,sBAAA,CACA,YAAA,CAKA,+EACC,YAAA,CACA,qBAAA,CAKF,4HACC,cAAA,CAEA,qIACC,aAAA,CACA,eAAA,CAQL,0DACC,UAAA,CAEA,iEACC,eAAA,CAKF,kDACC,UAAA,CACA,kBAAA,CACA,eAAA,CACA,cAAA,CAIC,+IAEC,UAAA,CAGD,mEACC,WAAA,CACA,QAAA,CAaA,qEACC,yBAAA,CACA,mCAAA,CACA,sBAAA,CAIF,2FACC,kBAAA,CAMF,mEACC,aAAA,CAIF,gDACC,UAAA,CACA,YAAA,CACA,eAAA,CACA,QAAA,CACA,qBAAA,CACA,6BAAA,CACA,sBAAA,CACA,2FAAA,CAEA,8DACC,YAAA,CACA,6BAAA,CACA,UAAA,CACA,eAAA,CAEA,qEACC,gBAAA,CAEA,iFACC,aAAA",sourcesContent:["\n.sharingTabDetailsView {\n\tdisplay: flex;\n\tflex-direction: column;\n\twidth: 100%;\n\tmargin: 0 auto;\n\tposition: relative;\n\theight: 100%;\n\toverflow: hidden;\n\n\t&__header {\n\t\tdisplay: flex;\n\t\talign-items: center;\n\t\tbox-sizing: border-box;\n\t\tmargin: 0.2em;\n\n\t\tspan {\n\t\t\tdisplay: flex;\n\t\t\talign-items: center;\n\n\t\t\th1 {\n\t\t\t\tfont-size: 15px;\n\t\t\t\tpadding-left: 0.3em;\n\t\t\t}\n\n\t\t}\n\t}\n\n\t&__wrapper {\n\t\tposition: relative;\n\t\toverflow: scroll;\n\t\tflex-shrink: 1;\n\t\tpadding: 4px;\n\t\tpadding-right: 12px;\n\t}\n\n\t&__quick-permissions {\n\t\tdisplay: flex;\n\t\tjustify-content: center;\n\t\twidth: 100%;\n\t\tmargin: 0 auto;\n\t\tborder-radius: 0;\n\n\t\tdiv {\n\t\t\twidth: 100%;\n\n\t\t\tspan {\n\t\t\t\twidth: 100%;\n\n\t\t\t\tspan:nth-child(1) {\n\t\t\t\t\talign-items: center;\n\t\t\t\t\tjustify-content: center;\n\t\t\t\t\tpadding: 0.1em;\n\t\t\t\t}\n\n\t\t\t\t::v-deep label {\n\n\t\t\t\t\tspan {\n\t\t\t\t\t\tdisplay: flex;\n\t\t\t\t\t\tflex-direction: column;\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\t/* Target component based style in NcCheckboxRadioSwitch slot content*/\n\t\t\t\t:deep(span.checkbox-content__text.checkbox-radio-switch__text) {\n\t\t\t\t\tflex-wrap: wrap;\n\n\t\t\t\t\t.subline {\n\t\t\t\t\t\tdisplay: block;\n\t\t\t\t\t\tflex-basis: 100%;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\n\t\t}\n\t}\n\n\t&__advanced-control {\n\t\twidth: 100%;\n\n\t\tbutton {\n\t\t\tmargin-top: 0.5em;\n\t\t}\n\n\t}\n\n\t&__advanced {\n\t\twidth: 100%;\n\t\tmargin-bottom: 0.5em;\n\t\ttext-align: left;\n\t\tpadding-left: 0;\n\n\t\tsection {\n\n\t\t\ttextarea,\n\t\t\tdiv.mx-datepicker {\n\t\t\t\twidth: 100%;\n\t\t\t}\n\n\t\t\ttextarea {\n\t\t\t\theight: 80px;\n\t\t\t\tmargin: 0;\n\t\t\t}\n\n\t\t\t/*\n              The following style is applied out of the component's scope\n              to remove padding from the label.checkbox-radio-switch__label,\n              which is used to group radio checkbox items. The use of ::v-deep\n              ensures that the padding is modified without being affected by\n              the component's scoping.\n              Without this achieving left alignment for the checkboxes would not\n              be possible.\n            */\n\t\t\tspan {\n\t\t\t\t::v-deep label {\n\t\t\t\t\tpadding-left: 0 !important;\n\t\t\t\t\tbackground-color: initial !important;\n\t\t\t\t\tborder: none !important;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tsection.custom-permissions-group {\n\t\t\t\tpadding-left: 1.5em;\n\t\t\t}\n\t\t}\n\t}\n\n\t&__delete {\n\t\t>button:first-child {\n\t\t\tcolor: rgb(223, 7, 7);\n\t\t}\n\t}\n\n\t&__footer {\n\t\twidth: 100%;\n\t\tdisplay: flex;\n\t\tposition: sticky;\n\t\tbottom: 0;\n\t\tflex-direction: column;\n\t\tjustify-content: space-between;\n\t\talign-items: flex-start;\n\t\tbackground: linear-gradient(to bottom, rgba(255, 255, 255, 0), var(--color-main-background));\n\n\t\t.button-group {\n\t\t\tdisplay: flex;\n\t\t\tjustify-content: space-between;\n\t\t\twidth: 100%;\n\t\t\tmargin-top: 16px;\n\n\t\t\tbutton {\n\t\t\t\tmargin-left: 16px;\n\n\t\t\t\t&:first-child {\n\t\t\t\t\tmargin-left: 0;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n}\n"],sourceRoot:""}]);const o=s},4442:(t,e,i)=>{"use strict";i.d(e,{A:()=>o});var n=i(71354),r=i.n(n),a=i(76314),s=i.n(a)()(r());s.push([t.id,".sharing-entry__inherited .avatar-shared[data-v-50f9af8c]{width:32px;height:32px;line-height:32px;font-size:18px;background-color:var(--color-text-maxcontrast);border-radius:50%;flex-shrink:0}","",{version:3,sources:["webpack://./apps/files_sharing/src/views/SharingInherited.vue"],names:[],mappings:"AAEC,0DACC,UAAA,CACA,WAAA,CACA,gBAAA,CACA,cAAA,CACA,8CAAA,CACA,iBAAA,CACA,aAAA",sourcesContent:["\n.sharing-entry__inherited {\n\t.avatar-shared {\n\t\twidth: 32px;\n\t\theight: 32px;\n\t\tline-height: 32px;\n\t\tfont-size: 18px;\n\t\tbackground-color: var(--color-text-maxcontrast);\n\t\tborder-radius: 50%;\n\t\tflex-shrink: 0;\n\t}\n}\n"],sourceRoot:""}]);const o=s},3316:(t,e,i)=>{"use strict";i.d(e,{A:()=>o});var n=i(71354),r=i.n(n),a=i(76314),s=i.n(a)()(r());s.push([t.id,".emptyContentWithSections[data-v-a65c443a]{margin:1rem auto}.sharingTab[data-v-a65c443a]{position:relative;height:100%}.sharingTab__content[data-v-a65c443a]{padding:0 6px}.sharingTab__additionalContent[data-v-a65c443a]{margin:44px 0}","",{version:3,sources:["webpack://./apps/files_sharing/src/views/SharingTab.vue"],names:[],mappings:"AACA,2CACC,gBAAA,CAGD,6BACC,iBAAA,CACA,WAAA,CAEA,sCACC,aAAA,CAGD,gDACC,aAAA",sourcesContent:["\n.emptyContentWithSections {\n\tmargin: 1rem auto;\n}\n\n.sharingTab {\n\tposition: relative;\n\theight: 100%;\n\n\t&__content {\n\t\tpadding: 0 6px;\n\t}\n\n\t&__additionalContent {\n\t\tmargin: 44px 0;\n\t}\n}\n"],sourceRoot:""}]);const o=s},37023:(t,e,i)=>{"use strict";e.KT=void 0,i(25440),e.KT=(t,e,i)=>{const a=1===Object.assign({ocsVersion:2},i||{}).ocsVersion?1:2;return window.location.protocol+"//"+window.location.host+r()+"/ocs/v"+a+".php"+n(t,e,i)};const n=(t,e,i)=>{const n=Object.assign({escape:!0},i||{});return"/"!==t.charAt(0)&&(t="/"+t),r=(r=e||{})||{},t.replace(/{([^{}]*)}/g,(function(t,e){var i=r[e];return n.escape?"string"==typeof i||"number"==typeof i?encodeURIComponent(i.toString()):encodeURIComponent(t):"string"==typeof i||"number"==typeof i?i.toString():t}));var r};function r(){let t=window._oc_webroot;if(void 0===t){t=location.pathname;const e=t.indexOf("/index.php/");t=-1!==e?t.substr(0,e):t.substr(0,t.lastIndexOf("/"))}return t}},48318:function(t,e,i){!function(t){"use strict";var e,i=function(){try{if(t.URLSearchParams&&"bar"===new t.URLSearchParams("foo=bar").get("foo"))return t.URLSearchParams}catch(t){}return null}(),n=i&&"a=1"===new i({a:1}).toString(),r=i&&"+"===new i("s=%2B").get("s"),a=i&&"size"in i.prototype,s="__URLSearchParams__",o=!i||((e=new i).append("s"," &"),"s=+%26"===e.toString()),l=p.prototype,c=!(!t.Symbol||!t.Symbol.iterator);if(!(i&&n&&r&&o&&a)){l.append=function(t,e){v(this[s],t,e)},l.delete=function(t){delete this[s][t]},l.get=function(t){var e=this[s];return this.has(t)?e[t][0]:null},l.getAll=function(t){var e=this[s];return this.has(t)?e[t].slice(0):[]},l.has=function(t){return y(this[s],t)},l.set=function(t,e){this[s][t]=[""+e]},l.toString=function(){var t,e,i,n,r=this[s],a=[];for(e in r)for(i=f(e),t=0,n=r[e];t<n.length;t++)a.push(i+"="+f(n[t]));return a.join("&")};var h,u=t.Proxy&&i&&(!r||!o||!n||!a);u?(h=new Proxy(i,{construct:function(t,e){return new t(new p(e[0]).toString())}})).toString=Function.prototype.toString.bind(p):h=p,Object.defineProperty(t,"URLSearchParams",{value:h});var d=t.URLSearchParams.prototype;d.polyfill=!0,!u&&t.Symbol&&(d[t.Symbol.toStringTag]="URLSearchParams"),"forEach"in d||(d.forEach=function(t,e){var i=m(this.toString());Object.getOwnPropertyNames(i).forEach((function(n){i[n].forEach((function(i){t.call(e,i,n,this)}),this)}),this)}),"sort"in d||(d.sort=function(){var t,e,i,n=m(this.toString()),r=[];for(t in n)r.push(t);for(r.sort(),e=0;e<r.length;e++)this.delete(r[e]);for(e=0;e<r.length;e++){var a=r[e],s=n[a];for(i=0;i<s.length;i++)this.append(a,s[i])}}),"keys"in d||(d.keys=function(){var t=[];return this.forEach((function(e,i){t.push(i)})),g(t)}),"values"in d||(d.values=function(){var t=[];return this.forEach((function(e){t.push(e)})),g(t)}),"entries"in d||(d.entries=function(){var t=[];return this.forEach((function(e,i){t.push([i,e])})),g(t)}),c&&(d[t.Symbol.iterator]=d[t.Symbol.iterator]||d.entries),"size"in d||Object.defineProperty(d,"size",{get:function(){var t=m(this.toString());if(d===this)throw new TypeError("Illegal invocation at URLSearchParams.invokeGetter");return Object.keys(t).reduce((function(e,i){return e+t[i].length}),0)}})}function p(t){((t=t||"")instanceof URLSearchParams||t instanceof p)&&(t=t.toString()),this[s]=m(t)}function f(t){var e={"!":"%21","'":"%27","(":"%28",")":"%29","~":"%7E","%20":"+","%00":"\0"};return encodeURIComponent(t).replace(/[!'\(\)~]|%20|%00/g,(function(t){return e[t]}))}function A(t){return t.replace(/[ +]/g,"%20").replace(/(%[a-f0-9]{2})+/gi,(function(t){return decodeURIComponent(t)}))}function g(e){var i={next:function(){var t=e.shift();return{done:void 0===t,value:t}}};return c&&(i[t.Symbol.iterator]=function(){return i}),i}function m(t){var e={};if("object"==typeof t)if(_(t))for(var i=0;i<t.length;i++){var n=t[i];if(!_(n)||2!==n.length)throw new TypeError("Failed to construct 'URLSearchParams': Sequence initializer must only contain pair elements");v(e,n[0],n[1])}else for(var r in t)t.hasOwnProperty(r)&&v(e,r,t[r]);else{0===t.indexOf("?")&&(t=t.slice(1));for(var a=t.split("&"),s=0;s<a.length;s++){var o=a[s],l=o.indexOf("=");-1<l?v(e,A(o.slice(0,l)),A(o.slice(l+1))):o&&v(e,A(o),"")}}return e}function v(t,e,i){var n="string"==typeof i?i:null!=i&&"function"==typeof i.toString?i.toString():JSON.stringify(i);y(t,e)?t[e].push(n):t[e]=[n]}function _(t){return!!t&&"[object Array]"===Object.prototype.toString.call(t)}function y(t,e){return Object.prototype.hasOwnProperty.call(t,e)}}(void 0!==i.g?i.g:"undefined"!=typeof window?window:this)},96998:(e,i,n)=>{"use strict";n.r(i),n.d(i,{default:()=>xi});var r=n(85072),a=n.n(r),s=n(97825),o=n.n(s),l=n(77659),c=n.n(l),h=n(55056),u=n.n(h),d=n(10540),p=n.n(d),f=n(41113),A=n.n(f),g=n(86243),m={};m.styleTagTransform=A(),m.setAttributes=u(),m.insert=c().bind(null,"head"),m.domAPI=o(),m.insertStyleElement=p(),a()(g.A,m),g.A&&g.A.locals&&g.A.locals;var v=n(41944),_=n(67607);const y=function(t){var e=typeof t;return null!=t&&("object"==e||"function"==e)},w="object"==typeof global&&global&&global.Object===Object&&global;var C="object"==typeof self&&self&&self.Object===Object&&self;const E=w||C||Function("return this")(),b=function(){return E.Date.now()};var S=/\s/;var x=/^\s+/;const T=function(t){return t?t.slice(0,function(t){for(var e=t.length;e--&&S.test(t.charAt(e)););return e}(t)+1).replace(x,""):t},P=E.Symbol;var k=Object.prototype,R=k.hasOwnProperty,D=k.toString,I=P?P.toStringTag:void 0;var B=Object.prototype.toString;var N=P?P.toStringTag:void 0;const L=function(t){return null==t?void 0===t?"[object Undefined]":"[object Null]":N&&N in Object(t)?function(t){var e=R.call(t,I),i=t[I];try{t[I]=void 0;var n=!0}catch(t){}var r=D.call(t);return n&&(e?t[I]=i:delete t[I]),r}(t):function(t){return B.call(t)}(t)};var H=/^[-+]0x[0-9a-f]+$/i,O=/^0b[01]+$/i,Y=/^0o[0-7]+$/i,M=parseInt;const U=function(t){if("number"==typeof t)return t;if(function(t){return"symbol"==typeof t||function(t){return null!=t&&"object"==typeof t}(t)&&"[object Symbol]"==L(t)}(t))return NaN;if(y(t)){var e="function"==typeof t.valueOf?t.valueOf():t;t=y(e)?e+"":e}if("string"!=typeof t)return 0===t?t:+t;t=T(t);var i=O.test(t);return i||Y.test(t)?M(t.slice(2),i?2:8):H.test(t)?NaN:+t};var V=Math.max,F=Math.min;var z=n(24764),j=n(63420),q=n(85471),W=n(26287),$=n(37023),K=n(96763);const G=new class{constructor(){this.http=W.A}listCollection(t){return this.http.get((0,$.KT)("collaboration/resources/collections/{collectionId}",{collectionId:t}))}renameCollection(t,e){return this.http.put((0,$.KT)("collaboration/resources/collections/{collectionId}",{collectionId:t}),{collectionName:e}).then((t=>t.data.ocs.data))}getCollectionsByResource(t,e){return this.http.get((0,$.KT)("collaboration/resources/{resourceType}/{resourceId}",{resourceType:t,resourceId:e})).then((t=>t.data.ocs.data))}createCollection(t,e,i){return this.http.post((0,$.KT)("collaboration/resources/{resourceType}/{resourceId}",{resourceType:t,resourceId:e}),{name:i}).then((t=>t.data.ocs.data))}addResource(t,e,i){return i=""+i,this.http.post((0,$.KT)("collaboration/resources/collections/{collectionId}",{collectionId:t}),{resourceType:e,resourceId:i}).then((t=>t.data.ocs.data))}removeResource(t,e,i){return this.http.delete((0,$.KT)("collaboration/resources/collections/{collectionId}",{collectionId:t}),{params:{resourceType:e,resourceId:i}}).then((t=>t.data.ocs.data))}search(t){return this.http.get((0,$.KT)("collaboration/resources/collections/search/{query}",{query:t})).then((t=>t.data.ocs.data))}},Z=q.Ay.observable({collections:[]}),Q={addCollections(t){(0,q.hZ)(Z,"collections",t)},addCollection(t){Z.collections.push(t)},removeCollection(t){(0,q.hZ)(Z,"collections",Z.collections.filter((e=>e.id!==t)))},updateCollection(t){const e=Z.collections.findIndex((e=>e.id===t.id));-1!==e?(0,q.hZ)(Z.collections,e,t):Z.collections.push(t)}},J={fetchCollectionsByResource:({resourceType:t,resourceId:e})=>G.getCollectionsByResource(t,e).then((t=>(Q.addCollections(t),t))),createCollection:({baseResourceType:t,baseResourceId:e,resourceType:i,resourceId:n,name:r})=>G.createCollection(t,e,r).then((t=>{Q.addCollection(t),J.addResourceToCollection({collectionId:t.id,resourceType:i,resourceId:n})})),renameCollection:({collectionId:t,name:e})=>G.renameCollection(t,e).then((t=>(Q.updateCollection(t),t))),addResourceToCollection:({collectionId:t,resourceType:e,resourceId:i})=>G.addResource(t,e,i).then((t=>(Q.updateCollection(t),t))),removeResource:({collectionId:t,resourceType:e,resourceId:i})=>G.removeResource(t,e,i).then((t=>{t.resources.length>0?Q.updateCollection(t):Q.removeCollection(t)})),search:t=>G.search(t)};function X(t,e,i,n,r,a,s,o){var l,c="function"==typeof t?t.options:t;if(e&&(c.render=e,c.staticRenderFns=i,c._compiled=!0),n&&(c.functional=!0),a&&(c._scopeId="data-v-"+a),s?(l=function(t){!(t=t||this.$vnode&&this.$vnode.ssrContext||this.parent&&this.parent.$vnode&&this.parent.$vnode.ssrContext)&&typeof __VUE_SSR_CONTEXT__<"u"&&(t=__VUE_SSR_CONTEXT__),r&&r.call(this,t),t&&t._registeredComponents&&t._registeredComponents.add(s)},c._ssrRegister=l):r&&(l=o?function(){r.call(this,(c.functional?this.parent:this).$root.$options.shadowRoot)}:r),l)if(c.functional){c._injectStyles=l;var h=c.render;c.render=function(t,e){return l.call(e),h(t,e)}}else{var u=c.beforeCreate;c.beforeCreate=u?[].concat(u,l):[l]}return{exports:t,options:c}}const tt=X({name:"CollectionListItem",components:{NcAvatar:v.A,NcActions:z.A,NcActionButton:j.A},props:{collection:{type:Object,default:null}},data:()=>({detailsOpen:!1,newName:null,error:{}}),computed:{getIcon:()=>t=>[t.iconClass],typeClass:()=>t=>"resource-type-"+t.type,limitedResources:()=>t=>t.resources?t.resources.slice(0,2):[],iconUrl:()=>t=>t.mimetype?OC.MimeType.getIconUrl(t.mimetype):t.iconUrl?t.iconUrl:""},methods:{toggleDetails(){this.detailsOpen=!this.detailsOpen},showDetails(){this.detailsOpen=!0},hideDetails(){this.detailsOpen=!1},removeResource(t,e){J.removeResource({collectionId:t.id,resourceType:e.type,resourceId:e.id})},openRename(){this.newName=this.collection.name},renameCollection(){""!==this.newName?J.renameCollection({collectionId:this.collection.id,name:this.newName}).then((t=>{this.newName=null})).catch((e=>{this.$set(this.error,"rename",t("core","Failed to rename the project")),K.error(e),setTimeout((()=>{(0,q.hZ)(this.error,"rename",null)}),3e3)})):this.newName=null}}},(function(){var t=this,e=t._self._c;return e("li",{staticClass:"collection-list-item"},[e("NcAvatar",{staticClass:"collection-avatar",attrs:{"display-name":t.collection.name,"allow-placeholder":""}}),null===t.newName?e("span",{staticClass:"collection-item-name",attrs:{title:""},on:{click:t.showDetails}},[t._v(t._s(t.collection.name))]):e("form",{class:{shouldshake:t.error.rename},on:{submit:function(e){return e.preventDefault(),t.renameCollection.apply(null,arguments)}}},[e("input",{directives:[{name:"model",rawName:"v-model",value:t.newName,expression:"newName"}],attrs:{type:"text",autocomplete:"off",autocapitalize:"off"},domProps:{value:t.newName},on:{input:function(e){e.target.composing||(t.newName=e.target.value)}}}),e("input",{staticClass:"icon-confirm",attrs:{type:"submit",value:""}})]),t.detailsOpen||null!==t.newName?t._e():e("div",{staticClass:"linked-icons"},t._l(t.limitedResources(t.collection),(function(i){return e("a",{key:i.type+"|"+i.id,class:t.typeClass(i),attrs:{title:i.name,href:i.link}},[e("img",{attrs:{src:t.iconUrl(i)}})])})),0),null===t.newName?e("span",{staticClass:"sharingOptionsGroup"},[e("NcActions",[e("NcActionButton",{attrs:{icon:"icon-info"},on:{click:function(e){return e.preventDefault(),t.toggleDetails.apply(null,arguments)}}},[t._v(" "+t._s(t.detailsOpen?t.t("core","Hide details"):t.t("core","Show details"))+" ")]),e("NcActionButton",{attrs:{icon:"icon-rename"},on:{click:function(e){return e.preventDefault(),t.openRename.apply(null,arguments)}}},[t._v(" "+t._s(t.t("core","Rename project"))+" ")])],1)],1):t._e(),e("transition",{attrs:{name:"fade"}},[t.error.rename?e("div",{staticClass:"error"},[t._v(" "+t._s(t.error.rename)+" ")]):t._e()]),e("transition",{attrs:{name:"fade"}},[t.detailsOpen?e("ul",{staticClass:"resource-list-details"},t._l(t.collection.resources,(function(i){return e("li",{key:i.type+"|"+i.id,class:t.typeClass(i)},[e("a",{attrs:{href:i.link}},[e("img",{attrs:{src:t.iconUrl(i)}}),e("span",{staticClass:"resource-name"},[t._v(t._s(i.name||""))])]),e("span",{staticClass:"icon-close",on:{click:function(e){return t.removeResource(t.collection,i)}}})])})),0):t._e()])],1)}),[],!1,null,"8e58e0a5",null,null).exports,et=function(t,e,i){var n,r,a,s,o,l,c=0,h=!1,u=!1,d=!0;if("function"!=typeof t)throw new TypeError("Expected a function");function p(e){var i=n,a=r;return n=r=void 0,c=e,s=t.apply(a,i)}function f(t){var i=t-l;return void 0===l||i>=e||i<0||u&&t-c>=a}function A(){var t=b();if(f(t))return g(t);o=setTimeout(A,function(t){var i=e-(t-l);return u?F(i,a-(t-c)):i}(t))}function g(t){return o=void 0,d&&n?p(t):(n=r=void 0,s)}function m(){var t=b(),i=f(t);if(n=arguments,r=this,l=t,i){if(void 0===o)return function(t){return c=t,o=setTimeout(A,e),h?p(t):s}(l);if(u)return clearTimeout(o),o=setTimeout(A,e),p(l)}return void 0===o&&(o=setTimeout(A,e)),s}return e=U(e)||0,y(i)&&(h=!!i.leading,a=(u="maxWait"in i)?V(U(i.maxWait)||0,e):a,d="trailing"in i?!!i.trailing:d),m.cancel=function(){void 0!==o&&clearTimeout(o),c=0,n=l=r=o=void 0},m.flush=function(){return void 0===o?s:g(b())},m}((function(t,e){""!==t&&(e(!0),J.search(t).then((t=>{this.searchCollections=t})).catch((t=>{K.error("Failed to search for collections",t)})).finally((()=>{e(!1)})))}),500,{}),it=X({name:"CollectionList",components:{CollectionListItem:tt,NcAvatar:v.A,NcSelect:_.A},props:{type:{type:String,default:null},id:{type:String,default:null},name:{type:String,default:""},isActive:{type:Boolean,default:!0}},data:()=>({selectIsOpen:!1,generatingCodes:!1,codes:void 0,value:null,model:{},searchCollections:[],error:null,state:Z,isSelectOpen:!1}),computed:{collections(){return this.state.collections.filter((t=>typeof t.resources.find((t=>t&&t.id===""+this.id&&t.type===this.type))<"u"))},placeholder(){return this.isSelectOpen?t("core","Type to search for existing projects"):t("core","Add to a project")},options(){const t=[];window.OCP.Collaboration.getTypes().sort().forEach((e=>{t.push({method:0,type:e,title:window.OCP.Collaboration.getLabel(e),class:window.OCP.Collaboration.getIcon(e),action:()=>window.OCP.Collaboration.trigger(e)})}));for(const e in this.searchCollections)-1===this.collections.findIndex((t=>t.id===this.searchCollections[e].id))&&t.push({method:1,title:this.searchCollections[e].name,collectionId:this.searchCollections[e].id});return t}},watch:{type(){this.isActive&&J.fetchCollectionsByResource({resourceType:this.type,resourceId:this.id})},id(){this.isActive&&J.fetchCollectionsByResource({resourceType:this.type,resourceId:this.id})},isActive(t){t&&J.fetchCollectionsByResource({resourceType:this.type,resourceId:this.id})}},mounted(){J.fetchCollectionsByResource({resourceType:this.type,resourceId:this.id})},methods:{select(e,i){0===e.method&&e.action().then((i=>{J.createCollection({baseResourceType:this.type,baseResourceId:this.id,resourceType:e.type,resourceId:i,name:this.name}).catch((e=>{this.setError(t("core","Failed to create a project"),e)}))})).catch((t=>{K.error("No resource selected",t)})),1===e.method&&J.addResourceToCollection({collectionId:e.collectionId,resourceType:this.type,resourceId:this.id}).catch((e=>{this.setError(t("core","Failed to add the item to the project"),e)}))},search(t,e){et.bind(this)(t,e)},showSelect(){this.selectIsOpen=!0,this.$refs.select.$el.focus()},hideSelect(){this.selectIsOpen=!1},isVueComponent:t=>t._isVue,setError(t,e){K.error(t,e),this.error=t,setTimeout((()=>{this.error=null}),5e3)}}},(function(){var t=this,e=t._self._c;return t.collections&&t.type&&t.id?e("ul",{staticClass:"collection-list",attrs:{id:"collection-list"}},[e("li",{on:{click:t.showSelect}},[t._m(0),e("div",{attrs:{id:"collection-select-container"}},[e("NcSelect",{ref:"select",attrs:{"aria-label-combobox":t.t("core","Add to a project"),options:t.options,placeholder:t.placeholder,label:"title",limit:5},on:{close:function(e){t.isSelectOpen=!1},open:function(e){t.isSelectOpen=!0},"option:selected":t.select,search:t.search},scopedSlots:t._u([{key:"selected-option",fn:function(i){return[e("span",{staticClass:"option__desc"},[e("span",{staticClass:"option__title"},[t._v(t._s(i.title))])])]}},{key:"option",fn:function(i){return[e("span",{staticClass:"option__wrapper"},[i.class?e("span",{staticClass:"avatar",class:i.class}):2!==i.method?e("NcAvatar",{attrs:{"allow-placeholder":"","display-name":i.title}}):t._e(),e("span",{staticClass:"option__title"},[t._v(t._s(i.title))])],1)]}}],null,!1,2397208459),model:{value:t.value,callback:function(e){t.value=e},expression:"value"}},[e("p",{staticClass:"hint"},[t._v(" "+t._s(t.t("core","Connect items to a project to make them easier to find"))+" ")])])],1)]),e("transition",{attrs:{name:"fade"}},[t.error?e("li",{staticClass:"error"},[t._v(" "+t._s(t.error)+" ")]):t._e()]),t._l(t.collections,(function(t){return e("CollectionListItem",{key:t.id,attrs:{collection:t}})}))],2):t._e()}),[function(){var t=this._self._c;return t("div",{staticClass:"avatar"},[t("span",{staticClass:"icon-projects"})])}],!1,null,"75a4370b",null,null).exports;var nt=n(63814),rt=n(38613),at=n(87485);class st{constructor(){this._capabilities=(0,at.F)()}get defaultPermissions(){var t;return null===(t=this._capabilities.files_sharing)||void 0===t?void 0:t.default_permissions}get isPublicUploadEnabled(){var t;return null===(t=this._capabilities.files_sharing)||void 0===t?void 0:t.public.upload}get isShareWithLinkAllowed(){return document.getElementById("allowShareWithLink")&&"yes"===document.getElementById("allowShareWithLink").value}get federatedShareDocLink(){return OC.appConfig.core.federatedCloudShareDoc}get defaultExpirationDate(){return this.isDefaultExpireDateEnabled?new Date((new Date).setDate((new Date).getDate()+this.defaultExpireDate)):null}get defaultInternalExpirationDate(){return this.isDefaultInternalExpireDateEnabled?new Date((new Date).setDate((new Date).getDate()+this.defaultInternalExpireDate)):null}get defaultRemoteExpirationDateString(){return this.isDefaultRemoteExpireDateEnabled?new Date((new Date).setDate((new Date).getDate()+this.defaultRemoteExpireDate)):null}get enforcePasswordForPublicLink(){return!0===OC.appConfig.core.enforcePasswordForPublicLink}get enableLinkPasswordByDefault(){return!0===OC.appConfig.core.enableLinkPasswordByDefault}get isDefaultExpireDateEnforced(){return!0===OC.appConfig.core.defaultExpireDateEnforced}get isDefaultExpireDateEnabled(){return!0===OC.appConfig.core.defaultExpireDateEnabled}get isDefaultInternalExpireDateEnforced(){return!0===OC.appConfig.core.defaultInternalExpireDateEnforced}get isDefaultRemoteExpireDateEnforced(){return!0===OC.appConfig.core.defaultRemoteExpireDateEnforced}get isDefaultInternalExpireDateEnabled(){return!0===OC.appConfig.core.defaultInternalExpireDateEnabled}get isDefaultRemoteExpireDateEnabled(){return!0===OC.appConfig.core.defaultRemoteExpireDateEnabled}get isRemoteShareAllowed(){return!0===OC.appConfig.core.remoteShareAllowed}get isMailShareAllowed(){var t,e;return void 0!==(null===(t=this._capabilities)||void 0===t||null===(t=t.files_sharing)||void 0===t?void 0:t.sharebymail)&&!0===(null===(e=this._capabilities)||void 0===e||null===(e=e.files_sharing)||void 0===e||null===(e=e.public)||void 0===e?void 0:e.enabled)}get defaultExpireDate(){return OC.appConfig.core.defaultExpireDate}get defaultInternalExpireDate(){return OC.appConfig.core.defaultInternalExpireDate}get defaultRemoteExpireDate(){return OC.appConfig.core.defaultRemoteExpireDate}get isResharingAllowed(){return!0===OC.appConfig.core.resharingAllowed}get isPasswordForMailSharesRequired(){return void 0!==this._capabilities.files_sharing.sharebymail&&this._capabilities.files_sharing.sharebymail.password.enforced}get shouldAlwaysShowUnique(){var t;return!0===(null===(t=this._capabilities.files_sharing)||void 0===t||null===(t=t.sharee)||void 0===t?void 0:t.always_show_unique)}get allowGroupSharing(){return!0===OC.appConfig.core.allowGroupSharing}get maxAutocompleteResults(){return parseInt(OC.config["sharing.maxAutocompleteResults"],10)||25}get minSearchStringLength(){return parseInt(OC.config["sharing.minSearchStringLength"],10)||0}get passwordPolicy(){return this._capabilities.password_policy?this._capabilities.password_policy:{}}}var ot=n(52129),lt=n(96763);class ct{constructor(t){var e,i,n,r;if(i=this,r=void 0,(n=function(t){var e=function(t,e){if("object"!=typeof t||!t)return t;var i=t[Symbol.toPrimitive];if(void 0!==i){var n=i.call(t,"string");if("object"!=typeof n)return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(t)}(t);return"symbol"==typeof e?e:String(e)}(n="_share"))in i?Object.defineProperty(i,n,{value:r,enumerable:!0,configurable:!0,writable:!0}):i[n]=r,t.ocs&&t.ocs.data&&t.ocs.data[0]&&(t=t.ocs.data[0]),t.hide_download=!!t.hide_download,t.mail_send=!!t.mail_send,t.attributes&&"string"==typeof t.attributes)try{t.attributes=JSON.parse(t.attributes)}catch(e){lt.warn("Could not parse share attributes returned by server",t.attributes)}t.attributes=null!==(e=t.attributes)&&void 0!==e?e:[],this._share=t}get state(){return this._share}get id(){return this._share.id}get type(){return this._share.share_type}get permissions(){return this._share.permissions}get attributes(){return this._share.attributes}set permissions(t){this._share.permissions=t}get owner(){return this._share.uid_owner}get ownerDisplayName(){return this._share.displayname_owner}get shareWith(){return this._share.share_with}get shareWithDisplayName(){return this._share.share_with_displayname||this._share.share_with}get shareWithDisplayNameUnique(){return this._share.share_with_displayname_unique||this._share.share_with}get shareWithLink(){return this._share.share_with_link}get shareWithAvatar(){return this._share.share_with_avatar}get uidFileOwner(){return this._share.uid_file_owner}get displaynameFileOwner(){return this._share.displayname_file_owner||this._share.uid_file_owner}get createdTime(){return this._share.stime}get expireDate(){return this._share.expiration}set expireDate(t){this._share.expiration=t}get token(){return this._share.token}get note(){return this._share.note}set note(t){this._share.note=t}get label(){var t;return null!==(t=this._share.label)&&void 0!==t?t:""}set label(t){this._share.label=t}get mailSend(){return!0===this._share.mail_send}get hideDownload(){return!0===this._share.hide_download}set hideDownload(t){this._share.hide_download=!0===t}get password(){return this._share.password}set password(t){this._share.password=t}get passwordExpirationTime(){return this._share.password_expiration_time}set passwordExpirationTime(t){this._share.password_expiration_time=t}get sendPasswordByTalk(){return this._share.send_password_by_talk}set sendPasswordByTalk(t){this._share.send_password_by_talk=t}get path(){return this._share.path}get itemType(){return this._share.item_type}get mimetype(){return this._share.mimetype}get fileSource(){return this._share.file_source}get fileTarget(){return this._share.file_target}get fileParent(){return this._share.file_parent}get hasReadPermission(){return!!(this.permissions&OC.PERMISSION_READ)}get hasCreatePermission(){return!!(this.permissions&OC.PERMISSION_CREATE)}get hasDeletePermission(){return!!(this.permissions&OC.PERMISSION_DELETE)}get hasUpdatePermission(){return!!(this.permissions&OC.PERMISSION_UPDATE)}get hasSharePermission(){return!!(this.permissions&OC.PERMISSION_SHARE)}get hasDownloadPermission(){for(const t in this._share.attributes){const e=this._share.attributes[t];if("permissions"===e.scope&&"download"===e.key)return e.enabled}return!0}set hasDownloadPermission(t){this.setAttribute("permissions","download",!!t)}setAttribute(t,e,i){const n={scope:t,key:e,enabled:i};for(const t in this._share.attributes){const e=this._share.attributes[t];if(e.scope===n.scope&&e.key===n.key)return void this._share.attributes.splice(t,1,n)}this._share.attributes.push(n)}get canEdit(){return!0===this._share.can_edit}get canDelete(){return!0===this._share.can_delete}get viaFileid(){return this._share.via_fileid}get viaPath(){return this._share.via_path}get parent(){return this._share.parent}get storageId(){return this._share.storage_id}get storage(){return this._share.storage}get itemSource(){return this._share.item_source}get status(){return this._share.status}}const ht={data:()=>({SHARE_TYPES:ot.Z})};var ut=n(85168);const dt={name:"CheckBoldIcon",emits:["click"],props:{title:{type:String},fillColor:{type:String,default:"currentColor"},size:{type:Number,default:24}}};var pt=n(14486);const ft=(0,pt.A)(dt,(function(){var t=this,e=t._self._c;return e("span",t._b({staticClass:"material-design-icon check-bold-icon",attrs:{"aria-hidden":!t.title||null,"aria-label":t.title,role:"img"},on:{click:function(e){return t.$emit("click",e)}}},"span",t.$attrs,!1),[e("svg",{staticClass:"material-design-icon__svg",attrs:{fill:t.fillColor,width:t.size,height:t.size,viewBox:"0 0 24 24"}},[e("path",{attrs:{d:"M9,20.42L2.79,14.21L5.62,11.38L9,14.77L18.88,4.88L21.71,7.71L9,20.42Z"}},[t.title?e("title",[t._v(t._s(t.title))]):t._e()])])])}),[],!1,null,null,null).exports,At={name:"ClipboardFlowIcon",emits:["click"],props:{title:{type:String},fillColor:{type:String,default:"currentColor"},size:{type:Number,default:24}}},gt=(0,pt.A)(At,(function(){var t=this,e=t._self._c;return e("span",t._b({staticClass:"material-design-icon clipboard-flow-icon",attrs:{"aria-hidden":!t.title||null,"aria-label":t.title,role:"img"},on:{click:function(e){return t.$emit("click",e)}}},"span",t.$attrs,!1),[e("svg",{staticClass:"material-design-icon__svg",attrs:{fill:t.fillColor,width:t.size,height:t.size,viewBox:"0 0 24 24"}},[e("path",{attrs:{d:"M19,3H14.82C14.4,1.84 13.3,1 12,1C10.7,1 9.6,1.84 9.18,3H5A2,2 0 0,0 3,5V19A2,2 0 0,0 5,21H19A2,2 0 0,0 21,19V5A2,2 0 0,0 19,3M12,3A1,1 0 0,1 13,4A1,1 0 0,1 12,5A1,1 0 0,1 11,4A1,1 0 0,1 12,3M15,19L11,15H14V8H16V15H19L15,19M10,16H8V9H5L9,5L13,9H10V16"}},[t.title?e("title",[t._v(t._s(t.title))]):t._e()])])])}),[],!1,null,null,null).exports,mt={name:"SharingEntrySimple",components:{NcActions:z.A},props:{title:{type:String,default:"",required:!0},subtitle:{type:String,default:""},isUnique:{type:Boolean,default:!0},ariaExpanded:{type:Boolean,default:null}},computed:{ariaExpandedValue(){return null===this.ariaExpanded?this.ariaExpanded:this.ariaExpanded?"true":"false"}}};var vt=n(17557),_t={};_t.styleTagTransform=A(),_t.setAttributes=u(),_t.insert=c().bind(null,"head"),_t.domAPI=o(),_t.insertStyleElement=p(),a()(vt.A,_t),vt.A&&vt.A.locals&&vt.A.locals;const yt=(0,pt.A)(mt,(function(){var t=this,e=t._self._c;return e("li",{staticClass:"sharing-entry"},[t._t("avatar"),t._v(" "),e("div",{staticClass:"sharing-entry__desc"},[e("span",{staticClass:"sharing-entry__title"},[t._v(t._s(t.title))]),t._v(" "),t.subtitle?e("p",[t._v("\n\t\t\t"+t._s(t.subtitle)+"\n\t\t")]):t._e()]),t._v(" "),t.$slots.default?e("NcActions",{ref:"actionsComponent",staticClass:"sharing-entry__actions",attrs:{"menu-align":"right","aria-expanded":t.ariaExpandedValue}},[t._t("default")],2):t._e()],2)}),[],!1,null,"1852ea78",null).exports;var wt=n(96763);const Ct={name:"SharingEntryInternal",components:{NcActionButton:j.A,SharingEntrySimple:yt,CheckIcon:ft,ClipboardIcon:gt},props:{fileInfo:{type:Object,default:()=>{},required:!0}},data:()=>({copied:!1,copySuccess:!1}),computed:{internalLink(){return window.location.protocol+"//"+window.location.host+(0,nt.Jv)("/f/")+this.fileInfo.id},copyLinkTooltip(){return this.copied?this.copySuccess?"":t("files_sharing","Cannot copy, please copy the link manually"):t("files_sharing","Copy internal link to clipboard")},internalLinkSubtitle(){return"dir"===this.fileInfo.type?t("files_sharing","Only works for people with access to this folder"):t("files_sharing","Only works for people with access to this file")}},methods:{async copyLink(){try{await navigator.clipboard.writeText(this.internalLink),(0,ut.Te)(t("files_sharing","Link copied")),this.$refs.shareEntrySimple.$refs.actionsComponent.$el.focus(),this.copySuccess=!0,this.copied=!0}catch(t){this.copySuccess=!1,this.copied=!0,wt.error(t)}finally{setTimeout((()=>{this.copySuccess=!1,this.copied=!1}),4e3)}}}};var Et=n(16469),bt={};bt.styleTagTransform=A(),bt.setAttributes=u(),bt.insert=c().bind(null,"head"),bt.domAPI=o(),bt.insertStyleElement=p(),a()(Et.A,bt),Et.A&&Et.A.locals&&Et.A.locals;const St=(0,pt.A)(Ct,(function(){var t=this,e=t._self._c;return e("ul",[e("SharingEntrySimple",{ref:"shareEntrySimple",staticClass:"sharing-entry__internal",attrs:{title:t.t("files_sharing","Internal link"),subtitle:t.internalLinkSubtitle},scopedSlots:t._u([{key:"avatar",fn:function(){return[e("div",{staticClass:"avatar-external icon-external-white"})]},proxy:!0}])},[t._v(" "),e("NcActionButton",{attrs:{title:t.copyLinkTooltip,"aria-label":t.copyLinkTooltip},on:{click:t.copyLink},scopedSlots:t._u([{key:"icon",fn:function(){return[t.copied&&t.copySuccess?e("CheckIcon",{staticClass:"icon-checkmark-color",attrs:{size:20}}):e("ClipboardIcon",{attrs:{size:20}})]},proxy:!0}])})],1)],1)}),[],!1,null,"e40cd936",null).exports;var xt=n(21777),Tt=n(17334),Pt=n.n(Tt),kt=n(96763);const Rt=new st;async function Dt(){if(Rt.passwordPolicy.api&&Rt.passwordPolicy.api.generate)try{const e=await W.A.get(Rt.passwordPolicy.api.generate);if(e.data.ocs.data.password)return(0,ut.Te)(t("files_sharing","Password created successfully")),e.data.ocs.data.password}catch(e){kt.info("Error generating password from password_policy",e),(0,ut.Qg)(t("files_sharing","Error generating password from password policy"))}const e=new Uint8Array(10);self.crypto.getRandomValues(e);let i="";for(let t=0;t<e.length;t++)i+="abcdefgijkmnopqrstwxyzABCDEFGHJKLMNPQRSTWXYZ23456789".charAt(.20392156862745098*e[t]);return i}n(48318);var It=n(61338),Bt=n(96763);const Nt=(0,nt.KT)("apps/files_sharing/api/v1/shares"),Lt={methods:{async createShare(e){let{path:i,permissions:n,shareType:r,shareWith:a,publicUpload:s,password:o,sendPasswordByTalk:l,expireDate:c,label:h,note:u,attributes:d}=e;try{var p;const t=await W.A.post(Nt,{path:i,permissions:n,shareType:r,shareWith:a,publicUpload:s,password:o,sendPasswordByTalk:l,expireDate:c,label:h,note:u,attributes:d});if(null==t||null===(p=t.data)||void 0===p||!p.ocs)throw t;const e=new ct(t.data.ocs.data);return(0,It.Ic)("files_sharing:share:created",{share:e}),e}catch(e){var f;Bt.error("Error while creating share",e);const i=null==e||null===(f=e.response)||void 0===f||null===(f=f.data)||void 0===f||null===(f=f.ocs)||void 0===f||null===(f=f.meta)||void 0===f?void 0:f.message;throw OC.Notification.showTemporary(i?t("files_sharing","Error creating the share: {errorMessage}",{errorMessage:i}):t("files_sharing","Error creating the share"),{type:"error"}),e}},async deleteShare(e){try{var i;const t=await W.A.delete(Nt+"/".concat(e));if(null==t||null===(i=t.data)||void 0===i||!i.ocs)throw t;return(0,It.Ic)("files_sharing:share:deleted",{id:e}),!0}catch(e){var n;Bt.error("Error while deleting share",e);const i=null==e||null===(n=e.response)||void 0===n||null===(n=n.data)||void 0===n||null===(n=n.ocs)||void 0===n||null===(n=n.meta)||void 0===n?void 0:n.message;throw OC.Notification.showTemporary(i?t("files_sharing","Error deleting the share: {errorMessage}",{errorMessage:i}):t("files_sharing","Error deleting the share"),{type:"error"}),e}},async updateShare(e,i){try{var n;const t=await W.A.put(Nt+"/".concat(e),i);if((0,It.Ic)("files_sharing:share:updated",{id:e}),null!=t&&null!==(n=t.data)&&void 0!==n&&n.ocs)return t.data.ocs.data;throw t}catch(e){if(Bt.error("Error while updating share",e),400!==e.response.status){var r;const i=null==e||null===(r=e.response)||void 0===r||null===(r=r.data)||void 0===r||null===(r=r.ocs)||void 0===r||null===(r=r.meta)||void 0===r?void 0:r.message;OC.Notification.showTemporary(i?t("files_sharing","Error updating the share: {errorMessage}",{errorMessage:i}):t("files_sharing","Error updating the share"),{type:"error"})}const i=e.response.data.ocs.meta.message;throw new Error(i)}}}},Ht={methods:{async openSharingDetails(t){let e={};t.handler?(this.suggestions&&(t.suggestions=this.suggestions,t.fileInfo=this.fileInfo,t.query=this.query),e=await t.handler(t),e=new ct(e)):e=this.mapShareRequestToShareObject(t);const i={fileInfo:this.fileInfo,share:e};this.$emit("open-sharing-details",i)},openShareDetailsForCustomSettings(t){t.setCustomPermissions=!0,this.openSharingDetails(t)},mapShareRequestToShareObject(t){if(t.id)return t;const e={attributes:[{enabled:!0,key:"download",scope:"permissions"}],share_type:t.shareType,share_with:t.shareWith,is_no_user:t.isNoUser,user:t.shareWith,share_with_displayname:t.displayName,subtitle:t.subtitle,permissions:t.permissions,expiration:""};return new ct(e)}}};var Ot=n(96763);const Yt={name:"SharingInput",components:{NcSelect:_.A},mixins:[ht,Lt,Ht],props:{shares:{type:Array,default:()=>[],required:!0},linkShares:{type:Array,default:()=>[],required:!0},fileInfo:{type:Object,default:()=>{},required:!0},reshare:{type:ct,default:null},canReshare:{type:Boolean,required:!0}},data:()=>({config:new st,loading:!1,query:"",recommendations:[],ShareSearch:OCA.Sharing.ShareSearch.state,suggestions:[],value:null}),computed:{externalResults(){return this.ShareSearch.results},inputPlaceholder(){const e=this.config.isRemoteShareAllowed;return this.canReshare?e?t("files_sharing","Name, email, or Federated Cloud ID …"):t("files_sharing","Name or email …"):t("files_sharing","Resharing is not allowed")},isValidQuery(){return this.query&&""!==this.query.trim()&&this.query.length>this.config.minSearchStringLength},options(){return this.isValidQuery?this.suggestions:this.recommendations},noResultText(){return this.loading?t("files_sharing","Searching …"):t("files_sharing","No elements found.")}},mounted(){this.getRecommendations()},methods:{onSelected(t){this.value=null,this.openSharingDetails(t)},async asyncFind(t){this.query=t.trim(),this.isValidQuery&&(this.loading=!0,await this.debounceGetSuggestions(t))},async getSuggestions(e){let i=arguments.length>1&&void 0!==arguments[1]&&arguments[1];this.loading=!0,!0===(0,at.F)().files_sharing.sharee.query_lookup_default&&(i=!0);const n=[this.SHARE_TYPES.SHARE_TYPE_USER,this.SHARE_TYPES.SHARE_TYPE_GROUP,this.SHARE_TYPES.SHARE_TYPE_REMOTE,this.SHARE_TYPES.SHARE_TYPE_REMOTE_GROUP,this.SHARE_TYPES.SHARE_TYPE_CIRCLE,this.SHARE_TYPES.SHARE_TYPE_ROOM,this.SHARE_TYPES.SHARE_TYPE_GUEST,this.SHARE_TYPES.SHARE_TYPE_DECK,this.SHARE_TYPES.SHARE_TYPE_SCIENCEMESH];!0===(0,at.F)().files_sharing.public.enabled&&n.push(this.SHARE_TYPES.SHARE_TYPE_EMAIL);let r=null;try{r=await W.A.get((0,nt.KT)("apps/files_sharing/api/v1/sharees"),{params:{format:"json",itemType:"dir"===this.fileInfo.type?"folder":"file",search:e,lookup:i,perPage:this.config.maxAutocompleteResults,shareType:n}})}catch(t){return void Ot.error("Error fetching suggestions",t)}const a=r.data.ocs.data,s=r.data.ocs.data.exact;a.exact=[];const o=Object.values(s).reduce(((t,e)=>t.concat(e)),[]),l=Object.values(a).reduce(((t,e)=>t.concat(e)),[]),c=this.filterOutExistingShares(o).map((t=>this.formatForMultiselect(t))).sort(((t,e)=>t.shareType-e.shareType)),h=this.filterOutExistingShares(l).map((t=>this.formatForMultiselect(t))).sort(((t,e)=>t.shareType-e.shareType)),u=[];a.lookupEnabled&&!i&&u.push({id:"global-lookup",isNoUser:!0,displayName:t("files_sharing","Search globally"),lookup:!0});const d=this.externalResults.filter((t=>!t.condition||t.condition(this))),p=c.concat(h).concat(d).concat(u),f=p.reduce(((t,e)=>e.displayName?(t[e.displayName]||(t[e.displayName]=0),t[e.displayName]++,t):t),{});this.suggestions=p.map((t=>f[t.displayName]>1&&!t.desc?{...t,desc:t.shareWithDisplayNameUnique}:t)),this.loading=!1,Ot.info("suggestions",this.suggestions)},debounceGetSuggestions:Pt()((function(){this.getSuggestions(...arguments)}),300),async getRecommendations(){this.loading=!0;let t=null;try{t=await W.A.get((0,nt.KT)("apps/files_sharing/api/v1/sharees_recommended"),{params:{format:"json",itemType:this.fileInfo.type}})}catch(t){return void Ot.error("Error fetching recommendations",t)}const e=this.externalResults.filter((t=>!t.condition||t.condition(this))),i=Object.values(t.data.ocs.data.exact).reduce(((t,e)=>t.concat(e)),[]);this.recommendations=this.filterOutExistingShares(i).map((t=>this.formatForMultiselect(t))).concat(e),this.loading=!1,Ot.info("recommendations",this.recommendations)},filterOutExistingShares(t){return t.reduce(((t,e)=>{if("object"!=typeof e)return t;try{if(e.value.shareType===this.SHARE_TYPES.SHARE_TYPE_USER){if(e.value.shareWith===(0,xt.HW)().uid)return t;if(this.reshare&&e.value.shareWith===this.reshare.owner)return t}if(e.value.shareType===this.SHARE_TYPES.SHARE_TYPE_EMAIL){if(-1!==this.linkShares.map((t=>t.shareWith)).indexOf(e.value.shareWith.trim()))return t}else{const i=this.shares.reduce(((t,e)=>(t[e.shareWith]=e.type,t)),{}),n=e.value.shareWith.trim();if(n in i&&i[n]===e.value.shareType)return t}t.push(e)}catch{return t}return t}),[])},shareTypeToIcon(e){switch(e){case this.SHARE_TYPES.SHARE_TYPE_GUEST:return{icon:"icon-user",iconTitle:t("files_sharing","Guest")};case this.SHARE_TYPES.SHARE_TYPE_REMOTE_GROUP:case this.SHARE_TYPES.SHARE_TYPE_GROUP:return{icon:"icon-group",iconTitle:t("files_sharing","Group")};case this.SHARE_TYPES.SHARE_TYPE_EMAIL:return{icon:"icon-mail",iconTitle:t("files_sharing","Email")};case this.SHARE_TYPES.SHARE_TYPE_CIRCLE:return{icon:"icon-teams",iconTitle:t("files_sharing","Team")};case this.SHARE_TYPES.SHARE_TYPE_ROOM:return{icon:"icon-room",iconTitle:t("files_sharing","Talk conversation")};case this.SHARE_TYPES.SHARE_TYPE_DECK:return{icon:"icon-deck",iconTitle:t("files_sharing","Deck board")};case this.SHARE_TYPES.SHARE_TYPE_SCIENCEMESH:return{icon:"icon-sciencemesh",iconTitle:t("files_sharing","ScienceMesh")};default:return{}}},formatForMultiselect(e){let i;var n;if(e.value.shareType===this.SHARE_TYPES.SHARE_TYPE_USER&&this.config.shouldAlwaysShowUnique)i=null!==(n=e.shareWithDisplayNameUnique)&&void 0!==n?n:"";else if(e.value.shareType!==this.SHARE_TYPES.SHARE_TYPE_REMOTE&&e.value.shareType!==this.SHARE_TYPES.SHARE_TYPE_REMOTE_GROUP||!e.value.server)if(e.value.shareType===this.SHARE_TYPES.SHARE_TYPE_EMAIL)i=e.value.shareWith;else{var r;i=null!==(r=e.shareWithDescription)&&void 0!==r?r:""}else i=t("files_sharing","on {server}",{server:e.value.server});return{shareWith:e.value.shareWith,shareType:e.value.shareType,user:e.uuid||e.value.shareWith,isNoUser:e.value.shareType!==this.SHARE_TYPES.SHARE_TYPE_USER,displayName:e.name||e.label,subtitle:i,shareWithDisplayNameUnique:e.shareWithDisplayNameUnique||"",...this.shareTypeToIcon(e.value.shareType)}},async addShare(t){if(this.value=null,t.lookup)return await this.getSuggestions(this.query,!0),this.$nextTick((()=>{this.$refs.select.$children[0].open=!0})),!0;if(t.handler){const e=await t.handler(this);return this.$emit("add:share",new ct(e)),!0}this.loading=!0,Ot.debug("Adding a new share from the input for",t);try{let e=null;this.config.enforcePasswordForPublicLink&&t.shareType===this.SHARE_TYPES.SHARE_TYPE_EMAIL&&(e=await Dt());const i=(this.fileInfo.path+"/"+this.fileInfo.name).replace("//","/"),n=await this.createShare({path:i,shareType:t.shareType,shareWith:t.shareWith,password:e,permissions:this.fileInfo.sharePermissions&(0,at.F)().files_sharing.default_permissions,attributes:JSON.stringify(this.fileInfo.shareAttributes)});e?(n.newPassword=e,(await new Promise((t=>{this.$emit("add:share",n,t)}))).open=!0):this.$emit("add:share",n),await this.getRecommendations()}catch(e){this.$nextTick((()=>{this.$refs.select.$children[0].open=!0})),this.query=t.shareWith,Ot.error("Error while adding new share",e)}finally{this.loading=!1}}}};var Mt=n(75212),Ut={};Ut.styleTagTransform=A(),Ut.setAttributes=u(),Ut.insert=c().bind(null,"head"),Ut.domAPI=o(),Ut.insertStyleElement=p(),a()(Mt.A,Ut),Mt.A&&Mt.A.locals&&Mt.A.locals;const Vt=(0,pt.A)(Yt,(function(){var t=this,e=t._self._c;return e("div",{staticClass:"sharing-search"},[e("label",{attrs:{for:"sharing-search-input"}},[t._v(t._s(t.t("files_sharing","Search for share recipients")))]),t._v(" "),e("NcSelect",{ref:"select",staticClass:"sharing-search__input",attrs:{"input-id":"sharing-search-input",disabled:!t.canReshare,loading:t.loading,filterable:!1,placeholder:t.inputPlaceholder,"clear-search-on-blur":()=>!1,"user-select":!0,options:t.options},on:{search:t.asyncFind,"option:selected":t.onSelected},scopedSlots:t._u([{key:"no-options",fn:function(e){let{search:i}=e;return[t._v("\n\t\t\t"+t._s(i?t.noResultText:t.t("files_sharing","No recommendations. Start typing."))+"\n\t\t")]}}]),model:{value:t.value,callback:function(e){t.value=e},expression:"value"}})],1)}),[],!1,null,null,null).exports;var Ft=n(71089),zt=n(10700),jt=n(63961),qt=n(49264);const Wt={NONE:0,READ:1,UPDATE:2,CREATE:4,DELETE:8,SHARE:16},$t={READ_ONLY:Wt.READ,UPLOAD_AND_UPDATE:Wt.READ|Wt.UPDATE|Wt.CREATE|Wt.DELETE,FILE_DROP:Wt.CREATE,ALL:Wt.UPDATE|Wt.CREATE|Wt.READ|Wt.DELETE|Wt.SHARE,ALL_FILE:Wt.UPDATE|Wt.READ|Wt.SHARE};var Kt=n(96763);const Gt={mixins:[Lt,ht],props:{fileInfo:{type:Object,default:()=>{},required:!0},share:{type:ct,default:null},isUnique:{type:Boolean,default:!0}},data(){var t;return{config:new st,errors:{},loading:!1,saving:!1,open:!1,updateQueue:new qt.A({concurrency:1}),reactiveState:null===(t=this.share)||void 0===t?void 0:t.state}},computed:{hasNote:{get(){return""!==this.share.note},set(t){this.share.note=t?null:""}},dateTomorrow:()=>new Date((new Date).setDate((new Date).getDate()+1)),lang(){const t=window.dayNamesShort?window.dayNamesShort:["Sun.","Mon.","Tue.","Wed.","Thu.","Fri.","Sat."],e=window.monthNamesShort?window.monthNamesShort:["Jan.","Feb.","Mar.","Apr.","May.","Jun.","Jul.","Aug.","Sep.","Oct.","Nov.","Dec."];return{formatLocale:{firstDayOfWeek:window.firstDay?window.firstDay:0,monthsShort:e,weekdaysMin:t,weekdaysShort:t},monthFormat:"MMM"}},isFolder(){return"dir"===this.fileInfo.type},isPublicShare(){var t;const e=null!==(t=this.share.shareType)&&void 0!==t?t:this.share.type;return[this.SHARE_TYPES.SHARE_TYPE_LINK,this.SHARE_TYPES.SHARE_TYPE_EMAIL].includes(e)},isRemoteShare(){return this.share.type===this.SHARE_TYPES.SHARE_TYPE_REMOTE_GROUP||this.share.type===this.SHARE_TYPES.SHARE_TYPE_REMOTE},isShareOwner(){return this.share&&this.share.owner===(0,xt.HW)().uid},isExpiryDateEnforced(){return this.isPublicShare?this.config.isDefaultExpireDateEnforced:this.isRemoteShare?this.config.isDefaultRemoteExpireDateEnforced:this.config.isDefaultInternalExpireDateEnforced},hasCustomPermissions(){return![$t.ALL,$t.READ_ONLY,$t.FILE_DROP].includes(this.share.permissions)},maxExpirationDateEnforced(){return this.isExpiryDateEnforced?this.isPublicShare?this.config.defaultExpirationDate:this.isRemoteShare?this.config.defaultRemoteExpirationDateString:this.config.defaultInternalExpirationDate:null}},methods:{checkShare:t=>(!t.password||"string"==typeof t.password&&""!==t.password.trim())&&!(t.expirationDate&&!t.expirationDate.isValid()),parseDateString(t){var e;if(t)return new Date(null===(e=t.match(/([0-9]{4}-[0-9]{2}-[0-9]{2})/i))||void 0===e?void 0:e.pop())},formatDateToString:t=>new Date(Date.UTC(t.getFullYear(),t.getMonth(),t.getDate())).toISOString().split("T")[0],onExpirationChange:Pt()((function(t){this.share.expireDate=this.formatDateToString(new Date(t))}),500),onExpirationDisable(){this.share.expireDate=""},onNoteChange(t){this.$set(this.share,"newNote",t.trim())},onNoteSubmit(){this.share.newNote&&(this.share.note=this.share.newNote,this.$delete(this.share,"newNote"),this.queueUpdate("note"))},async onDelete(){try{this.loading=!0,this.open=!1,await this.deleteShare(this.share.id),Kt.debug("Share deleted",this.share.id);const e="file"===this.share.itemType?t("files_sharing",'File "{path}" has been unshared',{path:this.share.path}):t("files_sharing",'Folder "{path}" has been unshared',{path:this.share.path});(0,ut.Te)(e),this.$emit("remove:share",this.share)}catch(t){this.open=!0}finally{this.loading=!1}},queueUpdate(){for(var e=arguments.length,i=new Array(e),n=0;n<e;n++)i[n]=arguments[n];if(0!==i.length){if(this.share.id){const e={};return i.forEach((t=>{"object"==typeof this.share[t]?e[t]=JSON.stringify(this.share[t]):e[t]=this.share[t].toString()})),void this.updateQueue.add((async()=>{this.saving=!0,this.errors={};try{const n=await this.updateShare(this.share.id,e);i.indexOf("password")>=0&&(this.$delete(this.share,"newPassword"),this.share.passwordExpirationTime=n.password_expiration_time),this.$delete(this.errors,i[0]),(0,ut.Te)(t("files_sharing","Share {propertyName} saved",{propertyName:i[0]}))}catch({message:e}){e&&""!==e&&(this.onSyncError(i[0],e),(0,ut.Qg)(t("files_sharing",e)))}finally{this.saving=!1}}))}Kt.debug("Updated local share",this.share)}},onSyncError(t,e){switch(this.open=!0,t){case"password":case"pending":case"expireDate":case"label":case"note":{this.$set(this.errors,t,e);let i=this.$refs[t];if(i){i.$el&&(i=i.$el);const t=i.querySelector(".focusable");t&&t.focus()}break}case"sendPasswordByTalk":this.$set(this.errors,t,e),this.share.sendPasswordByTalk=!this.share.sendPasswordByTalk}},debounceQueueUpdate:Pt()((function(t){this.queueUpdate(t)}),500)}},Zt={name:"SharingEntryInherited",components:{NcActionButton:j.A,NcActionLink:zt.A,NcActionText:jt.A,NcAvatar:v.A,SharingEntrySimple:yt},mixins:[Gt],props:{share:{type:ct,required:!0}},computed:{viaFileTargetUrl(){return(0,nt.Jv)("/f/{fileid}",{fileid:this.share.viaFileid})},viaFolderName(){return(0,Ft.P8)(this.share.viaPath)}}};var Qt=n(41699),Jt={};Jt.styleTagTransform=A(),Jt.setAttributes=u(),Jt.insert=c().bind(null,"head"),Jt.domAPI=o(),Jt.insertStyleElement=p(),a()(Qt.A,Jt),Qt.A&&Qt.A.locals&&Qt.A.locals;const Xt=(0,pt.A)(Zt,(function(){var t=this,e=t._self._c;return e("SharingEntrySimple",{key:t.share.id,staticClass:"sharing-entry__inherited",attrs:{title:t.share.shareWithDisplayName},scopedSlots:t._u([{key:"avatar",fn:function(){return[e("NcAvatar",{staticClass:"sharing-entry__avatar",attrs:{user:t.share.shareWith,"display-name":t.share.shareWithDisplayName}})]},proxy:!0}])},[t._v(" "),e("NcActionText",{attrs:{icon:"icon-user"}},[t._v("\n\t\t"+t._s(t.t("files_sharing","Added by {initiator}",{initiator:t.share.ownerDisplayName}))+"\n\t")]),t._v(" "),t.share.viaPath&&t.share.viaFileid?e("NcActionLink",{attrs:{icon:"icon-folder",href:t.viaFileTargetUrl}},[t._v("\n\t\t"+t._s(t.t("files_sharing","Via “{folder}”",{folder:t.viaFolderName}))+"\n\t")]):t._e(),t._v(" "),t.share.canDelete?e("NcActionButton",{attrs:{icon:"icon-close"},on:{click:function(e){return e.preventDefault(),t.onDelete.apply(null,arguments)}}},[t._v("\n\t\t"+t._s(t.t("files_sharing","Unshare"))+"\n\t")]):t._e()],1)}),[],!1,null,"283ca89e",null).exports;var te=n(96763);const ee={name:"SharingInherited",components:{NcActionButton:j.A,SharingEntryInherited:Xt,SharingEntrySimple:yt},props:{fileInfo:{type:Object,default:()=>{},required:!0}},data:()=>({loaded:!1,loading:!1,showInheritedShares:!1,shares:[]}),computed:{showInheritedSharesIcon(){return this.loading?"icon-loading-small":this.showInheritedShares?"icon-triangle-n":"icon-triangle-s"},mainTitle:()=>t("files_sharing","Others with access"),subTitle(){return this.showInheritedShares&&0===this.shares.length?t("files_sharing","No other accounts with access found"):""},toggleTooltip(){return"dir"===this.fileInfo.type?t("files_sharing","Toggle list of others with access to this directory"):t("files_sharing","Toggle list of others with access to this file")},fullPath(){return"".concat(this.fileInfo.path,"/").concat(this.fileInfo.name).replace("//","/")}},watch:{fileInfo(){this.resetState()}},methods:{toggleInheritedShares(){this.showInheritedShares=!this.showInheritedShares,this.showInheritedShares?this.fetchInheritedShares():this.resetState()},async fetchInheritedShares(){this.loading=!0;try{const t=(0,nt.KT)("apps/files_sharing/api/v1/shares/inherited?format=json&path={path}",{path:this.fullPath}),e=await W.A.get(t);this.shares=e.data.ocs.data.map((t=>new ct(t))).sort(((t,e)=>e.createdTime-t.createdTime)),te.info(this.shares),this.loaded=!0}catch(e){OC.Notification.showTemporary(t("files_sharing","Unable to fetch inherited shares"),{type:"error"})}finally{this.loading=!1}},resetState(){this.loaded=!1,this.loading=!1,this.showInheritedShares=!1,this.shares=[]},removeShare(t){const e=this.shares.findIndex((e=>e===t));this.shares.splice(e,1)}}};var ie=n(4442),ne={};ne.styleTagTransform=A(),ne.setAttributes=u(),ne.insert=c().bind(null,"head"),ne.domAPI=o(),ne.insertStyleElement=p(),a()(ie.A,ne),ie.A&&ie.A.locals&&ie.A.locals;const re=(0,pt.A)(ee,(function(){var t=this,e=t._self._c;return e("ul",{attrs:{id:"sharing-inherited-shares"}},[e("SharingEntrySimple",{staticClass:"sharing-entry__inherited",attrs:{title:t.mainTitle,subtitle:t.subTitle,"aria-expanded":t.showInheritedShares},scopedSlots:t._u([{key:"avatar",fn:function(){return[e("div",{staticClass:"avatar-shared icon-more-white"})]},proxy:!0}])},[t._v(" "),e("NcActionButton",{attrs:{icon:t.showInheritedSharesIcon,"aria-label":t.toggleTooltip,title:t.toggleTooltip},on:{click:function(e){return e.preventDefault(),e.stopPropagation(),t.toggleInheritedShares.apply(null,arguments)}}})],1),t._v(" "),t._l(t.shares,(function(i){return e("SharingEntryInherited",{key:i.id,attrs:{"file-info":t.fileInfo,share:i},on:{"remove:share":t.removeShare}})}))],2)}),[],!1,null,"50f9af8c",null).exports;var ae=n(17816),se=n.n(ae),oe=n(44131),le=n(10501),ce=n(94219);const he={name:"TuneIcon",emits:["click"],props:{title:{type:String},fillColor:{type:String,default:"currentColor"},size:{type:Number,default:24}}},ue=(0,pt.A)(he,(function(){var t=this,e=t._self._c;return e("span",t._b({staticClass:"material-design-icon tune-icon",attrs:{"aria-hidden":!t.title||null,"aria-label":t.title,role:"img"},on:{click:function(e){return t.$emit("click",e)}}},"span",t.$attrs,!1),[e("svg",{staticClass:"material-design-icon__svg",attrs:{fill:t.fillColor,width:t.size,height:t.size,viewBox:"0 0 24 24"}},[e("path",{attrs:{d:"M3,17V19H9V17H3M3,5V7H13V5H3M13,21V19H21V17H13V15H11V21H13M7,9V11H3V13H7V15H9V9H7M21,13V11H11V13H21M15,9H17V7H21V5H17V3H15V9Z"}},[t.title?e("title",[t._v(t._s(t.title))]):t._e()])])])}),[],!1,null,null,null).exports,de={name:"QrcodeIcon",emits:["click"],props:{title:{type:String},fillColor:{type:String,default:"currentColor"},size:{type:Number,default:24}}},pe=(0,pt.A)(de,(function(){var t=this,e=t._self._c;return e("span",t._b({staticClass:"material-design-icon qrcode-icon",attrs:{"aria-hidden":!t.title||null,"aria-label":t.title,role:"img"},on:{click:function(e){return t.$emit("click",e)}}},"span",t.$attrs,!1),[e("svg",{staticClass:"material-design-icon__svg",attrs:{fill:t.fillColor,width:t.size,height:t.size,viewBox:"0 0 24 24"}},[e("path",{attrs:{d:"M3,11H5V13H3V11M11,5H13V9H11V5M9,11H13V15H11V13H9V11M15,11H17V13H19V11H21V13H19V15H21V19H19V21H17V19H13V21H11V17H15V15H17V13H15V11M19,19V15H17V19H19M15,3H21V9H15V3M17,5V7H19V5H17M3,3H9V9H3V3M5,5V7H7V5H5M3,15H9V21H3V15M5,17V19H7V17H5Z"}},[t.title?e("title",[t._v(t._s(t.title))]):t._e()])])])}),[],!1,null,null,null).exports,fe={name:"ExclamationIcon",emits:["click"],props:{title:{type:String},fillColor:{type:String,default:"currentColor"},size:{type:Number,default:24}}},Ae=(0,pt.A)(fe,(function(){var t=this,e=t._self._c;return e("span",t._b({staticClass:"material-design-icon exclamation-icon",attrs:{"aria-hidden":!t.title||null,"aria-label":t.title,role:"img"},on:{click:function(e){return t.$emit("click",e)}}},"span",t.$attrs,!1),[e("svg",{staticClass:"material-design-icon__svg",attrs:{fill:t.fillColor,width:t.size,height:t.size,viewBox:"0 0 24 24"}},[e("path",{attrs:{d:"M 11,4L 13,4L 13,15L 11,15L 11,4 Z M 13,18L 13,20L 11,20L 11,18L 13,18 Z"}},[t.title?e("title",[t._v(t._s(t.title))]):t._e()])])])}),[],!1,null,null,null).exports,ge={name:"LockIcon",emits:["click"],props:{title:{type:String},fillColor:{type:String,default:"currentColor"},size:{type:Number,default:24}}},me=(0,pt.A)(ge,(function(){var t=this,e=t._self._c;return e("span",t._b({staticClass:"material-design-icon lock-icon",attrs:{"aria-hidden":!t.title||null,"aria-label":t.title,role:"img"},on:{click:function(e){return t.$emit("click",e)}}},"span",t.$attrs,!1),[e("svg",{staticClass:"material-design-icon__svg",attrs:{fill:t.fillColor,width:t.size,height:t.size,viewBox:"0 0 24 24"}},[e("path",{attrs:{d:"M12,17A2,2 0 0,0 14,15C14,13.89 13.1,13 12,13A2,2 0 0,0 10,15A2,2 0 0,0 12,17M18,8A2,2 0 0,1 20,10V20A2,2 0 0,1 18,22H6A2,2 0 0,1 4,20V10C4,8.89 4.9,8 6,8H7V6A5,5 0 0,1 12,1A5,5 0 0,1 17,6V8H18M12,3A3,3 0 0,0 9,6V8H15V6A3,3 0 0,0 12,3Z"}},[t.title?e("title",[t._v(t._s(t.title))]):t._e()])])])}),[],!1,null,null,null).exports;var ve=n(24325),_e=n(27577);const ye={name:"TriangleSmallDownIcon",emits:["click"],props:{title:{type:String},fillColor:{type:String,default:"currentColor"},size:{type:Number,default:24}}},we=(0,pt.A)(ye,(function(){var t=this,e=t._self._c;return e("span",t._b({staticClass:"material-design-icon triangle-small-down-icon",attrs:{"aria-hidden":!t.title||null,"aria-label":t.title,role:"img"},on:{click:function(e){return t.$emit("click",e)}}},"span",t.$attrs,!1),[e("svg",{staticClass:"material-design-icon__svg",attrs:{fill:t.fillColor,width:t.size,height:t.size,viewBox:"0 0 24 24"}},[e("path",{attrs:{d:"M8 9H16L12 16"}},[t.title?e("title",[t._v(t._s(t.title))]):t._e()])])])}),[],!1,null,null,null).exports,Ce={name:"EyeOutlineIcon",emits:["click"],props:{title:{type:String},fillColor:{type:String,default:"currentColor"},size:{type:Number,default:24}}},Ee=(0,pt.A)(Ce,(function(){var t=this,e=t._self._c;return e("span",t._b({staticClass:"material-design-icon eye-outline-icon",attrs:{"aria-hidden":!t.title||null,"aria-label":t.title,role:"img"},on:{click:function(e){return t.$emit("click",e)}}},"span",t.$attrs,!1),[e("svg",{staticClass:"material-design-icon__svg",attrs:{fill:t.fillColor,width:t.size,height:t.size,viewBox:"0 0 24 24"}},[e("path",{attrs:{d:"M12,9A3,3 0 0,1 15,12A3,3 0 0,1 12,15A3,3 0 0,1 9,12A3,3 0 0,1 12,9M12,4.5C17,4.5 21.27,7.61 23,12C21.27,16.39 17,19.5 12,19.5C7,19.5 2.73,16.39 1,12C2.73,7.61 7,4.5 12,4.5M3.18,12C4.83,15.36 8.24,17.5 12,17.5C15.76,17.5 19.17,15.36 20.82,12C19.17,8.64 15.76,6.5 12,6.5C8.24,6.5 4.83,8.64 3.18,12Z"}},[t.title?e("title",[t._v(t._s(t.title))]):t._e()])])])}),[],!1,null,null,null).exports;var be=n(93919);const Se={name:"FileUploadIcon",emits:["click"],props:{title:{type:String},fillColor:{type:String,default:"currentColor"},size:{type:Number,default:24}}},xe=(0,pt.A)(Se,(function(){var t=this,e=t._self._c;return e("span",t._b({staticClass:"material-design-icon file-upload-icon",attrs:{"aria-hidden":!t.title||null,"aria-label":t.title,role:"img"},on:{click:function(e){return t.$emit("click",e)}}},"span",t.$attrs,!1),[e("svg",{staticClass:"material-design-icon__svg",attrs:{fill:t.fillColor,width:t.size,height:t.size,viewBox:"0 0 24 24"}},[e("path",{attrs:{d:"M14,2H6A2,2 0 0,0 4,4V20A2,2 0 0,0 6,22H18A2,2 0 0,0 20,20V8L14,2M13.5,16V19H10.5V16H8L12,12L16,16H13.5M13,9V3.5L18.5,9H13Z"}},[t.title?e("title",[t._v(t._s(t.title))]):t._e()])])])}),[],!1,null,null,null).exports,Te={name:"SharingEntryQuickShareSelect",components:{DropdownIcon:we,NcActions:z.A,NcActionButton:j.A},mixins:[Gt,Ht,ht],props:{share:{type:Object,required:!0}},emits:["open-sharing-details"],data:()=>({selectedOption:""}),computed:{ariaLabel(){return t("files_sharing",'Quick share options, the current selected is "{selectedOption}"',{selectedOption:this.selectedOption})},canViewText:()=>t("files_sharing","View only"),canEditText:()=>t("files_sharing","Can edit"),fileDropText:()=>t("files_sharing","File drop"),customPermissionsText:()=>t("files_sharing","Custom permissions"),preSelectedOption(){return(this.share.permissions&~Wt.SHARE)===$t.READ_ONLY?this.canViewText:this.share.permissions===$t.ALL||this.share.permissions===$t.ALL_FILE?this.canEditText:(this.share.permissions&~Wt.SHARE)===$t.FILE_DROP?this.fileDropText:this.customPermissionsText},options(){const t=[{label:this.canViewText,icon:Ee},{label:this.canEditText,icon:be.A}];return this.supportsFileDrop&&t.push({label:this.fileDropText,icon:xe}),t.push({label:this.customPermissionsText,icon:ue}),t},supportsFileDrop(){if(this.isFolder&&this.config.isPublicUploadEnabled){var t;const e=null!==(t=this.share.type)&&void 0!==t?t:this.share.shareType;return[this.SHARE_TYPES.SHARE_TYPE_LINK,this.SHARE_TYPES.SHARE_TYPE_EMAIL].includes(e)}return!1},dropDownPermissionValue(){switch(this.selectedOption){case this.canEditText:return this.isFolder?$t.ALL:$t.ALL_FILE;case this.fileDropText:return $t.FILE_DROP;case this.customPermissionsText:return"custom";case this.canViewText:default:return $t.READ_ONLY}}},created(){this.selectedOption=this.preSelectedOption},methods:{selectOption(t){this.selectedOption=t,t===this.customPermissionsText?this.$emit("open-sharing-details"):(this.share.permissions=this.dropDownPermissionValue,this.queueUpdate("permissions"),this.$refs.quickShareActions.$refs.menuButton.$el.focus())}}},Pe=Te;var ke=n(45340),Re={};Re.styleTagTransform=A(),Re.setAttributes=u(),Re.insert=c().bind(null,"head"),Re.domAPI=o(),Re.insertStyleElement=p(),a()(ke.A,Re),ke.A&&ke.A.locals&&ke.A.locals;const De=(0,pt.A)(Pe,(function(){var t=this,e=t._self._c;return e("NcActions",{ref:"quickShareActions",staticClass:"share-select",attrs:{"menu-name":t.selectedOption,"aria-label":t.ariaLabel,type:"tertiary-no-background","force-name":""},scopedSlots:t._u([{key:"icon",fn:function(){return[e("DropdownIcon",{attrs:{size:15}})]},proxy:!0}])},[t._v(" "),t._l(t.options,(function(i){return e("NcActionButton",{key:i.label,attrs:{type:"radio","model-value":i.label===t.selectedOption,"close-after-click":""},on:{click:function(e){return t.selectOption(i.label)}},scopedSlots:t._u([{key:"icon",fn:function(){return[e(i.icon,{tag:"component"})]},proxy:!0}],null,!0)},[t._v("\n\t\t"+t._s(i.label)+"\n\t")])}))],2)}),[],!1,null,"6e5dd9f1",null).exports,Ie={name:"ExternalShareAction",props:{id:{type:String,required:!0},action:{type:Object,default:()=>({})},fileInfo:{type:Object,default:()=>{},required:!0},share:{type:ct,default:null}},computed:{data(){return this.action.data(this)}}},Be=(0,pt.A)(Ie,(function(){var t=this;return(0,t._self._c)(t.data.is,t._g(t._b({tag:"Component"},"Component",t.data,!1),t.action.handlers),[t._v("\n\t"+t._s(t.data.text)+"\n")])}),[],!1,null,null,null).exports;var Ne=n(96763);const Le={name:"SharingEntryLink",components:{ExternalShareAction:Be,NcActions:z.A,NcActionButton:j.A,NcActionInput:oe.A,NcActionLink:zt.A,NcActionText:jt.A,NcActionSeparator:le.A,NcAvatar:v.A,NcDialog:ce.A,VueQrcode:se(),Tune:ue,IconQr:pe,ErrorIcon:Ae,LockIcon:me,CheckIcon:ft,ClipboardIcon:gt,CloseIcon:ve.A,PlusIcon:_e.A,SharingEntryQuickShareSelect:De},mixins:[Gt,Ht],props:{canReshare:{type:Boolean,default:!0},index:{type:Number,default:null}},data:()=>({copySuccess:!0,copied:!1,pending:!1,ExternalLegacyLinkActions:OCA.Sharing.ExternalLinkActions.state,ExternalShareActions:OCA.Sharing.ExternalShareActions.state,showQRCode:!1}),computed:{title(){if(this.share&&this.share.id){if(!this.isShareOwner&&this.share.ownerDisplayName)return this.isEmailShareType?t("files_sharing","{shareWith} by {initiator}",{shareWith:this.share.shareWith,initiator:this.share.ownerDisplayName}):t("files_sharing","Shared via link by {initiator}",{initiator:this.share.ownerDisplayName});if(this.share.label&&""!==this.share.label.trim())return this.isEmailShareType?t("files_sharing","Mail share ({label})",{label:this.share.label.trim()}):t("files_sharing","Share link ({label})",{label:this.share.label.trim()});if(this.isEmailShareType)return this.share.shareWith}return this.index>1?t("files_sharing","Share link ({index})",{index:this.index}):t("files_sharing","Share link")},subtitle(){return this.isEmailShareType&&this.title!==this.share.shareWith?this.share.shareWith:null},isPasswordProtected:{get(){return this.config.enforcePasswordForPublicLink||!!this.share.password},async set(t){q.Ay.set(this.share,"password",t?await Dt():""),q.Ay.set(this.share,"newPassword",this.share.password)}},passwordExpirationTime(){if(null===this.share.passwordExpirationTime)return null;const t=moment(this.share.passwordExpirationTime);return!(t.diff(moment())<0)&&t.fromNow()},isTalkEnabled:()=>void 0!==OC.appswebroots.spreed,isPasswordProtectedByTalkAvailable(){return this.isPasswordProtected&&this.isTalkEnabled},isPasswordProtectedByTalk:{get(){return this.share.sendPasswordByTalk},async set(t){this.share.sendPasswordByTalk=t}},isEmailShareType(){return!!this.share&&this.share.type===this.SHARE_TYPES.SHARE_TYPE_EMAIL},canTogglePasswordProtectedByTalkAvailable(){return!(!this.isPasswordProtected||this.isEmailShareType&&!this.hasUnsavedPassword)},pendingPassword(){return this.config.enableLinkPasswordByDefault&&this.share&&!this.share.id},pendingEnforcedPassword(){return this.config.enforcePasswordForPublicLink&&this.share&&!this.share.id},pendingExpirationDate(){return this.config.isDefaultExpireDateEnforced&&this.share&&!this.share.id},hasUnsavedPassword(){return void 0!==this.share.newPassword},shareLink(){return window.location.protocol+"//"+window.location.host+(0,nt.Jv)("/s/")+this.share.token},actionsTooltip(){return t("files_sharing",'Actions for "{title}"',{title:this.title})},copyLinkTooltip(){return this.copied?this.copySuccess?"":t("files_sharing","Cannot copy, please copy the link manually"):t("files_sharing",'Copy public link of "{title}" to clipboard',{title:this.title})},externalLegacyLinkActions(){return this.ExternalLegacyLinkActions.actions},externalLinkActions(){return this.ExternalShareActions.actions.filter((t=>(t.shareType.includes(ot.Z.SHARE_TYPE_LINK)||t.shareType.includes(ot.Z.SHARE_TYPE_EMAIL))&&!t.advanced))},isPasswordPolicyEnabled(){return"object"==typeof this.config.passwordPolicy},canChangeHideDownload(){return this.fileInfo.shareAttributes.some((t=>"download"===t.key&&"permissions"===t.scope&&!1===t.enabled))}},methods:{async onNewLinkShare(){if(this.loading)return;const e={share_type:ot.Z.SHARE_TYPE_LINK};if(this.config.isDefaultExpireDateEnforced&&(e.expiration=this.formatDateToString(this.config.defaultExpirationDate)),this.config.enableLinkPasswordByDefault||this.config.enforcePasswordForPublicLink||this.config.isDefaultExpireDateEnforced){if(this.pending=!0,this.share&&!this.share.id){if(this.checkShare(this.share)){try{await this.pushNewLinkShare(this.share,!0)}catch(t){return this.pending=!1,Ne.error(t),!1}return!0}return this.open=!0,OC.Notification.showTemporary(t("files_sharing","Error, please enter proper password and/or expiration date")),!1}(this.config.enableLinkPasswordByDefault||this.config.enforcePasswordForPublicLink)&&(e.password=await Dt());const i=new ct(e),n=await new Promise((t=>{this.$emit("add:share",i,t)}));this.open=!1,this.pending=!1,n.open=!0}else{const t=new ct(e);await this.pushNewLinkShare(t)}},async pushNewLinkShare(e,i){try{if(this.loading)return!0;this.loading=!0,this.errors={};const n={path:(this.fileInfo.path+"/"+this.fileInfo.name).replace("//","/"),shareType:ot.Z.SHARE_TYPE_LINK,password:e.password,expireDate:e.expireDate,attributes:JSON.stringify(this.fileInfo.shareAttributes)};Ne.debug("Creating link share with options",n);const r=await this.createShare(n);let a;this.open=!1,Ne.debug("Link share created",r),a=i?await new Promise((t=>{this.$emit("update:share",r,t)})):await new Promise((t=>{this.$emit("add:share",r,t)})),this.config.enforcePasswordForPublicLink||a.copyLink(),(0,ut.Te)(t("files_sharing","Link share created"))}catch(e){var n;const i=null==e||null===(n=e.response)||void 0===n||null===(n=n.data)||void 0===n||null===(n=n.ocs)||void 0===n||null===(n=n.meta)||void 0===n?void 0:n.message;if(!i)return(0,ut.Qg)(t("files_sharing","Error while creating the share")),void Ne.error(e);throw i.match(/password/i)?this.onSyncError("password",i):i.match(/date/i)?this.onSyncError("expireDate",i):this.onSyncError("pending",i),e}finally{this.loading=!1}},async copyLink(){try{await navigator.clipboard.writeText(this.shareLink),(0,ut.Te)(t("files_sharing","Link copied")),this.$refs.copyButton.$el.focus(),this.copySuccess=!0,this.copied=!0}catch(t){this.copySuccess=!1,this.copied=!0,Ne.error(t)}finally{setTimeout((()=>{this.copySuccess=!1,this.copied=!1}),4e3)}},onPasswordChange(t){this.$set(this.share,"newPassword",t)},onPasswordDisable(){this.share.password="",this.$delete(this.share,"newPassword"),this.share.id&&this.queueUpdate("password")},onPasswordSubmit(){this.hasUnsavedPassword&&(this.share.password=this.share.newPassword.trim(),this.queueUpdate("password"))},onPasswordProtectedByTalkChange(){this.hasUnsavedPassword&&(this.share.password=this.share.newPassword.trim()),this.queueUpdate("sendPasswordByTalk","password")},onMenuClose(){this.onPasswordSubmit(),this.onNoteSubmit()},onCancel(){this.$emit("remove:share",this.share)}}},He=Le;var Oe=n(86104),Ye={};Ye.styleTagTransform=A(),Ye.setAttributes=u(),Ye.insert=c().bind(null,"head"),Ye.domAPI=o(),Ye.insertStyleElement=p(),a()(Oe.A,Ye),Oe.A&&Oe.A.locals&&Oe.A.locals;const Me={name:"SharingLinkList",components:{SharingEntryLink:(0,pt.A)(He,(function(){var t=this,e=t._self._c;return e("li",{staticClass:"sharing-entry sharing-entry__link",class:{"sharing-entry--share":t.share}},[e("NcAvatar",{staticClass:"sharing-entry__avatar",attrs:{"is-no-user":!0,"icon-class":t.isEmailShareType?"avatar-link-share icon-mail-white":"avatar-link-share icon-public-white"}}),t._v(" "),e("div",{staticClass:"sharing-entry__summary"},[e("div",{staticClass:"sharing-entry__desc"},[e("span",{staticClass:"sharing-entry__title",attrs:{title:t.title}},[t._v("\n\t\t\t\t"+t._s(t.title)+"\n\t\t\t")]),t._v(" "),t.subtitle?e("p",[t._v("\n\t\t\t\t"+t._s(t.subtitle)+"\n\t\t\t")]):t._e(),t._v(" "),t.share&&void 0!==t.share.permissions?e("SharingEntryQuickShareSelect",{attrs:{share:t.share,"file-info":t.fileInfo},on:{"open-sharing-details":function(e){return t.openShareDetailsForCustomSettings(t.share)}}}):t._e()],1),t._v(" "),t.share&&!t.isEmailShareType&&t.share.token?e("NcActions",{ref:"copyButton",staticClass:"sharing-entry__copy"},[e("NcActionButton",{attrs:{title:t.copyLinkTooltip,"aria-label":t.copyLinkTooltip},on:{click:function(e){return e.preventDefault(),t.copyLink.apply(null,arguments)}},scopedSlots:t._u([{key:"icon",fn:function(){return[t.copied&&t.copySuccess?e("CheckIcon",{staticClass:"icon-checkmark-color",attrs:{size:20}}):e("ClipboardIcon",{attrs:{size:20}})]},proxy:!0}],null,!1,4269614823)})],1):t._e()],1),t._v(" "),!t.pending&&(t.pendingPassword||t.pendingEnforcedPassword||t.pendingExpirationDate)?e("NcActions",{staticClass:"sharing-entry__actions",attrs:{"aria-label":t.actionsTooltip,"menu-align":"right",open:t.open},on:{"update:open":function(e){t.open=e},close:t.onCancel}},[t.errors.pending?e("NcActionText",{staticClass:"error",scopedSlots:t._u([{key:"icon",fn:function(){return[e("ErrorIcon",{attrs:{size:20}})]},proxy:!0}],null,!1,1966124155)},[t._v("\n\t\t\t"+t._s(t.errors.pending)+"\n\t\t")]):e("NcActionText",{attrs:{icon:"icon-info"}},[t._v("\n\t\t\t"+t._s(t.t("files_sharing","Please enter the following required information before creating the share"))+"\n\t\t")]),t._v(" "),t.pendingEnforcedPassword?e("NcActionText",[e("LockIcon",{attrs:{size:20}}),t._v("\n\t\t\t"+t._s(t.t("files_sharing","Password protection (enforced)"))+"\n\t\t")],1):t.pendingPassword?e("NcActionCheckbox",{staticClass:"share-link-password-checkbox",attrs:{checked:t.isPasswordProtected,disabled:t.config.enforcePasswordForPublicLink||t.saving},on:{"update:checked":function(e){t.isPasswordProtected=e},uncheck:t.onPasswordDisable}},[t._v("\n\t\t\t"+t._s(t.t("files_sharing","Password protection"))+"\n\t\t")]):t._e(),t._v(" "),t.pendingEnforcedPassword||t.share.password?e("NcActionInput",{staticClass:"share-link-password",attrs:{value:t.share.password,disabled:t.saving,required:t.config.enableLinkPasswordByDefault||t.config.enforcePasswordForPublicLink,minlength:t.isPasswordPolicyEnabled&&t.config.passwordPolicy.minLength,icon:"",autocomplete:"new-password"},on:{"update:value":function(e){return t.$set(t.share,"password",e)},submit:t.onNewLinkShare}},[t._v("\n\t\t\t"+t._s(t.t("files_sharing","Enter a password"))+"\n\t\t")]):t._e(),t._v(" "),t.pendingExpirationDate?e("NcActionText",{attrs:{icon:"icon-calendar-dark"}},[t._v("\n\t\t\t"+t._s(t.t("files_sharing","Expiration date (enforced)"))+"\n\t\t")]):t._e(),t._v(" "),t.pendingExpirationDate?e("NcActionInput",{staticClass:"share-link-expire-date",attrs:{disabled:t.saving,"is-native-picker":!0,"hide-label":!0,value:new Date(t.share.expireDate),type:"date",min:t.dateTomorrow,max:t.maxExpirationDateEnforced},on:{input:t.onExpirationChange}},[t._v("\n\t\t\t"+t._s(t.t("files_sharing","Enter a date"))+"\n\t\t")]):t._e(),t._v(" "),e("NcActionButton",{on:{click:function(e){return e.preventDefault(),e.stopPropagation(),t.onNewLinkShare.apply(null,arguments)}},scopedSlots:t._u([{key:"icon",fn:function(){return[e("CheckIcon",{attrs:{size:20}})]},proxy:!0}],null,!1,2630571749)},[t._v("\n\t\t\t"+t._s(t.t("files_sharing","Create share"))+"\n\t\t")]),t._v(" "),e("NcActionButton",{on:{click:function(e){return e.preventDefault(),e.stopPropagation(),t.onCancel.apply(null,arguments)}},scopedSlots:t._u([{key:"icon",fn:function(){return[e("CloseIcon",{attrs:{size:20}})]},proxy:!0}],null,!1,2428343285)},[t._v("\n\t\t\t"+t._s(t.t("files_sharing","Cancel"))+"\n\t\t")])],1):t.loading?e("div",{staticClass:"icon-loading-small sharing-entry__loading"}):e("NcActions",{staticClass:"sharing-entry__actions",attrs:{"aria-label":t.actionsTooltip,"menu-align":"right",open:t.open},on:{"update:open":function(e){t.open=e},close:t.onMenuClose}},[t.share?[t.share.canEdit&&t.canReshare?[e("NcActionButton",{attrs:{disabled:t.saving,"close-after-click":!0},on:{click:function(e){return e.preventDefault(),t.openSharingDetails.apply(null,arguments)}},scopedSlots:t._u([{key:"icon",fn:function(){return[e("Tune",{attrs:{size:20}})]},proxy:!0}],null,!1,1300586850)},[t._v("\n\t\t\t\t\t"+t._s(t.t("files_sharing","Customize link"))+"\n\t\t\t\t")])]:t._e(),t._v(" "),e("NcActionButton",{attrs:{"close-after-click":!0},on:{click:function(e){e.preventDefault(),t.showQRCode=!0}},scopedSlots:t._u([{key:"icon",fn:function(){return[e("IconQr",{attrs:{size:20}})]},proxy:!0}],null,!1,1082198240)},[t._v("\n\t\t\t\t"+t._s(t.t("files_sharing","Generate QR code"))+"\n\t\t\t")]),t._v(" "),e("NcActionSeparator"),t._v(" "),t._l(t.externalLinkActions,(function(i){return e("ExternalShareAction",{key:i.id,attrs:{id:i.id,action:i,"file-info":t.fileInfo,share:t.share}})})),t._v(" "),t._l(t.externalLegacyLinkActions,(function(i,n){let{icon:r,url:a,name:s}=i;return e("NcActionLink",{key:n,attrs:{href:a(t.shareLink),icon:r,target:"_blank"}},[t._v("\n\t\t\t\t"+t._s(s)+"\n\t\t\t")])})),t._v(" "),!t.isEmailShareType&&t.canReshare?e("NcActionButton",{staticClass:"new-share-link",on:{click:function(e){return e.preventDefault(),e.stopPropagation(),t.onNewLinkShare.apply(null,arguments)}},scopedSlots:t._u([{key:"icon",fn:function(){return[e("PlusIcon",{attrs:{size:20}})]},proxy:!0}],null,!1,2953566425)},[t._v("\n\t\t\t\t"+t._s(t.t("files_sharing","Add another link"))+"\n\t\t\t")]):t._e(),t._v(" "),t.share.canDelete?e("NcActionButton",{attrs:{disabled:t.saving},on:{click:function(e){return e.preventDefault(),t.onDelete.apply(null,arguments)}},scopedSlots:t._u([{key:"icon",fn:function(){return[e("CloseIcon",{attrs:{size:20}})]},proxy:!0}],null,!1,2428343285)},[t._v("\n\t\t\t\t"+t._s(t.t("files_sharing","Unshare"))+"\n\t\t\t")]):t._e()]:t.canReshare?e("NcActionButton",{staticClass:"new-share-link",attrs:{title:t.t("files_sharing","Create a new share link"),"aria-label":t.t("files_sharing","Create a new share link"),icon:t.loading?"icon-loading-small":"icon-add"},on:{click:function(e){return e.preventDefault(),e.stopPropagation(),t.onNewLinkShare.apply(null,arguments)}}}):t._e()],2),t._v(" "),t.showQRCode?e("NcDialog",{attrs:{size:"normal",open:t.showQRCode,name:t.title,"close-on-click-outside":!0},on:{"update:open":function(e){t.showQRCode=e},close:function(e){t.showQRCode=!1}}},[e("div",{staticClass:"qr-code-dialog"},[e("VueQrcode",{staticClass:"qr-code-dialog__img",attrs:{tag:"img",value:t.shareLink}})],1)]):t._e()],1)}),[],!1,null,"1ac70a9b",null).exports},mixins:[ht,Ht],props:{fileInfo:{type:Object,default:()=>{},required:!0},shares:{type:Array,default:()=>[],required:!0},canReshare:{type:Boolean,required:!0}},data:()=>({canLinkShare:(0,at.F)().files_sharing.public.enabled}),computed:{hasLinkShares(){return this.shares.filter((t=>t.type===this.SHARE_TYPES.SHARE_TYPE_LINK)).length>0},hasShares(){return this.shares.length>0}},methods:{addShare(t,e){this.shares.unshift(t),this.awaitForShare(t,e)},awaitForShare(t,e){this.$nextTick((()=>{const i=this.$children.find((e=>e.share===t));i&&e(i)}))},removeShare(t){const e=this.shares.findIndex((e=>e===t));this.shares.splice(e,1)}}},Ue=(0,pt.A)(Me,(function(){var t=this,e=t._self._c;return t.canLinkShare?e("ul",{staticClass:"sharing-link-list"},[!t.hasLinkShares&&t.canReshare?e("SharingEntryLink",{attrs:{"can-reshare":t.canReshare,"file-info":t.fileInfo},on:{"add:share":t.addShare}}):t._e(),t._v(" "),t.hasShares?t._l(t.shares,(function(i,n){return e("SharingEntryLink",{key:i.id,attrs:{index:t.shares.length>1?n+1:null,"can-reshare":t.canReshare,share:t.shares[n],"file-info":t.fileInfo},on:{"update:share":[function(e){return t.$set(t.shares,n,e)},function(e){return t.awaitForShare(...arguments)}],"add:share":function(e){return t.addShare(...arguments)},"remove:share":t.removeShare,"open-sharing-details":function(e){return t.openSharingDetails(i)}}})})):t._e()],2):t._e()}),[],!1,null,null,null).exports;var Ve=n(9518);const Fe={name:"DotsHorizontalIcon",emits:["click"],props:{title:{type:String},fillColor:{type:String,default:"currentColor"},size:{type:Number,default:24}}},ze=(0,pt.A)(Fe,(function(){var t=this,e=t._self._c;return e("span",t._b({staticClass:"material-design-icon dots-horizontal-icon",attrs:{"aria-hidden":!t.title||null,"aria-label":t.title,role:"img"},on:{click:function(e){return t.$emit("click",e)}}},"span",t.$attrs,!1),[e("svg",{staticClass:"material-design-icon__svg",attrs:{fill:t.fillColor,width:t.size,height:t.size,viewBox:"0 0 24 24"}},[e("path",{attrs:{d:"M16,12A2,2 0 0,1 18,10A2,2 0 0,1 20,12A2,2 0 0,1 18,14A2,2 0 0,1 16,12M10,12A2,2 0 0,1 12,10A2,2 0 0,1 14,12A2,2 0 0,1 12,14A2,2 0 0,1 10,12M4,12A2,2 0 0,1 6,10A2,2 0 0,1 8,12A2,2 0 0,1 6,14A2,2 0 0,1 4,12Z"}},[t.title?e("title",[t._v(t._s(t.title))]):t._e()])])])}),[],!1,null,null,null).exports,je={name:"SharingEntry",components:{NcButton:Ve.A,NcAvatar:v.A,DotsHorizontalIcon:ze,NcSelect:_.A,SharingEntryQuickShareSelect:De},mixins:[Gt,Ht],computed:{title(){let e=this.share.shareWithDisplayName;return this.share.type===this.SHARE_TYPES.SHARE_TYPE_GROUP?e+=" (".concat(t("files_sharing","group"),")"):this.share.type===this.SHARE_TYPES.SHARE_TYPE_ROOM?e+=" (".concat(t("files_sharing","conversation"),")"):this.share.type===this.SHARE_TYPES.SHARE_TYPE_REMOTE?e+=" (".concat(t("files_sharing","remote"),")"):this.share.type===this.SHARE_TYPES.SHARE_TYPE_REMOTE_GROUP?e+=" (".concat(t("files_sharing","remote group"),")"):this.share.type===this.SHARE_TYPES.SHARE_TYPE_GUEST&&(e+=" (".concat(t("files_sharing","guest"),")")),e},tooltip(){if(this.share.owner!==this.share.uidFileOwner){const e={user:this.share.shareWithDisplayName,owner:this.share.ownerDisplayName};return this.share.type===this.SHARE_TYPES.SHARE_TYPE_GROUP?t("files_sharing","Shared with the group {user} by {owner}",e):this.share.type===this.SHARE_TYPES.SHARE_TYPE_ROOM?t("files_sharing","Shared with the conversation {user} by {owner}",e):t("files_sharing","Shared with {user} by {owner}",e)}return null},hasStatus(){return this.share.type===this.SHARE_TYPES.SHARE_TYPE_USER&&"object"==typeof this.share.status&&!Array.isArray(this.share.status)}},methods:{onMenuClose(){this.onNoteSubmit()}}};var qe=n(42572),We={};We.styleTagTransform=A(),We.setAttributes=u(),We.insert=c().bind(null,"head"),We.domAPI=o(),We.insertStyleElement=p(),a()(qe.A,We),qe.A&&qe.A.locals&&qe.A.locals;const $e={name:"SharingList",components:{SharingEntry:(0,pt.A)(je,(function(){var t=this,e=t._self._c;return e("li",{staticClass:"sharing-entry"},[e("NcAvatar",{staticClass:"sharing-entry__avatar",attrs:{"is-no-user":t.share.type!==t.SHARE_TYPES.SHARE_TYPE_USER,user:t.share.shareWith,"display-name":t.share.shareWithDisplayName,"menu-position":"left",url:t.share.shareWithAvatar}}),t._v(" "),e("div",{staticClass:"sharing-entry__summary"},[e(t.share.shareWithLink?"a":"div",{tag:"component",staticClass:"sharing-entry__summary__desc",attrs:{title:t.tooltip,"aria-label":t.tooltip,href:t.share.shareWithLink}},[e("span",[t._v(t._s(t.title)+"\n\t\t\t\t"),t.isUnique?t._e():e("span",{staticClass:"sharing-entry__summary__desc-unique"},[t._v(" ("+t._s(t.share.shareWithDisplayNameUnique)+")")]),t._v(" "),t.hasStatus&&t.share.status.message?e("small",[t._v("("+t._s(t.share.status.message)+")")]):t._e()])]),t._v(" "),e("SharingEntryQuickShareSelect",{attrs:{share:t.share,"file-info":t.fileInfo},on:{"open-sharing-details":function(e){return t.openShareDetailsForCustomSettings(t.share)}}})],1),t._v(" "),e("NcButton",{staticClass:"sharing-entry__action",attrs:{"data-cy-files-sharing-share-actions":"","aria-label":t.t("files_sharing","Open Sharing Details"),type:"tertiary"},on:{click:function(e){return t.openSharingDetails(t.share)}},scopedSlots:t._u([{key:"icon",fn:function(){return[e("DotsHorizontalIcon",{attrs:{size:20}})]},proxy:!0}])})],1)}),[],!1,null,"79edc2ff",null).exports},mixins:[ht,Ht],props:{fileInfo:{type:Object,default:()=>{},required:!0},shares:{type:Array,default:()=>[],required:!0}},computed:{hasShares(){return 0===this.shares.length},isUnique(){return t=>[...this.shares].filter((e=>t.type===this.SHARE_TYPES.SHARE_TYPE_USER&&t.shareWithDisplayName===e.shareWithDisplayName)).length<=1}}},Ke=(0,pt.A)($e,(function(){var t=this,e=t._self._c;return e("ul",{staticClass:"sharing-sharee-list"},t._l(t.shares,(function(i){return e("SharingEntry",{key:i.id,attrs:{"file-info":t.fileInfo,share:i,"is-unique":t.isUnique(i)},on:{"open-sharing-details":function(e){return t.openSharingDetails(i)}}})})),1)}),[],!1,null,null,null).exports;var Ge=n(53334),Ze=n(44492),Qe=n(16044),Je=n(43899),Xe=n(32073),ti=n(46222);const ei={name:"CircleOutlineIcon",emits:["click"],props:{title:{type:String},fillColor:{type:String,default:"currentColor"},size:{type:Number,default:24}}},ii=(0,pt.A)(ei,(function(){var t=this,e=t._self._c;return e("span",t._b({staticClass:"material-design-icon circle-outline-icon",attrs:{"aria-hidden":!t.title||null,"aria-label":t.title,role:"img"},on:{click:function(e){return t.$emit("click",e)}}},"span",t.$attrs,!1),[e("svg",{staticClass:"material-design-icon__svg",attrs:{fill:t.fillColor,width:t.size,height:t.size,viewBox:"0 0 24 24"}},[e("path",{attrs:{d:"M12,20A8,8 0 0,1 4,12A8,8 0 0,1 12,4A8,8 0 0,1 20,12A8,8 0 0,1 12,20M12,2A10,10 0 0,0 2,12A10,10 0 0,0 12,22A10,10 0 0,0 22,12A10,10 0 0,0 12,2Z"}},[t.title?e("title",[t._v(t._s(t.title))]):t._e()])])])}),[],!1,null,null,null).exports,ni={name:"EmailIcon",emits:["click"],props:{title:{type:String},fillColor:{type:String,default:"currentColor"},size:{type:Number,default:24}}},ri=(0,pt.A)(ni,(function(){var t=this,e=t._self._c;return e("span",t._b({staticClass:"material-design-icon email-icon",attrs:{"aria-hidden":!t.title||null,"aria-label":t.title,role:"img"},on:{click:function(e){return t.$emit("click",e)}}},"span",t.$attrs,!1),[e("svg",{staticClass:"material-design-icon__svg",attrs:{fill:t.fillColor,width:t.size,height:t.size,viewBox:"0 0 24 24"}},[e("path",{attrs:{d:"M20,8L12,13L4,8V6L12,11L20,6M20,4H4C2.89,4 2,4.89 2,6V18A2,2 0 0,0 4,20H20A2,2 0 0,0 22,18V6C22,4.89 21.1,4 20,4Z"}},[t.title?e("title",[t._v(t._s(t.title))]):t._e()])])])}),[],!1,null,null,null).exports;var ai=n(89979),si=n(72755);const oi={name:"ShareCircleIcon",emits:["click"],props:{title:{type:String},fillColor:{type:String,default:"currentColor"},size:{type:Number,default:24}}},li=(0,pt.A)(oi,(function(){var t=this,e=t._self._c;return e("span",t._b({staticClass:"material-design-icon share-circle-icon",attrs:{"aria-hidden":!t.title||null,"aria-label":t.title,role:"img"},on:{click:function(e){return t.$emit("click",e)}}},"span",t.$attrs,!1),[e("svg",{staticClass:"material-design-icon__svg",attrs:{fill:t.fillColor,width:t.size,height:t.size,viewBox:"0 0 24 24"}},[e("path",{attrs:{d:"M12 2C6.5 2 2 6.5 2 12S6.5 22 12 22 22 17.5 22 12 17.5 2 12 2M14 16V13C10.39 13 7.81 14.43 6 17C6.72 13.33 8.94 9.73 14 9V6L19 11L14 16Z"}},[t.title?e("title",[t._v(t._s(t.title))]):t._e()])])])}),[],!1,null,null,null).exports,ci={name:"AccountCircleOutlineIcon",emits:["click"],props:{title:{type:String},fillColor:{type:String,default:"currentColor"},size:{type:Number,default:24}}},hi=(0,pt.A)(ci,(function(){var t=this,e=t._self._c;return e("span",t._b({staticClass:"material-design-icon account-circle-outline-icon",attrs:{"aria-hidden":!t.title||null,"aria-label":t.title,role:"img"},on:{click:function(e){return t.$emit("click",e)}}},"span",t.$attrs,!1),[e("svg",{staticClass:"material-design-icon__svg",attrs:{fill:t.fillColor,width:t.size,height:t.size,viewBox:"0 0 24 24"}},[e("path",{attrs:{d:"M12,2A10,10 0 0,0 2,12A10,10 0 0,0 12,22A10,10 0 0,0 22,12A10,10 0 0,0 12,2M7.07,18.28C7.5,17.38 10.12,16.5 12,16.5C13.88,16.5 16.5,17.38 16.93,18.28C15.57,19.36 13.86,20 12,20C10.14,20 8.43,19.36 7.07,18.28M18.36,16.83C16.93,15.09 13.46,14.5 12,14.5C10.54,14.5 7.07,15.09 5.64,16.83C4.62,15.5 4,13.82 4,12C4,7.59 7.59,4 12,4C16.41,4 20,7.59 20,12C20,13.82 19.38,15.5 18.36,16.83M12,6C10.06,6 8.5,7.56 8.5,9.5C8.5,11.44 10.06,13 12,13C13.94,13 15.5,11.44 15.5,9.5C15.5,7.56 13.94,6 12,6M12,11A1.5,1.5 0 0,1 10.5,9.5A1.5,1.5 0 0,1 12,8A1.5,1.5 0 0,1 13.5,9.5A1.5,1.5 0 0,1 12,11Z"}},[t.title?e("title",[t._v(t._s(t.title))]):t._e()])])])}),[],!1,null,null,null).exports,ui={name:"EyeIcon",emits:["click"],props:{title:{type:String},fillColor:{type:String,default:"currentColor"},size:{type:Number,default:24}}},di=(0,pt.A)(ui,(function(){var t=this,e=t._self._c;return e("span",t._b({staticClass:"material-design-icon eye-icon",attrs:{"aria-hidden":!t.title||null,"aria-label":t.title,role:"img"},on:{click:function(e){return t.$emit("click",e)}}},"span",t.$attrs,!1),[e("svg",{staticClass:"material-design-icon__svg",attrs:{fill:t.fillColor,width:t.size,height:t.size,viewBox:"0 0 24 24"}},[e("path",{attrs:{d:"M12,9A3,3 0 0,0 9,12A3,3 0 0,0 12,15A3,3 0 0,0 15,12A3,3 0 0,0 12,9M12,17A5,5 0 0,1 7,12A5,5 0 0,1 12,7A5,5 0 0,1 17,12A5,5 0 0,1 12,17M12,4.5C7,4.5 2.73,7.61 1,12C2.73,16.39 7,19.5 12,19.5C17,19.5 21.27,16.39 23,12C21.27,7.61 17,4.5 12,4.5Z"}},[t.title?e("title",[t._v(t._s(t.title))]):t._e()])])])}),[],!1,null,null,null).exports;var pi=n(45821),fi=n(1795),Ai=n(33017),gi=n(96763);const mi={name:"SharingDetailsTab",components:{NcAvatar:v.A,NcButton:Ve.A,NcInputField:Ze.A,NcPasswordField:Qe.A,NcDateTimePickerNative:Je.A,NcCheckboxRadioSwitch:Xe.A,NcLoadingIcon:ti.A,CloseIcon:ve.A,CircleIcon:ii,EditIcon:be.A,ExternalShareAction:Be,LinkIcon:ai.A,GroupIcon:si.A,ShareIcon:li,UserIcon:hi,UploadIcon:pi.A,ViewIcon:di,MenuDownIcon:fi.A,MenuUpIcon:Ai.A,DotsHorizontalIcon:ze},mixins:[ht,Lt,Gt],props:{shareRequestValue:{type:Object,required:!1},fileInfo:{type:Object,required:!0},share:{type:Object,required:!0}},data:()=>({writeNoteToRecipientIsChecked:!1,sharingPermission:$t.ALL.toString(),revertSharingPermission:$t.ALL.toString(),setCustomPermissions:!1,passwordError:!1,advancedSectionAccordionExpanded:!1,bundledPermissions:$t,isFirstComponentLoad:!0,test:!1,creating:!1,ExternalShareActions:OCA.Sharing.ExternalShareActions.state}),computed:{title(){switch(this.share.type){case this.SHARE_TYPES.SHARE_TYPE_USER:return t("files_sharing","Share with {userName}",{userName:this.share.shareWithDisplayName});case this.SHARE_TYPES.SHARE_TYPE_EMAIL:return t("files_sharing","Share with email {email}",{email:this.share.shareWith});case this.SHARE_TYPES.SHARE_TYPE_LINK:return t("files_sharing","Share link");case this.SHARE_TYPES.SHARE_TYPE_GROUP:return t("files_sharing","Share with group");case this.SHARE_TYPES.SHARE_TYPE_ROOM:return t("files_sharing","Share in conversation");case this.SHARE_TYPES.SHARE_TYPE_REMOTE:{const[e,i]=this.share.shareWith.split("@");return t("files_sharing","Share with {user} on remote server {server}",{user:e,server:i})}case this.SHARE_TYPES.SHARE_TYPE_REMOTE_GROUP:return t("files_sharing","Share with remote group");case this.SHARE_TYPES.SHARE_TYPE_GUEST:return t("files_sharing","Share with guest");default:return this.share.id?t("files_sharing","Update share"):t("files_sharing","Create share")}},canEdit:{get(){return this.share.hasUpdatePermission},set(t){this.updateAtomicPermissions({isEditChecked:t})}},canCreate:{get(){return this.share.hasCreatePermission},set(t){this.updateAtomicPermissions({isCreateChecked:t})}},canDelete:{get(){return this.share.hasDeletePermission},set(t){this.updateAtomicPermissions({isDeleteChecked:t})}},canReshare:{get(){return this.share.hasSharePermission},set(t){this.updateAtomicPermissions({isReshareChecked:t})}},canDownload:{get(){var t;return(null===(t=this.share.attributes.find((t=>"download"===t.key)))||void 0===t?void 0:t.enabled)||!1},set(t){const e=this.share.attributes.find((t=>"download"===t.key));e&&(e.enabled=t)}},hasRead:{get(){return this.share.hasReadPermission},set(t){this.updateAtomicPermissions({isReadChecked:t})}},hasExpirationDate:{get(){return this.isValidShareAttribute(this.share.expireDate)},set(t){this.share.expireDate=t?this.formatDateToString(this.defaultExpiryDate):""}},isPasswordProtected:{get(){return this.config.enforcePasswordForPublicLink||!!this.share.password},async set(t){t?(this.share.password=await Dt(),this.$set(this.share,"newPassword",this.share.password)):(this.share.password="",this.$delete(this.share,"newPassword"))}},isFolder(){return"dir"===this.fileInfo.type},isSetDownloadButtonVisible(){return this.isFolder||["application/msword","application/vnd.openxmlformats-officedocument.wordprocessingml.document","application/vnd.ms-powerpoint","application/vnd.openxmlformats-officedocument.presentationml.presentation","application/vnd.ms-excel","application/vnd.openxmlformats-officedocument.spreadsheetml.sheet","application/vnd.oasis.opendocument.text","application/vnd.oasis.opendocument.spreadsheet","application/vnd.oasis.opendocument.presentation"].includes(this.fileInfo.mimetype)},isPasswordEnforced(){return this.isPublicShare&&this.config.enforcePasswordForPublicLink},defaultExpiryDate(){return(this.isGroupShare||this.isUserShare)&&this.config.isDefaultInternalExpireDateEnabled?new Date(this.config.defaultInternalExpirationDate):this.isRemoteShare&&this.config.isDefaultRemoteExpireDateEnabled?new Date(this.config.defaultRemoteExpireDateEnabled):this.isPublicShare&&this.config.isDefaultExpireDateEnabled?new Date(this.config.defaultExpirationDate):new Date((new Date).setDate((new Date).getDate()+1))},isUserShare(){return this.share.type===this.SHARE_TYPES.SHARE_TYPE_USER},isGroupShare(){return this.share.type===this.SHARE_TYPES.SHARE_TYPE_GROUP},isNewShare(){return!this.share.id},allowsFileDrop(){return!(!this.isFolder||!this.config.isPublicUploadEnabled||this.share.type!==this.SHARE_TYPES.SHARE_TYPE_LINK&&this.share.type!==this.SHARE_TYPES.SHARE_TYPE_EMAIL)},hasFileDropPermissions(){return this.share.permissions===this.bundledPermissions.FILE_DROP},shareButtonText(){return this.isNewShare?t("files_sharing","Save share"):t("files_sharing","Update share")},canSetEdit(){return this.fileInfo.sharePermissions&OC.PERMISSION_UPDATE||this.canEdit},canSetCreate(){return this.fileInfo.sharePermissions&OC.PERMISSION_CREATE||this.canCreate},canSetDelete(){return this.fileInfo.sharePermissions&OC.PERMISSION_DELETE||this.canDelete},canSetReshare(){return this.fileInfo.sharePermissions&OC.PERMISSION_SHARE||this.canReshare},canSetDownload(){return this.fileInfo.canDownload()||this.canDownload},hasUnsavedPassword(){return void 0!==this.share.newPassword},passwordExpirationTime(){if(!this.isValidShareAttribute(this.share.passwordExpirationTime))return null;const t=moment(this.share.passwordExpirationTime);return!(t.diff(moment())<0)&&t.fromNow()},isTalkEnabled:()=>void 0!==OC.appswebroots.spreed,isPasswordProtectedByTalkAvailable(){return this.isPasswordProtected&&this.isTalkEnabled},isPasswordProtectedByTalk:{get(){return this.share.sendPasswordByTalk},async set(t){this.share.sendPasswordByTalk=t}},isEmailShareType(){return!!this.share&&this.share.type===this.SHARE_TYPES.SHARE_TYPE_EMAIL},canTogglePasswordProtectedByTalkAvailable(){return!(!this.isPublicShare||!this.isPasswordProtected||this.isEmailShareType&&!this.hasUnsavedPassword||void 0===OC.appswebroots.spreed)},canChangeHideDownload(){return this.fileInfo.shareAttributes.some((t=>"download"===t.key&&"permissions"===t.scope&&!1===t.enabled))},customPermissionsList(){const t={[Wt.READ]:this.t("files_sharing","Read"),[Wt.CREATE]:this.t("files_sharing","Create"),[Wt.UPDATE]:this.t("files_sharing","Edit"),[Wt.SHARE]:this.t("files_sharing","Share"),[Wt.DELETE]:this.t("files_sharing","Delete")};return[Wt.READ,Wt.CREATE,Wt.UPDATE,Wt.SHARE,Wt.DELETE].filter((t=>{return e=this.share.permissions,i=t,e!==Wt.NONE&&(e&i)===i;var e,i})).map(((e,i)=>0===i?t[e]:t[e].toLocaleLowerCase((0,Ge.Z0)()))).join(", ")},advancedControlExpandedValue(){return this.advancedSectionAccordionExpanded?"true":"false"},errorPasswordLabel(){if(this.passwordError)return t("files_sharing","Password field can't be empty")},externalLinkActions(){return this.ExternalShareActions.actions.filter((t=>(t.shareType.includes(ot.Z.SHARE_TYPE_LINK)||t.shareType.includes(ot.Z.SHARE_TYPE_EMAIL))&&t.advanced))}},watch:{setCustomPermissions(t){this.sharingPermission=t?"custom":this.revertSharingPermission}},beforeMount(){this.initializePermissions(),this.initializeAttributes(),gi.debug("shareSentIn",this.share),gi.debug("config",this.config)},mounted(){var t;null===(t=this.$refs.quickPermissions)||void 0===t||null===(t=t.querySelector("input:checked"))||void 0===t||t.focus()},methods:{updateAtomicPermissions(){let{isReadChecked:t=this.hasRead,isEditChecked:e=this.canEdit,isCreateChecked:i=this.canCreate,isDeleteChecked:n=this.canDelete,isReshareChecked:r=this.canReshare}=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};const a=0|(t?Wt.READ:0)|(i?Wt.CREATE:0)|(n?Wt.DELETE:0)|(e?Wt.UPDATE:0)|(r?Wt.SHARE:0);this.share.permissions=a},expandCustomPermissions(){this.advancedSectionAccordionExpanded||(this.advancedSectionAccordionExpanded=!0),this.toggleCustomPermissions()},toggleCustomPermissions(t){const e="custom"===this.sharingPermission;this.revertSharingPermission=e?"custom":t,this.setCustomPermissions=e},async initializeAttributes(){if(this.isNewShare)return this.isPasswordEnforced&&this.isPublicShare&&(this.$set(this.share,"newPassword",await Dt()),this.advancedSectionAccordionExpanded=!0),this.isPublicShare&&this.config.isDefaultExpireDateEnabled?this.share.expireDate=this.config.defaultExpirationDate.toDateString():this.isRemoteShare&&this.config.isDefaultRemoteExpireDateEnabled?this.share.expireDate=this.config.defaultRemoteExpirationDateString.toDateString():this.config.isDefaultInternalExpireDateEnabled&&(this.share.expireDate=this.config.defaultInternalExpirationDate.toDateString()),void(this.isValidShareAttribute(this.share.expireDate)&&(this.advancedSectionAccordionExpanded=!0));!this.isValidShareAttribute(this.share.expireDate)&&this.isExpiryDateEnforced&&(this.hasExpirationDate=!0),(this.isValidShareAttribute(this.share.password)||this.isValidShareAttribute(this.share.expireDate)||this.isValidShareAttribute(this.share.label))&&(this.advancedSectionAccordionExpanded=!0)},handleShareType(){"shareType"in this.share?this.share.type=this.share.shareType:this.share.share_type&&(this.share.type=this.share.share_type)},handleDefaultPermissions(){if(this.isNewShare){const t=this.config.defaultPermissions;t===$t.READ_ONLY||t===$t.ALL?this.sharingPermission=t.toString():(this.sharingPermission="custom",this.share.permissions=t,this.advancedSectionAccordionExpanded=!0,this.setCustomPermissions=!0)}},handleCustomPermissions(){this.isNewShare||!this.hasCustomPermissions&&!this.share.setCustomPermissions?this.share.permissions&&(this.sharingPermission=this.share.permissions.toString()):(this.sharingPermission="custom",this.advancedSectionAccordionExpanded=!0,this.setCustomPermissions=!0)},initializePermissions(){this.handleShareType(),this.handleDefaultPermissions(),this.handleCustomPermissions()},async saveShare(){var t;const e=["permissions","attributes","note","expireDate"];this.isPublicShare&&e.push("label","password","hideDownload");const i=parseInt(this.sharingPermission);if(this.setCustomPermissions?this.updateAtomicPermissions():this.share.permissions=i,this.isFolder||this.share.permissions!==$t.ALL||(this.share.permissions=$t.ALL_FILE),this.writeNoteToRecipientIsChecked||(this.share.note=""),this.isPasswordProtected?this.hasUnsavedPassword&&this.isValidShareAttribute(this.share.newPassword)?(this.share.password=this.share.newPassword,this.$delete(this.share,"newPassword")):this.isPasswordEnforced&&!this.isValidShareAttribute(this.share.password)&&(this.passwordError=!0):this.share.password="",this.hasExpirationDate||(this.share.expireDate=""),this.isNewShare){const t={permissions:this.share.permissions,shareType:this.share.type,shareWith:this.share.shareWith,attributes:this.share.attributes,note:this.share.note,fileInfo:this.fileInfo};t.expireDate=this.hasExpirationDate?this.share.expireDate:"",this.isPasswordProtected&&(t.password=this.share.password),this.creating=!0;const e=await this.addShare(t,this.fileInfo);this.creating=!1,this.share=e,this.$emit("add:share",this.share)}else this.queueUpdate(...e);(null===(t=this.$refs.externalLinkActions)||void 0===t?void 0:t.length)>0&&await Promise.allSettled(this.$refs.externalLinkActions.map((t=>{var e,i,n;return"function"!=typeof(null===(e=t.$children.at(0))||void 0===e?void 0:e.onSave)?Promise.resolve():null===(i=t.$children.at(0))||void 0===i||null===(n=i.onSave)||void 0===n?void 0:n.call(i)}))),this.$emit("close-sharing-details")},async addShare(t,e){gi.debug("Adding a new share from the input for",t);try{const i=(e.path+"/"+e.name).replace("//","/");return await this.createShare({path:i,shareType:t.shareType,shareWith:t.shareWith,permissions:t.permissions,expireDate:t.expireDate,attributes:JSON.stringify(t.attributes),...t.note?{note:t.note}:{},...t.password?{password:t.password}:{}})}catch(t){gi.error("Error while adding new share",t)}},async removeShare(){await this.onDelete(),this.$emit("close-sharing-details")},onPasswordChange(t){this.passwordError=!this.isValidShareAttribute(t),this.$set(this.share,"newPassword",t)},onPasswordProtectedByTalkChange(){this.hasUnsavedPassword&&(this.share.password=this.share.newPassword.trim()),this.queueUpdate("sendPasswordByTalk","password")},isValidShareAttribute:t=>![null,void 0].includes(t)&&t.trim().length>0,getShareTypeIcon(t){switch(t){case this.SHARE_TYPES.SHARE_TYPE_LINK:return ai.A;case this.SHARE_TYPES.SHARE_TYPE_GUEST:return hi;case this.SHARE_TYPES.SHARE_TYPE_REMOTE_GROUP:case this.SHARE_TYPES.SHARE_TYPE_GROUP:return si.A;case this.SHARE_TYPES.SHARE_TYPE_EMAIL:return ri;case this.SHARE_TYPES.SHARE_TYPE_CIRCLE:return ii;case this.SHARE_TYPES.SHARE_TYPE_ROOM:case this.SHARE_TYPES.SHARE_TYPE_DECK:case this.SHARE_TYPES.SHARE_TYPE_SCIENCEMESH:return li;default:return null}}}};var vi=n(3643),_i={};_i.styleTagTransform=A(),_i.setAttributes=u(),_i.insert=c().bind(null,"head"),_i.domAPI=o(),_i.insertStyleElement=p(),a()(vi.A,_i),vi.A&&vi.A.locals&&vi.A.locals;const yi=(0,pt.A)(mi,(function(){var t,e=this,i=e._self._c;return i("div",{staticClass:"sharingTabDetailsView"},[i("div",{staticClass:"sharingTabDetailsView__header"},[i("span",[e.isUserShare?i("NcAvatar",{staticClass:"sharing-entry__avatar",attrs:{"is-no-user":e.share.shareType!==e.SHARE_TYPES.SHARE_TYPE_USER,user:e.share.shareWith,"display-name":e.share.shareWithDisplayName,"menu-position":"left",url:e.share.shareWithAvatar}}):e._e(),e._v(" "),i(e.getShareTypeIcon(e.share.type),{tag:"component",attrs:{size:32}})],1),e._v(" "),i("span",[i("h1",[e._v(e._s(e.title))])])]),e._v(" "),i("div",{staticClass:"sharingTabDetailsView__wrapper"},[i("div",{ref:"quickPermissions",staticClass:"sharingTabDetailsView__quick-permissions"},[i("div",[i("NcCheckboxRadioSwitch",{attrs:{"button-variant":!0,"data-cy-files-sharing-share-permissions-bundle":"read-only",checked:e.sharingPermission,value:e.bundledPermissions.READ_ONLY.toString(),name:"sharing_permission_radio",type:"radio","button-variant-grouped":"vertical"},on:{"update:checked":[function(t){e.sharingPermission=t},e.toggleCustomPermissions]},scopedSlots:e._u([{key:"icon",fn:function(){return[i("ViewIcon",{attrs:{size:20}})]},proxy:!0}])},[e._v("\n\t\t\t\t\t"+e._s(e.t("files_sharing","View only"))+"\n\t\t\t\t\t")]),e._v(" "),i("NcCheckboxRadioSwitch",{attrs:{"button-variant":!0,"data-cy-files-sharing-share-permissions-bundle":"upload-edit",checked:e.sharingPermission,value:e.bundledPermissions.ALL.toString(),name:"sharing_permission_radio",type:"radio","button-variant-grouped":"vertical"},on:{"update:checked":[function(t){e.sharingPermission=t},e.toggleCustomPermissions]},scopedSlots:e._u([{key:"icon",fn:function(){return[i("EditIcon",{attrs:{size:20}})]},proxy:!0}])},[e.allowsFileDrop?[e._v("\n\t\t\t\t\t\t"+e._s(e.t("files_sharing","Allow upload and editing"))+"\n\t\t\t\t\t")]:[e._v("\n\t\t\t\t\t\t"+e._s(e.t("files_sharing","Allow editing"))+"\n\t\t\t\t\t")]],2),e._v(" "),e.allowsFileDrop?i("NcCheckboxRadioSwitch",{attrs:{"data-cy-files-sharing-share-permissions-bundle":"file-drop","button-variant":!0,checked:e.sharingPermission,value:e.bundledPermissions.FILE_DROP.toString(),name:"sharing_permission_radio",type:"radio","button-variant-grouped":"vertical"},on:{"update:checked":[function(t){e.sharingPermission=t},e.toggleCustomPermissions]},scopedSlots:e._u([{key:"icon",fn:function(){return[i("UploadIcon",{attrs:{size:20}})]},proxy:!0}],null,!1,1083194048)},[e._v("\n\t\t\t\t\t"+e._s(e.t("files_sharing","File drop"))+"\n\t\t\t\t\t"),i("small",{staticClass:"subline"},[e._v(e._s(e.t("files_sharing","Upload only")))])]):e._e(),e._v(" "),i("NcCheckboxRadioSwitch",{attrs:{"button-variant":!0,"data-cy-files-sharing-share-permissions-bundle":"custom",checked:e.sharingPermission,value:"custom",name:"sharing_permission_radio",type:"radio","button-variant-grouped":"vertical"},on:{"update:checked":[function(t){e.sharingPermission=t},e.expandCustomPermissions]},scopedSlots:e._u([{key:"icon",fn:function(){return[i("DotsHorizontalIcon",{attrs:{size:20}})]},proxy:!0}])},[e._v("\n\t\t\t\t\t"+e._s(e.t("files_sharing","Custom permissions"))+"\n\t\t\t\t\t"),i("small",{staticClass:"subline"},[e._v(e._s(e.customPermissionsList))])])],1)]),e._v(" "),i("div",{staticClass:"sharingTabDetailsView__advanced-control"},[i("NcButton",{attrs:{id:"advancedSectionAccordionAdvancedControl",type:"tertiary",alignment:"end-reverse","aria-controls":"advancedSectionAccordionAdvanced","aria-expanded":e.advancedControlExpandedValue},on:{click:function(t){e.advancedSectionAccordionExpanded=!e.advancedSectionAccordionExpanded}},scopedSlots:e._u([{key:"icon",fn:function(){return[e.advancedSectionAccordionExpanded?i("MenuUpIcon"):i("MenuDownIcon")]},proxy:!0}])},[e._v("\n\t\t\t\t"+e._s(e.t("files_sharing","Advanced settings"))+"\n\t\t\t\t")])],1),e._v(" "),e.advancedSectionAccordionExpanded?i("div",{staticClass:"sharingTabDetailsView__advanced",attrs:{id:"advancedSectionAccordionAdvanced","aria-labelledby":"advancedSectionAccordionAdvancedControl",role:"region"}},[i("section",[e.isPublicShare?i("NcInputField",{attrs:{autocomplete:"off",label:e.t("files_sharing","Share label"),value:e.share.label},on:{"update:value":function(t){return e.$set(e.share,"label",t)}}}):e._e(),e._v(" "),e.isPublicShare?[i("NcCheckboxRadioSwitch",{attrs:{checked:e.isPasswordProtected,disabled:e.isPasswordEnforced},on:{"update:checked":function(t){e.isPasswordProtected=t}}},[e._v("\n\t\t\t\t\t\t"+e._s(e.t("files_sharing","Set password"))+"\n\t\t\t\t\t")]),e._v(" "),e.isPasswordProtected?i("NcPasswordField",{attrs:{autocomplete:"new-password",value:e.hasUnsavedPassword?e.share.newPassword:"",error:e.passwordError,"helper-text":e.errorPasswordLabel,required:e.isPasswordEnforced,label:e.t("files_sharing","Password")},on:{"update:value":e.onPasswordChange}}):e._e(),e._v(" "),e.isEmailShareType&&e.passwordExpirationTime?i("span",{attrs:{icon:"icon-info"}},[e._v("\n\t\t\t\t\t\t"+e._s(e.t("files_sharing","Password expires {passwordExpirationTime}",{passwordExpirationTime:e.passwordExpirationTime}))+"\n\t\t\t\t\t")]):e.isEmailShareType&&null!==e.passwordExpirationTime?i("span",{attrs:{icon:"icon-error"}},[e._v("\n\t\t\t\t\t\t"+e._s(e.t("files_sharing","Password expired"))+"\n\t\t\t\t\t")]):e._e()]:e._e(),e._v(" "),e.canTogglePasswordProtectedByTalkAvailable?i("NcCheckboxRadioSwitch",{attrs:{checked:e.isPasswordProtectedByTalk},on:{"update:checked":[function(t){e.isPasswordProtectedByTalk=t},e.onPasswordProtectedByTalkChange]}},[e._v("\n\t\t\t\t\t"+e._s(e.t("files_sharing","Video verification"))+"\n\t\t\t\t")]):e._e(),e._v(" "),i("NcCheckboxRadioSwitch",{attrs:{checked:e.hasExpirationDate,disabled:e.isExpiryDateEnforced},on:{"update:checked":function(t){e.hasExpirationDate=t}}},[e._v("\n\t\t\t\t\t"+e._s(e.isExpiryDateEnforced?e.t("files_sharing","Expiration date (enforced)"):e.t("files_sharing","Set expiration date"))+"\n\t\t\t\t")]),e._v(" "),e.hasExpirationDate?i("NcDateTimePickerNative",{attrs:{id:"share-date-picker",value:new Date(null!==(t=e.share.expireDate)&&void 0!==t?t:e.dateTomorrow),min:e.dateTomorrow,max:e.maxExpirationDateEnforced,"hide-label":!0,placeholder:e.t("files_sharing","Expiration date"),type:"date"},on:{input:e.onExpirationChange}}):e._e(),e._v(" "),e.isPublicShare?i("NcCheckboxRadioSwitch",{attrs:{disabled:e.canChangeHideDownload,checked:e.share.hideDownload},on:{"update:checked":[function(t){return e.$set(e.share,"hideDownload",t)},function(t){return e.queueUpdate("hideDownload")}]}},[e._v("\n\t\t\t\t\t"+e._s(e.t("files_sharing","Hide download"))+"\n\t\t\t\t")]):e._e(),e._v(" "),e.isPublicShare?e._e():i("NcCheckboxRadioSwitch",{attrs:{disabled:!e.canSetDownload,checked:e.canDownload,"data-cy-files-sharing-share-permissions-checkbox":"download"},on:{"update:checked":function(t){e.canDownload=t}}},[e._v("\n\t\t\t\t\t"+e._s(e.t("files_sharing","Allow download"))+"\n\t\t\t\t")]),e._v(" "),i("NcCheckboxRadioSwitch",{attrs:{checked:e.writeNoteToRecipientIsChecked},on:{"update:checked":function(t){e.writeNoteToRecipientIsChecked=t}}},[e._v("\n\t\t\t\t\t"+e._s(e.t("files_sharing","Note to recipient"))+"\n\t\t\t\t")]),e._v(" "),e.writeNoteToRecipientIsChecked?[i("label",{attrs:{for:"share-note-textarea"}},[e._v("\n\t\t\t\t\t\t"+e._s(e.t("files_sharing","Enter a note for the share recipient"))+"\n\t\t\t\t\t")]),e._v(" "),i("textarea",{attrs:{id:"share-note-textarea"},domProps:{value:e.share.note},on:{input:function(t){e.share.note=t.target.value}}})]:e._e(),e._v(" "),e._l(e.externalLinkActions,(function(t){return i("ExternalShareAction",{key:t.id,ref:"externalLinkActions",refInFor:!0,attrs:{id:t.id,action:t,"file-info":e.fileInfo,share:e.share}})})),e._v(" "),i("NcCheckboxRadioSwitch",{attrs:{checked:e.setCustomPermissions},on:{"update:checked":function(t){e.setCustomPermissions=t}}},[e._v("\n\t\t\t\t\t"+e._s(e.t("files_sharing","Custom permissions"))+"\n\t\t\t\t")]),e._v(" "),e.setCustomPermissions?i("section",{staticClass:"custom-permissions-group"},[i("NcCheckboxRadioSwitch",{attrs:{disabled:!e.allowsFileDrop&&e.share.type===e.SHARE_TYPES.SHARE_TYPE_LINK,checked:e.hasRead,"data-cy-files-sharing-share-permissions-checkbox":"read"},on:{"update:checked":function(t){e.hasRead=t}}},[e._v("\n\t\t\t\t\t\t"+e._s(e.t("files_sharing","Read"))+"\n\t\t\t\t\t")]),e._v(" "),e.isFolder?i("NcCheckboxRadioSwitch",{attrs:{disabled:!e.canSetCreate,checked:e.canCreate,"data-cy-files-sharing-share-permissions-checkbox":"create"},on:{"update:checked":function(t){e.canCreate=t}}},[e._v("\n\t\t\t\t\t\t"+e._s(e.t("files_sharing","Create"))+"\n\t\t\t\t\t")]):e._e(),e._v(" "),i("NcCheckboxRadioSwitch",{attrs:{disabled:!e.canSetEdit,checked:e.canEdit,"data-cy-files-sharing-share-permissions-checkbox":"update"},on:{"update:checked":function(t){e.canEdit=t}}},[e._v("\n\t\t\t\t\t\t"+e._s(e.t("files_sharing","Edit"))+"\n\t\t\t\t\t")]),e._v(" "),e.config.isResharingAllowed&&e.share.type!==e.SHARE_TYPES.SHARE_TYPE_LINK?i("NcCheckboxRadioSwitch",{attrs:{disabled:!e.canSetReshare,checked:e.canReshare,"data-cy-files-sharing-share-permissions-checkbox":"share"},on:{"update:checked":function(t){e.canReshare=t}}},[e._v("\n\t\t\t\t\t\t"+e._s(e.t("files_sharing","Share"))+"\n\t\t\t\t\t")]):e._e(),e._v(" "),i("NcCheckboxRadioSwitch",{attrs:{disabled:!e.canSetDelete,checked:e.canDelete,"data-cy-files-sharing-share-permissions-checkbox":"delete"},on:{"update:checked":function(t){e.canDelete=t}}},[e._v("\n\t\t\t\t\t\t"+e._s(e.t("files_sharing","Delete"))+"\n\t\t\t\t\t")])],1):e._e(),e._v(" "),i("div",{staticClass:"sharingTabDetailsView__delete"},[e.isNewShare?e._e():i("NcButton",{attrs:{"aria-label":e.t("files_sharing","Delete share"),disabled:!1,readonly:!1,type:"tertiary"},on:{click:function(t){return t.preventDefault(),e.removeShare.apply(null,arguments)}},scopedSlots:e._u([{key:"icon",fn:function(){return[i("CloseIcon",{attrs:{size:16}})]},proxy:!0}],null,!1,2746485232)},[e._v("\n\t\t\t\t\t\t"+e._s(e.t("files_sharing","Delete share"))+"\n\t\t\t\t\t")])],1)],2)]):e._e()]),e._v(" "),i("div",{staticClass:"sharingTabDetailsView__footer"},[i("div",{staticClass:"button-group"},[i("NcButton",{attrs:{"data-cy-files-sharing-share-editor-action":"cancel"},on:{click:function(t){return e.$emit("close-sharing-details")}}},[e._v("\n\t\t\t\t"+e._s(e.t("files_sharing","Cancel"))+"\n\t\t\t")]),e._v(" "),i("NcButton",{attrs:{type:"primary","data-cy-files-sharing-share-editor-action":"save"},on:{click:e.saveShare},scopedSlots:e._u([e.creating?{key:"icon",fn:function(){return[i("NcLoadingIcon")]},proxy:!0}:null],null,!0)},[e._v("\n\t\t\t\t"+e._s(e.shareButtonText)+"\n\t\t\t\t")])],1)])])}),[],!1,null,"939d3a94",null).exports;var wi=n(96763);const Ci={name:"SharingTab",components:{NcAvatar:v.A,CollectionList:it,SharingEntryInternal:St,SharingEntrySimple:yt,SharingInherited:re,SharingInput:Vt,SharingLinkList:Ue,SharingList:Ke,SharingDetailsTab:yi},mixins:[ht],data:()=>({config:new st,deleteEvent:null,error:"",expirationInterval:null,loading:!0,fileInfo:null,reshare:null,sharedWithMe:{},shares:[],linkShares:[],sections:OCA.Sharing.ShareTabSections.getSections(),projectsEnabled:(0,rt.C)("core","projects_enabled",!1),showSharingDetailsView:!1,shareDetailsData:{},returnFocusElement:null}),computed:{isSharedWithMe(){return Object.keys(this.sharedWithMe).length>0},canReshare(){return!!(this.fileInfo.permissions&OC.PERMISSION_SHARE)||!!(this.reshare&&this.reshare.hasSharePermission&&this.config.isResharingAllowed)}},methods:{async update(t){this.fileInfo=t,this.resetState(),this.getShares()},async getShares(){try{this.loading=!0;const t=(0,nt.KT)("apps/files_sharing/api/v1/shares"),e="json",i=(this.fileInfo.path+"/"+this.fileInfo.name).replace("//","/"),n=W.A.get(t,{params:{format:e,path:i,reshares:!0}}),r=W.A.get(t,{params:{format:e,path:i,shared_with_me:!0}}),[a,s]=await Promise.all([n,r]);this.loading=!1,this.processSharedWithMe(s),this.processShares(a)}catch(i){var e;null!==(e=i.response.data)&&void 0!==e&&null!==(e=e.ocs)&&void 0!==e&&null!==(e=e.meta)&&void 0!==e&&e.message?this.error=i.response.data.ocs.meta.message:this.error=t("files_sharing","Unable to load the shares list"),this.loading=!1,wi.error("Error loading the shares list",i)}},resetState(){clearInterval(this.expirationInterval),this.loading=!0,this.error="",this.sharedWithMe={},this.shares=[],this.linkShares=[],this.showSharingDetailsView=!1,this.shareDetailsData={}},updateExpirationSubtitle(e){const i=moment(e.expireDate).unix();this.$set(this.sharedWithMe,"subtitle",t("files_sharing","Expires {relativetime}",{relativetime:OC.Util.relativeModifiedDate(1e3*i)})),moment().unix()>i&&(clearInterval(this.expirationInterval),this.$set(this.sharedWithMe,"subtitle",t("files_sharing","this share just expired.")))},processShares(t){let{data:e}=t;if(e.ocs&&e.ocs.data&&e.ocs.data.length>0){const t=e.ocs.data.map((t=>new ct(t))).sort(((t,e)=>e.createdTime-t.createdTime));this.linkShares=t.filter((t=>t.type===this.SHARE_TYPES.SHARE_TYPE_LINK||t.type===this.SHARE_TYPES.SHARE_TYPE_EMAIL)),this.shares=t.filter((t=>t.type!==this.SHARE_TYPES.SHARE_TYPE_LINK&&t.type!==this.SHARE_TYPES.SHARE_TYPE_EMAIL)),wi.debug("Processed",this.linkShares.length,"link share(s)"),wi.debug("Processed",this.shares.length,"share(s)")}},processSharedWithMe(e){let{data:i}=e;if(i.ocs&&i.ocs.data&&i.ocs.data[0]){const e=new ct(i),n=function(e){return e.type===ot.Z.SHARE_TYPE_GROUP?t("files_sharing","Shared with you and the group {group} by {owner}",{group:e.shareWithDisplayName,owner:e.ownerDisplayName},void 0,{escape:!1}):e.type===ot.Z.SHARE_TYPE_CIRCLE?t("files_sharing","Shared with you and {circle} by {owner}",{circle:e.shareWithDisplayName,owner:e.ownerDisplayName},void 0,{escape:!1}):e.type===ot.Z.SHARE_TYPE_ROOM?e.shareWithDisplayName?t("files_sharing","Shared with you and the conversation {conversation} by {owner}",{conversation:e.shareWithDisplayName,owner:e.ownerDisplayName},void 0,{escape:!1}):t("files_sharing","Shared with you in a conversation by {owner}",{owner:e.ownerDisplayName},void 0,{escape:!1}):t("files_sharing","Shared with you by {owner}",{owner:e.ownerDisplayName},void 0,{escape:!1})}(e),r=e.ownerDisplayName,a=e.owner;this.sharedWithMe={displayName:r,title:n,user:a},this.reshare=e,e.expireDate&&moment(e.expireDate).unix()>moment().unix()&&(this.updateExpirationSubtitle(e),this.expirationInterval=setInterval(this.updateExpirationSubtitle,1e4,e))}else this.fileInfo&&void 0!==this.fileInfo.shareOwnerId&&this.fileInfo.shareOwnerId!==OC.currentUser&&(this.sharedWithMe={displayName:this.fileInfo.shareOwner,title:t("files_sharing","Shared with you by {owner}",{owner:this.fileInfo.shareOwner},void 0,{escape:!1}),user:this.fileInfo.shareOwnerId})},addShare(t){let e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:()=>{};t.type===this.SHARE_TYPES.SHARE_TYPE_EMAIL?this.linkShares.unshift(t):this.shares.unshift(t),this.awaitForShare(t,e)},removeShare(t){const e=t.type===this.SHARE_TYPES.SHARE_TYPE_EMAIL||t.type===this.SHARE_TYPES.SHARE_TYPE_LINK?this.linkShares:this.shares,i=e.findIndex((e=>e.id===t.id));-1!==i&&e.splice(i,1)},awaitForShare(t,e){this.$nextTick((()=>{let i=this.$refs.shareList;t.type===this.SHARE_TYPES.SHARE_TYPE_EMAIL&&(i=this.$refs.linkShareList);const n=i.$children.find((e=>e.share===t));n&&e(n)}))},toggleShareDetailsView(t){if(!this.showSharingDetailsView)if(Array.from(document.activeElement.classList).some((t=>t.startsWith("action-")))){var e;const t=null===(e=document.activeElement.closest('[role="menu"]'))||void 0===e?void 0:e.id;this.returnFocusElement=document.querySelector('[aria-controls="'.concat(t,'"]'))}else this.returnFocusElement=document.activeElement;t&&(this.shareDetailsData=t),this.showSharingDetailsView=!this.showSharingDetailsView,this.showSharingDetailsView||this.$nextTick((()=>{var t;null===(t=this.returnFocusElement)||void 0===t||t.focus(),this.returnFocusElement=null}))}}},Ei=Ci;var bi=n(3316),Si={};Si.styleTagTransform=A(),Si.setAttributes=u(),Si.insert=c().bind(null,"head"),Si.domAPI=o(),Si.insertStyleElement=p(),a()(bi.A,Si),bi.A&&bi.A.locals&&bi.A.locals;const xi=(0,pt.A)(Ei,(function(){var t=this,e=t._self._c;return e("div",{staticClass:"sharingTab",class:{"icon-loading":t.loading}},[t.error?e("div",{staticClass:"emptycontent",class:{emptyContentWithSections:t.sections.length>0}},[e("div",{staticClass:"icon icon-error"}),t._v(" "),e("h2",[t._v(t._s(t.error))])]):t._e(),t._v(" "),e("div",{directives:[{name:"show",rawName:"v-show",value:!t.showSharingDetailsView,expression:"!showSharingDetailsView"}],staticClass:"sharingTab__content"},[e("ul",[t.isSharedWithMe?e("SharingEntrySimple",t._b({staticClass:"sharing-entry__reshare",scopedSlots:t._u([{key:"avatar",fn:function(){return[e("NcAvatar",{staticClass:"sharing-entry__avatar",attrs:{user:t.sharedWithMe.user,"display-name":t.sharedWithMe.displayName}})]},proxy:!0}],null,!1,3197855346)},"SharingEntrySimple",t.sharedWithMe,!1)):t._e()],1),t._v(" "),t.loading?t._e():e("SharingInput",{attrs:{"can-reshare":t.canReshare,"file-info":t.fileInfo,"link-shares":t.linkShares,reshare:t.reshare,shares:t.shares},on:{"open-sharing-details":t.toggleShareDetailsView}}),t._v(" "),t.loading?t._e():e("SharingLinkList",{ref:"linkShareList",attrs:{"can-reshare":t.canReshare,"file-info":t.fileInfo,shares:t.linkShares},on:{"open-sharing-details":t.toggleShareDetailsView}}),t._v(" "),t.loading?t._e():e("SharingList",{ref:"shareList",attrs:{shares:t.shares,"file-info":t.fileInfo},on:{"open-sharing-details":t.toggleShareDetailsView}}),t._v(" "),t.canReshare&&!t.loading?e("SharingInherited",{attrs:{"file-info":t.fileInfo}}):t._e(),t._v(" "),e("SharingEntryInternal",{attrs:{"file-info":t.fileInfo}}),t._v(" "),t.projectsEnabled&&t.fileInfo?e("CollectionList",{attrs:{id:"".concat(t.fileInfo.id),type:"file",name:t.fileInfo.name}}):t._e()],1),t._v(" "),t._l(t.sections,(function(i,n){return e("div",{directives:[{name:"show",rawName:"v-show",value:!t.showSharingDetailsView,expression:"!showSharingDetailsView"}],key:n,ref:"section-"+n,refInFor:!0,staticClass:"sharingTab__additionalContent"},[e(i(t.$refs["section-"+n],t.fileInfo),{tag:"component",attrs:{"file-info":t.fileInfo}})],1)})),t._v(" "),t.showSharingDetailsView?e("SharingDetailsTab",{attrs:{"file-info":t.shareDetailsData.fileInfo,share:t.shareDetailsData.share},on:{"close-sharing-details":t.toggleShareDetailsView,"add:share":t.addShare,"remove:share":t.removeShare}}):t._e()],2)}),[],!1,null,"a65c443a",null).exports},26734:t=>{"use strict";t.exports="data:image/svg+xml,%3csvg%20xmlns=%27http://www.w3.org/2000/svg%27%20width=%2724%27%20height=%2724%27%20fill=%27%23222%27%3e%3cpath%20d=%27M15.4%2016.6L10.8%2012l4.6-4.6L14%206l-6%206%206%206%201.4-1.4z%27/%3e%3c/svg%3e"},51338:t=>{"use strict";t.exports="data:image/svg+xml,%3csvg%20xmlns=%27http://www.w3.org/2000/svg%27%20width=%2724%27%20height=%2724%27%20fill=%27%23222%27%3e%3cpath%20d=%27M18.4%207.4L17%206l-6%206%206%206%201.4-1.4-4.6-4.6%204.6-4.6m-6%200L11%206l-6%206%206%206%201.4-1.4L7.8%2012l4.6-4.6z%27/%3e%3c/svg%3e"},57818:t=>{"use strict";t.exports="data:image/svg+xml,%3csvg%20xmlns=%27http://www.w3.org/2000/svg%27%20width=%2724%27%20height=%2724%27%20fill=%27%23222%27%3e%3cpath%20d=%27M5.6%207.4L7%206l6%206-6%206-1.4-1.4%204.6-4.6-4.6-4.6m6%200L13%206l6%206-6%206-1.4-1.4%204.6-4.6-4.6-4.6z%27/%3e%3c/svg%3e"},31926:t=>{"use strict";t.exports="data:image/svg+xml,%3csvg%20xmlns=%27http://www.w3.org/2000/svg%27%20width=%2724%27%20height=%2724%27%20fill=%27%23222%27%3e%3cpath%20d=%27M8.6%2016.6l4.6-4.6-4.6-4.6L10%206l6%206-6%206-1.4-1.4z%27/%3e%3c/svg%3e"}}]);
-//# sourceMappingURL=6364-6364.js.map?v=557e590be224f11e3d58
\ No newline at end of file
diff --git a/dist/6364-6364.js.license b/dist/6364-6364.js.license
deleted file mode 100644 (file)
index ce14c34..0000000
+++ /dev/null
@@ -1,208 +0,0 @@
-/*
- * @copyright Copyright (c) 2019 Julius Härtl <jus@bitgrid.net>
- *
- * @author Julius Härtl <jus@bitgrid.net>
- *
- * @license GNU AGPL version 3 or any later version
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU Affero General Public License as
- * published by the Free Software Foundation, either version 3 of the
- * License, or (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU Affero General Public License for more details.
- *
- * You should have received a copy of the GNU Affero General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- *
- */
-
-/*!
- * vue-qrcode v1.0.2
- * https://fengyuanchen.github.io/vue-qrcode
- *
- * Copyright 2018-present Chen Fengyuan
- * Released under the MIT license
- *
- * Date: 2020-01-18T06:04:33.222Z
- */
-
-/**
- * @copyright 2022 Louis Chmn <louis@chmn.me>
- *
- * @author Louis Chmn <louis@chmn.me>
- *
- * @license AGPL-3.0-or-later
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU Affero General Public License as
- * published by the Free Software Foundation, either version 3 of the
- * License, or (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU Affero General Public License for more details.
- *
- * You should have received a copy of the GNU Affero General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- *
- */
-
-/**
- * @copyright Copyright (c) 2019 John Molakvoæ <skjnldsv@protonmail.com>
- *
- * @author Arthur Schiwon <blizzz@arthur-schiwon.de>
- * @author John Molakvoæ <skjnldsv@protonmail.com>
- * @author Julius Härtl <jus@bitgrid.net>
- *
- * @license AGPL-3.0-or-later
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU Affero General Public License as
- * published by the Free Software Foundation, either version 3 of the
- * License, or (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU Affero General Public License for more details.
- *
- * You should have received a copy of the GNU Affero General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- *
- */
-
-/**
- * @copyright Copyright (c) 2019 John Molakvoæ <skjnldsv@protonmail.com>
- *
- * @author Christoph Wurst <christoph@winzerhof-wurst.at>
- * @author Daniel Calviño Sánchez <danxuliu@gmail.com>
- * @author Gary Kim <gary@garykim.dev>
- * @author John Molakvoæ <skjnldsv@protonmail.com>
- * @author Julius Härtl <jus@bitgrid.net>
- * @author Vincent Petry <vincent@nextcloud.com>
- *
- * @license AGPL-3.0-or-later
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU Affero General Public License as
- * published by the Free Software Foundation, either version 3 of the
- * License, or (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU Affero General Public License for more details.
- *
- * You should have received a copy of the GNU Affero General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- *
- */
-
-/**
- * @copyright Copyright (c) 2019 John Molakvoæ <skjnldsv@protonmail.com>
- *
- * @author Christoph Wurst <christoph@winzerhof-wurst.at>
- * @author Joas Schilling <coding@schilljs.com>
- * @author John Molakvoæ <skjnldsv@protonmail.com>
- * @author Julius Härtl <jus@bitgrid.net>
- *
- * @license AGPL-3.0-or-later
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU Affero General Public License as
- * published by the Free Software Foundation, either version 3 of the
- * License, or (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU Affero General Public License for more details.
- *
- * You should have received a copy of the GNU Affero General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- *
- */
-
-/**
- * @copyright Copyright (c) 2019 John Molakvoæ <skjnldsv@protonmail.com>
- *
- * @author Daniel Calviño Sánchez <danxuliu@gmail.com>
- * @author Gary Kim <gary@garykim.dev>
- * @author Georg Ehrke <oc.list@georgehrke.com>
- * @author John Molakvoæ <skjnldsv@protonmail.com>
- * @author Julius Härtl <jus@bitgrid.net>
- * @author Roeland Jago Douma <roeland@famdouma.nl>
- *
- * @license AGPL-3.0-or-later
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU Affero General Public License as
- * published by the Free Software Foundation, either version 3 of the
- * License, or (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU Affero General Public License for more details.
- *
- * You should have received a copy of the GNU Affero General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- *
- */
-
-/**
- * @copyright Copyright (c) 2019 John Molakvoæ <skjnldsv@protonmail.com>
- *
- * @author John Molakvoæ <skjnldsv@protonmail.com>
- * @author Julius Härtl <jus@bitgrid.net>
- *
- * @license AGPL-3.0-or-later
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU Affero General Public License as
- * published by the Free Software Foundation, either version 3 of the
- * License, or (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU Affero General Public License for more details.
- *
- * You should have received a copy of the GNU Affero General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- *
- */
-
-/**
- * @copyright Copyright (c) 2020 John Molakvoæ <skjnldsv@protonmail.com>
- *
- * @author John Molakvoæ <skjnldsv@protonmail.com>
- *
- * @license AGPL-3.0-or-later
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU Affero General Public License as
- * published by the Free Software Foundation, either version 3 of the
- * License, or (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU Affero General Public License for more details.
- *
- * You should have received a copy of the GNU Affero General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- *
- */
-
-/**!
- * url-search-params-polyfill
- *
- * @author Jerry Bendy (https://github.com/jerrybendy)
- * @licence MIT
- */
diff --git a/dist/6364-6364.js.map b/dist/6364-6364.js.map
deleted file mode 100644 (file)
index 501ee90..0000000
+++ /dev/null
@@ -1 +0,0 @@
-{"version":3,"file":"6364-6364.js?v=557e590be224f11e3d58","mappings":"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","sources":["webpack:///nextcloud/node_modules/@chenfengyuan/vue-qrcode/dist/vue-qrcode.js","webpack:///nextcloud/node_modules/nextcloud-vue-collections/dist/assets/index-Au1Gr_G6.css","webpack:///nextcloud/apps/files_sharing/src/components/SharingEntry.vue?vue&type=style&index=0&id=79edc2ff&prod&lang=scss&scoped=true","webpack:///nextcloud/apps/files_sharing/src/components/SharingEntryInherited.vue?vue&type=style&index=0&id=283ca89e&prod&lang=scss&scoped=true","webpack:///nextcloud/apps/files_sharing/src/components/SharingEntryInternal.vue?vue&type=style&index=0&id=e40cd936&prod&lang=scss&scoped=true","webpack:///nextcloud/apps/files_sharing/src/components/SharingEntryLink.vue?vue&type=style&index=0&id=1ac70a9b&prod&lang=scss&scoped=true","webpack:///nextcloud/apps/files_sharing/src/components/SharingEntryQuickShareSelect.vue?vue&type=style&index=0&id=6e5dd9f1&prod&lang=scss&scoped=true","webpack:///nextcloud/apps/files_sharing/src/components/SharingEntrySimple.vue?vue&type=style&index=0&id=1852ea78&prod&lang=scss&scoped=true","webpack:///nextcloud/apps/files_sharing/src/components/SharingInput.vue?vue&type=style&index=0&id=534e3a08&prod&lang=scss","webpack:///nextcloud/apps/files_sharing/src/views/SharingDetailsTab.vue?vue&type=style&index=0&id=939d3a94&prod&lang=scss&scoped=true","webpack:///nextcloud/apps/files_sharing/src/views/SharingInherited.vue?vue&type=style&index=0&id=50f9af8c&prod&lang=scss&scoped=true","webpack:///nextcloud/apps/files_sharing/src/views/SharingTab.vue?vue&type=style&index=0&id=a65c443a&prod&scoped=true&lang=scss","webpack:///nextcloud/node_modules/nextcloud-vue-collections/node_modules/@nextcloud/router/dist/index.js","webpack:///nextcloud/node_modules/url-search-params-polyfill/index.js","webpack://nextcloud/./apps/files_sharing/src/views/SharingTab.vue?0ae8","webpack://nextcloud/./node_modules/nextcloud-vue-collections/dist/assets/index-Au1Gr_G6.css?fdca","webpack:///nextcloud/node_modules/lodash-es/isObject.js","webpack:///nextcloud/node_modules/lodash-es/_freeGlobal.js","webpack:///nextcloud/node_modules/lodash-es/_root.js","webpack:///nextcloud/node_modules/lodash-es/now.js","webpack:///nextcloud/node_modules/lodash-es/_trimmedEndIndex.js","webpack:///nextcloud/node_modules/lodash-es/_baseTrim.js","webpack:///nextcloud/node_modules/lodash-es/_Symbol.js","webpack:///nextcloud/node_modules/lodash-es/_getRawTag.js","webpack:///nextcloud/node_modules/lodash-es/_objectToString.js","webpack:///nextcloud/node_modules/lodash-es/_baseGetTag.js","webpack:///nextcloud/node_modules/lodash-es/toNumber.js","webpack:///nextcloud/node_modules/lodash-es/isSymbol.js","webpack:///nextcloud/node_modules/lodash-es/isObjectLike.js","webpack:///nextcloud/node_modules/lodash-es/debounce.js","webpack:///nextcloud/node_modules/nextcloud-vue-collections/dist/index.mjs","webpack:///nextcloud/apps/files_sharing/src/services/ConfigService.js","webpack:///nextcloud/apps/files_sharing/src/models/Share.js","webpack:///nextcloud/apps/files_sharing/src/mixins/ShareTypes.js","webpack://nextcloud/./apps/files_sharing/src/components/SharingEntryInternal.vue?6c02","webpack:///nextcloud/node_modules/vue-material-design-icons/CheckBold.vue","webpack:///nextcloud/node_modules/vue-material-design-icons/CheckBold.vue?vue&type=script&lang=js","webpack://nextcloud/./node_modules/vue-material-design-icons/CheckBold.vue?7500","webpack:///nextcloud/node_modules/vue-material-design-icons/CheckBold.vue?vue&type=template&id=d4239c4a","webpack:///nextcloud/node_modules/vue-material-design-icons/ClipboardFlow.vue?vue&type=script&lang=js","webpack:///nextcloud/node_modules/vue-material-design-icons/ClipboardFlow.vue","webpack://nextcloud/./node_modules/vue-material-design-icons/ClipboardFlow.vue?07b2","webpack:///nextcloud/node_modules/vue-material-design-icons/ClipboardFlow.vue?vue&type=template&id=692acad9","webpack:///nextcloud/apps/files_sharing/src/components/SharingEntrySimple.vue?vue&type=script&lang=js","webpack:///nextcloud/apps/files_sharing/src/components/SharingEntrySimple.vue","webpack://nextcloud/./apps/files_sharing/src/components/SharingEntrySimple.vue?9588","webpack://nextcloud/./apps/files_sharing/src/components/SharingEntrySimple.vue?cb12","webpack://nextcloud/./apps/files_sharing/src/components/SharingEntrySimple.vue?0c02","webpack:///nextcloud/apps/files_sharing/src/components/SharingEntryInternal.vue","webpack:///nextcloud/apps/files_sharing/src/components/SharingEntryInternal.vue?vue&type=script&lang=js","webpack://nextcloud/./apps/files_sharing/src/components/SharingEntryInternal.vue?60fa","webpack://nextcloud/./apps/files_sharing/src/components/SharingEntryInternal.vue?4c20","webpack://nextcloud/./apps/files_sharing/src/components/SharingInput.vue?65df","webpack:///nextcloud/apps/files_sharing/src/utils/GeneratePassword.js","webpack:///nextcloud/apps/files_sharing/src/mixins/ShareRequests.js","webpack:///nextcloud/apps/files_sharing/src/mixins/ShareDetails.js","webpack:///nextcloud/apps/files_sharing/src/components/SharingInput.vue","webpack:///nextcloud/apps/files_sharing/src/components/SharingInput.vue?vue&type=script&lang=js","webpack://nextcloud/./apps/files_sharing/src/components/SharingInput.vue?14e3","webpack://nextcloud/./apps/files_sharing/src/components/SharingInput.vue?3d7c","webpack://nextcloud/./apps/files_sharing/src/views/SharingInherited.vue?45a6","webpack:///nextcloud/apps/files_sharing/src/lib/SharePermissionsToolBox.js","webpack:///nextcloud/apps/files_sharing/src/mixins/SharesMixin.js","webpack:///nextcloud/apps/files_sharing/src/components/SharingEntryInherited.vue?vue&type=script&lang=js","webpack:///nextcloud/apps/files_sharing/src/components/SharingEntryInherited.vue","webpack://nextcloud/./apps/files_sharing/src/components/SharingEntryInherited.vue?c7aa","webpack://nextcloud/./apps/files_sharing/src/components/SharingEntryInherited.vue?0e5a","webpack://nextcloud/./apps/files_sharing/src/components/SharingEntryInherited.vue?77d5","webpack:///nextcloud/apps/files_sharing/src/views/SharingInherited.vue","webpack:///nextcloud/apps/files_sharing/src/views/SharingInherited.vue?vue&type=script&lang=js","webpack://nextcloud/./apps/files_sharing/src/views/SharingInherited.vue?6882","webpack://nextcloud/./apps/files_sharing/src/views/SharingInherited.vue?1677","webpack://nextcloud/./apps/files_sharing/src/views/SharingLinkList.vue?de0b","webpack:///nextcloud/node_modules/vue-material-design-icons/Tune.vue","webpack:///nextcloud/node_modules/vue-material-design-icons/Tune.vue?vue&type=script&lang=js","webpack://nextcloud/./node_modules/vue-material-design-icons/Tune.vue?7202","webpack:///nextcloud/node_modules/vue-material-design-icons/Tune.vue?vue&type=template&id=44530562","webpack:///nextcloud/node_modules/vue-material-design-icons/Qrcode.vue?vue&type=script&lang=js","webpack:///nextcloud/node_modules/vue-material-design-icons/Qrcode.vue","webpack://nextcloud/./node_modules/vue-material-design-icons/Qrcode.vue?b80a","webpack:///nextcloud/node_modules/vue-material-design-icons/Qrcode.vue?vue&type=template&id=cc96c380","webpack:///nextcloud/node_modules/vue-material-design-icons/Exclamation.vue?vue&type=script&lang=js","webpack:///nextcloud/node_modules/vue-material-design-icons/Exclamation.vue","webpack://nextcloud/./node_modules/vue-material-design-icons/Exclamation.vue?46e6","webpack:///nextcloud/node_modules/vue-material-design-icons/Exclamation.vue?vue&type=template&id=33754429","webpack:///nextcloud/node_modules/vue-material-design-icons/Lock.vue?vue&type=script&lang=js","webpack:///nextcloud/node_modules/vue-material-design-icons/Lock.vue","webpack://nextcloud/./node_modules/vue-material-design-icons/Lock.vue?93ae","webpack:///nextcloud/node_modules/vue-material-design-icons/Lock.vue?vue&type=template&id=0e338773","webpack:///nextcloud/node_modules/vue-material-design-icons/TriangleSmallDown.vue","webpack:///nextcloud/node_modules/vue-material-design-icons/TriangleSmallDown.vue?vue&type=script&lang=js","webpack://nextcloud/./node_modules/vue-material-design-icons/TriangleSmallDown.vue?8651","webpack:///nextcloud/node_modules/vue-material-design-icons/TriangleSmallDown.vue?vue&type=template&id=0610cec6","webpack:///nextcloud/node_modules/vue-material-design-icons/EyeOutline.vue?vue&type=script&lang=js","webpack:///nextcloud/node_modules/vue-material-design-icons/EyeOutline.vue","webpack://nextcloud/./node_modules/vue-material-design-icons/EyeOutline.vue?9ce8","webpack:///nextcloud/node_modules/vue-material-design-icons/EyeOutline.vue?vue&type=template&id=30219a41","webpack:///nextcloud/node_modules/vue-material-design-icons/FileUpload.vue","webpack:///nextcloud/node_modules/vue-material-design-icons/FileUpload.vue?vue&type=script&lang=js","webpack://nextcloud/./node_modules/vue-material-design-icons/FileUpload.vue?c468","webpack:///nextcloud/node_modules/vue-material-design-icons/FileUpload.vue?vue&type=template&id=437aa472","webpack:///nextcloud/apps/files_sharing/src/components/SharingEntryQuickShareSelect.vue","webpack:///nextcloud/apps/files_sharing/src/components/SharingEntryQuickShareSelect.vue?vue&type=script&lang=js","webpack://nextcloud/./apps/files_sharing/src/components/SharingEntryQuickShareSelect.vue?30ef","webpack://nextcloud/./apps/files_sharing/src/components/SharingEntryQuickShareSelect.vue?4441","webpack://nextcloud/./apps/files_sharing/src/components/SharingEntryQuickShareSelect.vue?0b36","webpack:///nextcloud/apps/files_sharing/src/components/ExternalShareAction.vue?vue&type=script&lang=js","webpack:///nextcloud/apps/files_sharing/src/components/ExternalShareAction.vue","webpack://nextcloud/./apps/files_sharing/src/components/ExternalShareAction.vue?9bf3","webpack://nextcloud/./apps/files_sharing/src/components/ExternalShareAction.vue?82b4","webpack:///nextcloud/apps/files_sharing/src/components/SharingEntryLink.vue","webpack:///nextcloud/apps/files_sharing/src/components/SharingEntryLink.vue?vue&type=script&lang=js","webpack://nextcloud/./apps/files_sharing/src/components/SharingEntryLink.vue?33ba","webpack://nextcloud/./apps/files_sharing/src/components/SharingEntryLink.vue?af90","webpack:///nextcloud/apps/files_sharing/src/views/SharingLinkList.vue?vue&type=script&lang=js","webpack:///nextcloud/apps/files_sharing/src/views/SharingLinkList.vue","webpack://nextcloud/./apps/files_sharing/src/components/SharingEntryLink.vue?64e9","webpack://nextcloud/./apps/files_sharing/src/views/SharingLinkList.vue?a70b","webpack://nextcloud/./apps/files_sharing/src/views/SharingList.vue?e340","webpack:///nextcloud/node_modules/vue-material-design-icons/DotsHorizontal.vue","webpack:///nextcloud/node_modules/vue-material-design-icons/DotsHorizontal.vue?vue&type=script&lang=js","webpack://nextcloud/./node_modules/vue-material-design-icons/DotsHorizontal.vue?c5a1","webpack:///nextcloud/node_modules/vue-material-design-icons/DotsHorizontal.vue?vue&type=template&id=a4d4ab3e","webpack:///nextcloud/apps/files_sharing/src/components/SharingEntry.vue?vue&type=script&lang=js","webpack:///nextcloud/apps/files_sharing/src/components/SharingEntry.vue","webpack://nextcloud/./apps/files_sharing/src/components/SharingEntry.vue?d549","webpack://nextcloud/./apps/files_sharing/src/components/SharingEntry.vue?10a7","webpack:///nextcloud/apps/files_sharing/src/views/SharingList.vue?vue&type=script&lang=js","webpack:///nextcloud/apps/files_sharing/src/views/SharingList.vue","webpack://nextcloud/./apps/files_sharing/src/components/SharingEntry.vue?f8d7","webpack://nextcloud/./apps/files_sharing/src/views/SharingList.vue?9f9c","webpack://nextcloud/./apps/files_sharing/src/views/SharingDetailsTab.vue?7f2e","webpack:///nextcloud/node_modules/vue-material-design-icons/CircleOutline.vue","webpack:///nextcloud/node_modules/vue-material-design-icons/CircleOutline.vue?vue&type=script&lang=js","webpack://nextcloud/./node_modules/vue-material-design-icons/CircleOutline.vue?68bc","webpack:///nextcloud/node_modules/vue-material-design-icons/CircleOutline.vue?vue&type=template&id=33494a74","webpack:///nextcloud/node_modules/vue-material-design-icons/Email.vue?vue&type=script&lang=js","webpack:///nextcloud/node_modules/vue-material-design-icons/Email.vue","webpack://nextcloud/./node_modules/vue-material-design-icons/Email.vue?3953","webpack:///nextcloud/node_modules/vue-material-design-icons/Email.vue?vue&type=template&id=ec4501a4","webpack:///nextcloud/node_modules/vue-material-design-icons/ShareCircle.vue","webpack:///nextcloud/node_modules/vue-material-design-icons/ShareCircle.vue?vue&type=script&lang=js","webpack://nextcloud/./node_modules/vue-material-design-icons/ShareCircle.vue?a1b2","webpack:///nextcloud/node_modules/vue-material-design-icons/ShareCircle.vue?vue&type=template&id=c22eb9fe","webpack:///nextcloud/node_modules/vue-material-design-icons/AccountCircleOutline.vue?vue&type=script&lang=js","webpack:///nextcloud/node_modules/vue-material-design-icons/AccountCircleOutline.vue","webpack://nextcloud/./node_modules/vue-material-design-icons/AccountCircleOutline.vue?a068","webpack:///nextcloud/node_modules/vue-material-design-icons/AccountCircleOutline.vue?vue&type=template&id=59b2bccc","webpack:///nextcloud/node_modules/vue-material-design-icons/Eye.vue?vue&type=script&lang=js","webpack:///nextcloud/node_modules/vue-material-design-icons/Eye.vue","webpack://nextcloud/./node_modules/vue-material-design-icons/Eye.vue?157b","webpack:///nextcloud/node_modules/vue-material-design-icons/Eye.vue?vue&type=template&id=363a0196","webpack:///nextcloud/apps/files_sharing/src/views/SharingDetailsTab.vue","webpack:///nextcloud/apps/files_sharing/src/views/SharingDetailsTab.vue?vue&type=script&lang=js","webpack://nextcloud/./apps/files_sharing/src/views/SharingDetailsTab.vue?aaee","webpack://nextcloud/./apps/files_sharing/src/views/SharingDetailsTab.vue?10fc","webpack:///nextcloud/apps/files_sharing/src/views/SharingTab.vue","webpack:///nextcloud/apps/files_sharing/src/utils/SharedWithMe.js","webpack:///nextcloud/apps/files_sharing/src/views/SharingTab.vue?vue&type=script&lang=js","webpack://nextcloud/./apps/files_sharing/src/views/SharingTab.vue?a79d","webpack://nextcloud/./apps/files_sharing/src/views/SharingTab.vue?6997"],"sourcesContent":["/*!\n * vue-qrcode v1.0.2\n * https://fengyuanchen.github.io/vue-qrcode\n *\n * Copyright 2018-present Chen Fengyuan\n * Released under the MIT license\n *\n * Date: 2020-01-18T06:04:33.222Z\n */\n\n(function (global, factory) {\n\ttypeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory() :\n\ttypeof define === 'function' && define.amd ? define(factory) :\n\t(global = global || self, global.VueQrcode = factory());\n}(this, (function () { 'use strict';\n\n\tfunction commonjsRequire () {\n\t\tthrow new Error('Dynamic requires are not currently supported by rollup-plugin-commonjs');\n\t}\n\n\tfunction createCommonjsModule(fn, module) {\n\t\treturn module = { exports: {} }, fn(module, module.exports), module.exports;\n\t}\n\n\tvar qrcode = createCommonjsModule(function (module, exports) {\n\t(function(f){{module.exports=f();}})(function(){return (function(){function r(e,n,t){function o(i,f){if(!n[i]){if(!e[i]){var c=\"function\"==typeof commonjsRequire&&commonjsRequire;if(!f&&c)return c(i,!0);if(u)return u(i,!0);var a=new Error(\"Cannot find module '\"+i+\"'\");throw a.code=\"MODULE_NOT_FOUND\",a}var p=n[i]={exports:{}};e[i][0].call(p.exports,function(r){var n=e[i][1][r];return o(n||r)},p,p.exports,r,e,n,t);}return n[i].exports}for(var u=\"function\"==typeof commonjsRequire&&commonjsRequire,i=0;i<t.length;i++)o(t[i]);return o}return r})()({1:[function(require,module,exports){\n\t// can-promise has a crash in some versions of react native that dont have\n\t// standard global objects\n\t// https://github.com/soldair/node-qrcode/issues/157\n\n\tmodule.exports = function () {\n\t  return typeof Promise === 'function' && Promise.prototype && Promise.prototype.then\n\t};\n\n\t},{}],2:[function(require,module,exports){\n\t/**\n\t * Alignment pattern are fixed reference pattern in defined positions\n\t * in a matrix symbology, which enables the decode software to re-synchronise\n\t * the coordinate mapping of the image modules in the event of moderate amounts\n\t * of distortion of the image.\n\t *\n\t * Alignment patterns are present only in QR Code symbols of version 2 or larger\n\t * and their number depends on the symbol version.\n\t */\n\n\tvar getSymbolSize = require('./utils').getSymbolSize;\n\n\t/**\n\t * Calculate the row/column coordinates of the center module of each alignment pattern\n\t * for the specified QR Code version.\n\t *\n\t * The alignment patterns are positioned symmetrically on either side of the diagonal\n\t * running from the top left corner of the symbol to the bottom right corner.\n\t *\n\t * Since positions are simmetrical only half of the coordinates are returned.\n\t * Each item of the array will represent in turn the x and y coordinate.\n\t * @see {@link getPositions}\n\t *\n\t * @param  {Number} version QR Code version\n\t * @return {Array}          Array of coordinate\n\t */\n\texports.getRowColCoords = function getRowColCoords (version) {\n\t  if (version === 1) return []\n\n\t  var posCount = Math.floor(version / 7) + 2;\n\t  var size = getSymbolSize(version);\n\t  var intervals = size === 145 ? 26 : Math.ceil((size - 13) / (2 * posCount - 2)) * 2;\n\t  var positions = [size - 7]; // Last coord is always (size - 7)\n\n\t  for (var i = 1; i < posCount - 1; i++) {\n\t    positions[i] = positions[i - 1] - intervals;\n\t  }\n\n\t  positions.push(6); // First coord is always 6\n\n\t  return positions.reverse()\n\t};\n\n\t/**\n\t * Returns an array containing the positions of each alignment pattern.\n\t * Each array's element represent the center point of the pattern as (x, y) coordinates\n\t *\n\t * Coordinates are calculated expanding the row/column coordinates returned by {@link getRowColCoords}\n\t * and filtering out the items that overlaps with finder pattern\n\t *\n\t * @example\n\t * For a Version 7 symbol {@link getRowColCoords} returns values 6, 22 and 38.\n\t * The alignment patterns, therefore, are to be centered on (row, column)\n\t * positions (6,22), (22,6), (22,22), (22,38), (38,22), (38,38).\n\t * Note that the coordinates (6,6), (6,38), (38,6) are occupied by finder patterns\n\t * and are not therefore used for alignment patterns.\n\t *\n\t * var pos = getPositions(7)\n\t * // [[6,22], [22,6], [22,22], [22,38], [38,22], [38,38]]\n\t *\n\t * @param  {Number} version QR Code version\n\t * @return {Array}          Array of coordinates\n\t */\n\texports.getPositions = function getPositions (version) {\n\t  var coords = [];\n\t  var pos = exports.getRowColCoords(version);\n\t  var posLength = pos.length;\n\n\t  for (var i = 0; i < posLength; i++) {\n\t    for (var j = 0; j < posLength; j++) {\n\t      // Skip if position is occupied by finder patterns\n\t      if ((i === 0 && j === 0) ||             // top-left\n\t          (i === 0 && j === posLength - 1) || // bottom-left\n\t          (i === posLength - 1 && j === 0)) { // top-right\n\t        continue\n\t      }\n\n\t      coords.push([pos[i], pos[j]]);\n\t    }\n\t  }\n\n\t  return coords\n\t};\n\n\t},{\"./utils\":21}],3:[function(require,module,exports){\n\tvar Mode = require('./mode');\n\n\t/**\n\t * Array of characters available in alphanumeric mode\n\t *\n\t * As per QR Code specification, to each character\n\t * is assigned a value from 0 to 44 which in this case coincides\n\t * with the array index\n\t *\n\t * @type {Array}\n\t */\n\tvar ALPHA_NUM_CHARS = [\n\t  '0', '1', '2', '3', '4', '5', '6', '7', '8', '9',\n\t  'A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J', 'K', 'L', 'M',\n\t  'N', 'O', 'P', 'Q', 'R', 'S', 'T', 'U', 'V', 'W', 'X', 'Y', 'Z',\n\t  ' ', '$', '%', '*', '+', '-', '.', '/', ':'\n\t];\n\n\tfunction AlphanumericData (data) {\n\t  this.mode = Mode.ALPHANUMERIC;\n\t  this.data = data;\n\t}\n\n\tAlphanumericData.getBitsLength = function getBitsLength (length) {\n\t  return 11 * Math.floor(length / 2) + 6 * (length % 2)\n\t};\n\n\tAlphanumericData.prototype.getLength = function getLength () {\n\t  return this.data.length\n\t};\n\n\tAlphanumericData.prototype.getBitsLength = function getBitsLength () {\n\t  return AlphanumericData.getBitsLength(this.data.length)\n\t};\n\n\tAlphanumericData.prototype.write = function write (bitBuffer) {\n\t  var i;\n\n\t  // Input data characters are divided into groups of two characters\n\t  // and encoded as 11-bit binary codes.\n\t  for (i = 0; i + 2 <= this.data.length; i += 2) {\n\t    // The character value of the first character is multiplied by 45\n\t    var value = ALPHA_NUM_CHARS.indexOf(this.data[i]) * 45;\n\n\t    // The character value of the second digit is added to the product\n\t    value += ALPHA_NUM_CHARS.indexOf(this.data[i + 1]);\n\n\t    // The sum is then stored as 11-bit binary number\n\t    bitBuffer.put(value, 11);\n\t  }\n\n\t  // If the number of input data characters is not a multiple of two,\n\t  // the character value of the final character is encoded as a 6-bit binary number.\n\t  if (this.data.length % 2) {\n\t    bitBuffer.put(ALPHA_NUM_CHARS.indexOf(this.data[i]), 6);\n\t  }\n\t};\n\n\tmodule.exports = AlphanumericData;\n\n\t},{\"./mode\":14}],4:[function(require,module,exports){\n\tfunction BitBuffer () {\n\t  this.buffer = [];\n\t  this.length = 0;\n\t}\n\n\tBitBuffer.prototype = {\n\n\t  get: function (index) {\n\t    var bufIndex = Math.floor(index / 8);\n\t    return ((this.buffer[bufIndex] >>> (7 - index % 8)) & 1) === 1\n\t  },\n\n\t  put: function (num, length) {\n\t    for (var i = 0; i < length; i++) {\n\t      this.putBit(((num >>> (length - i - 1)) & 1) === 1);\n\t    }\n\t  },\n\n\t  getLengthInBits: function () {\n\t    return this.length\n\t  },\n\n\t  putBit: function (bit) {\n\t    var bufIndex = Math.floor(this.length / 8);\n\t    if (this.buffer.length <= bufIndex) {\n\t      this.buffer.push(0);\n\t    }\n\n\t    if (bit) {\n\t      this.buffer[bufIndex] |= (0x80 >>> (this.length % 8));\n\t    }\n\n\t    this.length++;\n\t  }\n\t};\n\n\tmodule.exports = BitBuffer;\n\n\t},{}],5:[function(require,module,exports){\n\tvar BufferUtil = require('../utils/buffer');\n\n\t/**\n\t * Helper class to handle QR Code symbol modules\n\t *\n\t * @param {Number} size Symbol size\n\t */\n\tfunction BitMatrix (size) {\n\t  if (!size || size < 1) {\n\t    throw new Error('BitMatrix size must be defined and greater than 0')\n\t  }\n\n\t  this.size = size;\n\t  this.data = BufferUtil.alloc(size * size);\n\t  this.reservedBit = BufferUtil.alloc(size * size);\n\t}\n\n\t/**\n\t * Set bit value at specified location\n\t * If reserved flag is set, this bit will be ignored during masking process\n\t *\n\t * @param {Number}  row\n\t * @param {Number}  col\n\t * @param {Boolean} value\n\t * @param {Boolean} reserved\n\t */\n\tBitMatrix.prototype.set = function (row, col, value, reserved) {\n\t  var index = row * this.size + col;\n\t  this.data[index] = value;\n\t  if (reserved) this.reservedBit[index] = true;\n\t};\n\n\t/**\n\t * Returns bit value at specified location\n\t *\n\t * @param  {Number}  row\n\t * @param  {Number}  col\n\t * @return {Boolean}\n\t */\n\tBitMatrix.prototype.get = function (row, col) {\n\t  return this.data[row * this.size + col]\n\t};\n\n\t/**\n\t * Applies xor operator at specified location\n\t * (used during masking process)\n\t *\n\t * @param {Number}  row\n\t * @param {Number}  col\n\t * @param {Boolean} value\n\t */\n\tBitMatrix.prototype.xor = function (row, col, value) {\n\t  this.data[row * this.size + col] ^= value;\n\t};\n\n\t/**\n\t * Check if bit at specified location is reserved\n\t *\n\t * @param {Number}   row\n\t * @param {Number}   col\n\t * @return {Boolean}\n\t */\n\tBitMatrix.prototype.isReserved = function (row, col) {\n\t  return this.reservedBit[row * this.size + col]\n\t};\n\n\tmodule.exports = BitMatrix;\n\n\t},{\"../utils/buffer\":28}],6:[function(require,module,exports){\n\tvar BufferUtil = require('../utils/buffer');\n\tvar Mode = require('./mode');\n\n\tfunction ByteData (data) {\n\t  this.mode = Mode.BYTE;\n\t  this.data = BufferUtil.from(data);\n\t}\n\n\tByteData.getBitsLength = function getBitsLength (length) {\n\t  return length * 8\n\t};\n\n\tByteData.prototype.getLength = function getLength () {\n\t  return this.data.length\n\t};\n\n\tByteData.prototype.getBitsLength = function getBitsLength () {\n\t  return ByteData.getBitsLength(this.data.length)\n\t};\n\n\tByteData.prototype.write = function (bitBuffer) {\n\t  for (var i = 0, l = this.data.length; i < l; i++) {\n\t    bitBuffer.put(this.data[i], 8);\n\t  }\n\t};\n\n\tmodule.exports = ByteData;\n\n\t},{\"../utils/buffer\":28,\"./mode\":14}],7:[function(require,module,exports){\n\tvar ECLevel = require('./error-correction-level');\r\n\r\n\tvar EC_BLOCKS_TABLE = [\r\n\t// L  M  Q  H\r\n\t  1, 1, 1, 1,\r\n\t  1, 1, 1, 1,\r\n\t  1, 1, 2, 2,\r\n\t  1, 2, 2, 4,\r\n\t  1, 2, 4, 4,\r\n\t  2, 4, 4, 4,\r\n\t  2, 4, 6, 5,\r\n\t  2, 4, 6, 6,\r\n\t  2, 5, 8, 8,\r\n\t  4, 5, 8, 8,\r\n\t  4, 5, 8, 11,\r\n\t  4, 8, 10, 11,\r\n\t  4, 9, 12, 16,\r\n\t  4, 9, 16, 16,\r\n\t  6, 10, 12, 18,\r\n\t  6, 10, 17, 16,\r\n\t  6, 11, 16, 19,\r\n\t  6, 13, 18, 21,\r\n\t  7, 14, 21, 25,\r\n\t  8, 16, 20, 25,\r\n\t  8, 17, 23, 25,\r\n\t  9, 17, 23, 34,\r\n\t  9, 18, 25, 30,\r\n\t  10, 20, 27, 32,\r\n\t  12, 21, 29, 35,\r\n\t  12, 23, 34, 37,\r\n\t  12, 25, 34, 40,\r\n\t  13, 26, 35, 42,\r\n\t  14, 28, 38, 45,\r\n\t  15, 29, 40, 48,\r\n\t  16, 31, 43, 51,\r\n\t  17, 33, 45, 54,\r\n\t  18, 35, 48, 57,\r\n\t  19, 37, 51, 60,\r\n\t  19, 38, 53, 63,\r\n\t  20, 40, 56, 66,\r\n\t  21, 43, 59, 70,\r\n\t  22, 45, 62, 74,\r\n\t  24, 47, 65, 77,\r\n\t  25, 49, 68, 81\r\n\t];\r\n\r\n\tvar EC_CODEWORDS_TABLE = [\r\n\t// L  M  Q  H\r\n\t  7, 10, 13, 17,\r\n\t  10, 16, 22, 28,\r\n\t  15, 26, 36, 44,\r\n\t  20, 36, 52, 64,\r\n\t  26, 48, 72, 88,\r\n\t  36, 64, 96, 112,\r\n\t  40, 72, 108, 130,\r\n\t  48, 88, 132, 156,\r\n\t  60, 110, 160, 192,\r\n\t  72, 130, 192, 224,\r\n\t  80, 150, 224, 264,\r\n\t  96, 176, 260, 308,\r\n\t  104, 198, 288, 352,\r\n\t  120, 216, 320, 384,\r\n\t  132, 240, 360, 432,\r\n\t  144, 280, 408, 480,\r\n\t  168, 308, 448, 532,\r\n\t  180, 338, 504, 588,\r\n\t  196, 364, 546, 650,\r\n\t  224, 416, 600, 700,\r\n\t  224, 442, 644, 750,\r\n\t  252, 476, 690, 816,\r\n\t  270, 504, 750, 900,\r\n\t  300, 560, 810, 960,\r\n\t  312, 588, 870, 1050,\r\n\t  336, 644, 952, 1110,\r\n\t  360, 700, 1020, 1200,\r\n\t  390, 728, 1050, 1260,\r\n\t  420, 784, 1140, 1350,\r\n\t  450, 812, 1200, 1440,\r\n\t  480, 868, 1290, 1530,\r\n\t  510, 924, 1350, 1620,\r\n\t  540, 980, 1440, 1710,\r\n\t  570, 1036, 1530, 1800,\r\n\t  570, 1064, 1590, 1890,\r\n\t  600, 1120, 1680, 1980,\r\n\t  630, 1204, 1770, 2100,\r\n\t  660, 1260, 1860, 2220,\r\n\t  720, 1316, 1950, 2310,\r\n\t  750, 1372, 2040, 2430\r\n\t];\r\n\r\n\t/**\r\n\t * Returns the number of error correction block that the QR Code should contain\r\n\t * for the specified version and error correction level.\r\n\t *\r\n\t * @param  {Number} version              QR Code version\r\n\t * @param  {Number} errorCorrectionLevel Error correction level\r\n\t * @return {Number}                      Number of error correction blocks\r\n\t */\r\n\texports.getBlocksCount = function getBlocksCount (version, errorCorrectionLevel) {\r\n\t  switch (errorCorrectionLevel) {\r\n\t    case ECLevel.L:\r\n\t      return EC_BLOCKS_TABLE[(version - 1) * 4 + 0]\r\n\t    case ECLevel.M:\r\n\t      return EC_BLOCKS_TABLE[(version - 1) * 4 + 1]\r\n\t    case ECLevel.Q:\r\n\t      return EC_BLOCKS_TABLE[(version - 1) * 4 + 2]\r\n\t    case ECLevel.H:\r\n\t      return EC_BLOCKS_TABLE[(version - 1) * 4 + 3]\r\n\t    default:\r\n\t      return undefined\r\n\t  }\r\n\t};\r\n\r\n\t/**\r\n\t * Returns the number of error correction codewords to use for the specified\r\n\t * version and error correction level.\r\n\t *\r\n\t * @param  {Number} version              QR Code version\r\n\t * @param  {Number} errorCorrectionLevel Error correction level\r\n\t * @return {Number}                      Number of error correction codewords\r\n\t */\r\n\texports.getTotalCodewordsCount = function getTotalCodewordsCount (version, errorCorrectionLevel) {\r\n\t  switch (errorCorrectionLevel) {\r\n\t    case ECLevel.L:\r\n\t      return EC_CODEWORDS_TABLE[(version - 1) * 4 + 0]\r\n\t    case ECLevel.M:\r\n\t      return EC_CODEWORDS_TABLE[(version - 1) * 4 + 1]\r\n\t    case ECLevel.Q:\r\n\t      return EC_CODEWORDS_TABLE[(version - 1) * 4 + 2]\r\n\t    case ECLevel.H:\r\n\t      return EC_CODEWORDS_TABLE[(version - 1) * 4 + 3]\r\n\t    default:\r\n\t      return undefined\r\n\t  }\r\n\t};\r\n\n\t},{\"./error-correction-level\":8}],8:[function(require,module,exports){\n\texports.L = { bit: 1 };\n\texports.M = { bit: 0 };\n\texports.Q = { bit: 3 };\n\texports.H = { bit: 2 };\n\n\tfunction fromString (string) {\n\t  if (typeof string !== 'string') {\n\t    throw new Error('Param is not a string')\n\t  }\n\n\t  var lcStr = string.toLowerCase();\n\n\t  switch (lcStr) {\n\t    case 'l':\n\t    case 'low':\n\t      return exports.L\n\n\t    case 'm':\n\t    case 'medium':\n\t      return exports.M\n\n\t    case 'q':\n\t    case 'quartile':\n\t      return exports.Q\n\n\t    case 'h':\n\t    case 'high':\n\t      return exports.H\n\n\t    default:\n\t      throw new Error('Unknown EC Level: ' + string)\n\t  }\n\t}\n\n\texports.isValid = function isValid (level) {\n\t  return level && typeof level.bit !== 'undefined' &&\n\t    level.bit >= 0 && level.bit < 4\n\t};\n\n\texports.from = function from (value, defaultValue) {\n\t  if (exports.isValid(value)) {\n\t    return value\n\t  }\n\n\t  try {\n\t    return fromString(value)\n\t  } catch (e) {\n\t    return defaultValue\n\t  }\n\t};\n\n\t},{}],9:[function(require,module,exports){\n\tvar getSymbolSize = require('./utils').getSymbolSize;\n\tvar FINDER_PATTERN_SIZE = 7;\n\n\t/**\n\t * Returns an array containing the positions of each finder pattern.\n\t * Each array's element represent the top-left point of the pattern as (x, y) coordinates\n\t *\n\t * @param  {Number} version QR Code version\n\t * @return {Array}          Array of coordinates\n\t */\n\texports.getPositions = function getPositions (version) {\n\t  var size = getSymbolSize(version);\n\n\t  return [\n\t    // top-left\n\t    [0, 0],\n\t    // top-right\n\t    [size - FINDER_PATTERN_SIZE, 0],\n\t    // bottom-left\n\t    [0, size - FINDER_PATTERN_SIZE]\n\t  ]\n\t};\n\n\t},{\"./utils\":21}],10:[function(require,module,exports){\n\tvar Utils = require('./utils');\n\n\tvar G15 = (1 << 10) | (1 << 8) | (1 << 5) | (1 << 4) | (1 << 2) | (1 << 1) | (1 << 0);\n\tvar G15_MASK = (1 << 14) | (1 << 12) | (1 << 10) | (1 << 4) | (1 << 1);\n\tvar G15_BCH = Utils.getBCHDigit(G15);\n\n\t/**\n\t * Returns format information with relative error correction bits\n\t *\n\t * The format information is a 15-bit sequence containing 5 data bits,\n\t * with 10 error correction bits calculated using the (15, 5) BCH code.\n\t *\n\t * @param  {Number} errorCorrectionLevel Error correction level\n\t * @param  {Number} mask                 Mask pattern\n\t * @return {Number}                      Encoded format information bits\n\t */\n\texports.getEncodedBits = function getEncodedBits (errorCorrectionLevel, mask) {\n\t  var data = ((errorCorrectionLevel.bit << 3) | mask);\n\t  var d = data << 10;\n\n\t  while (Utils.getBCHDigit(d) - G15_BCH >= 0) {\n\t    d ^= (G15 << (Utils.getBCHDigit(d) - G15_BCH));\n\t  }\n\n\t  // xor final data with mask pattern in order to ensure that\n\t  // no combination of Error Correction Level and data mask pattern\n\t  // will result in an all-zero data string\n\t  return ((data << 10) | d) ^ G15_MASK\n\t};\n\n\t},{\"./utils\":21}],11:[function(require,module,exports){\n\tvar BufferUtil = require('../utils/buffer');\n\n\tvar EXP_TABLE = BufferUtil.alloc(512);\n\tvar LOG_TABLE = BufferUtil.alloc(256)\n\t/**\n\t * Precompute the log and anti-log tables for faster computation later\n\t *\n\t * For each possible value in the galois field 2^8, we will pre-compute\n\t * the logarithm and anti-logarithm (exponential) of this value\n\t *\n\t * ref {@link https://en.wikiversity.org/wiki/Reed%E2%80%93Solomon_codes_for_coders#Introduction_to_mathematical_fields}\n\t */\n\t;(function initTables () {\n\t  var x = 1;\n\t  for (var i = 0; i < 255; i++) {\n\t    EXP_TABLE[i] = x;\n\t    LOG_TABLE[x] = i;\n\n\t    x <<= 1; // multiply by 2\n\n\t    // The QR code specification says to use byte-wise modulo 100011101 arithmetic.\n\t    // This means that when a number is 256 or larger, it should be XORed with 0x11D.\n\t    if (x & 0x100) { // similar to x >= 256, but a lot faster (because 0x100 == 256)\n\t      x ^= 0x11D;\n\t    }\n\t  }\n\n\t  // Optimization: double the size of the anti-log table so that we don't need to mod 255 to\n\t  // stay inside the bounds (because we will mainly use this table for the multiplication of\n\t  // two GF numbers, no more).\n\t  // @see {@link mul}\n\t  for (i = 255; i < 512; i++) {\n\t    EXP_TABLE[i] = EXP_TABLE[i - 255];\n\t  }\n\t}());\n\n\t/**\n\t * Returns log value of n inside Galois Field\n\t *\n\t * @param  {Number} n\n\t * @return {Number}\n\t */\n\texports.log = function log (n) {\n\t  if (n < 1) throw new Error('log(' + n + ')')\n\t  return LOG_TABLE[n]\n\t};\n\n\t/**\n\t * Returns anti-log value of n inside Galois Field\n\t *\n\t * @param  {Number} n\n\t * @return {Number}\n\t */\n\texports.exp = function exp (n) {\n\t  return EXP_TABLE[n]\n\t};\n\n\t/**\n\t * Multiplies two number inside Galois Field\n\t *\n\t * @param  {Number} x\n\t * @param  {Number} y\n\t * @return {Number}\n\t */\n\texports.mul = function mul (x, y) {\n\t  if (x === 0 || y === 0) return 0\n\n\t  // should be EXP_TABLE[(LOG_TABLE[x] + LOG_TABLE[y]) % 255] if EXP_TABLE wasn't oversized\n\t  // @see {@link initTables}\n\t  return EXP_TABLE[LOG_TABLE[x] + LOG_TABLE[y]]\n\t};\n\n\t},{\"../utils/buffer\":28}],12:[function(require,module,exports){\n\tvar Mode = require('./mode');\n\tvar Utils = require('./utils');\n\n\tfunction KanjiData (data) {\n\t  this.mode = Mode.KANJI;\n\t  this.data = data;\n\t}\n\n\tKanjiData.getBitsLength = function getBitsLength (length) {\n\t  return length * 13\n\t};\n\n\tKanjiData.prototype.getLength = function getLength () {\n\t  return this.data.length\n\t};\n\n\tKanjiData.prototype.getBitsLength = function getBitsLength () {\n\t  return KanjiData.getBitsLength(this.data.length)\n\t};\n\n\tKanjiData.prototype.write = function (bitBuffer) {\n\t  var i;\n\n\t  // In the Shift JIS system, Kanji characters are represented by a two byte combination.\n\t  // These byte values are shifted from the JIS X 0208 values.\n\t  // JIS X 0208 gives details of the shift coded representation.\n\t  for (i = 0; i < this.data.length; i++) {\n\t    var value = Utils.toSJIS(this.data[i]);\n\n\t    // For characters with Shift JIS values from 0x8140 to 0x9FFC:\n\t    if (value >= 0x8140 && value <= 0x9FFC) {\n\t      // Subtract 0x8140 from Shift JIS value\n\t      value -= 0x8140;\n\n\t    // For characters with Shift JIS values from 0xE040 to 0xEBBF\n\t    } else if (value >= 0xE040 && value <= 0xEBBF) {\n\t      // Subtract 0xC140 from Shift JIS value\n\t      value -= 0xC140;\n\t    } else {\n\t      throw new Error(\n\t        'Invalid SJIS character: ' + this.data[i] + '\\n' +\n\t        'Make sure your charset is UTF-8')\n\t    }\n\n\t    // Multiply most significant byte of result by 0xC0\n\t    // and add least significant byte to product\n\t    value = (((value >>> 8) & 0xff) * 0xC0) + (value & 0xff);\n\n\t    // Convert result to a 13-bit binary string\n\t    bitBuffer.put(value, 13);\n\t  }\n\t};\n\n\tmodule.exports = KanjiData;\n\n\t},{\"./mode\":14,\"./utils\":21}],13:[function(require,module,exports){\n\t/**\n\t * Data mask pattern reference\n\t * @type {Object}\n\t */\n\texports.Patterns = {\n\t  PATTERN000: 0,\n\t  PATTERN001: 1,\n\t  PATTERN010: 2,\n\t  PATTERN011: 3,\n\t  PATTERN100: 4,\n\t  PATTERN101: 5,\n\t  PATTERN110: 6,\n\t  PATTERN111: 7\n\t};\n\n\t/**\n\t * Weighted penalty scores for the undesirable features\n\t * @type {Object}\n\t */\n\tvar PenaltyScores = {\n\t  N1: 3,\n\t  N2: 3,\n\t  N3: 40,\n\t  N4: 10\n\t};\n\n\t/**\n\t * Check if mask pattern value is valid\n\t *\n\t * @param  {Number}  mask    Mask pattern\n\t * @return {Boolean}         true if valid, false otherwise\n\t */\n\texports.isValid = function isValid (mask) {\n\t  return mask != null && mask !== '' && !isNaN(mask) && mask >= 0 && mask <= 7\n\t};\n\n\t/**\n\t * Returns mask pattern from a value.\n\t * If value is not valid, returns undefined\n\t *\n\t * @param  {Number|String} value        Mask pattern value\n\t * @return {Number}                     Valid mask pattern or undefined\n\t */\n\texports.from = function from (value) {\n\t  return exports.isValid(value) ? parseInt(value, 10) : undefined\n\t};\n\n\t/**\n\t* Find adjacent modules in row/column with the same color\n\t* and assign a penalty value.\n\t*\n\t* Points: N1 + i\n\t* i is the amount by which the number of adjacent modules of the same color exceeds 5\n\t*/\n\texports.getPenaltyN1 = function getPenaltyN1 (data) {\n\t  var size = data.size;\n\t  var points = 0;\n\t  var sameCountCol = 0;\n\t  var sameCountRow = 0;\n\t  var lastCol = null;\n\t  var lastRow = null;\n\n\t  for (var row = 0; row < size; row++) {\n\t    sameCountCol = sameCountRow = 0;\n\t    lastCol = lastRow = null;\n\n\t    for (var col = 0; col < size; col++) {\n\t      var module = data.get(row, col);\n\t      if (module === lastCol) {\n\t        sameCountCol++;\n\t      } else {\n\t        if (sameCountCol >= 5) points += PenaltyScores.N1 + (sameCountCol - 5);\n\t        lastCol = module;\n\t        sameCountCol = 1;\n\t      }\n\n\t      module = data.get(col, row);\n\t      if (module === lastRow) {\n\t        sameCountRow++;\n\t      } else {\n\t        if (sameCountRow >= 5) points += PenaltyScores.N1 + (sameCountRow - 5);\n\t        lastRow = module;\n\t        sameCountRow = 1;\n\t      }\n\t    }\n\n\t    if (sameCountCol >= 5) points += PenaltyScores.N1 + (sameCountCol - 5);\n\t    if (sameCountRow >= 5) points += PenaltyScores.N1 + (sameCountRow - 5);\n\t  }\n\n\t  return points\n\t};\n\n\t/**\n\t * Find 2x2 blocks with the same color and assign a penalty value\n\t *\n\t * Points: N2 * (m - 1) * (n - 1)\n\t */\n\texports.getPenaltyN2 = function getPenaltyN2 (data) {\n\t  var size = data.size;\n\t  var points = 0;\n\n\t  for (var row = 0; row < size - 1; row++) {\n\t    for (var col = 0; col < size - 1; col++) {\n\t      var last = data.get(row, col) +\n\t        data.get(row, col + 1) +\n\t        data.get(row + 1, col) +\n\t        data.get(row + 1, col + 1);\n\n\t      if (last === 4 || last === 0) points++;\n\t    }\n\t  }\n\n\t  return points * PenaltyScores.N2\n\t};\n\n\t/**\n\t * Find 1:1:3:1:1 ratio (dark:light:dark:light:dark) pattern in row/column,\n\t * preceded or followed by light area 4 modules wide\n\t *\n\t * Points: N3 * number of pattern found\n\t */\n\texports.getPenaltyN3 = function getPenaltyN3 (data) {\n\t  var size = data.size;\n\t  var points = 0;\n\t  var bitsCol = 0;\n\t  var bitsRow = 0;\n\n\t  for (var row = 0; row < size; row++) {\n\t    bitsCol = bitsRow = 0;\n\t    for (var col = 0; col < size; col++) {\n\t      bitsCol = ((bitsCol << 1) & 0x7FF) | data.get(row, col);\n\t      if (col >= 10 && (bitsCol === 0x5D0 || bitsCol === 0x05D)) points++;\n\n\t      bitsRow = ((bitsRow << 1) & 0x7FF) | data.get(col, row);\n\t      if (col >= 10 && (bitsRow === 0x5D0 || bitsRow === 0x05D)) points++;\n\t    }\n\t  }\n\n\t  return points * PenaltyScores.N3\n\t};\n\n\t/**\n\t * Calculate proportion of dark modules in entire symbol\n\t *\n\t * Points: N4 * k\n\t *\n\t * k is the rating of the deviation of the proportion of dark modules\n\t * in the symbol from 50% in steps of 5%\n\t */\n\texports.getPenaltyN4 = function getPenaltyN4 (data) {\n\t  var darkCount = 0;\n\t  var modulesCount = data.data.length;\n\n\t  for (var i = 0; i < modulesCount; i++) darkCount += data.data[i];\n\n\t  var k = Math.abs(Math.ceil((darkCount * 100 / modulesCount) / 5) - 10);\n\n\t  return k * PenaltyScores.N4\n\t};\n\n\t/**\n\t * Return mask value at given position\n\t *\n\t * @param  {Number} maskPattern Pattern reference value\n\t * @param  {Number} i           Row\n\t * @param  {Number} j           Column\n\t * @return {Boolean}            Mask value\n\t */\n\tfunction getMaskAt (maskPattern, i, j) {\n\t  switch (maskPattern) {\n\t    case exports.Patterns.PATTERN000: return (i + j) % 2 === 0\n\t    case exports.Patterns.PATTERN001: return i % 2 === 0\n\t    case exports.Patterns.PATTERN010: return j % 3 === 0\n\t    case exports.Patterns.PATTERN011: return (i + j) % 3 === 0\n\t    case exports.Patterns.PATTERN100: return (Math.floor(i / 2) + Math.floor(j / 3)) % 2 === 0\n\t    case exports.Patterns.PATTERN101: return (i * j) % 2 + (i * j) % 3 === 0\n\t    case exports.Patterns.PATTERN110: return ((i * j) % 2 + (i * j) % 3) % 2 === 0\n\t    case exports.Patterns.PATTERN111: return ((i * j) % 3 + (i + j) % 2) % 2 === 0\n\n\t    default: throw new Error('bad maskPattern:' + maskPattern)\n\t  }\n\t}\n\n\t/**\n\t * Apply a mask pattern to a BitMatrix\n\t *\n\t * @param  {Number}    pattern Pattern reference number\n\t * @param  {BitMatrix} data    BitMatrix data\n\t */\n\texports.applyMask = function applyMask (pattern, data) {\n\t  var size = data.size;\n\n\t  for (var col = 0; col < size; col++) {\n\t    for (var row = 0; row < size; row++) {\n\t      if (data.isReserved(row, col)) continue\n\t      data.xor(row, col, getMaskAt(pattern, row, col));\n\t    }\n\t  }\n\t};\n\n\t/**\n\t * Returns the best mask pattern for data\n\t *\n\t * @param  {BitMatrix} data\n\t * @return {Number} Mask pattern reference number\n\t */\n\texports.getBestMask = function getBestMask (data, setupFormatFunc) {\n\t  var numPatterns = Object.keys(exports.Patterns).length;\n\t  var bestPattern = 0;\n\t  var lowerPenalty = Infinity;\n\n\t  for (var p = 0; p < numPatterns; p++) {\n\t    setupFormatFunc(p);\n\t    exports.applyMask(p, data);\n\n\t    // Calculate penalty\n\t    var penalty =\n\t      exports.getPenaltyN1(data) +\n\t      exports.getPenaltyN2(data) +\n\t      exports.getPenaltyN3(data) +\n\t      exports.getPenaltyN4(data);\n\n\t    // Undo previously applied mask\n\t    exports.applyMask(p, data);\n\n\t    if (penalty < lowerPenalty) {\n\t      lowerPenalty = penalty;\n\t      bestPattern = p;\n\t    }\n\t  }\n\n\t  return bestPattern\n\t};\n\n\t},{}],14:[function(require,module,exports){\n\tvar VersionCheck = require('./version-check');\n\tvar Regex = require('./regex');\n\n\t/**\n\t * Numeric mode encodes data from the decimal digit set (0 - 9)\n\t * (byte values 30HEX to 39HEX).\n\t * Normally, 3 data characters are represented by 10 bits.\n\t *\n\t * @type {Object}\n\t */\n\texports.NUMERIC = {\n\t  id: 'Numeric',\n\t  bit: 1 << 0,\n\t  ccBits: [10, 12, 14]\n\t};\n\n\t/**\n\t * Alphanumeric mode encodes data from a set of 45 characters,\n\t * i.e. 10 numeric digits (0 - 9),\n\t *      26 alphabetic characters (A - Z),\n\t *   and 9 symbols (SP, $, %, *, +, -, ., /, :).\n\t * Normally, two input characters are represented by 11 bits.\n\t *\n\t * @type {Object}\n\t */\n\texports.ALPHANUMERIC = {\n\t  id: 'Alphanumeric',\n\t  bit: 1 << 1,\n\t  ccBits: [9, 11, 13]\n\t};\n\n\t/**\n\t * In byte mode, data is encoded at 8 bits per character.\n\t *\n\t * @type {Object}\n\t */\n\texports.BYTE = {\n\t  id: 'Byte',\n\t  bit: 1 << 2,\n\t  ccBits: [8, 16, 16]\n\t};\n\n\t/**\n\t * The Kanji mode efficiently encodes Kanji characters in accordance with\n\t * the Shift JIS system based on JIS X 0208.\n\t * The Shift JIS values are shifted from the JIS X 0208 values.\n\t * JIS X 0208 gives details of the shift coded representation.\n\t * Each two-byte character value is compacted to a 13-bit binary codeword.\n\t *\n\t * @type {Object}\n\t */\n\texports.KANJI = {\n\t  id: 'Kanji',\n\t  bit: 1 << 3,\n\t  ccBits: [8, 10, 12]\n\t};\n\n\t/**\n\t * Mixed mode will contain a sequences of data in a combination of any of\n\t * the modes described above\n\t *\n\t * @type {Object}\n\t */\n\texports.MIXED = {\n\t  bit: -1\n\t};\n\n\t/**\n\t * Returns the number of bits needed to store the data length\n\t * according to QR Code specifications.\n\t *\n\t * @param  {Mode}   mode    Data mode\n\t * @param  {Number} version QR Code version\n\t * @return {Number}         Number of bits\n\t */\n\texports.getCharCountIndicator = function getCharCountIndicator (mode, version) {\n\t  if (!mode.ccBits) throw new Error('Invalid mode: ' + mode)\n\n\t  if (!VersionCheck.isValid(version)) {\n\t    throw new Error('Invalid version: ' + version)\n\t  }\n\n\t  if (version >= 1 && version < 10) return mode.ccBits[0]\n\t  else if (version < 27) return mode.ccBits[1]\n\t  return mode.ccBits[2]\n\t};\n\n\t/**\n\t * Returns the most efficient mode to store the specified data\n\t *\n\t * @param  {String} dataStr Input data string\n\t * @return {Mode}           Best mode\n\t */\n\texports.getBestModeForData = function getBestModeForData (dataStr) {\n\t  if (Regex.testNumeric(dataStr)) return exports.NUMERIC\n\t  else if (Regex.testAlphanumeric(dataStr)) return exports.ALPHANUMERIC\n\t  else if (Regex.testKanji(dataStr)) return exports.KANJI\n\t  else return exports.BYTE\n\t};\n\n\t/**\n\t * Return mode name as string\n\t *\n\t * @param {Mode} mode Mode object\n\t * @returns {String}  Mode name\n\t */\n\texports.toString = function toString (mode) {\n\t  if (mode && mode.id) return mode.id\n\t  throw new Error('Invalid mode')\n\t};\n\n\t/**\n\t * Check if input param is a valid mode object\n\t *\n\t * @param   {Mode}    mode Mode object\n\t * @returns {Boolean} True if valid mode, false otherwise\n\t */\n\texports.isValid = function isValid (mode) {\n\t  return mode && mode.bit && mode.ccBits\n\t};\n\n\t/**\n\t * Get mode object from its name\n\t *\n\t * @param   {String} string Mode name\n\t * @returns {Mode}          Mode object\n\t */\n\tfunction fromString (string) {\n\t  if (typeof string !== 'string') {\n\t    throw new Error('Param is not a string')\n\t  }\n\n\t  var lcStr = string.toLowerCase();\n\n\t  switch (lcStr) {\n\t    case 'numeric':\n\t      return exports.NUMERIC\n\t    case 'alphanumeric':\n\t      return exports.ALPHANUMERIC\n\t    case 'kanji':\n\t      return exports.KANJI\n\t    case 'byte':\n\t      return exports.BYTE\n\t    default:\n\t      throw new Error('Unknown mode: ' + string)\n\t  }\n\t}\n\n\t/**\n\t * Returns mode from a value.\n\t * If value is not a valid mode, returns defaultValue\n\t *\n\t * @param  {Mode|String} value        Encoding mode\n\t * @param  {Mode}        defaultValue Fallback value\n\t * @return {Mode}                     Encoding mode\n\t */\n\texports.from = function from (value, defaultValue) {\n\t  if (exports.isValid(value)) {\n\t    return value\n\t  }\n\n\t  try {\n\t    return fromString(value)\n\t  } catch (e) {\n\t    return defaultValue\n\t  }\n\t};\n\n\t},{\"./regex\":19,\"./version-check\":22}],15:[function(require,module,exports){\n\tvar Mode = require('./mode');\n\n\tfunction NumericData (data) {\n\t  this.mode = Mode.NUMERIC;\n\t  this.data = data.toString();\n\t}\n\n\tNumericData.getBitsLength = function getBitsLength (length) {\n\t  return 10 * Math.floor(length / 3) + ((length % 3) ? ((length % 3) * 3 + 1) : 0)\n\t};\n\n\tNumericData.prototype.getLength = function getLength () {\n\t  return this.data.length\n\t};\n\n\tNumericData.prototype.getBitsLength = function getBitsLength () {\n\t  return NumericData.getBitsLength(this.data.length)\n\t};\n\n\tNumericData.prototype.write = function write (bitBuffer) {\n\t  var i, group, value;\n\n\t  // The input data string is divided into groups of three digits,\n\t  // and each group is converted to its 10-bit binary equivalent.\n\t  for (i = 0; i + 3 <= this.data.length; i += 3) {\n\t    group = this.data.substr(i, 3);\n\t    value = parseInt(group, 10);\n\n\t    bitBuffer.put(value, 10);\n\t  }\n\n\t  // If the number of input digits is not an exact multiple of three,\n\t  // the final one or two digits are converted to 4 or 7 bits respectively.\n\t  var remainingNum = this.data.length - i;\n\t  if (remainingNum > 0) {\n\t    group = this.data.substr(i);\n\t    value = parseInt(group, 10);\n\n\t    bitBuffer.put(value, remainingNum * 3 + 1);\n\t  }\n\t};\n\n\tmodule.exports = NumericData;\n\n\t},{\"./mode\":14}],16:[function(require,module,exports){\n\tvar BufferUtil = require('../utils/buffer');\n\tvar GF = require('./galois-field');\n\n\t/**\n\t * Multiplies two polynomials inside Galois Field\n\t *\n\t * @param  {Buffer} p1 Polynomial\n\t * @param  {Buffer} p2 Polynomial\n\t * @return {Buffer}    Product of p1 and p2\n\t */\n\texports.mul = function mul (p1, p2) {\n\t  var coeff = BufferUtil.alloc(p1.length + p2.length - 1);\n\n\t  for (var i = 0; i < p1.length; i++) {\n\t    for (var j = 0; j < p2.length; j++) {\n\t      coeff[i + j] ^= GF.mul(p1[i], p2[j]);\n\t    }\n\t  }\n\n\t  return coeff\n\t};\n\n\t/**\n\t * Calculate the remainder of polynomials division\n\t *\n\t * @param  {Buffer} divident Polynomial\n\t * @param  {Buffer} divisor  Polynomial\n\t * @return {Buffer}          Remainder\n\t */\n\texports.mod = function mod (divident, divisor) {\n\t  var result = BufferUtil.from(divident);\n\n\t  while ((result.length - divisor.length) >= 0) {\n\t    var coeff = result[0];\n\n\t    for (var i = 0; i < divisor.length; i++) {\n\t      result[i] ^= GF.mul(divisor[i], coeff);\n\t    }\n\n\t    // remove all zeros from buffer head\n\t    var offset = 0;\n\t    while (offset < result.length && result[offset] === 0) offset++;\n\t    result = result.slice(offset);\n\t  }\n\n\t  return result\n\t};\n\n\t/**\n\t * Generate an irreducible generator polynomial of specified degree\n\t * (used by Reed-Solomon encoder)\n\t *\n\t * @param  {Number} degree Degree of the generator polynomial\n\t * @return {Buffer}        Buffer containing polynomial coefficients\n\t */\n\texports.generateECPolynomial = function generateECPolynomial (degree) {\n\t  var poly = BufferUtil.from([1]);\n\t  for (var i = 0; i < degree; i++) {\n\t    poly = exports.mul(poly, [1, GF.exp(i)]);\n\t  }\n\n\t  return poly\n\t};\n\n\t},{\"../utils/buffer\":28,\"./galois-field\":11}],17:[function(require,module,exports){\n\tvar BufferUtil = require('../utils/buffer');\n\tvar Utils = require('./utils');\n\tvar ECLevel = require('./error-correction-level');\n\tvar BitBuffer = require('./bit-buffer');\n\tvar BitMatrix = require('./bit-matrix');\n\tvar AlignmentPattern = require('./alignment-pattern');\n\tvar FinderPattern = require('./finder-pattern');\n\tvar MaskPattern = require('./mask-pattern');\n\tvar ECCode = require('./error-correction-code');\n\tvar ReedSolomonEncoder = require('./reed-solomon-encoder');\n\tvar Version = require('./version');\n\tvar FormatInfo = require('./format-info');\n\tvar Mode = require('./mode');\n\tvar Segments = require('./segments');\n\tvar isArray = require('isarray');\n\n\t/**\n\t * QRCode for JavaScript\n\t *\n\t * modified by Ryan Day for nodejs support\n\t * Copyright (c) 2011 Ryan Day\n\t *\n\t * Licensed under the MIT license:\n\t *   http://www.opensource.org/licenses/mit-license.php\n\t *\n\t//---------------------------------------------------------------------\n\t// QRCode for JavaScript\n\t//\n\t// Copyright (c) 2009 Kazuhiko Arase\n\t//\n\t// URL: http://www.d-project.com/\n\t//\n\t// Licensed under the MIT license:\n\t//   http://www.opensource.org/licenses/mit-license.php\n\t//\n\t// The word \"QR Code\" is registered trademark of\n\t// DENSO WAVE INCORPORATED\n\t//   http://www.denso-wave.com/qrcode/faqpatent-e.html\n\t//\n\t//---------------------------------------------------------------------\n\t*/\n\n\t/**\n\t * Add finder patterns bits to matrix\n\t *\n\t * @param  {BitMatrix} matrix  Modules matrix\n\t * @param  {Number}    version QR Code version\n\t */\n\tfunction setupFinderPattern (matrix, version) {\n\t  var size = matrix.size;\n\t  var pos = FinderPattern.getPositions(version);\n\n\t  for (var i = 0; i < pos.length; i++) {\n\t    var row = pos[i][0];\n\t    var col = pos[i][1];\n\n\t    for (var r = -1; r <= 7; r++) {\n\t      if (row + r <= -1 || size <= row + r) continue\n\n\t      for (var c = -1; c <= 7; c++) {\n\t        if (col + c <= -1 || size <= col + c) continue\n\n\t        if ((r >= 0 && r <= 6 && (c === 0 || c === 6)) ||\n\t          (c >= 0 && c <= 6 && (r === 0 || r === 6)) ||\n\t          (r >= 2 && r <= 4 && c >= 2 && c <= 4)) {\n\t          matrix.set(row + r, col + c, true, true);\n\t        } else {\n\t          matrix.set(row + r, col + c, false, true);\n\t        }\n\t      }\n\t    }\n\t  }\n\t}\n\n\t/**\n\t * Add timing pattern bits to matrix\n\t *\n\t * Note: this function must be called before {@link setupAlignmentPattern}\n\t *\n\t * @param  {BitMatrix} matrix Modules matrix\n\t */\n\tfunction setupTimingPattern (matrix) {\n\t  var size = matrix.size;\n\n\t  for (var r = 8; r < size - 8; r++) {\n\t    var value = r % 2 === 0;\n\t    matrix.set(r, 6, value, true);\n\t    matrix.set(6, r, value, true);\n\t  }\n\t}\n\n\t/**\n\t * Add alignment patterns bits to matrix\n\t *\n\t * Note: this function must be called after {@link setupTimingPattern}\n\t *\n\t * @param  {BitMatrix} matrix  Modules matrix\n\t * @param  {Number}    version QR Code version\n\t */\n\tfunction setupAlignmentPattern (matrix, version) {\n\t  var pos = AlignmentPattern.getPositions(version);\n\n\t  for (var i = 0; i < pos.length; i++) {\n\t    var row = pos[i][0];\n\t    var col = pos[i][1];\n\n\t    for (var r = -2; r <= 2; r++) {\n\t      for (var c = -2; c <= 2; c++) {\n\t        if (r === -2 || r === 2 || c === -2 || c === 2 ||\n\t          (r === 0 && c === 0)) {\n\t          matrix.set(row + r, col + c, true, true);\n\t        } else {\n\t          matrix.set(row + r, col + c, false, true);\n\t        }\n\t      }\n\t    }\n\t  }\n\t}\n\n\t/**\n\t * Add version info bits to matrix\n\t *\n\t * @param  {BitMatrix} matrix  Modules matrix\n\t * @param  {Number}    version QR Code version\n\t */\n\tfunction setupVersionInfo (matrix, version) {\n\t  var size = matrix.size;\n\t  var bits = Version.getEncodedBits(version);\n\t  var row, col, mod;\n\n\t  for (var i = 0; i < 18; i++) {\n\t    row = Math.floor(i / 3);\n\t    col = i % 3 + size - 8 - 3;\n\t    mod = ((bits >> i) & 1) === 1;\n\n\t    matrix.set(row, col, mod, true);\n\t    matrix.set(col, row, mod, true);\n\t  }\n\t}\n\n\t/**\n\t * Add format info bits to matrix\n\t *\n\t * @param  {BitMatrix} matrix               Modules matrix\n\t * @param  {ErrorCorrectionLevel}    errorCorrectionLevel Error correction level\n\t * @param  {Number}    maskPattern          Mask pattern reference value\n\t */\n\tfunction setupFormatInfo (matrix, errorCorrectionLevel, maskPattern) {\n\t  var size = matrix.size;\n\t  var bits = FormatInfo.getEncodedBits(errorCorrectionLevel, maskPattern);\n\t  var i, mod;\n\n\t  for (i = 0; i < 15; i++) {\n\t    mod = ((bits >> i) & 1) === 1;\n\n\t    // vertical\n\t    if (i < 6) {\n\t      matrix.set(i, 8, mod, true);\n\t    } else if (i < 8) {\n\t      matrix.set(i + 1, 8, mod, true);\n\t    } else {\n\t      matrix.set(size - 15 + i, 8, mod, true);\n\t    }\n\n\t    // horizontal\n\t    if (i < 8) {\n\t      matrix.set(8, size - i - 1, mod, true);\n\t    } else if (i < 9) {\n\t      matrix.set(8, 15 - i - 1 + 1, mod, true);\n\t    } else {\n\t      matrix.set(8, 15 - i - 1, mod, true);\n\t    }\n\t  }\n\n\t  // fixed module\n\t  matrix.set(size - 8, 8, 1, true);\n\t}\n\n\t/**\n\t * Add encoded data bits to matrix\n\t *\n\t * @param  {BitMatrix} matrix Modules matrix\n\t * @param  {Buffer}    data   Data codewords\n\t */\n\tfunction setupData (matrix, data) {\n\t  var size = matrix.size;\n\t  var inc = -1;\n\t  var row = size - 1;\n\t  var bitIndex = 7;\n\t  var byteIndex = 0;\n\n\t  for (var col = size - 1; col > 0; col -= 2) {\n\t    if (col === 6) col--;\n\n\t    while (true) {\n\t      for (var c = 0; c < 2; c++) {\n\t        if (!matrix.isReserved(row, col - c)) {\n\t          var dark = false;\n\n\t          if (byteIndex < data.length) {\n\t            dark = (((data[byteIndex] >>> bitIndex) & 1) === 1);\n\t          }\n\n\t          matrix.set(row, col - c, dark);\n\t          bitIndex--;\n\n\t          if (bitIndex === -1) {\n\t            byteIndex++;\n\t            bitIndex = 7;\n\t          }\n\t        }\n\t      }\n\n\t      row += inc;\n\n\t      if (row < 0 || size <= row) {\n\t        row -= inc;\n\t        inc = -inc;\n\t        break\n\t      }\n\t    }\n\t  }\n\t}\n\n\t/**\n\t * Create encoded codewords from data input\n\t *\n\t * @param  {Number}   version              QR Code version\n\t * @param  {ErrorCorrectionLevel}   errorCorrectionLevel Error correction level\n\t * @param  {ByteData} data                 Data input\n\t * @return {Buffer}                        Buffer containing encoded codewords\n\t */\n\tfunction createData (version, errorCorrectionLevel, segments) {\n\t  // Prepare data buffer\n\t  var buffer = new BitBuffer();\n\n\t  segments.forEach(function (data) {\n\t    // prefix data with mode indicator (4 bits)\n\t    buffer.put(data.mode.bit, 4);\n\n\t    // Prefix data with character count indicator.\n\t    // The character count indicator is a string of bits that represents the\n\t    // number of characters that are being encoded.\n\t    // The character count indicator must be placed after the mode indicator\n\t    // and must be a certain number of bits long, depending on the QR version\n\t    // and data mode\n\t    // @see {@link Mode.getCharCountIndicator}.\n\t    buffer.put(data.getLength(), Mode.getCharCountIndicator(data.mode, version));\n\n\t    // add binary data sequence to buffer\n\t    data.write(buffer);\n\t  });\n\n\t  // Calculate required number of bits\n\t  var totalCodewords = Utils.getSymbolTotalCodewords(version);\n\t  var ecTotalCodewords = ECCode.getTotalCodewordsCount(version, errorCorrectionLevel);\n\t  var dataTotalCodewordsBits = (totalCodewords - ecTotalCodewords) * 8;\n\n\t  // Add a terminator.\n\t  // If the bit string is shorter than the total number of required bits,\n\t  // a terminator of up to four 0s must be added to the right side of the string.\n\t  // If the bit string is more than four bits shorter than the required number of bits,\n\t  // add four 0s to the end.\n\t  if (buffer.getLengthInBits() + 4 <= dataTotalCodewordsBits) {\n\t    buffer.put(0, 4);\n\t  }\n\n\t  // If the bit string is fewer than four bits shorter, add only the number of 0s that\n\t  // are needed to reach the required number of bits.\n\n\t  // After adding the terminator, if the number of bits in the string is not a multiple of 8,\n\t  // pad the string on the right with 0s to make the string's length a multiple of 8.\n\t  while (buffer.getLengthInBits() % 8 !== 0) {\n\t    buffer.putBit(0);\n\t  }\n\n\t  // Add pad bytes if the string is still shorter than the total number of required bits.\n\t  // Extend the buffer to fill the data capacity of the symbol corresponding to\n\t  // the Version and Error Correction Level by adding the Pad Codewords 11101100 (0xEC)\n\t  // and 00010001 (0x11) alternately.\n\t  var remainingByte = (dataTotalCodewordsBits - buffer.getLengthInBits()) / 8;\n\t  for (var i = 0; i < remainingByte; i++) {\n\t    buffer.put(i % 2 ? 0x11 : 0xEC, 8);\n\t  }\n\n\t  return createCodewords(buffer, version, errorCorrectionLevel)\n\t}\n\n\t/**\n\t * Encode input data with Reed-Solomon and return codewords with\n\t * relative error correction bits\n\t *\n\t * @param  {BitBuffer} bitBuffer            Data to encode\n\t * @param  {Number}    version              QR Code version\n\t * @param  {ErrorCorrectionLevel} errorCorrectionLevel Error correction level\n\t * @return {Buffer}                         Buffer containing encoded codewords\n\t */\n\tfunction createCodewords (bitBuffer, version, errorCorrectionLevel) {\n\t  // Total codewords for this QR code version (Data + Error correction)\n\t  var totalCodewords = Utils.getSymbolTotalCodewords(version);\n\n\t  // Total number of error correction codewords\n\t  var ecTotalCodewords = ECCode.getTotalCodewordsCount(version, errorCorrectionLevel);\n\n\t  // Total number of data codewords\n\t  var dataTotalCodewords = totalCodewords - ecTotalCodewords;\n\n\t  // Total number of blocks\n\t  var ecTotalBlocks = ECCode.getBlocksCount(version, errorCorrectionLevel);\n\n\t  // Calculate how many blocks each group should contain\n\t  var blocksInGroup2 = totalCodewords % ecTotalBlocks;\n\t  var blocksInGroup1 = ecTotalBlocks - blocksInGroup2;\n\n\t  var totalCodewordsInGroup1 = Math.floor(totalCodewords / ecTotalBlocks);\n\n\t  var dataCodewordsInGroup1 = Math.floor(dataTotalCodewords / ecTotalBlocks);\n\t  var dataCodewordsInGroup2 = dataCodewordsInGroup1 + 1;\n\n\t  // Number of EC codewords is the same for both groups\n\t  var ecCount = totalCodewordsInGroup1 - dataCodewordsInGroup1;\n\n\t  // Initialize a Reed-Solomon encoder with a generator polynomial of degree ecCount\n\t  var rs = new ReedSolomonEncoder(ecCount);\n\n\t  var offset = 0;\n\t  var dcData = new Array(ecTotalBlocks);\n\t  var ecData = new Array(ecTotalBlocks);\n\t  var maxDataSize = 0;\n\t  var buffer = BufferUtil.from(bitBuffer.buffer);\n\n\t  // Divide the buffer into the required number of blocks\n\t  for (var b = 0; b < ecTotalBlocks; b++) {\n\t    var dataSize = b < blocksInGroup1 ? dataCodewordsInGroup1 : dataCodewordsInGroup2;\n\n\t    // extract a block of data from buffer\n\t    dcData[b] = buffer.slice(offset, offset + dataSize);\n\n\t    // Calculate EC codewords for this data block\n\t    ecData[b] = rs.encode(dcData[b]);\n\n\t    offset += dataSize;\n\t    maxDataSize = Math.max(maxDataSize, dataSize);\n\t  }\n\n\t  // Create final data\n\t  // Interleave the data and error correction codewords from each block\n\t  var data = BufferUtil.alloc(totalCodewords);\n\t  var index = 0;\n\t  var i, r;\n\n\t  // Add data codewords\n\t  for (i = 0; i < maxDataSize; i++) {\n\t    for (r = 0; r < ecTotalBlocks; r++) {\n\t      if (i < dcData[r].length) {\n\t        data[index++] = dcData[r][i];\n\t      }\n\t    }\n\t  }\n\n\t  // Apped EC codewords\n\t  for (i = 0; i < ecCount; i++) {\n\t    for (r = 0; r < ecTotalBlocks; r++) {\n\t      data[index++] = ecData[r][i];\n\t    }\n\t  }\n\n\t  return data\n\t}\n\n\t/**\n\t * Build QR Code symbol\n\t *\n\t * @param  {String} data                 Input string\n\t * @param  {Number} version              QR Code version\n\t * @param  {ErrorCorretionLevel} errorCorrectionLevel Error level\n\t * @param  {MaskPattern} maskPattern     Mask pattern\n\t * @return {Object}                      Object containing symbol data\n\t */\n\tfunction createSymbol (data, version, errorCorrectionLevel, maskPattern) {\n\t  var segments;\n\n\t  if (isArray(data)) {\n\t    segments = Segments.fromArray(data);\n\t  } else if (typeof data === 'string') {\n\t    var estimatedVersion = version;\n\n\t    if (!estimatedVersion) {\n\t      var rawSegments = Segments.rawSplit(data);\n\n\t      // Estimate best version that can contain raw splitted segments\n\t      estimatedVersion = Version.getBestVersionForData(rawSegments,\n\t        errorCorrectionLevel);\n\t    }\n\n\t    // Build optimized segments\n\t    // If estimated version is undefined, try with the highest version\n\t    segments = Segments.fromString(data, estimatedVersion || 40);\n\t  } else {\n\t    throw new Error('Invalid data')\n\t  }\n\n\t  // Get the min version that can contain data\n\t  var bestVersion = Version.getBestVersionForData(segments,\n\t      errorCorrectionLevel);\n\n\t  // If no version is found, data cannot be stored\n\t  if (!bestVersion) {\n\t    throw new Error('The amount of data is too big to be stored in a QR Code')\n\t  }\n\n\t  // If not specified, use min version as default\n\t  if (!version) {\n\t    version = bestVersion;\n\n\t  // Check if the specified version can contain the data\n\t  } else if (version < bestVersion) {\n\t    throw new Error('\\n' +\n\t      'The chosen QR Code version cannot contain this amount of data.\\n' +\n\t      'Minimum version required to store current data is: ' + bestVersion + '.\\n'\n\t    )\n\t  }\n\n\t  var dataBits = createData(version, errorCorrectionLevel, segments);\n\n\t  // Allocate matrix buffer\n\t  var moduleCount = Utils.getSymbolSize(version);\n\t  var modules = new BitMatrix(moduleCount);\n\n\t  // Add function modules\n\t  setupFinderPattern(modules, version);\n\t  setupTimingPattern(modules);\n\t  setupAlignmentPattern(modules, version);\n\n\t  // Add temporary dummy bits for format info just to set them as reserved.\n\t  // This is needed to prevent these bits from being masked by {@link MaskPattern.applyMask}\n\t  // since the masking operation must be performed only on the encoding region.\n\t  // These blocks will be replaced with correct values later in code.\n\t  setupFormatInfo(modules, errorCorrectionLevel, 0);\n\n\t  if (version >= 7) {\n\t    setupVersionInfo(modules, version);\n\t  }\n\n\t  // Add data codewords\n\t  setupData(modules, dataBits);\n\n\t  if (isNaN(maskPattern)) {\n\t    // Find best mask pattern\n\t    maskPattern = MaskPattern.getBestMask(modules,\n\t      setupFormatInfo.bind(null, modules, errorCorrectionLevel));\n\t  }\n\n\t  // Apply mask pattern\n\t  MaskPattern.applyMask(maskPattern, modules);\n\n\t  // Replace format info bits with correct values\n\t  setupFormatInfo(modules, errorCorrectionLevel, maskPattern);\n\n\t  return {\n\t    modules: modules,\n\t    version: version,\n\t    errorCorrectionLevel: errorCorrectionLevel,\n\t    maskPattern: maskPattern,\n\t    segments: segments\n\t  }\n\t}\n\n\t/**\n\t * QR Code\n\t *\n\t * @param {String | Array} data                 Input data\n\t * @param {Object} options                      Optional configurations\n\t * @param {Number} options.version              QR Code version\n\t * @param {String} options.errorCorrectionLevel Error correction level\n\t * @param {Function} options.toSJISFunc         Helper func to convert utf8 to sjis\n\t */\n\texports.create = function create (data, options) {\n\t  if (typeof data === 'undefined' || data === '') {\n\t    throw new Error('No input text')\n\t  }\n\n\t  var errorCorrectionLevel = ECLevel.M;\n\t  var version;\n\t  var mask;\n\n\t  if (typeof options !== 'undefined') {\n\t    // Use higher error correction level as default\n\t    errorCorrectionLevel = ECLevel.from(options.errorCorrectionLevel, ECLevel.M);\n\t    version = Version.from(options.version);\n\t    mask = MaskPattern.from(options.maskPattern);\n\n\t    if (options.toSJISFunc) {\n\t      Utils.setToSJISFunction(options.toSJISFunc);\n\t    }\n\t  }\n\n\t  return createSymbol(data, version, errorCorrectionLevel, mask)\n\t};\n\n\t},{\"../utils/buffer\":28,\"./alignment-pattern\":2,\"./bit-buffer\":4,\"./bit-matrix\":5,\"./error-correction-code\":7,\"./error-correction-level\":8,\"./finder-pattern\":9,\"./format-info\":10,\"./mask-pattern\":13,\"./mode\":14,\"./reed-solomon-encoder\":18,\"./segments\":20,\"./utils\":21,\"./version\":23,\"isarray\":33}],18:[function(require,module,exports){\n\tvar BufferUtil = require('../utils/buffer');\n\tvar Polynomial = require('./polynomial');\n\tvar Buffer = require('buffer').Buffer;\n\n\tfunction ReedSolomonEncoder (degree) {\n\t  this.genPoly = undefined;\n\t  this.degree = degree;\n\n\t  if (this.degree) this.initialize(this.degree);\n\t}\n\n\t/**\n\t * Initialize the encoder.\n\t * The input param should correspond to the number of error correction codewords.\n\t *\n\t * @param  {Number} degree\n\t */\n\tReedSolomonEncoder.prototype.initialize = function initialize (degree) {\n\t  // create an irreducible generator polynomial\n\t  this.degree = degree;\n\t  this.genPoly = Polynomial.generateECPolynomial(this.degree);\n\t};\n\n\t/**\n\t * Encodes a chunk of data\n\t *\n\t * @param  {Buffer} data Buffer containing input data\n\t * @return {Buffer}      Buffer containing encoded data\n\t */\n\tReedSolomonEncoder.prototype.encode = function encode (data) {\n\t  if (!this.genPoly) {\n\t    throw new Error('Encoder not initialized')\n\t  }\n\n\t  // Calculate EC for this data block\n\t  // extends data size to data+genPoly size\n\t  var pad = BufferUtil.alloc(this.degree);\n\t  var paddedData = Buffer.concat([data, pad], data.length + this.degree);\n\n\t  // The error correction codewords are the remainder after dividing the data codewords\n\t  // by a generator polynomial\n\t  var remainder = Polynomial.mod(paddedData, this.genPoly);\n\n\t  // return EC data blocks (last n byte, where n is the degree of genPoly)\n\t  // If coefficients number in remainder are less than genPoly degree,\n\t  // pad with 0s to the left to reach the needed number of coefficients\n\t  var start = this.degree - remainder.length;\n\t  if (start > 0) {\n\t    var buff = BufferUtil.alloc(this.degree);\n\t    remainder.copy(buff, start);\n\n\t    return buff\n\t  }\n\n\t  return remainder\n\t};\n\n\tmodule.exports = ReedSolomonEncoder;\n\n\t},{\"../utils/buffer\":28,\"./polynomial\":16,\"buffer\":30}],19:[function(require,module,exports){\n\tvar numeric = '[0-9]+';\n\tvar alphanumeric = '[A-Z $%*+\\\\-./:]+';\n\tvar kanji = '(?:[u3000-u303F]|[u3040-u309F]|[u30A0-u30FF]|' +\n\t  '[uFF00-uFFEF]|[u4E00-u9FAF]|[u2605-u2606]|[u2190-u2195]|u203B|' +\n\t  '[u2010u2015u2018u2019u2025u2026u201Cu201Du2225u2260]|' +\n\t  '[u0391-u0451]|[u00A7u00A8u00B1u00B4u00D7u00F7])+';\n\tkanji = kanji.replace(/u/g, '\\\\u');\n\n\tvar byte = '(?:(?![A-Z0-9 $%*+\\\\-./:]|' + kanji + ')(?:.|[\\r\\n]))+';\n\n\texports.KANJI = new RegExp(kanji, 'g');\n\texports.BYTE_KANJI = new RegExp('[^A-Z0-9 $%*+\\\\-./:]+', 'g');\n\texports.BYTE = new RegExp(byte, 'g');\n\texports.NUMERIC = new RegExp(numeric, 'g');\n\texports.ALPHANUMERIC = new RegExp(alphanumeric, 'g');\n\n\tvar TEST_KANJI = new RegExp('^' + kanji + '$');\n\tvar TEST_NUMERIC = new RegExp('^' + numeric + '$');\n\tvar TEST_ALPHANUMERIC = new RegExp('^[A-Z0-9 $%*+\\\\-./:]+$');\n\n\texports.testKanji = function testKanji (str) {\n\t  return TEST_KANJI.test(str)\n\t};\n\n\texports.testNumeric = function testNumeric (str) {\n\t  return TEST_NUMERIC.test(str)\n\t};\n\n\texports.testAlphanumeric = function testAlphanumeric (str) {\n\t  return TEST_ALPHANUMERIC.test(str)\n\t};\n\n\t},{}],20:[function(require,module,exports){\n\tvar Mode = require('./mode');\n\tvar NumericData = require('./numeric-data');\n\tvar AlphanumericData = require('./alphanumeric-data');\n\tvar ByteData = require('./byte-data');\n\tvar KanjiData = require('./kanji-data');\n\tvar Regex = require('./regex');\n\tvar Utils = require('./utils');\n\tvar dijkstra = require('dijkstrajs');\n\n\t/**\n\t * Returns UTF8 byte length\n\t *\n\t * @param  {String} str Input string\n\t * @return {Number}     Number of byte\n\t */\n\tfunction getStringByteLength (str) {\n\t  return unescape(encodeURIComponent(str)).length\n\t}\n\n\t/**\n\t * Get a list of segments of the specified mode\n\t * from a string\n\t *\n\t * @param  {Mode}   mode Segment mode\n\t * @param  {String} str  String to process\n\t * @return {Array}       Array of object with segments data\n\t */\n\tfunction getSegments (regex, mode, str) {\n\t  var segments = [];\n\t  var result;\n\n\t  while ((result = regex.exec(str)) !== null) {\n\t    segments.push({\n\t      data: result[0],\n\t      index: result.index,\n\t      mode: mode,\n\t      length: result[0].length\n\t    });\n\t  }\n\n\t  return segments\n\t}\n\n\t/**\n\t * Extracts a series of segments with the appropriate\n\t * modes from a string\n\t *\n\t * @param  {String} dataStr Input string\n\t * @return {Array}          Array of object with segments data\n\t */\n\tfunction getSegmentsFromString (dataStr) {\n\t  var numSegs = getSegments(Regex.NUMERIC, Mode.NUMERIC, dataStr);\n\t  var alphaNumSegs = getSegments(Regex.ALPHANUMERIC, Mode.ALPHANUMERIC, dataStr);\n\t  var byteSegs;\n\t  var kanjiSegs;\n\n\t  if (Utils.isKanjiModeEnabled()) {\n\t    byteSegs = getSegments(Regex.BYTE, Mode.BYTE, dataStr);\n\t    kanjiSegs = getSegments(Regex.KANJI, Mode.KANJI, dataStr);\n\t  } else {\n\t    byteSegs = getSegments(Regex.BYTE_KANJI, Mode.BYTE, dataStr);\n\t    kanjiSegs = [];\n\t  }\n\n\t  var segs = numSegs.concat(alphaNumSegs, byteSegs, kanjiSegs);\n\n\t  return segs\n\t    .sort(function (s1, s2) {\n\t      return s1.index - s2.index\n\t    })\n\t    .map(function (obj) {\n\t      return {\n\t        data: obj.data,\n\t        mode: obj.mode,\n\t        length: obj.length\n\t      }\n\t    })\n\t}\n\n\t/**\n\t * Returns how many bits are needed to encode a string of\n\t * specified length with the specified mode\n\t *\n\t * @param  {Number} length String length\n\t * @param  {Mode} mode     Segment mode\n\t * @return {Number}        Bit length\n\t */\n\tfunction getSegmentBitsLength (length, mode) {\n\t  switch (mode) {\n\t    case Mode.NUMERIC:\n\t      return NumericData.getBitsLength(length)\n\t    case Mode.ALPHANUMERIC:\n\t      return AlphanumericData.getBitsLength(length)\n\t    case Mode.KANJI:\n\t      return KanjiData.getBitsLength(length)\n\t    case Mode.BYTE:\n\t      return ByteData.getBitsLength(length)\n\t  }\n\t}\n\n\t/**\n\t * Merges adjacent segments which have the same mode\n\t *\n\t * @param  {Array} segs Array of object with segments data\n\t * @return {Array}      Array of object with segments data\n\t */\n\tfunction mergeSegments (segs) {\n\t  return segs.reduce(function (acc, curr) {\n\t    var prevSeg = acc.length - 1 >= 0 ? acc[acc.length - 1] : null;\n\t    if (prevSeg && prevSeg.mode === curr.mode) {\n\t      acc[acc.length - 1].data += curr.data;\n\t      return acc\n\t    }\n\n\t    acc.push(curr);\n\t    return acc\n\t  }, [])\n\t}\n\n\t/**\n\t * Generates a list of all possible nodes combination which\n\t * will be used to build a segments graph.\n\t *\n\t * Nodes are divided by groups. Each group will contain a list of all the modes\n\t * in which is possible to encode the given text.\n\t *\n\t * For example the text '12345' can be encoded as Numeric, Alphanumeric or Byte.\n\t * The group for '12345' will contain then 3 objects, one for each\n\t * possible encoding mode.\n\t *\n\t * Each node represents a possible segment.\n\t *\n\t * @param  {Array} segs Array of object with segments data\n\t * @return {Array}      Array of object with segments data\n\t */\n\tfunction buildNodes (segs) {\n\t  var nodes = [];\n\t  for (var i = 0; i < segs.length; i++) {\n\t    var seg = segs[i];\n\n\t    switch (seg.mode) {\n\t      case Mode.NUMERIC:\n\t        nodes.push([seg,\n\t          { data: seg.data, mode: Mode.ALPHANUMERIC, length: seg.length },\n\t          { data: seg.data, mode: Mode.BYTE, length: seg.length }\n\t        ]);\n\t        break\n\t      case Mode.ALPHANUMERIC:\n\t        nodes.push([seg,\n\t          { data: seg.data, mode: Mode.BYTE, length: seg.length }\n\t        ]);\n\t        break\n\t      case Mode.KANJI:\n\t        nodes.push([seg,\n\t          { data: seg.data, mode: Mode.BYTE, length: getStringByteLength(seg.data) }\n\t        ]);\n\t        break\n\t      case Mode.BYTE:\n\t        nodes.push([\n\t          { data: seg.data, mode: Mode.BYTE, length: getStringByteLength(seg.data) }\n\t        ]);\n\t    }\n\t  }\n\n\t  return nodes\n\t}\n\n\t/**\n\t * Builds a graph from a list of nodes.\n\t * All segments in each node group will be connected with all the segments of\n\t * the next group and so on.\n\t *\n\t * At each connection will be assigned a weight depending on the\n\t * segment's byte length.\n\t *\n\t * @param  {Array} nodes    Array of object with segments data\n\t * @param  {Number} version QR Code version\n\t * @return {Object}         Graph of all possible segments\n\t */\n\tfunction buildGraph (nodes, version) {\n\t  var table = {};\n\t  var graph = {'start': {}};\n\t  var prevNodeIds = ['start'];\n\n\t  for (var i = 0; i < nodes.length; i++) {\n\t    var nodeGroup = nodes[i];\n\t    var currentNodeIds = [];\n\n\t    for (var j = 0; j < nodeGroup.length; j++) {\n\t      var node = nodeGroup[j];\n\t      var key = '' + i + j;\n\n\t      currentNodeIds.push(key);\n\t      table[key] = { node: node, lastCount: 0 };\n\t      graph[key] = {};\n\n\t      for (var n = 0; n < prevNodeIds.length; n++) {\n\t        var prevNodeId = prevNodeIds[n];\n\n\t        if (table[prevNodeId] && table[prevNodeId].node.mode === node.mode) {\n\t          graph[prevNodeId][key] =\n\t            getSegmentBitsLength(table[prevNodeId].lastCount + node.length, node.mode) -\n\t            getSegmentBitsLength(table[prevNodeId].lastCount, node.mode);\n\n\t          table[prevNodeId].lastCount += node.length;\n\t        } else {\n\t          if (table[prevNodeId]) table[prevNodeId].lastCount = node.length;\n\n\t          graph[prevNodeId][key] = getSegmentBitsLength(node.length, node.mode) +\n\t            4 + Mode.getCharCountIndicator(node.mode, version); // switch cost\n\t        }\n\t      }\n\t    }\n\n\t    prevNodeIds = currentNodeIds;\n\t  }\n\n\t  for (n = 0; n < prevNodeIds.length; n++) {\n\t    graph[prevNodeIds[n]]['end'] = 0;\n\t  }\n\n\t  return { map: graph, table: table }\n\t}\n\n\t/**\n\t * Builds a segment from a specified data and mode.\n\t * If a mode is not specified, the more suitable will be used.\n\t *\n\t * @param  {String} data             Input data\n\t * @param  {Mode | String} modesHint Data mode\n\t * @return {Segment}                 Segment\n\t */\n\tfunction buildSingleSegment (data, modesHint) {\n\t  var mode;\n\t  var bestMode = Mode.getBestModeForData(data);\n\n\t  mode = Mode.from(modesHint, bestMode);\n\n\t  // Make sure data can be encoded\n\t  if (mode !== Mode.BYTE && mode.bit < bestMode.bit) {\n\t    throw new Error('\"' + data + '\"' +\n\t      ' cannot be encoded with mode ' + Mode.toString(mode) +\n\t      '.\\n Suggested mode is: ' + Mode.toString(bestMode))\n\t  }\n\n\t  // Use Mode.BYTE if Kanji support is disabled\n\t  if (mode === Mode.KANJI && !Utils.isKanjiModeEnabled()) {\n\t    mode = Mode.BYTE;\n\t  }\n\n\t  switch (mode) {\n\t    case Mode.NUMERIC:\n\t      return new NumericData(data)\n\n\t    case Mode.ALPHANUMERIC:\n\t      return new AlphanumericData(data)\n\n\t    case Mode.KANJI:\n\t      return new KanjiData(data)\n\n\t    case Mode.BYTE:\n\t      return new ByteData(data)\n\t  }\n\t}\n\n\t/**\n\t * Builds a list of segments from an array.\n\t * Array can contain Strings or Objects with segment's info.\n\t *\n\t * For each item which is a string, will be generated a segment with the given\n\t * string and the more appropriate encoding mode.\n\t *\n\t * For each item which is an object, will be generated a segment with the given\n\t * data and mode.\n\t * Objects must contain at least the property \"data\".\n\t * If property \"mode\" is not present, the more suitable mode will be used.\n\t *\n\t * @param  {Array} array Array of objects with segments data\n\t * @return {Array}       Array of Segments\n\t */\n\texports.fromArray = function fromArray (array) {\n\t  return array.reduce(function (acc, seg) {\n\t    if (typeof seg === 'string') {\n\t      acc.push(buildSingleSegment(seg, null));\n\t    } else if (seg.data) {\n\t      acc.push(buildSingleSegment(seg.data, seg.mode));\n\t    }\n\n\t    return acc\n\t  }, [])\n\t};\n\n\t/**\n\t * Builds an optimized sequence of segments from a string,\n\t * which will produce the shortest possible bitstream.\n\t *\n\t * @param  {String} data    Input string\n\t * @param  {Number} version QR Code version\n\t * @return {Array}          Array of segments\n\t */\n\texports.fromString = function fromString (data, version) {\n\t  var segs = getSegmentsFromString(data, Utils.isKanjiModeEnabled());\n\n\t  var nodes = buildNodes(segs);\n\t  var graph = buildGraph(nodes, version);\n\t  var path = dijkstra.find_path(graph.map, 'start', 'end');\n\n\t  var optimizedSegs = [];\n\t  for (var i = 1; i < path.length - 1; i++) {\n\t    optimizedSegs.push(graph.table[path[i]].node);\n\t  }\n\n\t  return exports.fromArray(mergeSegments(optimizedSegs))\n\t};\n\n\t/**\n\t * Splits a string in various segments with the modes which\n\t * best represent their content.\n\t * The produced segments are far from being optimized.\n\t * The output of this function is only used to estimate a QR Code version\n\t * which may contain the data.\n\t *\n\t * @param  {string} data Input string\n\t * @return {Array}       Array of segments\n\t */\n\texports.rawSplit = function rawSplit (data) {\n\t  return exports.fromArray(\n\t    getSegmentsFromString(data, Utils.isKanjiModeEnabled())\n\t  )\n\t};\n\n\t},{\"./alphanumeric-data\":3,\"./byte-data\":6,\"./kanji-data\":12,\"./mode\":14,\"./numeric-data\":15,\"./regex\":19,\"./utils\":21,\"dijkstrajs\":31}],21:[function(require,module,exports){\n\tvar toSJISFunction;\n\tvar CODEWORDS_COUNT = [\n\t  0, // Not used\n\t  26, 44, 70, 100, 134, 172, 196, 242, 292, 346,\n\t  404, 466, 532, 581, 655, 733, 815, 901, 991, 1085,\n\t  1156, 1258, 1364, 1474, 1588, 1706, 1828, 1921, 2051, 2185,\n\t  2323, 2465, 2611, 2761, 2876, 3034, 3196, 3362, 3532, 3706\n\t];\n\n\t/**\n\t * Returns the QR Code size for the specified version\n\t *\n\t * @param  {Number} version QR Code version\n\t * @return {Number}         size of QR code\n\t */\n\texports.getSymbolSize = function getSymbolSize (version) {\n\t  if (!version) throw new Error('\"version\" cannot be null or undefined')\n\t  if (version < 1 || version > 40) throw new Error('\"version\" should be in range from 1 to 40')\n\t  return version * 4 + 17\n\t};\n\n\t/**\n\t * Returns the total number of codewords used to store data and EC information.\n\t *\n\t * @param  {Number} version QR Code version\n\t * @return {Number}         Data length in bits\n\t */\n\texports.getSymbolTotalCodewords = function getSymbolTotalCodewords (version) {\n\t  return CODEWORDS_COUNT[version]\n\t};\n\n\t/**\n\t * Encode data with Bose-Chaudhuri-Hocquenghem\n\t *\n\t * @param  {Number} data Value to encode\n\t * @return {Number}      Encoded value\n\t */\n\texports.getBCHDigit = function (data) {\n\t  var digit = 0;\n\n\t  while (data !== 0) {\n\t    digit++;\n\t    data >>>= 1;\n\t  }\n\n\t  return digit\n\t};\n\n\texports.setToSJISFunction = function setToSJISFunction (f) {\n\t  if (typeof f !== 'function') {\n\t    throw new Error('\"toSJISFunc\" is not a valid function.')\n\t  }\n\n\t  toSJISFunction = f;\n\t};\n\n\texports.isKanjiModeEnabled = function () {\n\t  return typeof toSJISFunction !== 'undefined'\n\t};\n\n\texports.toSJIS = function toSJIS (kanji) {\n\t  return toSJISFunction(kanji)\n\t};\n\n\t},{}],22:[function(require,module,exports){\n\t/**\n\t * Check if QR Code version is valid\n\t *\n\t * @param  {Number}  version QR Code version\n\t * @return {Boolean}         true if valid version, false otherwise\n\t */\n\texports.isValid = function isValid (version) {\n\t  return !isNaN(version) && version >= 1 && version <= 40\n\t};\n\n\t},{}],23:[function(require,module,exports){\n\tvar Utils = require('./utils');\n\tvar ECCode = require('./error-correction-code');\n\tvar ECLevel = require('./error-correction-level');\n\tvar Mode = require('./mode');\n\tvar VersionCheck = require('./version-check');\n\tvar isArray = require('isarray');\n\n\t// Generator polynomial used to encode version information\n\tvar G18 = (1 << 12) | (1 << 11) | (1 << 10) | (1 << 9) | (1 << 8) | (1 << 5) | (1 << 2) | (1 << 0);\n\tvar G18_BCH = Utils.getBCHDigit(G18);\n\n\tfunction getBestVersionForDataLength (mode, length, errorCorrectionLevel) {\n\t  for (var currentVersion = 1; currentVersion <= 40; currentVersion++) {\n\t    if (length <= exports.getCapacity(currentVersion, errorCorrectionLevel, mode)) {\n\t      return currentVersion\n\t    }\n\t  }\n\n\t  return undefined\n\t}\n\n\tfunction getReservedBitsCount (mode, version) {\n\t  // Character count indicator + mode indicator bits\n\t  return Mode.getCharCountIndicator(mode, version) + 4\n\t}\n\n\tfunction getTotalBitsFromDataArray (segments, version) {\n\t  var totalBits = 0;\n\n\t  segments.forEach(function (data) {\n\t    var reservedBits = getReservedBitsCount(data.mode, version);\n\t    totalBits += reservedBits + data.getBitsLength();\n\t  });\n\n\t  return totalBits\n\t}\n\n\tfunction getBestVersionForMixedData (segments, errorCorrectionLevel) {\n\t  for (var currentVersion = 1; currentVersion <= 40; currentVersion++) {\n\t    var length = getTotalBitsFromDataArray(segments, currentVersion);\n\t    if (length <= exports.getCapacity(currentVersion, errorCorrectionLevel, Mode.MIXED)) {\n\t      return currentVersion\n\t    }\n\t  }\n\n\t  return undefined\n\t}\n\n\t/**\n\t * Returns version number from a value.\n\t * If value is not a valid version, returns defaultValue\n\t *\n\t * @param  {Number|String} value        QR Code version\n\t * @param  {Number}        defaultValue Fallback value\n\t * @return {Number}                     QR Code version number\n\t */\n\texports.from = function from (value, defaultValue) {\n\t  if (VersionCheck.isValid(value)) {\n\t    return parseInt(value, 10)\n\t  }\n\n\t  return defaultValue\n\t};\n\n\t/**\n\t * Returns how much data can be stored with the specified QR code version\n\t * and error correction level\n\t *\n\t * @param  {Number} version              QR Code version (1-40)\n\t * @param  {Number} errorCorrectionLevel Error correction level\n\t * @param  {Mode}   mode                 Data mode\n\t * @return {Number}                      Quantity of storable data\n\t */\n\texports.getCapacity = function getCapacity (version, errorCorrectionLevel, mode) {\n\t  if (!VersionCheck.isValid(version)) {\n\t    throw new Error('Invalid QR Code version')\n\t  }\n\n\t  // Use Byte mode as default\n\t  if (typeof mode === 'undefined') mode = Mode.BYTE;\n\n\t  // Total codewords for this QR code version (Data + Error correction)\n\t  var totalCodewords = Utils.getSymbolTotalCodewords(version);\n\n\t  // Total number of error correction codewords\n\t  var ecTotalCodewords = ECCode.getTotalCodewordsCount(version, errorCorrectionLevel);\n\n\t  // Total number of data codewords\n\t  var dataTotalCodewordsBits = (totalCodewords - ecTotalCodewords) * 8;\n\n\t  if (mode === Mode.MIXED) return dataTotalCodewordsBits\n\n\t  var usableBits = dataTotalCodewordsBits - getReservedBitsCount(mode, version);\n\n\t  // Return max number of storable codewords\n\t  switch (mode) {\n\t    case Mode.NUMERIC:\n\t      return Math.floor((usableBits / 10) * 3)\n\n\t    case Mode.ALPHANUMERIC:\n\t      return Math.floor((usableBits / 11) * 2)\n\n\t    case Mode.KANJI:\n\t      return Math.floor(usableBits / 13)\n\n\t    case Mode.BYTE:\n\t    default:\n\t      return Math.floor(usableBits / 8)\n\t  }\n\t};\n\n\t/**\n\t * Returns the minimum version needed to contain the amount of data\n\t *\n\t * @param  {Segment} data                    Segment of data\n\t * @param  {Number} [errorCorrectionLevel=H] Error correction level\n\t * @param  {Mode} mode                       Data mode\n\t * @return {Number}                          QR Code version\n\t */\n\texports.getBestVersionForData = function getBestVersionForData (data, errorCorrectionLevel) {\n\t  var seg;\n\n\t  var ecl = ECLevel.from(errorCorrectionLevel, ECLevel.M);\n\n\t  if (isArray(data)) {\n\t    if (data.length > 1) {\n\t      return getBestVersionForMixedData(data, ecl)\n\t    }\n\n\t    if (data.length === 0) {\n\t      return 1\n\t    }\n\n\t    seg = data[0];\n\t  } else {\n\t    seg = data;\n\t  }\n\n\t  return getBestVersionForDataLength(seg.mode, seg.getLength(), ecl)\n\t};\n\n\t/**\n\t * Returns version information with relative error correction bits\n\t *\n\t * The version information is included in QR Code symbols of version 7 or larger.\n\t * It consists of an 18-bit sequence containing 6 data bits,\n\t * with 12 error correction bits calculated using the (18, 6) Golay code.\n\t *\n\t * @param  {Number} version QR Code version\n\t * @return {Number}         Encoded version info bits\n\t */\n\texports.getEncodedBits = function getEncodedBits (version) {\n\t  if (!VersionCheck.isValid(version) || version < 7) {\n\t    throw new Error('Invalid QR Code version')\n\t  }\n\n\t  var d = version << 12;\n\n\t  while (Utils.getBCHDigit(d) - G18_BCH >= 0) {\n\t    d ^= (G18 << (Utils.getBCHDigit(d) - G18_BCH));\n\t  }\n\n\t  return (version << 12) | d\n\t};\n\n\t},{\"./error-correction-code\":7,\"./error-correction-level\":8,\"./mode\":14,\"./utils\":21,\"./version-check\":22,\"isarray\":33}],24:[function(require,module,exports){\n\n\tvar canPromise = require('./can-promise');\n\n\tvar QRCode = require('./core/qrcode');\n\tvar CanvasRenderer = require('./renderer/canvas');\n\tvar SvgRenderer = require('./renderer/svg-tag.js');\n\n\tfunction renderCanvas (renderFunc, canvas, text, opts, cb) {\n\t  var args = [].slice.call(arguments, 1);\n\t  var argsNum = args.length;\n\t  var isLastArgCb = typeof args[argsNum - 1] === 'function';\n\n\t  if (!isLastArgCb && !canPromise()) {\n\t    throw new Error('Callback required as last argument')\n\t  }\n\n\t  if (isLastArgCb) {\n\t    if (argsNum < 2) {\n\t      throw new Error('Too few arguments provided')\n\t    }\n\n\t    if (argsNum === 2) {\n\t      cb = text;\n\t      text = canvas;\n\t      canvas = opts = undefined;\n\t    } else if (argsNum === 3) {\n\t      if (canvas.getContext && typeof cb === 'undefined') {\n\t        cb = opts;\n\t        opts = undefined;\n\t      } else {\n\t        cb = opts;\n\t        opts = text;\n\t        text = canvas;\n\t        canvas = undefined;\n\t      }\n\t    }\n\t  } else {\n\t    if (argsNum < 1) {\n\t      throw new Error('Too few arguments provided')\n\t    }\n\n\t    if (argsNum === 1) {\n\t      text = canvas;\n\t      canvas = opts = undefined;\n\t    } else if (argsNum === 2 && !canvas.getContext) {\n\t      opts = text;\n\t      text = canvas;\n\t      canvas = undefined;\n\t    }\n\n\t    return new Promise(function (resolve, reject) {\n\t      try {\n\t        var data = QRCode.create(text, opts);\n\t        resolve(renderFunc(data, canvas, opts));\n\t      } catch (e) {\n\t        reject(e);\n\t      }\n\t    })\n\t  }\n\n\t  try {\n\t    var data = QRCode.create(text, opts);\n\t    cb(null, renderFunc(data, canvas, opts));\n\t  } catch (e) {\n\t    cb(e);\n\t  }\n\t}\n\n\texports.create = QRCode.create;\n\texports.toCanvas = renderCanvas.bind(null, CanvasRenderer.render);\n\texports.toDataURL = renderCanvas.bind(null, CanvasRenderer.renderToDataURL);\n\n\t// only svg for now.\n\texports.toString = renderCanvas.bind(null, function (data, _, opts) {\n\t  return SvgRenderer.render(data, opts)\n\t});\n\n\t},{\"./can-promise\":1,\"./core/qrcode\":17,\"./renderer/canvas\":25,\"./renderer/svg-tag.js\":26}],25:[function(require,module,exports){\n\tvar Utils = require('./utils');\n\n\tfunction clearCanvas (ctx, canvas, size) {\n\t  ctx.clearRect(0, 0, canvas.width, canvas.height);\n\n\t  if (!canvas.style) canvas.style = {};\n\t  canvas.height = size;\n\t  canvas.width = size;\n\t  canvas.style.height = size + 'px';\n\t  canvas.style.width = size + 'px';\n\t}\n\n\tfunction getCanvasElement () {\n\t  try {\n\t    return document.createElement('canvas')\n\t  } catch (e) {\n\t    throw new Error('You need to specify a canvas element')\n\t  }\n\t}\n\n\texports.render = function render (qrData, canvas, options) {\n\t  var opts = options;\n\t  var canvasEl = canvas;\n\n\t  if (typeof opts === 'undefined' && (!canvas || !canvas.getContext)) {\n\t    opts = canvas;\n\t    canvas = undefined;\n\t  }\n\n\t  if (!canvas) {\n\t    canvasEl = getCanvasElement();\n\t  }\n\n\t  opts = Utils.getOptions(opts);\n\t  var size = Utils.getImageWidth(qrData.modules.size, opts);\n\n\t  var ctx = canvasEl.getContext('2d');\n\t  var image = ctx.createImageData(size, size);\n\t  Utils.qrToImageData(image.data, qrData, opts);\n\n\t  clearCanvas(ctx, canvasEl, size);\n\t  ctx.putImageData(image, 0, 0);\n\n\t  return canvasEl\n\t};\n\n\texports.renderToDataURL = function renderToDataURL (qrData, canvas, options) {\n\t  var opts = options;\n\n\t  if (typeof opts === 'undefined' && (!canvas || !canvas.getContext)) {\n\t    opts = canvas;\n\t    canvas = undefined;\n\t  }\n\n\t  if (!opts) opts = {};\n\n\t  var canvasEl = exports.render(qrData, canvas, opts);\n\n\t  var type = opts.type || 'image/png';\n\t  var rendererOpts = opts.rendererOpts || {};\n\n\t  return canvasEl.toDataURL(type, rendererOpts.quality)\n\t};\n\n\t},{\"./utils\":27}],26:[function(require,module,exports){\n\tvar Utils = require('./utils');\n\n\tfunction getColorAttrib (color, attrib) {\n\t  var alpha = color.a / 255;\n\t  var str = attrib + '=\"' + color.hex + '\"';\n\n\t  return alpha < 1\n\t    ? str + ' ' + attrib + '-opacity=\"' + alpha.toFixed(2).slice(1) + '\"'\n\t    : str\n\t}\n\n\tfunction svgCmd (cmd, x, y) {\n\t  var str = cmd + x;\n\t  if (typeof y !== 'undefined') str += ' ' + y;\n\n\t  return str\n\t}\n\n\tfunction qrToPath (data, size, margin) {\n\t  var path = '';\n\t  var moveBy = 0;\n\t  var newRow = false;\n\t  var lineLength = 0;\n\n\t  for (var i = 0; i < data.length; i++) {\n\t    var col = Math.floor(i % size);\n\t    var row = Math.floor(i / size);\n\n\t    if (!col && !newRow) newRow = true;\n\n\t    if (data[i]) {\n\t      lineLength++;\n\n\t      if (!(i > 0 && col > 0 && data[i - 1])) {\n\t        path += newRow\n\t          ? svgCmd('M', col + margin, 0.5 + row + margin)\n\t          : svgCmd('m', moveBy, 0);\n\n\t        moveBy = 0;\n\t        newRow = false;\n\t      }\n\n\t      if (!(col + 1 < size && data[i + 1])) {\n\t        path += svgCmd('h', lineLength);\n\t        lineLength = 0;\n\t      }\n\t    } else {\n\t      moveBy++;\n\t    }\n\t  }\n\n\t  return path\n\t}\n\n\texports.render = function render (qrData, options, cb) {\n\t  var opts = Utils.getOptions(options);\n\t  var size = qrData.modules.size;\n\t  var data = qrData.modules.data;\n\t  var qrcodesize = size + opts.margin * 2;\n\n\t  var bg = !opts.color.light.a\n\t    ? ''\n\t    : '<path ' + getColorAttrib(opts.color.light, 'fill') +\n\t      ' d=\"M0 0h' + qrcodesize + 'v' + qrcodesize + 'H0z\"/>';\n\n\t  var path =\n\t    '<path ' + getColorAttrib(opts.color.dark, 'stroke') +\n\t    ' d=\"' + qrToPath(data, size, opts.margin) + '\"/>';\n\n\t  var viewBox = 'viewBox=\"' + '0 0 ' + qrcodesize + ' ' + qrcodesize + '\"';\n\n\t  var width = !opts.width ? '' : 'width=\"' + opts.width + '\" height=\"' + opts.width + '\" ';\n\n\t  var svgTag = '<svg xmlns=\"http://www.w3.org/2000/svg\" ' + width + viewBox + ' shape-rendering=\"crispEdges\">' + bg + path + '</svg>\\n';\n\n\t  if (typeof cb === 'function') {\n\t    cb(null, svgTag);\n\t  }\n\n\t  return svgTag\n\t};\n\n\t},{\"./utils\":27}],27:[function(require,module,exports){\n\tfunction hex2rgba (hex) {\n\t  if (typeof hex === 'number') {\n\t    hex = hex.toString();\n\t  }\n\n\t  if (typeof hex !== 'string') {\n\t    throw new Error('Color should be defined as hex string')\n\t  }\n\n\t  var hexCode = hex.slice().replace('#', '').split('');\n\t  if (hexCode.length < 3 || hexCode.length === 5 || hexCode.length > 8) {\n\t    throw new Error('Invalid hex color: ' + hex)\n\t  }\n\n\t  // Convert from short to long form (fff -> ffffff)\n\t  if (hexCode.length === 3 || hexCode.length === 4) {\n\t    hexCode = Array.prototype.concat.apply([], hexCode.map(function (c) {\n\t      return [c, c]\n\t    }));\n\t  }\n\n\t  // Add default alpha value\n\t  if (hexCode.length === 6) hexCode.push('F', 'F');\n\n\t  var hexValue = parseInt(hexCode.join(''), 16);\n\n\t  return {\n\t    r: (hexValue >> 24) & 255,\n\t    g: (hexValue >> 16) & 255,\n\t    b: (hexValue >> 8) & 255,\n\t    a: hexValue & 255,\n\t    hex: '#' + hexCode.slice(0, 6).join('')\n\t  }\n\t}\n\n\texports.getOptions = function getOptions (options) {\n\t  if (!options) options = {};\n\t  if (!options.color) options.color = {};\n\n\t  var margin = typeof options.margin === 'undefined' ||\n\t    options.margin === null ||\n\t    options.margin < 0 ? 4 : options.margin;\n\n\t  var width = options.width && options.width >= 21 ? options.width : undefined;\n\t  var scale = options.scale || 4;\n\n\t  return {\n\t    width: width,\n\t    scale: width ? 4 : scale,\n\t    margin: margin,\n\t    color: {\n\t      dark: hex2rgba(options.color.dark || '#000000ff'),\n\t      light: hex2rgba(options.color.light || '#ffffffff')\n\t    },\n\t    type: options.type,\n\t    rendererOpts: options.rendererOpts || {}\n\t  }\n\t};\n\n\texports.getScale = function getScale (qrSize, opts) {\n\t  return opts.width && opts.width >= qrSize + opts.margin * 2\n\t    ? opts.width / (qrSize + opts.margin * 2)\n\t    : opts.scale\n\t};\n\n\texports.getImageWidth = function getImageWidth (qrSize, opts) {\n\t  var scale = exports.getScale(qrSize, opts);\n\t  return Math.floor((qrSize + opts.margin * 2) * scale)\n\t};\n\n\texports.qrToImageData = function qrToImageData (imgData, qr, opts) {\n\t  var size = qr.modules.size;\n\t  var data = qr.modules.data;\n\t  var scale = exports.getScale(size, opts);\n\t  var symbolSize = Math.floor((size + opts.margin * 2) * scale);\n\t  var scaledMargin = opts.margin * scale;\n\t  var palette = [opts.color.light, opts.color.dark];\n\n\t  for (var i = 0; i < symbolSize; i++) {\n\t    for (var j = 0; j < symbolSize; j++) {\n\t      var posDst = (i * symbolSize + j) * 4;\n\t      var pxColor = opts.color.light;\n\n\t      if (i >= scaledMargin && j >= scaledMargin &&\n\t        i < symbolSize - scaledMargin && j < symbolSize - scaledMargin) {\n\t        var iSrc = Math.floor((i - scaledMargin) / scale);\n\t        var jSrc = Math.floor((j - scaledMargin) / scale);\n\t        pxColor = palette[data[iSrc * size + jSrc] ? 1 : 0];\n\t      }\n\n\t      imgData[posDst++] = pxColor.r;\n\t      imgData[posDst++] = pxColor.g;\n\t      imgData[posDst++] = pxColor.b;\n\t      imgData[posDst] = pxColor.a;\n\t    }\n\t  }\n\t};\n\n\t},{}],28:[function(require,module,exports){\n\n\tvar isArray = require('isarray');\n\n\tfunction typedArraySupport () {\n\t  // Can typed array instances be augmented?\n\t  try {\n\t    var arr = new Uint8Array(1);\n\t    arr.__proto__ = {__proto__: Uint8Array.prototype, foo: function () { return 42 }};\n\t    return arr.foo() === 42\n\t  } catch (e) {\n\t    return false\n\t  }\n\t}\n\n\tBuffer.TYPED_ARRAY_SUPPORT = typedArraySupport();\n\n\tvar K_MAX_LENGTH = Buffer.TYPED_ARRAY_SUPPORT\n\t    ? 0x7fffffff\n\t    : 0x3fffffff;\n\n\tfunction Buffer (arg, offset, length) {\n\t  if (!Buffer.TYPED_ARRAY_SUPPORT && !(this instanceof Buffer)) {\n\t    return new Buffer(arg, offset, length)\n\t  }\n\n\t  if (typeof arg === 'number') {\n\t    return allocUnsafe(this, arg)\n\t  }\n\n\t  return from(this, arg, offset, length)\n\t}\n\n\tif (Buffer.TYPED_ARRAY_SUPPORT) {\n\t  Buffer.prototype.__proto__ = Uint8Array.prototype;\n\t  Buffer.__proto__ = Uint8Array;\n\n\t  // Fix subarray() in ES2016. See: https://github.com/feross/buffer/pull/97\n\t  if (typeof Symbol !== 'undefined' && Symbol.species &&\n\t      Buffer[Symbol.species] === Buffer) {\n\t    Object.defineProperty(Buffer, Symbol.species, {\n\t      value: null,\n\t      configurable: true,\n\t      enumerable: false,\n\t      writable: false\n\t    });\n\t  }\n\t}\n\n\tfunction checked (length) {\n\t  // Note: cannot use `length < K_MAX_LENGTH` here because that fails when\n\t  // length is NaN (which is otherwise coerced to zero.)\n\t  if (length >= K_MAX_LENGTH) {\n\t    throw new RangeError('Attempt to allocate Buffer larger than maximum ' +\n\t                         'size: 0x' + K_MAX_LENGTH.toString(16) + ' bytes')\n\t  }\n\t  return length | 0\n\t}\n\n\tfunction isnan (val) {\n\t  return val !== val // eslint-disable-line no-self-compare\n\t}\n\n\tfunction createBuffer (that, length) {\n\t  var buf;\n\t  if (Buffer.TYPED_ARRAY_SUPPORT) {\n\t    buf = new Uint8Array(length);\n\t    buf.__proto__ = Buffer.prototype;\n\t  } else {\n\t    // Fallback: Return an object instance of the Buffer class\n\t    buf = that;\n\t    if (buf === null) {\n\t      buf = new Buffer(length);\n\t    }\n\t    buf.length = length;\n\t  }\n\n\t  return buf\n\t}\n\n\tfunction allocUnsafe (that, size) {\n\t  var buf = createBuffer(that, size < 0 ? 0 : checked(size) | 0);\n\n\t  if (!Buffer.TYPED_ARRAY_SUPPORT) {\n\t    for (var i = 0; i < size; ++i) {\n\t      buf[i] = 0;\n\t    }\n\t  }\n\n\t  return buf\n\t}\n\n\tfunction fromString (that, string) {\n\t  var length = byteLength(string) | 0;\n\t  var buf = createBuffer(that, length);\n\n\t  var actual = buf.write(string);\n\n\t  if (actual !== length) {\n\t    // Writing a hex string, for example, that contains invalid characters will\n\t    // cause everything after the first invalid character to be ignored. (e.g.\n\t    // 'abxxcd' will be treated as 'ab')\n\t    buf = buf.slice(0, actual);\n\t  }\n\n\t  return buf\n\t}\n\n\tfunction fromArrayLike (that, array) {\n\t  var length = array.length < 0 ? 0 : checked(array.length) | 0;\n\t  var buf = createBuffer(that, length);\n\t  for (var i = 0; i < length; i += 1) {\n\t    buf[i] = array[i] & 255;\n\t  }\n\t  return buf\n\t}\n\n\tfunction fromArrayBuffer (that, array, byteOffset, length) {\n\t  if (byteOffset < 0 || array.byteLength < byteOffset) {\n\t    throw new RangeError('\\'offset\\' is out of bounds')\n\t  }\n\n\t  if (array.byteLength < byteOffset + (length || 0)) {\n\t    throw new RangeError('\\'length\\' is out of bounds')\n\t  }\n\n\t  var buf;\n\t  if (byteOffset === undefined && length === undefined) {\n\t    buf = new Uint8Array(array);\n\t  } else if (length === undefined) {\n\t    buf = new Uint8Array(array, byteOffset);\n\t  } else {\n\t    buf = new Uint8Array(array, byteOffset, length);\n\t  }\n\n\t  if (Buffer.TYPED_ARRAY_SUPPORT) {\n\t    // Return an augmented `Uint8Array` instance, for best performance\n\t    buf.__proto__ = Buffer.prototype;\n\t  } else {\n\t    // Fallback: Return an object instance of the Buffer class\n\t    buf = fromArrayLike(that, buf);\n\t  }\n\n\t  return buf\n\t}\n\n\tfunction fromObject (that, obj) {\n\t  if (Buffer.isBuffer(obj)) {\n\t    var len = checked(obj.length) | 0;\n\t    var buf = createBuffer(that, len);\n\n\t    if (buf.length === 0) {\n\t      return buf\n\t    }\n\n\t    obj.copy(buf, 0, 0, len);\n\t    return buf\n\t  }\n\n\t  if (obj) {\n\t    if ((typeof ArrayBuffer !== 'undefined' &&\n\t        obj.buffer instanceof ArrayBuffer) || 'length' in obj) {\n\t      if (typeof obj.length !== 'number' || isnan(obj.length)) {\n\t        return createBuffer(that, 0)\n\t      }\n\t      return fromArrayLike(that, obj)\n\t    }\n\n\t    if (obj.type === 'Buffer' && Array.isArray(obj.data)) {\n\t      return fromArrayLike(that, obj.data)\n\t    }\n\t  }\n\n\t  throw new TypeError('First argument must be a string, Buffer, ArrayBuffer, Array, or array-like object.')\n\t}\n\n\tfunction utf8ToBytes (string, units) {\n\t  units = units || Infinity;\n\t  var codePoint;\n\t  var length = string.length;\n\t  var leadSurrogate = null;\n\t  var bytes = [];\n\n\t  for (var i = 0; i < length; ++i) {\n\t    codePoint = string.charCodeAt(i);\n\n\t    // is surrogate component\n\t    if (codePoint > 0xD7FF && codePoint < 0xE000) {\n\t      // last char was a lead\n\t      if (!leadSurrogate) {\n\t        // no lead yet\n\t        if (codePoint > 0xDBFF) {\n\t          // unexpected trail\n\t          if ((units -= 3) > -1) bytes.push(0xEF, 0xBF, 0xBD);\n\t          continue\n\t        } else if (i + 1 === length) {\n\t          // unpaired lead\n\t          if ((units -= 3) > -1) bytes.push(0xEF, 0xBF, 0xBD);\n\t          continue\n\t        }\n\n\t        // valid lead\n\t        leadSurrogate = codePoint;\n\n\t        continue\n\t      }\n\n\t      // 2 leads in a row\n\t      if (codePoint < 0xDC00) {\n\t        if ((units -= 3) > -1) bytes.push(0xEF, 0xBF, 0xBD);\n\t        leadSurrogate = codePoint;\n\t        continue\n\t      }\n\n\t      // valid surrogate pair\n\t      codePoint = (leadSurrogate - 0xD800 << 10 | codePoint - 0xDC00) + 0x10000;\n\t    } else if (leadSurrogate) {\n\t      // valid bmp char, but last char was a lead\n\t      if ((units -= 3) > -1) bytes.push(0xEF, 0xBF, 0xBD);\n\t    }\n\n\t    leadSurrogate = null;\n\n\t    // encode utf8\n\t    if (codePoint < 0x80) {\n\t      if ((units -= 1) < 0) break\n\t      bytes.push(codePoint);\n\t    } else if (codePoint < 0x800) {\n\t      if ((units -= 2) < 0) break\n\t      bytes.push(\n\t        codePoint >> 0x6 | 0xC0,\n\t        codePoint & 0x3F | 0x80\n\t      );\n\t    } else if (codePoint < 0x10000) {\n\t      if ((units -= 3) < 0) break\n\t      bytes.push(\n\t        codePoint >> 0xC | 0xE0,\n\t        codePoint >> 0x6 & 0x3F | 0x80,\n\t        codePoint & 0x3F | 0x80\n\t      );\n\t    } else if (codePoint < 0x110000) {\n\t      if ((units -= 4) < 0) break\n\t      bytes.push(\n\t        codePoint >> 0x12 | 0xF0,\n\t        codePoint >> 0xC & 0x3F | 0x80,\n\t        codePoint >> 0x6 & 0x3F | 0x80,\n\t        codePoint & 0x3F | 0x80\n\t      );\n\t    } else {\n\t      throw new Error('Invalid code point')\n\t    }\n\t  }\n\n\t  return bytes\n\t}\n\n\tfunction byteLength (string) {\n\t  if (Buffer.isBuffer(string)) {\n\t    return string.length\n\t  }\n\t  if (typeof ArrayBuffer !== 'undefined' && typeof ArrayBuffer.isView === 'function' &&\n\t      (ArrayBuffer.isView(string) || string instanceof ArrayBuffer)) {\n\t    return string.byteLength\n\t  }\n\t  if (typeof string !== 'string') {\n\t    string = '' + string;\n\t  }\n\n\t  var len = string.length;\n\t  if (len === 0) return 0\n\n\t  return utf8ToBytes(string).length\n\t}\n\n\tfunction blitBuffer (src, dst, offset, length) {\n\t  for (var i = 0; i < length; ++i) {\n\t    if ((i + offset >= dst.length) || (i >= src.length)) break\n\t    dst[i + offset] = src[i];\n\t  }\n\t  return i\n\t}\n\n\tfunction utf8Write (buf, string, offset, length) {\n\t  return blitBuffer(utf8ToBytes(string, buf.length - offset), buf, offset, length)\n\t}\n\n\tfunction from (that, value, offset, length) {\n\t  if (typeof value === 'number') {\n\t    throw new TypeError('\"value\" argument must not be a number')\n\t  }\n\n\t  if (typeof ArrayBuffer !== 'undefined' && value instanceof ArrayBuffer) {\n\t    return fromArrayBuffer(that, value, offset, length)\n\t  }\n\n\t  if (typeof value === 'string') {\n\t    return fromString(that, value)\n\t  }\n\n\t  return fromObject(that, value)\n\t}\n\n\tBuffer.prototype.write = function write (string, offset, length) {\n\t  // Buffer#write(string)\n\t  if (offset === undefined) {\n\t    length = this.length;\n\t    offset = 0;\n\t  // Buffer#write(string, encoding)\n\t  } else if (length === undefined && typeof offset === 'string') {\n\t    length = this.length;\n\t    offset = 0;\n\t  // Buffer#write(string, offset[, length])\n\t  } else if (isFinite(offset)) {\n\t    offset = offset | 0;\n\t    if (isFinite(length)) {\n\t      length = length | 0;\n\t    } else {\n\t      length = undefined;\n\t    }\n\t  }\n\n\t  var remaining = this.length - offset;\n\t  if (length === undefined || length > remaining) length = remaining;\n\n\t  if ((string.length > 0 && (length < 0 || offset < 0)) || offset > this.length) {\n\t    throw new RangeError('Attempt to write outside buffer bounds')\n\t  }\n\n\t  return utf8Write(this, string, offset, length)\n\t};\n\n\tBuffer.prototype.slice = function slice (start, end) {\n\t  var len = this.length;\n\t  start = ~~start;\n\t  end = end === undefined ? len : ~~end;\n\n\t  if (start < 0) {\n\t    start += len;\n\t    if (start < 0) start = 0;\n\t  } else if (start > len) {\n\t    start = len;\n\t  }\n\n\t  if (end < 0) {\n\t    end += len;\n\t    if (end < 0) end = 0;\n\t  } else if (end > len) {\n\t    end = len;\n\t  }\n\n\t  if (end < start) end = start;\n\n\t  var newBuf;\n\t  if (Buffer.TYPED_ARRAY_SUPPORT) {\n\t    newBuf = this.subarray(start, end);\n\t    // Return an augmented `Uint8Array` instance\n\t    newBuf.__proto__ = Buffer.prototype;\n\t  } else {\n\t    var sliceLen = end - start;\n\t    newBuf = new Buffer(sliceLen, undefined);\n\t    for (var i = 0; i < sliceLen; ++i) {\n\t      newBuf[i] = this[i + start];\n\t    }\n\t  }\n\n\t  return newBuf\n\t};\n\n\tBuffer.prototype.copy = function copy (target, targetStart, start, end) {\n\t  if (!start) start = 0;\n\t  if (!end && end !== 0) end = this.length;\n\t  if (targetStart >= target.length) targetStart = target.length;\n\t  if (!targetStart) targetStart = 0;\n\t  if (end > 0 && end < start) end = start;\n\n\t  // Copy 0 bytes; we're done\n\t  if (end === start) return 0\n\t  if (target.length === 0 || this.length === 0) return 0\n\n\t  // Fatal error conditions\n\t  if (targetStart < 0) {\n\t    throw new RangeError('targetStart out of bounds')\n\t  }\n\t  if (start < 0 || start >= this.length) throw new RangeError('sourceStart out of bounds')\n\t  if (end < 0) throw new RangeError('sourceEnd out of bounds')\n\n\t  // Are we oob?\n\t  if (end > this.length) end = this.length;\n\t  if (target.length - targetStart < end - start) {\n\t    end = target.length - targetStart + start;\n\t  }\n\n\t  var len = end - start;\n\t  var i;\n\n\t  if (this === target && start < targetStart && targetStart < end) {\n\t    // descending copy from end\n\t    for (i = len - 1; i >= 0; --i) {\n\t      target[i + targetStart] = this[i + start];\n\t    }\n\t  } else if (len < 1000 || !Buffer.TYPED_ARRAY_SUPPORT) {\n\t    // ascending copy from start\n\t    for (i = 0; i < len; ++i) {\n\t      target[i + targetStart] = this[i + start];\n\t    }\n\t  } else {\n\t    Uint8Array.prototype.set.call(\n\t      target,\n\t      this.subarray(start, start + len),\n\t      targetStart\n\t    );\n\t  }\n\n\t  return len\n\t};\n\n\tBuffer.prototype.fill = function fill (val, start, end) {\n\t  // Handle string cases:\n\t  if (typeof val === 'string') {\n\t    if (typeof start === 'string') {\n\t      start = 0;\n\t      end = this.length;\n\t    } else if (typeof end === 'string') {\n\t      end = this.length;\n\t    }\n\t    if (val.length === 1) {\n\t      var code = val.charCodeAt(0);\n\t      if (code < 256) {\n\t        val = code;\n\t      }\n\t    }\n\t  } else if (typeof val === 'number') {\n\t    val = val & 255;\n\t  }\n\n\t  // Invalid ranges are not set to a default, so can range check early.\n\t  if (start < 0 || this.length < start || this.length < end) {\n\t    throw new RangeError('Out of range index')\n\t  }\n\n\t  if (end <= start) {\n\t    return this\n\t  }\n\n\t  start = start >>> 0;\n\t  end = end === undefined ? this.length : end >>> 0;\n\n\t  if (!val) val = 0;\n\n\t  var i;\n\t  if (typeof val === 'number') {\n\t    for (i = start; i < end; ++i) {\n\t      this[i] = val;\n\t    }\n\t  } else {\n\t    var bytes = Buffer.isBuffer(val)\n\t      ? val\n\t      : new Buffer(val);\n\t    var len = bytes.length;\n\t    for (i = 0; i < end - start; ++i) {\n\t      this[i + start] = bytes[i % len];\n\t    }\n\t  }\n\n\t  return this\n\t};\n\n\tBuffer.concat = function concat (list, length) {\n\t  if (!isArray(list)) {\n\t    throw new TypeError('\"list\" argument must be an Array of Buffers')\n\t  }\n\n\t  if (list.length === 0) {\n\t    return createBuffer(null, 0)\n\t  }\n\n\t  var i;\n\t  if (length === undefined) {\n\t    length = 0;\n\t    for (i = 0; i < list.length; ++i) {\n\t      length += list[i].length;\n\t    }\n\t  }\n\n\t  var buffer = allocUnsafe(null, length);\n\t  var pos = 0;\n\t  for (i = 0; i < list.length; ++i) {\n\t    var buf = list[i];\n\t    if (!Buffer.isBuffer(buf)) {\n\t      throw new TypeError('\"list\" argument must be an Array of Buffers')\n\t    }\n\t    buf.copy(buffer, pos);\n\t    pos += buf.length;\n\t  }\n\t  return buffer\n\t};\n\n\tBuffer.byteLength = byteLength;\n\n\tBuffer.prototype._isBuffer = true;\n\tBuffer.isBuffer = function isBuffer (b) {\n\t  return !!(b != null && b._isBuffer)\n\t};\n\n\tmodule.exports.alloc = function (size) {\n\t  var buffer = new Buffer(size);\n\t  buffer.fill(0);\n\t  return buffer\n\t};\n\n\tmodule.exports.from = function (data) {\n\t  return new Buffer(data)\n\t};\n\n\t},{\"isarray\":33}],29:[function(require,module,exports){\n\n\texports.byteLength = byteLength;\n\texports.toByteArray = toByteArray;\n\texports.fromByteArray = fromByteArray;\n\n\tvar lookup = [];\n\tvar revLookup = [];\n\tvar Arr = typeof Uint8Array !== 'undefined' ? Uint8Array : Array;\n\n\tvar code = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/';\n\tfor (var i = 0, len = code.length; i < len; ++i) {\n\t  lookup[i] = code[i];\n\t  revLookup[code.charCodeAt(i)] = i;\n\t}\n\n\t// Support decoding URL-safe base64 strings, as Node.js does.\n\t// See: https://en.wikipedia.org/wiki/Base64#URL_applications\n\trevLookup['-'.charCodeAt(0)] = 62;\n\trevLookup['_'.charCodeAt(0)] = 63;\n\n\tfunction getLens (b64) {\n\t  var len = b64.length;\n\n\t  if (len % 4 > 0) {\n\t    throw new Error('Invalid string. Length must be a multiple of 4')\n\t  }\n\n\t  // Trim off extra bytes after placeholder bytes are found\n\t  // See: https://github.com/beatgammit/base64-js/issues/42\n\t  var validLen = b64.indexOf('=');\n\t  if (validLen === -1) validLen = len;\n\n\t  var placeHoldersLen = validLen === len\n\t    ? 0\n\t    : 4 - (validLen % 4);\n\n\t  return [validLen, placeHoldersLen]\n\t}\n\n\t// base64 is 4/3 + up to two characters of the original data\n\tfunction byteLength (b64) {\n\t  var lens = getLens(b64);\n\t  var validLen = lens[0];\n\t  var placeHoldersLen = lens[1];\n\t  return ((validLen + placeHoldersLen) * 3 / 4) - placeHoldersLen\n\t}\n\n\tfunction _byteLength (b64, validLen, placeHoldersLen) {\n\t  return ((validLen + placeHoldersLen) * 3 / 4) - placeHoldersLen\n\t}\n\n\tfunction toByteArray (b64) {\n\t  var tmp;\n\t  var lens = getLens(b64);\n\t  var validLen = lens[0];\n\t  var placeHoldersLen = lens[1];\n\n\t  var arr = new Arr(_byteLength(b64, validLen, placeHoldersLen));\n\n\t  var curByte = 0;\n\n\t  // if there are placeholders, only get up to the last complete 4 chars\n\t  var len = placeHoldersLen > 0\n\t    ? validLen - 4\n\t    : validLen;\n\n\t  var i;\n\t  for (i = 0; i < len; i += 4) {\n\t    tmp =\n\t      (revLookup[b64.charCodeAt(i)] << 18) |\n\t      (revLookup[b64.charCodeAt(i + 1)] << 12) |\n\t      (revLookup[b64.charCodeAt(i + 2)] << 6) |\n\t      revLookup[b64.charCodeAt(i + 3)];\n\t    arr[curByte++] = (tmp >> 16) & 0xFF;\n\t    arr[curByte++] = (tmp >> 8) & 0xFF;\n\t    arr[curByte++] = tmp & 0xFF;\n\t  }\n\n\t  if (placeHoldersLen === 2) {\n\t    tmp =\n\t      (revLookup[b64.charCodeAt(i)] << 2) |\n\t      (revLookup[b64.charCodeAt(i + 1)] >> 4);\n\t    arr[curByte++] = tmp & 0xFF;\n\t  }\n\n\t  if (placeHoldersLen === 1) {\n\t    tmp =\n\t      (revLookup[b64.charCodeAt(i)] << 10) |\n\t      (revLookup[b64.charCodeAt(i + 1)] << 4) |\n\t      (revLookup[b64.charCodeAt(i + 2)] >> 2);\n\t    arr[curByte++] = (tmp >> 8) & 0xFF;\n\t    arr[curByte++] = tmp & 0xFF;\n\t  }\n\n\t  return arr\n\t}\n\n\tfunction tripletToBase64 (num) {\n\t  return lookup[num >> 18 & 0x3F] +\n\t    lookup[num >> 12 & 0x3F] +\n\t    lookup[num >> 6 & 0x3F] +\n\t    lookup[num & 0x3F]\n\t}\n\n\tfunction encodeChunk (uint8, start, end) {\n\t  var tmp;\n\t  var output = [];\n\t  for (var i = start; i < end; i += 3) {\n\t    tmp =\n\t      ((uint8[i] << 16) & 0xFF0000) +\n\t      ((uint8[i + 1] << 8) & 0xFF00) +\n\t      (uint8[i + 2] & 0xFF);\n\t    output.push(tripletToBase64(tmp));\n\t  }\n\t  return output.join('')\n\t}\n\n\tfunction fromByteArray (uint8) {\n\t  var tmp;\n\t  var len = uint8.length;\n\t  var extraBytes = len % 3; // if we have 1 byte left, pad 2 bytes\n\t  var parts = [];\n\t  var maxChunkLength = 16383; // must be multiple of 3\n\n\t  // go through the array every three bytes, we'll deal with trailing stuff later\n\t  for (var i = 0, len2 = len - extraBytes; i < len2; i += maxChunkLength) {\n\t    parts.push(encodeChunk(\n\t      uint8, i, (i + maxChunkLength) > len2 ? len2 : (i + maxChunkLength)\n\t    ));\n\t  }\n\n\t  // pad the end with zeros, but make sure to not forget the extra bytes\n\t  if (extraBytes === 1) {\n\t    tmp = uint8[len - 1];\n\t    parts.push(\n\t      lookup[tmp >> 2] +\n\t      lookup[(tmp << 4) & 0x3F] +\n\t      '=='\n\t    );\n\t  } else if (extraBytes === 2) {\n\t    tmp = (uint8[len - 2] << 8) + uint8[len - 1];\n\t    parts.push(\n\t      lookup[tmp >> 10] +\n\t      lookup[(tmp >> 4) & 0x3F] +\n\t      lookup[(tmp << 2) & 0x3F] +\n\t      '='\n\t    );\n\t  }\n\n\t  return parts.join('')\n\t}\n\n\t},{}],30:[function(require,module,exports){\n\n\tvar base64 = require('base64-js');\n\tvar ieee754 = require('ieee754');\n\tvar customInspectSymbol =\n\t  (typeof Symbol === 'function' && typeof Symbol.for === 'function')\n\t    ? Symbol.for('nodejs.util.inspect.custom')\n\t    : null;\n\n\texports.Buffer = Buffer;\n\texports.SlowBuffer = SlowBuffer;\n\texports.INSPECT_MAX_BYTES = 50;\n\n\tvar K_MAX_LENGTH = 0x7fffffff;\n\texports.kMaxLength = K_MAX_LENGTH;\n\n\t/**\n\t * If `Buffer.TYPED_ARRAY_SUPPORT`:\n\t *   === true    Use Uint8Array implementation (fastest)\n\t *   === false   Print warning and recommend using `buffer` v4.x which has an Object\n\t *               implementation (most compatible, even IE6)\n\t *\n\t * Browsers that support typed arrays are IE 10+, Firefox 4+, Chrome 7+, Safari 5.1+,\n\t * Opera 11.6+, iOS 4.2+.\n\t *\n\t * We report that the browser does not support typed arrays if the are not subclassable\n\t * using __proto__. Firefox 4-29 lacks support for adding new properties to `Uint8Array`\n\t * (See: https://bugzilla.mozilla.org/show_bug.cgi?id=695438). IE 10 lacks support\n\t * for __proto__ and has a buggy typed array implementation.\n\t */\n\tBuffer.TYPED_ARRAY_SUPPORT = typedArraySupport();\n\n\tif (!Buffer.TYPED_ARRAY_SUPPORT && typeof console !== 'undefined' &&\n\t    typeof console.error === 'function') {\n\t  console.error(\n\t    'This browser lacks typed array (Uint8Array) support which is required by ' +\n\t    '`buffer` v5.x. Use `buffer` v4.x if you require old browser support.'\n\t  );\n\t}\n\n\tfunction typedArraySupport () {\n\t  // Can typed array instances can be augmented?\n\t  try {\n\t    var arr = new Uint8Array(1);\n\t    var proto = { foo: function () { return 42 } };\n\t    Object.setPrototypeOf(proto, Uint8Array.prototype);\n\t    Object.setPrototypeOf(arr, proto);\n\t    return arr.foo() === 42\n\t  } catch (e) {\n\t    return false\n\t  }\n\t}\n\n\tObject.defineProperty(Buffer.prototype, 'parent', {\n\t  enumerable: true,\n\t  get: function () {\n\t    if (!Buffer.isBuffer(this)) return undefined\n\t    return this.buffer\n\t  }\n\t});\n\n\tObject.defineProperty(Buffer.prototype, 'offset', {\n\t  enumerable: true,\n\t  get: function () {\n\t    if (!Buffer.isBuffer(this)) return undefined\n\t    return this.byteOffset\n\t  }\n\t});\n\n\tfunction createBuffer (length) {\n\t  if (length > K_MAX_LENGTH) {\n\t    throw new RangeError('The value \"' + length + '\" is invalid for option \"size\"')\n\t  }\n\t  // Return an augmented `Uint8Array` instance\n\t  var buf = new Uint8Array(length);\n\t  Object.setPrototypeOf(buf, Buffer.prototype);\n\t  return buf\n\t}\n\n\t/**\n\t * The Buffer constructor returns instances of `Uint8Array` that have their\n\t * prototype changed to `Buffer.prototype`. Furthermore, `Buffer` is a subclass of\n\t * `Uint8Array`, so the returned instances will have all the node `Buffer` methods\n\t * and the `Uint8Array` methods. Square bracket notation works as expected -- it\n\t * returns a single octet.\n\t *\n\t * The `Uint8Array` prototype remains unmodified.\n\t */\n\n\tfunction Buffer (arg, encodingOrOffset, length) {\n\t  // Common case.\n\t  if (typeof arg === 'number') {\n\t    if (typeof encodingOrOffset === 'string') {\n\t      throw new TypeError(\n\t        'The \"string\" argument must be of type string. Received type number'\n\t      )\n\t    }\n\t    return allocUnsafe(arg)\n\t  }\n\t  return from(arg, encodingOrOffset, length)\n\t}\n\n\t// Fix subarray() in ES2016. See: https://github.com/feross/buffer/pull/97\n\tif (typeof Symbol !== 'undefined' && Symbol.species != null &&\n\t    Buffer[Symbol.species] === Buffer) {\n\t  Object.defineProperty(Buffer, Symbol.species, {\n\t    value: null,\n\t    configurable: true,\n\t    enumerable: false,\n\t    writable: false\n\t  });\n\t}\n\n\tBuffer.poolSize = 8192; // not used by this implementation\n\n\tfunction from (value, encodingOrOffset, length) {\n\t  if (typeof value === 'string') {\n\t    return fromString(value, encodingOrOffset)\n\t  }\n\n\t  if (ArrayBuffer.isView(value)) {\n\t    return fromArrayLike(value)\n\t  }\n\n\t  if (value == null) {\n\t    throw new TypeError(\n\t      'The first argument must be one of type string, Buffer, ArrayBuffer, Array, ' +\n\t      'or Array-like Object. Received type ' + (typeof value)\n\t    )\n\t  }\n\n\t  if (isInstance(value, ArrayBuffer) ||\n\t      (value && isInstance(value.buffer, ArrayBuffer))) {\n\t    return fromArrayBuffer(value, encodingOrOffset, length)\n\t  }\n\n\t  if (typeof value === 'number') {\n\t    throw new TypeError(\n\t      'The \"value\" argument must not be of type number. Received type number'\n\t    )\n\t  }\n\n\t  var valueOf = value.valueOf && value.valueOf();\n\t  if (valueOf != null && valueOf !== value) {\n\t    return Buffer.from(valueOf, encodingOrOffset, length)\n\t  }\n\n\t  var b = fromObject(value);\n\t  if (b) return b\n\n\t  if (typeof Symbol !== 'undefined' && Symbol.toPrimitive != null &&\n\t      typeof value[Symbol.toPrimitive] === 'function') {\n\t    return Buffer.from(\n\t      value[Symbol.toPrimitive]('string'), encodingOrOffset, length\n\t    )\n\t  }\n\n\t  throw new TypeError(\n\t    'The first argument must be one of type string, Buffer, ArrayBuffer, Array, ' +\n\t    'or Array-like Object. Received type ' + (typeof value)\n\t  )\n\t}\n\n\t/**\n\t * Functionally equivalent to Buffer(arg, encoding) but throws a TypeError\n\t * if value is a number.\n\t * Buffer.from(str[, encoding])\n\t * Buffer.from(array)\n\t * Buffer.from(buffer)\n\t * Buffer.from(arrayBuffer[, byteOffset[, length]])\n\t **/\n\tBuffer.from = function (value, encodingOrOffset, length) {\n\t  return from(value, encodingOrOffset, length)\n\t};\n\n\t// Note: Change prototype *after* Buffer.from is defined to workaround Chrome bug:\n\t// https://github.com/feross/buffer/pull/148\n\tObject.setPrototypeOf(Buffer.prototype, Uint8Array.prototype);\n\tObject.setPrototypeOf(Buffer, Uint8Array);\n\n\tfunction assertSize (size) {\n\t  if (typeof size !== 'number') {\n\t    throw new TypeError('\"size\" argument must be of type number')\n\t  } else if (size < 0) {\n\t    throw new RangeError('The value \"' + size + '\" is invalid for option \"size\"')\n\t  }\n\t}\n\n\tfunction alloc (size, fill, encoding) {\n\t  assertSize(size);\n\t  if (size <= 0) {\n\t    return createBuffer(size)\n\t  }\n\t  if (fill !== undefined) {\n\t    // Only pay attention to encoding if it's a string. This\n\t    // prevents accidentally sending in a number that would\n\t    // be interpretted as a start offset.\n\t    return typeof encoding === 'string'\n\t      ? createBuffer(size).fill(fill, encoding)\n\t      : createBuffer(size).fill(fill)\n\t  }\n\t  return createBuffer(size)\n\t}\n\n\t/**\n\t * Creates a new filled Buffer instance.\n\t * alloc(size[, fill[, encoding]])\n\t **/\n\tBuffer.alloc = function (size, fill, encoding) {\n\t  return alloc(size, fill, encoding)\n\t};\n\n\tfunction allocUnsafe (size) {\n\t  assertSize(size);\n\t  return createBuffer(size < 0 ? 0 : checked(size) | 0)\n\t}\n\n\t/**\n\t * Equivalent to Buffer(num), by default creates a non-zero-filled Buffer instance.\n\t * */\n\tBuffer.allocUnsafe = function (size) {\n\t  return allocUnsafe(size)\n\t};\n\t/**\n\t * Equivalent to SlowBuffer(num), by default creates a non-zero-filled Buffer instance.\n\t */\n\tBuffer.allocUnsafeSlow = function (size) {\n\t  return allocUnsafe(size)\n\t};\n\n\tfunction fromString (string, encoding) {\n\t  if (typeof encoding !== 'string' || encoding === '') {\n\t    encoding = 'utf8';\n\t  }\n\n\t  if (!Buffer.isEncoding(encoding)) {\n\t    throw new TypeError('Unknown encoding: ' + encoding)\n\t  }\n\n\t  var length = byteLength(string, encoding) | 0;\n\t  var buf = createBuffer(length);\n\n\t  var actual = buf.write(string, encoding);\n\n\t  if (actual !== length) {\n\t    // Writing a hex string, for example, that contains invalid characters will\n\t    // cause everything after the first invalid character to be ignored. (e.g.\n\t    // 'abxxcd' will be treated as 'ab')\n\t    buf = buf.slice(0, actual);\n\t  }\n\n\t  return buf\n\t}\n\n\tfunction fromArrayLike (array) {\n\t  var length = array.length < 0 ? 0 : checked(array.length) | 0;\n\t  var buf = createBuffer(length);\n\t  for (var i = 0; i < length; i += 1) {\n\t    buf[i] = array[i] & 255;\n\t  }\n\t  return buf\n\t}\n\n\tfunction fromArrayBuffer (array, byteOffset, length) {\n\t  if (byteOffset < 0 || array.byteLength < byteOffset) {\n\t    throw new RangeError('\"offset\" is outside of buffer bounds')\n\t  }\n\n\t  if (array.byteLength < byteOffset + (length || 0)) {\n\t    throw new RangeError('\"length\" is outside of buffer bounds')\n\t  }\n\n\t  var buf;\n\t  if (byteOffset === undefined && length === undefined) {\n\t    buf = new Uint8Array(array);\n\t  } else if (length === undefined) {\n\t    buf = new Uint8Array(array, byteOffset);\n\t  } else {\n\t    buf = new Uint8Array(array, byteOffset, length);\n\t  }\n\n\t  // Return an augmented `Uint8Array` instance\n\t  Object.setPrototypeOf(buf, Buffer.prototype);\n\n\t  return buf\n\t}\n\n\tfunction fromObject (obj) {\n\t  if (Buffer.isBuffer(obj)) {\n\t    var len = checked(obj.length) | 0;\n\t    var buf = createBuffer(len);\n\n\t    if (buf.length === 0) {\n\t      return buf\n\t    }\n\n\t    obj.copy(buf, 0, 0, len);\n\t    return buf\n\t  }\n\n\t  if (obj.length !== undefined) {\n\t    if (typeof obj.length !== 'number' || numberIsNaN(obj.length)) {\n\t      return createBuffer(0)\n\t    }\n\t    return fromArrayLike(obj)\n\t  }\n\n\t  if (obj.type === 'Buffer' && Array.isArray(obj.data)) {\n\t    return fromArrayLike(obj.data)\n\t  }\n\t}\n\n\tfunction checked (length) {\n\t  // Note: cannot use `length < K_MAX_LENGTH` here because that fails when\n\t  // length is NaN (which is otherwise coerced to zero.)\n\t  if (length >= K_MAX_LENGTH) {\n\t    throw new RangeError('Attempt to allocate Buffer larger than maximum ' +\n\t                         'size: 0x' + K_MAX_LENGTH.toString(16) + ' bytes')\n\t  }\n\t  return length | 0\n\t}\n\n\tfunction SlowBuffer (length) {\n\t  if (+length != length) { // eslint-disable-line eqeqeq\n\t    length = 0;\n\t  }\n\t  return Buffer.alloc(+length)\n\t}\n\n\tBuffer.isBuffer = function isBuffer (b) {\n\t  return b != null && b._isBuffer === true &&\n\t    b !== Buffer.prototype // so Buffer.isBuffer(Buffer.prototype) will be false\n\t};\n\n\tBuffer.compare = function compare (a, b) {\n\t  if (isInstance(a, Uint8Array)) a = Buffer.from(a, a.offset, a.byteLength);\n\t  if (isInstance(b, Uint8Array)) b = Buffer.from(b, b.offset, b.byteLength);\n\t  if (!Buffer.isBuffer(a) || !Buffer.isBuffer(b)) {\n\t    throw new TypeError(\n\t      'The \"buf1\", \"buf2\" arguments must be one of type Buffer or Uint8Array'\n\t    )\n\t  }\n\n\t  if (a === b) return 0\n\n\t  var x = a.length;\n\t  var y = b.length;\n\n\t  for (var i = 0, len = Math.min(x, y); i < len; ++i) {\n\t    if (a[i] !== b[i]) {\n\t      x = a[i];\n\t      y = b[i];\n\t      break\n\t    }\n\t  }\n\n\t  if (x < y) return -1\n\t  if (y < x) return 1\n\t  return 0\n\t};\n\n\tBuffer.isEncoding = function isEncoding (encoding) {\n\t  switch (String(encoding).toLowerCase()) {\n\t    case 'hex':\n\t    case 'utf8':\n\t    case 'utf-8':\n\t    case 'ascii':\n\t    case 'latin1':\n\t    case 'binary':\n\t    case 'base64':\n\t    case 'ucs2':\n\t    case 'ucs-2':\n\t    case 'utf16le':\n\t    case 'utf-16le':\n\t      return true\n\t    default:\n\t      return false\n\t  }\n\t};\n\n\tBuffer.concat = function concat (list, length) {\n\t  if (!Array.isArray(list)) {\n\t    throw new TypeError('\"list\" argument must be an Array of Buffers')\n\t  }\n\n\t  if (list.length === 0) {\n\t    return Buffer.alloc(0)\n\t  }\n\n\t  var i;\n\t  if (length === undefined) {\n\t    length = 0;\n\t    for (i = 0; i < list.length; ++i) {\n\t      length += list[i].length;\n\t    }\n\t  }\n\n\t  var buffer = Buffer.allocUnsafe(length);\n\t  var pos = 0;\n\t  for (i = 0; i < list.length; ++i) {\n\t    var buf = list[i];\n\t    if (isInstance(buf, Uint8Array)) {\n\t      buf = Buffer.from(buf);\n\t    }\n\t    if (!Buffer.isBuffer(buf)) {\n\t      throw new TypeError('\"list\" argument must be an Array of Buffers')\n\t    }\n\t    buf.copy(buffer, pos);\n\t    pos += buf.length;\n\t  }\n\t  return buffer\n\t};\n\n\tfunction byteLength (string, encoding) {\n\t  if (Buffer.isBuffer(string)) {\n\t    return string.length\n\t  }\n\t  if (ArrayBuffer.isView(string) || isInstance(string, ArrayBuffer)) {\n\t    return string.byteLength\n\t  }\n\t  if (typeof string !== 'string') {\n\t    throw new TypeError(\n\t      'The \"string\" argument must be one of type string, Buffer, or ArrayBuffer. ' +\n\t      'Received type ' + typeof string\n\t    )\n\t  }\n\n\t  var len = string.length;\n\t  var mustMatch = (arguments.length > 2 && arguments[2] === true);\n\t  if (!mustMatch && len === 0) return 0\n\n\t  // Use a for loop to avoid recursion\n\t  var loweredCase = false;\n\t  for (;;) {\n\t    switch (encoding) {\n\t      case 'ascii':\n\t      case 'latin1':\n\t      case 'binary':\n\t        return len\n\t      case 'utf8':\n\t      case 'utf-8':\n\t        return utf8ToBytes(string).length\n\t      case 'ucs2':\n\t      case 'ucs-2':\n\t      case 'utf16le':\n\t      case 'utf-16le':\n\t        return len * 2\n\t      case 'hex':\n\t        return len >>> 1\n\t      case 'base64':\n\t        return base64ToBytes(string).length\n\t      default:\n\t        if (loweredCase) {\n\t          return mustMatch ? -1 : utf8ToBytes(string).length // assume utf8\n\t        }\n\t        encoding = ('' + encoding).toLowerCase();\n\t        loweredCase = true;\n\t    }\n\t  }\n\t}\n\tBuffer.byteLength = byteLength;\n\n\tfunction slowToString (encoding, start, end) {\n\t  var loweredCase = false;\n\n\t  // No need to verify that \"this.length <= MAX_UINT32\" since it's a read-only\n\t  // property of a typed array.\n\n\t  // This behaves neither like String nor Uint8Array in that we set start/end\n\t  // to their upper/lower bounds if the value passed is out of range.\n\t  // undefined is handled specially as per ECMA-262 6th Edition,\n\t  // Section 13.3.3.7 Runtime Semantics: KeyedBindingInitialization.\n\t  if (start === undefined || start < 0) {\n\t    start = 0;\n\t  }\n\t  // Return early if start > this.length. Done here to prevent potential uint32\n\t  // coercion fail below.\n\t  if (start > this.length) {\n\t    return ''\n\t  }\n\n\t  if (end === undefined || end > this.length) {\n\t    end = this.length;\n\t  }\n\n\t  if (end <= 0) {\n\t    return ''\n\t  }\n\n\t  // Force coersion to uint32. This will also coerce falsey/NaN values to 0.\n\t  end >>>= 0;\n\t  start >>>= 0;\n\n\t  if (end <= start) {\n\t    return ''\n\t  }\n\n\t  if (!encoding) encoding = 'utf8';\n\n\t  while (true) {\n\t    switch (encoding) {\n\t      case 'hex':\n\t        return hexSlice(this, start, end)\n\n\t      case 'utf8':\n\t      case 'utf-8':\n\t        return utf8Slice(this, start, end)\n\n\t      case 'ascii':\n\t        return asciiSlice(this, start, end)\n\n\t      case 'latin1':\n\t      case 'binary':\n\t        return latin1Slice(this, start, end)\n\n\t      case 'base64':\n\t        return base64Slice(this, start, end)\n\n\t      case 'ucs2':\n\t      case 'ucs-2':\n\t      case 'utf16le':\n\t      case 'utf-16le':\n\t        return utf16leSlice(this, start, end)\n\n\t      default:\n\t        if (loweredCase) throw new TypeError('Unknown encoding: ' + encoding)\n\t        encoding = (encoding + '').toLowerCase();\n\t        loweredCase = true;\n\t    }\n\t  }\n\t}\n\n\t// This property is used by `Buffer.isBuffer` (and the `is-buffer` npm package)\n\t// to detect a Buffer instance. It's not possible to use `instanceof Buffer`\n\t// reliably in a browserify context because there could be multiple different\n\t// copies of the 'buffer' package in use. This method works even for Buffer\n\t// instances that were created from another copy of the `buffer` package.\n\t// See: https://github.com/feross/buffer/issues/154\n\tBuffer.prototype._isBuffer = true;\n\n\tfunction swap (b, n, m) {\n\t  var i = b[n];\n\t  b[n] = b[m];\n\t  b[m] = i;\n\t}\n\n\tBuffer.prototype.swap16 = function swap16 () {\n\t  var len = this.length;\n\t  if (len % 2 !== 0) {\n\t    throw new RangeError('Buffer size must be a multiple of 16-bits')\n\t  }\n\t  for (var i = 0; i < len; i += 2) {\n\t    swap(this, i, i + 1);\n\t  }\n\t  return this\n\t};\n\n\tBuffer.prototype.swap32 = function swap32 () {\n\t  var len = this.length;\n\t  if (len % 4 !== 0) {\n\t    throw new RangeError('Buffer size must be a multiple of 32-bits')\n\t  }\n\t  for (var i = 0; i < len; i += 4) {\n\t    swap(this, i, i + 3);\n\t    swap(this, i + 1, i + 2);\n\t  }\n\t  return this\n\t};\n\n\tBuffer.prototype.swap64 = function swap64 () {\n\t  var len = this.length;\n\t  if (len % 8 !== 0) {\n\t    throw new RangeError('Buffer size must be a multiple of 64-bits')\n\t  }\n\t  for (var i = 0; i < len; i += 8) {\n\t    swap(this, i, i + 7);\n\t    swap(this, i + 1, i + 6);\n\t    swap(this, i + 2, i + 5);\n\t    swap(this, i + 3, i + 4);\n\t  }\n\t  return this\n\t};\n\n\tBuffer.prototype.toString = function toString () {\n\t  var length = this.length;\n\t  if (length === 0) return ''\n\t  if (arguments.length === 0) return utf8Slice(this, 0, length)\n\t  return slowToString.apply(this, arguments)\n\t};\n\n\tBuffer.prototype.toLocaleString = Buffer.prototype.toString;\n\n\tBuffer.prototype.equals = function equals (b) {\n\t  if (!Buffer.isBuffer(b)) throw new TypeError('Argument must be a Buffer')\n\t  if (this === b) return true\n\t  return Buffer.compare(this, b) === 0\n\t};\n\n\tBuffer.prototype.inspect = function inspect () {\n\t  var str = '';\n\t  var max = exports.INSPECT_MAX_BYTES;\n\t  str = this.toString('hex', 0, max).replace(/(.{2})/g, '$1 ').trim();\n\t  if (this.length > max) str += ' ... ';\n\t  return '<Buffer ' + str + '>'\n\t};\n\tif (customInspectSymbol) {\n\t  Buffer.prototype[customInspectSymbol] = Buffer.prototype.inspect;\n\t}\n\n\tBuffer.prototype.compare = function compare (target, start, end, thisStart, thisEnd) {\n\t  if (isInstance(target, Uint8Array)) {\n\t    target = Buffer.from(target, target.offset, target.byteLength);\n\t  }\n\t  if (!Buffer.isBuffer(target)) {\n\t    throw new TypeError(\n\t      'The \"target\" argument must be one of type Buffer or Uint8Array. ' +\n\t      'Received type ' + (typeof target)\n\t    )\n\t  }\n\n\t  if (start === undefined) {\n\t    start = 0;\n\t  }\n\t  if (end === undefined) {\n\t    end = target ? target.length : 0;\n\t  }\n\t  if (thisStart === undefined) {\n\t    thisStart = 0;\n\t  }\n\t  if (thisEnd === undefined) {\n\t    thisEnd = this.length;\n\t  }\n\n\t  if (start < 0 || end > target.length || thisStart < 0 || thisEnd > this.length) {\n\t    throw new RangeError('out of range index')\n\t  }\n\n\t  if (thisStart >= thisEnd && start >= end) {\n\t    return 0\n\t  }\n\t  if (thisStart >= thisEnd) {\n\t    return -1\n\t  }\n\t  if (start >= end) {\n\t    return 1\n\t  }\n\n\t  start >>>= 0;\n\t  end >>>= 0;\n\t  thisStart >>>= 0;\n\t  thisEnd >>>= 0;\n\n\t  if (this === target) return 0\n\n\t  var x = thisEnd - thisStart;\n\t  var y = end - start;\n\t  var len = Math.min(x, y);\n\n\t  var thisCopy = this.slice(thisStart, thisEnd);\n\t  var targetCopy = target.slice(start, end);\n\n\t  for (var i = 0; i < len; ++i) {\n\t    if (thisCopy[i] !== targetCopy[i]) {\n\t      x = thisCopy[i];\n\t      y = targetCopy[i];\n\t      break\n\t    }\n\t  }\n\n\t  if (x < y) return -1\n\t  if (y < x) return 1\n\t  return 0\n\t};\n\n\t// Finds either the first index of `val` in `buffer` at offset >= `byteOffset`,\n\t// OR the last index of `val` in `buffer` at offset <= `byteOffset`.\n\t//\n\t// Arguments:\n\t// - buffer - a Buffer to search\n\t// - val - a string, Buffer, or number\n\t// - byteOffset - an index into `buffer`; will be clamped to an int32\n\t// - encoding - an optional encoding, relevant is val is a string\n\t// - dir - true for indexOf, false for lastIndexOf\n\tfunction bidirectionalIndexOf (buffer, val, byteOffset, encoding, dir) {\n\t  // Empty buffer means no match\n\t  if (buffer.length === 0) return -1\n\n\t  // Normalize byteOffset\n\t  if (typeof byteOffset === 'string') {\n\t    encoding = byteOffset;\n\t    byteOffset = 0;\n\t  } else if (byteOffset > 0x7fffffff) {\n\t    byteOffset = 0x7fffffff;\n\t  } else if (byteOffset < -0x80000000) {\n\t    byteOffset = -0x80000000;\n\t  }\n\t  byteOffset = +byteOffset; // Coerce to Number.\n\t  if (numberIsNaN(byteOffset)) {\n\t    // byteOffset: it it's undefined, null, NaN, \"foo\", etc, search whole buffer\n\t    byteOffset = dir ? 0 : (buffer.length - 1);\n\t  }\n\n\t  // Normalize byteOffset: negative offsets start from the end of the buffer\n\t  if (byteOffset < 0) byteOffset = buffer.length + byteOffset;\n\t  if (byteOffset >= buffer.length) {\n\t    if (dir) return -1\n\t    else byteOffset = buffer.length - 1;\n\t  } else if (byteOffset < 0) {\n\t    if (dir) byteOffset = 0;\n\t    else return -1\n\t  }\n\n\t  // Normalize val\n\t  if (typeof val === 'string') {\n\t    val = Buffer.from(val, encoding);\n\t  }\n\n\t  // Finally, search either indexOf (if dir is true) or lastIndexOf\n\t  if (Buffer.isBuffer(val)) {\n\t    // Special case: looking for empty string/buffer always fails\n\t    if (val.length === 0) {\n\t      return -1\n\t    }\n\t    return arrayIndexOf(buffer, val, byteOffset, encoding, dir)\n\t  } else if (typeof val === 'number') {\n\t    val = val & 0xFF; // Search for a byte value [0-255]\n\t    if (typeof Uint8Array.prototype.indexOf === 'function') {\n\t      if (dir) {\n\t        return Uint8Array.prototype.indexOf.call(buffer, val, byteOffset)\n\t      } else {\n\t        return Uint8Array.prototype.lastIndexOf.call(buffer, val, byteOffset)\n\t      }\n\t    }\n\t    return arrayIndexOf(buffer, [val], byteOffset, encoding, dir)\n\t  }\n\n\t  throw new TypeError('val must be string, number or Buffer')\n\t}\n\n\tfunction arrayIndexOf (arr, val, byteOffset, encoding, dir) {\n\t  var indexSize = 1;\n\t  var arrLength = arr.length;\n\t  var valLength = val.length;\n\n\t  if (encoding !== undefined) {\n\t    encoding = String(encoding).toLowerCase();\n\t    if (encoding === 'ucs2' || encoding === 'ucs-2' ||\n\t        encoding === 'utf16le' || encoding === 'utf-16le') {\n\t      if (arr.length < 2 || val.length < 2) {\n\t        return -1\n\t      }\n\t      indexSize = 2;\n\t      arrLength /= 2;\n\t      valLength /= 2;\n\t      byteOffset /= 2;\n\t    }\n\t  }\n\n\t  function read (buf, i) {\n\t    if (indexSize === 1) {\n\t      return buf[i]\n\t    } else {\n\t      return buf.readUInt16BE(i * indexSize)\n\t    }\n\t  }\n\n\t  var i;\n\t  if (dir) {\n\t    var foundIndex = -1;\n\t    for (i = byteOffset; i < arrLength; i++) {\n\t      if (read(arr, i) === read(val, foundIndex === -1 ? 0 : i - foundIndex)) {\n\t        if (foundIndex === -1) foundIndex = i;\n\t        if (i - foundIndex + 1 === valLength) return foundIndex * indexSize\n\t      } else {\n\t        if (foundIndex !== -1) i -= i - foundIndex;\n\t        foundIndex = -1;\n\t      }\n\t    }\n\t  } else {\n\t    if (byteOffset + valLength > arrLength) byteOffset = arrLength - valLength;\n\t    for (i = byteOffset; i >= 0; i--) {\n\t      var found = true;\n\t      for (var j = 0; j < valLength; j++) {\n\t        if (read(arr, i + j) !== read(val, j)) {\n\t          found = false;\n\t          break\n\t        }\n\t      }\n\t      if (found) return i\n\t    }\n\t  }\n\n\t  return -1\n\t}\n\n\tBuffer.prototype.includes = function includes (val, byteOffset, encoding) {\n\t  return this.indexOf(val, byteOffset, encoding) !== -1\n\t};\n\n\tBuffer.prototype.indexOf = function indexOf (val, byteOffset, encoding) {\n\t  return bidirectionalIndexOf(this, val, byteOffset, encoding, true)\n\t};\n\n\tBuffer.prototype.lastIndexOf = function lastIndexOf (val, byteOffset, encoding) {\n\t  return bidirectionalIndexOf(this, val, byteOffset, encoding, false)\n\t};\n\n\tfunction hexWrite (buf, string, offset, length) {\n\t  offset = Number(offset) || 0;\n\t  var remaining = buf.length - offset;\n\t  if (!length) {\n\t    length = remaining;\n\t  } else {\n\t    length = Number(length);\n\t    if (length > remaining) {\n\t      length = remaining;\n\t    }\n\t  }\n\n\t  var strLen = string.length;\n\n\t  if (length > strLen / 2) {\n\t    length = strLen / 2;\n\t  }\n\t  for (var i = 0; i < length; ++i) {\n\t    var parsed = parseInt(string.substr(i * 2, 2), 16);\n\t    if (numberIsNaN(parsed)) return i\n\t    buf[offset + i] = parsed;\n\t  }\n\t  return i\n\t}\n\n\tfunction utf8Write (buf, string, offset, length) {\n\t  return blitBuffer(utf8ToBytes(string, buf.length - offset), buf, offset, length)\n\t}\n\n\tfunction asciiWrite (buf, string, offset, length) {\n\t  return blitBuffer(asciiToBytes(string), buf, offset, length)\n\t}\n\n\tfunction latin1Write (buf, string, offset, length) {\n\t  return asciiWrite(buf, string, offset, length)\n\t}\n\n\tfunction base64Write (buf, string, offset, length) {\n\t  return blitBuffer(base64ToBytes(string), buf, offset, length)\n\t}\n\n\tfunction ucs2Write (buf, string, offset, length) {\n\t  return blitBuffer(utf16leToBytes(string, buf.length - offset), buf, offset, length)\n\t}\n\n\tBuffer.prototype.write = function write (string, offset, length, encoding) {\n\t  // Buffer#write(string)\n\t  if (offset === undefined) {\n\t    encoding = 'utf8';\n\t    length = this.length;\n\t    offset = 0;\n\t  // Buffer#write(string, encoding)\n\t  } else if (length === undefined && typeof offset === 'string') {\n\t    encoding = offset;\n\t    length = this.length;\n\t    offset = 0;\n\t  // Buffer#write(string, offset[, length][, encoding])\n\t  } else if (isFinite(offset)) {\n\t    offset = offset >>> 0;\n\t    if (isFinite(length)) {\n\t      length = length >>> 0;\n\t      if (encoding === undefined) encoding = 'utf8';\n\t    } else {\n\t      encoding = length;\n\t      length = undefined;\n\t    }\n\t  } else {\n\t    throw new Error(\n\t      'Buffer.write(string, encoding, offset[, length]) is no longer supported'\n\t    )\n\t  }\n\n\t  var remaining = this.length - offset;\n\t  if (length === undefined || length > remaining) length = remaining;\n\n\t  if ((string.length > 0 && (length < 0 || offset < 0)) || offset > this.length) {\n\t    throw new RangeError('Attempt to write outside buffer bounds')\n\t  }\n\n\t  if (!encoding) encoding = 'utf8';\n\n\t  var loweredCase = false;\n\t  for (;;) {\n\t    switch (encoding) {\n\t      case 'hex':\n\t        return hexWrite(this, string, offset, length)\n\n\t      case 'utf8':\n\t      case 'utf-8':\n\t        return utf8Write(this, string, offset, length)\n\n\t      case 'ascii':\n\t        return asciiWrite(this, string, offset, length)\n\n\t      case 'latin1':\n\t      case 'binary':\n\t        return latin1Write(this, string, offset, length)\n\n\t      case 'base64':\n\t        // Warning: maxLength not taken into account in base64Write\n\t        return base64Write(this, string, offset, length)\n\n\t      case 'ucs2':\n\t      case 'ucs-2':\n\t      case 'utf16le':\n\t      case 'utf-16le':\n\t        return ucs2Write(this, string, offset, length)\n\n\t      default:\n\t        if (loweredCase) throw new TypeError('Unknown encoding: ' + encoding)\n\t        encoding = ('' + encoding).toLowerCase();\n\t        loweredCase = true;\n\t    }\n\t  }\n\t};\n\n\tBuffer.prototype.toJSON = function toJSON () {\n\t  return {\n\t    type: 'Buffer',\n\t    data: Array.prototype.slice.call(this._arr || this, 0)\n\t  }\n\t};\n\n\tfunction base64Slice (buf, start, end) {\n\t  if (start === 0 && end === buf.length) {\n\t    return base64.fromByteArray(buf)\n\t  } else {\n\t    return base64.fromByteArray(buf.slice(start, end))\n\t  }\n\t}\n\n\tfunction utf8Slice (buf, start, end) {\n\t  end = Math.min(buf.length, end);\n\t  var res = [];\n\n\t  var i = start;\n\t  while (i < end) {\n\t    var firstByte = buf[i];\n\t    var codePoint = null;\n\t    var bytesPerSequence = (firstByte > 0xEF) ? 4\n\t      : (firstByte > 0xDF) ? 3\n\t        : (firstByte > 0xBF) ? 2\n\t          : 1;\n\n\t    if (i + bytesPerSequence <= end) {\n\t      var secondByte, thirdByte, fourthByte, tempCodePoint;\n\n\t      switch (bytesPerSequence) {\n\t        case 1:\n\t          if (firstByte < 0x80) {\n\t            codePoint = firstByte;\n\t          }\n\t          break\n\t        case 2:\n\t          secondByte = buf[i + 1];\n\t          if ((secondByte & 0xC0) === 0x80) {\n\t            tempCodePoint = (firstByte & 0x1F) << 0x6 | (secondByte & 0x3F);\n\t            if (tempCodePoint > 0x7F) {\n\t              codePoint = tempCodePoint;\n\t            }\n\t          }\n\t          break\n\t        case 3:\n\t          secondByte = buf[i + 1];\n\t          thirdByte = buf[i + 2];\n\t          if ((secondByte & 0xC0) === 0x80 && (thirdByte & 0xC0) === 0x80) {\n\t            tempCodePoint = (firstByte & 0xF) << 0xC | (secondByte & 0x3F) << 0x6 | (thirdByte & 0x3F);\n\t            if (tempCodePoint > 0x7FF && (tempCodePoint < 0xD800 || tempCodePoint > 0xDFFF)) {\n\t              codePoint = tempCodePoint;\n\t            }\n\t          }\n\t          break\n\t        case 4:\n\t          secondByte = buf[i + 1];\n\t          thirdByte = buf[i + 2];\n\t          fourthByte = buf[i + 3];\n\t          if ((secondByte & 0xC0) === 0x80 && (thirdByte & 0xC0) === 0x80 && (fourthByte & 0xC0) === 0x80) {\n\t            tempCodePoint = (firstByte & 0xF) << 0x12 | (secondByte & 0x3F) << 0xC | (thirdByte & 0x3F) << 0x6 | (fourthByte & 0x3F);\n\t            if (tempCodePoint > 0xFFFF && tempCodePoint < 0x110000) {\n\t              codePoint = tempCodePoint;\n\t            }\n\t          }\n\t      }\n\t    }\n\n\t    if (codePoint === null) {\n\t      // we did not generate a valid codePoint so insert a\n\t      // replacement char (U+FFFD) and advance only 1 byte\n\t      codePoint = 0xFFFD;\n\t      bytesPerSequence = 1;\n\t    } else if (codePoint > 0xFFFF) {\n\t      // encode to utf16 (surrogate pair dance)\n\t      codePoint -= 0x10000;\n\t      res.push(codePoint >>> 10 & 0x3FF | 0xD800);\n\t      codePoint = 0xDC00 | codePoint & 0x3FF;\n\t    }\n\n\t    res.push(codePoint);\n\t    i += bytesPerSequence;\n\t  }\n\n\t  return decodeCodePointsArray(res)\n\t}\n\n\t// Based on http://stackoverflow.com/a/22747272/680742, the browser with\n\t// the lowest limit is Chrome, with 0x10000 args.\n\t// We go 1 magnitude less, for safety\n\tvar MAX_ARGUMENTS_LENGTH = 0x1000;\n\n\tfunction decodeCodePointsArray (codePoints) {\n\t  var len = codePoints.length;\n\t  if (len <= MAX_ARGUMENTS_LENGTH) {\n\t    return String.fromCharCode.apply(String, codePoints) // avoid extra slice()\n\t  }\n\n\t  // Decode in chunks to avoid \"call stack size exceeded\".\n\t  var res = '';\n\t  var i = 0;\n\t  while (i < len) {\n\t    res += String.fromCharCode.apply(\n\t      String,\n\t      codePoints.slice(i, i += MAX_ARGUMENTS_LENGTH)\n\t    );\n\t  }\n\t  return res\n\t}\n\n\tfunction asciiSlice (buf, start, end) {\n\t  var ret = '';\n\t  end = Math.min(buf.length, end);\n\n\t  for (var i = start; i < end; ++i) {\n\t    ret += String.fromCharCode(buf[i] & 0x7F);\n\t  }\n\t  return ret\n\t}\n\n\tfunction latin1Slice (buf, start, end) {\n\t  var ret = '';\n\t  end = Math.min(buf.length, end);\n\n\t  for (var i = start; i < end; ++i) {\n\t    ret += String.fromCharCode(buf[i]);\n\t  }\n\t  return ret\n\t}\n\n\tfunction hexSlice (buf, start, end) {\n\t  var len = buf.length;\n\n\t  if (!start || start < 0) start = 0;\n\t  if (!end || end < 0 || end > len) end = len;\n\n\t  var out = '';\n\t  for (var i = start; i < end; ++i) {\n\t    out += hexSliceLookupTable[buf[i]];\n\t  }\n\t  return out\n\t}\n\n\tfunction utf16leSlice (buf, start, end) {\n\t  var bytes = buf.slice(start, end);\n\t  var res = '';\n\t  for (var i = 0; i < bytes.length; i += 2) {\n\t    res += String.fromCharCode(bytes[i] + (bytes[i + 1] * 256));\n\t  }\n\t  return res\n\t}\n\n\tBuffer.prototype.slice = function slice (start, end) {\n\t  var len = this.length;\n\t  start = ~~start;\n\t  end = end === undefined ? len : ~~end;\n\n\t  if (start < 0) {\n\t    start += len;\n\t    if (start < 0) start = 0;\n\t  } else if (start > len) {\n\t    start = len;\n\t  }\n\n\t  if (end < 0) {\n\t    end += len;\n\t    if (end < 0) end = 0;\n\t  } else if (end > len) {\n\t    end = len;\n\t  }\n\n\t  if (end < start) end = start;\n\n\t  var newBuf = this.subarray(start, end);\n\t  // Return an augmented `Uint8Array` instance\n\t  Object.setPrototypeOf(newBuf, Buffer.prototype);\n\n\t  return newBuf\n\t};\n\n\t/*\n\t * Need to make sure that buffer isn't trying to write out of bounds.\n\t */\n\tfunction checkOffset (offset, ext, length) {\n\t  if ((offset % 1) !== 0 || offset < 0) throw new RangeError('offset is not uint')\n\t  if (offset + ext > length) throw new RangeError('Trying to access beyond buffer length')\n\t}\n\n\tBuffer.prototype.readUIntLE = function readUIntLE (offset, byteLength, noAssert) {\n\t  offset = offset >>> 0;\n\t  byteLength = byteLength >>> 0;\n\t  if (!noAssert) checkOffset(offset, byteLength, this.length);\n\n\t  var val = this[offset];\n\t  var mul = 1;\n\t  var i = 0;\n\t  while (++i < byteLength && (mul *= 0x100)) {\n\t    val += this[offset + i] * mul;\n\t  }\n\n\t  return val\n\t};\n\n\tBuffer.prototype.readUIntBE = function readUIntBE (offset, byteLength, noAssert) {\n\t  offset = offset >>> 0;\n\t  byteLength = byteLength >>> 0;\n\t  if (!noAssert) {\n\t    checkOffset(offset, byteLength, this.length);\n\t  }\n\n\t  var val = this[offset + --byteLength];\n\t  var mul = 1;\n\t  while (byteLength > 0 && (mul *= 0x100)) {\n\t    val += this[offset + --byteLength] * mul;\n\t  }\n\n\t  return val\n\t};\n\n\tBuffer.prototype.readUInt8 = function readUInt8 (offset, noAssert) {\n\t  offset = offset >>> 0;\n\t  if (!noAssert) checkOffset(offset, 1, this.length);\n\t  return this[offset]\n\t};\n\n\tBuffer.prototype.readUInt16LE = function readUInt16LE (offset, noAssert) {\n\t  offset = offset >>> 0;\n\t  if (!noAssert) checkOffset(offset, 2, this.length);\n\t  return this[offset] | (this[offset + 1] << 8)\n\t};\n\n\tBuffer.prototype.readUInt16BE = function readUInt16BE (offset, noAssert) {\n\t  offset = offset >>> 0;\n\t  if (!noAssert) checkOffset(offset, 2, this.length);\n\t  return (this[offset] << 8) | this[offset + 1]\n\t};\n\n\tBuffer.prototype.readUInt32LE = function readUInt32LE (offset, noAssert) {\n\t  offset = offset >>> 0;\n\t  if (!noAssert) checkOffset(offset, 4, this.length);\n\n\t  return ((this[offset]) |\n\t      (this[offset + 1] << 8) |\n\t      (this[offset + 2] << 16)) +\n\t      (this[offset + 3] * 0x1000000)\n\t};\n\n\tBuffer.prototype.readUInt32BE = function readUInt32BE (offset, noAssert) {\n\t  offset = offset >>> 0;\n\t  if (!noAssert) checkOffset(offset, 4, this.length);\n\n\t  return (this[offset] * 0x1000000) +\n\t    ((this[offset + 1] << 16) |\n\t    (this[offset + 2] << 8) |\n\t    this[offset + 3])\n\t};\n\n\tBuffer.prototype.readIntLE = function readIntLE (offset, byteLength, noAssert) {\n\t  offset = offset >>> 0;\n\t  byteLength = byteLength >>> 0;\n\t  if (!noAssert) checkOffset(offset, byteLength, this.length);\n\n\t  var val = this[offset];\n\t  var mul = 1;\n\t  var i = 0;\n\t  while (++i < byteLength && (mul *= 0x100)) {\n\t    val += this[offset + i] * mul;\n\t  }\n\t  mul *= 0x80;\n\n\t  if (val >= mul) val -= Math.pow(2, 8 * byteLength);\n\n\t  return val\n\t};\n\n\tBuffer.prototype.readIntBE = function readIntBE (offset, byteLength, noAssert) {\n\t  offset = offset >>> 0;\n\t  byteLength = byteLength >>> 0;\n\t  if (!noAssert) checkOffset(offset, byteLength, this.length);\n\n\t  var i = byteLength;\n\t  var mul = 1;\n\t  var val = this[offset + --i];\n\t  while (i > 0 && (mul *= 0x100)) {\n\t    val += this[offset + --i] * mul;\n\t  }\n\t  mul *= 0x80;\n\n\t  if (val >= mul) val -= Math.pow(2, 8 * byteLength);\n\n\t  return val\n\t};\n\n\tBuffer.prototype.readInt8 = function readInt8 (offset, noAssert) {\n\t  offset = offset >>> 0;\n\t  if (!noAssert) checkOffset(offset, 1, this.length);\n\t  if (!(this[offset] & 0x80)) return (this[offset])\n\t  return ((0xff - this[offset] + 1) * -1)\n\t};\n\n\tBuffer.prototype.readInt16LE = function readInt16LE (offset, noAssert) {\n\t  offset = offset >>> 0;\n\t  if (!noAssert) checkOffset(offset, 2, this.length);\n\t  var val = this[offset] | (this[offset + 1] << 8);\n\t  return (val & 0x8000) ? val | 0xFFFF0000 : val\n\t};\n\n\tBuffer.prototype.readInt16BE = function readInt16BE (offset, noAssert) {\n\t  offset = offset >>> 0;\n\t  if (!noAssert) checkOffset(offset, 2, this.length);\n\t  var val = this[offset + 1] | (this[offset] << 8);\n\t  return (val & 0x8000) ? val | 0xFFFF0000 : val\n\t};\n\n\tBuffer.prototype.readInt32LE = function readInt32LE (offset, noAssert) {\n\t  offset = offset >>> 0;\n\t  if (!noAssert) checkOffset(offset, 4, this.length);\n\n\t  return (this[offset]) |\n\t    (this[offset + 1] << 8) |\n\t    (this[offset + 2] << 16) |\n\t    (this[offset + 3] << 24)\n\t};\n\n\tBuffer.prototype.readInt32BE = function readInt32BE (offset, noAssert) {\n\t  offset = offset >>> 0;\n\t  if (!noAssert) checkOffset(offset, 4, this.length);\n\n\t  return (this[offset] << 24) |\n\t    (this[offset + 1] << 16) |\n\t    (this[offset + 2] << 8) |\n\t    (this[offset + 3])\n\t};\n\n\tBuffer.prototype.readFloatLE = function readFloatLE (offset, noAssert) {\n\t  offset = offset >>> 0;\n\t  if (!noAssert) checkOffset(offset, 4, this.length);\n\t  return ieee754.read(this, offset, true, 23, 4)\n\t};\n\n\tBuffer.prototype.readFloatBE = function readFloatBE (offset, noAssert) {\n\t  offset = offset >>> 0;\n\t  if (!noAssert) checkOffset(offset, 4, this.length);\n\t  return ieee754.read(this, offset, false, 23, 4)\n\t};\n\n\tBuffer.prototype.readDoubleLE = function readDoubleLE (offset, noAssert) {\n\t  offset = offset >>> 0;\n\t  if (!noAssert) checkOffset(offset, 8, this.length);\n\t  return ieee754.read(this, offset, true, 52, 8)\n\t};\n\n\tBuffer.prototype.readDoubleBE = function readDoubleBE (offset, noAssert) {\n\t  offset = offset >>> 0;\n\t  if (!noAssert) checkOffset(offset, 8, this.length);\n\t  return ieee754.read(this, offset, false, 52, 8)\n\t};\n\n\tfunction checkInt (buf, value, offset, ext, max, min) {\n\t  if (!Buffer.isBuffer(buf)) throw new TypeError('\"buffer\" argument must be a Buffer instance')\n\t  if (value > max || value < min) throw new RangeError('\"value\" argument is out of bounds')\n\t  if (offset + ext > buf.length) throw new RangeError('Index out of range')\n\t}\n\n\tBuffer.prototype.writeUIntLE = function writeUIntLE (value, offset, byteLength, noAssert) {\n\t  value = +value;\n\t  offset = offset >>> 0;\n\t  byteLength = byteLength >>> 0;\n\t  if (!noAssert) {\n\t    var maxBytes = Math.pow(2, 8 * byteLength) - 1;\n\t    checkInt(this, value, offset, byteLength, maxBytes, 0);\n\t  }\n\n\t  var mul = 1;\n\t  var i = 0;\n\t  this[offset] = value & 0xFF;\n\t  while (++i < byteLength && (mul *= 0x100)) {\n\t    this[offset + i] = (value / mul) & 0xFF;\n\t  }\n\n\t  return offset + byteLength\n\t};\n\n\tBuffer.prototype.writeUIntBE = function writeUIntBE (value, offset, byteLength, noAssert) {\n\t  value = +value;\n\t  offset = offset >>> 0;\n\t  byteLength = byteLength >>> 0;\n\t  if (!noAssert) {\n\t    var maxBytes = Math.pow(2, 8 * byteLength) - 1;\n\t    checkInt(this, value, offset, byteLength, maxBytes, 0);\n\t  }\n\n\t  var i = byteLength - 1;\n\t  var mul = 1;\n\t  this[offset + i] = value & 0xFF;\n\t  while (--i >= 0 && (mul *= 0x100)) {\n\t    this[offset + i] = (value / mul) & 0xFF;\n\t  }\n\n\t  return offset + byteLength\n\t};\n\n\tBuffer.prototype.writeUInt8 = function writeUInt8 (value, offset, noAssert) {\n\t  value = +value;\n\t  offset = offset >>> 0;\n\t  if (!noAssert) checkInt(this, value, offset, 1, 0xff, 0);\n\t  this[offset] = (value & 0xff);\n\t  return offset + 1\n\t};\n\n\tBuffer.prototype.writeUInt16LE = function writeUInt16LE (value, offset, noAssert) {\n\t  value = +value;\n\t  offset = offset >>> 0;\n\t  if (!noAssert) checkInt(this, value, offset, 2, 0xffff, 0);\n\t  this[offset] = (value & 0xff);\n\t  this[offset + 1] = (value >>> 8);\n\t  return offset + 2\n\t};\n\n\tBuffer.prototype.writeUInt16BE = function writeUInt16BE (value, offset, noAssert) {\n\t  value = +value;\n\t  offset = offset >>> 0;\n\t  if (!noAssert) checkInt(this, value, offset, 2, 0xffff, 0);\n\t  this[offset] = (value >>> 8);\n\t  this[offset + 1] = (value & 0xff);\n\t  return offset + 2\n\t};\n\n\tBuffer.prototype.writeUInt32LE = function writeUInt32LE (value, offset, noAssert) {\n\t  value = +value;\n\t  offset = offset >>> 0;\n\t  if (!noAssert) checkInt(this, value, offset, 4, 0xffffffff, 0);\n\t  this[offset + 3] = (value >>> 24);\n\t  this[offset + 2] = (value >>> 16);\n\t  this[offset + 1] = (value >>> 8);\n\t  this[offset] = (value & 0xff);\n\t  return offset + 4\n\t};\n\n\tBuffer.prototype.writeUInt32BE = function writeUInt32BE (value, offset, noAssert) {\n\t  value = +value;\n\t  offset = offset >>> 0;\n\t  if (!noAssert) checkInt(this, value, offset, 4, 0xffffffff, 0);\n\t  this[offset] = (value >>> 24);\n\t  this[offset + 1] = (value >>> 16);\n\t  this[offset + 2] = (value >>> 8);\n\t  this[offset + 3] = (value & 0xff);\n\t  return offset + 4\n\t};\n\n\tBuffer.prototype.writeIntLE = function writeIntLE (value, offset, byteLength, noAssert) {\n\t  value = +value;\n\t  offset = offset >>> 0;\n\t  if (!noAssert) {\n\t    var limit = Math.pow(2, (8 * byteLength) - 1);\n\n\t    checkInt(this, value, offset, byteLength, limit - 1, -limit);\n\t  }\n\n\t  var i = 0;\n\t  var mul = 1;\n\t  var sub = 0;\n\t  this[offset] = value & 0xFF;\n\t  while (++i < byteLength && (mul *= 0x100)) {\n\t    if (value < 0 && sub === 0 && this[offset + i - 1] !== 0) {\n\t      sub = 1;\n\t    }\n\t    this[offset + i] = ((value / mul) >> 0) - sub & 0xFF;\n\t  }\n\n\t  return offset + byteLength\n\t};\n\n\tBuffer.prototype.writeIntBE = function writeIntBE (value, offset, byteLength, noAssert) {\n\t  value = +value;\n\t  offset = offset >>> 0;\n\t  if (!noAssert) {\n\t    var limit = Math.pow(2, (8 * byteLength) - 1);\n\n\t    checkInt(this, value, offset, byteLength, limit - 1, -limit);\n\t  }\n\n\t  var i = byteLength - 1;\n\t  var mul = 1;\n\t  var sub = 0;\n\t  this[offset + i] = value & 0xFF;\n\t  while (--i >= 0 && (mul *= 0x100)) {\n\t    if (value < 0 && sub === 0 && this[offset + i + 1] !== 0) {\n\t      sub = 1;\n\t    }\n\t    this[offset + i] = ((value / mul) >> 0) - sub & 0xFF;\n\t  }\n\n\t  return offset + byteLength\n\t};\n\n\tBuffer.prototype.writeInt8 = function writeInt8 (value, offset, noAssert) {\n\t  value = +value;\n\t  offset = offset >>> 0;\n\t  if (!noAssert) checkInt(this, value, offset, 1, 0x7f, -0x80);\n\t  if (value < 0) value = 0xff + value + 1;\n\t  this[offset] = (value & 0xff);\n\t  return offset + 1\n\t};\n\n\tBuffer.prototype.writeInt16LE = function writeInt16LE (value, offset, noAssert) {\n\t  value = +value;\n\t  offset = offset >>> 0;\n\t  if (!noAssert) checkInt(this, value, offset, 2, 0x7fff, -0x8000);\n\t  this[offset] = (value & 0xff);\n\t  this[offset + 1] = (value >>> 8);\n\t  return offset + 2\n\t};\n\n\tBuffer.prototype.writeInt16BE = function writeInt16BE (value, offset, noAssert) {\n\t  value = +value;\n\t  offset = offset >>> 0;\n\t  if (!noAssert) checkInt(this, value, offset, 2, 0x7fff, -0x8000);\n\t  this[offset] = (value >>> 8);\n\t  this[offset + 1] = (value & 0xff);\n\t  return offset + 2\n\t};\n\n\tBuffer.prototype.writeInt32LE = function writeInt32LE (value, offset, noAssert) {\n\t  value = +value;\n\t  offset = offset >>> 0;\n\t  if (!noAssert) checkInt(this, value, offset, 4, 0x7fffffff, -0x80000000);\n\t  this[offset] = (value & 0xff);\n\t  this[offset + 1] = (value >>> 8);\n\t  this[offset + 2] = (value >>> 16);\n\t  this[offset + 3] = (value >>> 24);\n\t  return offset + 4\n\t};\n\n\tBuffer.prototype.writeInt32BE = function writeInt32BE (value, offset, noAssert) {\n\t  value = +value;\n\t  offset = offset >>> 0;\n\t  if (!noAssert) checkInt(this, value, offset, 4, 0x7fffffff, -0x80000000);\n\t  if (value < 0) value = 0xffffffff + value + 1;\n\t  this[offset] = (value >>> 24);\n\t  this[offset + 1] = (value >>> 16);\n\t  this[offset + 2] = (value >>> 8);\n\t  this[offset + 3] = (value & 0xff);\n\t  return offset + 4\n\t};\n\n\tfunction checkIEEE754 (buf, value, offset, ext, max, min) {\n\t  if (offset + ext > buf.length) throw new RangeError('Index out of range')\n\t  if (offset < 0) throw new RangeError('Index out of range')\n\t}\n\n\tfunction writeFloat (buf, value, offset, littleEndian, noAssert) {\n\t  value = +value;\n\t  offset = offset >>> 0;\n\t  if (!noAssert) {\n\t    checkIEEE754(buf, value, offset, 4);\n\t  }\n\t  ieee754.write(buf, value, offset, littleEndian, 23, 4);\n\t  return offset + 4\n\t}\n\n\tBuffer.prototype.writeFloatLE = function writeFloatLE (value, offset, noAssert) {\n\t  return writeFloat(this, value, offset, true, noAssert)\n\t};\n\n\tBuffer.prototype.writeFloatBE = function writeFloatBE (value, offset, noAssert) {\n\t  return writeFloat(this, value, offset, false, noAssert)\n\t};\n\n\tfunction writeDouble (buf, value, offset, littleEndian, noAssert) {\n\t  value = +value;\n\t  offset = offset >>> 0;\n\t  if (!noAssert) {\n\t    checkIEEE754(buf, value, offset, 8);\n\t  }\n\t  ieee754.write(buf, value, offset, littleEndian, 52, 8);\n\t  return offset + 8\n\t}\n\n\tBuffer.prototype.writeDoubleLE = function writeDoubleLE (value, offset, noAssert) {\n\t  return writeDouble(this, value, offset, true, noAssert)\n\t};\n\n\tBuffer.prototype.writeDoubleBE = function writeDoubleBE (value, offset, noAssert) {\n\t  return writeDouble(this, value, offset, false, noAssert)\n\t};\n\n\t// copy(targetBuffer, targetStart=0, sourceStart=0, sourceEnd=buffer.length)\n\tBuffer.prototype.copy = function copy (target, targetStart, start, end) {\n\t  if (!Buffer.isBuffer(target)) throw new TypeError('argument should be a Buffer')\n\t  if (!start) start = 0;\n\t  if (!end && end !== 0) end = this.length;\n\t  if (targetStart >= target.length) targetStart = target.length;\n\t  if (!targetStart) targetStart = 0;\n\t  if (end > 0 && end < start) end = start;\n\n\t  // Copy 0 bytes; we're done\n\t  if (end === start) return 0\n\t  if (target.length === 0 || this.length === 0) return 0\n\n\t  // Fatal error conditions\n\t  if (targetStart < 0) {\n\t    throw new RangeError('targetStart out of bounds')\n\t  }\n\t  if (start < 0 || start >= this.length) throw new RangeError('Index out of range')\n\t  if (end < 0) throw new RangeError('sourceEnd out of bounds')\n\n\t  // Are we oob?\n\t  if (end > this.length) end = this.length;\n\t  if (target.length - targetStart < end - start) {\n\t    end = target.length - targetStart + start;\n\t  }\n\n\t  var len = end - start;\n\n\t  if (this === target && typeof Uint8Array.prototype.copyWithin === 'function') {\n\t    // Use built-in when available, missing from IE11\n\t    this.copyWithin(targetStart, start, end);\n\t  } else if (this === target && start < targetStart && targetStart < end) {\n\t    // descending copy from end\n\t    for (var i = len - 1; i >= 0; --i) {\n\t      target[i + targetStart] = this[i + start];\n\t    }\n\t  } else {\n\t    Uint8Array.prototype.set.call(\n\t      target,\n\t      this.subarray(start, end),\n\t      targetStart\n\t    );\n\t  }\n\n\t  return len\n\t};\n\n\t// Usage:\n\t//    buffer.fill(number[, offset[, end]])\n\t//    buffer.fill(buffer[, offset[, end]])\n\t//    buffer.fill(string[, offset[, end]][, encoding])\n\tBuffer.prototype.fill = function fill (val, start, end, encoding) {\n\t  // Handle string cases:\n\t  if (typeof val === 'string') {\n\t    if (typeof start === 'string') {\n\t      encoding = start;\n\t      start = 0;\n\t      end = this.length;\n\t    } else if (typeof end === 'string') {\n\t      encoding = end;\n\t      end = this.length;\n\t    }\n\t    if (encoding !== undefined && typeof encoding !== 'string') {\n\t      throw new TypeError('encoding must be a string')\n\t    }\n\t    if (typeof encoding === 'string' && !Buffer.isEncoding(encoding)) {\n\t      throw new TypeError('Unknown encoding: ' + encoding)\n\t    }\n\t    if (val.length === 1) {\n\t      var code = val.charCodeAt(0);\n\t      if ((encoding === 'utf8' && code < 128) ||\n\t          encoding === 'latin1') {\n\t        // Fast path: If `val` fits into a single byte, use that numeric value.\n\t        val = code;\n\t      }\n\t    }\n\t  } else if (typeof val === 'number') {\n\t    val = val & 255;\n\t  } else if (typeof val === 'boolean') {\n\t    val = Number(val);\n\t  }\n\n\t  // Invalid ranges are not set to a default, so can range check early.\n\t  if (start < 0 || this.length < start || this.length < end) {\n\t    throw new RangeError('Out of range index')\n\t  }\n\n\t  if (end <= start) {\n\t    return this\n\t  }\n\n\t  start = start >>> 0;\n\t  end = end === undefined ? this.length : end >>> 0;\n\n\t  if (!val) val = 0;\n\n\t  var i;\n\t  if (typeof val === 'number') {\n\t    for (i = start; i < end; ++i) {\n\t      this[i] = val;\n\t    }\n\t  } else {\n\t    var bytes = Buffer.isBuffer(val)\n\t      ? val\n\t      : Buffer.from(val, encoding);\n\t    var len = bytes.length;\n\t    if (len === 0) {\n\t      throw new TypeError('The value \"' + val +\n\t        '\" is invalid for argument \"value\"')\n\t    }\n\t    for (i = 0; i < end - start; ++i) {\n\t      this[i + start] = bytes[i % len];\n\t    }\n\t  }\n\n\t  return this\n\t};\n\n\t// HELPER FUNCTIONS\n\t// ================\n\n\tvar INVALID_BASE64_RE = /[^+/0-9A-Za-z-_]/g;\n\n\tfunction base64clean (str) {\n\t  // Node takes equal signs as end of the Base64 encoding\n\t  str = str.split('=')[0];\n\t  // Node strips out invalid characters like \\n and \\t from the string, base64-js does not\n\t  str = str.trim().replace(INVALID_BASE64_RE, '');\n\t  // Node converts strings with length < 2 to ''\n\t  if (str.length < 2) return ''\n\t  // Node allows for non-padded base64 strings (missing trailing ===), base64-js does not\n\t  while (str.length % 4 !== 0) {\n\t    str = str + '=';\n\t  }\n\t  return str\n\t}\n\n\tfunction utf8ToBytes (string, units) {\n\t  units = units || Infinity;\n\t  var codePoint;\n\t  var length = string.length;\n\t  var leadSurrogate = null;\n\t  var bytes = [];\n\n\t  for (var i = 0; i < length; ++i) {\n\t    codePoint = string.charCodeAt(i);\n\n\t    // is surrogate component\n\t    if (codePoint > 0xD7FF && codePoint < 0xE000) {\n\t      // last char was a lead\n\t      if (!leadSurrogate) {\n\t        // no lead yet\n\t        if (codePoint > 0xDBFF) {\n\t          // unexpected trail\n\t          if ((units -= 3) > -1) bytes.push(0xEF, 0xBF, 0xBD);\n\t          continue\n\t        } else if (i + 1 === length) {\n\t          // unpaired lead\n\t          if ((units -= 3) > -1) bytes.push(0xEF, 0xBF, 0xBD);\n\t          continue\n\t        }\n\n\t        // valid lead\n\t        leadSurrogate = codePoint;\n\n\t        continue\n\t      }\n\n\t      // 2 leads in a row\n\t      if (codePoint < 0xDC00) {\n\t        if ((units -= 3) > -1) bytes.push(0xEF, 0xBF, 0xBD);\n\t        leadSurrogate = codePoint;\n\t        continue\n\t      }\n\n\t      // valid surrogate pair\n\t      codePoint = (leadSurrogate - 0xD800 << 10 | codePoint - 0xDC00) + 0x10000;\n\t    } else if (leadSurrogate) {\n\t      // valid bmp char, but last char was a lead\n\t      if ((units -= 3) > -1) bytes.push(0xEF, 0xBF, 0xBD);\n\t    }\n\n\t    leadSurrogate = null;\n\n\t    // encode utf8\n\t    if (codePoint < 0x80) {\n\t      if ((units -= 1) < 0) break\n\t      bytes.push(codePoint);\n\t    } else if (codePoint < 0x800) {\n\t      if ((units -= 2) < 0) break\n\t      bytes.push(\n\t        codePoint >> 0x6 | 0xC0,\n\t        codePoint & 0x3F | 0x80\n\t      );\n\t    } else if (codePoint < 0x10000) {\n\t      if ((units -= 3) < 0) break\n\t      bytes.push(\n\t        codePoint >> 0xC | 0xE0,\n\t        codePoint >> 0x6 & 0x3F | 0x80,\n\t        codePoint & 0x3F | 0x80\n\t      );\n\t    } else if (codePoint < 0x110000) {\n\t      if ((units -= 4) < 0) break\n\t      bytes.push(\n\t        codePoint >> 0x12 | 0xF0,\n\t        codePoint >> 0xC & 0x3F | 0x80,\n\t        codePoint >> 0x6 & 0x3F | 0x80,\n\t        codePoint & 0x3F | 0x80\n\t      );\n\t    } else {\n\t      throw new Error('Invalid code point')\n\t    }\n\t  }\n\n\t  return bytes\n\t}\n\n\tfunction asciiToBytes (str) {\n\t  var byteArray = [];\n\t  for (var i = 0; i < str.length; ++i) {\n\t    // Node's code seems to be doing this and not & 0x7F..\n\t    byteArray.push(str.charCodeAt(i) & 0xFF);\n\t  }\n\t  return byteArray\n\t}\n\n\tfunction utf16leToBytes (str, units) {\n\t  var c, hi, lo;\n\t  var byteArray = [];\n\t  for (var i = 0; i < str.length; ++i) {\n\t    if ((units -= 2) < 0) break\n\n\t    c = str.charCodeAt(i);\n\t    hi = c >> 8;\n\t    lo = c % 256;\n\t    byteArray.push(lo);\n\t    byteArray.push(hi);\n\t  }\n\n\t  return byteArray\n\t}\n\n\tfunction base64ToBytes (str) {\n\t  return base64.toByteArray(base64clean(str))\n\t}\n\n\tfunction blitBuffer (src, dst, offset, length) {\n\t  for (var i = 0; i < length; ++i) {\n\t    if ((i + offset >= dst.length) || (i >= src.length)) break\n\t    dst[i + offset] = src[i];\n\t  }\n\t  return i\n\t}\n\n\t// ArrayBuffer or Uint8Array objects from other contexts (i.e. iframes) do not pass\n\t// the `instanceof` check but they should be treated as of that type.\n\t// See: https://github.com/feross/buffer/issues/166\n\tfunction isInstance (obj, type) {\n\t  return obj instanceof type ||\n\t    (obj != null && obj.constructor != null && obj.constructor.name != null &&\n\t      obj.constructor.name === type.name)\n\t}\n\tfunction numberIsNaN (obj) {\n\t  // For IE11 support\n\t  return obj !== obj // eslint-disable-line no-self-compare\n\t}\n\n\t// Create lookup table for `toString('hex')`\n\t// See: https://github.com/feross/buffer/issues/219\n\tvar hexSliceLookupTable = (function () {\n\t  var alphabet = '0123456789abcdef';\n\t  var table = new Array(256);\n\t  for (var i = 0; i < 16; ++i) {\n\t    var i16 = i * 16;\n\t    for (var j = 0; j < 16; ++j) {\n\t      table[i16 + j] = alphabet[i] + alphabet[j];\n\t    }\n\t  }\n\t  return table\n\t})();\n\n\t},{\"base64-js\":29,\"ieee754\":32}],31:[function(require,module,exports){\n\n\t/******************************************************************************\n\t * Created 2008-08-19.\n\t *\n\t * Dijkstra path-finding functions. Adapted from the Dijkstar Python project.\n\t *\n\t * Copyright (C) 2008\n\t *   Wyatt Baldwin <self@wyattbaldwin.com>\n\t *   All rights reserved\n\t *\n\t * Licensed under the MIT license.\n\t *\n\t *   http://www.opensource.org/licenses/mit-license.php\n\t *\n\t * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n\t * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n\t * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n\t * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n\t * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n\t * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN\n\t * THE SOFTWARE.\n\t *****************************************************************************/\n\tvar dijkstra = {\n\t  single_source_shortest_paths: function(graph, s, d) {\n\t    // Predecessor map for each node that has been encountered.\n\t    // node ID => predecessor node ID\n\t    var predecessors = {};\n\n\t    // Costs of shortest paths from s to all nodes encountered.\n\t    // node ID => cost\n\t    var costs = {};\n\t    costs[s] = 0;\n\n\t    // Costs of shortest paths from s to all nodes encountered; differs from\n\t    // `costs` in that it provides easy access to the node that currently has\n\t    // the known shortest path from s.\n\t    // XXX: Do we actually need both `costs` and `open`?\n\t    var open = dijkstra.PriorityQueue.make();\n\t    open.push(s, 0);\n\n\t    var closest,\n\t        u, v,\n\t        cost_of_s_to_u,\n\t        adjacent_nodes,\n\t        cost_of_e,\n\t        cost_of_s_to_u_plus_cost_of_e,\n\t        cost_of_s_to_v,\n\t        first_visit;\n\t    while (!open.empty()) {\n\t      // In the nodes remaining in graph that have a known cost from s,\n\t      // find the node, u, that currently has the shortest path from s.\n\t      closest = open.pop();\n\t      u = closest.value;\n\t      cost_of_s_to_u = closest.cost;\n\n\t      // Get nodes adjacent to u...\n\t      adjacent_nodes = graph[u] || {};\n\n\t      // ...and explore the edges that connect u to those nodes, updating\n\t      // the cost of the shortest paths to any or all of those nodes as\n\t      // necessary. v is the node across the current edge from u.\n\t      for (v in adjacent_nodes) {\n\t        if (adjacent_nodes.hasOwnProperty(v)) {\n\t          // Get the cost of the edge running from u to v.\n\t          cost_of_e = adjacent_nodes[v];\n\n\t          // Cost of s to u plus the cost of u to v across e--this is *a*\n\t          // cost from s to v that may or may not be less than the current\n\t          // known cost to v.\n\t          cost_of_s_to_u_plus_cost_of_e = cost_of_s_to_u + cost_of_e;\n\n\t          // If we haven't visited v yet OR if the current known cost from s to\n\t          // v is greater than the new cost we just found (cost of s to u plus\n\t          // cost of u to v across e), update v's cost in the cost list and\n\t          // update v's predecessor in the predecessor list (it's now u).\n\t          cost_of_s_to_v = costs[v];\n\t          first_visit = (typeof costs[v] === 'undefined');\n\t          if (first_visit || cost_of_s_to_v > cost_of_s_to_u_plus_cost_of_e) {\n\t            costs[v] = cost_of_s_to_u_plus_cost_of_e;\n\t            open.push(v, cost_of_s_to_u_plus_cost_of_e);\n\t            predecessors[v] = u;\n\t          }\n\t        }\n\t      }\n\t    }\n\n\t    if (typeof d !== 'undefined' && typeof costs[d] === 'undefined') {\n\t      var msg = ['Could not find a path from ', s, ' to ', d, '.'].join('');\n\t      throw new Error(msg);\n\t    }\n\n\t    return predecessors;\n\t  },\n\n\t  extract_shortest_path_from_predecessor_list: function(predecessors, d) {\n\t    var nodes = [];\n\t    var u = d;\n\t    var predecessor;\n\t    while (u) {\n\t      nodes.push(u);\n\t      predecessor = predecessors[u];\n\t      u = predecessors[u];\n\t    }\n\t    nodes.reverse();\n\t    return nodes;\n\t  },\n\n\t  find_path: function(graph, s, d) {\n\t    var predecessors = dijkstra.single_source_shortest_paths(graph, s, d);\n\t    return dijkstra.extract_shortest_path_from_predecessor_list(\n\t      predecessors, d);\n\t  },\n\n\t  /**\n\t   * A very naive priority queue implementation.\n\t   */\n\t  PriorityQueue: {\n\t    make: function (opts) {\n\t      var T = dijkstra.PriorityQueue,\n\t          t = {},\n\t          key;\n\t      opts = opts || {};\n\t      for (key in T) {\n\t        if (T.hasOwnProperty(key)) {\n\t          t[key] = T[key];\n\t        }\n\t      }\n\t      t.queue = [];\n\t      t.sorter = opts.sorter || T.default_sorter;\n\t      return t;\n\t    },\n\n\t    default_sorter: function (a, b) {\n\t      return a.cost - b.cost;\n\t    },\n\n\t    /**\n\t     * Add a new item to the queue and ensure the highest priority element\n\t     * is at the front of the queue.\n\t     */\n\t    push: function (value, cost) {\n\t      var item = {value: value, cost: cost};\n\t      this.queue.push(item);\n\t      this.queue.sort(this.sorter);\n\t    },\n\n\t    /**\n\t     * Return the highest priority element in the queue.\n\t     */\n\t    pop: function () {\n\t      return this.queue.shift();\n\t    },\n\n\t    empty: function () {\n\t      return this.queue.length === 0;\n\t    }\n\t  }\n\t};\n\n\n\t// node.js module exports\n\tif (typeof module !== 'undefined') {\n\t  module.exports = dijkstra;\n\t}\n\n\t},{}],32:[function(require,module,exports){\n\texports.read = function (buffer, offset, isLE, mLen, nBytes) {\n\t  var e, m;\n\t  var eLen = (nBytes * 8) - mLen - 1;\n\t  var eMax = (1 << eLen) - 1;\n\t  var eBias = eMax >> 1;\n\t  var nBits = -7;\n\t  var i = isLE ? (nBytes - 1) : 0;\n\t  var d = isLE ? -1 : 1;\n\t  var s = buffer[offset + i];\n\n\t  i += d;\n\n\t  e = s & ((1 << (-nBits)) - 1);\n\t  s >>= (-nBits);\n\t  nBits += eLen;\n\t  for (; nBits > 0; e = (e * 256) + buffer[offset + i], i += d, nBits -= 8) {}\n\n\t  m = e & ((1 << (-nBits)) - 1);\n\t  e >>= (-nBits);\n\t  nBits += mLen;\n\t  for (; nBits > 0; m = (m * 256) + buffer[offset + i], i += d, nBits -= 8) {}\n\n\t  if (e === 0) {\n\t    e = 1 - eBias;\n\t  } else if (e === eMax) {\n\t    return m ? NaN : ((s ? -1 : 1) * Infinity)\n\t  } else {\n\t    m = m + Math.pow(2, mLen);\n\t    e = e - eBias;\n\t  }\n\t  return (s ? -1 : 1) * m * Math.pow(2, e - mLen)\n\t};\n\n\texports.write = function (buffer, value, offset, isLE, mLen, nBytes) {\n\t  var e, m, c;\n\t  var eLen = (nBytes * 8) - mLen - 1;\n\t  var eMax = (1 << eLen) - 1;\n\t  var eBias = eMax >> 1;\n\t  var rt = (mLen === 23 ? Math.pow(2, -24) - Math.pow(2, -77) : 0);\n\t  var i = isLE ? 0 : (nBytes - 1);\n\t  var d = isLE ? 1 : -1;\n\t  var s = value < 0 || (value === 0 && 1 / value < 0) ? 1 : 0;\n\n\t  value = Math.abs(value);\n\n\t  if (isNaN(value) || value === Infinity) {\n\t    m = isNaN(value) ? 1 : 0;\n\t    e = eMax;\n\t  } else {\n\t    e = Math.floor(Math.log(value) / Math.LN2);\n\t    if (value * (c = Math.pow(2, -e)) < 1) {\n\t      e--;\n\t      c *= 2;\n\t    }\n\t    if (e + eBias >= 1) {\n\t      value += rt / c;\n\t    } else {\n\t      value += rt * Math.pow(2, 1 - eBias);\n\t    }\n\t    if (value * c >= 2) {\n\t      e++;\n\t      c /= 2;\n\t    }\n\n\t    if (e + eBias >= eMax) {\n\t      m = 0;\n\t      e = eMax;\n\t    } else if (e + eBias >= 1) {\n\t      m = ((value * c) - 1) * Math.pow(2, mLen);\n\t      e = e + eBias;\n\t    } else {\n\t      m = value * Math.pow(2, eBias - 1) * Math.pow(2, mLen);\n\t      e = 0;\n\t    }\n\t  }\n\n\t  for (; mLen >= 8; buffer[offset + i] = m & 0xff, i += d, m /= 256, mLen -= 8) {}\n\n\t  e = (e << mLen) | m;\n\t  eLen += mLen;\n\t  for (; eLen > 0; buffer[offset + i] = e & 0xff, i += d, e /= 256, eLen -= 8) {}\n\n\t  buffer[offset + i - d] |= s * 128;\n\t};\n\n\t},{}],33:[function(require,module,exports){\n\tvar toString = {}.toString;\n\n\tmodule.exports = Array.isArray || function (arr) {\n\t  return toString.call(arr) == '[object Array]';\n\t};\n\n\t},{}]},{},[24])(24)\n\t});\n\n\n\t});\n\n\tvar index = {\n\t  name: 'qrcode',\n\t  props: {\n\t    /**\n\t     * The value of the QR code.\n\t     */\n\t    value: null,\n\n\t    /**\n\t     * The options for the QR code generator.\n\t     * {@link https://github.com/soldair/node-qrcode#qr-code-options}\n\t     */\n\t    options: Object,\n\n\t    /**\n\t     * The tag name of the component's root element.\n\t     */\n\t    tag: {\n\t      type: String,\n\t      default: 'canvas'\n\t    }\n\t  },\n\t  render: function render(createElement) {\n\t    return createElement(this.tag, this.$slots.default);\n\t  },\n\t  watch: {\n\t    $props: {\n\t      deep: true,\n\t      immediate: true,\n\n\t      /**\n\t       * Update the QR code when props changed.\n\t       */\n\t      handler: function handler() {\n\t        if (this.$el) {\n\t          this.generate();\n\t        }\n\t      }\n\t    }\n\t  },\n\t  methods: {\n\t    /**\n\t     * Generate QR code.\n\t     */\n\t    generate: function generate() {\n\t      var _this = this;\n\n\t      var options = this.options,\n\t          tag = this.tag;\n\t      var value = String(this.value);\n\n\t      if (tag === 'canvas') {\n\t        qrcode.toCanvas(this.$el, value, options, function (error) {\n\t          /* istanbul ignore if */\n\t          if (error) {\n\t            throw error;\n\t          }\n\t        });\n\t      } else if (tag === 'img') {\n\t        qrcode.toDataURL(value, options, function (error, url) {\n\t          /* istanbul ignore if */\n\t          if (error) {\n\t            throw error;\n\t          }\n\n\t          _this.$el.src = url;\n\t        });\n\t      } else {\n\t        qrcode.toString(value, options, function (error, string) {\n\t          /* istanbul ignore if */\n\t          if (error) {\n\t            throw error;\n\t          }\n\n\t          _this.$el.innerHTML = string;\n\t        });\n\t      }\n\t    }\n\t  },\n\t  mounted: function mounted() {\n\t    this.generate();\n\t  }\n\t};\n\n\treturn index;\n\n})));\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `.fade-enter-active[data-v-8e58e0a5],\n.fade-leave-active[data-v-8e58e0a5] {\n  transition: opacity .3s ease;\n}\n.fade-enter[data-v-8e58e0a5],\n.fade-leave-to[data-v-8e58e0a5] {\n  opacity: 0;\n}\n.linked-icons[data-v-8e58e0a5] {\n  display: flex;\n}\n.linked-icons img[data-v-8e58e0a5] {\n  padding: 12px;\n  height: 44px;\n  display: block;\n  background-repeat: no-repeat;\n  background-position: center;\n  opacity: .7;\n}\n.linked-icons img[data-v-8e58e0a5]:hover {\n  opacity: 1;\n}\n.popovermenu[data-v-8e58e0a5] {\n  display: none;\n}\n.popovermenu.open[data-v-8e58e0a5] {\n  display: block;\n}\nli.collection-list-item[data-v-8e58e0a5] {\n  flex-wrap: wrap;\n  height: auto;\n  cursor: pointer;\n  margin-bottom: 0 !important;\n}\nli.collection-list-item .collection-avatar[data-v-8e58e0a5] {\n  margin-top: 6px;\n}\nli.collection-list-item form[data-v-8e58e0a5],\nli.collection-list-item .collection-item-name[data-v-8e58e0a5] {\n  flex-basis: 10%;\n  flex-grow: 1;\n  display: flex;\n}\nli.collection-list-item .collection-item-name[data-v-8e58e0a5] {\n  padding: 12px 9px;\n}\nli.collection-list-item input[data-v-8e58e0a5] {\n  margin-top: 4px;\n  border-color: var(--color-border-maxcontrast);\n}\nli.collection-list-item input[type=text][data-v-8e58e0a5] {\n  flex-grow: 1;\n}\nli.collection-list-item .error[data-v-8e58e0a5],\nli.collection-list-item .resource-list-details[data-v-8e58e0a5] {\n  flex-basis: 100%;\n  width: 100%;\n}\nli.collection-list-item .resource-list-details li[data-v-8e58e0a5] {\n  display: flex;\n  margin-left: 44px;\n  border-radius: 3px;\n  cursor: pointer;\n}\nli.collection-list-item .resource-list-details li[data-v-8e58e0a5]:hover {\n  background-color: var(--color-background-dark);\n}\nli.collection-list-item .resource-list-details li a[data-v-8e58e0a5] {\n  flex-grow: 1;\n  padding: 3px;\n  max-width: calc(100% - 30px);\n  display: flex;\n}\nli.collection-list-item .resource-list-details span[data-v-8e58e0a5] {\n  display: inline-block;\n  vertical-align: top;\n  margin-right: 10px;\n}\nli.collection-list-item .resource-list-details span.resource-name[data-v-8e58e0a5] {\n  text-overflow: ellipsis;\n  overflow: hidden;\n  position: relative;\n  vertical-align: top;\n  white-space: nowrap;\n  flex-grow: 1;\n  padding: 4px;\n}\nli.collection-list-item .resource-list-details img[data-v-8e58e0a5] {\n  width: 24px;\n  height: 24px;\n}\nli.collection-list-item .resource-list-details .icon-close[data-v-8e58e0a5] {\n  opacity: .7;\n}\nli.collection-list-item .resource-list-details .icon-close[data-v-8e58e0a5]:hover,\nli.collection-list-item .resource-list-details .icon-close[data-v-8e58e0a5]:focus {\n  opacity: 1;\n}\n.shouldshake[data-v-8e58e0a5] {\n  animation: shake-8e58e0a5 .6s 1 linear;\n}\n@keyframes shake-8e58e0a5 {\n  0% {\n    transform: translate(15px);\n  }\n  20% {\n    transform: translate(-15px);\n  }\n  40% {\n    transform: translate(7px);\n  }\n  60% {\n    transform: translate(-7px);\n  }\n  80% {\n    transform: translate(3px);\n  }\n  to {\n    transform: translate(0);\n  }\n}\n.collection-list *[data-v-75a4370b] {\n  box-sizing: border-box;\n}\n.collection-list > li[data-v-75a4370b] {\n  display: flex;\n  align-items: start;\n  gap: 12px;\n}\n.collection-list > li > .avatar[data-v-75a4370b] {\n  margin-top: auto;\n}\n#collection-select-container[data-v-75a4370b] {\n  display: flex;\n  flex-direction: column;\n}\n.v-select span.avatar[data-v-75a4370b] {\n  display: block;\n  padding: 16px;\n  opacity: .7;\n  background-repeat: no-repeat;\n  background-position: center;\n}\n.v-select span.avatar[data-v-75a4370b]:hover {\n  opacity: 1;\n}\np.hint[data-v-75a4370b] {\n  z-index: 1;\n  margin-top: -16px;\n  padding: 8px;\n  color: var(--color-text-maxcontrast);\n  line-height: normal;\n}\ndiv.avatar[data-v-75a4370b] {\n  width: 32px;\n  height: 32px;\n  margin: 30px 0 0;\n  padding: 8px;\n  background-color: var(--color-background-dark);\n}\n.icon-projects[data-v-75a4370b] {\n  display: block;\n  padding: 8px;\n  background-repeat: no-repeat;\n  background-position: center;\n}\n.option__wrapper[data-v-75a4370b] {\n  display: flex;\n}\n.option__wrapper .avatar[data-v-75a4370b] {\n  display: block;\n  background-color: var(--color-background-darker) !important;\n}\n.option__wrapper .option__title[data-v-75a4370b] {\n  padding: 4px;\n}\n.fade-enter-active[data-v-75a4370b],\n.fade-leave-active[data-v-75a4370b] {\n  transition: opacity .5s;\n}\n.fade-enter[data-v-75a4370b],\n.fade-leave-to[data-v-75a4370b] {\n  opacity: 0;\n}\n`, \"\",{\"version\":3,\"sources\":[\"webpack://./node_modules/nextcloud-vue-collections/dist/assets/index-Au1Gr_G6.css\"],\"names\":[],\"mappings\":\"AAAA;;EAEE,4BAA4B;AAC9B;AACA;;EAEE,UAAU;AACZ;AACA;EACE,aAAa;AACf;AACA;EACE,aAAa;EACb,YAAY;EACZ,cAAc;EACd,4BAA4B;EAC5B,2BAA2B;EAC3B,WAAW;AACb;AACA;EACE,UAAU;AACZ;AACA;EACE,aAAa;AACf;AACA;EACE,cAAc;AAChB;AACA;EACE,eAAe;EACf,YAAY;EACZ,eAAe;EACf,2BAA2B;AAC7B;AACA;EACE,eAAe;AACjB;AACA;;EAEE,eAAe;EACf,YAAY;EACZ,aAAa;AACf;AACA;EACE,iBAAiB;AACnB;AACA;EACE,eAAe;EACf,6CAA6C;AAC/C;AACA;EACE,YAAY;AACd;AACA;;EAEE,gBAAgB;EAChB,WAAW;AACb;AACA;EACE,aAAa;EACb,iBAAiB;EACjB,kBAAkB;EAClB,eAAe;AACjB;AACA;EACE,8CAA8C;AAChD;AACA;EACE,YAAY;EACZ,YAAY;EACZ,4BAA4B;EAC5B,aAAa;AACf;AACA;EACE,qBAAqB;EACrB,mBAAmB;EACnB,kBAAkB;AACpB;AACA;EACE,uBAAuB;EACvB,gBAAgB;EAChB,kBAAkB;EAClB,mBAAmB;EACnB,mBAAmB;EACnB,YAAY;EACZ,YAAY;AACd;AACA;EACE,WAAW;EACX,YAAY;AACd;AACA;EACE,WAAW;AACb;AACA;;EAEE,UAAU;AACZ;AACA;EACE,sCAAsC;AACxC;AACA;EACE;IACE,0BAA0B;EAC5B;EACA;IACE,2BAA2B;EAC7B;EACA;IACE,yBAAyB;EAC3B;EACA;IACE,0BAA0B;EAC5B;EACA;IACE,yBAAyB;EAC3B;EACA;IACE,uBAAuB;EACzB;AACF;AACA;EACE,sBAAsB;AACxB;AACA;EACE,aAAa;EACb,kBAAkB;EAClB,SAAS;AACX;AACA;EACE,gBAAgB;AAClB;AACA;EACE,aAAa;EACb,sBAAsB;AACxB;AACA;EACE,cAAc;EACd,aAAa;EACb,WAAW;EACX,4BAA4B;EAC5B,2BAA2B;AAC7B;AACA;EACE,UAAU;AACZ;AACA;EACE,UAAU;EACV,iBAAiB;EACjB,YAAY;EACZ,oCAAoC;EACpC,mBAAmB;AACrB;AACA;EACE,WAAW;EACX,YAAY;EACZ,gBAAgB;EAChB,YAAY;EACZ,8CAA8C;AAChD;AACA;EACE,cAAc;EACd,YAAY;EACZ,4BAA4B;EAC5B,2BAA2B;AAC7B;AACA;EACE,aAAa;AACf;AACA;EACE,cAAc;EACd,2DAA2D;AAC7D;AACA;EACE,YAAY;AACd;AACA;;EAEE,uBAAuB;AACzB;AACA;;EAEE,UAAU;AACZ\",\"sourcesContent\":[\".fade-enter-active[data-v-8e58e0a5],\\n.fade-leave-active[data-v-8e58e0a5] {\\n  transition: opacity .3s ease;\\n}\\n.fade-enter[data-v-8e58e0a5],\\n.fade-leave-to[data-v-8e58e0a5] {\\n  opacity: 0;\\n}\\n.linked-icons[data-v-8e58e0a5] {\\n  display: flex;\\n}\\n.linked-icons img[data-v-8e58e0a5] {\\n  padding: 12px;\\n  height: 44px;\\n  display: block;\\n  background-repeat: no-repeat;\\n  background-position: center;\\n  opacity: .7;\\n}\\n.linked-icons img[data-v-8e58e0a5]:hover {\\n  opacity: 1;\\n}\\n.popovermenu[data-v-8e58e0a5] {\\n  display: none;\\n}\\n.popovermenu.open[data-v-8e58e0a5] {\\n  display: block;\\n}\\nli.collection-list-item[data-v-8e58e0a5] {\\n  flex-wrap: wrap;\\n  height: auto;\\n  cursor: pointer;\\n  margin-bottom: 0 !important;\\n}\\nli.collection-list-item .collection-avatar[data-v-8e58e0a5] {\\n  margin-top: 6px;\\n}\\nli.collection-list-item form[data-v-8e58e0a5],\\nli.collection-list-item .collection-item-name[data-v-8e58e0a5] {\\n  flex-basis: 10%;\\n  flex-grow: 1;\\n  display: flex;\\n}\\nli.collection-list-item .collection-item-name[data-v-8e58e0a5] {\\n  padding: 12px 9px;\\n}\\nli.collection-list-item input[data-v-8e58e0a5] {\\n  margin-top: 4px;\\n  border-color: var(--color-border-maxcontrast);\\n}\\nli.collection-list-item input[type=text][data-v-8e58e0a5] {\\n  flex-grow: 1;\\n}\\nli.collection-list-item .error[data-v-8e58e0a5],\\nli.collection-list-item .resource-list-details[data-v-8e58e0a5] {\\n  flex-basis: 100%;\\n  width: 100%;\\n}\\nli.collection-list-item .resource-list-details li[data-v-8e58e0a5] {\\n  display: flex;\\n  margin-left: 44px;\\n  border-radius: 3px;\\n  cursor: pointer;\\n}\\nli.collection-list-item .resource-list-details li[data-v-8e58e0a5]:hover {\\n  background-color: var(--color-background-dark);\\n}\\nli.collection-list-item .resource-list-details li a[data-v-8e58e0a5] {\\n  flex-grow: 1;\\n  padding: 3px;\\n  max-width: calc(100% - 30px);\\n  display: flex;\\n}\\nli.collection-list-item .resource-list-details span[data-v-8e58e0a5] {\\n  display: inline-block;\\n  vertical-align: top;\\n  margin-right: 10px;\\n}\\nli.collection-list-item .resource-list-details span.resource-name[data-v-8e58e0a5] {\\n  text-overflow: ellipsis;\\n  overflow: hidden;\\n  position: relative;\\n  vertical-align: top;\\n  white-space: nowrap;\\n  flex-grow: 1;\\n  padding: 4px;\\n}\\nli.collection-list-item .resource-list-details img[data-v-8e58e0a5] {\\n  width: 24px;\\n  height: 24px;\\n}\\nli.collection-list-item .resource-list-details .icon-close[data-v-8e58e0a5] {\\n  opacity: .7;\\n}\\nli.collection-list-item .resource-list-details .icon-close[data-v-8e58e0a5]:hover,\\nli.collection-list-item .resource-list-details .icon-close[data-v-8e58e0a5]:focus {\\n  opacity: 1;\\n}\\n.shouldshake[data-v-8e58e0a5] {\\n  animation: shake-8e58e0a5 .6s 1 linear;\\n}\\n@keyframes shake-8e58e0a5 {\\n  0% {\\n    transform: translate(15px);\\n  }\\n  20% {\\n    transform: translate(-15px);\\n  }\\n  40% {\\n    transform: translate(7px);\\n  }\\n  60% {\\n    transform: translate(-7px);\\n  }\\n  80% {\\n    transform: translate(3px);\\n  }\\n  to {\\n    transform: translate(0);\\n  }\\n}\\n.collection-list *[data-v-75a4370b] {\\n  box-sizing: border-box;\\n}\\n.collection-list > li[data-v-75a4370b] {\\n  display: flex;\\n  align-items: start;\\n  gap: 12px;\\n}\\n.collection-list > li > .avatar[data-v-75a4370b] {\\n  margin-top: auto;\\n}\\n#collection-select-container[data-v-75a4370b] {\\n  display: flex;\\n  flex-direction: column;\\n}\\n.v-select span.avatar[data-v-75a4370b] {\\n  display: block;\\n  padding: 16px;\\n  opacity: .7;\\n  background-repeat: no-repeat;\\n  background-position: center;\\n}\\n.v-select span.avatar[data-v-75a4370b]:hover {\\n  opacity: 1;\\n}\\np.hint[data-v-75a4370b] {\\n  z-index: 1;\\n  margin-top: -16px;\\n  padding: 8px;\\n  color: var(--color-text-maxcontrast);\\n  line-height: normal;\\n}\\ndiv.avatar[data-v-75a4370b] {\\n  width: 32px;\\n  height: 32px;\\n  margin: 30px 0 0;\\n  padding: 8px;\\n  background-color: var(--color-background-dark);\\n}\\n.icon-projects[data-v-75a4370b] {\\n  display: block;\\n  padding: 8px;\\n  background-repeat: no-repeat;\\n  background-position: center;\\n}\\n.option__wrapper[data-v-75a4370b] {\\n  display: flex;\\n}\\n.option__wrapper .avatar[data-v-75a4370b] {\\n  display: block;\\n  background-color: var(--color-background-darker) !important;\\n}\\n.option__wrapper .option__title[data-v-75a4370b] {\\n  padding: 4px;\\n}\\n.fade-enter-active[data-v-75a4370b],\\n.fade-leave-active[data-v-75a4370b] {\\n  transition: opacity .5s;\\n}\\n.fade-enter[data-v-75a4370b],\\n.fade-leave-to[data-v-75a4370b] {\\n  opacity: 0;\\n}\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `.sharing-entry[data-v-79edc2ff]{display:flex;align-items:center;height:44px}.sharing-entry__summary[data-v-79edc2ff]{padding:8px;padding-left:10px;display:flex;flex-direction:column;justify-content:center;align-items:flex-start;flex:1 0;min-width:0}.sharing-entry__summary__desc[data-v-79edc2ff]{display:inline-block;padding-bottom:0;line-height:1.2em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sharing-entry__summary__desc p[data-v-79edc2ff],.sharing-entry__summary__desc small[data-v-79edc2ff]{color:var(--color-text-maxcontrast)}.sharing-entry__summary__desc-unique[data-v-79edc2ff]{color:var(--color-text-maxcontrast)}`, \"\",{\"version\":3,\"sources\":[\"webpack://./apps/files_sharing/src/components/SharingEntry.vue\"],\"names\":[],\"mappings\":\"AACA,gCACC,YAAA,CACA,kBAAA,CACA,WAAA,CACA,yCACC,WAAA,CACA,iBAAA,CACA,YAAA,CACA,qBAAA,CACA,sBAAA,CACA,sBAAA,CACA,QAAA,CACA,WAAA,CAEA,+CACC,oBAAA,CACA,gBAAA,CACA,iBAAA,CACA,kBAAA,CACA,eAAA,CACA,sBAAA,CAEA,sGAEC,mCAAA,CAGD,sDACC,mCAAA\",\"sourcesContent\":[\"\\n.sharing-entry {\\n\\tdisplay: flex;\\n\\talign-items: center;\\n\\theight: 44px;\\n\\t&__summary {\\n\\t\\tpadding: 8px;\\n\\t\\tpadding-left: 10px;\\n\\t\\tdisplay: flex;\\n\\t\\tflex-direction: column;\\n\\t\\tjustify-content: center;\\n\\t\\talign-items: flex-start;\\n\\t\\tflex: 1 0;\\n\\t\\tmin-width: 0;\\n\\n\\t\\t&__desc {\\n\\t\\t\\tdisplay: inline-block;\\n\\t\\t\\tpadding-bottom: 0;\\n\\t\\t\\tline-height: 1.2em;\\n\\t\\t\\twhite-space: nowrap;\\n\\t\\t\\toverflow: hidden;\\n\\t\\t\\ttext-overflow: ellipsis;\\n\\n\\t\\t\\tp,\\n\\t\\t\\tsmall {\\n\\t\\t\\t\\tcolor: var(--color-text-maxcontrast);\\n\\t\\t\\t}\\n\\n\\t\\t\\t&-unique {\\n\\t\\t\\t\\tcolor: var(--color-text-maxcontrast);\\n\\t\\t\\t}\\n\\t\\t}\\n\\t}\\n\\n}\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `.sharing-entry[data-v-283ca89e]{display:flex;align-items:center;height:44px}.sharing-entry__desc[data-v-283ca89e]{display:flex;flex-direction:column;justify-content:space-between;padding:8px;padding-left:10px;line-height:1.2em}.sharing-entry__desc p[data-v-283ca89e]{color:var(--color-text-maxcontrast)}.sharing-entry__actions[data-v-283ca89e]{margin-left:auto}`, \"\",{\"version\":3,\"sources\":[\"webpack://./apps/files_sharing/src/components/SharingEntryInherited.vue\"],\"names\":[],\"mappings\":\"AACA,gCACC,YAAA,CACA,kBAAA,CACA,WAAA,CACA,sCACC,YAAA,CACA,qBAAA,CACA,6BAAA,CACA,WAAA,CACA,iBAAA,CACA,iBAAA,CACA,wCACC,mCAAA,CAGF,yCACC,gBAAA\",\"sourcesContent\":[\"\\n.sharing-entry {\\n\\tdisplay: flex;\\n\\talign-items: center;\\n\\theight: 44px;\\n\\t&__desc {\\n\\t\\tdisplay: flex;\\n\\t\\tflex-direction: column;\\n\\t\\tjustify-content: space-between;\\n\\t\\tpadding: 8px;\\n\\t\\tpadding-left: 10px;\\n\\t\\tline-height: 1.2em;\\n\\t\\tp {\\n\\t\\t\\tcolor: var(--color-text-maxcontrast);\\n\\t\\t}\\n\\t}\\n\\t&__actions {\\n\\t\\tmargin-left: auto;\\n\\t}\\n}\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `.sharing-entry__internal .avatar-external[data-v-e40cd936]{width:32px;height:32px;line-height:32px;font-size:18px;background-color:var(--color-text-maxcontrast);border-radius:50%;flex-shrink:0}.sharing-entry__internal .icon-checkmark-color[data-v-e40cd936]{opacity:1;color:var(--color-success)}`, \"\",{\"version\":3,\"sources\":[\"webpack://./apps/files_sharing/src/components/SharingEntryInternal.vue\"],\"names\":[],\"mappings\":\"AAEC,2DACC,UAAA,CACA,WAAA,CACA,gBAAA,CACA,cAAA,CACA,8CAAA,CACA,iBAAA,CACA,aAAA,CAED,gEACC,SAAA,CACA,0BAAA\",\"sourcesContent\":[\"\\n.sharing-entry__internal {\\n\\t.avatar-external {\\n\\t\\twidth: 32px;\\n\\t\\theight: 32px;\\n\\t\\tline-height: 32px;\\n\\t\\tfont-size: 18px;\\n\\t\\tbackground-color: var(--color-text-maxcontrast);\\n\\t\\tborder-radius: 50%;\\n\\t\\tflex-shrink: 0;\\n\\t}\\n\\t.icon-checkmark-color {\\n\\t\\topacity: 1;\\n\\t\\tcolor: var(--color-success);\\n\\t}\\n}\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `.sharing-entry[data-v-1ac70a9b]{display:flex;align-items:center;min-height:44px}.sharing-entry__summary[data-v-1ac70a9b]{padding:8px;padding-left:10px;display:flex;justify-content:space-between;flex:1 0;min-width:0}.sharing-entry__desc[data-v-1ac70a9b]{display:flex;flex-direction:column;line-height:1.2em}.sharing-entry__desc p[data-v-1ac70a9b]{color:var(--color-text-maxcontrast)}.sharing-entry__desc__title[data-v-1ac70a9b]{text-overflow:ellipsis;overflow:hidden;white-space:nowrap}.sharing-entry:not(.sharing-entry--share) .sharing-entry__actions .new-share-link[data-v-1ac70a9b]{border-top:1px solid var(--color-border)}.sharing-entry[data-v-1ac70a9b] .avatar-link-share{background-color:var(--color-primary-element)}.sharing-entry .sharing-entry__action--public-upload[data-v-1ac70a9b]{border-bottom:1px solid var(--color-border)}.sharing-entry__loading[data-v-1ac70a9b]{width:44px;height:44px;margin:0;padding:14px;margin-left:auto}.sharing-entry .action-item~.action-item[data-v-1ac70a9b],.sharing-entry .action-item~.sharing-entry__loading[data-v-1ac70a9b]{margin-left:0}.sharing-entry .icon-checkmark-color[data-v-1ac70a9b]{opacity:1;color:var(--color-success)}.qr-code-dialog[data-v-1ac70a9b]{display:flex;width:100%;justify-content:center}.qr-code-dialog__img[data-v-1ac70a9b]{width:100%;height:auto}`, \"\",{\"version\":3,\"sources\":[\"webpack://./apps/files_sharing/src/components/SharingEntryLink.vue\"],\"names\":[],\"mappings\":\"AACA,gCACC,YAAA,CACA,kBAAA,CACA,eAAA,CAEA,yCACC,WAAA,CACA,iBAAA,CACA,YAAA,CACA,6BAAA,CACA,QAAA,CACA,WAAA,CAGD,sCACC,YAAA,CACA,qBAAA,CACA,iBAAA,CAEA,wCACC,mCAAA,CAGD,6CACC,sBAAA,CACA,eAAA,CACA,kBAAA,CASD,mGACC,wCAAA,CAIF,mDACC,6CAAA,CAGD,sEACC,2CAAA,CAGD,yCACC,UAAA,CACA,WAAA,CACA,QAAA,CACA,YAAA,CACA,gBAAA,CAOA,+HAEC,aAAA,CAIF,sDACC,SAAA,CACA,0BAAA,CAKF,iCACC,YAAA,CACA,UAAA,CACA,sBAAA,CAEA,sCACC,UAAA,CACA,WAAA\",\"sourcesContent\":[\"\\n.sharing-entry {\\n\\tdisplay: flex;\\n\\talign-items: center;\\n\\tmin-height: 44px;\\n\\n\\t&__summary {\\n\\t\\tpadding: 8px;\\n\\t\\tpadding-left: 10px;\\n\\t\\tdisplay: flex;\\n\\t\\tjustify-content: space-between;\\n\\t\\tflex: 1 0;\\n\\t\\tmin-width: 0;\\n\\t}\\n\\n\\t&__desc {\\n\\t\\tdisplay: flex;\\n\\t\\tflex-direction: column;\\n\\t\\tline-height: 1.2em;\\n\\n\\t\\tp {\\n\\t\\t\\tcolor: var(--color-text-maxcontrast);\\n\\t\\t}\\n\\n\\t\\t&__title {\\n\\t\\t\\ttext-overflow: ellipsis;\\n\\t\\t\\toverflow: hidden;\\n\\t\\t\\twhite-space: nowrap;\\n\\t\\t}\\n\\t}\\n\\n\\t&__copy {\\n\\n\\t}\\n\\n\\t&:not(.sharing-entry--share) &__actions {\\n\\t\\t.new-share-link {\\n\\t\\t\\tborder-top: 1px solid var(--color-border);\\n\\t\\t}\\n\\t}\\n\\n\\t::v-deep .avatar-link-share {\\n\\t\\tbackground-color: var(--color-primary-element);\\n\\t}\\n\\n\\t.sharing-entry__action--public-upload {\\n\\t\\tborder-bottom: 1px solid var(--color-border);\\n\\t}\\n\\n\\t&__loading {\\n\\t\\twidth: 44px;\\n\\t\\theight: 44px;\\n\\t\\tmargin: 0;\\n\\t\\tpadding: 14px;\\n\\t\\tmargin-left: auto;\\n\\t}\\n\\n\\t// put menus to the left\\n\\t// but only the first one\\n\\t.action-item {\\n\\n\\t\\t~.action-item,\\n\\t\\t~.sharing-entry__loading {\\n\\t\\t\\tmargin-left: 0;\\n\\t\\t}\\n\\t}\\n\\n\\t.icon-checkmark-color {\\n\\t\\topacity: 1;\\n\\t\\tcolor: var(--color-success);\\n\\t}\\n}\\n\\n// styling for the qr-code container\\n.qr-code-dialog {\\n\\tdisplay: flex;\\n\\twidth: 100%;\\n\\tjustify-content: center;\\n\\n\\t&__img {\\n\\t\\twidth: 100%;\\n\\t\\theight: auto;\\n\\t}\\n}\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `.share-select[data-v-6e5dd9f1]{display:block}.share-select[data-v-6e5dd9f1] .action-item__menutoggle{color:var(--color-primary-element) !important;font-size:12.5px !important;height:auto !important;min-height:auto !important}.share-select[data-v-6e5dd9f1] .action-item__menutoggle .button-vue__text{font-weight:normal !important}.share-select[data-v-6e5dd9f1] .action-item__menutoggle .button-vue__icon{height:24px !important;min-height:24px !important;width:24px !important;min-width:24px !important}.share-select[data-v-6e5dd9f1] .action-item__menutoggle .button-vue__wrapper{flex-direction:row-reverse !important}`, \"\",{\"version\":3,\"sources\":[\"webpack://./apps/files_sharing/src/components/SharingEntryQuickShareSelect.vue\"],\"names\":[],\"mappings\":\"AACA,+BACC,aAAA,CAIA,wDACC,6CAAA,CACA,2BAAA,CACA,sBAAA,CACA,0BAAA,CAEA,0EACC,6BAAA,CAGD,0EACC,sBAAA,CACA,0BAAA,CACA,qBAAA,CACA,yBAAA,CAGD,6EAEC,qCAAA\",\"sourcesContent\":[\"\\n.share-select {\\n\\tdisplay: block;\\n\\n\\t// TODO: NcActions should have a slot for custom trigger button like NcPopover\\n\\t// Overrider NcActionms button to make it small\\n\\t:deep(.action-item__menutoggle) {\\n\\t\\tcolor: var(--color-primary-element) !important;\\n\\t\\tfont-size: 12.5px !important;\\n\\t\\theight: auto !important;\\n\\t\\tmin-height: auto !important;\\n\\n\\t\\t.button-vue__text {\\n\\t\\t\\tfont-weight: normal !important;\\n\\t\\t}\\n\\n\\t\\t.button-vue__icon {\\n\\t\\t\\theight: 24px !important;\\n\\t\\t\\tmin-height: 24px !important;\\n\\t\\t\\twidth: 24px !important;\\n\\t\\t\\tmin-width: 24px !important;\\n\\t\\t}\\n\\n\\t\\t.button-vue__wrapper {\\n\\t\\t\\t// Emulate NcButton's alignment=center-reverse\\n\\t\\t\\tflex-direction: row-reverse !important;\\n\\t\\t}\\n\\t}\\n}\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `.sharing-entry[data-v-1852ea78]{display:flex;align-items:center;min-height:44px}.sharing-entry__desc[data-v-1852ea78]{padding:8px;padding-left:10px;line-height:1.2em;position:relative;flex:1 1;min-width:0}.sharing-entry__desc p[data-v-1852ea78]{color:var(--color-text-maxcontrast)}.sharing-entry__title[data-v-1852ea78]{white-space:nowrap;text-overflow:ellipsis;overflow:hidden;max-width:inherit}.sharing-entry__actions[data-v-1852ea78]{margin-left:auto !important}`, \"\",{\"version\":3,\"sources\":[\"webpack://./apps/files_sharing/src/components/SharingEntrySimple.vue\"],\"names\":[],\"mappings\":\"AACA,gCACC,YAAA,CACA,kBAAA,CACA,eAAA,CACA,sCACC,WAAA,CACA,iBAAA,CACA,iBAAA,CACA,iBAAA,CACA,QAAA,CACA,WAAA,CACA,wCACC,mCAAA,CAGF,uCACC,kBAAA,CACA,sBAAA,CACA,eAAA,CACA,iBAAA,CAED,yCACC,2BAAA\",\"sourcesContent\":[\"\\n.sharing-entry {\\n\\tdisplay: flex;\\n\\talign-items: center;\\n\\tmin-height: 44px;\\n\\t&__desc {\\n\\t\\tpadding: 8px;\\n\\t\\tpadding-left: 10px;\\n\\t\\tline-height: 1.2em;\\n\\t\\tposition: relative;\\n\\t\\tflex: 1 1;\\n\\t\\tmin-width: 0;\\n\\t\\tp {\\n\\t\\t\\tcolor: var(--color-text-maxcontrast);\\n\\t\\t}\\n\\t}\\n\\t&__title {\\n\\t\\twhite-space: nowrap;\\n\\t\\ttext-overflow: ellipsis;\\n\\t\\toverflow: hidden;\\n\\t\\tmax-width: inherit;\\n\\t}\\n\\t&__actions {\\n\\t\\tmargin-left: auto !important;\\n\\t}\\n}\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `.sharing-search{display:flex;flex-direction:column;margin-bottom:4px}.sharing-search label[for=sharing-search-input]{margin-bottom:2px}.sharing-search__input{width:100%;margin:10px 0}.vs__dropdown-menu span[lookup] .avatardiv{background-image:var(--icon-search-white);background-repeat:no-repeat;background-position:center;background-color:var(--color-text-maxcontrast) !important}.vs__dropdown-menu span[lookup] .avatardiv .avatardiv__initials-wrapper{display:none}`, \"\",{\"version\":3,\"sources\":[\"webpack://./apps/files_sharing/src/components/SharingInput.vue\"],\"names\":[],\"mappings\":\"AACA,gBACC,YAAA,CACA,qBAAA,CACA,iBAAA,CAEA,gDACC,iBAAA,CAGD,uBACC,UAAA,CACA,aAAA,CAOA,2CACC,yCAAA,CACA,2BAAA,CACA,0BAAA,CACA,yDAAA,CACA,wEACC,YAAA\",\"sourcesContent\":[\"\\n.sharing-search {\\n\\tdisplay: flex;\\n\\tflex-direction: column;\\n\\tmargin-bottom: 4px;\\n\\n\\tlabel[for=\\\"sharing-search-input\\\"] {\\n\\t\\tmargin-bottom: 2px;\\n\\t}\\n\\n\\t&__input {\\n\\t\\twidth: 100%;\\n\\t\\tmargin: 10px 0;\\n\\t}\\n}\\n\\n.vs__dropdown-menu {\\n\\t// properly style the lookup entry\\n\\tspan[lookup] {\\n\\t\\t.avatardiv {\\n\\t\\t\\tbackground-image: var(--icon-search-white);\\n\\t\\t\\tbackground-repeat: no-repeat;\\n\\t\\t\\tbackground-position: center;\\n\\t\\t\\tbackground-color: var(--color-text-maxcontrast) !important;\\n\\t\\t\\t.avatardiv__initials-wrapper {\\n\\t\\t\\t\\tdisplay: none;\\n\\t\\t\\t}\\n\\t\\t}\\n\\t}\\n}\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `.sharingTabDetailsView[data-v-939d3a94]{display:flex;flex-direction:column;width:100%;margin:0 auto;position:relative;height:100%;overflow:hidden}.sharingTabDetailsView__header[data-v-939d3a94]{display:flex;align-items:center;box-sizing:border-box;margin:.2em}.sharingTabDetailsView__header span[data-v-939d3a94]{display:flex;align-items:center}.sharingTabDetailsView__header span h1[data-v-939d3a94]{font-size:15px;padding-left:.3em}.sharingTabDetailsView__wrapper[data-v-939d3a94]{position:relative;overflow:scroll;flex-shrink:1;padding:4px;padding-right:12px}.sharingTabDetailsView__quick-permissions[data-v-939d3a94]{display:flex;justify-content:center;width:100%;margin:0 auto;border-radius:0}.sharingTabDetailsView__quick-permissions div[data-v-939d3a94]{width:100%}.sharingTabDetailsView__quick-permissions div span[data-v-939d3a94]{width:100%}.sharingTabDetailsView__quick-permissions div span span[data-v-939d3a94]:nth-child(1){align-items:center;justify-content:center;padding:.1em}.sharingTabDetailsView__quick-permissions div span[data-v-939d3a94] label span{display:flex;flex-direction:column}.sharingTabDetailsView__quick-permissions div span[data-v-939d3a94] span.checkbox-content__text.checkbox-radio-switch__text{flex-wrap:wrap}.sharingTabDetailsView__quick-permissions div span[data-v-939d3a94] span.checkbox-content__text.checkbox-radio-switch__text .subline{display:block;flex-basis:100%}.sharingTabDetailsView__advanced-control[data-v-939d3a94]{width:100%}.sharingTabDetailsView__advanced-control button[data-v-939d3a94]{margin-top:.5em}.sharingTabDetailsView__advanced[data-v-939d3a94]{width:100%;margin-bottom:.5em;text-align:left;padding-left:0}.sharingTabDetailsView__advanced section textarea[data-v-939d3a94],.sharingTabDetailsView__advanced section div.mx-datepicker[data-v-939d3a94]{width:100%}.sharingTabDetailsView__advanced section textarea[data-v-939d3a94]{height:80px;margin:0}.sharingTabDetailsView__advanced section span[data-v-939d3a94] label{padding-left:0 !important;background-color:initial !important;border:none !important}.sharingTabDetailsView__advanced section section.custom-permissions-group[data-v-939d3a94]{padding-left:1.5em}.sharingTabDetailsView__delete>button[data-v-939d3a94]:first-child{color:#df0707}.sharingTabDetailsView__footer[data-v-939d3a94]{width:100%;display:flex;position:sticky;bottom:0;flex-direction:column;justify-content:space-between;align-items:flex-start;background:linear-gradient(to bottom, rgba(255, 255, 255, 0), var(--color-main-background))}.sharingTabDetailsView__footer .button-group[data-v-939d3a94]{display:flex;justify-content:space-between;width:100%;margin-top:16px}.sharingTabDetailsView__footer .button-group button[data-v-939d3a94]{margin-left:16px}.sharingTabDetailsView__footer .button-group button[data-v-939d3a94]:first-child{margin-left:0}`, \"\",{\"version\":3,\"sources\":[\"webpack://./apps/files_sharing/src/views/SharingDetailsTab.vue\"],\"names\":[],\"mappings\":\"AACA,wCACC,YAAA,CACA,qBAAA,CACA,UAAA,CACA,aAAA,CACA,iBAAA,CACA,WAAA,CACA,eAAA,CAEA,gDACC,YAAA,CACA,kBAAA,CACA,qBAAA,CACA,WAAA,CAEA,qDACC,YAAA,CACA,kBAAA,CAEA,wDACC,cAAA,CACA,iBAAA,CAMH,iDACC,iBAAA,CACA,eAAA,CACA,aAAA,CACA,WAAA,CACA,kBAAA,CAGD,2DACC,YAAA,CACA,sBAAA,CACA,UAAA,CACA,aAAA,CACA,eAAA,CAEA,+DACC,UAAA,CAEA,oEACC,UAAA,CAEA,sFACC,kBAAA,CACA,sBAAA,CACA,YAAA,CAKA,+EACC,YAAA,CACA,qBAAA,CAKF,4HACC,cAAA,CAEA,qIACC,aAAA,CACA,eAAA,CAQL,0DACC,UAAA,CAEA,iEACC,eAAA,CAKF,kDACC,UAAA,CACA,kBAAA,CACA,eAAA,CACA,cAAA,CAIC,+IAEC,UAAA,CAGD,mEACC,WAAA,CACA,QAAA,CAaA,qEACC,yBAAA,CACA,mCAAA,CACA,sBAAA,CAIF,2FACC,kBAAA,CAMF,mEACC,aAAA,CAIF,gDACC,UAAA,CACA,YAAA,CACA,eAAA,CACA,QAAA,CACA,qBAAA,CACA,6BAAA,CACA,sBAAA,CACA,2FAAA,CAEA,8DACC,YAAA,CACA,6BAAA,CACA,UAAA,CACA,eAAA,CAEA,qEACC,gBAAA,CAEA,iFACC,aAAA\",\"sourcesContent\":[\"\\n.sharingTabDetailsView {\\n\\tdisplay: flex;\\n\\tflex-direction: column;\\n\\twidth: 100%;\\n\\tmargin: 0 auto;\\n\\tposition: relative;\\n\\theight: 100%;\\n\\toverflow: hidden;\\n\\n\\t&__header {\\n\\t\\tdisplay: flex;\\n\\t\\talign-items: center;\\n\\t\\tbox-sizing: border-box;\\n\\t\\tmargin: 0.2em;\\n\\n\\t\\tspan {\\n\\t\\t\\tdisplay: flex;\\n\\t\\t\\talign-items: center;\\n\\n\\t\\t\\th1 {\\n\\t\\t\\t\\tfont-size: 15px;\\n\\t\\t\\t\\tpadding-left: 0.3em;\\n\\t\\t\\t}\\n\\n\\t\\t}\\n\\t}\\n\\n\\t&__wrapper {\\n\\t\\tposition: relative;\\n\\t\\toverflow: scroll;\\n\\t\\tflex-shrink: 1;\\n\\t\\tpadding: 4px;\\n\\t\\tpadding-right: 12px;\\n\\t}\\n\\n\\t&__quick-permissions {\\n\\t\\tdisplay: flex;\\n\\t\\tjustify-content: center;\\n\\t\\twidth: 100%;\\n\\t\\tmargin: 0 auto;\\n\\t\\tborder-radius: 0;\\n\\n\\t\\tdiv {\\n\\t\\t\\twidth: 100%;\\n\\n\\t\\t\\tspan {\\n\\t\\t\\t\\twidth: 100%;\\n\\n\\t\\t\\t\\tspan:nth-child(1) {\\n\\t\\t\\t\\t\\talign-items: center;\\n\\t\\t\\t\\t\\tjustify-content: center;\\n\\t\\t\\t\\t\\tpadding: 0.1em;\\n\\t\\t\\t\\t}\\n\\n\\t\\t\\t\\t::v-deep label {\\n\\n\\t\\t\\t\\t\\tspan {\\n\\t\\t\\t\\t\\t\\tdisplay: flex;\\n\\t\\t\\t\\t\\t\\tflex-direction: column;\\n\\t\\t\\t\\t\\t}\\n\\t\\t\\t\\t}\\n\\n\\t\\t\\t\\t/* Target component based style in NcCheckboxRadioSwitch slot content*/\\n\\t\\t\\t\\t:deep(span.checkbox-content__text.checkbox-radio-switch__text) {\\n\\t\\t\\t\\t\\tflex-wrap: wrap;\\n\\n\\t\\t\\t\\t\\t.subline {\\n\\t\\t\\t\\t\\t\\tdisplay: block;\\n\\t\\t\\t\\t\\t\\tflex-basis: 100%;\\n\\t\\t\\t\\t\\t}\\n\\t\\t\\t\\t}\\n\\t\\t\\t}\\n\\n\\t\\t}\\n\\t}\\n\\n\\t&__advanced-control {\\n\\t\\twidth: 100%;\\n\\n\\t\\tbutton {\\n\\t\\t\\tmargin-top: 0.5em;\\n\\t\\t}\\n\\n\\t}\\n\\n\\t&__advanced {\\n\\t\\twidth: 100%;\\n\\t\\tmargin-bottom: 0.5em;\\n\\t\\ttext-align: left;\\n\\t\\tpadding-left: 0;\\n\\n\\t\\tsection {\\n\\n\\t\\t\\ttextarea,\\n\\t\\t\\tdiv.mx-datepicker {\\n\\t\\t\\t\\twidth: 100%;\\n\\t\\t\\t}\\n\\n\\t\\t\\ttextarea {\\n\\t\\t\\t\\theight: 80px;\\n\\t\\t\\t\\tmargin: 0;\\n\\t\\t\\t}\\n\\n\\t\\t\\t/*\\n              The following style is applied out of the component's scope\\n              to remove padding from the label.checkbox-radio-switch__label,\\n              which is used to group radio checkbox items. The use of ::v-deep\\n              ensures that the padding is modified without being affected by\\n              the component's scoping.\\n              Without this achieving left alignment for the checkboxes would not\\n              be possible.\\n            */\\n\\t\\t\\tspan {\\n\\t\\t\\t\\t::v-deep label {\\n\\t\\t\\t\\t\\tpadding-left: 0 !important;\\n\\t\\t\\t\\t\\tbackground-color: initial !important;\\n\\t\\t\\t\\t\\tborder: none !important;\\n\\t\\t\\t\\t}\\n\\t\\t\\t}\\n\\n\\t\\t\\tsection.custom-permissions-group {\\n\\t\\t\\t\\tpadding-left: 1.5em;\\n\\t\\t\\t}\\n\\t\\t}\\n\\t}\\n\\n\\t&__delete {\\n\\t\\t>button:first-child {\\n\\t\\t\\tcolor: rgb(223, 7, 7);\\n\\t\\t}\\n\\t}\\n\\n\\t&__footer {\\n\\t\\twidth: 100%;\\n\\t\\tdisplay: flex;\\n\\t\\tposition: sticky;\\n\\t\\tbottom: 0;\\n\\t\\tflex-direction: column;\\n\\t\\tjustify-content: space-between;\\n\\t\\talign-items: flex-start;\\n\\t\\tbackground: linear-gradient(to bottom, rgba(255, 255, 255, 0), var(--color-main-background));\\n\\n\\t\\t.button-group {\\n\\t\\t\\tdisplay: flex;\\n\\t\\t\\tjustify-content: space-between;\\n\\t\\t\\twidth: 100%;\\n\\t\\t\\tmargin-top: 16px;\\n\\n\\t\\t\\tbutton {\\n\\t\\t\\t\\tmargin-left: 16px;\\n\\n\\t\\t\\t\\t&:first-child {\\n\\t\\t\\t\\t\\tmargin-left: 0;\\n\\t\\t\\t\\t}\\n\\t\\t\\t}\\n\\t\\t}\\n\\t}\\n}\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `.sharing-entry__inherited .avatar-shared[data-v-50f9af8c]{width:32px;height:32px;line-height:32px;font-size:18px;background-color:var(--color-text-maxcontrast);border-radius:50%;flex-shrink:0}`, \"\",{\"version\":3,\"sources\":[\"webpack://./apps/files_sharing/src/views/SharingInherited.vue\"],\"names\":[],\"mappings\":\"AAEC,0DACC,UAAA,CACA,WAAA,CACA,gBAAA,CACA,cAAA,CACA,8CAAA,CACA,iBAAA,CACA,aAAA\",\"sourcesContent\":[\"\\n.sharing-entry__inherited {\\n\\t.avatar-shared {\\n\\t\\twidth: 32px;\\n\\t\\theight: 32px;\\n\\t\\tline-height: 32px;\\n\\t\\tfont-size: 18px;\\n\\t\\tbackground-color: var(--color-text-maxcontrast);\\n\\t\\tborder-radius: 50%;\\n\\t\\tflex-shrink: 0;\\n\\t}\\n}\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `.emptyContentWithSections[data-v-a65c443a]{margin:1rem auto}.sharingTab[data-v-a65c443a]{position:relative;height:100%}.sharingTab__content[data-v-a65c443a]{padding:0 6px}.sharingTab__additionalContent[data-v-a65c443a]{margin:44px 0}`, \"\",{\"version\":3,\"sources\":[\"webpack://./apps/files_sharing/src/views/SharingTab.vue\"],\"names\":[],\"mappings\":\"AACA,2CACC,gBAAA,CAGD,6BACC,iBAAA,CACA,WAAA,CAEA,sCACC,aAAA,CAGD,gDACC,aAAA\",\"sourcesContent\":[\"\\n.emptyContentWithSections {\\n\\tmargin: 1rem auto;\\n}\\n\\n.sharingTab {\\n\\tposition: relative;\\n\\theight: 100%;\\n\\n\\t&__content {\\n\\t\\tpadding: 0 6px;\\n\\t}\\n\\n\\t&__additionalContent {\\n\\t\\tmargin: 44px 0;\\n\\t}\\n}\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n  value: true\n});\nexports.generateUrl = exports.generateRemoteUrl = exports.generateOcsUrl = exports.generateFilePath = void 0;\nexports.getAppRootUrl = getAppRootUrl;\nexports.getRootUrl = getRootUrl;\nexports.linkTo = exports.imagePath = void 0;\nrequire(\"core-js/modules/es.string.replace.js\");\n/**\n * Get an url with webroot to a file in an app\n *\n * @param {string} app the id of the app the file belongs to\n * @param {string} file the file path relative to the app folder\n * @return {string} URL with webroot to a file\n */\nconst linkTo = (app, file) => generateFilePath(app, '', file);\n\n/**\n * Creates a relative url for remote use\n *\n * @param {string} service id\n * @return {string} the url\n */\nexports.linkTo = linkTo;\nconst linkToRemoteBase = service => getRootUrl() + '/remote.php/' + service;\n\n/**\n * @brief Creates an absolute url for remote use\n * @param {string} service id\n * @return {string} the url\n */\nconst generateRemoteUrl = service => window.location.protocol + '//' + window.location.host + linkToRemoteBase(service);\n\n/**\n * Get the base path for the given OCS API service\n *\n * @param {string} url OCS API service url\n * @param {object} params parameters to be replaced into the service url\n * @param {UrlOptions} options options for the parameter replacement\n * @param {boolean} options.escape Set to false if parameters should not be URL encoded (default true)\n * @param {Number} options.ocsVersion OCS version to use (defaults to 2)\n * @return {string} Absolute path for the OCS URL\n */\nexports.generateRemoteUrl = generateRemoteUrl;\nconst generateOcsUrl = (url, params, options) => {\n  const allOptions = Object.assign({\n    ocsVersion: 2\n  }, options || {});\n  const version = allOptions.ocsVersion === 1 ? 1 : 2;\n  return window.location.protocol + '//' + window.location.host + getRootUrl() + '/ocs/v' + version + '.php' + _generateUrlPath(url, params, options);\n};\nexports.generateOcsUrl = generateOcsUrl;\n/**\n * Generate a url path, which can contain parameters\n *\n * Parameters will be URL encoded automatically\n *\n * @param {string} url address (can contain placeholders e.g. /call/{token} would replace {token} with the value of params.token\n * @param {object} params parameters to be replaced into the address\n * @param {UrlOptions} options options for the parameter replacement\n * @return {string} Path part for the given URL\n */\nconst _generateUrlPath = (url, params, options) => {\n  const allOptions = Object.assign({\n    escape: true\n  }, options || {});\n  const _build = function (text, vars) {\n    vars = vars || {};\n    return text.replace(/{([^{}]*)}/g, function (a, b) {\n      var r = vars[b];\n      if (allOptions.escape) {\n        return typeof r === 'string' || typeof r === 'number' ? encodeURIComponent(r.toString()) : encodeURIComponent(a);\n      } else {\n        return typeof r === 'string' || typeof r === 'number' ? r.toString() : a;\n      }\n    });\n  };\n  if (url.charAt(0) !== '/') {\n    url = '/' + url;\n  }\n  return _build(url, params || {});\n};\n\n/**\n * Generate the url with webroot for the given relative url, which can contain parameters\n *\n * Parameters will be URL encoded automatically\n *\n * @param {string} url address (can contain placeholders e.g. /call/{token} would replace {token} with the value of params.token\n * @param {object} params parameters to be replaced into the url\n * @param {UrlOptions} options options for the parameter replacement\n * @param {boolean} options.noRewrite True if you want to force index.php being added\n * @param {boolean} options.escape Set to false if parameters should not be URL encoded (default true)\n * @return {string} URL with webroot for the given relative URL\n */\nconst generateUrl = (url, params, options) => {\n  var _window;\n  const allOptions = Object.assign({\n    noRewrite: false\n  }, options || {});\n  if (((_window = window) === null || _window === void 0 || (_window = _window.OC) === null || _window === void 0 || (_window = _window.config) === null || _window === void 0 ? void 0 : _window.modRewriteWorking) === true && !allOptions.noRewrite) {\n    return getRootUrl() + _generateUrlPath(url, params, options);\n  }\n  return getRootUrl() + '/index.php' + _generateUrlPath(url, params, options);\n};\n\n/**\n * Get the path with webroot to an image file\n * if no extension is given for the image, it will automatically decide\n * between .png and .svg based on what the browser supports\n *\n * @param {string} app the app id to which the image belongs\n * @param {string} file the name of the image file\n * @return {string}\n */\nexports.generateUrl = generateUrl;\nconst imagePath = (app, file) => {\n  if (file.indexOf('.') === -1) {\n    //if no extension is given, use svg\n    return generateFilePath(app, 'img', file + '.svg');\n  }\n  return generateFilePath(app, 'img', file);\n};\n\n/**\n * Get the url with webroot for a file in an app\n *\n * @param {string} app the id of the app\n * @param {string} type the type of the file to link to (e.g. css,img,ajax.template)\n * @param {string} file the filename\n * @return {string} URL with webroot for a file in an app\n */\nexports.imagePath = imagePath;\nconst generateFilePath = (app, type, file) => {\n  var _window2;\n  const isCore = ((_window2 = window) === null || _window2 === void 0 || (_window2 = _window2.OC) === null || _window2 === void 0 || (_window2 = _window2.coreApps) === null || _window2 === void 0 ? void 0 : _window2.indexOf(app)) !== -1;\n  let link = getRootUrl();\n  if (file.substring(file.length - 3) === 'php' && !isCore) {\n    link += '/index.php/apps/' + app;\n    if (file !== 'index.php') {\n      link += '/';\n      if (type) {\n        link += encodeURI(type + '/');\n      }\n      link += file;\n    }\n  } else if (file.substring(file.length - 3) !== 'php' && !isCore) {\n    link = getAppRootUrl(app);\n    if (type) {\n      link += '/' + type + '/';\n    }\n    if (link.substring(link.length - 1) !== '/') {\n      link += '/';\n    }\n    link += file;\n  } else {\n    if ((app === 'settings' || app === 'core' || app === 'search') && type === 'ajax') {\n      link += '/index.php/';\n    } else {\n      link += '/';\n    }\n    if (!isCore) {\n      link += 'apps/';\n    }\n    if (app !== '') {\n      app += '/';\n      link += app;\n    }\n    if (type) {\n      link += type + '/';\n    }\n    link += file;\n  }\n  return link;\n};\n\n/**\n * Return the web root path where this Nextcloud instance\n * is accessible, with a leading slash.\n * For example \"/nextcloud\".\n *\n * @return {string} web root path\n */\nexports.generateFilePath = generateFilePath;\nfunction getRootUrl() {\n  let webroot = window._oc_webroot;\n  if (typeof webroot === 'undefined') {\n    webroot = location.pathname;\n    const pos = webroot.indexOf('/index.php/');\n    if (pos !== -1) {\n      webroot = webroot.substr(0, pos);\n    } else {\n      webroot = webroot.substr(0, webroot.lastIndexOf('/'));\n    }\n  }\n  return webroot;\n}\n\n/**\n * Return the web root path for a given app\n * @param {string} app The ID of the app\n */\nfunction getAppRootUrl(app) {\n  var _window$_oc_appswebro, _webroots$app;\n  const webroots = (_window$_oc_appswebro = window._oc_appswebroots) !== null && _window$_oc_appswebro !== void 0 ? _window$_oc_appswebro : {};\n  return (_webroots$app = webroots[app]) !== null && _webroots$app !== void 0 ? _webroots$app : '';\n}\n//# sourceMappingURL=index.js.map","/**!\n * url-search-params-polyfill\n *\n * @author Jerry Bendy (https://github.com/jerrybendy)\n * @licence MIT\n */\n(function(self) {\n    'use strict';\n\n    var nativeURLSearchParams = (function() {\n            // #41 Fix issue in RN\n            try {\n                if (self.URLSearchParams && (new self.URLSearchParams('foo=bar')).get('foo') === 'bar') {\n                    return self.URLSearchParams;\n                }\n            } catch (e) {}\n            return null;\n        })(),\n        isSupportObjectConstructor = nativeURLSearchParams && (new nativeURLSearchParams({a: 1})).toString() === 'a=1',\n        // There is a bug in safari 10.1 (and earlier) that incorrectly decodes `%2B` as an empty space and not a plus.\n        decodesPlusesCorrectly = nativeURLSearchParams && (new nativeURLSearchParams('s=%2B').get('s') === '+'),\n        isSupportSize = nativeURLSearchParams && 'size' in nativeURLSearchParams.prototype,\n        __URLSearchParams__ = \"__URLSearchParams__\",\n        // Fix bug in Edge which cannot encode ' &' correctly\n        encodesAmpersandsCorrectly = nativeURLSearchParams ? (function() {\n            var ampersandTest = new nativeURLSearchParams();\n            ampersandTest.append('s', ' &');\n            return ampersandTest.toString() === 's=+%26';\n        })() : true,\n        prototype = URLSearchParamsPolyfill.prototype,\n        iterable = !!(self.Symbol && self.Symbol.iterator);\n\n    if (nativeURLSearchParams && isSupportObjectConstructor && decodesPlusesCorrectly && encodesAmpersandsCorrectly && isSupportSize) {\n        return;\n    }\n\n\n    /**\n     * Make a URLSearchParams instance\n     *\n     * @param {object|string|URLSearchParams} search\n     * @constructor\n     */\n    function URLSearchParamsPolyfill(search) {\n        search = search || \"\";\n\n        // support construct object with another URLSearchParams instance\n        if (search instanceof URLSearchParams || search instanceof URLSearchParamsPolyfill) {\n            search = search.toString();\n        }\n        this [__URLSearchParams__] = parseToDict(search);\n    }\n\n\n    /**\n     * Appends a specified key/value pair as a new search parameter.\n     *\n     * @param {string} name\n     * @param {string} value\n     */\n    prototype.append = function(name, value) {\n        appendTo(this [__URLSearchParams__], name, value);\n    };\n\n    /**\n     * Deletes the given search parameter, and its associated value,\n     * from the list of all search parameters.\n     *\n     * @param {string} name\n     */\n    prototype['delete'] = function(name) {\n        delete this [__URLSearchParams__] [name];\n    };\n\n    /**\n     * Returns the first value associated to the given search parameter.\n     *\n     * @param {string} name\n     * @returns {string|null}\n     */\n    prototype.get = function(name) {\n        var dict = this [__URLSearchParams__];\n        return this.has(name) ? dict[name][0] : null;\n    };\n\n    /**\n     * Returns all the values association with a given search parameter.\n     *\n     * @param {string} name\n     * @returns {Array}\n     */\n    prototype.getAll = function(name) {\n        var dict = this [__URLSearchParams__];\n        return this.has(name) ? dict [name].slice(0) : [];\n    };\n\n    /**\n     * Returns a Boolean indicating if such a search parameter exists.\n     *\n     * @param {string} name\n     * @returns {boolean}\n     */\n    prototype.has = function(name) {\n        return hasOwnProperty(this [__URLSearchParams__], name);\n    };\n\n    /**\n     * Sets the value associated to a given search parameter to\n     * the given value. If there were several values, delete the\n     * others.\n     *\n     * @param {string} name\n     * @param {string} value\n     */\n    prototype.set = function set(name, value) {\n        this [__URLSearchParams__][name] = ['' + value];\n    };\n\n    /**\n     * Returns a string containg a query string suitable for use in a URL.\n     *\n     * @returns {string}\n     */\n    prototype.toString = function() {\n        var dict = this[__URLSearchParams__], query = [], i, key, name, value;\n        for (key in dict) {\n            name = encode(key);\n            for (i = 0, value = dict[key]; i < value.length; i++) {\n                query.push(name + '=' + encode(value[i]));\n            }\n        }\n        return query.join('&');\n    };\n\n    // There is a bug in Safari 10.1 and `Proxy`ing it is not enough.\n    var useProxy = self.Proxy && nativeURLSearchParams && (!decodesPlusesCorrectly || !encodesAmpersandsCorrectly || !isSupportObjectConstructor || !isSupportSize);\n    var propValue;\n    if (useProxy) {\n        // Safari 10.0 doesn't support Proxy, so it won't extend URLSearchParams on safari 10.0\n        propValue = new Proxy(nativeURLSearchParams, {\n            construct: function (target, args) {\n                return new target((new URLSearchParamsPolyfill(args[0]).toString()));\n            }\n        })\n        // Chrome <=60 .toString() on a function proxy got error \"Function.prototype.toString is not generic\"\n        propValue.toString = Function.prototype.toString.bind(URLSearchParamsPolyfill);\n    } else {\n        propValue = URLSearchParamsPolyfill;\n    }\n\n    /*\n     * Apply polyfill to global object and append other prototype into it\n     */\n    Object.defineProperty(self, 'URLSearchParams', {\n        value: propValue\n    });\n\n    var USPProto = self.URLSearchParams.prototype;\n\n    USPProto.polyfill = true;\n\n    // Fix #54, `toString.call(new URLSearchParams)` will return correct value when Proxy not used\n    if (!useProxy && self.Symbol) {\n        USPProto[self.Symbol.toStringTag] = 'URLSearchParams';\n    }\n\n    /**\n     *\n     * @param {function} callback\n     * @param {object} thisArg\n     */\n    if (!('forEach' in USPProto)) {\n        USPProto.forEach = function(callback, thisArg) {\n            var dict = parseToDict(this.toString());\n            Object.getOwnPropertyNames(dict).forEach(function(name) {\n                dict[name].forEach(function(value) {\n                    callback.call(thisArg, value, name, this);\n                }, this);\n            }, this);\n        };\n    }\n\n    /**\n     * Sort all name-value pairs\n     */\n    if (!('sort' in USPProto)) {\n        USPProto.sort = function() {\n            var dict = parseToDict(this.toString()), keys = [], k, i, j;\n            for (k in dict) {\n                keys.push(k);\n            }\n            keys.sort();\n\n            for (i = 0; i < keys.length; i++) {\n                this['delete'](keys[i]);\n            }\n            for (i = 0; i < keys.length; i++) {\n                var key = keys[i], values = dict[key];\n                for (j = 0; j < values.length; j++) {\n                    this.append(key, values[j]);\n                }\n            }\n        };\n    }\n\n    /**\n     * Returns an iterator allowing to go through all keys of\n     * the key/value pairs contained in this object.\n     *\n     * @returns {function}\n     */\n    if (!('keys' in USPProto)) {\n        USPProto.keys = function() {\n            var items = [];\n            this.forEach(function(item, name) {\n                items.push(name);\n            });\n            return makeIterator(items);\n        };\n    }\n\n    /**\n     * Returns an iterator allowing to go through all values of\n     * the key/value pairs contained in this object.\n     *\n     * @returns {function}\n     */\n    if (!('values' in USPProto)) {\n        USPProto.values = function() {\n            var items = [];\n            this.forEach(function(item) {\n                items.push(item);\n            });\n            return makeIterator(items);\n        };\n    }\n\n    /**\n     * Returns an iterator allowing to go through all key/value\n     * pairs contained in this object.\n     *\n     * @returns {function}\n     */\n    if (!('entries' in USPProto)) {\n        USPProto.entries = function() {\n            var items = [];\n            this.forEach(function(item, name) {\n                items.push([name, item]);\n            });\n            return makeIterator(items);\n        };\n    }\n\n    if (iterable) {\n        USPProto[self.Symbol.iterator] = USPProto[self.Symbol.iterator] || USPProto.entries;\n    }\n\n    if (!('size' in USPProto)) {\n        Object.defineProperty(USPProto, 'size', {\n            get: function () {\n                var dict = parseToDict(this.toString())\n                if (USPProto === this) {\n                    throw new TypeError('Illegal invocation at URLSearchParams.invokeGetter')\n                }\n                return Object.keys(dict).reduce(function (prev, cur) {\n                    return prev + dict[cur].length;\n                }, 0);\n            }\n        });\n    }\n\n    function encode(str) {\n        var replace = {\n            '!': '%21',\n            \"'\": '%27',\n            '(': '%28',\n            ')': '%29',\n            '~': '%7E',\n            '%20': '+',\n            '%00': '\\x00'\n        };\n        return encodeURIComponent(str).replace(/[!'\\(\\)~]|%20|%00/g, function(match) {\n            return replace[match];\n        });\n    }\n\n    function decode(str) {\n        return str\n            .replace(/[ +]/g, '%20')\n            .replace(/(%[a-f0-9]{2})+/ig, function(match) {\n                return decodeURIComponent(match);\n            });\n    }\n\n    function makeIterator(arr) {\n        var iterator = {\n            next: function() {\n                var value = arr.shift();\n                return {done: value === undefined, value: value};\n            }\n        };\n\n        if (iterable) {\n            iterator[self.Symbol.iterator] = function() {\n                return iterator;\n            };\n        }\n\n        return iterator;\n    }\n\n    function parseToDict(search) {\n        var dict = {};\n\n        if (typeof search === \"object\") {\n            // if `search` is an array, treat it as a sequence\n            if (isArray(search)) {\n                for (var i = 0; i < search.length; i++) {\n                    var item = search[i];\n                    if (isArray(item) && item.length === 2) {\n                        appendTo(dict, item[0], item[1]);\n                    } else {\n                        throw new TypeError(\"Failed to construct 'URLSearchParams': Sequence initializer must only contain pair elements\");\n                    }\n                }\n\n            } else {\n                for (var key in search) {\n                    if (search.hasOwnProperty(key)) {\n                        appendTo(dict, key, search[key]);\n                    }\n                }\n            }\n\n        } else {\n            // remove first '?'\n            if (search.indexOf(\"?\") === 0) {\n                search = search.slice(1);\n            }\n\n            var pairs = search.split(\"&\");\n            for (var j = 0; j < pairs.length; j++) {\n                var value = pairs [j],\n                    index = value.indexOf('=');\n\n                if (-1 < index) {\n                    appendTo(dict, decode(value.slice(0, index)), decode(value.slice(index + 1)));\n\n                } else {\n                    if (value) {\n                        appendTo(dict, decode(value), '');\n                    }\n                }\n            }\n        }\n\n        return dict;\n    }\n\n    function appendTo(dict, name, value) {\n        var val = typeof value === 'string' ? value : (\n            value !== null && value !== undefined && typeof value.toString === 'function' ? value.toString() : JSON.stringify(value)\n        );\n\n        // #47 Prevent using `hasOwnProperty` as a property name\n        if (hasOwnProperty(dict, name)) {\n            dict[name].push(val);\n        } else {\n            dict[name] = [val];\n        }\n    }\n\n    function isArray(val) {\n        return !!val && '[object Array]' === Object.prototype.toString.call(val);\n    }\n\n    function hasOwnProperty(obj, prop) {\n        return Object.prototype.hasOwnProperty.call(obj, prop);\n    }\n\n})(typeof global !== 'undefined' ? global : (typeof window !== 'undefined' ? window : this));\n","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',{staticClass:\"sharingTab\",class:{ 'icon-loading': _vm.loading }},[(_vm.error)?_c('div',{staticClass:\"emptycontent\",class:{ emptyContentWithSections: _vm.sections.length > 0 }},[_c('div',{staticClass:\"icon icon-error\"}),_vm._v(\" \"),_c('h2',[_vm._v(_vm._s(_vm.error))])]):_vm._e(),_vm._v(\" \"),_c('div',{directives:[{name:\"show\",rawName:\"v-show\",value:(!_vm.showSharingDetailsView),expression:\"!showSharingDetailsView\"}],staticClass:\"sharingTab__content\"},[_c('ul',[(_vm.isSharedWithMe)?_c('SharingEntrySimple',_vm._b({staticClass:\"sharing-entry__reshare\",scopedSlots:_vm._u([{key:\"avatar\",fn:function(){return [_c('NcAvatar',{staticClass:\"sharing-entry__avatar\",attrs:{\"user\":_vm.sharedWithMe.user,\"display-name\":_vm.sharedWithMe.displayName}})]},proxy:true}],null,false,3197855346)},'SharingEntrySimple',_vm.sharedWithMe,false)):_vm._e()],1),_vm._v(\" \"),(!_vm.loading)?_c('SharingInput',{attrs:{\"can-reshare\":_vm.canReshare,\"file-info\":_vm.fileInfo,\"link-shares\":_vm.linkShares,\"reshare\":_vm.reshare,\"shares\":_vm.shares},on:{\"open-sharing-details\":_vm.toggleShareDetailsView}}):_vm._e(),_vm._v(\" \"),(!_vm.loading)?_c('SharingLinkList',{ref:\"linkShareList\",attrs:{\"can-reshare\":_vm.canReshare,\"file-info\":_vm.fileInfo,\"shares\":_vm.linkShares},on:{\"open-sharing-details\":_vm.toggleShareDetailsView}}):_vm._e(),_vm._v(\" \"),(!_vm.loading)?_c('SharingList',{ref:\"shareList\",attrs:{\"shares\":_vm.shares,\"file-info\":_vm.fileInfo},on:{\"open-sharing-details\":_vm.toggleShareDetailsView}}):_vm._e(),_vm._v(\" \"),(_vm.canReshare && !_vm.loading)?_c('SharingInherited',{attrs:{\"file-info\":_vm.fileInfo}}):_vm._e(),_vm._v(\" \"),_c('SharingEntryInternal',{attrs:{\"file-info\":_vm.fileInfo}}),_vm._v(\" \"),(_vm.projectsEnabled && _vm.fileInfo)?_c('CollectionList',{attrs:{\"id\":`${_vm.fileInfo.id}`,\"type\":\"file\",\"name\":_vm.fileInfo.name}}):_vm._e()],1),_vm._v(\" \"),_vm._l((_vm.sections),function(section,index){return _c('div',{directives:[{name:\"show\",rawName:\"v-show\",value:(!_vm.showSharingDetailsView),expression:\"!showSharingDetailsView\"}],key:index,ref:'section-' + index,refInFor:true,staticClass:\"sharingTab__additionalContent\"},[_c(section(_vm.$refs['section-'+index], _vm.fileInfo),{tag:\"component\",attrs:{\"file-info\":_vm.fileInfo}})],1)}),_vm._v(\" \"),(_vm.showSharingDetailsView)?_c('SharingDetailsTab',{attrs:{\"file-info\":_vm.shareDetailsData.fileInfo,\"share\":_vm.shareDetailsData.share},on:{\"close-sharing-details\":_vm.toggleShareDetailsView,\"add:share\":_vm.addShare,\"remove:share\":_vm.removeShare}}):_vm._e()],2)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n      import API from \"!../../../style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n      import domAPI from \"!../../../style-loader/dist/runtime/styleDomAPI.js\";\n      import insertFn from \"!../../../style-loader/dist/runtime/insertBySelector.js\";\n      import setAttributes from \"!../../../style-loader/dist/runtime/setAttributesWithoutAttributes.js\";\n      import insertStyleElement from \"!../../../style-loader/dist/runtime/insertStyleElement.js\";\n      import styleTagTransformFn from \"!../../../style-loader/dist/runtime/styleTagTransform.js\";\n      import content, * as namedExport from \"!!../../../css-loader/dist/cjs.js!./index-Au1Gr_G6.css\";\n      \n      \n\nvar options = {};\n\noptions.styleTagTransform = styleTagTransformFn;\noptions.setAttributes = setAttributes;\n\n      options.insert = insertFn.bind(null, \"head\");\n    \noptions.domAPI = domAPI;\noptions.insertStyleElement = insertStyleElement;\n\nvar update = API(content, options);\n\n\n\nexport * from \"!!../../../css-loader/dist/cjs.js!./index-Au1Gr_G6.css\";\n       export default content && content.locals ? content.locals : undefined;\n","/**\n * Checks if `value` is the\n * [language type](http://www.ecma-international.org/ecma-262/7.0/#sec-ecmascript-language-types)\n * of `Object`. (e.g. arrays, functions, objects, regexes, `new Number(0)`, and `new String('')`)\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an object, else `false`.\n * @example\n *\n * _.isObject({});\n * // => true\n *\n * _.isObject([1, 2, 3]);\n * // => true\n *\n * _.isObject(_.noop);\n * // => true\n *\n * _.isObject(null);\n * // => false\n */\nfunction isObject(value) {\n  var type = typeof value;\n  return value != null && (type == 'object' || type == 'function');\n}\n\nexport default isObject;\n","/** Detect free variable `global` from Node.js. */\nvar freeGlobal = typeof global == 'object' && global && global.Object === Object && global;\n\nexport default freeGlobal;\n","import freeGlobal from './_freeGlobal.js';\n\n/** Detect free variable `self`. */\nvar freeSelf = typeof self == 'object' && self && self.Object === Object && self;\n\n/** Used as a reference to the global object. */\nvar root = freeGlobal || freeSelf || Function('return this')();\n\nexport default root;\n","import root from './_root.js';\n\n/**\n * Gets the timestamp of the number of milliseconds that have elapsed since\n * the Unix epoch (1 January 1970 00:00:00 UTC).\n *\n * @static\n * @memberOf _\n * @since 2.4.0\n * @category Date\n * @returns {number} Returns the timestamp.\n * @example\n *\n * _.defer(function(stamp) {\n *   console.log(_.now() - stamp);\n * }, _.now());\n * // => Logs the number of milliseconds it took for the deferred invocation.\n */\nvar now = function() {\n  return root.Date.now();\n};\n\nexport default now;\n","/** Used to match a single whitespace character. */\nvar reWhitespace = /\\s/;\n\n/**\n * Used by `_.trim` and `_.trimEnd` to get the index of the last non-whitespace\n * character of `string`.\n *\n * @private\n * @param {string} string The string to inspect.\n * @returns {number} Returns the index of the last non-whitespace character.\n */\nfunction trimmedEndIndex(string) {\n  var index = string.length;\n\n  while (index-- && reWhitespace.test(string.charAt(index))) {}\n  return index;\n}\n\nexport default trimmedEndIndex;\n","import trimmedEndIndex from './_trimmedEndIndex.js';\n\n/** Used to match leading whitespace. */\nvar reTrimStart = /^\\s+/;\n\n/**\n * The base implementation of `_.trim`.\n *\n * @private\n * @param {string} string The string to trim.\n * @returns {string} Returns the trimmed string.\n */\nfunction baseTrim(string) {\n  return string\n    ? string.slice(0, trimmedEndIndex(string) + 1).replace(reTrimStart, '')\n    : string;\n}\n\nexport default baseTrim;\n","import root from './_root.js';\n\n/** Built-in value references. */\nvar Symbol = root.Symbol;\n\nexport default Symbol;\n","import Symbol from './_Symbol.js';\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * Used to resolve the\n * [`toStringTag`](http://ecma-international.org/ecma-262/7.0/#sec-object.prototype.tostring)\n * of values.\n */\nvar nativeObjectToString = objectProto.toString;\n\n/** Built-in value references. */\nvar symToStringTag = Symbol ? Symbol.toStringTag : undefined;\n\n/**\n * A specialized version of `baseGetTag` which ignores `Symbol.toStringTag` values.\n *\n * @private\n * @param {*} value The value to query.\n * @returns {string} Returns the raw `toStringTag`.\n */\nfunction getRawTag(value) {\n  var isOwn = hasOwnProperty.call(value, symToStringTag),\n      tag = value[symToStringTag];\n\n  try {\n    value[symToStringTag] = undefined;\n    var unmasked = true;\n  } catch (e) {}\n\n  var result = nativeObjectToString.call(value);\n  if (unmasked) {\n    if (isOwn) {\n      value[symToStringTag] = tag;\n    } else {\n      delete value[symToStringTag];\n    }\n  }\n  return result;\n}\n\nexport default getRawTag;\n","/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/**\n * Used to resolve the\n * [`toStringTag`](http://ecma-international.org/ecma-262/7.0/#sec-object.prototype.tostring)\n * of values.\n */\nvar nativeObjectToString = objectProto.toString;\n\n/**\n * Converts `value` to a string using `Object.prototype.toString`.\n *\n * @private\n * @param {*} value The value to convert.\n * @returns {string} Returns the converted string.\n */\nfunction objectToString(value) {\n  return nativeObjectToString.call(value);\n}\n\nexport default objectToString;\n","import Symbol from './_Symbol.js';\nimport getRawTag from './_getRawTag.js';\nimport objectToString from './_objectToString.js';\n\n/** `Object#toString` result references. */\nvar nullTag = '[object Null]',\n    undefinedTag = '[object Undefined]';\n\n/** Built-in value references. */\nvar symToStringTag = Symbol ? Symbol.toStringTag : undefined;\n\n/**\n * The base implementation of `getTag` without fallbacks for buggy environments.\n *\n * @private\n * @param {*} value The value to query.\n * @returns {string} Returns the `toStringTag`.\n */\nfunction baseGetTag(value) {\n  if (value == null) {\n    return value === undefined ? undefinedTag : nullTag;\n  }\n  return (symToStringTag && symToStringTag in Object(value))\n    ? getRawTag(value)\n    : objectToString(value);\n}\n\nexport default baseGetTag;\n","import baseTrim from './_baseTrim.js';\nimport isObject from './isObject.js';\nimport isSymbol from './isSymbol.js';\n\n/** Used as references for various `Number` constants. */\nvar NAN = 0 / 0;\n\n/** Used to detect bad signed hexadecimal string values. */\nvar reIsBadHex = /^[-+]0x[0-9a-f]+$/i;\n\n/** Used to detect binary string values. */\nvar reIsBinary = /^0b[01]+$/i;\n\n/** Used to detect octal string values. */\nvar reIsOctal = /^0o[0-7]+$/i;\n\n/** Built-in method references without a dependency on `root`. */\nvar freeParseInt = parseInt;\n\n/**\n * Converts `value` to a number.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to process.\n * @returns {number} Returns the number.\n * @example\n *\n * _.toNumber(3.2);\n * // => 3.2\n *\n * _.toNumber(Number.MIN_VALUE);\n * // => 5e-324\n *\n * _.toNumber(Infinity);\n * // => Infinity\n *\n * _.toNumber('3.2');\n * // => 3.2\n */\nfunction toNumber(value) {\n  if (typeof value == 'number') {\n    return value;\n  }\n  if (isSymbol(value)) {\n    return NAN;\n  }\n  if (isObject(value)) {\n    var other = typeof value.valueOf == 'function' ? value.valueOf() : value;\n    value = isObject(other) ? (other + '') : other;\n  }\n  if (typeof value != 'string') {\n    return value === 0 ? value : +value;\n  }\n  value = baseTrim(value);\n  var isBinary = reIsBinary.test(value);\n  return (isBinary || reIsOctal.test(value))\n    ? freeParseInt(value.slice(2), isBinary ? 2 : 8)\n    : (reIsBadHex.test(value) ? NAN : +value);\n}\n\nexport default toNumber;\n","import baseGetTag from './_baseGetTag.js';\nimport isObjectLike from './isObjectLike.js';\n\n/** `Object#toString` result references. */\nvar symbolTag = '[object Symbol]';\n\n/**\n * Checks if `value` is classified as a `Symbol` primitive or object.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a symbol, else `false`.\n * @example\n *\n * _.isSymbol(Symbol.iterator);\n * // => true\n *\n * _.isSymbol('abc');\n * // => false\n */\nfunction isSymbol(value) {\n  return typeof value == 'symbol' ||\n    (isObjectLike(value) && baseGetTag(value) == symbolTag);\n}\n\nexport default isSymbol;\n","/**\n * Checks if `value` is object-like. A value is object-like if it's not `null`\n * and has a `typeof` result of \"object\".\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is object-like, else `false`.\n * @example\n *\n * _.isObjectLike({});\n * // => true\n *\n * _.isObjectLike([1, 2, 3]);\n * // => true\n *\n * _.isObjectLike(_.noop);\n * // => false\n *\n * _.isObjectLike(null);\n * // => false\n */\nfunction isObjectLike(value) {\n  return value != null && typeof value == 'object';\n}\n\nexport default isObjectLike;\n","import isObject from './isObject.js';\nimport now from './now.js';\nimport toNumber from './toNumber.js';\n\n/** Error message constants. */\nvar FUNC_ERROR_TEXT = 'Expected a function';\n\n/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeMax = Math.max,\n    nativeMin = Math.min;\n\n/**\n * Creates a debounced function that delays invoking `func` until after `wait`\n * milliseconds have elapsed since the last time the debounced function was\n * invoked. The debounced function comes with a `cancel` method to cancel\n * delayed `func` invocations and a `flush` method to immediately invoke them.\n * Provide `options` to indicate whether `func` should be invoked on the\n * leading and/or trailing edge of the `wait` timeout. The `func` is invoked\n * with the last arguments provided to the debounced function. Subsequent\n * calls to the debounced function return the result of the last `func`\n * invocation.\n *\n * **Note:** If `leading` and `trailing` options are `true`, `func` is\n * invoked on the trailing edge of the timeout only if the debounced function\n * is invoked more than once during the `wait` timeout.\n *\n * If `wait` is `0` and `leading` is `false`, `func` invocation is deferred\n * until to the next tick, similar to `setTimeout` with a timeout of `0`.\n *\n * See [David Corbacho's article](https://css-tricks.com/debouncing-throttling-explained-examples/)\n * for details over the differences between `_.debounce` and `_.throttle`.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Function\n * @param {Function} func The function to debounce.\n * @param {number} [wait=0] The number of milliseconds to delay.\n * @param {Object} [options={}] The options object.\n * @param {boolean} [options.leading=false]\n *  Specify invoking on the leading edge of the timeout.\n * @param {number} [options.maxWait]\n *  The maximum time `func` is allowed to be delayed before it's invoked.\n * @param {boolean} [options.trailing=true]\n *  Specify invoking on the trailing edge of the timeout.\n * @returns {Function} Returns the new debounced function.\n * @example\n *\n * // Avoid costly calculations while the window size is in flux.\n * jQuery(window).on('resize', _.debounce(calculateLayout, 150));\n *\n * // Invoke `sendMail` when clicked, debouncing subsequent calls.\n * jQuery(element).on('click', _.debounce(sendMail, 300, {\n *   'leading': true,\n *   'trailing': false\n * }));\n *\n * // Ensure `batchLog` is invoked once after 1 second of debounced calls.\n * var debounced = _.debounce(batchLog, 250, { 'maxWait': 1000 });\n * var source = new EventSource('/stream');\n * jQuery(source).on('message', debounced);\n *\n * // Cancel the trailing debounced invocation.\n * jQuery(window).on('popstate', debounced.cancel);\n */\nfunction debounce(func, wait, options) {\n  var lastArgs,\n      lastThis,\n      maxWait,\n      result,\n      timerId,\n      lastCallTime,\n      lastInvokeTime = 0,\n      leading = false,\n      maxing = false,\n      trailing = true;\n\n  if (typeof func != 'function') {\n    throw new TypeError(FUNC_ERROR_TEXT);\n  }\n  wait = toNumber(wait) || 0;\n  if (isObject(options)) {\n    leading = !!options.leading;\n    maxing = 'maxWait' in options;\n    maxWait = maxing ? nativeMax(toNumber(options.maxWait) || 0, wait) : maxWait;\n    trailing = 'trailing' in options ? !!options.trailing : trailing;\n  }\n\n  function invokeFunc(time) {\n    var args = lastArgs,\n        thisArg = lastThis;\n\n    lastArgs = lastThis = undefined;\n    lastInvokeTime = time;\n    result = func.apply(thisArg, args);\n    return result;\n  }\n\n  function leadingEdge(time) {\n    // Reset any `maxWait` timer.\n    lastInvokeTime = time;\n    // Start the timer for the trailing edge.\n    timerId = setTimeout(timerExpired, wait);\n    // Invoke the leading edge.\n    return leading ? invokeFunc(time) : result;\n  }\n\n  function remainingWait(time) {\n    var timeSinceLastCall = time - lastCallTime,\n        timeSinceLastInvoke = time - lastInvokeTime,\n        timeWaiting = wait - timeSinceLastCall;\n\n    return maxing\n      ? nativeMin(timeWaiting, maxWait - timeSinceLastInvoke)\n      : timeWaiting;\n  }\n\n  function shouldInvoke(time) {\n    var timeSinceLastCall = time - lastCallTime,\n        timeSinceLastInvoke = time - lastInvokeTime;\n\n    // Either this is the first call, activity has stopped and we're at the\n    // trailing edge, the system time has gone backwards and we're treating\n    // it as the trailing edge, or we've hit the `maxWait` limit.\n    return (lastCallTime === undefined || (timeSinceLastCall >= wait) ||\n      (timeSinceLastCall < 0) || (maxing && timeSinceLastInvoke >= maxWait));\n  }\n\n  function timerExpired() {\n    var time = now();\n    if (shouldInvoke(time)) {\n      return trailingEdge(time);\n    }\n    // Restart the timer.\n    timerId = setTimeout(timerExpired, remainingWait(time));\n  }\n\n  function trailingEdge(time) {\n    timerId = undefined;\n\n    // Only invoke if we have `lastArgs` which means `func` has been\n    // debounced at least once.\n    if (trailing && lastArgs) {\n      return invokeFunc(time);\n    }\n    lastArgs = lastThis = undefined;\n    return result;\n  }\n\n  function cancel() {\n    if (timerId !== undefined) {\n      clearTimeout(timerId);\n    }\n    lastInvokeTime = 0;\n    lastArgs = lastCallTime = lastThis = timerId = undefined;\n  }\n\n  function flush() {\n    return timerId === undefined ? result : trailingEdge(now());\n  }\n\n  function debounced() {\n    var time = now(),\n        isInvoking = shouldInvoke(time);\n\n    lastArgs = arguments;\n    lastThis = this;\n    lastCallTime = time;\n\n    if (isInvoking) {\n      if (timerId === undefined) {\n        return leadingEdge(lastCallTime);\n      }\n      if (maxing) {\n        // Handle invocations in a tight loop.\n        clearTimeout(timerId);\n        timerId = setTimeout(timerExpired, wait);\n        return invokeFunc(lastCallTime);\n      }\n    }\n    if (timerId === undefined) {\n      timerId = setTimeout(timerExpired, wait);\n    }\n    return result;\n  }\n  debounced.cancel = cancel;\n  debounced.flush = flush;\n  return debounced;\n}\n\nexport default debounce;\n","import './assets/index-Au1Gr_G6.css';\nimport w from \"@nextcloud/vue/dist/Components/NcAvatar.js\";\nimport O from \"@nextcloud/vue/dist/Components/NcSelect.js\";\nimport T from \"lodash-es/debounce.js\";\nimport S from \"@nextcloud/vue/dist/Components/NcActions.js\";\nimport k from \"@nextcloud/vue/dist/Components/NcActionButton.js\";\nimport A, { set as f } from \"vue\";\nimport $ from \"@nextcloud/axios\";\nimport { generateOcsUrl as d } from \"@nextcloud/router\";\n/*\n * @copyright Copyright (c) 2019 Julius Härtl <jus@bitgrid.net>\n *\n * @author Julius Härtl <jus@bitgrid.net>\n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */\nclass D {\n  constructor() {\n    this.http = $;\n  }\n  listCollection(e) {\n    return this.http.get(d(\"collaboration/resources/collections/{collectionId}\", { collectionId: e }));\n  }\n  renameCollection(e, o) {\n    return this.http.put(d(\"collaboration/resources/collections/{collectionId}\", { collectionId: e }), {\n      collectionName: o\n    }).then((n) => n.data.ocs.data);\n  }\n  getCollectionsByResource(e, o) {\n    return this.http.get(d(\"collaboration/resources/{resourceType}/{resourceId}\", { resourceType: e, resourceId: o })).then((n) => n.data.ocs.data);\n  }\n  createCollection(e, o, n) {\n    return this.http.post(d(\"collaboration/resources/{resourceType}/{resourceId}\", { resourceType: e, resourceId: o }), {\n      name: n\n    }).then((r) => r.data.ocs.data);\n  }\n  addResource(e, o, n) {\n    return n = \"\" + n, this.http.post(d(\"collaboration/resources/collections/{collectionId}\", { collectionId: e }), {\n      resourceType: o,\n      resourceId: n\n    }).then((r) => r.data.ocs.data);\n  }\n  removeResource(e, o, n) {\n    return this.http.delete(d(\"collaboration/resources/collections/{collectionId}\", { collectionId: e }), { params: { resourceType: o, resourceId: n } }).then((r) => r.data.ocs.data);\n  }\n  search(e) {\n    return this.http.get(d(\"collaboration/resources/collections/search/{query}\", { query: e })).then((o) => o.data.ocs.data);\n  }\n}\nconst p = new D();\n/*\n * @copyright Copyright (c) 2019 Julius Härtl <jus@bitgrid.net>\n *\n * @author Julius Härtl <jus@bitgrid.net>\n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */\nconst u = A.observable({\n  collections: []\n}), h = {\n  addCollections(s) {\n    f(u, \"collections\", s);\n  },\n  addCollection(s) {\n    u.collections.push(s);\n  },\n  removeCollection(s) {\n    f(u, \"collections\", u.collections.filter((e) => e.id !== s));\n  },\n  updateCollection(s) {\n    const e = u.collections.findIndex((o) => o.id === s.id);\n    e !== -1 ? f(u.collections, e, s) : u.collections.push(s);\n  }\n}, l = {\n  fetchCollectionsByResource({ resourceType: s, resourceId: e }) {\n    return p.getCollectionsByResource(s, e).then((o) => (h.addCollections(o), o));\n  },\n  createCollection({ baseResourceType: s, baseResourceId: e, resourceType: o, resourceId: n, name: r }) {\n    return p.createCollection(s, e, r).then((m) => {\n      h.addCollection(m), l.addResourceToCollection({\n        collectionId: m.id,\n        resourceType: o,\n        resourceId: n\n      });\n    });\n  },\n  renameCollection({ collectionId: s, name: e }) {\n    return p.renameCollection(s, e).then((o) => (h.updateCollection(o), o));\n  },\n  addResourceToCollection({ collectionId: s, resourceType: e, resourceId: o }) {\n    return p.addResource(s, e, o).then((n) => (h.updateCollection(n), n));\n  },\n  removeResource({ collectionId: s, resourceType: e, resourceId: o }) {\n    return p.removeResource(s, e, o).then((n) => {\n      n.resources.length > 0 ? h.updateCollection(n) : h.removeCollection(n);\n    });\n  },\n  search(s) {\n    return p.search(s);\n  }\n};\nfunction R(s, e, o, n, r, m, _, I) {\n  var i = typeof s == \"function\" ? s.options : s;\n  e && (i.render = e, i.staticRenderFns = o, i._compiled = !0), n && (i.functional = !0), m && (i._scopeId = \"data-v-\" + m);\n  var a;\n  if (_ ? (a = function(c) {\n    c = c || // cached call\n    this.$vnode && this.$vnode.ssrContext || // stateful\n    this.parent && this.parent.$vnode && this.parent.$vnode.ssrContext, !c && typeof __VUE_SSR_CONTEXT__ < \"u\" && (c = __VUE_SSR_CONTEXT__), r && r.call(this, c), c && c._registeredComponents && c._registeredComponents.add(_);\n  }, i._ssrRegister = a) : r && (a = I ? function() {\n    r.call(\n      this,\n      (i.functional ? this.parent : this).$root.$options.shadowRoot\n    );\n  } : r), a)\n    if (i.functional) {\n      i._injectStyles = a;\n      var b = i.render;\n      i.render = function(N, v) {\n        return a.call(v), b(N, v);\n      };\n    } else {\n      var C = i.beforeCreate;\n      i.beforeCreate = C ? [].concat(C, a) : [a];\n    }\n  return {\n    exports: s,\n    options: i\n  };\n}\nconst B = {\n  name: \"CollectionListItem\",\n  components: {\n    NcAvatar: w,\n    NcActions: S,\n    NcActionButton: k\n  },\n  props: {\n    collection: {\n      type: Object,\n      default: null\n    }\n  },\n  data() {\n    return {\n      detailsOpen: !1,\n      newName: null,\n      error: {}\n    };\n  },\n  computed: {\n    getIcon() {\n      return (s) => [s.iconClass];\n    },\n    typeClass() {\n      return (s) => \"resource-type-\" + s.type;\n    },\n    limitedResources() {\n      return (s) => s.resources ? s.resources.slice(0, 2) : [];\n    },\n    iconUrl() {\n      return (s) => s.mimetype ? OC.MimeType.getIconUrl(s.mimetype) : s.iconUrl ? s.iconUrl : \"\";\n    }\n  },\n  methods: {\n    toggleDetails() {\n      this.detailsOpen = !this.detailsOpen;\n    },\n    showDetails() {\n      this.detailsOpen = !0;\n    },\n    hideDetails() {\n      this.detailsOpen = !1;\n    },\n    removeResource(s, e) {\n      l.removeResource({\n        collectionId: s.id,\n        resourceType: e.type,\n        resourceId: e.id\n      });\n    },\n    openRename() {\n      this.newName = this.collection.name;\n    },\n    renameCollection() {\n      if (this.newName === \"\") {\n        this.newName = null;\n        return;\n      }\n      l.renameCollection({\n        collectionId: this.collection.id,\n        name: this.newName\n      }).then((s) => {\n        this.newName = null;\n      }).catch((s) => {\n        this.$set(this.error, \"rename\", t(\"core\", \"Failed to rename the project\")), console.error(s), setTimeout(() => {\n          f(this.error, \"rename\", null);\n        }, 3e3);\n      });\n    }\n  }\n};\nvar E = function() {\n  var e = this, o = e._self._c;\n  return o(\"li\", { staticClass: \"collection-list-item\" }, [o(\"NcAvatar\", { staticClass: \"collection-avatar\", attrs: { \"display-name\": e.collection.name, \"allow-placeholder\": \"\" } }), e.newName === null ? o(\"span\", { staticClass: \"collection-item-name\", attrs: { title: \"\" }, on: { click: e.showDetails } }, [e._v(e._s(e.collection.name))]) : o(\"form\", { class: { shouldshake: e.error.rename }, on: { submit: function(n) {\n    return n.preventDefault(), e.renameCollection.apply(null, arguments);\n  } } }, [o(\"input\", { directives: [{ name: \"model\", rawName: \"v-model\", value: e.newName, expression: \"newName\" }], attrs: { type: \"text\", autocomplete: \"off\", autocapitalize: \"off\" }, domProps: { value: e.newName }, on: { input: function(n) {\n    n.target.composing || (e.newName = n.target.value);\n  } } }), o(\"input\", { staticClass: \"icon-confirm\", attrs: { type: \"submit\", value: \"\" } })]), !e.detailsOpen && e.newName === null ? o(\"div\", { staticClass: \"linked-icons\" }, e._l(e.limitedResources(e.collection), function(n) {\n    return o(\"a\", { key: n.type + \"|\" + n.id, class: e.typeClass(n), attrs: { title: n.name, href: n.link } }, [o(\"img\", { attrs: { src: e.iconUrl(n) } })]);\n  }), 0) : e._e(), e.newName === null ? o(\"span\", { staticClass: \"sharingOptionsGroup\" }, [o(\"NcActions\", [o(\"NcActionButton\", { attrs: { icon: \"icon-info\" }, on: { click: function(n) {\n    return n.preventDefault(), e.toggleDetails.apply(null, arguments);\n  } } }, [e._v(\" \" + e._s(e.detailsOpen ? e.t(\"core\", \"Hide details\") : e.t(\"core\", \"Show details\")) + \" \")]), o(\"NcActionButton\", { attrs: { icon: \"icon-rename\" }, on: { click: function(n) {\n    return n.preventDefault(), e.openRename.apply(null, arguments);\n  } } }, [e._v(\" \" + e._s(e.t(\"core\", \"Rename project\")) + \" \")])], 1)], 1) : e._e(), o(\"transition\", { attrs: { name: \"fade\" } }, [e.error.rename ? o(\"div\", { staticClass: \"error\" }, [e._v(\" \" + e._s(e.error.rename) + \" \")]) : e._e()]), o(\"transition\", { attrs: { name: \"fade\" } }, [e.detailsOpen ? o(\"ul\", { staticClass: \"resource-list-details\" }, e._l(e.collection.resources, function(n) {\n    return o(\"li\", { key: n.type + \"|\" + n.id, class: e.typeClass(n) }, [o(\"a\", { attrs: { href: n.link } }, [o(\"img\", { attrs: { src: e.iconUrl(n) } }), o(\"span\", { staticClass: \"resource-name\" }, [e._v(e._s(n.name || \"\"))])]), o(\"span\", { staticClass: \"icon-close\", on: { click: function(r) {\n      return e.removeResource(e.collection, n);\n    } } })]);\n  }), 0) : e._e()])], 1);\n}, L = [], U = /* @__PURE__ */ R(\n  B,\n  E,\n  L,\n  !1,\n  null,\n  \"8e58e0a5\",\n  null,\n  null\n);\nconst j = U.exports, y = 0, g = 1, F = T(\n  function(s, e) {\n    s !== \"\" && (e(!0), l.search(s).then((o) => {\n      this.searchCollections = o;\n    }).catch((o) => {\n      console.error(\"Failed to search for collections\", o);\n    }).finally(() => {\n      e(!1);\n    }));\n  },\n  500,\n  {}\n), P = {\n  name: \"CollectionList\",\n  components: {\n    CollectionListItem: j,\n    NcAvatar: w,\n    NcSelect: O\n  },\n  props: {\n    /**\n     * Resource type identifier\n     */\n    type: {\n      type: String,\n      default: null\n    },\n    /**\n     * Unique id of the resource\n     */\n    id: {\n      type: String,\n      default: null\n    },\n    /**\n     * Name of the resource\n     */\n    name: {\n      type: String,\n      default: \"\"\n    },\n    isActive: {\n      type: Boolean,\n      default: !0\n    }\n  },\n  data() {\n    return {\n      selectIsOpen: !1,\n      generatingCodes: !1,\n      codes: void 0,\n      value: null,\n      model: {},\n      searchCollections: [],\n      error: null,\n      state: u,\n      isSelectOpen: !1\n    };\n  },\n  computed: {\n    collections() {\n      return this.state.collections.filter((s) => typeof s.resources.find((e) => e && e.id === \"\" + this.id && e.type === this.type) < \"u\");\n    },\n    placeholder() {\n      return this.isSelectOpen ? t(\"core\", \"Type to search for existing projects\") : t(\"core\", \"Add to a project\");\n    },\n    options() {\n      const s = [];\n      window.OCP.Collaboration.getTypes().sort().forEach((e) => {\n        s.push({\n          method: y,\n          type: e,\n          title: window.OCP.Collaboration.getLabel(e),\n          class: window.OCP.Collaboration.getIcon(e),\n          action: () => window.OCP.Collaboration.trigger(e)\n        });\n      });\n      for (const e in this.searchCollections)\n        this.collections.findIndex((o) => o.id === this.searchCollections[e].id) === -1 && s.push({\n          method: g,\n          title: this.searchCollections[e].name,\n          collectionId: this.searchCollections[e].id\n        });\n      return s;\n    }\n  },\n  watch: {\n    type() {\n      this.isActive && l.fetchCollectionsByResource({\n        resourceType: this.type,\n        resourceId: this.id\n      });\n    },\n    id() {\n      this.isActive && l.fetchCollectionsByResource({\n        resourceType: this.type,\n        resourceId: this.id\n      });\n    },\n    isActive(s) {\n      s && l.fetchCollectionsByResource({\n        resourceType: this.type,\n        resourceId: this.id\n      });\n    }\n  },\n  mounted() {\n    l.fetchCollectionsByResource({\n      resourceType: this.type,\n      resourceId: this.id\n    });\n  },\n  methods: {\n    select(s, e) {\n      s.method === y && s.action().then((o) => {\n        l.createCollection({\n          baseResourceType: this.type,\n          baseResourceId: this.id,\n          resourceType: s.type,\n          resourceId: o,\n          name: this.name\n        }).catch((n) => {\n          this.setError(t(\"core\", \"Failed to create a project\"), n);\n        });\n      }).catch((o) => {\n        console.error(\"No resource selected\", o);\n      }), s.method === g && l.addResourceToCollection({\n        collectionId: s.collectionId,\n        resourceType: this.type,\n        resourceId: this.id\n      }).catch((o) => {\n        this.setError(t(\"core\", \"Failed to add the item to the project\"), o);\n      });\n    },\n    search(s, e) {\n      F.bind(this)(s, e);\n    },\n    showSelect() {\n      this.selectIsOpen = !0, this.$refs.select.$el.focus();\n    },\n    hideSelect() {\n      this.selectIsOpen = !1;\n    },\n    isVueComponent(s) {\n      return s._isVue;\n    },\n    setError(s, e) {\n      console.error(s, e), this.error = s, setTimeout(() => {\n        this.error = null;\n      }, 5e3);\n    }\n  }\n};\nvar V = function() {\n  var e = this, o = e._self._c;\n  return e.collections && e.type && e.id ? o(\"ul\", { staticClass: \"collection-list\", attrs: { id: \"collection-list\" } }, [o(\"li\", { on: { click: e.showSelect } }, [e._m(0), o(\"div\", { attrs: { id: \"collection-select-container\" } }, [o(\"NcSelect\", { ref: \"select\", attrs: { \"aria-label-combobox\": e.t(\"core\", \"Add to a project\"), options: e.options, placeholder: e.placeholder, label: \"title\", limit: 5 }, on: { close: function(n) {\n    e.isSelectOpen = !1;\n  }, open: function(n) {\n    e.isSelectOpen = !0;\n  }, \"option:selected\": e.select, search: e.search }, scopedSlots: e._u([{ key: \"selected-option\", fn: function(n) {\n    return [o(\"span\", { staticClass: \"option__desc\" }, [o(\"span\", { staticClass: \"option__title\" }, [e._v(e._s(n.title))])])];\n  } }, { key: \"option\", fn: function(n) {\n    return [o(\"span\", { staticClass: \"option__wrapper\" }, [n.class ? o(\"span\", { staticClass: \"avatar\", class: n.class }) : n.method !== 2 ? o(\"NcAvatar\", { attrs: { \"allow-placeholder\": \"\", \"display-name\": n.title } }) : e._e(), o(\"span\", { staticClass: \"option__title\" }, [e._v(e._s(n.title))])], 1)];\n  } }], null, !1, 2397208459), model: { value: e.value, callback: function(n) {\n    e.value = n;\n  }, expression: \"value\" } }, [o(\"p\", { staticClass: \"hint\" }, [e._v(\" \" + e._s(e.t(\"core\", \"Connect items to a project to make them easier to find\")) + \" \")])])], 1)]), o(\"transition\", { attrs: { name: \"fade\" } }, [e.error ? o(\"li\", { staticClass: \"error\" }, [e._v(\" \" + e._s(e.error) + \" \")]) : e._e()]), e._l(e.collections, function(n) {\n    return o(\"CollectionListItem\", { key: n.id, attrs: { collection: n } });\n  })], 2) : e._e();\n}, x = [function() {\n  var s = this, e = s._self._c;\n  return e(\"div\", { staticClass: \"avatar\" }, [e(\"span\", { staticClass: \"icon-projects\" })]);\n}], H = /* @__PURE__ */ R(\n  P,\n  V,\n  x,\n  !1,\n  null,\n  \"75a4370b\",\n  null,\n  null\n);\nconst Q = H.exports;\nexport {\n  Q as CollectionList,\n  j as CollectionListItem\n};\n","/**\n * @copyright Copyright (c) 2019 John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @author Arthur Schiwon <blizzz@arthur-schiwon.de>\n * @author John Molakvoæ <skjnldsv@protonmail.com>\n * @author Julius Härtl <jus@bitgrid.net>\n *\n * @license AGPL-3.0-or-later\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */\nimport { getCapabilities } from '@nextcloud/capabilities'\n\nexport default class Config {\n\n\tconstructor() {\n\t\tthis._capabilities = getCapabilities()\n\t}\n\n\t/**\n\t * Get default share permissions, if any\n\t *\n\t * @return {boolean}\n\t * @readonly\n\t * @memberof Config\n\t */\n\t get defaultPermissions() {\n\t\treturn this._capabilities.files_sharing?.default_permissions\n\t}\n\n\t/**\n\t * Is public upload allowed on link shares ?\n\t *\n\t * @return {boolean}\n\t * @readonly\n\t * @memberof Config\n\t */\n\tget isPublicUploadEnabled() {\n\t\treturn this._capabilities.files_sharing?.public.upload\n\t}\n\n\t/**\n\t * Are link share allowed ?\n\t *\n\t * @return {boolean}\n\t * @readonly\n\t * @memberof Config\n\t */\n\tget isShareWithLinkAllowed() {\n\t\treturn document.getElementById('allowShareWithLink')\n\t\t\t&& document.getElementById('allowShareWithLink').value === 'yes'\n\t}\n\n\t/**\n\t * Get the federated sharing documentation link\n\t *\n\t * @return {string}\n\t * @readonly\n\t * @memberof Config\n\t */\n\tget federatedShareDocLink() {\n\t\treturn OC.appConfig.core.federatedCloudShareDoc\n\t}\n\n\t/**\n\t * Get the default link share expiration date\n\t *\n\t * @return {Date|null}\n\t * @readonly\n\t * @memberof Config\n\t */\n\tget defaultExpirationDate() {\n\t\tif (this.isDefaultExpireDateEnabled) {\n\t\t\treturn new Date(new Date().setDate(new Date().getDate() + this.defaultExpireDate))\n\t\t}\n\t\treturn null\n\t}\n\n\t/**\n\t * Get the default internal expiration date\n\t *\n\t * @return {Date|null}\n\t * @readonly\n\t * @memberof Config\n\t */\n\tget defaultInternalExpirationDate() {\n\t\tif (this.isDefaultInternalExpireDateEnabled) {\n\t\t\treturn new Date(new Date().setDate(new Date().getDate() + this.defaultInternalExpireDate))\n\t\t}\n\t\treturn null\n\t}\n\n\t/**\n\t * Get the default remote expiration date\n\t *\n\t * @return {Date|null}\n\t * @readonly\n\t * @memberof Config\n\t */\n\tget defaultRemoteExpirationDateString() {\n\t\tif (this.isDefaultRemoteExpireDateEnabled) {\n\t\t\treturn new Date(new Date().setDate(new Date().getDate() + this.defaultRemoteExpireDate))\n\t\t}\n\t\treturn null\n\t}\n\n\t/**\n\t * Are link shares password-enforced ?\n\t *\n\t * @return {boolean}\n\t * @readonly\n\t * @memberof Config\n\t */\n\tget enforcePasswordForPublicLink() {\n\t\treturn OC.appConfig.core.enforcePasswordForPublicLink === true\n\t}\n\n\t/**\n\t * Is password asked by default on link shares ?\n\t *\n\t * @return {boolean}\n\t * @readonly\n\t * @memberof Config\n\t */\n\tget enableLinkPasswordByDefault() {\n\t\treturn OC.appConfig.core.enableLinkPasswordByDefault === true\n\t}\n\n\t/**\n\t * Is link shares expiration enforced ?\n\t *\n\t * @return {boolean}\n\t * @readonly\n\t * @memberof Config\n\t */\n\tget isDefaultExpireDateEnforced() {\n\t\treturn OC.appConfig.core.defaultExpireDateEnforced === true\n\t}\n\n\t/**\n\t * Is there a default expiration date for new link shares ?\n\t *\n\t * @return {boolean}\n\t * @readonly\n\t * @memberof Config\n\t */\n\tget isDefaultExpireDateEnabled() {\n\t\treturn OC.appConfig.core.defaultExpireDateEnabled === true\n\t}\n\n\t/**\n\t * Is internal shares expiration enforced ?\n\t *\n\t * @return {boolean}\n\t * @readonly\n\t * @memberof Config\n\t */\n\tget isDefaultInternalExpireDateEnforced() {\n\t\treturn OC.appConfig.core.defaultInternalExpireDateEnforced === true\n\t}\n\n\t/**\n\t * Is remote shares expiration enforced ?\n\t *\n\t * @return {boolean}\n\t * @readonly\n\t * @memberof Config\n\t */\n\tget isDefaultRemoteExpireDateEnforced() {\n\t\treturn OC.appConfig.core.defaultRemoteExpireDateEnforced === true\n\t}\n\n\t/**\n\t * Is there a default expiration date for new internal shares ?\n\t *\n\t * @return {boolean}\n\t * @readonly\n\t * @memberof Config\n\t */\n\tget isDefaultInternalExpireDateEnabled() {\n\t\treturn OC.appConfig.core.defaultInternalExpireDateEnabled === true\n\t}\n\n\t/**\n\t * Is there a default expiration date for new remote shares ?\n\t *\n\t * @return {boolean}\n\t * @readonly\n\t * @memberof Config\n\t */\n\tget isDefaultRemoteExpireDateEnabled() {\n\t\treturn OC.appConfig.core.defaultRemoteExpireDateEnabled === true\n\t}\n\n\t/**\n\t * Are users on this server allowed to send shares to other servers ?\n\t *\n\t * @return {boolean}\n\t * @readonly\n\t * @memberof Config\n\t */\n\tget isRemoteShareAllowed() {\n\t\treturn OC.appConfig.core.remoteShareAllowed === true\n\t}\n\n\t/**\n\t * Is sharing my mail (link share) enabled ?\n\t *\n\t * @return {boolean}\n\t * @readonly\n\t * @memberof Config\n\t */\n\tget isMailShareAllowed() {\n\t\t// eslint-disable-next-line camelcase\n\t\treturn this._capabilities?.files_sharing?.sharebymail !== undefined\n\t\t\t// eslint-disable-next-line camelcase\n\t\t\t&& this._capabilities?.files_sharing?.public?.enabled === true\n\t}\n\n\t/**\n\t * Get the default days to link shares expiration\n\t *\n\t * @return {number}\n\t * @readonly\n\t * @memberof Config\n\t */\n\tget defaultExpireDate() {\n\t\treturn OC.appConfig.core.defaultExpireDate\n\t}\n\n\t/**\n\t * Get the default days to internal shares expiration\n\t *\n\t * @return {number}\n\t * @readonly\n\t * @memberof Config\n\t */\n\tget defaultInternalExpireDate() {\n\t\treturn OC.appConfig.core.defaultInternalExpireDate\n\t}\n\n\t/**\n\t * Get the default days to remote shares expiration\n\t *\n\t * @return {number}\n\t * @readonly\n\t * @memberof Config\n\t */\n\tget defaultRemoteExpireDate() {\n\t\treturn OC.appConfig.core.defaultRemoteExpireDate\n\t}\n\n\t/**\n\t * Is resharing allowed ?\n\t *\n\t * @return {boolean}\n\t * @readonly\n\t * @memberof Config\n\t */\n\tget isResharingAllowed() {\n\t\treturn OC.appConfig.core.resharingAllowed === true\n\t}\n\n\t/**\n\t * Is password enforced for mail shares ?\n\t *\n\t * @return {boolean}\n\t * @readonly\n\t * @memberof Config\n\t */\n\tget isPasswordForMailSharesRequired() {\n\t\treturn (this._capabilities.files_sharing.sharebymail === undefined) ? false : this._capabilities.files_sharing.sharebymail.password.enforced\n\t}\n\n\t/**\n\t * @return {boolean}\n\t * @readonly\n\t * @memberof Config\n\t */\n\tget shouldAlwaysShowUnique() {\n\t\treturn (this._capabilities.files_sharing?.sharee?.always_show_unique === true)\n\t}\n\n\t/**\n\t * Is sharing with groups allowed ?\n\t *\n\t * @return {boolean}\n\t * @readonly\n\t * @memberof Config\n\t */\n\tget allowGroupSharing() {\n\t\treturn OC.appConfig.core.allowGroupSharing === true\n\t}\n\n\t/**\n\t * Get the maximum results of a share search\n\t *\n\t * @return {number}\n\t * @readonly\n\t * @memberof Config\n\t */\n\tget maxAutocompleteResults() {\n\t\treturn parseInt(OC.config['sharing.maxAutocompleteResults'], 10) || 25\n\t}\n\n\t/**\n\t * Get the minimal string length\n\t * to initiate a share search\n\t *\n\t * @return {number}\n\t * @readonly\n\t * @memberof Config\n\t */\n\tget minSearchStringLength() {\n\t\treturn parseInt(OC.config['sharing.minSearchStringLength'], 10) || 0\n\t}\n\n\t/**\n\t * Get the password policy config\n\t *\n\t * @return {object}\n\t * @readonly\n\t * @memberof Config\n\t */\n\tget passwordPolicy() {\n\t\treturn this._capabilities.password_policy ? this._capabilities.password_policy : {}\n\t}\n\n}\n","/**\n * @copyright Copyright (c) 2019 John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @author Daniel Calviño Sánchez <danxuliu@gmail.com>\n * @author Gary Kim <gary@garykim.dev>\n * @author Georg Ehrke <oc.list@georgehrke.com>\n * @author John Molakvoæ <skjnldsv@protonmail.com>\n * @author Julius Härtl <jus@bitgrid.net>\n * @author Roeland Jago Douma <roeland@famdouma.nl>\n *\n * @license AGPL-3.0-or-later\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */\n\nexport default class Share {\n\n\t_share\n\n\t/**\n\t * Create the share object\n\t *\n\t * @param {object} ocsData ocs request response\n\t */\n\tconstructor(ocsData) {\n\t\tif (ocsData.ocs && ocsData.ocs.data && ocsData.ocs.data[0]) {\n\t\t\tocsData = ocsData.ocs.data[0]\n\t\t}\n\n\t\t// convert int into boolean\n\t\tocsData.hide_download = !!ocsData.hide_download\n\t\tocsData.mail_send = !!ocsData.mail_send\n\n\t\tif (ocsData.attributes && typeof ocsData.attributes === 'string') {\n\t\t\ttry {\n\t\t\t\tocsData.attributes = JSON.parse(ocsData.attributes)\n\t\t\t} catch (e) {\n\t\t\t\tconsole.warn('Could not parse share attributes returned by server', ocsData.attributes)\n\t\t\t}\n\t\t}\n\t\tocsData.attributes = ocsData.attributes ?? []\n\n\t\t// store state\n\t\tthis._share = ocsData\n\t}\n\n\t/**\n\t * Get the share state\n\t * ! used for reactivity purpose\n\t * Do not remove. It allow vuejs to\n\t * inject its watchers into the #share\n\t * state and make the whole class reactive\n\t *\n\t * @return {object} the share raw state\n\t * @readonly\n\t * @memberof Sidebar\n\t */\n\tget state() {\n\t\treturn this._share\n\t}\n\n\t/**\n\t * get the share id\n\t *\n\t * @return {number}\n\t * @readonly\n\t * @memberof Share\n\t */\n\tget id() {\n\t\treturn this._share.id\n\t}\n\n\t/**\n\t * Get the share type\n\t *\n\t * @return {number}\n\t * @readonly\n\t * @memberof Share\n\t */\n\tget type() {\n\t\treturn this._share.share_type\n\t}\n\n\t/**\n\t * Get the share permissions\n\t * See OC.PERMISSION_* variables\n\t *\n\t * @return {number}\n\t * @readonly\n\t * @memberof Share\n\t */\n\tget permissions() {\n\t\treturn this._share.permissions\n\t}\n\n\t/**\n\t * Get the share attributes\n\t *\n\t * @return {Array}\n\t * @readonly\n\t * @memberof Share\n\t */\n\tget attributes() {\n\t\treturn this._share.attributes\n\t}\n\n\t/**\n\t * Set the share permissions\n\t * See OC.PERMISSION_* variables\n\t *\n\t * @param {number} permissions valid permission, See OC.PERMISSION_* variables\n\t * @memberof Share\n\t */\n\tset permissions(permissions) {\n\t\tthis._share.permissions = permissions\n\t}\n\n\t// SHARE OWNER --------------------------------------------------\n\t/**\n\t * Get the share owner uid\n\t *\n\t * @return {string}\n\t * @readonly\n\t * @memberof Share\n\t */\n\tget owner() {\n\t\treturn this._share.uid_owner\n\t}\n\n\t/**\n\t * Get the share owner's display name\n\t *\n\t * @return {string}\n\t * @readonly\n\t * @memberof Share\n\t */\n\tget ownerDisplayName() {\n\t\treturn this._share.displayname_owner\n\t}\n\n\t// SHARED WITH --------------------------------------------------\n\t/**\n\t * Get the share with entity uid\n\t *\n\t * @return {string}\n\t * @readonly\n\t * @memberof Share\n\t */\n\tget shareWith() {\n\t\treturn this._share.share_with\n\t}\n\n\t/**\n\t * Get the share with entity display name\n\t * fallback to its uid if none\n\t *\n\t * @return {string}\n\t * @readonly\n\t * @memberof Share\n\t */\n\tget shareWithDisplayName() {\n\t\treturn this._share.share_with_displayname\n\t\t\t|| this._share.share_with\n\t}\n\n\t/**\n\t * Unique display name in case of multiple\n\t * duplicates results with the same name.\n\t *\n\t * @return {string}\n\t * @readonly\n\t * @memberof Share\n\t */\n\tget shareWithDisplayNameUnique() {\n\t\treturn this._share.share_with_displayname_unique\n\t\t\t|| this._share.share_with\n\t}\n\n\t/**\n\t * Get the share with entity link\n\t *\n\t * @return {string}\n\t * @readonly\n\t * @memberof Share\n\t */\n\tget shareWithLink() {\n\t\treturn this._share.share_with_link\n\t}\n\n\t/**\n\t * Get the share with avatar if any\n\t *\n\t * @return {string}\n\t * @readonly\n\t * @memberof Share\n\t */\n\tget shareWithAvatar() {\n\t\treturn this._share.share_with_avatar\n\t}\n\n\t// SHARED FILE OR FOLDER OWNER ----------------------------------\n\t/**\n\t * Get the shared item owner uid\n\t *\n\t * @return {string}\n\t * @readonly\n\t * @memberof Share\n\t */\n\tget uidFileOwner() {\n\t\treturn this._share.uid_file_owner\n\t}\n\n\t/**\n\t * Get the shared item display name\n\t * fallback to its uid if none\n\t *\n\t * @return {string}\n\t * @readonly\n\t * @memberof Share\n\t */\n\tget displaynameFileOwner() {\n\t\treturn this._share.displayname_file_owner\n\t\t\t|| this._share.uid_file_owner\n\t}\n\n\t// TIME DATA ----------------------------------------------------\n\t/**\n\t * Get the share creation timestamp\n\t *\n\t * @return {number}\n\t * @readonly\n\t * @memberof Share\n\t */\n\tget createdTime() {\n\t\treturn this._share.stime\n\t}\n\n\t/**\n\t * Get the expiration date\n\t *\n\t * @return {string} date with YYYY-MM-DD format\n\t * @readonly\n\t * @memberof Share\n\t */\n\tget expireDate() {\n\t\treturn this._share.expiration\n\t}\n\n\t/**\n\t * Set the expiration date\n\t *\n\t * @param {string} date the share expiration date with YYYY-MM-DD format\n\t * @memberof Share\n\t */\n\tset expireDate(date) {\n\t\tthis._share.expiration = date\n\t}\n\n\t// EXTRA DATA ---------------------------------------------------\n\t/**\n\t * Get the public share token\n\t *\n\t * @return {string} the token\n\t * @readonly\n\t * @memberof Share\n\t */\n\tget token() {\n\t\treturn this._share.token\n\t}\n\n\t/**\n\t * Get the share note if any\n\t *\n\t * @return {string}\n\t * @readonly\n\t * @memberof Share\n\t */\n\tget note() {\n\t\treturn this._share.note\n\t}\n\n\t/**\n\t * Set the share note if any\n\t *\n\t * @param {string} note the note\n\t * @memberof Share\n\t */\n\tset note(note) {\n\t\tthis._share.note = note\n\t}\n\n\t/**\n\t * Get the share label if any\n\t * Should only exist on link shares\n\t *\n\t * @return {string}\n\t * @readonly\n\t * @memberof Share\n\t */\n\tget label() {\n\t\treturn this._share.label ?? ''\n\t}\n\n\t/**\n\t * Set the share label if any\n\t * Should only be set on link shares\n\t *\n\t * @param {string} label the label\n\t * @memberof Share\n\t */\n\tset label(label) {\n\t\tthis._share.label = label\n\t}\n\n\t/**\n\t * Have a mail been sent\n\t *\n\t * @return {boolean}\n\t * @readonly\n\t * @memberof Share\n\t */\n\tget mailSend() {\n\t\treturn this._share.mail_send === true\n\t}\n\n\t/**\n\t * Hide the download button on public page\n\t *\n\t * @return {boolean}\n\t * @readonly\n\t * @memberof Share\n\t */\n\tget hideDownload() {\n\t\treturn this._share.hide_download === true\n\t}\n\n\t/**\n\t * Hide the download button on public page\n\t *\n\t * @param {boolean} state hide the button ?\n\t * @memberof Share\n\t */\n\tset hideDownload(state) {\n\t\tthis._share.hide_download = state === true\n\t}\n\n\t/**\n\t * Password protection of the share\n\t *\n\t * @return {string}\n\t * @readonly\n\t * @memberof Share\n\t */\n\tget password() {\n\t\treturn this._share.password\n\t}\n\n\t/**\n\t * Password protection of the share\n\t *\n\t * @param {string} password the share password\n\t * @memberof Share\n\t */\n\tset password(password) {\n\t\tthis._share.password = password\n\t}\n\n\t/**\n\t * Password expiration time\n\t *\n\t * @return {string}\n\t * @readonly\n\t * @memberof Share\n\t */\n\tget passwordExpirationTime() {\n\t\treturn this._share.password_expiration_time\n\t}\n\n\t/**\n\t * Password expiration time\n\t *\n\t * @param {string} password expiration time\n\t * @memberof Share\n\t */\n\tset passwordExpirationTime(passwordExpirationTime) {\n\t\tthis._share.password_expiration_time = passwordExpirationTime\n\t}\n\n\t/**\n\t * Password protection by Talk of the share\n\t *\n\t * @return {boolean}\n\t * @readonly\n\t * @memberof Share\n\t */\n\tget sendPasswordByTalk() {\n\t\treturn this._share.send_password_by_talk\n\t}\n\n\t/**\n\t * Password protection by Talk of the share\n\t *\n\t * @param {boolean} sendPasswordByTalk whether to send the password by Talk\n\t *        or not\n\t * @memberof Share\n\t */\n\tset sendPasswordByTalk(sendPasswordByTalk) {\n\t\tthis._share.send_password_by_talk = sendPasswordByTalk\n\t}\n\n\t// SHARED ITEM DATA ---------------------------------------------\n\t/**\n\t * Get the shared item absolute full path\n\t *\n\t * @return {string}\n\t * @readonly\n\t * @memberof Share\n\t */\n\tget path() {\n\t\treturn this._share.path\n\t}\n\n\t/**\n\t * Return the item type: file or folder\n\t *\n\t * @return {string} 'folder' or 'file'\n\t * @readonly\n\t * @memberof Share\n\t */\n\tget itemType() {\n\t\treturn this._share.item_type\n\t}\n\n\t/**\n\t * Get the shared item mimetype\n\t *\n\t * @return {string}\n\t * @readonly\n\t * @memberof Share\n\t */\n\tget mimetype() {\n\t\treturn this._share.mimetype\n\t}\n\n\t/**\n\t * Get the shared item id\n\t *\n\t * @return {number}\n\t * @readonly\n\t * @memberof Share\n\t */\n\tget fileSource() {\n\t\treturn this._share.file_source\n\t}\n\n\t/**\n\t * Get the target path on the receiving end\n\t * e.g the file /xxx/aaa will be shared in\n\t * the receiving root as /aaa, the fileTarget is /aaa\n\t *\n\t * @return {string}\n\t * @readonly\n\t * @memberof Share\n\t */\n\tget fileTarget() {\n\t\treturn this._share.file_target\n\t}\n\n\t/**\n\t * Get the parent folder id if any\n\t *\n\t * @return {number}\n\t * @readonly\n\t * @memberof Share\n\t */\n\tget fileParent() {\n\t\treturn this._share.file_parent\n\t}\n\n\t// PERMISSIONS Shortcuts\n\n\t/**\n\t * Does this share have READ permissions\n\t *\n\t * @return {boolean}\n\t * @readonly\n\t * @memberof Share\n\t */\n\tget hasReadPermission() {\n\t\treturn !!((this.permissions & OC.PERMISSION_READ))\n\t}\n\n\t/**\n\t * Does this share have CREATE permissions\n\t *\n\t * @return {boolean}\n\t * @readonly\n\t * @memberof Share\n\t */\n\tget hasCreatePermission() {\n\t\treturn !!((this.permissions & OC.PERMISSION_CREATE))\n\t}\n\n\t/**\n\t * Does this share have DELETE permissions\n\t *\n\t * @return {boolean}\n\t * @readonly\n\t * @memberof Share\n\t */\n\tget hasDeletePermission() {\n\t\treturn !!((this.permissions & OC.PERMISSION_DELETE))\n\t}\n\n\t/**\n\t * Does this share have UPDATE permissions\n\t *\n\t * @return {boolean}\n\t * @readonly\n\t * @memberof Share\n\t */\n\tget hasUpdatePermission() {\n\t\treturn !!((this.permissions & OC.PERMISSION_UPDATE))\n\t}\n\n\t/**\n\t * Does this share have SHARE permissions\n\t *\n\t * @return {boolean}\n\t * @readonly\n\t * @memberof Share\n\t */\n\tget hasSharePermission() {\n\t\treturn !!((this.permissions & OC.PERMISSION_SHARE))\n\t}\n\n\t/**\n\t * Does this share have download permissions\n\t *\n\t * @return {boolean}\n\t * @readonly\n\t * @memberof Share\n\t */\n\tget hasDownloadPermission() {\n\t\tfor (const i in this._share.attributes) {\n\t\t\tconst attr = this._share.attributes[i]\n\t\t\tif (attr.scope === 'permissions' && attr.key === 'download') {\n\t\t\t\treturn attr.enabled\n\t\t\t}\n\t\t}\n\n\t\treturn true\n\t}\n\n\tset hasDownloadPermission(enabled) {\n\t\tthis.setAttribute('permissions', 'download', !!enabled)\n\t}\n\n\tsetAttribute(scope, key, enabled) {\n\t\tconst attrUpdate = {\n\t\t\tscope,\n\t\t\tkey,\n\t\t\tenabled,\n\t\t}\n\n\t\t// try and replace existing\n\t\tfor (const i in this._share.attributes) {\n\t\t\tconst attr = this._share.attributes[i]\n\t\t\tif (attr.scope === attrUpdate.scope && attr.key === attrUpdate.key) {\n\t\t\t\tthis._share.attributes.splice(i, 1, attrUpdate)\n\t\t\t\treturn\n\t\t\t}\n\t\t}\n\n\t\tthis._share.attributes.push(attrUpdate)\n\t}\n\n\t// PERMISSIONS Shortcuts for the CURRENT USER\n\t// ! the permissions above are the share settings,\n\t// ! meaning the permissions for the recipient\n\t/**\n\t * Can the current user EDIT this share ?\n\t *\n\t * @return {boolean}\n\t * @readonly\n\t * @memberof Share\n\t */\n\tget canEdit() {\n\t\treturn this._share.can_edit === true\n\t}\n\n\t/**\n\t * Can the current user DELETE this share ?\n\t *\n\t * @return {boolean}\n\t * @readonly\n\t * @memberof Share\n\t */\n\tget canDelete() {\n\t\treturn this._share.can_delete === true\n\t}\n\n\t/**\n\t * Top level accessible shared folder fileid for the current user\n\t *\n\t * @return {string}\n\t * @readonly\n\t * @memberof Share\n\t */\n\tget viaFileid() {\n\t\treturn this._share.via_fileid\n\t}\n\n\t/**\n\t * Top level accessible shared folder path for the current user\n\t *\n\t * @return {string}\n\t * @readonly\n\t * @memberof Share\n\t */\n\tget viaPath() {\n\t\treturn this._share.via_path\n\t}\n\n\t// TODO: SORT THOSE PROPERTIES\n\n\tget parent() {\n\t\treturn this._share.parent\n\t}\n\n\tget storageId() {\n\t\treturn this._share.storage_id\n\t}\n\n\tget storage() {\n\t\treturn this._share.storage\n\t}\n\n\tget itemSource() {\n\t\treturn this._share.item_source\n\t}\n\n\tget status() {\n\t\treturn this._share.status\n\t}\n\n}\n","/**\n * @copyright Copyright (c) 2019 John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @author John Molakvoæ <skjnldsv@protonmail.com>\n * @author Julius Härtl <jus@bitgrid.net>\n *\n * @license AGPL-3.0-or-later\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */\n\nimport { Type as ShareTypes } from '@nextcloud/sharing'\n\nexport default {\n\tdata() {\n\t\treturn {\n\t\t\tSHARE_TYPES: ShareTypes,\n\t\t}\n\t},\n}\n","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('ul',[_c('SharingEntrySimple',{ref:\"shareEntrySimple\",staticClass:\"sharing-entry__internal\",attrs:{\"title\":_vm.t('files_sharing', 'Internal link'),\"subtitle\":_vm.internalLinkSubtitle},scopedSlots:_vm._u([{key:\"avatar\",fn:function(){return [_c('div',{staticClass:\"avatar-external icon-external-white\"})]},proxy:true}])},[_vm._v(\" \"),_c('NcActionButton',{attrs:{\"title\":_vm.copyLinkTooltip,\"aria-label\":_vm.copyLinkTooltip},on:{\"click\":_vm.copyLink},scopedSlots:_vm._u([{key:\"icon\",fn:function(){return [(_vm.copied && _vm.copySuccess)?_c('CheckIcon',{staticClass:\"icon-checkmark-color\",attrs:{\"size\":20}}):_c('ClipboardIcon',{attrs:{\"size\":20}})]},proxy:true}])})],1)],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\n  <span v-bind=\"$attrs\"\n        :aria-hidden=\"title ? null : true\"\n        :aria-label=\"title\"\n        class=\"material-design-icon check-bold-icon\"\n        role=\"img\"\n        @click=\"$emit('click', $event)\">\n    <svg :fill=\"fillColor\"\n         class=\"material-design-icon__svg\"\n         :width=\"size\"\n         :height=\"size\"\n         viewBox=\"0 0 24 24\">\n      <path d=\"M9,20.42L2.79,14.21L5.62,11.38L9,14.77L18.88,4.88L21.71,7.71L9,20.42Z\">\n        <title v-if=\"title\">{{ title }}</title>\n      </path>\n    </svg>\n  </span>\n</template>\n\n<script>\nexport default {\n  name: \"CheckBoldIcon\",\n  emits: ['click'],\n  props: {\n    title: {\n      type: String,\n    },\n    fillColor: {\n      type: String,\n      default: \"currentColor\"\n    },\n    size: {\n      type: Number,\n      default: 24\n    }\n  }\n}\n</script>","import mod from \"-!../vue-loader/lib/index.js??vue-loader-options!./CheckBold.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../vue-loader/lib/index.js??vue-loader-options!./CheckBold.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./CheckBold.vue?vue&type=template&id=d4239c4a\"\nimport script from \"./CheckBold.vue?vue&type=script&lang=js\"\nexport * from \"./CheckBold.vue?vue&type=script&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n  script,\n  render,\n  staticRenderFns,\n  false,\n  null,\n  null,\n  null\n  \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('span',_vm._b({staticClass:\"material-design-icon check-bold-icon\",attrs:{\"aria-hidden\":_vm.title ? null : true,\"aria-label\":_vm.title,\"role\":\"img\"},on:{\"click\":function($event){return _vm.$emit('click', $event)}}},'span',_vm.$attrs,false),[_c('svg',{staticClass:\"material-design-icon__svg\",attrs:{\"fill\":_vm.fillColor,\"width\":_vm.size,\"height\":_vm.size,\"viewBox\":\"0 0 24 24\"}},[_c('path',{attrs:{\"d\":\"M9,20.42L2.79,14.21L5.62,11.38L9,14.77L18.88,4.88L21.71,7.71L9,20.42Z\"}},[(_vm.title)?_c('title',[_vm._v(_vm._s(_vm.title))]):_vm._e()])])])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import mod from \"-!../vue-loader/lib/index.js??vue-loader-options!./ClipboardFlow.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../vue-loader/lib/index.js??vue-loader-options!./ClipboardFlow.vue?vue&type=script&lang=js\"","<template>\n  <span v-bind=\"$attrs\"\n        :aria-hidden=\"title ? null : true\"\n        :aria-label=\"title\"\n        class=\"material-design-icon clipboard-flow-icon\"\n        role=\"img\"\n        @click=\"$emit('click', $event)\">\n    <svg :fill=\"fillColor\"\n         class=\"material-design-icon__svg\"\n         :width=\"size\"\n         :height=\"size\"\n         viewBox=\"0 0 24 24\">\n      <path d=\"M19,3H14.82C14.4,1.84 13.3,1 12,1C10.7,1 9.6,1.84 9.18,3H5A2,2 0 0,0 3,5V19A2,2 0 0,0 5,21H19A2,2 0 0,0 21,19V5A2,2 0 0,0 19,3M12,3A1,1 0 0,1 13,4A1,1 0 0,1 12,5A1,1 0 0,1 11,4A1,1 0 0,1 12,3M15,19L11,15H14V8H16V15H19L15,19M10,16H8V9H5L9,5L13,9H10V16\">\n        <title v-if=\"title\">{{ title }}</title>\n      </path>\n    </svg>\n  </span>\n</template>\n\n<script>\nexport default {\n  name: \"ClipboardFlowIcon\",\n  emits: ['click'],\n  props: {\n    title: {\n      type: String,\n    },\n    fillColor: {\n      type: String,\n      default: \"currentColor\"\n    },\n    size: {\n      type: Number,\n      default: 24\n    }\n  }\n}\n</script>","import { render, staticRenderFns } from \"./ClipboardFlow.vue?vue&type=template&id=692acad9\"\nimport script from \"./ClipboardFlow.vue?vue&type=script&lang=js\"\nexport * from \"./ClipboardFlow.vue?vue&type=script&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n  script,\n  render,\n  staticRenderFns,\n  false,\n  null,\n  null,\n  null\n  \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('span',_vm._b({staticClass:\"material-design-icon clipboard-flow-icon\",attrs:{\"aria-hidden\":_vm.title ? null : true,\"aria-label\":_vm.title,\"role\":\"img\"},on:{\"click\":function($event){return _vm.$emit('click', $event)}}},'span',_vm.$attrs,false),[_c('svg',{staticClass:\"material-design-icon__svg\",attrs:{\"fill\":_vm.fillColor,\"width\":_vm.size,\"height\":_vm.size,\"viewBox\":\"0 0 24 24\"}},[_c('path',{attrs:{\"d\":\"M19,3H14.82C14.4,1.84 13.3,1 12,1C10.7,1 9.6,1.84 9.18,3H5A2,2 0 0,0 3,5V19A2,2 0 0,0 5,21H19A2,2 0 0,0 21,19V5A2,2 0 0,0 19,3M12,3A1,1 0 0,1 13,4A1,1 0 0,1 12,5A1,1 0 0,1 11,4A1,1 0 0,1 12,3M15,19L11,15H14V8H16V15H19L15,19M10,16H8V9H5L9,5L13,9H10V16\"}},[(_vm.title)?_c('title',[_vm._v(_vm._s(_vm.title))]):_vm._e()])])])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import mod from \"-!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SharingEntrySimple.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SharingEntrySimple.vue?vue&type=script&lang=js\"","<!--\n  - @copyright Copyright (c) 2019 John Molakvoæ <skjnldsv@protonmail.com>\n  -\n  - @author John Molakvoæ <skjnldsv@protonmail.com>\n  -\n  - @license GNU AGPL version 3 or any later version\n  -\n  - This program is free software: you can redistribute it and/or modify\n  - it under the terms of the GNU Affero General Public License as\n  - published by the Free Software Foundation, either version 3 of the\n  - License, or (at your option) any later version.\n  -\n  - This program is distributed in the hope that it will be useful,\n  - but WITHOUT ANY WARRANTY; without even the implied warranty of\n  - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\n  - GNU Affero General Public License for more details.\n  -\n  - You should have received a copy of the GNU Affero General Public License\n  - along with this program. If not, see <http://www.gnu.org/licenses/>.\n  -\n  -->\n\n<template>\n\t<li class=\"sharing-entry\">\n\t\t<slot name=\"avatar\" />\n\t\t<div class=\"sharing-entry__desc\">\n\t\t\t<span class=\"sharing-entry__title\">{{ title }}</span>\n\t\t\t<p v-if=\"subtitle\">\n\t\t\t\t{{ subtitle }}\n\t\t\t</p>\n\t\t</div>\n\t\t<NcActions v-if=\"$slots['default']\"\n\t\t\tref=\"actionsComponent\"\n\t\t\tclass=\"sharing-entry__actions\"\n\t\t\tmenu-align=\"right\"\n\t\t\t:aria-expanded=\"ariaExpandedValue\">\n\t\t\t<slot />\n\t\t</NcActions>\n\t</li>\n</template>\n\n<script>\nimport NcActions from '@nextcloud/vue/dist/Components/NcActions.js'\n\nexport default {\n\tname: 'SharingEntrySimple',\n\n\tcomponents: {\n\t\tNcActions,\n\t},\n\n\tprops: {\n\t\ttitle: {\n\t\t\ttype: String,\n\t\t\tdefault: '',\n\t\t\trequired: true,\n\t\t},\n\t\tsubtitle: {\n\t\t\ttype: String,\n\t\t\tdefault: '',\n\t\t},\n\t\tisUnique: {\n\t\t\ttype: Boolean,\n\t\t\tdefault: true,\n\t\t},\n\t\tariaExpanded: {\n\t\t\ttype: Boolean,\n\t\t\tdefault: null,\n\t\t},\n\t},\n\n\tcomputed: {\n\t\tariaExpandedValue() {\n\t\t\tif (this.ariaExpanded === null) {\n\t\t\t\treturn this.ariaExpanded\n\t\t\t}\n\t\t\treturn this.ariaExpanded ? 'true' : 'false'\n\t\t},\n\t},\n}\n</script>\n\n<style lang=\"scss\" scoped>\n.sharing-entry {\n\tdisplay: flex;\n\talign-items: center;\n\tmin-height: 44px;\n\t&__desc {\n\t\tpadding: 8px;\n\t\tpadding-left: 10px;\n\t\tline-height: 1.2em;\n\t\tposition: relative;\n\t\tflex: 1 1;\n\t\tmin-width: 0;\n\t\tp {\n\t\t\tcolor: var(--color-text-maxcontrast);\n\t\t}\n\t}\n\t&__title {\n\t\twhite-space: nowrap;\n\t\ttext-overflow: ellipsis;\n\t\toverflow: hidden;\n\t\tmax-width: inherit;\n\t}\n\t&__actions {\n\t\tmargin-left: auto !important;\n\t}\n}\n</style>\n","\n      import API from \"!../../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n      import domAPI from \"!../../../../node_modules/style-loader/dist/runtime/styleDomAPI.js\";\n      import insertFn from \"!../../../../node_modules/style-loader/dist/runtime/insertBySelector.js\";\n      import setAttributes from \"!../../../../node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js\";\n      import insertStyleElement from \"!../../../../node_modules/style-loader/dist/runtime/insertStyleElement.js\";\n      import styleTagTransformFn from \"!../../../../node_modules/style-loader/dist/runtime/styleTagTransform.js\";\n      import content, * as namedExport from \"!!../../../../node_modules/css-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/sass-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SharingEntrySimple.vue?vue&type=style&index=0&id=1852ea78&prod&lang=scss&scoped=true\";\n      \n      \n\nvar options = {};\n\noptions.styleTagTransform = styleTagTransformFn;\noptions.setAttributes = setAttributes;\n\n      options.insert = insertFn.bind(null, \"head\");\n    \noptions.domAPI = domAPI;\noptions.insertStyleElement = insertStyleElement;\n\nvar update = API(content, options);\n\n\n\nexport * from \"!!../../../../node_modules/css-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/sass-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SharingEntrySimple.vue?vue&type=style&index=0&id=1852ea78&prod&lang=scss&scoped=true\";\n       export default content && content.locals ? content.locals : undefined;\n","import { render, staticRenderFns } from \"./SharingEntrySimple.vue?vue&type=template&id=1852ea78&scoped=true\"\nimport script from \"./SharingEntrySimple.vue?vue&type=script&lang=js\"\nexport * from \"./SharingEntrySimple.vue?vue&type=script&lang=js\"\nimport style0 from \"./SharingEntrySimple.vue?vue&type=style&index=0&id=1852ea78&prod&lang=scss&scoped=true\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n  script,\n  render,\n  staticRenderFns,\n  false,\n  null,\n  \"1852ea78\",\n  null\n  \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('li',{staticClass:\"sharing-entry\"},[_vm._t(\"avatar\"),_vm._v(\" \"),_c('div',{staticClass:\"sharing-entry__desc\"},[_c('span',{staticClass:\"sharing-entry__title\"},[_vm._v(_vm._s(_vm.title))]),_vm._v(\" \"),(_vm.subtitle)?_c('p',[_vm._v(\"\\n\\t\\t\\t\"+_vm._s(_vm.subtitle)+\"\\n\\t\\t\")]):_vm._e()]),_vm._v(\" \"),(_vm.$slots['default'])?_c('NcActions',{ref:\"actionsComponent\",staticClass:\"sharing-entry__actions\",attrs:{\"menu-align\":\"right\",\"aria-expanded\":_vm.ariaExpandedValue}},[_vm._t(\"default\")],2):_vm._e()],2)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\n\t<ul>\n\t\t<SharingEntrySimple ref=\"shareEntrySimple\"\n\t\t\tclass=\"sharing-entry__internal\"\n\t\t\t:title=\"t('files_sharing', 'Internal link')\"\n\t\t\t:subtitle=\"internalLinkSubtitle\">\n\t\t\t<template #avatar>\n\t\t\t\t<div class=\"avatar-external icon-external-white\" />\n\t\t\t</template>\n\n\t\t\t<NcActionButton :title=\"copyLinkTooltip\"\n\t\t\t\t:aria-label=\"copyLinkTooltip\"\n\t\t\t\t@click=\"copyLink\">\n\t\t\t\t<template #icon>\n\t\t\t\t\t<CheckIcon v-if=\"copied && copySuccess\"\n\t\t\t\t\t\t:size=\"20\"\n\t\t\t\t\t\tclass=\"icon-checkmark-color\" />\n\t\t\t\t\t<ClipboardIcon v-else :size=\"20\" />\n\t\t\t\t</template>\n\t\t\t</NcActionButton>\n\t\t</SharingEntrySimple>\n\t</ul>\n</template>\n\n<script>\nimport { generateUrl } from '@nextcloud/router'\nimport { showSuccess } from '@nextcloud/dialogs'\nimport NcActionButton from '@nextcloud/vue/dist/Components/NcActionButton.js'\n\nimport CheckIcon from 'vue-material-design-icons/CheckBold.vue'\nimport ClipboardIcon from 'vue-material-design-icons/ClipboardFlow.vue'\n\nimport SharingEntrySimple from './SharingEntrySimple.vue'\n\nexport default {\n\tname: 'SharingEntryInternal',\n\n\tcomponents: {\n\t\tNcActionButton,\n\t\tSharingEntrySimple,\n\t\tCheckIcon,\n\t\tClipboardIcon,\n\t},\n\n\tprops: {\n\t\tfileInfo: {\n\t\t\ttype: Object,\n\t\t\tdefault: () => {},\n\t\t\trequired: true,\n\t\t},\n\t},\n\n\tdata() {\n\t\treturn {\n\t\t\tcopied: false,\n\t\t\tcopySuccess: false,\n\t\t}\n\t},\n\n\tcomputed: {\n\t\t/**\n\t\t * Get the internal link to this file id\n\t\t *\n\t\t * @return {string}\n\t\t */\n\t\tinternalLink() {\n\t\t\treturn window.location.protocol + '//' + window.location.host + generateUrl('/f/') + this.fileInfo.id\n\t\t},\n\n\t\t/**\n\t\t * Tooltip message\n\t\t *\n\t\t * @return {string}\n\t\t */\n\t\tcopyLinkTooltip() {\n\t\t\tif (this.copied) {\n\t\t\t\tif (this.copySuccess) {\n\t\t\t\t\treturn ''\n\t\t\t\t}\n\t\t\t\treturn t('files_sharing', 'Cannot copy, please copy the link manually')\n\t\t\t}\n\t\t\treturn t('files_sharing', 'Copy internal link to clipboard')\n\t\t},\n\n\t\tinternalLinkSubtitle() {\n\t\t\tif (this.fileInfo.type === 'dir') {\n\t\t\t\treturn t('files_sharing', 'Only works for people with access to this folder')\n\t\t\t}\n\t\t\treturn t('files_sharing', 'Only works for people with access to this file')\n\t\t},\n\t},\n\n\tmethods: {\n\t\tasync copyLink() {\n\t\t\ttry {\n\t\t\t\tawait navigator.clipboard.writeText(this.internalLink)\n\t\t\t\tshowSuccess(t('files_sharing', 'Link copied'))\n\t\t\t\tthis.$refs.shareEntrySimple.$refs.actionsComponent.$el.focus()\n\t\t\t\tthis.copySuccess = true\n\t\t\t\tthis.copied = true\n\t\t\t} catch (error) {\n\t\t\t\tthis.copySuccess = false\n\t\t\t\tthis.copied = true\n\t\t\t\tconsole.error(error)\n\t\t\t} finally {\n\t\t\t\tsetTimeout(() => {\n\t\t\t\t\tthis.copySuccess = false\n\t\t\t\t\tthis.copied = false\n\t\t\t\t}, 4000)\n\t\t\t}\n\t\t},\n\t},\n}\n</script>\n\n<style lang=\"scss\" scoped>\n.sharing-entry__internal {\n\t.avatar-external {\n\t\twidth: 32px;\n\t\theight: 32px;\n\t\tline-height: 32px;\n\t\tfont-size: 18px;\n\t\tbackground-color: var(--color-text-maxcontrast);\n\t\tborder-radius: 50%;\n\t\tflex-shrink: 0;\n\t}\n\t.icon-checkmark-color {\n\t\topacity: 1;\n\t\tcolor: var(--color-success);\n\t}\n}\n</style>\n","import mod from \"-!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SharingEntryInternal.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SharingEntryInternal.vue?vue&type=script&lang=js\"","\n      import API from \"!../../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n      import domAPI from \"!../../../../node_modules/style-loader/dist/runtime/styleDomAPI.js\";\n      import insertFn from \"!../../../../node_modules/style-loader/dist/runtime/insertBySelector.js\";\n      import setAttributes from \"!../../../../node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js\";\n      import insertStyleElement from \"!../../../../node_modules/style-loader/dist/runtime/insertStyleElement.js\";\n      import styleTagTransformFn from \"!../../../../node_modules/style-loader/dist/runtime/styleTagTransform.js\";\n      import content, * as namedExport from \"!!../../../../node_modules/css-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/sass-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SharingEntryInternal.vue?vue&type=style&index=0&id=e40cd936&prod&lang=scss&scoped=true\";\n      \n      \n\nvar options = {};\n\noptions.styleTagTransform = styleTagTransformFn;\noptions.setAttributes = setAttributes;\n\n      options.insert = insertFn.bind(null, \"head\");\n    \noptions.domAPI = domAPI;\noptions.insertStyleElement = insertStyleElement;\n\nvar update = API(content, options);\n\n\n\nexport * from \"!!../../../../node_modules/css-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/sass-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SharingEntryInternal.vue?vue&type=style&index=0&id=e40cd936&prod&lang=scss&scoped=true\";\n       export default content && content.locals ? content.locals : undefined;\n","import { render, staticRenderFns } from \"./SharingEntryInternal.vue?vue&type=template&id=e40cd936&scoped=true\"\nimport script from \"./SharingEntryInternal.vue?vue&type=script&lang=js\"\nexport * from \"./SharingEntryInternal.vue?vue&type=script&lang=js\"\nimport style0 from \"./SharingEntryInternal.vue?vue&type=style&index=0&id=e40cd936&prod&lang=scss&scoped=true\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n  script,\n  render,\n  staticRenderFns,\n  false,\n  null,\n  \"e40cd936\",\n  null\n  \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',{staticClass:\"sharing-search\"},[_c('label',{attrs:{\"for\":\"sharing-search-input\"}},[_vm._v(_vm._s(_vm.t('files_sharing', 'Search for share recipients')))]),_vm._v(\" \"),_c('NcSelect',{ref:\"select\",staticClass:\"sharing-search__input\",attrs:{\"input-id\":\"sharing-search-input\",\"disabled\":!_vm.canReshare,\"loading\":_vm.loading,\"filterable\":false,\"placeholder\":_vm.inputPlaceholder,\"clear-search-on-blur\":() => false,\"user-select\":true,\"options\":_vm.options},on:{\"search\":_vm.asyncFind,\"option:selected\":_vm.onSelected},scopedSlots:_vm._u([{key:\"no-options\",fn:function({ search }){return [_vm._v(\"\\n\\t\\t\\t\"+_vm._s(search ? _vm.noResultText : _vm.t('files_sharing', 'No recommendations. Start typing.'))+\"\\n\\t\\t\")]}}]),model:{value:(_vm.value),callback:function ($$v) {_vm.value=$$v},expression:\"value\"}})],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","/**\n * @copyright Copyright (c) 2020 John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @author John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @license AGPL-3.0-or-later\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */\n\nimport axios from '@nextcloud/axios'\nimport Config from '../services/ConfigService.js'\nimport { showError, showSuccess } from '@nextcloud/dialogs'\n\nconst config = new Config()\n// note: some chars removed on purpose to make them human friendly when read out\nconst passwordSet = 'abcdefgijkmnopqrstwxyzABCDEFGHJKLMNPQRSTWXYZ23456789'\n\n/**\n * Generate a valid policy password or\n * request a valid password if password_policy\n * is enabled\n *\n * @return {string} a valid password\n */\nexport default async function() {\n\t// password policy is enabled, let's request a pass\n\tif (config.passwordPolicy.api && config.passwordPolicy.api.generate) {\n\t\ttry {\n\t\t\tconst request = await axios.get(config.passwordPolicy.api.generate)\n\t\t\tif (request.data.ocs.data.password) {\n\t\t\t\tshowSuccess(t('files_sharing', 'Password created successfully'))\n\t\t\t\treturn request.data.ocs.data.password\n\t\t\t}\n\t\t} catch (error) {\n\t\t\tconsole.info('Error generating password from password_policy', error)\n\t\t\tshowError(t('files_sharing', 'Error generating password from password policy'))\n\t\t}\n\t}\n\n\tconst array = new Uint8Array(10)\n\tconst ratio = passwordSet.length / 255\n\tself.crypto.getRandomValues(array)\n\tlet password = ''\n\tfor (let i = 0; i < array.length; i++) {\n\t\tpassword += passwordSet.charAt(array[i] * ratio)\n\t}\n\treturn password\n}\n","/**\n * @copyright Copyright (c) 2019 John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @author Christoph Wurst <christoph@winzerhof-wurst.at>\n * @author Joas Schilling <coding@schilljs.com>\n * @author John Molakvoæ <skjnldsv@protonmail.com>\n * @author Julius Härtl <jus@bitgrid.net>\n *\n * @license AGPL-3.0-or-later\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */\n\n// TODO: remove when ie not supported\nimport 'url-search-params-polyfill'\n\nimport { generateOcsUrl } from '@nextcloud/router'\nimport axios from '@nextcloud/axios'\nimport Share from '../models/Share.js'\nimport { emit } from '@nextcloud/event-bus'\n\nconst shareUrl = generateOcsUrl('apps/files_sharing/api/v1/shares')\n\nexport default {\n\tmethods: {\n\t\t/**\n\t\t * Create a new share\n\t\t *\n\t\t * @param {object} data destructuring object\n\t\t * @param {string} data.path  path to the file/folder which should be shared\n\t\t * @param {number} data.shareType  0 = user; 1 = group; 3 = public link; 6 = federated cloud share\n\t\t * @param {string} data.shareWith  user/group id with which the file should be shared (optional for shareType > 1)\n\t\t * @param {boolean} [data.publicUpload]  allow public upload to a public shared folder\n\t\t * @param {string} [data.password]  password to protect public link Share with\n\t\t * @param {number} [data.permissions]  1 = read; 2 = update; 4 = create; 8 = delete; 16 = share; 31 = all (default: 31, for public shares: 1)\n\t\t * @param {boolean} [data.sendPasswordByTalk] send the password via a talk conversation\n\t\t * @param {string} [data.expireDate] expire the shareautomatically after\n\t\t * @param {string} [data.label] custom label\n\t\t * @param {string} [data.attributes] Share attributes encoded as json\n\t\t * @param data.note\n\t\t * @return {Share} the new share\n\t\t * @throws {Error}\n\t\t */\n\t\tasync createShare({ path, permissions, shareType, shareWith, publicUpload, password, sendPasswordByTalk, expireDate, label, note, attributes }) {\n\t\t\ttry {\n\t\t\t\tconst request = await axios.post(shareUrl, { path, permissions, shareType, shareWith, publicUpload, password, sendPasswordByTalk, expireDate, label, note, attributes })\n\t\t\t\tif (!request?.data?.ocs) {\n\t\t\t\t\tthrow request\n\t\t\t\t}\n\t\t\t\tconst share = new Share(request.data.ocs.data)\n\t\t\t\temit('files_sharing:share:created', { share })\n\t\t\t\treturn share\n\t\t\t} catch (error) {\n\t\t\t\tconsole.error('Error while creating share', error)\n\t\t\t\tconst errorMessage = error?.response?.data?.ocs?.meta?.message\n\t\t\t\tOC.Notification.showTemporary(\n\t\t\t\t\terrorMessage ? t('files_sharing', 'Error creating the share: {errorMessage}', { errorMessage }) : t('files_sharing', 'Error creating the share'),\n\t\t\t\t\t{ type: 'error' },\n\t\t\t\t)\n\t\t\t\tthrow error\n\t\t\t}\n\t\t},\n\n\t\t/**\n\t\t * Delete a share\n\t\t *\n\t\t * @param {number} id share id\n\t\t * @throws {Error}\n\t\t */\n\t\tasync deleteShare(id) {\n\t\t\ttry {\n\t\t\t\tconst request = await axios.delete(shareUrl + `/${id}`)\n\t\t\t\tif (!request?.data?.ocs) {\n\t\t\t\t\tthrow request\n\t\t\t\t}\n\t\t\t\temit('files_sharing:share:deleted', { id })\n\t\t\t\treturn true\n\t\t\t} catch (error) {\n\t\t\t\tconsole.error('Error while deleting share', error)\n\t\t\t\tconst errorMessage = error?.response?.data?.ocs?.meta?.message\n\t\t\t\tOC.Notification.showTemporary(\n\t\t\t\t\terrorMessage ? t('files_sharing', 'Error deleting the share: {errorMessage}', { errorMessage }) : t('files_sharing', 'Error deleting the share'),\n\t\t\t\t\t{ type: 'error' },\n\t\t\t\t)\n\t\t\t\tthrow error\n\t\t\t}\n\t\t},\n\n\t\t/**\n\t\t * Update a share\n\t\t *\n\t\t * @param {number} id share id\n\t\t * @param {object} properties key-value object of the properties to update\n\t\t */\n\t\tasync updateShare(id, properties) {\n\t\t\ttry {\n\t\t\t\tconst request = await axios.put(shareUrl + `/${id}`, properties)\n\t\t\t\temit('files_sharing:share:updated', { id })\n\t\t\t\tif (!request?.data?.ocs) {\n\t\t\t\t\tthrow request\n\t\t\t\t} else {\n\t\t\t\t\treturn request.data.ocs.data\n\t\t\t\t}\n\t\t\t} catch (error) {\n\t\t\t\tconsole.error('Error while updating share', error)\n\t\t\t\tif (error.response.status !== 400) {\n\t\t\t\t\tconst errorMessage = error?.response?.data?.ocs?.meta?.message\n\t\t\t\t\tOC.Notification.showTemporary(\n\t\t\t\t\t\terrorMessage ? t('files_sharing', 'Error updating the share: {errorMessage}', { errorMessage }) : t('files_sharing', 'Error updating the share'),\n\t\t\t\t\t\t{ type: 'error' },\n\t\t\t\t\t)\n\t\t\t\t}\n\t\t\t\tconst message = error.response.data.ocs.meta.message\n\t\t\t\tthrow new Error(message)\n\t\t\t}\n\t\t},\n\t},\n}\n","import Share from '../models/Share.js'\n\nexport default {\n\tmethods: {\n\t\tasync openSharingDetails(shareRequestObject) {\n\t\t\tlet share = {}\n\t\t\t// handle externalResults from OCA.Sharing.ShareSearch\n\t\t\t// TODO : Better name/interface for handler required\n\t\t\t// For example `externalAppCreateShareHook` with proper documentation\n\t\t\tif (shareRequestObject.handler) {\n\t\t\t\tif (this.suggestions) {\n\t\t\t\t\tshareRequestObject.suggestions = this.suggestions\n\t\t\t\t\tshareRequestObject.fileInfo = this.fileInfo\n\t\t\t\t\tshareRequestObject.query = this.query\n\t\t\t\t}\n\t\t\t\tshare = await shareRequestObject.handler(shareRequestObject)\n\t\t\t\tshare = new Share(share)\n\t\t\t} else {\n\t\t\t\tshare = this.mapShareRequestToShareObject(shareRequestObject)\n\t\t\t}\n\n\t\t\tconst shareDetails = {\n\t\t\t\tfileInfo: this.fileInfo,\n\t\t\t\tshare,\n\t\t\t}\n\n\t\t\tthis.$emit('open-sharing-details', shareDetails)\n\t\t},\n\t\topenShareDetailsForCustomSettings(share) {\n\t\t\tshare.setCustomPermissions = true\n\t\t\tthis.openSharingDetails(share)\n\t\t},\n\t\tmapShareRequestToShareObject(shareRequestObject) {\n\n\t\t\tif (shareRequestObject.id) {\n\t\t\t\treturn shareRequestObject\n\t\t\t}\n\n\t\t\tconst share = {\n\t\t\t\tattributes: [\n\t\t\t\t\t{\n\t\t\t\t\t\tenabled: true,\n\t\t\t\t\t\tkey: 'download',\n\t\t\t\t\t\tscope: 'permissions',\n\t\t\t\t\t},\n\t\t\t\t],\n\t\t\t\tshare_type: shareRequestObject.shareType,\n\t\t\t\tshare_with: shareRequestObject.shareWith,\n\t\t\t\tis_no_user: shareRequestObject.isNoUser,\n\t\t\t\tuser: shareRequestObject.shareWith,\n\t\t\t\tshare_with_displayname: shareRequestObject.displayName,\n\t\t\t\tsubtitle: shareRequestObject.subtitle,\n\t\t\t\tpermissions: shareRequestObject.permissions,\n\t\t\t\texpiration: '',\n\t\t\t}\n\n\t\t\treturn new Share(share)\n\t\t},\n\t},\n}\n","<!--\n  - @copyright Copyright (c) 2019 John Molakvoæ <skjnldsv@protonmail.com>\n  -\n  - @author John Molakvoæ <skjnldsv@protonmail.com>\n  -\n  - @license GNU AGPL version 3 or any later version\n  -\n  - This program is free software: you can redistribute it and/or modify\n  - it under the terms of the GNU Affero General Public License as\n  - published by the Free Software Foundation, either version 3 of the\n  - License, or (at your option) any later version.\n  -\n  - This program is distributed in the hope that it will be useful,\n  - but WITHOUT ANY WARRANTY; without even the implied warranty of\n  - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\n  - GNU Affero General Public License for more details.\n  -\n  - You should have received a copy of the GNU Affero General Public License\n  - along with this program. If not, see <http://www.gnu.org/licenses/>.\n  -\n  -->\n\n<template>\n\t<div class=\"sharing-search\">\n\t\t<label for=\"sharing-search-input\">{{ t('files_sharing', 'Search for share recipients') }}</label>\n\t\t<NcSelect ref=\"select\"\n\t\t\tv-model=\"value\"\n\t\t\tinput-id=\"sharing-search-input\"\n\t\t\tclass=\"sharing-search__input\"\n\t\t\t:disabled=\"!canReshare\"\n\t\t\t:loading=\"loading\"\n\t\t\t:filterable=\"false\"\n\t\t\t:placeholder=\"inputPlaceholder\"\n\t\t\t:clear-search-on-blur=\"() => false\"\n\t\t\t:user-select=\"true\"\n\t\t\t:options=\"options\"\n\t\t\t@search=\"asyncFind\"\n\t\t\t@option:selected=\"onSelected\">\n\t\t\t<template #no-options=\"{ search }\">\n\t\t\t\t{{ search ? noResultText : t('files_sharing', 'No recommendations. Start typing.') }}\n\t\t\t</template>\n\t\t</NcSelect>\n\t</div>\n</template>\n\n<script>\nimport { generateOcsUrl } from '@nextcloud/router'\nimport { getCurrentUser } from '@nextcloud/auth'\nimport { getCapabilities } from '@nextcloud/capabilities'\nimport axios from '@nextcloud/axios'\nimport debounce from 'debounce'\nimport NcSelect from '@nextcloud/vue/dist/Components/NcSelect.js'\n\nimport Config from '../services/ConfigService.js'\nimport GeneratePassword from '../utils/GeneratePassword.js'\nimport Share from '../models/Share.js'\nimport ShareRequests from '../mixins/ShareRequests.js'\nimport ShareTypes from '../mixins/ShareTypes.js'\nimport ShareDetails from '../mixins/ShareDetails.js'\n\nexport default {\n\tname: 'SharingInput',\n\n\tcomponents: {\n\t\tNcSelect,\n\t},\n\n\tmixins: [ShareTypes, ShareRequests, ShareDetails],\n\n\tprops: {\n\t\tshares: {\n\t\t\ttype: Array,\n\t\t\tdefault: () => [],\n\t\t\trequired: true,\n\t\t},\n\t\tlinkShares: {\n\t\t\ttype: Array,\n\t\t\tdefault: () => [],\n\t\t\trequired: true,\n\t\t},\n\t\tfileInfo: {\n\t\t\ttype: Object,\n\t\t\tdefault: () => {},\n\t\t\trequired: true,\n\t\t},\n\t\treshare: {\n\t\t\ttype: Share,\n\t\t\tdefault: null,\n\t\t},\n\t\tcanReshare: {\n\t\t\ttype: Boolean,\n\t\t\trequired: true,\n\t\t},\n\t},\n\n\tdata() {\n\t\treturn {\n\t\t\tconfig: new Config(),\n\t\t\tloading: false,\n\t\t\tquery: '',\n\t\t\trecommendations: [],\n\t\t\tShareSearch: OCA.Sharing.ShareSearch.state,\n\t\t\tsuggestions: [],\n\t\t\tvalue: null,\n\t\t}\n\t},\n\n\tcomputed: {\n\t\t/**\n\t\t * Implement ShareSearch\n\t\t * allows external appas to inject new\n\t\t * results into the autocomplete dropdown\n\t\t * Used for the guests app\n\t\t *\n\t\t * @return {Array}\n\t\t */\n\t\texternalResults() {\n\t\t\treturn this.ShareSearch.results\n\t\t},\n\t\tinputPlaceholder() {\n\t\t\tconst allowRemoteSharing = this.config.isRemoteShareAllowed\n\n\t\t\tif (!this.canReshare) {\n\t\t\t\treturn t('files_sharing', 'Resharing is not allowed')\n\t\t\t}\n\t\t\t// We can always search with email addresses for users too\n\t\t\tif (!allowRemoteSharing) {\n\t\t\t\treturn t('files_sharing', 'Name or email …')\n\t\t\t}\n\n\t\t\treturn t('files_sharing', 'Name, email, or Federated Cloud ID …')\n\t\t},\n\n\t\tisValidQuery() {\n\t\t\treturn this.query && this.query.trim() !== '' && this.query.length > this.config.minSearchStringLength\n\t\t},\n\n\t\toptions() {\n\t\t\tif (this.isValidQuery) {\n\t\t\t\treturn this.suggestions\n\t\t\t}\n\t\t\treturn this.recommendations\n\t\t},\n\n\t\tnoResultText() {\n\t\t\tif (this.loading) {\n\t\t\t\treturn t('files_sharing', 'Searching …')\n\t\t\t}\n\t\t\treturn t('files_sharing', 'No elements found.')\n\t\t},\n\t},\n\n\tmounted() {\n\t\tthis.getRecommendations()\n\t},\n\n\tmethods: {\n\t\tonSelected(option) {\n\t\t\tthis.value = null // Reset selected option\n\t\t\tthis.openSharingDetails(option)\n\t\t},\n\n\t\tasync asyncFind(query) {\n\t\t\t// save current query to check if we display\n\t\t\t// recommendations or search results\n\t\t\tthis.query = query.trim()\n\t\t\tif (this.isValidQuery) {\n\t\t\t\t// start loading now to have proper ux feedback\n\t\t\t\t// during the debounce\n\t\t\t\tthis.loading = true\n\t\t\t\tawait this.debounceGetSuggestions(query)\n\t\t\t}\n\t\t},\n\n\t\t/**\n\t\t * Get suggestions\n\t\t *\n\t\t * @param {string} search the search query\n\t\t * @param {boolean} [lookup] search on lookup server\n\t\t */\n\t\tasync getSuggestions(search, lookup = false) {\n\t\t\tthis.loading = true\n\n\t\t\tif (getCapabilities().files_sharing.sharee.query_lookup_default === true) {\n\t\t\t\tlookup = true\n\t\t\t}\n\n\t\t\tconst shareType = [\n\t\t\t\tthis.SHARE_TYPES.SHARE_TYPE_USER,\n\t\t\t\tthis.SHARE_TYPES.SHARE_TYPE_GROUP,\n\t\t\t\tthis.SHARE_TYPES.SHARE_TYPE_REMOTE,\n\t\t\t\tthis.SHARE_TYPES.SHARE_TYPE_REMOTE_GROUP,\n\t\t\t\tthis.SHARE_TYPES.SHARE_TYPE_CIRCLE,\n\t\t\t\tthis.SHARE_TYPES.SHARE_TYPE_ROOM,\n\t\t\t\tthis.SHARE_TYPES.SHARE_TYPE_GUEST,\n\t\t\t\tthis.SHARE_TYPES.SHARE_TYPE_DECK,\n\t\t\t\tthis.SHARE_TYPES.SHARE_TYPE_SCIENCEMESH,\n\t\t\t]\n\n\t\t\tif (getCapabilities().files_sharing.public.enabled === true) {\n\t\t\t\tshareType.push(this.SHARE_TYPES.SHARE_TYPE_EMAIL)\n\t\t\t}\n\n\t\t\tlet request = null\n\t\t\ttry {\n\t\t\t\trequest = await axios.get(generateOcsUrl('apps/files_sharing/api/v1/sharees'), {\n\t\t\t\t\tparams: {\n\t\t\t\t\t\tformat: 'json',\n\t\t\t\t\t\titemType: this.fileInfo.type === 'dir' ? 'folder' : 'file',\n\t\t\t\t\t\tsearch,\n\t\t\t\t\t\tlookup,\n\t\t\t\t\t\tperPage: this.config.maxAutocompleteResults,\n\t\t\t\t\t\tshareType,\n\t\t\t\t\t},\n\t\t\t\t})\n\t\t\t} catch (error) {\n\t\t\t\tconsole.error('Error fetching suggestions', error)\n\t\t\t\treturn\n\t\t\t}\n\n\t\t\tconst data = request.data.ocs.data\n\t\t\tconst exact = request.data.ocs.data.exact\n\t\t\tdata.exact = [] // removing exact from general results\n\n\t\t\t// flatten array of arrays\n\t\t\tconst rawExactSuggestions = Object.values(exact).reduce((arr, elem) => arr.concat(elem), [])\n\t\t\tconst rawSuggestions = Object.values(data).reduce((arr, elem) => arr.concat(elem), [])\n\n\t\t\t// remove invalid data and format to user-select layout\n\t\t\tconst exactSuggestions = this.filterOutExistingShares(rawExactSuggestions)\n\t\t\t\t.map(share => this.formatForMultiselect(share))\n\t\t\t\t// sort by type so we can get user&groups first...\n\t\t\t\t.sort((a, b) => a.shareType - b.shareType)\n\t\t\tconst suggestions = this.filterOutExistingShares(rawSuggestions)\n\t\t\t\t.map(share => this.formatForMultiselect(share))\n\t\t\t\t// sort by type so we can get user&groups first...\n\t\t\t\t.sort((a, b) => a.shareType - b.shareType)\n\n\t\t\t// lookup clickable entry\n\t\t\t// show if enabled and not already requested\n\t\t\tconst lookupEntry = []\n\t\t\tif (data.lookupEnabled && !lookup) {\n\t\t\t\tlookupEntry.push({\n\t\t\t\t\tid: 'global-lookup',\n\t\t\t\t\tisNoUser: true,\n\t\t\t\t\tdisplayName: t('files_sharing', 'Search globally'),\n\t\t\t\t\tlookup: true,\n\t\t\t\t})\n\t\t\t}\n\n\t\t\t// if there is a condition specified, filter it\n\t\t\tconst externalResults = this.externalResults.filter(result => !result.condition || result.condition(this))\n\n\t\t\tconst allSuggestions = exactSuggestions.concat(suggestions).concat(externalResults).concat(lookupEntry)\n\n\t\t\t// Count occurrences of display names in order to provide a distinguishable description if needed\n\t\t\tconst nameCounts = allSuggestions.reduce((nameCounts, result) => {\n\t\t\t\tif (!result.displayName) {\n\t\t\t\t\treturn nameCounts\n\t\t\t\t}\n\t\t\t\tif (!nameCounts[result.displayName]) {\n\t\t\t\t\tnameCounts[result.displayName] = 0\n\t\t\t\t}\n\t\t\t\tnameCounts[result.displayName]++\n\t\t\t\treturn nameCounts\n\t\t\t}, {})\n\n\t\t\tthis.suggestions = allSuggestions.map(item => {\n\t\t\t\t// Make sure that items with duplicate displayName get the shareWith applied as a description\n\t\t\t\tif (nameCounts[item.displayName] > 1 && !item.desc) {\n\t\t\t\t\treturn { ...item, desc: item.shareWithDisplayNameUnique }\n\t\t\t\t}\n\t\t\t\treturn item\n\t\t\t})\n\n\t\t\tthis.loading = false\n\t\t\tconsole.info('suggestions', this.suggestions)\n\t\t},\n\n\t\t/**\n\t\t * Debounce getSuggestions\n\t\t *\n\t\t * @param {...*} args the arguments\n\t\t */\n\t\tdebounceGetSuggestions: debounce(function(...args) {\n\t\t\tthis.getSuggestions(...args)\n\t\t}, 300),\n\n\t\t/**\n\t\t * Get the sharing recommendations\n\t\t */\n\t\tasync getRecommendations() {\n\t\t\tthis.loading = true\n\n\t\t\tlet request = null\n\t\t\ttry {\n\t\t\t\trequest = await axios.get(generateOcsUrl('apps/files_sharing/api/v1/sharees_recommended'), {\n\t\t\t\t\tparams: {\n\t\t\t\t\t\tformat: 'json',\n\t\t\t\t\t\titemType: this.fileInfo.type,\n\t\t\t\t\t},\n\t\t\t\t})\n\t\t\t} catch (error) {\n\t\t\t\tconsole.error('Error fetching recommendations', error)\n\t\t\t\treturn\n\t\t\t}\n\n\t\t\t// Add external results from the OCA.Sharing.ShareSearch api\n\t\t\tconst externalResults = this.externalResults.filter(result => !result.condition || result.condition(this))\n\n\t\t\t// flatten array of arrays\n\t\t\tconst rawRecommendations = Object.values(request.data.ocs.data.exact)\n\t\t\t\t.reduce((arr, elem) => arr.concat(elem), [])\n\n\t\t\t// remove invalid data and format to user-select layout\n\t\t\tthis.recommendations = this.filterOutExistingShares(rawRecommendations)\n\t\t\t\t.map(share => this.formatForMultiselect(share))\n\t\t\t\t.concat(externalResults)\n\n\t\t\tthis.loading = false\n\t\t\tconsole.info('recommendations', this.recommendations)\n\t\t},\n\n\t\t/**\n\t\t * Filter out existing shares from\n\t\t * the provided shares search results\n\t\t *\n\t\t * @param {object[]} shares the array of shares object\n\t\t * @return {object[]}\n\t\t */\n\t\tfilterOutExistingShares(shares) {\n\t\t\treturn shares.reduce((arr, share) => {\n\t\t\t\t// only check proper objects\n\t\t\t\tif (typeof share !== 'object') {\n\t\t\t\t\treturn arr\n\t\t\t\t}\n\t\t\t\ttry {\n\t\t\t\t\tif (share.value.shareType === this.SHARE_TYPES.SHARE_TYPE_USER) {\n\t\t\t\t\t\t// filter out current user\n\t\t\t\t\t\tif (share.value.shareWith === getCurrentUser().uid) {\n\t\t\t\t\t\t\treturn arr\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\t// filter out the owner of the share\n\t\t\t\t\t\tif (this.reshare && share.value.shareWith === this.reshare.owner) {\n\t\t\t\t\t\t\treturn arr\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\n\t\t\t\t\t// filter out existing mail shares\n\t\t\t\t\tif (share.value.shareType === this.SHARE_TYPES.SHARE_TYPE_EMAIL) {\n\t\t\t\t\t\tconst emails = this.linkShares.map(elem => elem.shareWith)\n\t\t\t\t\t\tif (emails.indexOf(share.value.shareWith.trim()) !== -1) {\n\t\t\t\t\t\t\treturn arr\n\t\t\t\t\t\t}\n\t\t\t\t\t} else { // filter out existing shares\n\t\t\t\t\t\t// creating an object of uid => type\n\t\t\t\t\t\tconst sharesObj = this.shares.reduce((obj, elem) => {\n\t\t\t\t\t\t\tobj[elem.shareWith] = elem.type\n\t\t\t\t\t\t\treturn obj\n\t\t\t\t\t\t}, {})\n\n\t\t\t\t\t\t// if shareWith is the same and the share type too, ignore it\n\t\t\t\t\t\tconst key = share.value.shareWith.trim()\n\t\t\t\t\t\tif (key in sharesObj\n\t\t\t\t\t\t\t&& sharesObj[key] === share.value.shareType) {\n\t\t\t\t\t\t\treturn arr\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\n\t\t\t\t\t// ALL GOOD\n\t\t\t\t\t// let's add the suggestion\n\t\t\t\t\tarr.push(share)\n\t\t\t\t} catch {\n\t\t\t\t\treturn arr\n\t\t\t\t}\n\t\t\t\treturn arr\n\t\t\t}, [])\n\t\t},\n\n\t\t/**\n\t\t * Get the icon based on the share type\n\t\t *\n\t\t * @param {number} type the share type\n\t\t * @return {string} the icon class\n\t\t */\n\t\tshareTypeToIcon(type) {\n\t\t\tswitch (type) {\n\t\t\tcase this.SHARE_TYPES.SHARE_TYPE_GUEST:\n\t\t\t\t// default is a user, other icons are here to differentiate\n\t\t\t\t// themselves from it, so let's not display the user icon\n\t\t\t\t// case this.SHARE_TYPES.SHARE_TYPE_REMOTE:\n\t\t\t\t// case this.SHARE_TYPES.SHARE_TYPE_USER:\n\t\t\t\treturn {\n\t\t\t\t\ticon: 'icon-user',\n\t\t\t\t\ticonTitle: t('files_sharing', 'Guest'),\n\t\t\t\t}\n\t\t\tcase this.SHARE_TYPES.SHARE_TYPE_REMOTE_GROUP:\n\t\t\tcase this.SHARE_TYPES.SHARE_TYPE_GROUP:\n\t\t\t\treturn {\n\t\t\t\t\ticon: 'icon-group',\n\t\t\t\t\ticonTitle: t('files_sharing', 'Group'),\n\t\t\t\t}\n\t\t\tcase this.SHARE_TYPES.SHARE_TYPE_EMAIL:\n\t\t\t\treturn {\n\t\t\t\t\ticon: 'icon-mail',\n\t\t\t\t\ticonTitle: t('files_sharing', 'Email'),\n\t\t\t\t}\n\t\t\tcase this.SHARE_TYPES.SHARE_TYPE_CIRCLE:\n\t\t\t\treturn {\n\t\t\t\t\ticon: 'icon-teams',\n\t\t\t\t\ticonTitle: t('files_sharing', 'Team'),\n\t\t\t\t}\n\t\t\tcase this.SHARE_TYPES.SHARE_TYPE_ROOM:\n\t\t\t\treturn {\n\t\t\t\t\ticon: 'icon-room',\n\t\t\t\t\ticonTitle: t('files_sharing', 'Talk conversation'),\n\t\t\t\t}\n\t\t\tcase this.SHARE_TYPES.SHARE_TYPE_DECK:\n\t\t\t\treturn {\n\t\t\t\t\ticon: 'icon-deck',\n\t\t\t\t\ticonTitle: t('files_sharing', 'Deck board'),\n\t\t\t\t}\n\t\t\tcase this.SHARE_TYPES.SHARE_TYPE_SCIENCEMESH:\n\t\t\t\treturn {\n\t\t\t\t\ticon: 'icon-sciencemesh',\n\t\t\t\t\ticonTitle: t('files_sharing', 'ScienceMesh'),\n\t\t\t\t}\n\t\t\tdefault:\n\t\t\t\treturn {}\n\t\t\t}\n\t\t},\n\n\t\t/**\n\t\t * Format shares for the multiselect options\n\t\t *\n\t\t * @param {object} result select entry item\n\t\t * @return {object}\n\t\t */\n\t\tformatForMultiselect(result) {\n\t\t\tlet subtitle\n\t\t\tif (result.value.shareType === this.SHARE_TYPES.SHARE_TYPE_USER && this.config.shouldAlwaysShowUnique) {\n\t\t\t\tsubtitle = result.shareWithDisplayNameUnique ?? ''\n\t\t\t} else if ((result.value.shareType === this.SHARE_TYPES.SHARE_TYPE_REMOTE\n\t\t\t\t\t|| result.value.shareType === this.SHARE_TYPES.SHARE_TYPE_REMOTE_GROUP\n\t\t\t) && result.value.server) {\n\t\t\t\tsubtitle = t('files_sharing', 'on {server}', { server: result.value.server })\n\t\t\t} else if (result.value.shareType === this.SHARE_TYPES.SHARE_TYPE_EMAIL) {\n\t\t\t\tsubtitle = result.value.shareWith\n\t\t\t} else {\n\t\t\t\tsubtitle = result.shareWithDescription ?? ''\n\t\t\t}\n\n\t\t\treturn {\n\t\t\t\tshareWith: result.value.shareWith,\n\t\t\t\tshareType: result.value.shareType,\n\t\t\t\tuser: result.uuid || result.value.shareWith,\n\t\t\t\tisNoUser: result.value.shareType !== this.SHARE_TYPES.SHARE_TYPE_USER,\n\t\t\t\tdisplayName: result.name || result.label,\n\t\t\t\tsubtitle,\n\t\t\t\tshareWithDisplayNameUnique: result.shareWithDisplayNameUnique || '',\n\t\t\t\t...this.shareTypeToIcon(result.value.shareType),\n\t\t\t}\n\t\t},\n\n\t\t/**\n\t\t * Process the new share request\n\t\t *\n\t\t * @param {object} value the multiselect option\n\t\t */\n\t\tasync addShare(value) {\n\t\t\t// Clear the displayed selection\n\t\t\tthis.value = null\n\n\t\t\tif (value.lookup) {\n\t\t\t\tawait this.getSuggestions(this.query, true)\n\n\t\t\t\tthis.$nextTick(() => {\n\t\t\t\t\t// open the dropdown again\n\t\t\t\t\tthis.$refs.select.$children[0].open = true\n\t\t\t\t})\n\t\t\t\treturn true\n\t\t\t}\n\n\t\t\t// handle externalResults from OCA.Sharing.ShareSearch\n\t\t\tif (value.handler) {\n\t\t\t\tconst share = await value.handler(this)\n\t\t\t\tthis.$emit('add:share', new Share(share))\n\t\t\t\treturn true\n\t\t\t}\n\n\t\t\tthis.loading = true\n\t\t\tconsole.debug('Adding a new share from the input for', value)\n\t\t\ttry {\n\t\t\t\tlet password = null\n\n\t\t\t\tif (this.config.enforcePasswordForPublicLink\n\t\t\t\t\t&& value.shareType === this.SHARE_TYPES.SHARE_TYPE_EMAIL) {\n\t\t\t\t\tpassword = await GeneratePassword()\n\t\t\t\t}\n\n\t\t\t\tconst path = (this.fileInfo.path + '/' + this.fileInfo.name).replace('//', '/')\n\t\t\t\tconst share = await this.createShare({\n\t\t\t\t\tpath,\n\t\t\t\t\tshareType: value.shareType,\n\t\t\t\t\tshareWith: value.shareWith,\n\t\t\t\t\tpassword,\n\t\t\t\t\tpermissions: this.fileInfo.sharePermissions & getCapabilities().files_sharing.default_permissions,\n\t\t\t\t\tattributes: JSON.stringify(this.fileInfo.shareAttributes),\n\t\t\t\t})\n\n\t\t\t\t// If we had a password, we need to show it to the user as it was generated\n\t\t\t\tif (password) {\n\t\t\t\t\tshare.newPassword = password\n\t\t\t\t\t// Wait for the newly added share\n\t\t\t\t\tconst component = await new Promise(resolve => {\n\t\t\t\t\t\tthis.$emit('add:share', share, resolve)\n\t\t\t\t\t})\n\n\t\t\t\t\t// open the menu on the\n\t\t\t\t\t// freshly created share component\n\t\t\t\t\tcomponent.open = true\n\t\t\t\t} else {\n\t\t\t\t\t// Else we just add it normally\n\t\t\t\t\tthis.$emit('add:share', share)\n\t\t\t\t}\n\n\t\t\t\tawait this.getRecommendations()\n\t\t\t} catch (error) {\n\t\t\t\tthis.$nextTick(() => {\n\t\t\t\t\t// open the dropdown again on error\n\t\t\t\t\tthis.$refs.select.$children[0].open = true\n\t\t\t\t})\n\t\t\t\tthis.query = value.shareWith\n\t\t\t\tconsole.error('Error while adding new share', error)\n\t\t\t} finally {\n\t\t\t\tthis.loading = false\n\t\t\t}\n\t\t},\n\t},\n}\n</script>\n\n<style lang=\"scss\">\n.sharing-search {\n\tdisplay: flex;\n\tflex-direction: column;\n\tmargin-bottom: 4px;\n\n\tlabel[for=\"sharing-search-input\"] {\n\t\tmargin-bottom: 2px;\n\t}\n\n\t&__input {\n\t\twidth: 100%;\n\t\tmargin: 10px 0;\n\t}\n}\n\n.vs__dropdown-menu {\n\t// properly style the lookup entry\n\tspan[lookup] {\n\t\t.avatardiv {\n\t\t\tbackground-image: var(--icon-search-white);\n\t\t\tbackground-repeat: no-repeat;\n\t\t\tbackground-position: center;\n\t\t\tbackground-color: var(--color-text-maxcontrast) !important;\n\t\t\t.avatardiv__initials-wrapper {\n\t\t\t\tdisplay: none;\n\t\t\t}\n\t\t}\n\t}\n}\n</style>\n","import mod from \"-!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SharingInput.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SharingInput.vue?vue&type=script&lang=js\"","\n      import API from \"!../../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n      import domAPI from \"!../../../../node_modules/style-loader/dist/runtime/styleDomAPI.js\";\n      import insertFn from \"!../../../../node_modules/style-loader/dist/runtime/insertBySelector.js\";\n      import setAttributes from \"!../../../../node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js\";\n      import insertStyleElement from \"!../../../../node_modules/style-loader/dist/runtime/insertStyleElement.js\";\n      import styleTagTransformFn from \"!../../../../node_modules/style-loader/dist/runtime/styleTagTransform.js\";\n      import content, * as namedExport from \"!!../../../../node_modules/css-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/sass-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SharingInput.vue?vue&type=style&index=0&id=534e3a08&prod&lang=scss\";\n      \n      \n\nvar options = {};\n\noptions.styleTagTransform = styleTagTransformFn;\noptions.setAttributes = setAttributes;\n\n      options.insert = insertFn.bind(null, \"head\");\n    \noptions.domAPI = domAPI;\noptions.insertStyleElement = insertStyleElement;\n\nvar update = API(content, options);\n\n\n\nexport * from \"!!../../../../node_modules/css-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/sass-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SharingInput.vue?vue&type=style&index=0&id=534e3a08&prod&lang=scss\";\n       export default content && content.locals ? content.locals : undefined;\n","import { render, staticRenderFns } from \"./SharingInput.vue?vue&type=template&id=534e3a08\"\nimport script from \"./SharingInput.vue?vue&type=script&lang=js\"\nexport * from \"./SharingInput.vue?vue&type=script&lang=js\"\nimport style0 from \"./SharingInput.vue?vue&type=style&index=0&id=534e3a08&prod&lang=scss\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n  script,\n  render,\n  staticRenderFns,\n  false,\n  null,\n  null,\n  null\n  \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('ul',{attrs:{\"id\":\"sharing-inherited-shares\"}},[_c('SharingEntrySimple',{staticClass:\"sharing-entry__inherited\",attrs:{\"title\":_vm.mainTitle,\"subtitle\":_vm.subTitle,\"aria-expanded\":_vm.showInheritedShares},scopedSlots:_vm._u([{key:\"avatar\",fn:function(){return [_c('div',{staticClass:\"avatar-shared icon-more-white\"})]},proxy:true}])},[_vm._v(\" \"),_c('NcActionButton',{attrs:{\"icon\":_vm.showInheritedSharesIcon,\"aria-label\":_vm.toggleTooltip,\"title\":_vm.toggleTooltip},on:{\"click\":function($event){$event.preventDefault();$event.stopPropagation();return _vm.toggleInheritedShares.apply(null, arguments)}}})],1),_vm._v(\" \"),_vm._l((_vm.shares),function(share){return _c('SharingEntryInherited',{key:share.id,attrs:{\"file-info\":_vm.fileInfo,\"share\":share},on:{\"remove:share\":_vm.removeShare}})})],2)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","/**\n * @copyright 2022 Louis Chmn <louis@chmn.me>\n *\n * @author Louis Chmn <louis@chmn.me>\n *\n * @license AGPL-3.0-or-later\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */\n\nexport const ATOMIC_PERMISSIONS = {\n\tNONE: 0,\n\tREAD: 1,\n\tUPDATE: 2,\n\tCREATE: 4,\n\tDELETE: 8,\n\tSHARE: 16,\n}\n\nexport const BUNDLED_PERMISSIONS = {\n\tREAD_ONLY: ATOMIC_PERMISSIONS.READ,\n\tUPLOAD_AND_UPDATE: ATOMIC_PERMISSIONS.READ | ATOMIC_PERMISSIONS.UPDATE | ATOMIC_PERMISSIONS.CREATE | ATOMIC_PERMISSIONS.DELETE,\n\tFILE_DROP: ATOMIC_PERMISSIONS.CREATE,\n\tALL: ATOMIC_PERMISSIONS.UPDATE | ATOMIC_PERMISSIONS.CREATE | ATOMIC_PERMISSIONS.READ | ATOMIC_PERMISSIONS.DELETE | ATOMIC_PERMISSIONS.SHARE,\n\tALL_FILE: ATOMIC_PERMISSIONS.UPDATE | ATOMIC_PERMISSIONS.READ | ATOMIC_PERMISSIONS.SHARE,\n}\n\n/**\n * Return whether a given permissions set contains some permissions.\n *\n * @param {number} initialPermissionSet - the permissions set.\n * @param {number} permissionsToCheck - the permissions to check.\n * @return {boolean}\n */\nexport function hasPermissions(initialPermissionSet, permissionsToCheck) {\n\treturn initialPermissionSet !== ATOMIC_PERMISSIONS.NONE && (initialPermissionSet & permissionsToCheck) === permissionsToCheck\n}\n\n/**\n * Return whether a given permissions set is valid.\n *\n * @param {number} permissionsSet - the permissions set.\n *\n * @return {boolean}\n */\nexport function permissionsSetIsValid(permissionsSet) {\n\t// Must have at least READ or CREATE permission.\n\tif (!hasPermissions(permissionsSet, ATOMIC_PERMISSIONS.READ) && !hasPermissions(permissionsSet, ATOMIC_PERMISSIONS.CREATE)) {\n\t\treturn false\n\t}\n\n\t// Must have READ permission if have UPDATE or DELETE.\n\tif (!hasPermissions(permissionsSet, ATOMIC_PERMISSIONS.READ) && (\n\t\thasPermissions(permissionsSet, ATOMIC_PERMISSIONS.UPDATE) || hasPermissions(permissionsSet, ATOMIC_PERMISSIONS.DELETE)\n\t)) {\n\t\treturn false\n\t}\n\n\treturn true\n}\n\n/**\n * Add some permissions to an initial set of permissions.\n *\n * @param {number} initialPermissionSet - the initial permissions.\n * @param {number} permissionsToAdd - the permissions to add.\n *\n * @return {number}\n */\nexport function addPermissions(initialPermissionSet, permissionsToAdd) {\n\treturn initialPermissionSet | permissionsToAdd\n}\n\n/**\n * Remove some permissions from an initial set of permissions.\n *\n * @param {number} initialPermissionSet - the initial permissions.\n * @param {number} permissionsToSubtract - the permissions to remove.\n *\n * @return {number}\n */\nexport function subtractPermissions(initialPermissionSet, permissionsToSubtract) {\n\treturn initialPermissionSet & ~permissionsToSubtract\n}\n\n/**\n * Toggle some permissions from  an initial set of permissions.\n *\n * @param {number} initialPermissionSet - the permissions set.\n * @param {number} permissionsToToggle - the permissions to toggle.\n *\n * @return {number}\n */\nexport function togglePermissions(initialPermissionSet, permissionsToToggle) {\n\tif (hasPermissions(initialPermissionSet, permissionsToToggle)) {\n\t\treturn subtractPermissions(initialPermissionSet, permissionsToToggle)\n\t} else {\n\t\treturn addPermissions(initialPermissionSet, permissionsToToggle)\n\t}\n}\n\n/**\n * Return whether some given permissions can be toggled from a permission set.\n *\n * @param {number} permissionSet - the initial permissions set.\n * @param {number} permissionsToToggle - the permissions to toggle.\n *\n * @return {boolean}\n */\nexport function canTogglePermissions(permissionSet, permissionsToToggle) {\n\treturn permissionsSetIsValid(togglePermissions(permissionSet, permissionsToToggle))\n}\n","/**\n * @copyright Copyright (c) 2019 John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @author Christoph Wurst <christoph@winzerhof-wurst.at>\n * @author Daniel Calviño Sánchez <danxuliu@gmail.com>\n * @author Gary Kim <gary@garykim.dev>\n * @author John Molakvoæ <skjnldsv@protonmail.com>\n * @author Julius Härtl <jus@bitgrid.net>\n * @author Vincent Petry <vincent@nextcloud.com>\n *\n * @license AGPL-3.0-or-later\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */\n\nimport { showError, showSuccess } from '@nextcloud/dialogs'\nimport { getCurrentUser } from '@nextcloud/auth'\n// eslint-disable-next-line import/no-unresolved, n/no-missing-import\nimport PQueue from 'p-queue'\nimport debounce from 'debounce'\n\nimport Share from '../models/Share.js'\nimport SharesRequests from './ShareRequests.js'\nimport ShareTypes from './ShareTypes.js'\nimport Config from '../services/ConfigService.js'\n\nimport {\n\tBUNDLED_PERMISSIONS,\n} from '../lib/SharePermissionsToolBox.js'\n\nexport default {\n\tmixins: [SharesRequests, ShareTypes],\n\n\tprops: {\n\t\tfileInfo: {\n\t\t\ttype: Object,\n\t\t\tdefault: () => { },\n\t\t\trequired: true,\n\t\t},\n\t\tshare: {\n\t\t\ttype: Share,\n\t\t\tdefault: null,\n\t\t},\n\t\tisUnique: {\n\t\t\ttype: Boolean,\n\t\t\tdefault: true,\n\t\t},\n\t},\n\n\tdata() {\n\t\treturn {\n\t\t\tconfig: new Config(),\n\n\t\t\t// errors helpers\n\t\t\terrors: {},\n\n\t\t\t// component status toggles\n\t\t\tloading: false,\n\t\t\tsaving: false,\n\t\t\topen: false,\n\n\t\t\t// concurrency management queue\n\t\t\t// we want one queue per share\n\t\t\tupdateQueue: new PQueue({ concurrency: 1 }),\n\n\t\t\t/**\n\t\t\t * ! This allow vue to make the Share class state reactive\n\t\t\t * ! do not remove it ot you'll lose all reactivity here\n\t\t\t */\n\t\t\treactiveState: this.share?.state,\n\t\t}\n\t},\n\n\tcomputed: {\n\n\t\t/**\n\t\t * Does the current share have a note\n\t\t *\n\t\t * @return {boolean}\n\t\t */\n\t\thasNote: {\n\t\t\tget() {\n\t\t\t\treturn this.share.note !== ''\n\t\t\t},\n\t\t\tset(enabled) {\n\t\t\t\tthis.share.note = enabled\n\t\t\t\t\t? null // enabled but user did not changed the content yet\n\t\t\t\t\t: '' // empty = no note = disabled\n\t\t\t},\n\t\t},\n\n\t\tdateTomorrow() {\n\t\t\treturn new Date(new Date().setDate(new Date().getDate() + 1))\n\t\t},\n\n\t\t// Datepicker language\n\t\tlang() {\n\t\t\tconst weekdaysShort = window.dayNamesShort\n\t\t\t\t? window.dayNamesShort // provided by nextcloud\n\t\t\t\t: ['Sun.', 'Mon.', 'Tue.', 'Wed.', 'Thu.', 'Fri.', 'Sat.']\n\t\t\tconst monthsShort = window.monthNamesShort\n\t\t\t\t? window.monthNamesShort // provided by nextcloud\n\t\t\t\t: ['Jan.', 'Feb.', 'Mar.', 'Apr.', 'May.', 'Jun.', 'Jul.', 'Aug.', 'Sep.', 'Oct.', 'Nov.', 'Dec.']\n\t\t\tconst firstDayOfWeek = window.firstDay ? window.firstDay : 0\n\n\t\t\treturn {\n\t\t\t\tformatLocale: {\n\t\t\t\t\tfirstDayOfWeek,\n\t\t\t\t\tmonthsShort,\n\t\t\t\t\tweekdaysMin: weekdaysShort,\n\t\t\t\t\tweekdaysShort,\n\t\t\t\t},\n\t\t\t\tmonthFormat: 'MMM',\n\t\t\t}\n\t\t},\n\t\tisFolder() {\n\t\t\treturn this.fileInfo.type === 'dir'\n\t\t},\n\t\tisPublicShare() {\n\t\t\tconst shareType = this.share.shareType ?? this.share.type\n\t\t\treturn [this.SHARE_TYPES.SHARE_TYPE_LINK, this.SHARE_TYPES.SHARE_TYPE_EMAIL].includes(shareType)\n\t\t},\n\t\tisRemoteShare() {\n\t\t\treturn this.share.type === this.SHARE_TYPES.SHARE_TYPE_REMOTE_GROUP || this.share.type === this.SHARE_TYPES.SHARE_TYPE_REMOTE\n\t\t},\n\t\tisShareOwner() {\n\t\t\treturn this.share && this.share.owner === getCurrentUser().uid\n\t\t},\n\t\tisExpiryDateEnforced() {\n\t\t\tif (this.isPublicShare) {\n\t\t\t\treturn this.config.isDefaultExpireDateEnforced\n\t\t\t}\n\t\t\tif (this.isRemoteShare) {\n\t\t\t    return this.config.isDefaultRemoteExpireDateEnforced\n\t\t\t}\n\t\t\treturn this.config.isDefaultInternalExpireDateEnforced\n\t\t},\n\t\thasCustomPermissions() {\n\t\t\tconst bundledPermissions = [\n\t\t\t\tBUNDLED_PERMISSIONS.ALL,\n\t\t\t\tBUNDLED_PERMISSIONS.READ_ONLY,\n\t\t\t\tBUNDLED_PERMISSIONS.FILE_DROP,\n\t\t\t]\n\t\t\treturn !bundledPermissions.includes(this.share.permissions)\n\t\t},\n\t\tmaxExpirationDateEnforced() {\n\t\t\tif (this.isExpiryDateEnforced) {\n\t\t\t\tif (this.isPublicShare) {\n\t\t\t\t\treturn this.config.defaultExpirationDate\n\t\t\t\t}\n\t\t\t\tif (this.isRemoteShare) {\n\t\t\t\t\treturn this.config.defaultRemoteExpirationDateString\n\t\t\t\t}\n\t\t\t\t// If it get's here then it must be an internal share\n\t\t\t\treturn this.config.defaultInternalExpirationDate\n\t\t\t}\n\t\t\treturn null\n\t\t},\n\t},\n\n\tmethods: {\n\t\t/**\n\t\t * Check if a share is valid before\n\t\t * firing the request\n\t\t *\n\t\t * @param {Share} share the share to check\n\t\t * @return {boolean}\n\t\t */\n\t\tcheckShare(share) {\n\t\t\tif (share.password) {\n\t\t\t\tif (typeof share.password !== 'string' || share.password.trim() === '') {\n\t\t\t\t\treturn false\n\t\t\t\t}\n\t\t\t}\n\t\t\tif (share.expirationDate) {\n\t\t\t\tconst date = share.expirationDate\n\t\t\t\tif (!date.isValid()) {\n\t\t\t\t\treturn false\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn true\n\t\t},\n\n\t\t/**\n\t\t * @param {string} date a date with YYYY-MM-DD format\n\t\t * @return {Date} date\n\t\t */\n\t\tparseDateString(date) {\n\t\t\tif (!date) {\n\t\t\t\treturn\n\t\t\t}\n\t\t\tconst regex = /([0-9]{4}-[0-9]{2}-[0-9]{2})/i\n\t\t\treturn new Date(date.match(regex)?.pop())\n\t\t},\n\n\t\t/**\n\t\t * @param {Date} date\n\t\t * @return {string} date a date with YYYY-MM-DD format\n\t\t */\n\t\tformatDateToString(date) {\n\t\t\t// Force utc time. Drop time information to be timezone-less\n\t\t\tconst utcDate = new Date(Date.UTC(date.getFullYear(), date.getMonth(), date.getDate()))\n\t\t\t// Format to YYYY-MM-DD\n\t\t\treturn utcDate.toISOString().split('T')[0]\n\t\t},\n\n\t\t/**\n\t\t * Save given value to expireDate and trigger queueUpdate\n\t\t *\n\t\t * @param {Date} date\n\t\t */\n\t\tonExpirationChange: debounce(function(date) {\n\t\t\tthis.share.expireDate = this.formatDateToString(new Date(date))\n\t\t}, 500),\n\t\t/**\n\t\t * Uncheck expire date\n\t\t * We need this method because @update:checked\n\t\t * is ran simultaneously as @uncheck, so\n\t\t * so we cannot ensure data is up-to-date\n\t\t */\n\t\tonExpirationDisable() {\n\t\t\tthis.share.expireDate = ''\n\t\t},\n\n\t\t/**\n\t\t * Note changed, let's save it to a different key\n\t\t *\n\t\t * @param {string} note the share note\n\t\t */\n\t\tonNoteChange(note) {\n\t\t\tthis.$set(this.share, 'newNote', note.trim())\n\t\t},\n\n\t\t/**\n\t\t * When the note change, we trim, save and dispatch\n\t\t *\n\t\t */\n\t\tonNoteSubmit() {\n\t\t\tif (this.share.newNote) {\n\t\t\t\tthis.share.note = this.share.newNote\n\t\t\t\tthis.$delete(this.share, 'newNote')\n\t\t\t\tthis.queueUpdate('note')\n\t\t\t}\n\t\t},\n\n\t\t/**\n\t\t * Delete share button handler\n\t\t */\n\t\tasync onDelete() {\n\t\t\ttry {\n\t\t\t\tthis.loading = true\n\t\t\t\tthis.open = false\n\t\t\t\tawait this.deleteShare(this.share.id)\n\t\t\t\tconsole.debug('Share deleted', this.share.id)\n\t\t\t\tconst message = this.share.itemType === 'file'\n\t\t\t\t\t? t('files_sharing', 'File \"{path}\" has been unshared', { path: this.share.path })\n\t\t\t\t\t: t('files_sharing', 'Folder \"{path}\" has been unshared', { path: this.share.path })\n\t\t\t\tshowSuccess(message)\n\t\t\t\tthis.$emit('remove:share', this.share)\n\t\t\t} catch (error) {\n\t\t\t\t// re-open menu if error\n\t\t\t\tthis.open = true\n\t\t\t} finally {\n\t\t\t\tthis.loading = false\n\t\t\t}\n\t\t},\n\n\t\t/**\n\t\t * Send an update of the share to the queue\n\t\t *\n\t\t * @param {Array<string>} propertyNames the properties to sync\n\t\t */\n\t\tqueueUpdate(...propertyNames) {\n\t\t\tif (propertyNames.length === 0) {\n\t\t\t\t// Nothing to update\n\t\t\t\treturn\n\t\t\t}\n\n\t\t\tif (this.share.id) {\n\t\t\t\tconst properties = {}\n\t\t\t\t// force value to string because that is what our\n\t\t\t\t// share api controller accepts\n\t\t\t\tpropertyNames.forEach(name => {\n\t\t\t\t\tif ((typeof this.share[name]) === 'object') {\n\t\t\t\t\t\tproperties[name] = JSON.stringify(this.share[name])\n\t\t\t\t\t} else {\n\t\t\t\t\t\tproperties[name] = this.share[name].toString()\n\t\t\t\t\t}\n\t\t\t\t})\n\n\t\t\t\tthis.updateQueue.add(async () => {\n\t\t\t\t\tthis.saving = true\n\t\t\t\t\tthis.errors = {}\n\t\t\t\t\ttry {\n\t\t\t\t\t\tconst updatedShare = await this.updateShare(this.share.id, properties)\n\n\t\t\t\t\t\tif (propertyNames.indexOf('password') >= 0) {\n\t\t\t\t\t\t\t// reset password state after sync\n\t\t\t\t\t\t\tthis.$delete(this.share, 'newPassword')\n\n\t\t\t\t\t\t\t// updates password expiration time after sync\n\t\t\t\t\t\t\tthis.share.passwordExpirationTime = updatedShare.password_expiration_time\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\t// clear any previous errors\n\t\t\t\t\t\tthis.$delete(this.errors, propertyNames[0])\n\t\t\t\t\t\tshowSuccess(t('files_sharing', 'Share {propertyName} saved', { propertyName: propertyNames[0] }))\n\t\t\t\t\t} catch ({ message }) {\n\t\t\t\t\t\tif (message && message !== '') {\n\t\t\t\t\t\t\tthis.onSyncError(propertyNames[0], message)\n\t\t\t\t\t\t\tshowError(t('files_sharing', message))\n\t\t\t\t\t\t}\n\t\t\t\t\t} finally {\n\t\t\t\t\t\tthis.saving = false\n\t\t\t\t\t}\n\t\t\t\t})\n\t\t\t\treturn\n\t\t\t}\n\n\t\t\t// This share does not exists on the server yet\n\t\t\tconsole.debug('Updated local share', this.share)\n\t\t},\n\n\t\t/**\n\t\t * Manage sync errors\n\t\t *\n\t\t * @param {string} property the errored property, e.g. 'password'\n\t\t * @param {string} message the error message\n\t\t */\n\t\tonSyncError(property, message) {\n\t\t\t// re-open menu if closed\n\t\t\tthis.open = true\n\t\t\tswitch (property) {\n\t\t\tcase 'password':\n\t\t\tcase 'pending':\n\t\t\tcase 'expireDate':\n\t\t\tcase 'label':\n\t\t\tcase 'note': {\n\t\t\t\t// show error\n\t\t\t\tthis.$set(this.errors, property, message)\n\n\t\t\t\tlet propertyEl = this.$refs[property]\n\t\t\t\tif (propertyEl) {\n\t\t\t\t\tif (propertyEl.$el) {\n\t\t\t\t\t\tpropertyEl = propertyEl.$el\n\t\t\t\t\t}\n\t\t\t\t\t// focus if there is a focusable action element\n\t\t\t\t\tconst focusable = propertyEl.querySelector('.focusable')\n\t\t\t\t\tif (focusable) {\n\t\t\t\t\t\tfocusable.focus()\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tbreak\n\t\t\t}\n\t\t\tcase 'sendPasswordByTalk': {\n\t\t\t\t// show error\n\t\t\t\tthis.$set(this.errors, property, message)\n\n\t\t\t\t// Restore previous state\n\t\t\t\tthis.share.sendPasswordByTalk = !this.share.sendPasswordByTalk\n\t\t\t\tbreak\n\t\t\t}\n\t\t\t}\n\t\t},\n\t\t/**\n\t\t * Debounce queueUpdate to avoid requests spamming\n\t\t * more importantly for text data\n\t\t *\n\t\t * @param {string} property the property to sync\n\t\t */\n\t\tdebounceQueueUpdate: debounce(function(property) {\n\t\t\tthis.queueUpdate(property)\n\t\t}, 500),\n\t},\n}\n","import mod from \"-!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SharingEntryInherited.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SharingEntryInherited.vue?vue&type=script&lang=js\"","<!--\n  - @copyright Copyright (c) 2019 John Molakvoæ <skjnldsv@protonmail.com>\n  -\n  - @author John Molakvoæ <skjnldsv@protonmail.com>\n  -\n  - @license GNU AGPL version 3 or any later version\n  -\n  - This program is free software: you can redistribute it and/or modify\n  - it under the terms of the GNU Affero General Public License as\n  - published by the Free Software Foundation, either version 3 of the\n  - License, or (at your option) any later version.\n  -\n  - This program is distributed in the hope that it will be useful,\n  - but WITHOUT ANY WARRANTY; without even the implied warranty of\n  - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\n  - GNU Affero General Public License for more details.\n  -\n  - You should have received a copy of the GNU Affero General Public License\n  - along with this program. If not, see <http://www.gnu.org/licenses/>.\n  -\n  -->\n\n<template>\n\t<SharingEntrySimple :key=\"share.id\"\n\t\tclass=\"sharing-entry__inherited\"\n\t\t:title=\"share.shareWithDisplayName\">\n\t\t<template #avatar>\n\t\t\t<NcAvatar :user=\"share.shareWith\"\n\t\t\t\t:display-name=\"share.shareWithDisplayName\"\n\t\t\t\tclass=\"sharing-entry__avatar\" />\n\t\t</template>\n\t\t<NcActionText icon=\"icon-user\">\n\t\t\t{{ t('files_sharing', 'Added by {initiator}', { initiator: share.ownerDisplayName }) }}\n\t\t</NcActionText>\n\t\t<NcActionLink v-if=\"share.viaPath && share.viaFileid\"\n\t\t\ticon=\"icon-folder\"\n\t\t\t:href=\"viaFileTargetUrl\">\n\t\t\t{{ t('files_sharing', 'Via “{folder}”', {folder: viaFolderName} ) }}\n\t\t</NcActionLink>\n\t\t<NcActionButton v-if=\"share.canDelete\"\n\t\t\ticon=\"icon-close\"\n\t\t\t@click.prevent=\"onDelete\">\n\t\t\t{{ t('files_sharing', 'Unshare') }}\n\t\t</NcActionButton>\n\t</SharingEntrySimple>\n</template>\n\n<script>\nimport { generateUrl } from '@nextcloud/router'\nimport { basename } from '@nextcloud/paths'\nimport NcAvatar from '@nextcloud/vue/dist/Components/NcAvatar.js'\nimport NcActionButton from '@nextcloud/vue/dist/Components/NcActionButton.js'\nimport NcActionLink from '@nextcloud/vue/dist/Components/NcActionLink.js'\nimport NcActionText from '@nextcloud/vue/dist/Components/NcActionText.js'\n\n// eslint-disable-next-line no-unused-vars\nimport Share from '../models/Share.js'\nimport SharesMixin from '../mixins/SharesMixin.js'\nimport SharingEntrySimple from '../components/SharingEntrySimple.vue'\n\nexport default {\n\tname: 'SharingEntryInherited',\n\n\tcomponents: {\n\t\tNcActionButton,\n\t\tNcActionLink,\n\t\tNcActionText,\n\t\tNcAvatar,\n\t\tSharingEntrySimple,\n\t},\n\n\tmixins: [SharesMixin],\n\n\tprops: {\n\t\tshare: {\n\t\t\ttype: Share,\n\t\t\trequired: true,\n\t\t},\n\t},\n\n\tcomputed: {\n\t\tviaFileTargetUrl() {\n\t\t\treturn generateUrl('/f/{fileid}', {\n\t\t\t\tfileid: this.share.viaFileid,\n\t\t\t})\n\t\t},\n\n\t\tviaFolderName() {\n\t\t\treturn basename(this.share.viaPath)\n\t\t},\n\t},\n}\n</script>\n\n<style lang=\"scss\" scoped>\n.sharing-entry {\n\tdisplay: flex;\n\talign-items: center;\n\theight: 44px;\n\t&__desc {\n\t\tdisplay: flex;\n\t\tflex-direction: column;\n\t\tjustify-content: space-between;\n\t\tpadding: 8px;\n\t\tpadding-left: 10px;\n\t\tline-height: 1.2em;\n\t\tp {\n\t\t\tcolor: var(--color-text-maxcontrast);\n\t\t}\n\t}\n\t&__actions {\n\t\tmargin-left: auto;\n\t}\n}\n</style>\n","\n      import API from \"!../../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n      import domAPI from \"!../../../../node_modules/style-loader/dist/runtime/styleDomAPI.js\";\n      import insertFn from \"!../../../../node_modules/style-loader/dist/runtime/insertBySelector.js\";\n      import setAttributes from \"!../../../../node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js\";\n      import insertStyleElement from \"!../../../../node_modules/style-loader/dist/runtime/insertStyleElement.js\";\n      import styleTagTransformFn from \"!../../../../node_modules/style-loader/dist/runtime/styleTagTransform.js\";\n      import content, * as namedExport from \"!!../../../../node_modules/css-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/sass-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SharingEntryInherited.vue?vue&type=style&index=0&id=283ca89e&prod&lang=scss&scoped=true\";\n      \n      \n\nvar options = {};\n\noptions.styleTagTransform = styleTagTransformFn;\noptions.setAttributes = setAttributes;\n\n      options.insert = insertFn.bind(null, \"head\");\n    \noptions.domAPI = domAPI;\noptions.insertStyleElement = insertStyleElement;\n\nvar update = API(content, options);\n\n\n\nexport * from \"!!../../../../node_modules/css-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/sass-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SharingEntryInherited.vue?vue&type=style&index=0&id=283ca89e&prod&lang=scss&scoped=true\";\n       export default content && content.locals ? content.locals : undefined;\n","import { render, staticRenderFns } from \"./SharingEntryInherited.vue?vue&type=template&id=283ca89e&scoped=true\"\nimport script from \"./SharingEntryInherited.vue?vue&type=script&lang=js\"\nexport * from \"./SharingEntryInherited.vue?vue&type=script&lang=js\"\nimport style0 from \"./SharingEntryInherited.vue?vue&type=style&index=0&id=283ca89e&prod&lang=scss&scoped=true\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n  script,\n  render,\n  staticRenderFns,\n  false,\n  null,\n  \"283ca89e\",\n  null\n  \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('SharingEntrySimple',{key:_vm.share.id,staticClass:\"sharing-entry__inherited\",attrs:{\"title\":_vm.share.shareWithDisplayName},scopedSlots:_vm._u([{key:\"avatar\",fn:function(){return [_c('NcAvatar',{staticClass:\"sharing-entry__avatar\",attrs:{\"user\":_vm.share.shareWith,\"display-name\":_vm.share.shareWithDisplayName}})]},proxy:true}])},[_vm._v(\" \"),_c('NcActionText',{attrs:{\"icon\":\"icon-user\"}},[_vm._v(\"\\n\\t\\t\"+_vm._s(_vm.t('files_sharing', 'Added by {initiator}', { initiator: _vm.share.ownerDisplayName }))+\"\\n\\t\")]),_vm._v(\" \"),(_vm.share.viaPath && _vm.share.viaFileid)?_c('NcActionLink',{attrs:{\"icon\":\"icon-folder\",\"href\":_vm.viaFileTargetUrl}},[_vm._v(\"\\n\\t\\t\"+_vm._s(_vm.t('files_sharing', 'Via “{folder}”', {folder: _vm.viaFolderName} ))+\"\\n\\t\")]):_vm._e(),_vm._v(\" \"),(_vm.share.canDelete)?_c('NcActionButton',{attrs:{\"icon\":\"icon-close\"},on:{\"click\":function($event){$event.preventDefault();return _vm.onDelete.apply(null, arguments)}}},[_vm._v(\"\\n\\t\\t\"+_vm._s(_vm.t('files_sharing', 'Unshare'))+\"\\n\\t\")]):_vm._e()],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<!--\n  - @copyright Copyright (c) 2019 John Molakvoæ <skjnldsv@protonmail.com>\n  -\n  - @author John Molakvoæ <skjnldsv@protonmail.com>\n  -\n  - @license GNU AGPL version 3 or any later version\n  -\n  - This program is free software: you can redistribute it and/or modify\n  - it under the terms of the GNU Affero General Public License as\n  - published by the Free Software Foundation, either version 3 of the\n  - License, or (at your option) any later version.\n  -\n  - This program is distributed in the hope that it will be useful,\n  - but WITHOUT ANY WARRANTY; without even the implied warranty of\n  - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\n  - GNU Affero General Public License for more details.\n  -\n  - You should have received a copy of the GNU Affero General Public License\n  - along with this program. If not, see <http://www.gnu.org/licenses/>.\n  -\n  -->\n\n<template>\n\t<ul id=\"sharing-inherited-shares\">\n\t\t<!-- Main collapsible entry -->\n\t\t<SharingEntrySimple class=\"sharing-entry__inherited\"\n\t\t\t:title=\"mainTitle\"\n\t\t\t:subtitle=\"subTitle\"\n\t\t\t:aria-expanded=\"showInheritedShares\">\n\t\t\t<template #avatar>\n\t\t\t\t<div class=\"avatar-shared icon-more-white\" />\n\t\t\t</template>\n\t\t\t<NcActionButton :icon=\"showInheritedSharesIcon\"\n\t\t\t\t:aria-label=\"toggleTooltip\"\n\t\t\t\t:title=\"toggleTooltip\"\n\t\t\t\t@click.prevent.stop=\"toggleInheritedShares\" />\n\t\t</SharingEntrySimple>\n\n\t\t<!-- Inherited shares list -->\n\t\t<SharingEntryInherited v-for=\"share in shares\"\n\t\t\t:key=\"share.id\"\n\t\t\t:file-info=\"fileInfo\"\n\t\t\t:share=\"share\"\n\t\t\t@remove:share=\"removeShare\" />\n\t</ul>\n</template>\n\n<script>\nimport { generateOcsUrl } from '@nextcloud/router'\nimport NcActionButton from '@nextcloud/vue/dist/Components/NcActionButton.js'\nimport axios from '@nextcloud/axios'\n\nimport Share from '../models/Share.js'\nimport SharingEntryInherited from '../components/SharingEntryInherited.vue'\nimport SharingEntrySimple from '../components/SharingEntrySimple.vue'\n\nexport default {\n\tname: 'SharingInherited',\n\n\tcomponents: {\n\t\tNcActionButton,\n\t\tSharingEntryInherited,\n\t\tSharingEntrySimple,\n\t},\n\n\tprops: {\n\t\tfileInfo: {\n\t\t\ttype: Object,\n\t\t\tdefault: () => {},\n\t\t\trequired: true,\n\t\t},\n\t},\n\n\tdata() {\n\t\treturn {\n\t\t\tloaded: false,\n\t\t\tloading: false,\n\t\t\tshowInheritedShares: false,\n\t\t\tshares: [],\n\t\t}\n\t},\n\tcomputed: {\n\t\tshowInheritedSharesIcon() {\n\t\t\tif (this.loading) {\n\t\t\t\treturn 'icon-loading-small'\n\t\t\t}\n\t\t\tif (this.showInheritedShares) {\n\t\t\t\treturn 'icon-triangle-n'\n\t\t\t}\n\t\t\treturn 'icon-triangle-s'\n\t\t},\n\t\tmainTitle() {\n\t\t\treturn t('files_sharing', 'Others with access')\n\t\t},\n\t\tsubTitle() {\n\t\t\treturn (this.showInheritedShares && this.shares.length === 0)\n\t\t\t\t? t('files_sharing', 'No other accounts with access found')\n\t\t\t\t: ''\n\t\t},\n\t\ttoggleTooltip() {\n\t\t\treturn this.fileInfo.type === 'dir'\n\t\t\t\t? t('files_sharing', 'Toggle list of others with access to this directory')\n\t\t\t\t: t('files_sharing', 'Toggle list of others with access to this file')\n\t\t},\n\t\tfullPath() {\n\t\t\tconst path = `${this.fileInfo.path}/${this.fileInfo.name}`\n\t\t\treturn path.replace('//', '/')\n\t\t},\n\t},\n\twatch: {\n\t\tfileInfo() {\n\t\t\tthis.resetState()\n\t\t},\n\t},\n\tmethods: {\n\t\t/**\n\t\t * Toggle the list view and fetch/reset the state\n\t\t */\n\t\ttoggleInheritedShares() {\n\t\t\tthis.showInheritedShares = !this.showInheritedShares\n\t\t\tif (this.showInheritedShares) {\n\t\t\t\tthis.fetchInheritedShares()\n\t\t\t} else {\n\t\t\t\tthis.resetState()\n\t\t\t}\n\t\t},\n\t\t/**\n\t\t * Fetch the Inherited Shares array\n\t\t */\n\t\tasync fetchInheritedShares() {\n\t\t\tthis.loading = true\n\t\t\ttry {\n\t\t\t\tconst url = generateOcsUrl('apps/files_sharing/api/v1/shares/inherited?format=json&path={path}', { path: this.fullPath })\n\t\t\t\tconst shares = await axios.get(url)\n\t\t\t\tthis.shares = shares.data.ocs.data\n\t\t\t\t\t.map(share => new Share(share))\n\t\t\t\t\t.sort((a, b) => b.createdTime - a.createdTime)\n\t\t\t\tconsole.info(this.shares)\n\t\t\t\tthis.loaded = true\n\t\t\t} catch (error) {\n\t\t\t\tOC.Notification.showTemporary(t('files_sharing', 'Unable to fetch inherited shares'), { type: 'error' })\n\t\t\t} finally {\n\t\t\t\tthis.loading = false\n\t\t\t}\n\t\t},\n\t\t/**\n\t\t * Reset current component state\n\t\t */\n\t\tresetState() {\n\t\t\tthis.loaded = false\n\t\t\tthis.loading = false\n\t\t\tthis.showInheritedShares = false\n\t\t\tthis.shares = []\n\t\t},\n\t\t/**\n\t\t * Remove a share from the shares list\n\t\t *\n\t\t * @param {Share} share the share to remove\n\t\t */\n\t\tremoveShare(share) {\n\t\t\tconst index = this.shares.findIndex(item => item === share)\n\t\t\t// eslint-disable-next-line vue/no-mutating-props\n\t\t\tthis.shares.splice(index, 1)\n\t\t},\n\t},\n}\n</script>\n\n<style lang=\"scss\" scoped>\n.sharing-entry__inherited {\n\t.avatar-shared {\n\t\twidth: 32px;\n\t\theight: 32px;\n\t\tline-height: 32px;\n\t\tfont-size: 18px;\n\t\tbackground-color: var(--color-text-maxcontrast);\n\t\tborder-radius: 50%;\n\t\tflex-shrink: 0;\n\t}\n}\n</style>\n","import mod from \"-!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SharingInherited.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SharingInherited.vue?vue&type=script&lang=js\"","\n      import API from \"!../../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n      import domAPI from \"!../../../../node_modules/style-loader/dist/runtime/styleDomAPI.js\";\n      import insertFn from \"!../../../../node_modules/style-loader/dist/runtime/insertBySelector.js\";\n      import setAttributes from \"!../../../../node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js\";\n      import insertStyleElement from \"!../../../../node_modules/style-loader/dist/runtime/insertStyleElement.js\";\n      import styleTagTransformFn from \"!../../../../node_modules/style-loader/dist/runtime/styleTagTransform.js\";\n      import content, * as namedExport from \"!!../../../../node_modules/css-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/sass-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SharingInherited.vue?vue&type=style&index=0&id=50f9af8c&prod&lang=scss&scoped=true\";\n      \n      \n\nvar options = {};\n\noptions.styleTagTransform = styleTagTransformFn;\noptions.setAttributes = setAttributes;\n\n      options.insert = insertFn.bind(null, \"head\");\n    \noptions.domAPI = domAPI;\noptions.insertStyleElement = insertStyleElement;\n\nvar update = API(content, options);\n\n\n\nexport * from \"!!../../../../node_modules/css-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/sass-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SharingInherited.vue?vue&type=style&index=0&id=50f9af8c&prod&lang=scss&scoped=true\";\n       export default content && content.locals ? content.locals : undefined;\n","import { render, staticRenderFns } from \"./SharingInherited.vue?vue&type=template&id=50f9af8c&scoped=true\"\nimport script from \"./SharingInherited.vue?vue&type=script&lang=js\"\nexport * from \"./SharingInherited.vue?vue&type=script&lang=js\"\nimport style0 from \"./SharingInherited.vue?vue&type=style&index=0&id=50f9af8c&prod&lang=scss&scoped=true\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n  script,\n  render,\n  staticRenderFns,\n  false,\n  null,\n  \"50f9af8c\",\n  null\n  \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return (_vm.canLinkShare)?_c('ul',{staticClass:\"sharing-link-list\"},[(!_vm.hasLinkShares && _vm.canReshare)?_c('SharingEntryLink',{attrs:{\"can-reshare\":_vm.canReshare,\"file-info\":_vm.fileInfo},on:{\"add:share\":_vm.addShare}}):_vm._e(),_vm._v(\" \"),(_vm.hasShares)?_vm._l((_vm.shares),function(share,index){return _c('SharingEntryLink',{key:share.id,attrs:{\"index\":_vm.shares.length > 1 ? index + 1 : null,\"can-reshare\":_vm.canReshare,\"share\":_vm.shares[index],\"file-info\":_vm.fileInfo},on:{\"update:share\":[function($event){return _vm.$set(_vm.shares, index, $event)},function($event){return _vm.awaitForShare(...arguments)}],\"add:share\":function($event){return _vm.addShare(...arguments)},\"remove:share\":_vm.removeShare,\"open-sharing-details\":function($event){return _vm.openSharingDetails(share)}}})}):_vm._e()],2):_vm._e()\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\n  <span v-bind=\"$attrs\"\n        :aria-hidden=\"title ? null : true\"\n        :aria-label=\"title\"\n        class=\"material-design-icon tune-icon\"\n        role=\"img\"\n        @click=\"$emit('click', $event)\">\n    <svg :fill=\"fillColor\"\n         class=\"material-design-icon__svg\"\n         :width=\"size\"\n         :height=\"size\"\n         viewBox=\"0 0 24 24\">\n      <path d=\"M3,17V19H9V17H3M3,5V7H13V5H3M13,21V19H21V17H13V15H11V21H13M7,9V11H3V13H7V15H9V9H7M21,13V11H11V13H21M15,9H17V7H21V5H17V3H15V9Z\">\n        <title v-if=\"title\">{{ title }}</title>\n      </path>\n    </svg>\n  </span>\n</template>\n\n<script>\nexport default {\n  name: \"TuneIcon\",\n  emits: ['click'],\n  props: {\n    title: {\n      type: String,\n    },\n    fillColor: {\n      type: String,\n      default: \"currentColor\"\n    },\n    size: {\n      type: Number,\n      default: 24\n    }\n  }\n}\n</script>","import mod from \"-!../vue-loader/lib/index.js??vue-loader-options!./Tune.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../vue-loader/lib/index.js??vue-loader-options!./Tune.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./Tune.vue?vue&type=template&id=44530562\"\nimport script from \"./Tune.vue?vue&type=script&lang=js\"\nexport * from \"./Tune.vue?vue&type=script&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n  script,\n  render,\n  staticRenderFns,\n  false,\n  null,\n  null,\n  null\n  \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('span',_vm._b({staticClass:\"material-design-icon tune-icon\",attrs:{\"aria-hidden\":_vm.title ? null : true,\"aria-label\":_vm.title,\"role\":\"img\"},on:{\"click\":function($event){return _vm.$emit('click', $event)}}},'span',_vm.$attrs,false),[_c('svg',{staticClass:\"material-design-icon__svg\",attrs:{\"fill\":_vm.fillColor,\"width\":_vm.size,\"height\":_vm.size,\"viewBox\":\"0 0 24 24\"}},[_c('path',{attrs:{\"d\":\"M3,17V19H9V17H3M3,5V7H13V5H3M13,21V19H21V17H13V15H11V21H13M7,9V11H3V13H7V15H9V9H7M21,13V11H11V13H21M15,9H17V7H21V5H17V3H15V9Z\"}},[(_vm.title)?_c('title',[_vm._v(_vm._s(_vm.title))]):_vm._e()])])])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import mod from \"-!../vue-loader/lib/index.js??vue-loader-options!./Qrcode.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../vue-loader/lib/index.js??vue-loader-options!./Qrcode.vue?vue&type=script&lang=js\"","<template>\n  <span v-bind=\"$attrs\"\n        :aria-hidden=\"title ? null : true\"\n        :aria-label=\"title\"\n        class=\"material-design-icon qrcode-icon\"\n        role=\"img\"\n        @click=\"$emit('click', $event)\">\n    <svg :fill=\"fillColor\"\n         class=\"material-design-icon__svg\"\n         :width=\"size\"\n         :height=\"size\"\n         viewBox=\"0 0 24 24\">\n      <path d=\"M3,11H5V13H3V11M11,5H13V9H11V5M9,11H13V15H11V13H9V11M15,11H17V13H19V11H21V13H19V15H21V19H19V21H17V19H13V21H11V17H15V15H17V13H15V11M19,19V15H17V19H19M15,3H21V9H15V3M17,5V7H19V5H17M3,3H9V9H3V3M5,5V7H7V5H5M3,15H9V21H3V15M5,17V19H7V17H5Z\">\n        <title v-if=\"title\">{{ title }}</title>\n      </path>\n    </svg>\n  </span>\n</template>\n\n<script>\nexport default {\n  name: \"QrcodeIcon\",\n  emits: ['click'],\n  props: {\n    title: {\n      type: String,\n    },\n    fillColor: {\n      type: String,\n      default: \"currentColor\"\n    },\n    size: {\n      type: Number,\n      default: 24\n    }\n  }\n}\n</script>","import { render, staticRenderFns } from \"./Qrcode.vue?vue&type=template&id=cc96c380\"\nimport script from \"./Qrcode.vue?vue&type=script&lang=js\"\nexport * from \"./Qrcode.vue?vue&type=script&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n  script,\n  render,\n  staticRenderFns,\n  false,\n  null,\n  null,\n  null\n  \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('span',_vm._b({staticClass:\"material-design-icon qrcode-icon\",attrs:{\"aria-hidden\":_vm.title ? null : true,\"aria-label\":_vm.title,\"role\":\"img\"},on:{\"click\":function($event){return _vm.$emit('click', $event)}}},'span',_vm.$attrs,false),[_c('svg',{staticClass:\"material-design-icon__svg\",attrs:{\"fill\":_vm.fillColor,\"width\":_vm.size,\"height\":_vm.size,\"viewBox\":\"0 0 24 24\"}},[_c('path',{attrs:{\"d\":\"M3,11H5V13H3V11M11,5H13V9H11V5M9,11H13V15H11V13H9V11M15,11H17V13H19V11H21V13H19V15H21V19H19V21H17V19H13V21H11V17H15V15H17V13H15V11M19,19V15H17V19H19M15,3H21V9H15V3M17,5V7H19V5H17M3,3H9V9H3V3M5,5V7H7V5H5M3,15H9V21H3V15M5,17V19H7V17H5Z\"}},[(_vm.title)?_c('title',[_vm._v(_vm._s(_vm.title))]):_vm._e()])])])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import mod from \"-!../vue-loader/lib/index.js??vue-loader-options!./Exclamation.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../vue-loader/lib/index.js??vue-loader-options!./Exclamation.vue?vue&type=script&lang=js\"","<template>\n  <span v-bind=\"$attrs\"\n        :aria-hidden=\"title ? null : true\"\n        :aria-label=\"title\"\n        class=\"material-design-icon exclamation-icon\"\n        role=\"img\"\n        @click=\"$emit('click', $event)\">\n    <svg :fill=\"fillColor\"\n         class=\"material-design-icon__svg\"\n         :width=\"size\"\n         :height=\"size\"\n         viewBox=\"0 0 24 24\">\n      <path d=\"M 11,4L 13,4L 13,15L 11,15L 11,4 Z M 13,18L 13,20L 11,20L 11,18L 13,18 Z\">\n        <title v-if=\"title\">{{ title }}</title>\n      </path>\n    </svg>\n  </span>\n</template>\n\n<script>\nexport default {\n  name: \"ExclamationIcon\",\n  emits: ['click'],\n  props: {\n    title: {\n      type: String,\n    },\n    fillColor: {\n      type: String,\n      default: \"currentColor\"\n    },\n    size: {\n      type: Number,\n      default: 24\n    }\n  }\n}\n</script>","import { render, staticRenderFns } from \"./Exclamation.vue?vue&type=template&id=33754429\"\nimport script from \"./Exclamation.vue?vue&type=script&lang=js\"\nexport * from \"./Exclamation.vue?vue&type=script&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n  script,\n  render,\n  staticRenderFns,\n  false,\n  null,\n  null,\n  null\n  \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('span',_vm._b({staticClass:\"material-design-icon exclamation-icon\",attrs:{\"aria-hidden\":_vm.title ? null : true,\"aria-label\":_vm.title,\"role\":\"img\"},on:{\"click\":function($event){return _vm.$emit('click', $event)}}},'span',_vm.$attrs,false),[_c('svg',{staticClass:\"material-design-icon__svg\",attrs:{\"fill\":_vm.fillColor,\"width\":_vm.size,\"height\":_vm.size,\"viewBox\":\"0 0 24 24\"}},[_c('path',{attrs:{\"d\":\"M 11,4L 13,4L 13,15L 11,15L 11,4 Z M 13,18L 13,20L 11,20L 11,18L 13,18 Z\"}},[(_vm.title)?_c('title',[_vm._v(_vm._s(_vm.title))]):_vm._e()])])])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import mod from \"-!../vue-loader/lib/index.js??vue-loader-options!./Lock.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../vue-loader/lib/index.js??vue-loader-options!./Lock.vue?vue&type=script&lang=js\"","<template>\n  <span v-bind=\"$attrs\"\n        :aria-hidden=\"title ? null : true\"\n        :aria-label=\"title\"\n        class=\"material-design-icon lock-icon\"\n        role=\"img\"\n        @click=\"$emit('click', $event)\">\n    <svg :fill=\"fillColor\"\n         class=\"material-design-icon__svg\"\n         :width=\"size\"\n         :height=\"size\"\n         viewBox=\"0 0 24 24\">\n      <path d=\"M12,17A2,2 0 0,0 14,15C14,13.89 13.1,13 12,13A2,2 0 0,0 10,15A2,2 0 0,0 12,17M18,8A2,2 0 0,1 20,10V20A2,2 0 0,1 18,22H6A2,2 0 0,1 4,20V10C4,8.89 4.9,8 6,8H7V6A5,5 0 0,1 12,1A5,5 0 0,1 17,6V8H18M12,3A3,3 0 0,0 9,6V8H15V6A3,3 0 0,0 12,3Z\">\n        <title v-if=\"title\">{{ title }}</title>\n      </path>\n    </svg>\n  </span>\n</template>\n\n<script>\nexport default {\n  name: \"LockIcon\",\n  emits: ['click'],\n  props: {\n    title: {\n      type: String,\n    },\n    fillColor: {\n      type: String,\n      default: \"currentColor\"\n    },\n    size: {\n      type: Number,\n      default: 24\n    }\n  }\n}\n</script>","import { render, staticRenderFns } from \"./Lock.vue?vue&type=template&id=0e338773\"\nimport script from \"./Lock.vue?vue&type=script&lang=js\"\nexport * from \"./Lock.vue?vue&type=script&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n  script,\n  render,\n  staticRenderFns,\n  false,\n  null,\n  null,\n  null\n  \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('span',_vm._b({staticClass:\"material-design-icon lock-icon\",attrs:{\"aria-hidden\":_vm.title ? null : true,\"aria-label\":_vm.title,\"role\":\"img\"},on:{\"click\":function($event){return _vm.$emit('click', $event)}}},'span',_vm.$attrs,false),[_c('svg',{staticClass:\"material-design-icon__svg\",attrs:{\"fill\":_vm.fillColor,\"width\":_vm.size,\"height\":_vm.size,\"viewBox\":\"0 0 24 24\"}},[_c('path',{attrs:{\"d\":\"M12,17A2,2 0 0,0 14,15C14,13.89 13.1,13 12,13A2,2 0 0,0 10,15A2,2 0 0,0 12,17M18,8A2,2 0 0,1 20,10V20A2,2 0 0,1 18,22H6A2,2 0 0,1 4,20V10C4,8.89 4.9,8 6,8H7V6A5,5 0 0,1 12,1A5,5 0 0,1 17,6V8H18M12,3A3,3 0 0,0 9,6V8H15V6A3,3 0 0,0 12,3Z\"}},[(_vm.title)?_c('title',[_vm._v(_vm._s(_vm.title))]):_vm._e()])])])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\n  <span v-bind=\"$attrs\"\n        :aria-hidden=\"title ? null : true\"\n        :aria-label=\"title\"\n        class=\"material-design-icon triangle-small-down-icon\"\n        role=\"img\"\n        @click=\"$emit('click', $event)\">\n    <svg :fill=\"fillColor\"\n         class=\"material-design-icon__svg\"\n         :width=\"size\"\n         :height=\"size\"\n         viewBox=\"0 0 24 24\">\n      <path d=\"M8 9H16L12 16\">\n        <title v-if=\"title\">{{ title }}</title>\n      </path>\n    </svg>\n  </span>\n</template>\n\n<script>\nexport default {\n  name: \"TriangleSmallDownIcon\",\n  emits: ['click'],\n  props: {\n    title: {\n      type: String,\n    },\n    fillColor: {\n      type: String,\n      default: \"currentColor\"\n    },\n    size: {\n      type: Number,\n      default: 24\n    }\n  }\n}\n</script>","import mod from \"-!../vue-loader/lib/index.js??vue-loader-options!./TriangleSmallDown.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../vue-loader/lib/index.js??vue-loader-options!./TriangleSmallDown.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./TriangleSmallDown.vue?vue&type=template&id=0610cec6\"\nimport script from \"./TriangleSmallDown.vue?vue&type=script&lang=js\"\nexport * from \"./TriangleSmallDown.vue?vue&type=script&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n  script,\n  render,\n  staticRenderFns,\n  false,\n  null,\n  null,\n  null\n  \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('span',_vm._b({staticClass:\"material-design-icon triangle-small-down-icon\",attrs:{\"aria-hidden\":_vm.title ? null : true,\"aria-label\":_vm.title,\"role\":\"img\"},on:{\"click\":function($event){return _vm.$emit('click', $event)}}},'span',_vm.$attrs,false),[_c('svg',{staticClass:\"material-design-icon__svg\",attrs:{\"fill\":_vm.fillColor,\"width\":_vm.size,\"height\":_vm.size,\"viewBox\":\"0 0 24 24\"}},[_c('path',{attrs:{\"d\":\"M8 9H16L12 16\"}},[(_vm.title)?_c('title',[_vm._v(_vm._s(_vm.title))]):_vm._e()])])])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import mod from \"-!../vue-loader/lib/index.js??vue-loader-options!./EyeOutline.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../vue-loader/lib/index.js??vue-loader-options!./EyeOutline.vue?vue&type=script&lang=js\"","<template>\n  <span v-bind=\"$attrs\"\n        :aria-hidden=\"title ? null : true\"\n        :aria-label=\"title\"\n        class=\"material-design-icon eye-outline-icon\"\n        role=\"img\"\n        @click=\"$emit('click', $event)\">\n    <svg :fill=\"fillColor\"\n         class=\"material-design-icon__svg\"\n         :width=\"size\"\n         :height=\"size\"\n         viewBox=\"0 0 24 24\">\n      <path d=\"M12,9A3,3 0 0,1 15,12A3,3 0 0,1 12,15A3,3 0 0,1 9,12A3,3 0 0,1 12,9M12,4.5C17,4.5 21.27,7.61 23,12C21.27,16.39 17,19.5 12,19.5C7,19.5 2.73,16.39 1,12C2.73,7.61 7,4.5 12,4.5M3.18,12C4.83,15.36 8.24,17.5 12,17.5C15.76,17.5 19.17,15.36 20.82,12C19.17,8.64 15.76,6.5 12,6.5C8.24,6.5 4.83,8.64 3.18,12Z\">\n        <title v-if=\"title\">{{ title }}</title>\n      </path>\n    </svg>\n  </span>\n</template>\n\n<script>\nexport default {\n  name: \"EyeOutlineIcon\",\n  emits: ['click'],\n  props: {\n    title: {\n      type: String,\n    },\n    fillColor: {\n      type: String,\n      default: \"currentColor\"\n    },\n    size: {\n      type: Number,\n      default: 24\n    }\n  }\n}\n</script>","import { render, staticRenderFns } from \"./EyeOutline.vue?vue&type=template&id=30219a41\"\nimport script from \"./EyeOutline.vue?vue&type=script&lang=js\"\nexport * from \"./EyeOutline.vue?vue&type=script&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n  script,\n  render,\n  staticRenderFns,\n  false,\n  null,\n  null,\n  null\n  \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('span',_vm._b({staticClass:\"material-design-icon eye-outline-icon\",attrs:{\"aria-hidden\":_vm.title ? null : true,\"aria-label\":_vm.title,\"role\":\"img\"},on:{\"click\":function($event){return _vm.$emit('click', $event)}}},'span',_vm.$attrs,false),[_c('svg',{staticClass:\"material-design-icon__svg\",attrs:{\"fill\":_vm.fillColor,\"width\":_vm.size,\"height\":_vm.size,\"viewBox\":\"0 0 24 24\"}},[_c('path',{attrs:{\"d\":\"M12,9A3,3 0 0,1 15,12A3,3 0 0,1 12,15A3,3 0 0,1 9,12A3,3 0 0,1 12,9M12,4.5C17,4.5 21.27,7.61 23,12C21.27,16.39 17,19.5 12,19.5C7,19.5 2.73,16.39 1,12C2.73,7.61 7,4.5 12,4.5M3.18,12C4.83,15.36 8.24,17.5 12,17.5C15.76,17.5 19.17,15.36 20.82,12C19.17,8.64 15.76,6.5 12,6.5C8.24,6.5 4.83,8.64 3.18,12Z\"}},[(_vm.title)?_c('title',[_vm._v(_vm._s(_vm.title))]):_vm._e()])])])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\n  <span v-bind=\"$attrs\"\n        :aria-hidden=\"title ? null : true\"\n        :aria-label=\"title\"\n        class=\"material-design-icon file-upload-icon\"\n        role=\"img\"\n        @click=\"$emit('click', $event)\">\n    <svg :fill=\"fillColor\"\n         class=\"material-design-icon__svg\"\n         :width=\"size\"\n         :height=\"size\"\n         viewBox=\"0 0 24 24\">\n      <path d=\"M14,2H6A2,2 0 0,0 4,4V20A2,2 0 0,0 6,22H18A2,2 0 0,0 20,20V8L14,2M13.5,16V19H10.5V16H8L12,12L16,16H13.5M13,9V3.5L18.5,9H13Z\">\n        <title v-if=\"title\">{{ title }}</title>\n      </path>\n    </svg>\n  </span>\n</template>\n\n<script>\nexport default {\n  name: \"FileUploadIcon\",\n  emits: ['click'],\n  props: {\n    title: {\n      type: String,\n    },\n    fillColor: {\n      type: String,\n      default: \"currentColor\"\n    },\n    size: {\n      type: Number,\n      default: 24\n    }\n  }\n}\n</script>","import mod from \"-!../vue-loader/lib/index.js??vue-loader-options!./FileUpload.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../vue-loader/lib/index.js??vue-loader-options!./FileUpload.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./FileUpload.vue?vue&type=template&id=437aa472\"\nimport script from \"./FileUpload.vue?vue&type=script&lang=js\"\nexport * from \"./FileUpload.vue?vue&type=script&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n  script,\n  render,\n  staticRenderFns,\n  false,\n  null,\n  null,\n  null\n  \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('span',_vm._b({staticClass:\"material-design-icon file-upload-icon\",attrs:{\"aria-hidden\":_vm.title ? null : true,\"aria-label\":_vm.title,\"role\":\"img\"},on:{\"click\":function($event){return _vm.$emit('click', $event)}}},'span',_vm.$attrs,false),[_c('svg',{staticClass:\"material-design-icon__svg\",attrs:{\"fill\":_vm.fillColor,\"width\":_vm.size,\"height\":_vm.size,\"viewBox\":\"0 0 24 24\"}},[_c('path',{attrs:{\"d\":\"M14,2H6A2,2 0 0,0 4,4V20A2,2 0 0,0 6,22H18A2,2 0 0,0 20,20V8L14,2M13.5,16V19H10.5V16H8L12,12L16,16H13.5M13,9V3.5L18.5,9H13Z\"}},[(_vm.title)?_c('title',[_vm._v(_vm._s(_vm.title))]):_vm._e()])])])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\n\t<NcActions ref=\"quickShareActions\"\n\t\tclass=\"share-select\"\n\t\t:menu-name=\"selectedOption\"\n\t\t:aria-label=\"ariaLabel\"\n\t\ttype=\"tertiary-no-background\"\n\t\tforce-name>\n\t\t<template #icon>\n\t\t\t<DropdownIcon :size=\"15\" />\n\t\t</template>\n\t\t<NcActionButton v-for=\"option in options\"\n\t\t\t:key=\"option.label\"\n\t\t\ttype=\"radio\"\n\t\t\t:model-value=\"option.label === selectedOption\"\n\t\t\tclose-after-click\n\t\t\t@click=\"selectOption(option.label)\">\n\t\t\t<template #icon>\n\t\t\t\t<component :is=\"option.icon\" />\n\t\t\t</template>\n\t\t\t{{ option.label }}\n\t\t</NcActionButton>\n\t</NcActions>\n</template>\n\n<script>\nimport DropdownIcon from 'vue-material-design-icons/TriangleSmallDown.vue'\nimport SharesMixin from '../mixins/SharesMixin.js'\nimport ShareDetails from '../mixins/ShareDetails.js'\nimport ShareTypes from '../mixins/ShareTypes.js'\nimport NcActions from '@nextcloud/vue/dist/Components/NcActions.js'\nimport NcActionButton from '@nextcloud/vue/dist/Components/NcActionButton.js'\nimport IconEyeOutline from 'vue-material-design-icons/EyeOutline.vue'\nimport IconPencil from 'vue-material-design-icons/Pencil.vue'\nimport IconFileUpload from 'vue-material-design-icons/FileUpload.vue'\nimport IconTune from 'vue-material-design-icons/Tune.vue'\n\nimport {\n\tBUNDLED_PERMISSIONS,\n\tATOMIC_PERMISSIONS,\n} from '../lib/SharePermissionsToolBox.js'\n\nexport default {\n\tname: 'SharingEntryQuickShareSelect',\n\n\tcomponents: {\n\t\tDropdownIcon,\n\t\tNcActions,\n\t\tNcActionButton,\n\t},\n\n\tmixins: [SharesMixin, ShareDetails, ShareTypes],\n\n\tprops: {\n\t\tshare: {\n\t\t\ttype: Object,\n\t\t\trequired: true,\n\t\t},\n\t},\n\n\temits: ['open-sharing-details'],\n\n\tdata() {\n\t\treturn {\n\t\t\tselectedOption: '',\n\t\t}\n\t},\n\n\tcomputed: {\n\t\tariaLabel() {\n\t\t\treturn t('files_sharing', 'Quick share options, the current selected is \"{selectedOption}\"', { selectedOption: this.selectedOption })\n\t\t},\n\t\tcanViewText() {\n\t\t\treturn t('files_sharing', 'View only')\n\t\t},\n\t\tcanEditText() {\n\t\t\treturn t('files_sharing', 'Can edit')\n\t\t},\n\t\tfileDropText() {\n\t\t\treturn t('files_sharing', 'File drop')\n\t\t},\n\t\tcustomPermissionsText() {\n\t\t\treturn t('files_sharing', 'Custom permissions')\n\t\t},\n\t\tpreSelectedOption() {\n\t\t\t// We remove the share permission for the comparison as it is not relevant for bundled permissions.\n\t\t\tif ((this.share.permissions & ~ATOMIC_PERMISSIONS.SHARE) === BUNDLED_PERMISSIONS.READ_ONLY) {\n\t\t\t\treturn this.canViewText\n\t\t\t} else if (this.share.permissions === BUNDLED_PERMISSIONS.ALL || this.share.permissions === BUNDLED_PERMISSIONS.ALL_FILE) {\n\t\t\t\treturn this.canEditText\n\t\t\t} else if ((this.share.permissions & ~ATOMIC_PERMISSIONS.SHARE) === BUNDLED_PERMISSIONS.FILE_DROP) {\n\t\t\t\treturn this.fileDropText\n\t\t\t}\n\n\t\t\treturn this.customPermissionsText\n\n\t\t},\n\t\toptions() {\n\t\t\tconst options = [{\n\t\t\t\tlabel: this.canViewText,\n\t\t\t\ticon: IconEyeOutline,\n\t\t\t}, {\n\t\t\t\tlabel: this.canEditText,\n\t\t\t\ticon: IconPencil,\n\t\t\t}]\n\t\t\tif (this.supportsFileDrop) {\n\t\t\t\toptions.push({\n\t\t\t\t\tlabel: this.fileDropText,\n\t\t\t\t\ticon: IconFileUpload,\n\t\t\t\t})\n\t\t\t}\n\t\t\toptions.push({\n\t\t\t\tlabel: this.customPermissionsText,\n\t\t\t\ticon: IconTune,\n\t\t\t})\n\n\t\t\treturn options\n\t\t},\n\t\tsupportsFileDrop() {\n\t\t\tif (this.isFolder && this.config.isPublicUploadEnabled) {\n\t\t\t\tconst shareType = this.share.type ?? this.share.shareType\n\t\t\t\treturn [this.SHARE_TYPES.SHARE_TYPE_LINK, this.SHARE_TYPES.SHARE_TYPE_EMAIL].includes(shareType)\n\t\t\t}\n\t\t\treturn false\n\t\t},\n\t\tdropDownPermissionValue() {\n\t\t\tswitch (this.selectedOption) {\n\t\t\tcase this.canEditText:\n\t\t\t\treturn this.isFolder ? BUNDLED_PERMISSIONS.ALL : BUNDLED_PERMISSIONS.ALL_FILE\n\t\t\tcase this.fileDropText:\n\t\t\t\treturn BUNDLED_PERMISSIONS.FILE_DROP\n\t\t\tcase this.customPermissionsText:\n\t\t\t\treturn 'custom'\n\t\t\tcase this.canViewText:\n\t\t\tdefault:\n\t\t\t\treturn BUNDLED_PERMISSIONS.READ_ONLY\n\t\t\t}\n\t\t},\n\t},\n\n\tcreated() {\n\t\tthis.selectedOption = this.preSelectedOption\n\t},\n\n\tmethods: {\n\t\tselectOption(optionLabel) {\n\t\t\tthis.selectedOption = optionLabel\n\t\t\tif (optionLabel === this.customPermissionsText) {\n\t\t\t\tthis.$emit('open-sharing-details')\n\t\t\t} else {\n\t\t\t\tthis.share.permissions = this.dropDownPermissionValue\n\t\t\t\tthis.queueUpdate('permissions')\n\t\t\t\t// TODO: Add a focus method to NcActions or configurable returnFocus enabling to NcActionButton with closeAfterClick\n\t\t\t\tthis.$refs.quickShareActions.$refs.menuButton.$el.focus()\n\t\t\t}\n\t\t},\n\t},\n\n}\n</script>\n\n<style lang=\"scss\" scoped>\n.share-select {\n\tdisplay: block;\n\n\t// TODO: NcActions should have a slot for custom trigger button like NcPopover\n\t// Overrider NcActionms button to make it small\n\t:deep(.action-item__menutoggle) {\n\t\tcolor: var(--color-primary-element) !important;\n\t\tfont-size: 12.5px !important;\n\t\theight: auto !important;\n\t\tmin-height: auto !important;\n\n\t\t.button-vue__text {\n\t\t\tfont-weight: normal !important;\n\t\t}\n\n\t\t.button-vue__icon {\n\t\t\theight: 24px !important;\n\t\t\tmin-height: 24px !important;\n\t\t\twidth: 24px !important;\n\t\t\tmin-width: 24px !important;\n\t\t}\n\n\t\t.button-vue__wrapper {\n\t\t\t// Emulate NcButton's alignment=center-reverse\n\t\t\tflex-direction: row-reverse !important;\n\t\t}\n\t}\n}\n</style>\n","import mod from \"-!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SharingEntryQuickShareSelect.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SharingEntryQuickShareSelect.vue?vue&type=script&lang=js\"","\n      import API from \"!../../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n      import domAPI from \"!../../../../node_modules/style-loader/dist/runtime/styleDomAPI.js\";\n      import insertFn from \"!../../../../node_modules/style-loader/dist/runtime/insertBySelector.js\";\n      import setAttributes from \"!../../../../node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js\";\n      import insertStyleElement from \"!../../../../node_modules/style-loader/dist/runtime/insertStyleElement.js\";\n      import styleTagTransformFn from \"!../../../../node_modules/style-loader/dist/runtime/styleTagTransform.js\";\n      import content, * as namedExport from \"!!../../../../node_modules/css-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/sass-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SharingEntryQuickShareSelect.vue?vue&type=style&index=0&id=6e5dd9f1&prod&lang=scss&scoped=true\";\n      \n      \n\nvar options = {};\n\noptions.styleTagTransform = styleTagTransformFn;\noptions.setAttributes = setAttributes;\n\n      options.insert = insertFn.bind(null, \"head\");\n    \noptions.domAPI = domAPI;\noptions.insertStyleElement = insertStyleElement;\n\nvar update = API(content, options);\n\n\n\nexport * from \"!!../../../../node_modules/css-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/sass-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SharingEntryQuickShareSelect.vue?vue&type=style&index=0&id=6e5dd9f1&prod&lang=scss&scoped=true\";\n       export default content && content.locals ? content.locals : undefined;\n","import { render, staticRenderFns } from \"./SharingEntryQuickShareSelect.vue?vue&type=template&id=6e5dd9f1&scoped=true\"\nimport script from \"./SharingEntryQuickShareSelect.vue?vue&type=script&lang=js\"\nexport * from \"./SharingEntryQuickShareSelect.vue?vue&type=script&lang=js\"\nimport style0 from \"./SharingEntryQuickShareSelect.vue?vue&type=style&index=0&id=6e5dd9f1&prod&lang=scss&scoped=true\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n  script,\n  render,\n  staticRenderFns,\n  false,\n  null,\n  \"6e5dd9f1\",\n  null\n  \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('NcActions',{ref:\"quickShareActions\",staticClass:\"share-select\",attrs:{\"menu-name\":_vm.selectedOption,\"aria-label\":_vm.ariaLabel,\"type\":\"tertiary-no-background\",\"force-name\":\"\"},scopedSlots:_vm._u([{key:\"icon\",fn:function(){return [_c('DropdownIcon',{attrs:{\"size\":15}})]},proxy:true}])},[_vm._v(\" \"),_vm._l((_vm.options),function(option){return _c('NcActionButton',{key:option.label,attrs:{\"type\":\"radio\",\"model-value\":option.label === _vm.selectedOption,\"close-after-click\":\"\"},on:{\"click\":function($event){return _vm.selectOption(option.label)}},scopedSlots:_vm._u([{key:\"icon\",fn:function(){return [_c(option.icon,{tag:\"component\"})]},proxy:true}],null,true)},[_vm._v(\"\\n\\t\\t\"+_vm._s(option.label)+\"\\n\\t\")])})],2)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import mod from \"-!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ExternalShareAction.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ExternalShareAction.vue?vue&type=script&lang=js\"","<!--\n  - @copyright Copyright (c) 2021 John Molakvoæ <skjnldsv@protonmail.com>\n  -\n  - @author John Molakvoæ <skjnldsv@protonmail.com>\n  -\n  - @license GNU AGPL version 3 or any later version\n  -\n  - This program is free software: you can redistribute it and/or modify\n  - it under the terms of the GNU Affero General Public License as\n  - published by the Free Software Foundation, either version 3 of the\n  - License, or (at your option) any later version.\n  -\n  - This program is distributed in the hope that it will be useful,\n  - but WITHOUT ANY WARRANTY; without even the implied warranty of\n  - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\n  - GNU Affero General Public License for more details.\n  -\n  - You should have received a copy of the GNU Affero General Public License\n  - along with this program. If not, see <http://www.gnu.org/licenses/>.\n  -\n  -->\n\n<template>\n\t<Component :is=\"data.is\"\n\t\tv-bind=\"data\"\n\t\tv-on=\"action.handlers\">\n\t\t{{ data.text }}\n\t</Component>\n</template>\n\n<script>\nimport Share from '../models/Share.js'\n\nexport default {\n\tname: 'ExternalShareAction',\n\n\tprops: {\n\t\tid: {\n\t\t\ttype: String,\n\t\t\trequired: true,\n\t\t},\n\t\taction: {\n\t\t\ttype: Object,\n\t\t\tdefault: () => ({}),\n\t\t},\n\t\tfileInfo: {\n\t\t\ttype: Object,\n\t\t\tdefault: () => {},\n\t\t\trequired: true,\n\t\t},\n\t\tshare: {\n\t\t\ttype: Share,\n\t\t\tdefault: null,\n\t\t},\n\t},\n\n\tcomputed: {\n\t\tdata() {\n\t\t\treturn this.action.data(this)\n\t\t},\n\t},\n}\n</script>\n","import { render, staticRenderFns } from \"./ExternalShareAction.vue?vue&type=template&id=0f0e27d0\"\nimport script from \"./ExternalShareAction.vue?vue&type=script&lang=js\"\nexport * from \"./ExternalShareAction.vue?vue&type=script&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n  script,\n  render,\n  staticRenderFns,\n  false,\n  null,\n  null,\n  null\n  \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c(_vm.data.is,_vm._g(_vm._b({tag:\"Component\"},'Component',_vm.data,false),_vm.action.handlers),[_vm._v(\"\\n\\t\"+_vm._s(_vm.data.text)+\"\\n\")])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<!--\n  - @copyright Copyright (c) 2019 John Molakvoæ <skjnldsv@protonmail.com>\n  -\n  - @author John Molakvoæ <skjnldsv@protonmail.com>\n  -\n  - @license GNU AGPL version 3 or any later version\n  -\n  - This program is free software: you can redistribute it and/or modify\n  - it under the terms of the GNU Affero General Public License as\n  - published by the Free Software Foundation, either version 3 of the\n  - License, or (at your option) any later version.\n  -\n  - This program is distributed in the hope that it will be useful,\n  - but WITHOUT ANY WARRANTY; without even the implied warranty of\n  - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\n  - GNU Affero General Public License for more details.\n  -\n  - You should have received a copy of the GNU Affero General Public License\n  - along with this program. If not, see <http://www.gnu.org/licenses/>.\n  -\n  -->\n\n<template>\n\t<li :class=\"{ 'sharing-entry--share': share }\"\n\t\tclass=\"sharing-entry sharing-entry__link\">\n\t\t<NcAvatar :is-no-user=\"true\"\n\t\t\t:icon-class=\"isEmailShareType ? 'avatar-link-share icon-mail-white' : 'avatar-link-share icon-public-white'\"\n\t\t\tclass=\"sharing-entry__avatar\" />\n\n\t\t<div class=\"sharing-entry__summary\">\n\t\t\t<div class=\"sharing-entry__desc\">\n\t\t\t\t<span class=\"sharing-entry__title\" :title=\"title\">\n\t\t\t\t\t{{ title }}\n\t\t\t\t</span>\n\t\t\t\t<p v-if=\"subtitle\">\n\t\t\t\t\t{{ subtitle }}\n\t\t\t\t</p>\n\t\t\t\t<SharingEntryQuickShareSelect v-if=\"share && share.permissions !== undefined\"\n\t\t\t\t\t:share=\"share\"\n\t\t\t\t\t:file-info=\"fileInfo\"\n\t\t\t\t\t@open-sharing-details=\"openShareDetailsForCustomSettings(share)\" />\n\t\t\t</div>\n\n\t\t\t<!-- clipboard -->\n\t\t\t<NcActions v-if=\"share && !isEmailShareType && share.token\" ref=\"copyButton\" class=\"sharing-entry__copy\">\n\t\t\t\t<NcActionButton\t:title=\"copyLinkTooltip\"\n\t\t\t\t\t:aria-label=\"copyLinkTooltip\"\n\t\t\t\t\t@click.prevent=\"copyLink\">\n\t\t\t\t\t<template #icon>\n\t\t\t\t\t\t<CheckIcon v-if=\"copied && copySuccess\"\n\t\t\t\t\t\t\t:size=\"20\"\n\t\t\t\t\t\t\tclass=\"icon-checkmark-color\" />\n\t\t\t\t\t\t<ClipboardIcon v-else :size=\"20\" />\n\t\t\t\t\t</template>\n\t\t\t\t</NcActionButton>\n\t\t\t</NcActions>\n\t\t</div>\n\n\t\t<!-- pending actions -->\n\t\t<NcActions v-if=\"!pending && (pendingPassword || pendingEnforcedPassword || pendingExpirationDate)\"\n\t\t\tclass=\"sharing-entry__actions\"\n\t\t\t:aria-label=\"actionsTooltip\"\n\t\t\tmenu-align=\"right\"\n\t\t\t:open.sync=\"open\"\n\t\t\t@close=\"onCancel\">\n\t\t\t<!-- pending data menu -->\n\t\t\t<NcActionText v-if=\"errors.pending\"\n\t\t\t\tclass=\"error\">\n\t\t\t\t<template #icon>\n\t\t\t\t\t<ErrorIcon :size=\"20\" />\n\t\t\t\t</template>\n\t\t\t\t{{ errors.pending }}\n\t\t\t</NcActionText>\n\t\t\t<NcActionText v-else icon=\"icon-info\">\n\t\t\t\t{{ t('files_sharing', 'Please enter the following required information before creating the share') }}\n\t\t\t</NcActionText>\n\n\t\t\t<!-- password -->\n\t\t\t<NcActionText v-if=\"pendingEnforcedPassword\">\n\t\t\t\t<LockIcon :size=\"20\" />\n\t\t\t\t{{ t('files_sharing', 'Password protection (enforced)') }}\n\t\t\t</NcActionText>\n\t\t\t<NcActionCheckbox v-else-if=\"pendingPassword\"\n\t\t\t\t:checked.sync=\"isPasswordProtected\"\n\t\t\t\t:disabled=\"config.enforcePasswordForPublicLink || saving\"\n\t\t\t\tclass=\"share-link-password-checkbox\"\n\t\t\t\t@uncheck=\"onPasswordDisable\">\n\t\t\t\t{{ t('files_sharing', 'Password protection') }}\n\t\t\t</NcActionCheckbox>\n\n\t\t\t<NcActionInput v-if=\"pendingEnforcedPassword || share.password\"\n\t\t\t\tclass=\"share-link-password\"\n\t\t\t\t:value.sync=\"share.password\"\n\t\t\t\t:disabled=\"saving\"\n\t\t\t\t:required=\"config.enableLinkPasswordByDefault || config.enforcePasswordForPublicLink\"\n\t\t\t\t:minlength=\"isPasswordPolicyEnabled && config.passwordPolicy.minLength\"\n\t\t\t\ticon=\"\"\n\t\t\t\tautocomplete=\"new-password\"\n\t\t\t\t@submit=\"onNewLinkShare\">\n\t\t\t\t{{ t('files_sharing', 'Enter a password') }}\n\t\t\t</NcActionInput>\n\n\t\t\t<!-- expiration date -->\n\t\t\t<NcActionText v-if=\"pendingExpirationDate\" icon=\"icon-calendar-dark\">\n\t\t\t\t{{ t('files_sharing', 'Expiration date (enforced)') }}\n\t\t\t</NcActionText>\n\t\t\t<NcActionInput v-if=\"pendingExpirationDate\"\n\t\t\t\tclass=\"share-link-expire-date\"\n\t\t\t\t:disabled=\"saving\"\n\t\t\t\t:is-native-picker=\"true\"\n\t\t\t\t:hide-label=\"true\"\n\t\t\t\t:value=\"new Date(share.expireDate)\"\n\t\t\t\ttype=\"date\"\n\t\t\t\t:min=\"dateTomorrow\"\n\t\t\t\t:max=\"maxExpirationDateEnforced\"\n\t\t\t\t@input=\"onExpirationChange\">\n\t\t\t\t<!-- let's not submit when picked, the user\n\t\t\t\t\tmight want to still edit or copy the password -->\n\t\t\t\t{{ t('files_sharing', 'Enter a date') }}\n\t\t\t</NcActionInput>\n\n\t\t\t<NcActionButton @click.prevent.stop=\"onNewLinkShare\">\n\t\t\t\t<template #icon>\n\t\t\t\t\t<CheckIcon :size=\"20\" />\n\t\t\t\t</template>\n\t\t\t\t{{ t('files_sharing', 'Create share') }}\n\t\t\t</NcActionButton>\n\t\t\t<NcActionButton @click.prevent.stop=\"onCancel\">\n\t\t\t\t<template #icon>\n\t\t\t\t\t<CloseIcon :size=\"20\" />\n\t\t\t\t</template>\n\t\t\t\t{{ t('files_sharing', 'Cancel') }}\n\t\t\t</NcActionButton>\n\t\t</NcActions>\n\n\t\t<!-- actions -->\n\t\t<NcActions v-else-if=\"!loading\"\n\t\t\tclass=\"sharing-entry__actions\"\n\t\t\t:aria-label=\"actionsTooltip\"\n\t\t\tmenu-align=\"right\"\n\t\t\t:open.sync=\"open\"\n\t\t\t@close=\"onMenuClose\">\n\t\t\t<template v-if=\"share\">\n\t\t\t\t<template v-if=\"share.canEdit && canReshare\">\n\t\t\t\t\t<NcActionButton :disabled=\"saving\"\n\t\t\t\t\t\t:close-after-click=\"true\"\n\t\t\t\t\t\t@click.prevent=\"openSharingDetails\">\n\t\t\t\t\t\t<template #icon>\n\t\t\t\t\t\t\t<Tune :size=\"20\" />\n\t\t\t\t\t\t</template>\n\t\t\t\t\t\t{{ t('files_sharing', 'Customize link') }}\n\t\t\t\t\t</NcActionButton>\n\t\t\t\t</template>\n\t\t\t\t\n\t\t\t\t<NcActionButton :close-after-click=\"true\"\n\t\t\t\t\t@click.prevent=\"showQRCode = true\">\n\t\t\t\t\t<template #icon>\n\t\t\t\t\t\t<IconQr :size=\"20\" />\n\t\t\t\t\t</template>\n\t\t\t\t\t{{ t('files_sharing', 'Generate QR code') }}\n\t\t\t\t</NcActionButton>\n\n\t\t\t\t<NcActionSeparator />\n\n\t\t\t\t<!-- external actions -->\n\t\t\t\t<ExternalShareAction v-for=\"action in externalLinkActions\"\n\t\t\t\t\t:id=\"action.id\"\n\t\t\t\t\t:key=\"action.id\"\n\t\t\t\t\t:action=\"action\"\n\t\t\t\t\t:file-info=\"fileInfo\"\n\t\t\t\t\t:share=\"share\" />\n\n\t\t\t\t<!-- external legacy sharing via url (social...) -->\n\t\t\t\t<NcActionLink v-for=\"({ icon, url, name }, index) in externalLegacyLinkActions\"\n\t\t\t\t\t:key=\"index\"\n\t\t\t\t\t:href=\"url(shareLink)\"\n\t\t\t\t\t:icon=\"icon\"\n\t\t\t\t\ttarget=\"_blank\">\n\t\t\t\t\t{{ name }}\n\t\t\t\t</NcActionLink>\n\n\t\t\t\t<NcActionButton v-if=\"!isEmailShareType && canReshare\"\n\t\t\t\t\tclass=\"new-share-link\"\n\t\t\t\t\t@click.prevent.stop=\"onNewLinkShare\">\n\t\t\t\t\t<template #icon>\n\t\t\t\t\t\t<PlusIcon :size=\"20\" />\n\t\t\t\t\t</template>\n\t\t\t\t\t{{ t('files_sharing', 'Add another link') }}\n\t\t\t\t</NcActionButton>\n\n\t\t\t\t<NcActionButton v-if=\"share.canDelete\"\n\t\t\t\t\t:disabled=\"saving\"\n\t\t\t\t\t@click.prevent=\"onDelete\">\n\t\t\t\t\t<template #icon>\n\t\t\t\t\t\t<CloseIcon :size=\"20\" />\n\t\t\t\t\t</template>\n\t\t\t\t\t{{ t('files_sharing', 'Unshare') }}\n\t\t\t\t</NcActionButton>\n\t\t\t</template>\n\n\t\t\t<!-- Create new share -->\n\t\t\t<NcActionButton v-else-if=\"canReshare\"\n\t\t\t\tclass=\"new-share-link\"\n\t\t\t\t:title=\"t('files_sharing', 'Create a new share link')\"\n\t\t\t\t:aria-label=\"t('files_sharing', 'Create a new share link')\"\n\t\t\t\t:icon=\"loading ? 'icon-loading-small' : 'icon-add'\"\n\t\t\t\t@click.prevent.stop=\"onNewLinkShare\" />\n\t\t</NcActions>\n\n\t\t<!-- loading indicator to replace the menu -->\n\t\t<div v-else class=\"icon-loading-small sharing-entry__loading\" />\n\n\t\t<!-- Modal to open whenever we have a QR code -->\n\t\t<NcDialog v-if=\"showQRCode\"\n\t\t\tsize=\"normal\"\n\t\t\t:open.sync=\"showQRCode\"\n\t\t\t:name=\"title\"\n\t\t\t:close-on-click-outside=\"true\"\n\t\t\t@close=\"showQRCode = false\">\n\t\t\t<div class=\"qr-code-dialog\">\n\t\t\t\t<VueQrcode tag=\"img\"\n\t\t\t\t\t:value=\"shareLink\"\n\t\t\t\t\tclass=\"qr-code-dialog__img\" />\n\t\t\t</div>\n\t\t</NcDialog>\n\t</li>\n</template>\n\n<script>\nimport { generateUrl } from '@nextcloud/router'\nimport { showError, showSuccess } from '@nextcloud/dialogs'\nimport { Type as ShareTypes } from '@nextcloud/sharing'\nimport Vue from 'vue'\nimport VueQrcode from '@chenfengyuan/vue-qrcode';\n\nimport NcActionButton from '@nextcloud/vue/dist/Components/NcActionButton.js'\nimport NcActionInput from '@nextcloud/vue/dist/Components/NcActionInput.js'\nimport NcActionLink from '@nextcloud/vue/dist/Components/NcActionLink.js'\nimport NcActionText from '@nextcloud/vue/dist/Components/NcActionText.js'\nimport NcActionSeparator from '@nextcloud/vue/dist/Components/NcActionSeparator.js'\nimport NcActions from '@nextcloud/vue/dist/Components/NcActions.js'\nimport NcAvatar from '@nextcloud/vue/dist/Components/NcAvatar.js'\nimport NcDialog from '@nextcloud/vue/dist/Components/NcDialog.js'\n\nimport Tune from 'vue-material-design-icons/Tune.vue'\nimport IconQr from 'vue-material-design-icons/Qrcode.vue'\nimport ErrorIcon from 'vue-material-design-icons/Exclamation.vue'\nimport LockIcon from 'vue-material-design-icons/Lock.vue'\nimport CheckIcon from 'vue-material-design-icons/CheckBold.vue'\nimport ClipboardIcon from 'vue-material-design-icons/ClipboardFlow.vue'\nimport CloseIcon from 'vue-material-design-icons/Close.vue'\nimport PlusIcon from 'vue-material-design-icons/Plus.vue'\n\nimport SharingEntryQuickShareSelect from './SharingEntryQuickShareSelect.vue'\n\nimport ExternalShareAction from './ExternalShareAction.vue'\nimport GeneratePassword from '../utils/GeneratePassword.js'\nimport Share from '../models/Share.js'\nimport SharesMixin from '../mixins/SharesMixin.js'\nimport ShareDetails from '../mixins/ShareDetails.js'\n\nexport default {\n\tname: 'SharingEntryLink',\n\n\tcomponents: {\n\t\tExternalShareAction,\n\t\tNcActions,\n\t\tNcActionButton,\n\t\tNcActionInput,\n\t\tNcActionLink,\n\t\tNcActionText,\n\t\tNcActionSeparator,\n\t\tNcAvatar,\n\t\tNcDialog,\n\t\tVueQrcode,\n\t\tTune,\n\t\tIconQr,\n\t\tErrorIcon,\n\t\tLockIcon,\n\t\tCheckIcon,\n\t\tClipboardIcon,\n\t\tCloseIcon,\n\t\tPlusIcon,\n\t\tSharingEntryQuickShareSelect,\n\t},\n\n\tmixins: [SharesMixin, ShareDetails],\n\n\tprops: {\n\t\tcanReshare: {\n\t\t\ttype: Boolean,\n\t\t\tdefault: true,\n\t\t},\n\t\tindex: {\n\t\t\ttype: Number,\n\t\t\tdefault: null,\n\t\t},\n\t},\n\n\tdata() {\n\t\treturn {\n\t\t\tcopySuccess: true,\n\t\t\tcopied: false,\n\n\t\t\t// Are we waiting for password/expiration date\n\t\t\tpending: false,\n\n\t\t\tExternalLegacyLinkActions: OCA.Sharing.ExternalLinkActions.state,\n\t\t\tExternalShareActions: OCA.Sharing.ExternalShareActions.state,\n\n\t\t\t// tracks whether modal should be opened or not\n\t\t\tshowQRCode: false,\n\t\t}\n\t},\n\n\tcomputed: {\n\t\t/**\n\t\t * Link share label\n\t\t *\n\t\t * @return {string}\n\t\t */\n\t\ttitle() {\n\t\t\t// if we have a valid existing share (not pending)\n\t\t\tif (this.share && this.share.id) {\n\t\t\t\tif (!this.isShareOwner && this.share.ownerDisplayName) {\n\t\t\t\t\tif (this.isEmailShareType) {\n\t\t\t\t\t\treturn t('files_sharing', '{shareWith} by {initiator}', {\n\t\t\t\t\t\t\tshareWith: this.share.shareWith,\n\t\t\t\t\t\t\tinitiator: this.share.ownerDisplayName,\n\t\t\t\t\t\t})\n\t\t\t\t\t}\n\t\t\t\t\treturn t('files_sharing', 'Shared via link by {initiator}', {\n\t\t\t\t\t\tinitiator: this.share.ownerDisplayName,\n\t\t\t\t\t})\n\t\t\t\t}\n\t\t\t\tif (this.share.label && this.share.label.trim() !== '') {\n\t\t\t\t\tif (this.isEmailShareType) {\n\t\t\t\t\t\treturn t('files_sharing', 'Mail share ({label})', {\n\t\t\t\t\t\t\tlabel: this.share.label.trim(),\n\t\t\t\t\t\t})\n\t\t\t\t\t}\n\t\t\t\t\treturn t('files_sharing', 'Share link ({label})', {\n\t\t\t\t\t\tlabel: this.share.label.trim(),\n\t\t\t\t\t})\n\t\t\t\t}\n\t\t\t\tif (this.isEmailShareType) {\n\t\t\t\t\treturn this.share.shareWith\n\t\t\t\t}\n\t\t\t}\n\t\t\tif (this.index > 1) {\n\t\t\t\treturn t('files_sharing', 'Share link ({index})', { index: this.index })\n\t\t\t}\n\t\t\treturn t('files_sharing', 'Share link')\n\t\t},\n\n\t\t/**\n\t\t * Show the email on a second line if a label is set for mail shares\n\t\t *\n\t\t * @return {string}\n\t\t */\n\t\tsubtitle() {\n\t\t\tif (this.isEmailShareType\n\t\t\t\t&& this.title !== this.share.shareWith) {\n\t\t\t\treturn this.share.shareWith\n\t\t\t}\n\t\t\treturn null\n\t\t},\n\t\t/**\n\t\t * Is the current share password protected ?\n\t\t *\n\t\t * @return {boolean}\n\t\t */\n\t\tisPasswordProtected: {\n\t\t\tget() {\n\t\t\t\treturn this.config.enforcePasswordForPublicLink\n\t\t\t\t\t|| !!this.share.password\n\t\t\t},\n\t\t\tasync set(enabled) {\n\t\t\t\t// TODO: directly save after generation to make sure the share is always protected\n\t\t\t\tVue.set(this.share, 'password', enabled ? await GeneratePassword() : '')\n\t\t\t\tVue.set(this.share, 'newPassword', this.share.password)\n\t\t\t},\n\t\t},\n\n\t\tpasswordExpirationTime() {\n\t\t\tif (this.share.passwordExpirationTime === null) {\n\t\t\t\treturn null\n\t\t\t}\n\n\t\t\tconst expirationTime = moment(this.share.passwordExpirationTime)\n\n\t\t\tif (expirationTime.diff(moment()) < 0) {\n\t\t\t\treturn false\n\t\t\t}\n\n\t\t\treturn expirationTime.fromNow()\n\t\t},\n\n\t\t/**\n\t\t * Is Talk enabled?\n\t\t *\n\t\t * @return {boolean}\n\t\t */\n\t\tisTalkEnabled() {\n\t\t\treturn OC.appswebroots.spreed !== undefined\n\t\t},\n\n\t\t/**\n\t\t * Is it possible to protect the password by Talk?\n\t\t *\n\t\t * @return {boolean}\n\t\t */\n\t\tisPasswordProtectedByTalkAvailable() {\n\t\t\treturn this.isPasswordProtected && this.isTalkEnabled\n\t\t},\n\n\t\t/**\n\t\t * Is the current share password protected by Talk?\n\t\t *\n\t\t * @return {boolean}\n\t\t */\n\t\tisPasswordProtectedByTalk: {\n\t\t\tget() {\n\t\t\t\treturn this.share.sendPasswordByTalk\n\t\t\t},\n\t\t\tasync set(enabled) {\n\t\t\t\tthis.share.sendPasswordByTalk = enabled\n\t\t\t},\n\t\t},\n\n\t\t/**\n\t\t * Is the current share an email share ?\n\t\t *\n\t\t * @return {boolean}\n\t\t */\n\t\tisEmailShareType() {\n\t\t\treturn this.share\n\t\t\t\t? this.share.type === this.SHARE_TYPES.SHARE_TYPE_EMAIL\n\t\t\t\t: false\n\t\t},\n\n\t\tcanTogglePasswordProtectedByTalkAvailable() {\n\t\t\tif (!this.isPasswordProtected) {\n\t\t\t\t// Makes no sense\n\t\t\t\treturn false\n\t\t\t} else if (this.isEmailShareType && !this.hasUnsavedPassword) {\n\t\t\t\t// For email shares we need a new password in order to enable or\n\t\t\t\t// disable\n\t\t\t\treturn false\n\t\t\t}\n\n\t\t\t// Anything else should be fine\n\t\t\treturn true\n\t\t},\n\n\t\t/**\n\t\t * Pending data.\n\t\t * If the share still doesn't have an id, it is not synced\n\t\t * Therefore this is still not valid and requires user input\n\t\t *\n\t\t * @return {boolean}\n\t\t */\n\t\tpendingPassword() {\n\t\t\treturn this.config.enableLinkPasswordByDefault && this.share && !this.share.id\n\t\t},\n\t\tpendingEnforcedPassword() {\n\t\t\treturn this.config.enforcePasswordForPublicLink && this.share && !this.share.id\n\t\t},\n\t\tpendingExpirationDate() {\n\t\t\treturn this.config.isDefaultExpireDateEnforced && this.share && !this.share.id\n\t\t},\n\n\t\t// if newPassword exists, but is empty, it means\n\t\t// the user deleted the original password\n\t\thasUnsavedPassword() {\n\t\t\treturn this.share.newPassword !== undefined\n\t\t},\n\n\t\t/**\n\t\t * Return the public share link\n\t\t *\n\t\t * @return {string}\n\t\t */\n\t\tshareLink() {\n\t\t\treturn window.location.protocol + '//' + window.location.host + generateUrl('/s/') + this.share.token\n\t\t},\n\n\t\t/**\n\t\t * Tooltip message for actions button\n\t\t *\n\t\t * @return {string}\n\t\t */\n\t\tactionsTooltip() {\n\t\t\treturn t('files_sharing', 'Actions for \"{title}\"', { title: this.title })\n\t\t},\n\n\t\t/**\n\t\t * Tooltip message for copy button\n\t\t *\n\t\t * @return {string}\n\t\t */\n\t\tcopyLinkTooltip() {\n\t\t\tif (this.copied) {\n\t\t\t\tif (this.copySuccess) {\n\t\t\t\t\treturn ''\n\t\t\t\t}\n\t\t\t\treturn t('files_sharing', 'Cannot copy, please copy the link manually')\n\t\t\t}\n\t\t\treturn t('files_sharing', 'Copy public link of \"{title}\" to clipboard', { title: this.title })\n\t\t},\n\n\t\t/**\n\t\t * External additionnai actions for the menu\n\t\t *\n\t\t * @deprecated use OCA.Sharing.ExternalShareActions\n\t\t * @return {Array}\n\t\t */\n\t\texternalLegacyLinkActions() {\n\t\t\treturn this.ExternalLegacyLinkActions.actions\n\t\t},\n\n\t\t/**\n\t\t * Additional actions for the menu\n\t\t *\n\t\t * @return {Array}\n\t\t */\n\t\texternalLinkActions() {\n\t\t\tconst filterValidAction = (action) => (action.shareType.includes(ShareTypes.SHARE_TYPE_LINK) || action.shareType.includes(ShareTypes.SHARE_TYPE_EMAIL)) && !action.advanced\n\t\t\t// filter only the registered actions for said link\n\t\t\treturn this.ExternalShareActions.actions\n\t\t\t\t.filter(filterValidAction)\n\t\t},\n\n\t\tisPasswordPolicyEnabled() {\n\t\t\treturn typeof this.config.passwordPolicy === 'object'\n\t\t},\n\n\t\tcanChangeHideDownload() {\n\t\t\tconst hasDisabledDownload = (shareAttribute) => shareAttribute.key === 'download' && shareAttribute.scope === 'permissions' && shareAttribute.enabled === false\n\t\t\treturn this.fileInfo.shareAttributes.some(hasDisabledDownload)\n\t\t},\n\t},\n\n\tmethods: {\n\t\t/**\n\t\t * Create a new share link and append it to the list\n\t\t */\n\t\tasync onNewLinkShare() {\n\t\t\t// do not run again if already loading\n\t\t\tif (this.loading) {\n\t\t\t\treturn\n\t\t\t}\n\n\t\t\tconst shareDefaults = {\n\t\t\t\tshare_type: ShareTypes.SHARE_TYPE_LINK,\n\t\t\t}\n\t\t\tif (this.config.isDefaultExpireDateEnforced) {\n\t\t\t\t// default is empty string if not set\n\t\t\t\t// expiration is the share object key, not expireDate\n\t\t\t\tshareDefaults.expiration = this.formatDateToString(this.config.defaultExpirationDate)\n\t\t\t}\n\n\t\t\t// do not push yet if we need a password or an expiration date: show pending menu\n\t\t\tif (this.config.enableLinkPasswordByDefault || this.config.enforcePasswordForPublicLink || this.config.isDefaultExpireDateEnforced) {\n\t\t\t\tthis.pending = true\n\n\t\t\t\t// if a share already exists, pushing it\n\t\t\t\tif (this.share && !this.share.id) {\n\t\t\t\t\t// if the share is valid, create it on the server\n\t\t\t\t\tif (this.checkShare(this.share)) {\n\t\t\t\t\t\ttry {\n\t\t\t\t\t\t\tawait this.pushNewLinkShare(this.share, true)\n\t\t\t\t\t\t} catch (e) {\n\t\t\t\t\t\t\tthis.pending = false\n\t\t\t\t\t\t\tconsole.error(e)\n\t\t\t\t\t\t\treturn false\n\t\t\t\t\t\t}\n\t\t\t\t\t\treturn true\n\t\t\t\t\t} else {\n\t\t\t\t\t\tthis.open = true\n\t\t\t\t\t\tOC.Notification.showTemporary(t('files_sharing', 'Error, please enter proper password and/or expiration date'))\n\t\t\t\t\t\treturn false\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\t// ELSE, show the pending popovermenu\n\t\t\t\t// if password default or enforced, pre-fill with random one\n\t\t\t\tif (this.config.enableLinkPasswordByDefault || this.config.enforcePasswordForPublicLink) {\n\t\t\t\t\tshareDefaults.password = await GeneratePassword()\n\t\t\t\t}\n\n\t\t\t\t// create share & close menu\n\t\t\t\tconst share = new Share(shareDefaults)\n\t\t\t\tconst component = await new Promise(resolve => {\n\t\t\t\t\tthis.$emit('add:share', share, resolve)\n\t\t\t\t})\n\n\t\t\t\t// open the menu on the\n\t\t\t\t// freshly created share component\n\t\t\t\tthis.open = false\n\t\t\t\tthis.pending = false\n\t\t\t\tcomponent.open = true\n\n\t\t\t\t// Nothing is enforced, creating share directly\n\t\t\t} else {\n\t\t\t\tconst share = new Share(shareDefaults)\n\t\t\t\tawait this.pushNewLinkShare(share)\n\t\t\t}\n\t\t},\n\n\t\t/**\n\t\t * Push a new link share to the server\n\t\t * And update or append to the list\n\t\t * accordingly\n\t\t *\n\t\t * @param {Share} share the new share\n\t\t * @param {boolean} [update] do we update the current share ?\n\t\t */\n\t\tasync pushNewLinkShare(share, update) {\n\t\t\ttry {\n\t\t\t\t// do nothing if we're already pending creation\n\t\t\t\tif (this.loading) {\n\t\t\t\t\treturn true\n\t\t\t\t}\n\n\t\t\t\tthis.loading = true\n\t\t\t\tthis.errors = {}\n\n\t\t\t\tconst path = (this.fileInfo.path + '/' + this.fileInfo.name).replace('//', '/')\n\t\t\t\tconst options = {\n\t\t\t\t\tpath,\n\t\t\t\t\tshareType: ShareTypes.SHARE_TYPE_LINK,\n\t\t\t\t\tpassword: share.password,\n\t\t\t\t\texpireDate: share.expireDate,\n\t\t\t\t\tattributes: JSON.stringify(this.fileInfo.shareAttributes),\n\t\t\t\t\t// we do not allow setting the publicUpload\n\t\t\t\t\t// before the share creation.\n\t\t\t\t\t// Todo: We also need to fix the createShare method in\n\t\t\t\t\t// lib/Controller/ShareAPIController.php to allow file drop\n\t\t\t\t\t// (currently not supported on create, only update)\n\t\t\t\t}\n\n\t\t\t\tconsole.debug('Creating link share with options', options)\n\t\t\t\tconst newShare = await this.createShare(options)\n\n\t\t\t\tthis.open = false\n\t\t\t\tconsole.debug('Link share created', newShare)\n\n\t\t\t\t// if share already exists, copy link directly on next tick\n\t\t\t\tlet component\n\t\t\t\tif (update) {\n\t\t\t\t\tcomponent = await new Promise(resolve => {\n\t\t\t\t\t\tthis.$emit('update:share', newShare, resolve)\n\t\t\t\t\t})\n\t\t\t\t} else {\n\t\t\t\t\t// adding new share to the array and copying link to clipboard\n\t\t\t\t\t// using promise so that we can copy link in the same click function\n\t\t\t\t\t// and avoid firefox copy permissions issue\n\t\t\t\t\tcomponent = await new Promise(resolve => {\n\t\t\t\t\t\tthis.$emit('add:share', newShare, resolve)\n\t\t\t\t\t})\n\t\t\t\t}\n\n\t\t\t\t// Execute the copy link method\n\t\t\t\t// freshly created share component\n\t\t\t\t// ! somehow does not works on firefox !\n\t\t\t\tif (!this.config.enforcePasswordForPublicLink) {\n\t\t\t\t\t// Only copy the link when the password was not forced,\n\t\t\t\t\t// otherwise the user needs to copy/paste the password before finishing the share.\n\t\t\t\t\tcomponent.copyLink()\n\t\t\t\t}\n\t\t\t\tshowSuccess(t('files_sharing', 'Link share created'))\n\n\t\t\t} catch (data) {\n\t\t\t\tconst message = data?.response?.data?.ocs?.meta?.message\n\t\t\t\tif (!message) {\n\t\t\t\t\tshowError(t('files_sharing', 'Error while creating the share'))\n\t\t\t\t\tconsole.error(data)\n\t\t\t\t\treturn\n\t\t\t\t}\n\n\t\t\t\tif (message.match(/password/i)) {\n\t\t\t\t\tthis.onSyncError('password', message)\n\t\t\t\t} else if (message.match(/date/i)) {\n\t\t\t\t\tthis.onSyncError('expireDate', message)\n\t\t\t\t} else {\n\t\t\t\t\tthis.onSyncError('pending', message)\n\t\t\t\t}\n\t\t\t\tthrow data\n\t\t\t} finally {\n\t\t\t\tthis.loading = false\n\t\t\t}\n\t\t},\n\t\tasync copyLink() {\n\t\t\ttry {\n\t\t\t\tawait navigator.clipboard.writeText(this.shareLink)\n\t\t\t\tshowSuccess(t('files_sharing', 'Link copied'))\n\t\t\t\t// focus and show the tooltip\n\t\t\t\tthis.$refs.copyButton.$el.focus()\n\t\t\t\tthis.copySuccess = true\n\t\t\t\tthis.copied = true\n\t\t\t} catch (error) {\n\t\t\t\tthis.copySuccess = false\n\t\t\t\tthis.copied = true\n\t\t\t\tconsole.error(error)\n\t\t\t} finally {\n\t\t\t\tsetTimeout(() => {\n\t\t\t\t\tthis.copySuccess = false\n\t\t\t\t\tthis.copied = false\n\t\t\t\t}, 4000)\n\t\t\t}\n\t\t},\n\n\t\t/**\n\t\t * Update newPassword values\n\t\t * of share. If password is set but not newPassword\n\t\t * then the user did not changed the password\n\t\t * If both co-exists, the password have changed and\n\t\t * we show it in plain text.\n\t\t * Then on submit (or menu close), we sync it.\n\t\t *\n\t\t * @param {string} password the changed password\n\t\t */\n\t\tonPasswordChange(password) {\n\t\t\tthis.$set(this.share, 'newPassword', password)\n\t\t},\n\n\t\t/**\n\t\t * Uncheck password protection\n\t\t * We need this method because @update:checked\n\t\t * is ran simultaneously as @uncheck, so we\n\t\t * cannot ensure data is up-to-date\n\t\t */\n\t\tonPasswordDisable() {\n\t\t\tthis.share.password = ''\n\n\t\t\t// reset password state after sync\n\t\t\tthis.$delete(this.share, 'newPassword')\n\n\t\t\t// only update if valid share.\n\t\t\tif (this.share.id) {\n\t\t\t\tthis.queueUpdate('password')\n\t\t\t}\n\t\t},\n\n\t\t/**\n\t\t * Menu have been closed or password has been submitted.\n\t\t * The only property that does not get\n\t\t * synced automatically is the password\n\t\t * So let's check if we have an unsaved\n\t\t * password.\n\t\t * expireDate is saved on datepicker pick\n\t\t * or close.\n\t\t */\n\t\tonPasswordSubmit() {\n\t\t\tif (this.hasUnsavedPassword) {\n\t\t\t\tthis.share.password = this.share.newPassword.trim()\n\t\t\t\tthis.queueUpdate('password')\n\t\t\t}\n\t\t},\n\n\t\t/**\n\t\t * Update the password along with \"sendPasswordByTalk\".\n\t\t *\n\t\t * If the password was modified the new password is sent; otherwise\n\t\t * updating a mail share would fail, as in that case it is required that\n\t\t * a new password is set when enabling or disabling\n\t\t * \"sendPasswordByTalk\".\n\t\t */\n\t\tonPasswordProtectedByTalkChange() {\n\t\t\tif (this.hasUnsavedPassword) {\n\t\t\t\tthis.share.password = this.share.newPassword.trim()\n\t\t\t}\n\n\t\t\tthis.queueUpdate('sendPasswordByTalk', 'password')\n\t\t},\n\n\t\t/**\n\t\t * Save potential changed data on menu close\n\t\t */\n\t\tonMenuClose() {\n\t\t\tthis.onPasswordSubmit()\n\t\t\tthis.onNoteSubmit()\n\t\t},\n\n\t\t/**\n\t\t * Cancel the share creation\n\t\t * Used in the pending popover\n\t\t */\n\t\tonCancel() {\n\t\t\t// this.share already exists at this point,\n\t\t\t// but is incomplete as not pushed to server\n\t\t\t// YET. We can safely delete the share :)\n\t\t\tthis.$emit('remove:share', this.share)\n\t\t},\n\t},\n}\n</script>\n\n<style lang=\"scss\" scoped>\n.sharing-entry {\n\tdisplay: flex;\n\talign-items: center;\n\tmin-height: 44px;\n\n\t&__summary {\n\t\tpadding: 8px;\n\t\tpadding-left: 10px;\n\t\tdisplay: flex;\n\t\tjustify-content: space-between;\n\t\tflex: 1 0;\n\t\tmin-width: 0;\n\t}\n\n\t&__desc {\n\t\tdisplay: flex;\n\t\tflex-direction: column;\n\t\tline-height: 1.2em;\n\n\t\tp {\n\t\t\tcolor: var(--color-text-maxcontrast);\n\t\t}\n\n\t\t&__title {\n\t\t\ttext-overflow: ellipsis;\n\t\t\toverflow: hidden;\n\t\t\twhite-space: nowrap;\n\t\t}\n\t}\n\n\t&__copy {\n\n\t}\n\n\t&:not(.sharing-entry--share) &__actions {\n\t\t.new-share-link {\n\t\t\tborder-top: 1px solid var(--color-border);\n\t\t}\n\t}\n\n\t::v-deep .avatar-link-share {\n\t\tbackground-color: var(--color-primary-element);\n\t}\n\n\t.sharing-entry__action--public-upload {\n\t\tborder-bottom: 1px solid var(--color-border);\n\t}\n\n\t&__loading {\n\t\twidth: 44px;\n\t\theight: 44px;\n\t\tmargin: 0;\n\t\tpadding: 14px;\n\t\tmargin-left: auto;\n\t}\n\n\t// put menus to the left\n\t// but only the first one\n\t.action-item {\n\n\t\t~.action-item,\n\t\t~.sharing-entry__loading {\n\t\t\tmargin-left: 0;\n\t\t}\n\t}\n\n\t.icon-checkmark-color {\n\t\topacity: 1;\n\t\tcolor: var(--color-success);\n\t}\n}\n\n// styling for the qr-code container\n.qr-code-dialog {\n\tdisplay: flex;\n\twidth: 100%;\n\tjustify-content: center;\n\n\t&__img {\n\t\twidth: 100%;\n\t\theight: auto;\n\t}\n}\n</style>\n","import mod from \"-!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SharingEntryLink.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SharingEntryLink.vue?vue&type=script&lang=js\"","\n      import API from \"!../../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n      import domAPI from \"!../../../../node_modules/style-loader/dist/runtime/styleDomAPI.js\";\n      import insertFn from \"!../../../../node_modules/style-loader/dist/runtime/insertBySelector.js\";\n      import setAttributes from \"!../../../../node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js\";\n      import insertStyleElement from \"!../../../../node_modules/style-loader/dist/runtime/insertStyleElement.js\";\n      import styleTagTransformFn from \"!../../../../node_modules/style-loader/dist/runtime/styleTagTransform.js\";\n      import content, * as namedExport from \"!!../../../../node_modules/css-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/sass-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SharingEntryLink.vue?vue&type=style&index=0&id=1ac70a9b&prod&lang=scss&scoped=true\";\n      \n      \n\nvar options = {};\n\noptions.styleTagTransform = styleTagTransformFn;\noptions.setAttributes = setAttributes;\n\n      options.insert = insertFn.bind(null, \"head\");\n    \noptions.domAPI = domAPI;\noptions.insertStyleElement = insertStyleElement;\n\nvar update = API(content, options);\n\n\n\nexport * from \"!!../../../../node_modules/css-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/sass-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SharingEntryLink.vue?vue&type=style&index=0&id=1ac70a9b&prod&lang=scss&scoped=true\";\n       export default content && content.locals ? content.locals : undefined;\n","import { render, staticRenderFns } from \"./SharingEntryLink.vue?vue&type=template&id=1ac70a9b&scoped=true\"\nimport script from \"./SharingEntryLink.vue?vue&type=script&lang=js\"\nexport * from \"./SharingEntryLink.vue?vue&type=script&lang=js\"\nimport style0 from \"./SharingEntryLink.vue?vue&type=style&index=0&id=1ac70a9b&prod&lang=scss&scoped=true\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n  script,\n  render,\n  staticRenderFns,\n  false,\n  null,\n  \"1ac70a9b\",\n  null\n  \n)\n\nexport default component.exports","import mod from \"-!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SharingLinkList.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SharingLinkList.vue?vue&type=script&lang=js\"","<!--\n  - @copyright Copyright (c) 2019 John Molakvoæ <skjnldsv@protonmail.com>\n  -\n  - @author John Molakvoæ <skjnldsv@protonmail.com>\n  -\n  - @license GNU AGPL version 3 or any later version\n  -\n  - This program is free software: you can redistribute it and/or modify\n  - it under the terms of the GNU Affero General Public License as\n  - published by the Free Software Foundation, either version 3 of the\n  - License, or (at your option) any later version.\n  -\n  - This program is distributed in the hope that it will be useful,\n  - but WITHOUT ANY WARRANTY; without even the implied warranty of\n  - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\n  - GNU Affero General Public License for more details.\n  -\n  - You should have received a copy of the GNU Affero General Public License\n  - along with this program. If not, see <http://www.gnu.org/licenses/>.\n  -\n  -->\n\n<template>\n\t<ul v-if=\"canLinkShare\" class=\"sharing-link-list\">\n\t\t<!-- If no link shares, show the add link default entry -->\n\t\t<SharingEntryLink v-if=\"!hasLinkShares && canReshare\"\n\t\t\t:can-reshare=\"canReshare\"\n\t\t\t:file-info=\"fileInfo\"\n\t\t\t@add:share=\"addShare\" />\n\n\t\t<!-- Else we display the list -->\n\t\t<template v-if=\"hasShares\">\n\t\t\t<!-- using shares[index] to work with .sync -->\n\t\t\t<SharingEntryLink v-for=\"(share, index) in shares\"\n\t\t\t\t:key=\"share.id\"\n\t\t\t\t:index=\"shares.length > 1 ? index + 1 : null\"\n\t\t\t\t:can-reshare=\"canReshare\"\n\t\t\t\t:share.sync=\"shares[index]\"\n\t\t\t\t:file-info=\"fileInfo\"\n\t\t\t\t@add:share=\"addShare(...arguments)\"\n\t\t\t\t@update:share=\"awaitForShare(...arguments)\"\n\t\t\t\t@remove:share=\"removeShare\"\n\t\t\t\t@open-sharing-details=\"openSharingDetails(share)\" />\n\t\t</template>\n\t</ul>\n</template>\n\n<script>\nimport { getCapabilities } from '@nextcloud/capabilities'\n\n// eslint-disable-next-line no-unused-vars\nimport Share from '../models/Share.js'\nimport ShareTypes from '../mixins/ShareTypes.js'\nimport SharingEntryLink from '../components/SharingEntryLink.vue'\nimport ShareDetails from '../mixins/ShareDetails.js'\n\nexport default {\n\tname: 'SharingLinkList',\n\n\tcomponents: {\n\t\tSharingEntryLink,\n\t},\n\n\tmixins: [ShareTypes, ShareDetails],\n\n\tprops: {\n\t\tfileInfo: {\n\t\t\ttype: Object,\n\t\t\tdefault: () => {},\n\t\t\trequired: true,\n\t\t},\n\t\tshares: {\n\t\t\ttype: Array,\n\t\t\tdefault: () => [],\n\t\t\trequired: true,\n\t\t},\n\t\tcanReshare: {\n\t\t\ttype: Boolean,\n\t\t\trequired: true,\n\t\t},\n\t},\n\n\tdata() {\n\t\treturn {\n\t\t\tcanLinkShare: getCapabilities().files_sharing.public.enabled,\n\t\t}\n\t},\n\n\tcomputed: {\n\t\t/**\n\t\t * Do we have link shares?\n\t\t * Using this to still show the `new link share`\n\t\t * button regardless of mail shares\n\t\t *\n\t\t * @return {Array}\n\t\t */\n\t\thasLinkShares() {\n\t\t\treturn this.shares.filter(share => share.type === this.SHARE_TYPES.SHARE_TYPE_LINK).length > 0\n\t\t},\n\n\t\t/**\n\t\t * Do we have any link or email shares?\n\t\t *\n\t\t * @return {boolean}\n\t\t */\n\t\thasShares() {\n\t\t\treturn this.shares.length > 0\n\t\t},\n\t},\n\n\tmethods: {\n\t\t/**\n\t\t * Add a new share into the link shares list\n\t\t * and return the newly created share component\n\t\t *\n\t\t * @param {Share} share the share to add to the array\n\t\t * @param {Function} resolve a function to run after the share is added and its component initialized\n\t\t */\n\t\taddShare(share, resolve) {\n\t\t\t// eslint-disable-next-line vue/no-mutating-props\n\t\t\tthis.shares.unshift(share)\n\t\t\tthis.awaitForShare(share, resolve)\n\t\t},\n\n\t\t/**\n\t\t * Await for next tick and render after the list updated\n\t\t * Then resolve with the matched vue component of the\n\t\t * provided share object\n\t\t *\n\t\t * @param {Share} share newly created share\n\t\t * @param {Function} resolve a function to execute after\n\t\t */\n\t\tawaitForShare(share, resolve) {\n\t\t\tthis.$nextTick(() => {\n\t\t\t\tconst newShare = this.$children.find(component => component.share === share)\n\t\t\t\tif (newShare) {\n\t\t\t\t\tresolve(newShare)\n\t\t\t\t}\n\t\t\t})\n\t\t},\n\n\t\t/**\n\t\t * Remove a share from the shares list\n\t\t *\n\t\t * @param {Share} share the share to remove\n\t\t */\n\t\tremoveShare(share) {\n\t\t\tconst index = this.shares.findIndex(item => item === share)\n\t\t\t// eslint-disable-next-line vue/no-mutating-props\n\t\t\tthis.shares.splice(index, 1)\n\t\t},\n\t},\n}\n</script>\n","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('li',{staticClass:\"sharing-entry sharing-entry__link\",class:{ 'sharing-entry--share': _vm.share }},[_c('NcAvatar',{staticClass:\"sharing-entry__avatar\",attrs:{\"is-no-user\":true,\"icon-class\":_vm.isEmailShareType ? 'avatar-link-share icon-mail-white' : 'avatar-link-share icon-public-white'}}),_vm._v(\" \"),_c('div',{staticClass:\"sharing-entry__summary\"},[_c('div',{staticClass:\"sharing-entry__desc\"},[_c('span',{staticClass:\"sharing-entry__title\",attrs:{\"title\":_vm.title}},[_vm._v(\"\\n\\t\\t\\t\\t\"+_vm._s(_vm.title)+\"\\n\\t\\t\\t\")]),_vm._v(\" \"),(_vm.subtitle)?_c('p',[_vm._v(\"\\n\\t\\t\\t\\t\"+_vm._s(_vm.subtitle)+\"\\n\\t\\t\\t\")]):_vm._e(),_vm._v(\" \"),(_vm.share && _vm.share.permissions !== undefined)?_c('SharingEntryQuickShareSelect',{attrs:{\"share\":_vm.share,\"file-info\":_vm.fileInfo},on:{\"open-sharing-details\":function($event){return _vm.openShareDetailsForCustomSettings(_vm.share)}}}):_vm._e()],1),_vm._v(\" \"),(_vm.share && !_vm.isEmailShareType && _vm.share.token)?_c('NcActions',{ref:\"copyButton\",staticClass:\"sharing-entry__copy\"},[_c('NcActionButton',{attrs:{\"title\":_vm.copyLinkTooltip,\"aria-label\":_vm.copyLinkTooltip},on:{\"click\":function($event){$event.preventDefault();return _vm.copyLink.apply(null, arguments)}},scopedSlots:_vm._u([{key:\"icon\",fn:function(){return [(_vm.copied && _vm.copySuccess)?_c('CheckIcon',{staticClass:\"icon-checkmark-color\",attrs:{\"size\":20}}):_c('ClipboardIcon',{attrs:{\"size\":20}})]},proxy:true}],null,false,4269614823)})],1):_vm._e()],1),_vm._v(\" \"),(!_vm.pending && (_vm.pendingPassword || _vm.pendingEnforcedPassword || _vm.pendingExpirationDate))?_c('NcActions',{staticClass:\"sharing-entry__actions\",attrs:{\"aria-label\":_vm.actionsTooltip,\"menu-align\":\"right\",\"open\":_vm.open},on:{\"update:open\":function($event){_vm.open=$event},\"close\":_vm.onCancel}},[(_vm.errors.pending)?_c('NcActionText',{staticClass:\"error\",scopedSlots:_vm._u([{key:\"icon\",fn:function(){return [_c('ErrorIcon',{attrs:{\"size\":20}})]},proxy:true}],null,false,1966124155)},[_vm._v(\"\\n\\t\\t\\t\"+_vm._s(_vm.errors.pending)+\"\\n\\t\\t\")]):_c('NcActionText',{attrs:{\"icon\":\"icon-info\"}},[_vm._v(\"\\n\\t\\t\\t\"+_vm._s(_vm.t('files_sharing', 'Please enter the following required information before creating the share'))+\"\\n\\t\\t\")]),_vm._v(\" \"),(_vm.pendingEnforcedPassword)?_c('NcActionText',[_c('LockIcon',{attrs:{\"size\":20}}),_vm._v(\"\\n\\t\\t\\t\"+_vm._s(_vm.t('files_sharing', 'Password protection (enforced)'))+\"\\n\\t\\t\")],1):(_vm.pendingPassword)?_c('NcActionCheckbox',{staticClass:\"share-link-password-checkbox\",attrs:{\"checked\":_vm.isPasswordProtected,\"disabled\":_vm.config.enforcePasswordForPublicLink || _vm.saving},on:{\"update:checked\":function($event){_vm.isPasswordProtected=$event},\"uncheck\":_vm.onPasswordDisable}},[_vm._v(\"\\n\\t\\t\\t\"+_vm._s(_vm.t('files_sharing', 'Password protection'))+\"\\n\\t\\t\")]):_vm._e(),_vm._v(\" \"),(_vm.pendingEnforcedPassword || _vm.share.password)?_c('NcActionInput',{staticClass:\"share-link-password\",attrs:{\"value\":_vm.share.password,\"disabled\":_vm.saving,\"required\":_vm.config.enableLinkPasswordByDefault || _vm.config.enforcePasswordForPublicLink,\"minlength\":_vm.isPasswordPolicyEnabled && _vm.config.passwordPolicy.minLength,\"icon\":\"\",\"autocomplete\":\"new-password\"},on:{\"update:value\":function($event){return _vm.$set(_vm.share, \"password\", $event)},\"submit\":_vm.onNewLinkShare}},[_vm._v(\"\\n\\t\\t\\t\"+_vm._s(_vm.t('files_sharing', 'Enter a password'))+\"\\n\\t\\t\")]):_vm._e(),_vm._v(\" \"),(_vm.pendingExpirationDate)?_c('NcActionText',{attrs:{\"icon\":\"icon-calendar-dark\"}},[_vm._v(\"\\n\\t\\t\\t\"+_vm._s(_vm.t('files_sharing', 'Expiration date (enforced)'))+\"\\n\\t\\t\")]):_vm._e(),_vm._v(\" \"),(_vm.pendingExpirationDate)?_c('NcActionInput',{staticClass:\"share-link-expire-date\",attrs:{\"disabled\":_vm.saving,\"is-native-picker\":true,\"hide-label\":true,\"value\":new Date(_vm.share.expireDate),\"type\":\"date\",\"min\":_vm.dateTomorrow,\"max\":_vm.maxExpirationDateEnforced},on:{\"input\":_vm.onExpirationChange}},[_vm._v(\"\\n\\t\\t\\t\"+_vm._s(_vm.t('files_sharing', 'Enter a date'))+\"\\n\\t\\t\")]):_vm._e(),_vm._v(\" \"),_c('NcActionButton',{on:{\"click\":function($event){$event.preventDefault();$event.stopPropagation();return _vm.onNewLinkShare.apply(null, arguments)}},scopedSlots:_vm._u([{key:\"icon\",fn:function(){return [_c('CheckIcon',{attrs:{\"size\":20}})]},proxy:true}],null,false,2630571749)},[_vm._v(\"\\n\\t\\t\\t\"+_vm._s(_vm.t('files_sharing', 'Create share'))+\"\\n\\t\\t\")]),_vm._v(\" \"),_c('NcActionButton',{on:{\"click\":function($event){$event.preventDefault();$event.stopPropagation();return _vm.onCancel.apply(null, arguments)}},scopedSlots:_vm._u([{key:\"icon\",fn:function(){return [_c('CloseIcon',{attrs:{\"size\":20}})]},proxy:true}],null,false,2428343285)},[_vm._v(\"\\n\\t\\t\\t\"+_vm._s(_vm.t('files_sharing', 'Cancel'))+\"\\n\\t\\t\")])],1):(!_vm.loading)?_c('NcActions',{staticClass:\"sharing-entry__actions\",attrs:{\"aria-label\":_vm.actionsTooltip,\"menu-align\":\"right\",\"open\":_vm.open},on:{\"update:open\":function($event){_vm.open=$event},\"close\":_vm.onMenuClose}},[(_vm.share)?[(_vm.share.canEdit && _vm.canReshare)?[_c('NcActionButton',{attrs:{\"disabled\":_vm.saving,\"close-after-click\":true},on:{\"click\":function($event){$event.preventDefault();return _vm.openSharingDetails.apply(null, arguments)}},scopedSlots:_vm._u([{key:\"icon\",fn:function(){return [_c('Tune',{attrs:{\"size\":20}})]},proxy:true}],null,false,1300586850)},[_vm._v(\"\\n\\t\\t\\t\\t\\t\"+_vm._s(_vm.t('files_sharing', 'Customize link'))+\"\\n\\t\\t\\t\\t\")])]:_vm._e(),_vm._v(\" \"),_c('NcActionButton',{attrs:{\"close-after-click\":true},on:{\"click\":function($event){$event.preventDefault();_vm.showQRCode = true}},scopedSlots:_vm._u([{key:\"icon\",fn:function(){return [_c('IconQr',{attrs:{\"size\":20}})]},proxy:true}],null,false,1082198240)},[_vm._v(\"\\n\\t\\t\\t\\t\"+_vm._s(_vm.t('files_sharing', 'Generate QR code'))+\"\\n\\t\\t\\t\")]),_vm._v(\" \"),_c('NcActionSeparator'),_vm._v(\" \"),_vm._l((_vm.externalLinkActions),function(action){return _c('ExternalShareAction',{key:action.id,attrs:{\"id\":action.id,\"action\":action,\"file-info\":_vm.fileInfo,\"share\":_vm.share}})}),_vm._v(\" \"),_vm._l((_vm.externalLegacyLinkActions),function({ icon, url, name },index){return _c('NcActionLink',{key:index,attrs:{\"href\":url(_vm.shareLink),\"icon\":icon,\"target\":\"_blank\"}},[_vm._v(\"\\n\\t\\t\\t\\t\"+_vm._s(name)+\"\\n\\t\\t\\t\")])}),_vm._v(\" \"),(!_vm.isEmailShareType && _vm.canReshare)?_c('NcActionButton',{staticClass:\"new-share-link\",on:{\"click\":function($event){$event.preventDefault();$event.stopPropagation();return _vm.onNewLinkShare.apply(null, arguments)}},scopedSlots:_vm._u([{key:\"icon\",fn:function(){return [_c('PlusIcon',{attrs:{\"size\":20}})]},proxy:true}],null,false,2953566425)},[_vm._v(\"\\n\\t\\t\\t\\t\"+_vm._s(_vm.t('files_sharing', 'Add another link'))+\"\\n\\t\\t\\t\")]):_vm._e(),_vm._v(\" \"),(_vm.share.canDelete)?_c('NcActionButton',{attrs:{\"disabled\":_vm.saving},on:{\"click\":function($event){$event.preventDefault();return _vm.onDelete.apply(null, arguments)}},scopedSlots:_vm._u([{key:\"icon\",fn:function(){return [_c('CloseIcon',{attrs:{\"size\":20}})]},proxy:true}],null,false,2428343285)},[_vm._v(\"\\n\\t\\t\\t\\t\"+_vm._s(_vm.t('files_sharing', 'Unshare'))+\"\\n\\t\\t\\t\")]):_vm._e()]:(_vm.canReshare)?_c('NcActionButton',{staticClass:\"new-share-link\",attrs:{\"title\":_vm.t('files_sharing', 'Create a new share link'),\"aria-label\":_vm.t('files_sharing', 'Create a new share link'),\"icon\":_vm.loading ? 'icon-loading-small' : 'icon-add'},on:{\"click\":function($event){$event.preventDefault();$event.stopPropagation();return _vm.onNewLinkShare.apply(null, arguments)}}}):_vm._e()],2):_c('div',{staticClass:\"icon-loading-small sharing-entry__loading\"}),_vm._v(\" \"),(_vm.showQRCode)?_c('NcDialog',{attrs:{\"size\":\"normal\",\"open\":_vm.showQRCode,\"name\":_vm.title,\"close-on-click-outside\":true},on:{\"update:open\":function($event){_vm.showQRCode=$event},\"close\":function($event){_vm.showQRCode = false}}},[_c('div',{staticClass:\"qr-code-dialog\"},[_c('VueQrcode',{staticClass:\"qr-code-dialog__img\",attrs:{\"tag\":\"img\",\"value\":_vm.shareLink}})],1)]):_vm._e()],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import { render, staticRenderFns } from \"./SharingLinkList.vue?vue&type=template&id=291d4fee\"\nimport script from \"./SharingLinkList.vue?vue&type=script&lang=js\"\nexport * from \"./SharingLinkList.vue?vue&type=script&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n  script,\n  render,\n  staticRenderFns,\n  false,\n  null,\n  null,\n  null\n  \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('ul',{staticClass:\"sharing-sharee-list\"},_vm._l((_vm.shares),function(share){return _c('SharingEntry',{key:share.id,attrs:{\"file-info\":_vm.fileInfo,\"share\":share,\"is-unique\":_vm.isUnique(share)},on:{\"open-sharing-details\":function($event){return _vm.openSharingDetails(share)}}})}),1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\n  <span v-bind=\"$attrs\"\n        :aria-hidden=\"title ? null : true\"\n        :aria-label=\"title\"\n        class=\"material-design-icon dots-horizontal-icon\"\n        role=\"img\"\n        @click=\"$emit('click', $event)\">\n    <svg :fill=\"fillColor\"\n         class=\"material-design-icon__svg\"\n         :width=\"size\"\n         :height=\"size\"\n         viewBox=\"0 0 24 24\">\n      <path d=\"M16,12A2,2 0 0,1 18,10A2,2 0 0,1 20,12A2,2 0 0,1 18,14A2,2 0 0,1 16,12M10,12A2,2 0 0,1 12,10A2,2 0 0,1 14,12A2,2 0 0,1 12,14A2,2 0 0,1 10,12M4,12A2,2 0 0,1 6,10A2,2 0 0,1 8,12A2,2 0 0,1 6,14A2,2 0 0,1 4,12Z\">\n        <title v-if=\"title\">{{ title }}</title>\n      </path>\n    </svg>\n  </span>\n</template>\n\n<script>\nexport default {\n  name: \"DotsHorizontalIcon\",\n  emits: ['click'],\n  props: {\n    title: {\n      type: String,\n    },\n    fillColor: {\n      type: String,\n      default: \"currentColor\"\n    },\n    size: {\n      type: Number,\n      default: 24\n    }\n  }\n}\n</script>","import mod from \"-!../vue-loader/lib/index.js??vue-loader-options!./DotsHorizontal.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../vue-loader/lib/index.js??vue-loader-options!./DotsHorizontal.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./DotsHorizontal.vue?vue&type=template&id=a4d4ab3e\"\nimport script from \"./DotsHorizontal.vue?vue&type=script&lang=js\"\nexport * from \"./DotsHorizontal.vue?vue&type=script&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n  script,\n  render,\n  staticRenderFns,\n  false,\n  null,\n  null,\n  null\n  \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('span',_vm._b({staticClass:\"material-design-icon dots-horizontal-icon\",attrs:{\"aria-hidden\":_vm.title ? null : true,\"aria-label\":_vm.title,\"role\":\"img\"},on:{\"click\":function($event){return _vm.$emit('click', $event)}}},'span',_vm.$attrs,false),[_c('svg',{staticClass:\"material-design-icon__svg\",attrs:{\"fill\":_vm.fillColor,\"width\":_vm.size,\"height\":_vm.size,\"viewBox\":\"0 0 24 24\"}},[_c('path',{attrs:{\"d\":\"M16,12A2,2 0 0,1 18,10A2,2 0 0,1 20,12A2,2 0 0,1 18,14A2,2 0 0,1 16,12M10,12A2,2 0 0,1 12,10A2,2 0 0,1 14,12A2,2 0 0,1 12,14A2,2 0 0,1 10,12M4,12A2,2 0 0,1 6,10A2,2 0 0,1 8,12A2,2 0 0,1 6,14A2,2 0 0,1 4,12Z\"}},[(_vm.title)?_c('title',[_vm._v(_vm._s(_vm.title))]):_vm._e()])])])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import mod from \"-!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SharingEntry.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SharingEntry.vue?vue&type=script&lang=js\"","<!--\n  - @copyright Copyright (c) 2019 John Molakvoæ <skjnldsv@protonmail.com>\n  -\n  - @author John Molakvoæ <skjnldsv@protonmail.com>\n  -\n  - @license GNU AGPL version 3 or any later version\n  -\n  - This program is free software: you can redistribute it and/or modify\n  - it under the terms of the GNU Affero General Public License as\n  - published by the Free Software Foundation, either version 3 of the\n  - License, or (at your option) any later version.\n  -\n  - This program is distributed in the hope that it will be useful,\n  - but WITHOUT ANY WARRANTY; without even the implied warranty of\n  - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\n  - GNU Affero General Public License for more details.\n  -\n  - You should have received a copy of the GNU Affero General Public License\n  - along with this program. If not, see <http://www.gnu.org/licenses/>.\n  -\n  -->\n\n<template>\n\t<li class=\"sharing-entry\">\n\t\t<NcAvatar class=\"sharing-entry__avatar\"\n\t\t\t:is-no-user=\"share.type !== SHARE_TYPES.SHARE_TYPE_USER\"\n\t\t\t:user=\"share.shareWith\"\n\t\t\t:display-name=\"share.shareWithDisplayName\"\n\t\t\t:menu-position=\"'left'\"\n\t\t\t:url=\"share.shareWithAvatar\" />\n\n\t\t<div class=\"sharing-entry__summary\">\n\t\t\t<component :is=\"share.shareWithLink ? 'a' : 'div'\"\n\t\t\t\t:title=\"tooltip\"\n\t\t\t\t:aria-label=\"tooltip\"\n\t\t\t\t:href=\"share.shareWithLink\"\n\t\t\t\tclass=\"sharing-entry__summary__desc\">\n\t\t\t\t<span>{{ title }}\n\t\t\t\t\t<span v-if=\"!isUnique\" class=\"sharing-entry__summary__desc-unique\"> ({{\n\t\t\t\t\t\tshare.shareWithDisplayNameUnique }})</span>\n\t\t\t\t\t<small v-if=\"hasStatus && share.status.message\">({{ share.status.message }})</small>\n\t\t\t\t</span>\n\t\t\t</component>\n\t\t\t<SharingEntryQuickShareSelect :share=\"share\"\n\t\t\t\t:file-info=\"fileInfo\"\n\t\t\t\t@open-sharing-details=\"openShareDetailsForCustomSettings(share)\" />\n\t\t</div>\n\t\t<NcButton class=\"sharing-entry__action\"\n\t\t\tdata-cy-files-sharing-share-actions\n\t\t\t:aria-label=\"t('files_sharing', 'Open Sharing Details')\"\n\t\t\ttype=\"tertiary\"\n\t\t\t@click=\"openSharingDetails(share)\">\n\t\t\t<template #icon>\n\t\t\t\t<DotsHorizontalIcon :size=\"20\" />\n\t\t\t</template>\n\t\t</NcButton>\n\t</li>\n</template>\n\n<script>\nimport NcButton from '@nextcloud/vue/dist/Components/NcButton.js'\nimport NcSelect from '@nextcloud/vue/dist/Components/NcSelect.js'\nimport NcAvatar from '@nextcloud/vue/dist/Components/NcAvatar.js'\nimport DotsHorizontalIcon from 'vue-material-design-icons/DotsHorizontal.vue'\n\nimport SharingEntryQuickShareSelect from './SharingEntryQuickShareSelect.vue'\n\nimport SharesMixin from '../mixins/SharesMixin.js'\nimport ShareDetails from '../mixins/ShareDetails.js'\n\nexport default {\n\tname: 'SharingEntry',\n\n\tcomponents: {\n\t\tNcButton,\n\t\tNcAvatar,\n\t\tDotsHorizontalIcon,\n\t\tNcSelect,\n\t\tSharingEntryQuickShareSelect,\n\t},\n\n\tmixins: [SharesMixin, ShareDetails],\n\n\tcomputed: {\n\t\ttitle() {\n\t\t\tlet title = this.share.shareWithDisplayName\n\t\t\tif (this.share.type === this.SHARE_TYPES.SHARE_TYPE_GROUP) {\n\t\t\t\ttitle += ` (${t('files_sharing', 'group')})`\n\t\t\t} else if (this.share.type === this.SHARE_TYPES.SHARE_TYPE_ROOM) {\n\t\t\t\ttitle += ` (${t('files_sharing', 'conversation')})`\n\t\t\t} else if (this.share.type === this.SHARE_TYPES.SHARE_TYPE_REMOTE) {\n\t\t\t\ttitle += ` (${t('files_sharing', 'remote')})`\n\t\t\t} else if (this.share.type === this.SHARE_TYPES.SHARE_TYPE_REMOTE_GROUP) {\n\t\t\t\ttitle += ` (${t('files_sharing', 'remote group')})`\n\t\t\t} else if (this.share.type === this.SHARE_TYPES.SHARE_TYPE_GUEST) {\n\t\t\t\ttitle += ` (${t('files_sharing', 'guest')})`\n\t\t\t}\n\t\t\treturn title\n\t\t},\n\t\ttooltip() {\n\t\t\tif (this.share.owner !== this.share.uidFileOwner) {\n\t\t\t\tconst data = {\n\t\t\t\t\t// todo: strong or italic?\n\t\t\t\t\t// but the t function escape any html from the data :/\n\t\t\t\t\tuser: this.share.shareWithDisplayName,\n\t\t\t\t\towner: this.share.ownerDisplayName,\n\t\t\t\t}\n\t\t\t\tif (this.share.type === this.SHARE_TYPES.SHARE_TYPE_GROUP) {\n\t\t\t\t\treturn t('files_sharing', 'Shared with the group {user} by {owner}', data)\n\t\t\t\t} else if (this.share.type === this.SHARE_TYPES.SHARE_TYPE_ROOM) {\n\t\t\t\t\treturn t('files_sharing', 'Shared with the conversation {user} by {owner}', data)\n\t\t\t\t}\n\n\t\t\t\treturn t('files_sharing', 'Shared with {user} by {owner}', data)\n\t\t\t}\n\t\t\treturn null\n\t\t},\n\n\t\t/**\n\t\t * @return {boolean}\n\t\t */\n\t\thasStatus() {\n\t\t\tif (this.share.type !== this.SHARE_TYPES.SHARE_TYPE_USER) {\n\t\t\t\treturn false\n\t\t\t}\n\n\t\t\treturn (typeof this.share.status === 'object' && !Array.isArray(this.share.status))\n\t\t},\n\t},\n\n\tmethods: {\n\t\t/**\n\t\t * Save potential changed data on menu close\n\t\t */\n\t\tonMenuClose() {\n\t\t\tthis.onNoteSubmit()\n\t\t},\n\t},\n}\n</script>\n\n<style lang=\"scss\" scoped>\n.sharing-entry {\n\tdisplay: flex;\n\talign-items: center;\n\theight: 44px;\n\t&__summary {\n\t\tpadding: 8px;\n\t\tpadding-left: 10px;\n\t\tdisplay: flex;\n\t\tflex-direction: column;\n\t\tjustify-content: center;\n\t\talign-items: flex-start;\n\t\tflex: 1 0;\n\t\tmin-width: 0;\n\n\t\t&__desc {\n\t\t\tdisplay: inline-block;\n\t\t\tpadding-bottom: 0;\n\t\t\tline-height: 1.2em;\n\t\t\twhite-space: nowrap;\n\t\t\toverflow: hidden;\n\t\t\ttext-overflow: ellipsis;\n\n\t\t\tp,\n\t\t\tsmall {\n\t\t\t\tcolor: var(--color-text-maxcontrast);\n\t\t\t}\n\n\t\t\t&-unique {\n\t\t\t\tcolor: var(--color-text-maxcontrast);\n\t\t\t}\n\t\t}\n\t}\n\n}\n</style>\n","\n      import API from \"!../../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n      import domAPI from \"!../../../../node_modules/style-loader/dist/runtime/styleDomAPI.js\";\n      import insertFn from \"!../../../../node_modules/style-loader/dist/runtime/insertBySelector.js\";\n      import setAttributes from \"!../../../../node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js\";\n      import insertStyleElement from \"!../../../../node_modules/style-loader/dist/runtime/insertStyleElement.js\";\n      import styleTagTransformFn from \"!../../../../node_modules/style-loader/dist/runtime/styleTagTransform.js\";\n      import content, * as namedExport from \"!!../../../../node_modules/css-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/sass-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SharingEntry.vue?vue&type=style&index=0&id=79edc2ff&prod&lang=scss&scoped=true\";\n      \n      \n\nvar options = {};\n\noptions.styleTagTransform = styleTagTransformFn;\noptions.setAttributes = setAttributes;\n\n      options.insert = insertFn.bind(null, \"head\");\n    \noptions.domAPI = domAPI;\noptions.insertStyleElement = insertStyleElement;\n\nvar update = API(content, options);\n\n\n\nexport * from \"!!../../../../node_modules/css-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/sass-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SharingEntry.vue?vue&type=style&index=0&id=79edc2ff&prod&lang=scss&scoped=true\";\n       export default content && content.locals ? content.locals : undefined;\n","import { render, staticRenderFns } from \"./SharingEntry.vue?vue&type=template&id=79edc2ff&scoped=true\"\nimport script from \"./SharingEntry.vue?vue&type=script&lang=js\"\nexport * from \"./SharingEntry.vue?vue&type=script&lang=js\"\nimport style0 from \"./SharingEntry.vue?vue&type=style&index=0&id=79edc2ff&prod&lang=scss&scoped=true\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n  script,\n  render,\n  staticRenderFns,\n  false,\n  null,\n  \"79edc2ff\",\n  null\n  \n)\n\nexport default component.exports","import mod from \"-!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SharingList.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SharingList.vue?vue&type=script&lang=js\"","<!--\n  - @copyright Copyright (c) 2019 John Molakvoæ <skjnldsv@protonmail.com>\n  -\n  - @author John Molakvoæ <skjnldsv@protonmail.com>\n  -\n  - @license GNU AGPL version 3 or any later version\n  -\n  - This program is free software: you can redistribute it and/or modify\n  - it under the terms of the GNU Affero General Public License as\n  - published by the Free Software Foundation, either version 3 of the\n  - License, or (at your option) any later version.\n  -\n  - This program is distributed in the hope that it will be useful,\n  - but WITHOUT ANY WARRANTY; without even the implied warranty of\n  - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\n  - GNU Affero General Public License for more details.\n  -\n  - You should have received a copy of the GNU Affero General Public License\n  - along with this program. If not, see <http://www.gnu.org/licenses/>.\n  -\n  -->\n\n<template>\n\t<ul class=\"sharing-sharee-list\">\n\t\t<SharingEntry v-for=\"share in shares\"\n\t\t\t:key=\"share.id\"\n\t\t\t:file-info=\"fileInfo\"\n\t\t\t:share=\"share\"\n\t\t\t:is-unique=\"isUnique(share)\"\n\t\t\t@open-sharing-details=\"openSharingDetails(share)\" />\n\t</ul>\n</template>\n\n<script>\n// eslint-disable-next-line no-unused-vars\nimport SharingEntry from '../components/SharingEntry.vue'\nimport ShareTypes from '../mixins/ShareTypes.js'\nimport ShareDetails from '../mixins/ShareDetails.js'\n\nexport default {\n\tname: 'SharingList',\n\n\tcomponents: {\n\t\tSharingEntry,\n\t},\n\n\tmixins: [ShareTypes, ShareDetails],\n\n\tprops: {\n\t\tfileInfo: {\n\t\t\ttype: Object,\n\t\t\tdefault: () => { },\n\t\t\trequired: true,\n\t\t},\n\t\tshares: {\n\t\t\ttype: Array,\n\t\t\tdefault: () => [],\n\t\t\trequired: true,\n\t\t},\n\t},\n\tcomputed: {\n\t\thasShares() {\n\t\t\treturn this.shares.length === 0\n\t\t},\n\t\tisUnique() {\n\t\t\treturn (share) => {\n\t\t\t\treturn [...this.shares].filter((item) => {\n\t\t\t\t\treturn share.type === this.SHARE_TYPES.SHARE_TYPE_USER && share.shareWithDisplayName === item.shareWithDisplayName\n\t\t\t\t}).length <= 1\n\t\t\t}\n\t\t},\n\t},\n}\n</script>\n","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('li',{staticClass:\"sharing-entry\"},[_c('NcAvatar',{staticClass:\"sharing-entry__avatar\",attrs:{\"is-no-user\":_vm.share.type !== _vm.SHARE_TYPES.SHARE_TYPE_USER,\"user\":_vm.share.shareWith,\"display-name\":_vm.share.shareWithDisplayName,\"menu-position\":'left',\"url\":_vm.share.shareWithAvatar}}),_vm._v(\" \"),_c('div',{staticClass:\"sharing-entry__summary\"},[_c(_vm.share.shareWithLink ? 'a' : 'div',{tag:\"component\",staticClass:\"sharing-entry__summary__desc\",attrs:{\"title\":_vm.tooltip,\"aria-label\":_vm.tooltip,\"href\":_vm.share.shareWithLink}},[_c('span',[_vm._v(_vm._s(_vm.title)+\"\\n\\t\\t\\t\\t\"),(!_vm.isUnique)?_c('span',{staticClass:\"sharing-entry__summary__desc-unique\"},[_vm._v(\" (\"+_vm._s(_vm.share.shareWithDisplayNameUnique)+\")\")]):_vm._e(),_vm._v(\" \"),(_vm.hasStatus && _vm.share.status.message)?_c('small',[_vm._v(\"(\"+_vm._s(_vm.share.status.message)+\")\")]):_vm._e()])]),_vm._v(\" \"),_c('SharingEntryQuickShareSelect',{attrs:{\"share\":_vm.share,\"file-info\":_vm.fileInfo},on:{\"open-sharing-details\":function($event){return _vm.openShareDetailsForCustomSettings(_vm.share)}}})],1),_vm._v(\" \"),_c('NcButton',{staticClass:\"sharing-entry__action\",attrs:{\"data-cy-files-sharing-share-actions\":\"\",\"aria-label\":_vm.t('files_sharing', 'Open Sharing Details'),\"type\":\"tertiary\"},on:{\"click\":function($event){return _vm.openSharingDetails(_vm.share)}},scopedSlots:_vm._u([{key:\"icon\",fn:function(){return [_c('DotsHorizontalIcon',{attrs:{\"size\":20}})]},proxy:true}])})],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import { render, staticRenderFns } from \"./SharingList.vue?vue&type=template&id=445a39ed\"\nimport script from \"./SharingList.vue?vue&type=script&lang=js\"\nexport * from \"./SharingList.vue?vue&type=script&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n  script,\n  render,\n  staticRenderFns,\n  false,\n  null,\n  null,\n  null\n  \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',{staticClass:\"sharingTabDetailsView\"},[_c('div',{staticClass:\"sharingTabDetailsView__header\"},[_c('span',[(_vm.isUserShare)?_c('NcAvatar',{staticClass:\"sharing-entry__avatar\",attrs:{\"is-no-user\":_vm.share.shareType !== _vm.SHARE_TYPES.SHARE_TYPE_USER,\"user\":_vm.share.shareWith,\"display-name\":_vm.share.shareWithDisplayName,\"menu-position\":'left',\"url\":_vm.share.shareWithAvatar}}):_vm._e(),_vm._v(\" \"),_c(_vm.getShareTypeIcon(_vm.share.type),{tag:\"component\",attrs:{\"size\":32}})],1),_vm._v(\" \"),_c('span',[_c('h1',[_vm._v(_vm._s(_vm.title))])])]),_vm._v(\" \"),_c('div',{staticClass:\"sharingTabDetailsView__wrapper\"},[_c('div',{ref:\"quickPermissions\",staticClass:\"sharingTabDetailsView__quick-permissions\"},[_c('div',[_c('NcCheckboxRadioSwitch',{attrs:{\"button-variant\":true,\"data-cy-files-sharing-share-permissions-bundle\":\"read-only\",\"checked\":_vm.sharingPermission,\"value\":_vm.bundledPermissions.READ_ONLY.toString(),\"name\":\"sharing_permission_radio\",\"type\":\"radio\",\"button-variant-grouped\":\"vertical\"},on:{\"update:checked\":[function($event){_vm.sharingPermission=$event},_vm.toggleCustomPermissions]},scopedSlots:_vm._u([{key:\"icon\",fn:function(){return [_c('ViewIcon',{attrs:{\"size\":20}})]},proxy:true}])},[_vm._v(\"\\n\\t\\t\\t\\t\\t\"+_vm._s(_vm.t('files_sharing', 'View only'))+\"\\n\\t\\t\\t\\t\\t\")]),_vm._v(\" \"),_c('NcCheckboxRadioSwitch',{attrs:{\"button-variant\":true,\"data-cy-files-sharing-share-permissions-bundle\":\"upload-edit\",\"checked\":_vm.sharingPermission,\"value\":_vm.bundledPermissions.ALL.toString(),\"name\":\"sharing_permission_radio\",\"type\":\"radio\",\"button-variant-grouped\":\"vertical\"},on:{\"update:checked\":[function($event){_vm.sharingPermission=$event},_vm.toggleCustomPermissions]},scopedSlots:_vm._u([{key:\"icon\",fn:function(){return [_c('EditIcon',{attrs:{\"size\":20}})]},proxy:true}])},[(_vm.allowsFileDrop)?[_vm._v(\"\\n\\t\\t\\t\\t\\t\\t\"+_vm._s(_vm.t('files_sharing', 'Allow upload and editing'))+\"\\n\\t\\t\\t\\t\\t\")]:[_vm._v(\"\\n\\t\\t\\t\\t\\t\\t\"+_vm._s(_vm.t('files_sharing', 'Allow editing'))+\"\\n\\t\\t\\t\\t\\t\")]],2),_vm._v(\" \"),(_vm.allowsFileDrop)?_c('NcCheckboxRadioSwitch',{attrs:{\"data-cy-files-sharing-share-permissions-bundle\":\"file-drop\",\"button-variant\":true,\"checked\":_vm.sharingPermission,\"value\":_vm.bundledPermissions.FILE_DROP.toString(),\"name\":\"sharing_permission_radio\",\"type\":\"radio\",\"button-variant-grouped\":\"vertical\"},on:{\"update:checked\":[function($event){_vm.sharingPermission=$event},_vm.toggleCustomPermissions]},scopedSlots:_vm._u([{key:\"icon\",fn:function(){return [_c('UploadIcon',{attrs:{\"size\":20}})]},proxy:true}],null,false,1083194048)},[_vm._v(\"\\n\\t\\t\\t\\t\\t\"+_vm._s(_vm.t('files_sharing', 'File drop'))+\"\\n\\t\\t\\t\\t\\t\"),_c('small',{staticClass:\"subline\"},[_vm._v(_vm._s(_vm.t('files_sharing', 'Upload only')))])]):_vm._e(),_vm._v(\" \"),_c('NcCheckboxRadioSwitch',{attrs:{\"button-variant\":true,\"data-cy-files-sharing-share-permissions-bundle\":\"custom\",\"checked\":_vm.sharingPermission,\"value\":'custom',\"name\":\"sharing_permission_radio\",\"type\":\"radio\",\"button-variant-grouped\":\"vertical\"},on:{\"update:checked\":[function($event){_vm.sharingPermission=$event},_vm.expandCustomPermissions]},scopedSlots:_vm._u([{key:\"icon\",fn:function(){return [_c('DotsHorizontalIcon',{attrs:{\"size\":20}})]},proxy:true}])},[_vm._v(\"\\n\\t\\t\\t\\t\\t\"+_vm._s(_vm.t('files_sharing', 'Custom permissions'))+\"\\n\\t\\t\\t\\t\\t\"),_c('small',{staticClass:\"subline\"},[_vm._v(_vm._s(_vm.customPermissionsList))])])],1)]),_vm._v(\" \"),_c('div',{staticClass:\"sharingTabDetailsView__advanced-control\"},[_c('NcButton',{attrs:{\"id\":\"advancedSectionAccordionAdvancedControl\",\"type\":\"tertiary\",\"alignment\":\"end-reverse\",\"aria-controls\":\"advancedSectionAccordionAdvanced\",\"aria-expanded\":_vm.advancedControlExpandedValue},on:{\"click\":function($event){_vm.advancedSectionAccordionExpanded = !_vm.advancedSectionAccordionExpanded}},scopedSlots:_vm._u([{key:\"icon\",fn:function(){return [(!_vm.advancedSectionAccordionExpanded)?_c('MenuDownIcon'):_c('MenuUpIcon')]},proxy:true}])},[_vm._v(\"\\n\\t\\t\\t\\t\"+_vm._s(_vm.t('files_sharing', 'Advanced settings'))+\"\\n\\t\\t\\t\\t\")])],1),_vm._v(\" \"),(_vm.advancedSectionAccordionExpanded)?_c('div',{staticClass:\"sharingTabDetailsView__advanced\",attrs:{\"id\":\"advancedSectionAccordionAdvanced\",\"aria-labelledby\":\"advancedSectionAccordionAdvancedControl\",\"role\":\"region\"}},[_c('section',[(_vm.isPublicShare)?_c('NcInputField',{attrs:{\"autocomplete\":\"off\",\"label\":_vm.t('files_sharing', 'Share label'),\"value\":_vm.share.label},on:{\"update:value\":function($event){return _vm.$set(_vm.share, \"label\", $event)}}}):_vm._e(),_vm._v(\" \"),(_vm.isPublicShare)?[_c('NcCheckboxRadioSwitch',{attrs:{\"checked\":_vm.isPasswordProtected,\"disabled\":_vm.isPasswordEnforced},on:{\"update:checked\":function($event){_vm.isPasswordProtected=$event}}},[_vm._v(\"\\n\\t\\t\\t\\t\\t\\t\"+_vm._s(_vm.t('files_sharing', 'Set password'))+\"\\n\\t\\t\\t\\t\\t\")]),_vm._v(\" \"),(_vm.isPasswordProtected)?_c('NcPasswordField',{attrs:{\"autocomplete\":\"new-password\",\"value\":_vm.hasUnsavedPassword ? _vm.share.newPassword : '',\"error\":_vm.passwordError,\"helper-text\":_vm.errorPasswordLabel,\"required\":_vm.isPasswordEnforced,\"label\":_vm.t('files_sharing', 'Password')},on:{\"update:value\":_vm.onPasswordChange}}):_vm._e(),_vm._v(\" \"),(_vm.isEmailShareType && _vm.passwordExpirationTime)?_c('span',{attrs:{\"icon\":\"icon-info\"}},[_vm._v(\"\\n\\t\\t\\t\\t\\t\\t\"+_vm._s(_vm.t('files_sharing', 'Password expires {passwordExpirationTime}', { passwordExpirationTime: _vm.passwordExpirationTime }))+\"\\n\\t\\t\\t\\t\\t\")]):(_vm.isEmailShareType && _vm.passwordExpirationTime !== null)?_c('span',{attrs:{\"icon\":\"icon-error\"}},[_vm._v(\"\\n\\t\\t\\t\\t\\t\\t\"+_vm._s(_vm.t('files_sharing', 'Password expired'))+\"\\n\\t\\t\\t\\t\\t\")]):_vm._e()]:_vm._e(),_vm._v(\" \"),(_vm.canTogglePasswordProtectedByTalkAvailable)?_c('NcCheckboxRadioSwitch',{attrs:{\"checked\":_vm.isPasswordProtectedByTalk},on:{\"update:checked\":[function($event){_vm.isPasswordProtectedByTalk=$event},_vm.onPasswordProtectedByTalkChange]}},[_vm._v(\"\\n\\t\\t\\t\\t\\t\"+_vm._s(_vm.t('files_sharing', 'Video verification'))+\"\\n\\t\\t\\t\\t\")]):_vm._e(),_vm._v(\" \"),_c('NcCheckboxRadioSwitch',{attrs:{\"checked\":_vm.hasExpirationDate,\"disabled\":_vm.isExpiryDateEnforced},on:{\"update:checked\":function($event){_vm.hasExpirationDate=$event}}},[_vm._v(\"\\n\\t\\t\\t\\t\\t\"+_vm._s(_vm.isExpiryDateEnforced\n\t\t\t\t\t\t? _vm.t('files_sharing', 'Expiration date (enforced)')\n\t\t\t\t\t\t: _vm.t('files_sharing', 'Set expiration date'))+\"\\n\\t\\t\\t\\t\")]),_vm._v(\" \"),(_vm.hasExpirationDate)?_c('NcDateTimePickerNative',{attrs:{\"id\":\"share-date-picker\",\"value\":new Date(_vm.share.expireDate ?? _vm.dateTomorrow),\"min\":_vm.dateTomorrow,\"max\":_vm.maxExpirationDateEnforced,\"hide-label\":true,\"placeholder\":_vm.t('files_sharing', 'Expiration date'),\"type\":\"date\"},on:{\"input\":_vm.onExpirationChange}}):_vm._e(),_vm._v(\" \"),(_vm.isPublicShare)?_c('NcCheckboxRadioSwitch',{attrs:{\"disabled\":_vm.canChangeHideDownload,\"checked\":_vm.share.hideDownload},on:{\"update:checked\":[function($event){return _vm.$set(_vm.share, \"hideDownload\", $event)},function($event){return _vm.queueUpdate('hideDownload')}]}},[_vm._v(\"\\n\\t\\t\\t\\t\\t\"+_vm._s(_vm.t('files_sharing', 'Hide download'))+\"\\n\\t\\t\\t\\t\")]):_vm._e(),_vm._v(\" \"),(!_vm.isPublicShare)?_c('NcCheckboxRadioSwitch',{attrs:{\"disabled\":!_vm.canSetDownload,\"checked\":_vm.canDownload,\"data-cy-files-sharing-share-permissions-checkbox\":\"download\"},on:{\"update:checked\":function($event){_vm.canDownload=$event}}},[_vm._v(\"\\n\\t\\t\\t\\t\\t\"+_vm._s(_vm.t('files_sharing', 'Allow download'))+\"\\n\\t\\t\\t\\t\")]):_vm._e(),_vm._v(\" \"),_c('NcCheckboxRadioSwitch',{attrs:{\"checked\":_vm.writeNoteToRecipientIsChecked},on:{\"update:checked\":function($event){_vm.writeNoteToRecipientIsChecked=$event}}},[_vm._v(\"\\n\\t\\t\\t\\t\\t\"+_vm._s(_vm.t('files_sharing', 'Note to recipient'))+\"\\n\\t\\t\\t\\t\")]),_vm._v(\" \"),(_vm.writeNoteToRecipientIsChecked)?[_c('label',{attrs:{\"for\":\"share-note-textarea\"}},[_vm._v(\"\\n\\t\\t\\t\\t\\t\\t\"+_vm._s(_vm.t('files_sharing', 'Enter a note for the share recipient'))+\"\\n\\t\\t\\t\\t\\t\")]),_vm._v(\" \"),_c('textarea',{attrs:{\"id\":\"share-note-textarea\"},domProps:{\"value\":_vm.share.note},on:{\"input\":function($event){_vm.share.note = $event.target.value}}})]:_vm._e(),_vm._v(\" \"),_vm._l((_vm.externalLinkActions),function(action){return _c('ExternalShareAction',{key:action.id,ref:\"externalLinkActions\",refInFor:true,attrs:{\"id\":action.id,\"action\":action,\"file-info\":_vm.fileInfo,\"share\":_vm.share}})}),_vm._v(\" \"),_c('NcCheckboxRadioSwitch',{attrs:{\"checked\":_vm.setCustomPermissions},on:{\"update:checked\":function($event){_vm.setCustomPermissions=$event}}},[_vm._v(\"\\n\\t\\t\\t\\t\\t\"+_vm._s(_vm.t('files_sharing', 'Custom permissions'))+\"\\n\\t\\t\\t\\t\")]),_vm._v(\" \"),(_vm.setCustomPermissions)?_c('section',{staticClass:\"custom-permissions-group\"},[_c('NcCheckboxRadioSwitch',{attrs:{\"disabled\":!_vm.allowsFileDrop && _vm.share.type === _vm.SHARE_TYPES.SHARE_TYPE_LINK,\"checked\":_vm.hasRead,\"data-cy-files-sharing-share-permissions-checkbox\":\"read\"},on:{\"update:checked\":function($event){_vm.hasRead=$event}}},[_vm._v(\"\\n\\t\\t\\t\\t\\t\\t\"+_vm._s(_vm.t('files_sharing', 'Read'))+\"\\n\\t\\t\\t\\t\\t\")]),_vm._v(\" \"),(_vm.isFolder)?_c('NcCheckboxRadioSwitch',{attrs:{\"disabled\":!_vm.canSetCreate,\"checked\":_vm.canCreate,\"data-cy-files-sharing-share-permissions-checkbox\":\"create\"},on:{\"update:checked\":function($event){_vm.canCreate=$event}}},[_vm._v(\"\\n\\t\\t\\t\\t\\t\\t\"+_vm._s(_vm.t('files_sharing', 'Create'))+\"\\n\\t\\t\\t\\t\\t\")]):_vm._e(),_vm._v(\" \"),_c('NcCheckboxRadioSwitch',{attrs:{\"disabled\":!_vm.canSetEdit,\"checked\":_vm.canEdit,\"data-cy-files-sharing-share-permissions-checkbox\":\"update\"},on:{\"update:checked\":function($event){_vm.canEdit=$event}}},[_vm._v(\"\\n\\t\\t\\t\\t\\t\\t\"+_vm._s(_vm.t('files_sharing', 'Edit'))+\"\\n\\t\\t\\t\\t\\t\")]),_vm._v(\" \"),(_vm.config.isResharingAllowed && _vm.share.type !== _vm.SHARE_TYPES.SHARE_TYPE_LINK)?_c('NcCheckboxRadioSwitch',{attrs:{\"disabled\":!_vm.canSetReshare,\"checked\":_vm.canReshare,\"data-cy-files-sharing-share-permissions-checkbox\":\"share\"},on:{\"update:checked\":function($event){_vm.canReshare=$event}}},[_vm._v(\"\\n\\t\\t\\t\\t\\t\\t\"+_vm._s(_vm.t('files_sharing', 'Share'))+\"\\n\\t\\t\\t\\t\\t\")]):_vm._e(),_vm._v(\" \"),_c('NcCheckboxRadioSwitch',{attrs:{\"disabled\":!_vm.canSetDelete,\"checked\":_vm.canDelete,\"data-cy-files-sharing-share-permissions-checkbox\":\"delete\"},on:{\"update:checked\":function($event){_vm.canDelete=$event}}},[_vm._v(\"\\n\\t\\t\\t\\t\\t\\t\"+_vm._s(_vm.t('files_sharing', 'Delete'))+\"\\n\\t\\t\\t\\t\\t\")])],1):_vm._e(),_vm._v(\" \"),_c('div',{staticClass:\"sharingTabDetailsView__delete\"},[(!_vm.isNewShare)?_c('NcButton',{attrs:{\"aria-label\":_vm.t('files_sharing', 'Delete share'),\"disabled\":false,\"readonly\":false,\"type\":\"tertiary\"},on:{\"click\":function($event){$event.preventDefault();return _vm.removeShare.apply(null, arguments)}},scopedSlots:_vm._u([{key:\"icon\",fn:function(){return [_c('CloseIcon',{attrs:{\"size\":16}})]},proxy:true}],null,false,2746485232)},[_vm._v(\"\\n\\t\\t\\t\\t\\t\\t\"+_vm._s(_vm.t('files_sharing', 'Delete share'))+\"\\n\\t\\t\\t\\t\\t\")]):_vm._e()],1)],2)]):_vm._e()]),_vm._v(\" \"),_c('div',{staticClass:\"sharingTabDetailsView__footer\"},[_c('div',{staticClass:\"button-group\"},[_c('NcButton',{attrs:{\"data-cy-files-sharing-share-editor-action\":\"cancel\"},on:{\"click\":function($event){return _vm.$emit('close-sharing-details')}}},[_vm._v(\"\\n\\t\\t\\t\\t\"+_vm._s(_vm.t('files_sharing', 'Cancel'))+\"\\n\\t\\t\\t\")]),_vm._v(\" \"),_c('NcButton',{attrs:{\"type\":\"primary\",\"data-cy-files-sharing-share-editor-action\":\"save\"},on:{\"click\":_vm.saveShare},scopedSlots:_vm._u([(_vm.creating)?{key:\"icon\",fn:function(){return [_c('NcLoadingIcon')]},proxy:true}:null],null,true)},[_vm._v(\"\\n\\t\\t\\t\\t\"+_vm._s(_vm.shareButtonText)+\"\\n\\t\\t\\t\\t\")])],1)])])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\n  <span v-bind=\"$attrs\"\n        :aria-hidden=\"title ? null : true\"\n        :aria-label=\"title\"\n        class=\"material-design-icon circle-outline-icon\"\n        role=\"img\"\n        @click=\"$emit('click', $event)\">\n    <svg :fill=\"fillColor\"\n         class=\"material-design-icon__svg\"\n         :width=\"size\"\n         :height=\"size\"\n         viewBox=\"0 0 24 24\">\n      <path d=\"M12,20A8,8 0 0,1 4,12A8,8 0 0,1 12,4A8,8 0 0,1 20,12A8,8 0 0,1 12,20M12,2A10,10 0 0,0 2,12A10,10 0 0,0 12,22A10,10 0 0,0 22,12A10,10 0 0,0 12,2Z\">\n        <title v-if=\"title\">{{ title }}</title>\n      </path>\n    </svg>\n  </span>\n</template>\n\n<script>\nexport default {\n  name: \"CircleOutlineIcon\",\n  emits: ['click'],\n  props: {\n    title: {\n      type: String,\n    },\n    fillColor: {\n      type: String,\n      default: \"currentColor\"\n    },\n    size: {\n      type: Number,\n      default: 24\n    }\n  }\n}\n</script>","import mod from \"-!../vue-loader/lib/index.js??vue-loader-options!./CircleOutline.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../vue-loader/lib/index.js??vue-loader-options!./CircleOutline.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./CircleOutline.vue?vue&type=template&id=33494a74\"\nimport script from \"./CircleOutline.vue?vue&type=script&lang=js\"\nexport * from \"./CircleOutline.vue?vue&type=script&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n  script,\n  render,\n  staticRenderFns,\n  false,\n  null,\n  null,\n  null\n  \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('span',_vm._b({staticClass:\"material-design-icon circle-outline-icon\",attrs:{\"aria-hidden\":_vm.title ? null : true,\"aria-label\":_vm.title,\"role\":\"img\"},on:{\"click\":function($event){return _vm.$emit('click', $event)}}},'span',_vm.$attrs,false),[_c('svg',{staticClass:\"material-design-icon__svg\",attrs:{\"fill\":_vm.fillColor,\"width\":_vm.size,\"height\":_vm.size,\"viewBox\":\"0 0 24 24\"}},[_c('path',{attrs:{\"d\":\"M12,20A8,8 0 0,1 4,12A8,8 0 0,1 12,4A8,8 0 0,1 20,12A8,8 0 0,1 12,20M12,2A10,10 0 0,0 2,12A10,10 0 0,0 12,22A10,10 0 0,0 22,12A10,10 0 0,0 12,2Z\"}},[(_vm.title)?_c('title',[_vm._v(_vm._s(_vm.title))]):_vm._e()])])])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import mod from \"-!../vue-loader/lib/index.js??vue-loader-options!./Email.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../vue-loader/lib/index.js??vue-loader-options!./Email.vue?vue&type=script&lang=js\"","<template>\n  <span v-bind=\"$attrs\"\n        :aria-hidden=\"title ? null : true\"\n        :aria-label=\"title\"\n        class=\"material-design-icon email-icon\"\n        role=\"img\"\n        @click=\"$emit('click', $event)\">\n    <svg :fill=\"fillColor\"\n         class=\"material-design-icon__svg\"\n         :width=\"size\"\n         :height=\"size\"\n         viewBox=\"0 0 24 24\">\n      <path d=\"M20,8L12,13L4,8V6L12,11L20,6M20,4H4C2.89,4 2,4.89 2,6V18A2,2 0 0,0 4,20H20A2,2 0 0,0 22,18V6C22,4.89 21.1,4 20,4Z\">\n        <title v-if=\"title\">{{ title }}</title>\n      </path>\n    </svg>\n  </span>\n</template>\n\n<script>\nexport default {\n  name: \"EmailIcon\",\n  emits: ['click'],\n  props: {\n    title: {\n      type: String,\n    },\n    fillColor: {\n      type: String,\n      default: \"currentColor\"\n    },\n    size: {\n      type: Number,\n      default: 24\n    }\n  }\n}\n</script>","import { render, staticRenderFns } from \"./Email.vue?vue&type=template&id=ec4501a4\"\nimport script from \"./Email.vue?vue&type=script&lang=js\"\nexport * from \"./Email.vue?vue&type=script&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n  script,\n  render,\n  staticRenderFns,\n  false,\n  null,\n  null,\n  null\n  \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('span',_vm._b({staticClass:\"material-design-icon email-icon\",attrs:{\"aria-hidden\":_vm.title ? null : true,\"aria-label\":_vm.title,\"role\":\"img\"},on:{\"click\":function($event){return _vm.$emit('click', $event)}}},'span',_vm.$attrs,false),[_c('svg',{staticClass:\"material-design-icon__svg\",attrs:{\"fill\":_vm.fillColor,\"width\":_vm.size,\"height\":_vm.size,\"viewBox\":\"0 0 24 24\"}},[_c('path',{attrs:{\"d\":\"M20,8L12,13L4,8V6L12,11L20,6M20,4H4C2.89,4 2,4.89 2,6V18A2,2 0 0,0 4,20H20A2,2 0 0,0 22,18V6C22,4.89 21.1,4 20,4Z\"}},[(_vm.title)?_c('title',[_vm._v(_vm._s(_vm.title))]):_vm._e()])])])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\n  <span v-bind=\"$attrs\"\n        :aria-hidden=\"title ? null : true\"\n        :aria-label=\"title\"\n        class=\"material-design-icon share-circle-icon\"\n        role=\"img\"\n        @click=\"$emit('click', $event)\">\n    <svg :fill=\"fillColor\"\n         class=\"material-design-icon__svg\"\n         :width=\"size\"\n         :height=\"size\"\n         viewBox=\"0 0 24 24\">\n      <path d=\"M12 2C6.5 2 2 6.5 2 12S6.5 22 12 22 22 17.5 22 12 17.5 2 12 2M14 16V13C10.39 13 7.81 14.43 6 17C6.72 13.33 8.94 9.73 14 9V6L19 11L14 16Z\">\n        <title v-if=\"title\">{{ title }}</title>\n      </path>\n    </svg>\n  </span>\n</template>\n\n<script>\nexport default {\n  name: \"ShareCircleIcon\",\n  emits: ['click'],\n  props: {\n    title: {\n      type: String,\n    },\n    fillColor: {\n      type: String,\n      default: \"currentColor\"\n    },\n    size: {\n      type: Number,\n      default: 24\n    }\n  }\n}\n</script>","import mod from \"-!../vue-loader/lib/index.js??vue-loader-options!./ShareCircle.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../vue-loader/lib/index.js??vue-loader-options!./ShareCircle.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./ShareCircle.vue?vue&type=template&id=c22eb9fe\"\nimport script from \"./ShareCircle.vue?vue&type=script&lang=js\"\nexport * from \"./ShareCircle.vue?vue&type=script&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n  script,\n  render,\n  staticRenderFns,\n  false,\n  null,\n  null,\n  null\n  \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('span',_vm._b({staticClass:\"material-design-icon share-circle-icon\",attrs:{\"aria-hidden\":_vm.title ? null : true,\"aria-label\":_vm.title,\"role\":\"img\"},on:{\"click\":function($event){return _vm.$emit('click', $event)}}},'span',_vm.$attrs,false),[_c('svg',{staticClass:\"material-design-icon__svg\",attrs:{\"fill\":_vm.fillColor,\"width\":_vm.size,\"height\":_vm.size,\"viewBox\":\"0 0 24 24\"}},[_c('path',{attrs:{\"d\":\"M12 2C6.5 2 2 6.5 2 12S6.5 22 12 22 22 17.5 22 12 17.5 2 12 2M14 16V13C10.39 13 7.81 14.43 6 17C6.72 13.33 8.94 9.73 14 9V6L19 11L14 16Z\"}},[(_vm.title)?_c('title',[_vm._v(_vm._s(_vm.title))]):_vm._e()])])])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import mod from \"-!../vue-loader/lib/index.js??vue-loader-options!./AccountCircleOutline.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../vue-loader/lib/index.js??vue-loader-options!./AccountCircleOutline.vue?vue&type=script&lang=js\"","<template>\n  <span v-bind=\"$attrs\"\n        :aria-hidden=\"title ? null : true\"\n        :aria-label=\"title\"\n        class=\"material-design-icon account-circle-outline-icon\"\n        role=\"img\"\n        @click=\"$emit('click', $event)\">\n    <svg :fill=\"fillColor\"\n         class=\"material-design-icon__svg\"\n         :width=\"size\"\n         :height=\"size\"\n         viewBox=\"0 0 24 24\">\n      <path d=\"M12,2A10,10 0 0,0 2,12A10,10 0 0,0 12,22A10,10 0 0,0 22,12A10,10 0 0,0 12,2M7.07,18.28C7.5,17.38 10.12,16.5 12,16.5C13.88,16.5 16.5,17.38 16.93,18.28C15.57,19.36 13.86,20 12,20C10.14,20 8.43,19.36 7.07,18.28M18.36,16.83C16.93,15.09 13.46,14.5 12,14.5C10.54,14.5 7.07,15.09 5.64,16.83C4.62,15.5 4,13.82 4,12C4,7.59 7.59,4 12,4C16.41,4 20,7.59 20,12C20,13.82 19.38,15.5 18.36,16.83M12,6C10.06,6 8.5,7.56 8.5,9.5C8.5,11.44 10.06,13 12,13C13.94,13 15.5,11.44 15.5,9.5C15.5,7.56 13.94,6 12,6M12,11A1.5,1.5 0 0,1 10.5,9.5A1.5,1.5 0 0,1 12,8A1.5,1.5 0 0,1 13.5,9.5A1.5,1.5 0 0,1 12,11Z\">\n        <title v-if=\"title\">{{ title }}</title>\n      </path>\n    </svg>\n  </span>\n</template>\n\n<script>\nexport default {\n  name: \"AccountCircleOutlineIcon\",\n  emits: ['click'],\n  props: {\n    title: {\n      type: String,\n    },\n    fillColor: {\n      type: String,\n      default: \"currentColor\"\n    },\n    size: {\n      type: Number,\n      default: 24\n    }\n  }\n}\n</script>","import { render, staticRenderFns } from \"./AccountCircleOutline.vue?vue&type=template&id=59b2bccc\"\nimport script from \"./AccountCircleOutline.vue?vue&type=script&lang=js\"\nexport * from \"./AccountCircleOutline.vue?vue&type=script&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n  script,\n  render,\n  staticRenderFns,\n  false,\n  null,\n  null,\n  null\n  \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('span',_vm._b({staticClass:\"material-design-icon account-circle-outline-icon\",attrs:{\"aria-hidden\":_vm.title ? null : true,\"aria-label\":_vm.title,\"role\":\"img\"},on:{\"click\":function($event){return _vm.$emit('click', $event)}}},'span',_vm.$attrs,false),[_c('svg',{staticClass:\"material-design-icon__svg\",attrs:{\"fill\":_vm.fillColor,\"width\":_vm.size,\"height\":_vm.size,\"viewBox\":\"0 0 24 24\"}},[_c('path',{attrs:{\"d\":\"M12,2A10,10 0 0,0 2,12A10,10 0 0,0 12,22A10,10 0 0,0 22,12A10,10 0 0,0 12,2M7.07,18.28C7.5,17.38 10.12,16.5 12,16.5C13.88,16.5 16.5,17.38 16.93,18.28C15.57,19.36 13.86,20 12,20C10.14,20 8.43,19.36 7.07,18.28M18.36,16.83C16.93,15.09 13.46,14.5 12,14.5C10.54,14.5 7.07,15.09 5.64,16.83C4.62,15.5 4,13.82 4,12C4,7.59 7.59,4 12,4C16.41,4 20,7.59 20,12C20,13.82 19.38,15.5 18.36,16.83M12,6C10.06,6 8.5,7.56 8.5,9.5C8.5,11.44 10.06,13 12,13C13.94,13 15.5,11.44 15.5,9.5C15.5,7.56 13.94,6 12,6M12,11A1.5,1.5 0 0,1 10.5,9.5A1.5,1.5 0 0,1 12,8A1.5,1.5 0 0,1 13.5,9.5A1.5,1.5 0 0,1 12,11Z\"}},[(_vm.title)?_c('title',[_vm._v(_vm._s(_vm.title))]):_vm._e()])])])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import mod from \"-!../vue-loader/lib/index.js??vue-loader-options!./Eye.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../vue-loader/lib/index.js??vue-loader-options!./Eye.vue?vue&type=script&lang=js\"","<template>\n  <span v-bind=\"$attrs\"\n        :aria-hidden=\"title ? null : true\"\n        :aria-label=\"title\"\n        class=\"material-design-icon eye-icon\"\n        role=\"img\"\n        @click=\"$emit('click', $event)\">\n    <svg :fill=\"fillColor\"\n         class=\"material-design-icon__svg\"\n         :width=\"size\"\n         :height=\"size\"\n         viewBox=\"0 0 24 24\">\n      <path d=\"M12,9A3,3 0 0,0 9,12A3,3 0 0,0 12,15A3,3 0 0,0 15,12A3,3 0 0,0 12,9M12,17A5,5 0 0,1 7,12A5,5 0 0,1 12,7A5,5 0 0,1 17,12A5,5 0 0,1 12,17M12,4.5C7,4.5 2.73,7.61 1,12C2.73,16.39 7,19.5 12,19.5C17,19.5 21.27,16.39 23,12C21.27,7.61 17,4.5 12,4.5Z\">\n        <title v-if=\"title\">{{ title }}</title>\n      </path>\n    </svg>\n  </span>\n</template>\n\n<script>\nexport default {\n  name: \"EyeIcon\",\n  emits: ['click'],\n  props: {\n    title: {\n      type: String,\n    },\n    fillColor: {\n      type: String,\n      default: \"currentColor\"\n    },\n    size: {\n      type: Number,\n      default: 24\n    }\n  }\n}\n</script>","import { render, staticRenderFns } from \"./Eye.vue?vue&type=template&id=363a0196\"\nimport script from \"./Eye.vue?vue&type=script&lang=js\"\nexport * from \"./Eye.vue?vue&type=script&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n  script,\n  render,\n  staticRenderFns,\n  false,\n  null,\n  null,\n  null\n  \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('span',_vm._b({staticClass:\"material-design-icon eye-icon\",attrs:{\"aria-hidden\":_vm.title ? null : true,\"aria-label\":_vm.title,\"role\":\"img\"},on:{\"click\":function($event){return _vm.$emit('click', $event)}}},'span',_vm.$attrs,false),[_c('svg',{staticClass:\"material-design-icon__svg\",attrs:{\"fill\":_vm.fillColor,\"width\":_vm.size,\"height\":_vm.size,\"viewBox\":\"0 0 24 24\"}},[_c('path',{attrs:{\"d\":\"M12,9A3,3 0 0,0 9,12A3,3 0 0,0 12,15A3,3 0 0,0 15,12A3,3 0 0,0 12,9M12,17A5,5 0 0,1 7,12A5,5 0 0,1 12,7A5,5 0 0,1 17,12A5,5 0 0,1 12,17M12,4.5C7,4.5 2.73,7.61 1,12C2.73,16.39 7,19.5 12,19.5C17,19.5 21.27,16.39 23,12C21.27,7.61 17,4.5 12,4.5Z\"}},[(_vm.title)?_c('title',[_vm._v(_vm._s(_vm.title))]):_vm._e()])])])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\n\t<div class=\"sharingTabDetailsView\">\n\t\t<div class=\"sharingTabDetailsView__header\">\n\t\t\t<span>\n\t\t\t\t<NcAvatar v-if=\"isUserShare\"\n\t\t\t\t\tclass=\"sharing-entry__avatar\"\n\t\t\t\t\t:is-no-user=\"share.shareType !== SHARE_TYPES.SHARE_TYPE_USER\"\n\t\t\t\t\t:user=\"share.shareWith\"\n\t\t\t\t\t:display-name=\"share.shareWithDisplayName\"\n\t\t\t\t\t:menu-position=\"'left'\"\n\t\t\t\t\t:url=\"share.shareWithAvatar\" />\n\t\t\t\t<component :is=\"getShareTypeIcon(share.type)\" :size=\"32\" />\n\t\t\t</span>\n\t\t\t<span>\n\t\t\t\t<h1>{{ title }}</h1>\n\t\t\t</span>\n\t\t</div>\n\t\t<div class=\"sharingTabDetailsView__wrapper\">\n\t\t\t<div ref=\"quickPermissions\" class=\"sharingTabDetailsView__quick-permissions\">\n\t\t\t\t<div>\n\t\t\t\t\t<NcCheckboxRadioSwitch :button-variant=\"true\"\n\t\t\t\t\t\tdata-cy-files-sharing-share-permissions-bundle=\"read-only\"\n\t\t\t\t\t\t:checked.sync=\"sharingPermission\"\n\t\t\t\t\t\t:value=\"bundledPermissions.READ_ONLY.toString()\"\n\t\t\t\t\t\tname=\"sharing_permission_radio\"\n\t\t\t\t\t\ttype=\"radio\"\n\t\t\t\t\t\tbutton-variant-grouped=\"vertical\"\n\t\t\t\t\t\t@update:checked=\"toggleCustomPermissions\">\n\t\t\t\t\t\t{{ t('files_sharing', 'View only') }}\n\t\t\t\t\t\t<template #icon>\n\t\t\t\t\t\t\t<ViewIcon :size=\"20\" />\n\t\t\t\t\t\t</template>\n\t\t\t\t\t</NcCheckboxRadioSwitch>\n\t\t\t\t\t<NcCheckboxRadioSwitch :button-variant=\"true\"\n\t\t\t\t\t\tdata-cy-files-sharing-share-permissions-bundle=\"upload-edit\"\n\t\t\t\t\t\t:checked.sync=\"sharingPermission\"\n\t\t\t\t\t\t:value=\"bundledPermissions.ALL.toString()\"\n\t\t\t\t\t\tname=\"sharing_permission_radio\"\n\t\t\t\t\t\ttype=\"radio\"\n\t\t\t\t\t\tbutton-variant-grouped=\"vertical\"\n\t\t\t\t\t\t@update:checked=\"toggleCustomPermissions\">\n\t\t\t\t\t\t<template v-if=\"allowsFileDrop\">\n\t\t\t\t\t\t\t{{ t('files_sharing', 'Allow upload and editing') }}\n\t\t\t\t\t\t</template>\n\t\t\t\t\t\t<template v-else>\n\t\t\t\t\t\t\t{{ t('files_sharing', 'Allow editing') }}\n\t\t\t\t\t\t</template>\n\t\t\t\t\t\t<template #icon>\n\t\t\t\t\t\t\t<EditIcon :size=\"20\" />\n\t\t\t\t\t\t</template>\n\t\t\t\t\t</NcCheckboxRadioSwitch>\n\t\t\t\t\t<NcCheckboxRadioSwitch v-if=\"allowsFileDrop\"\n\t\t\t\t\t\tdata-cy-files-sharing-share-permissions-bundle=\"file-drop\"\n\t\t\t\t\t\t:button-variant=\"true\"\n\t\t\t\t\t\t:checked.sync=\"sharingPermission\"\n\t\t\t\t\t\t:value=\"bundledPermissions.FILE_DROP.toString()\"\n\t\t\t\t\t\tname=\"sharing_permission_radio\"\n\t\t\t\t\t\ttype=\"radio\"\n\t\t\t\t\t\tbutton-variant-grouped=\"vertical\"\n\t\t\t\t\t\t@update:checked=\"toggleCustomPermissions\">\n\t\t\t\t\t\t{{ t('files_sharing', 'File drop') }}\n\t\t\t\t\t\t<small class=\"subline\">{{ t('files_sharing', 'Upload only') }}</small>\n\t\t\t\t\t\t<template #icon>\n\t\t\t\t\t\t\t<UploadIcon :size=\"20\" />\n\t\t\t\t\t\t</template>\n\t\t\t\t\t</NcCheckboxRadioSwitch>\n\t\t\t\t\t<NcCheckboxRadioSwitch :button-variant=\"true\"\n\t\t\t\t\t\tdata-cy-files-sharing-share-permissions-bundle=\"custom\"\n\t\t\t\t\t\t:checked.sync=\"sharingPermission\"\n\t\t\t\t\t\t:value=\"'custom'\"\n\t\t\t\t\t\tname=\"sharing_permission_radio\"\n\t\t\t\t\t\ttype=\"radio\"\n\t\t\t\t\t\tbutton-variant-grouped=\"vertical\"\n\t\t\t\t\t\t@update:checked=\"expandCustomPermissions\">\n\t\t\t\t\t\t{{ t('files_sharing', 'Custom permissions') }}\n\t\t\t\t\t\t<small class=\"subline\">{{ customPermissionsList }}</small>\n\t\t\t\t\t\t<template #icon>\n\t\t\t\t\t\t\t<DotsHorizontalIcon :size=\"20\" />\n\t\t\t\t\t\t</template>\n\t\t\t\t\t</NcCheckboxRadioSwitch>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t\t<div class=\"sharingTabDetailsView__advanced-control\">\n\t\t\t\t<NcButton id=\"advancedSectionAccordionAdvancedControl\"\n\t\t\t\t\ttype=\"tertiary\"\n\t\t\t\t\talignment=\"end-reverse\"\n\t\t\t\t\taria-controls=\"advancedSectionAccordionAdvanced\"\n\t\t\t\t\t:aria-expanded=\"advancedControlExpandedValue\"\n\t\t\t\t\t@click=\"advancedSectionAccordionExpanded = !advancedSectionAccordionExpanded\">\n\t\t\t\t\t{{ t('files_sharing', 'Advanced settings') }}\n\t\t\t\t\t<template #icon>\n\t\t\t\t\t\t<MenuDownIcon v-if=\"!advancedSectionAccordionExpanded\" />\n\t\t\t\t\t\t<MenuUpIcon v-else />\n\t\t\t\t\t</template>\n\t\t\t\t</NcButton>\n\t\t\t</div>\n\t\t\t<div v-if=\"advancedSectionAccordionExpanded\"\n\t\t\t\tid=\"advancedSectionAccordionAdvanced\"\n\t\t\t\tclass=\"sharingTabDetailsView__advanced\"\n\t\t\t\taria-labelledby=\"advancedSectionAccordionAdvancedControl\"\n\t\t\t\trole=\"region\">\n\t\t\t\t<section>\n\t\t\t\t\t<NcInputField v-if=\"isPublicShare\"\n\t\t\t\t\t\tautocomplete=\"off\"\n\t\t\t\t\t\t:label=\"t('files_sharing', 'Share label')\"\n\t\t\t\t\t\t:value.sync=\"share.label\" />\n\t\t\t\t\t<template v-if=\"isPublicShare\">\n\t\t\t\t\t\t<NcCheckboxRadioSwitch :checked.sync=\"isPasswordProtected\" :disabled=\"isPasswordEnforced\">\n\t\t\t\t\t\t\t{{ t('files_sharing', 'Set password') }}\n\t\t\t\t\t\t</NcCheckboxRadioSwitch>\n\t\t\t\t\t\t<NcPasswordField v-if=\"isPasswordProtected\"\n\t\t\t\t\t\t\tautocomplete=\"new-password\"\n\t\t\t\t\t\t\t:value=\"hasUnsavedPassword ? share.newPassword : ''\"\n\t\t\t\t\t\t\t:error=\"passwordError\"\n\t\t\t\t\t\t\t:helper-text=\"errorPasswordLabel\"\n\t\t\t\t\t\t\t:required=\"isPasswordEnforced\"\n\t\t\t\t\t\t\t:label=\"t('files_sharing', 'Password')\"\n\t\t\t\t\t\t\t@update:value=\"onPasswordChange\" />\n\n\t\t\t\t\t\t<!-- Migrate icons and remote -> icon=\"icon-info\"-->\n\t\t\t\t\t\t<span v-if=\"isEmailShareType && passwordExpirationTime\" icon=\"icon-info\">\n\t\t\t\t\t\t\t{{ t('files_sharing', 'Password expires {passwordExpirationTime}', { passwordExpirationTime }) }}\n\t\t\t\t\t\t</span>\n\t\t\t\t\t\t<span v-else-if=\"isEmailShareType && passwordExpirationTime !== null\" icon=\"icon-error\">\n\t\t\t\t\t\t\t{{ t('files_sharing', 'Password expired') }}\n\t\t\t\t\t\t</span>\n\t\t\t\t\t</template>\n\t\t\t\t\t<NcCheckboxRadioSwitch v-if=\"canTogglePasswordProtectedByTalkAvailable\"\n\t\t\t\t\t\t:checked.sync=\"isPasswordProtectedByTalk\"\n\t\t\t\t\t\t@update:checked=\"onPasswordProtectedByTalkChange\">\n\t\t\t\t\t\t{{ t('files_sharing', 'Video verification') }}\n\t\t\t\t\t</NcCheckboxRadioSwitch>\n\t\t\t\t\t<NcCheckboxRadioSwitch :checked.sync=\"hasExpirationDate\" :disabled=\"isExpiryDateEnforced\">\n\t\t\t\t\t\t{{ isExpiryDateEnforced\n\t\t\t\t\t\t\t? t('files_sharing', 'Expiration date (enforced)')\n\t\t\t\t\t\t\t: t('files_sharing', 'Set expiration date') }}\n\t\t\t\t\t</NcCheckboxRadioSwitch>\n\t\t\t\t\t<NcDateTimePickerNative v-if=\"hasExpirationDate\"\n\t\t\t\t\t\tid=\"share-date-picker\"\n\t\t\t\t\t\t:value=\"new Date(share.expireDate ?? dateTomorrow)\"\n\t\t\t\t\t\t:min=\"dateTomorrow\"\n\t\t\t\t\t\t:max=\"maxExpirationDateEnforced\"\n\t\t\t\t\t\t:hide-label=\"true\"\n\t\t\t\t\t\t:placeholder=\"t('files_sharing', 'Expiration date')\"\n\t\t\t\t\t\ttype=\"date\"\n\t\t\t\t\t\t@input=\"onExpirationChange\" />\n\t\t\t\t\t<NcCheckboxRadioSwitch v-if=\"isPublicShare\"\n\t\t\t\t\t\t:disabled=\"canChangeHideDownload\"\n\t\t\t\t\t\t:checked.sync=\"share.hideDownload\"\n\t\t\t\t\t\t@update:checked=\"queueUpdate('hideDownload')\">\n\t\t\t\t\t\t{{ t('files_sharing', 'Hide download') }}\n\t\t\t\t\t</NcCheckboxRadioSwitch>\n\t\t\t\t\t<NcCheckboxRadioSwitch v-if=\"!isPublicShare\"\n\t\t\t\t\t\t:disabled=\"!canSetDownload\"\n\t\t\t\t\t\t:checked.sync=\"canDownload\"\n\t\t\t\t\t\tdata-cy-files-sharing-share-permissions-checkbox=\"download\">\n\t\t\t\t\t\t{{ t('files_sharing', 'Allow download') }}\n\t\t\t\t\t</NcCheckboxRadioSwitch>\n\t\t\t\t\t<NcCheckboxRadioSwitch :checked.sync=\"writeNoteToRecipientIsChecked\">\n\t\t\t\t\t\t{{ t('files_sharing', 'Note to recipient') }}\n\t\t\t\t\t</NcCheckboxRadioSwitch>\n\t\t\t\t\t<template v-if=\"writeNoteToRecipientIsChecked\">\n\t\t\t\t\t\t<label for=\"share-note-textarea\">\n\t\t\t\t\t\t\t{{ t('files_sharing', 'Enter a note for the share recipient') }}\n\t\t\t\t\t\t</label>\n\t\t\t\t\t\t<textarea id=\"share-note-textarea\" :value=\"share.note\" @input=\"share.note = $event.target.value\" />\n\t\t\t\t\t</template>\n\t\t\t\t\t<ExternalShareAction v-for=\"action in externalLinkActions\"\n\t\t\t\t\t\t:id=\"action.id\"\n\t\t\t\t\t\tref=\"externalLinkActions\"\n\t\t\t\t\t\t:key=\"action.id\"\n\t\t\t\t\t\t:action=\"action\"\n\t\t\t\t\t\t:file-info=\"fileInfo\"\n\t\t\t\t\t\t:share=\"share\" />\n\t\t\t\t\t<NcCheckboxRadioSwitch :checked.sync=\"setCustomPermissions\">\n\t\t\t\t\t\t{{ t('files_sharing', 'Custom permissions') }}\n\t\t\t\t\t</NcCheckboxRadioSwitch>\n\t\t\t\t\t<section v-if=\"setCustomPermissions\" class=\"custom-permissions-group\">\n\t\t\t\t\t\t<NcCheckboxRadioSwitch :disabled=\"!allowsFileDrop && share.type === SHARE_TYPES.SHARE_TYPE_LINK\"\n\t\t\t\t\t\t\t:checked.sync=\"hasRead\"\n\t\t\t\t\t\t\tdata-cy-files-sharing-share-permissions-checkbox=\"read\">\n\t\t\t\t\t\t\t{{ t('files_sharing', 'Read') }}\n\t\t\t\t\t\t</NcCheckboxRadioSwitch>\n\t\t\t\t\t\t<NcCheckboxRadioSwitch v-if=\"isFolder\"\n\t\t\t\t\t\t\t:disabled=\"!canSetCreate\"\n\t\t\t\t\t\t\t:checked.sync=\"canCreate\"\n\t\t\t\t\t\t\tdata-cy-files-sharing-share-permissions-checkbox=\"create\">\n\t\t\t\t\t\t\t{{ t('files_sharing', 'Create') }}\n\t\t\t\t\t\t</NcCheckboxRadioSwitch>\n\t\t\t\t\t\t<NcCheckboxRadioSwitch :disabled=\"!canSetEdit\"\n\t\t\t\t\t\t\t:checked.sync=\"canEdit\"\n\t\t\t\t\t\t\tdata-cy-files-sharing-share-permissions-checkbox=\"update\">\n\t\t\t\t\t\t\t{{ t('files_sharing', 'Edit') }}\n\t\t\t\t\t\t</NcCheckboxRadioSwitch>\n\t\t\t\t\t\t<NcCheckboxRadioSwitch v-if=\"config.isResharingAllowed && share.type !== SHARE_TYPES.SHARE_TYPE_LINK\"\n\t\t\t\t\t\t\t:disabled=\"!canSetReshare\"\n\t\t\t\t\t\t\t:checked.sync=\"canReshare\"\n\t\t\t\t\t\t\tdata-cy-files-sharing-share-permissions-checkbox=\"share\">\n\t\t\t\t\t\t\t{{ t('files_sharing', 'Share') }}\n\t\t\t\t\t\t</NcCheckboxRadioSwitch>\n\t\t\t\t\t\t<NcCheckboxRadioSwitch :disabled=\"!canSetDelete\"\n\t\t\t\t\t\t\t:checked.sync=\"canDelete\"\n\t\t\t\t\t\t\tdata-cy-files-sharing-share-permissions-checkbox=\"delete\">\n\t\t\t\t\t\t\t{{ t('files_sharing', 'Delete') }}\n\t\t\t\t\t\t</NcCheckboxRadioSwitch>\n\t\t\t\t\t</section>\n\t\t\t\t\t<div class=\"sharingTabDetailsView__delete\">\n\t\t\t\t\t\t<NcButton v-if=\"!isNewShare\"\n\t\t\t\t\t\t\t:aria-label=\"t('files_sharing', 'Delete share')\"\n\t\t\t\t\t\t\t:disabled=\"false\"\n\t\t\t\t\t\t\t:readonly=\"false\"\n\t\t\t\t\t\t\ttype=\"tertiary\"\n\t\t\t\t\t\t\t@click.prevent=\"removeShare\">\n\t\t\t\t\t\t\t<template #icon>\n\t\t\t\t\t\t\t\t<CloseIcon :size=\"16\" />\n\t\t\t\t\t\t\t</template>\n\t\t\t\t\t\t\t{{ t('files_sharing', 'Delete share') }}\n\t\t\t\t\t\t</NcButton>\n\t\t\t\t\t</div>\n\t\t\t\t</section>\n\t\t\t</div>\n\t\t</div>\n\n\t\t<div class=\"sharingTabDetailsView__footer\">\n\t\t\t<div class=\"button-group\">\n\t\t\t\t<NcButton data-cy-files-sharing-share-editor-action=\"cancel\"\n\t\t\t\t\t@click=\"$emit('close-sharing-details')\">\n\t\t\t\t\t{{ t('files_sharing', 'Cancel') }}\n\t\t\t\t</NcButton>\n\t\t\t\t<NcButton type=\"primary\"\n\t\t\t\t\tdata-cy-files-sharing-share-editor-action=\"save\"\n\t\t\t\t\t@click=\"saveShare\">\n\t\t\t\t\t{{ shareButtonText }}\n\t\t\t\t\t<template v-if=\"creating\" #icon>\n\t\t\t\t\t\t<NcLoadingIcon />\n\t\t\t\t\t</template>\n\t\t\t\t</NcButton>\n\t\t\t</div>\n\t\t</div>\n\t</div>\n</template>\n\n<script>\nimport { getLanguage } from '@nextcloud/l10n'\nimport { Type as ShareType } from '@nextcloud/sharing'\n\nimport NcButton from '@nextcloud/vue/dist/Components/NcButton.js'\nimport NcInputField from '@nextcloud/vue/dist/Components/NcInputField.js'\nimport NcPasswordField from '@nextcloud/vue/dist/Components/NcPasswordField.js'\nimport NcAvatar from '@nextcloud/vue/dist/Components/NcAvatar.js'\nimport NcDateTimePickerNative from '@nextcloud/vue/dist/Components/NcDateTimePickerNative.js'\nimport NcCheckboxRadioSwitch from '@nextcloud/vue/dist/Components/NcCheckboxRadioSwitch.js'\nimport NcLoadingIcon from '@nextcloud/vue/dist/Components/NcLoadingIcon.js'\nimport CircleIcon from 'vue-material-design-icons/CircleOutline.vue'\nimport CloseIcon from 'vue-material-design-icons/Close.vue'\nimport EditIcon from 'vue-material-design-icons/Pencil.vue'\nimport EmailIcon from 'vue-material-design-icons/Email.vue'\nimport LinkIcon from 'vue-material-design-icons/Link.vue'\nimport GroupIcon from 'vue-material-design-icons/AccountGroup.vue'\nimport ShareIcon from 'vue-material-design-icons/ShareCircle.vue'\nimport UserIcon from 'vue-material-design-icons/AccountCircleOutline.vue'\nimport ViewIcon from 'vue-material-design-icons/Eye.vue'\nimport UploadIcon from 'vue-material-design-icons/Upload.vue'\nimport MenuDownIcon from 'vue-material-design-icons/MenuDown.vue'\nimport MenuUpIcon from 'vue-material-design-icons/MenuUp.vue'\nimport DotsHorizontalIcon from 'vue-material-design-icons/DotsHorizontal.vue'\n\nimport ExternalShareAction from '../components/ExternalShareAction.vue'\n\nimport GeneratePassword from '../utils/GeneratePassword.js'\nimport Share from '../models/Share.js'\nimport ShareRequests from '../mixins/ShareRequests.js'\nimport ShareTypes from '../mixins/ShareTypes.js'\nimport SharesMixin from '../mixins/SharesMixin.js'\n\nimport {\n\tATOMIC_PERMISSIONS,\n\tBUNDLED_PERMISSIONS,\n\thasPermissions,\n} from '../lib/SharePermissionsToolBox.js'\n\nexport default {\n\tname: 'SharingDetailsTab',\n\tcomponents: {\n\t\tNcAvatar,\n\t\tNcButton,\n\t\tNcInputField,\n\t\tNcPasswordField,\n\t\tNcDateTimePickerNative,\n\t\tNcCheckboxRadioSwitch,\n\t\tNcLoadingIcon,\n\t\tCloseIcon,\n\t\tCircleIcon,\n\t\tEditIcon,\n\t\tExternalShareAction,\n\t\tLinkIcon,\n\t\tGroupIcon,\n\t\tShareIcon,\n\t\tUserIcon,\n\t\tUploadIcon,\n\t\tViewIcon,\n\t\tMenuDownIcon,\n\t\tMenuUpIcon,\n\t\tDotsHorizontalIcon,\n\t},\n\tmixins: [ShareTypes, ShareRequests, SharesMixin],\n\tprops: {\n\t\tshareRequestValue: {\n\t\t\ttype: Object,\n\t\t\trequired: false,\n\t\t},\n\t\tfileInfo: {\n\t\t\ttype: Object,\n\t\t\trequired: true,\n\t\t},\n\t\tshare: {\n\t\t\ttype: Object,\n\t\t\trequired: true,\n\t\t},\n\t},\n\tdata() {\n\t\treturn {\n\t\t\twriteNoteToRecipientIsChecked: false,\n\t\t\tsharingPermission: BUNDLED_PERMISSIONS.ALL.toString(),\n\t\t\trevertSharingPermission: BUNDLED_PERMISSIONS.ALL.toString(),\n\t\t\tsetCustomPermissions: false,\n\t\t\tpasswordError: false,\n\t\t\tadvancedSectionAccordionExpanded: false,\n\t\t\tbundledPermissions: BUNDLED_PERMISSIONS,\n\t\t\tisFirstComponentLoad: true,\n\t\t\ttest: false,\n\t\t\tcreating: false,\n\n\t\t\tExternalShareActions: OCA.Sharing.ExternalShareActions.state,\n\t\t}\n\t},\n\n\tcomputed: {\n\t\ttitle() {\n\t\t\tswitch (this.share.type) {\n\t\t\tcase this.SHARE_TYPES.SHARE_TYPE_USER:\n\t\t\t\treturn t('files_sharing', 'Share with {userName}', { userName: this.share.shareWithDisplayName })\n\t\t\tcase this.SHARE_TYPES.SHARE_TYPE_EMAIL:\n\t\t\t    return t('files_sharing', 'Share with email {email}', { email: this.share.shareWith })\n\t\t\tcase this.SHARE_TYPES.SHARE_TYPE_LINK:\n\t\t\t\treturn t('files_sharing', 'Share link')\n\t\t\tcase this.SHARE_TYPES.SHARE_TYPE_GROUP:\n\t\t\t\treturn t('files_sharing', 'Share with group')\n\t\t\tcase this.SHARE_TYPES.SHARE_TYPE_ROOM:\n\t\t\t\treturn t('files_sharing', 'Share in conversation')\n\t\t\tcase this.SHARE_TYPES.SHARE_TYPE_REMOTE: {\n\t\t\t\tconst [user, server] = this.share.shareWith.split('@')\n\t\t\t\treturn t('files_sharing', 'Share with {user} on remote server {server}', { user, server })\n\t\t\t}\n\t\t\tcase this.SHARE_TYPES.SHARE_TYPE_REMOTE_GROUP:\n\t\t\t\treturn t('files_sharing', 'Share with remote group')\n\t\t\tcase this.SHARE_TYPES.SHARE_TYPE_GUEST:\n\t\t\t\treturn t('files_sharing', 'Share with guest')\n\t\t\tdefault: {\n\t\t\t        if (this.share.id) {\n\t\t\t\t\t    // Share already exists\n\t\t\t\t\t    return t('files_sharing', 'Update share')\n\t\t\t\t    } else {\n\t\t\t\t\t    return t('files_sharing', 'Create share')\n\t\t\t\t    }\n\t\t\t}\n\t\t\t}\n\t\t},\n\t\t/**\n\t\t * Can the sharee edit the shared file ?\n\t\t */\n\t\tcanEdit: {\n\t\t\tget() {\n\t\t\t\treturn this.share.hasUpdatePermission\n\t\t\t},\n\t\t\tset(checked) {\n\t\t\t\tthis.updateAtomicPermissions({ isEditChecked: checked })\n\t\t\t},\n\t\t},\n\t\t/**\n\t\t * Can the sharee create the shared file ?\n\t\t */\n\t\tcanCreate: {\n\t\t\tget() {\n\t\t\t\treturn this.share.hasCreatePermission\n\t\t\t},\n\t\t\tset(checked) {\n\t\t\t\tthis.updateAtomicPermissions({ isCreateChecked: checked })\n\t\t\t},\n\t\t},\n\t\t/**\n\t\t * Can the sharee delete the shared file ?\n\t\t */\n\t\tcanDelete: {\n\t\t\tget() {\n\t\t\t\treturn this.share.hasDeletePermission\n\t\t\t},\n\t\t\tset(checked) {\n\t\t\t\tthis.updateAtomicPermissions({ isDeleteChecked: checked })\n\t\t\t},\n\t\t},\n\t\t/**\n\t\t * Can the sharee reshare the file ?\n\t\t */\n\t\tcanReshare: {\n\t\t\tget() {\n\t\t\t\treturn this.share.hasSharePermission\n\t\t\t},\n\t\t\tset(checked) {\n\t\t\t\tthis.updateAtomicPermissions({ isReshareChecked: checked })\n\t\t\t},\n\t\t},\n\t\t/**\n\t\t * Can the sharee download files or only view them ?\n\t\t */\n\t\tcanDownload: {\n\t\t\tget() {\n\t\t\t\treturn this.share.attributes.find(attr => attr.key === 'download')?.enabled || false\n\t\t\t},\n\t\t\tset(checked) {\n\t\t\t\t// Find the 'download' attribute and update its value\n\t\t\t\tconst downloadAttr = this.share.attributes.find(attr => attr.key === 'download')\n\t\t\t\tif (downloadAttr) {\n\t\t\t\t\tdownloadAttr.enabled = checked\n\t\t\t\t}\n\t\t\t},\n\t\t},\n\t\t/**\n\t\t * Is this share readable\n\t\t * Needed for some federated shares that might have been added from file drop links\n\t\t */\n\t\thasRead: {\n\t\t\tget() {\n\t\t\t\treturn this.share.hasReadPermission\n\t\t\t},\n\t\t\tset(checked) {\n\t\t\t\tthis.updateAtomicPermissions({ isReadChecked: checked })\n\t\t\t},\n\t\t},\n\t\t/**\n\t\t * Does the current share have an expiration date\n\t\t *\n\t\t * @return {boolean}\n\t\t */\n\t\thasExpirationDate: {\n\t\t\tget() {\n\t\t\t\treturn this.isValidShareAttribute(this.share.expireDate)\n\t\t\t},\n\t\t\tset(enabled) {\n\t\t\t\tthis.share.expireDate = enabled\n\t\t\t\t\t? this.formatDateToString(this.defaultExpiryDate)\n\t\t\t\t\t: ''\n\t\t\t},\n\t\t},\n\t\t/**\n\t\t * Is the current share password protected ?\n\t\t *\n\t\t * @return {boolean}\n\t\t */\n\t\tisPasswordProtected: {\n\t\t\tget() {\n\t\t\t\treturn this.config.enforcePasswordForPublicLink\n\t\t\t\t\t|| !!this.share.password\n\t\t\t},\n\t\t\tasync set(enabled) {\n\t\t\t\tif (enabled) {\n\t\t\t\t\tthis.share.password = await GeneratePassword()\n\t\t\t\t\tthis.$set(this.share, 'newPassword', this.share.password)\n\t\t\t\t} else {\n\t\t\t\t\tthis.share.password = ''\n\t\t\t\t\tthis.$delete(this.share, 'newPassword')\n\t\t\t\t}\n\t\t\t},\n\t\t},\n\t\t/**\n\t\t * Is the current share a folder ?\n\t\t *\n\t\t * @return {boolean}\n\t\t */\n\t\tisFolder() {\n\t\t\treturn this.fileInfo.type === 'dir'\n\t\t},\n\t\t/**\n\t\t * @return {boolean}\n\t\t */\n\t\tisSetDownloadButtonVisible() {\n\t\t\tconst allowedMimetypes = [\n\t\t\t\t// Office documents\n\t\t\t\t'application/msword',\n\t\t\t\t'application/vnd.openxmlformats-officedocument.wordprocessingml.document',\n\t\t\t\t'application/vnd.ms-powerpoint',\n\t\t\t\t'application/vnd.openxmlformats-officedocument.presentationml.presentation',\n\t\t\t\t'application/vnd.ms-excel',\n\t\t\t\t'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet',\n\t\t\t\t'application/vnd.oasis.opendocument.text',\n\t\t\t\t'application/vnd.oasis.opendocument.spreadsheet',\n\t\t\t\t'application/vnd.oasis.opendocument.presentation',\n\t\t\t]\n\n\t\t\treturn this.isFolder || allowedMimetypes.includes(this.fileInfo.mimetype)\n\t\t},\n\t\tisPasswordEnforced() {\n\t\t\treturn this.isPublicShare && this.config.enforcePasswordForPublicLink\n\t\t},\n\t\tdefaultExpiryDate() {\n\t\t\tif ((this.isGroupShare || this.isUserShare) && this.config.isDefaultInternalExpireDateEnabled) {\n\t\t\t\treturn new Date(this.config.defaultInternalExpirationDate)\n\t\t\t} else if (this.isRemoteShare && this.config.isDefaultRemoteExpireDateEnabled) {\n\t\t\t\treturn new Date(this.config.defaultRemoteExpireDateEnabled)\n\t\t\t} else if (this.isPublicShare && this.config.isDefaultExpireDateEnabled) {\n\t\t\t\treturn new Date(this.config.defaultExpirationDate)\n\t\t\t}\n\t\t\treturn new Date(new Date().setDate(new Date().getDate() + 1))\n\t\t},\n\t\tisUserShare() {\n\t\t\treturn this.share.type === this.SHARE_TYPES.SHARE_TYPE_USER\n\t\t},\n\t\tisGroupShare() {\n\t\t\treturn this.share.type === this.SHARE_TYPES.SHARE_TYPE_GROUP\n\t\t},\n\t\tisNewShare() {\n\t\t\treturn !this.share.id\n\t\t},\n\t\tallowsFileDrop() {\n\t\t\tif (this.isFolder && this.config.isPublicUploadEnabled) {\n\t\t\t\tif (this.share.type === this.SHARE_TYPES.SHARE_TYPE_LINK || this.share.type === this.SHARE_TYPES.SHARE_TYPE_EMAIL) {\n\t\t\t\t\treturn true\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn false\n\t\t},\n\t\thasFileDropPermissions() {\n\t\t\treturn this.share.permissions === this.bundledPermissions.FILE_DROP\n\t\t},\n\t\tshareButtonText() {\n\t\t\tif (this.isNewShare) {\n\t\t\t\treturn t('files_sharing', 'Save share')\n\t\t\t}\n\t\t\treturn t('files_sharing', 'Update share')\n\n\t\t},\n\t\t/**\n\t\t * Can the sharer set whether the sharee can edit the file ?\n\t\t *\n\t\t * @return {boolean}\n\t\t */\n\t\tcanSetEdit() {\n\t\t\t// If the owner revoked the permission after the resharer granted it\n\t\t\t// the share still has the permission, and the resharer is still\n\t\t\t// allowed to revoke it too (but not to grant it again).\n\t\t\treturn (this.fileInfo.sharePermissions & OC.PERMISSION_UPDATE) || this.canEdit\n\t\t},\n\n\t\t/**\n\t\t * Can the sharer set whether the sharee can create the file ?\n\t\t *\n\t\t * @return {boolean}\n\t\t */\n\t\tcanSetCreate() {\n\t\t\t// If the owner revoked the permission after the resharer granted it\n\t\t\t// the share still has the permission, and the resharer is still\n\t\t\t// allowed to revoke it too (but not to grant it again).\n\t\t\treturn (this.fileInfo.sharePermissions & OC.PERMISSION_CREATE) || this.canCreate\n\t\t},\n\n\t\t/**\n\t\t * Can the sharer set whether the sharee can delete the file ?\n\t\t *\n\t\t * @return {boolean}\n\t\t */\n\t\tcanSetDelete() {\n\t\t\t// If the owner revoked the permission after the resharer granted it\n\t\t\t// the share still has the permission, and the resharer is still\n\t\t\t// allowed to revoke it too (but not to grant it again).\n\t\t\treturn (this.fileInfo.sharePermissions & OC.PERMISSION_DELETE) || this.canDelete\n\t\t},\n\t\t/**\n\t\t * Can the sharer set whether the sharee can reshare the file ?\n\t\t *\n\t\t * @return {boolean}\n\t\t */\n\t\tcanSetReshare() {\n\t\t\t// If the owner revoked the permission after the resharer granted it\n\t\t\t// the share still has the permission, and the resharer is still\n\t\t\t// allowed to revoke it too (but not to grant it again).\n\t\t\treturn (this.fileInfo.sharePermissions & OC.PERMISSION_SHARE) || this.canReshare\n\t\t},\n\t\t/**\n\t\t * Can the sharer set whether the sharee can download the file ?\n\t\t *\n\t\t * @return {boolean}\n\t\t */\n\t\tcanSetDownload() {\n\t\t\t// If the owner revoked the permission after the resharer granted it\n\t\t\t// the share still has the permission, and the resharer is still\n\t\t\t// allowed to revoke it too (but not to grant it again).\n\t\t\treturn (this.fileInfo.canDownload() || this.canDownload)\n\t\t},\n\t\t// if newPassword exists, but is empty, it means\n\t\t// the user deleted the original password\n\t\thasUnsavedPassword() {\n\t\t\treturn this.share.newPassword !== undefined\n\t\t},\n\t\tpasswordExpirationTime() {\n\t\t\tif (!this.isValidShareAttribute(this.share.passwordExpirationTime)) {\n\t\t\t\treturn null\n\t\t\t}\n\n\t\t\tconst expirationTime = moment(this.share.passwordExpirationTime)\n\n\t\t\tif (expirationTime.diff(moment()) < 0) {\n\t\t\t\treturn false\n\t\t\t}\n\n\t\t\treturn expirationTime.fromNow()\n\t\t},\n\n\t\t/**\n\t\t * Is Talk enabled?\n\t\t *\n\t\t * @return {boolean}\n\t\t */\n\t\tisTalkEnabled() {\n\t\t\treturn OC.appswebroots.spreed !== undefined\n\t\t},\n\n\t\t/**\n\t\t * Is it possible to protect the password by Talk?\n\t\t *\n\t\t * @return {boolean}\n\t\t */\n\t\tisPasswordProtectedByTalkAvailable() {\n\t\t\treturn this.isPasswordProtected && this.isTalkEnabled\n\t\t},\n\t\t/**\n\t\t * Is the current share password protected by Talk?\n\t\t *\n\t\t * @return {boolean}\n\t\t */\n\t\tisPasswordProtectedByTalk: {\n\t\t\tget() {\n\t\t\t\treturn this.share.sendPasswordByTalk\n\t\t\t},\n\t\t\tasync set(enabled) {\n\t\t\t\tthis.share.sendPasswordByTalk = enabled\n\t\t\t},\n\t\t},\n\t\t/**\n\t\t * Is the current share an email share ?\n\t\t *\n\t\t * @return {boolean}\n\t\t */\n\t\tisEmailShareType() {\n\t\t\treturn this.share\n\t\t\t\t? this.share.type === this.SHARE_TYPES.SHARE_TYPE_EMAIL\n\t\t\t\t: false\n\t\t},\n\t\tcanTogglePasswordProtectedByTalkAvailable() {\n\t\t\tif (!this.isPublicShare || !this.isPasswordProtected) {\n\t\t\t\t// Makes no sense\n\t\t\t\treturn false\n\t\t\t} else if (this.isEmailShareType && !this.hasUnsavedPassword) {\n\t\t\t\t// For email shares we need a new password in order to enable or\n\t\t\t\t// disable\n\t\t\t\treturn false\n\t\t\t}\n\n\t\t\t// Is Talk enabled?\n\t\t\treturn OC.appswebroots.spreed !== undefined\n\t\t},\n\t\tcanChangeHideDownload() {\n\t\t\tconst hasDisabledDownload = (shareAttribute) => shareAttribute.key === 'download' && shareAttribute.scope === 'permissions' && shareAttribute.enabled === false\n\t\t\treturn this.fileInfo.shareAttributes.some(hasDisabledDownload)\n\t\t},\n\t\tcustomPermissionsList() {\n\t\t\t// Key order will be different, because ATOMIC_PERMISSIONS are numbers\n\t\t\tconst translatedPermissions = {\n\t\t\t\t[ATOMIC_PERMISSIONS.READ]: this.t('files_sharing', 'Read'),\n\t\t\t\t[ATOMIC_PERMISSIONS.CREATE]: this.t('files_sharing', 'Create'),\n\t\t\t\t[ATOMIC_PERMISSIONS.UPDATE]: this.t('files_sharing', 'Edit'),\n\t\t\t\t[ATOMIC_PERMISSIONS.SHARE]: this.t('files_sharing', 'Share'),\n\t\t\t\t[ATOMIC_PERMISSIONS.DELETE]: this.t('files_sharing', 'Delete'),\n\t\t\t}\n\n\t\t\treturn [ATOMIC_PERMISSIONS.READ, ATOMIC_PERMISSIONS.CREATE, ATOMIC_PERMISSIONS.UPDATE, ATOMIC_PERMISSIONS.SHARE, ATOMIC_PERMISSIONS.DELETE]\n\t\t\t\t.filter((permission) => hasPermissions(this.share.permissions, permission))\n\t\t\t\t.map((permission, index) => index === 0\n\t\t\t\t\t? translatedPermissions[permission]\n\t\t\t\t\t: translatedPermissions[permission].toLocaleLowerCase(getLanguage()))\n\t\t\t\t.join(', ')\n\t\t},\n\t\tadvancedControlExpandedValue() {\n\t\t\treturn this.advancedSectionAccordionExpanded ? 'true' : 'false'\n\t\t},\n\t\terrorPasswordLabel() {\n\t\t\tif (this.passwordError) {\n\t\t\t\treturn t('files_sharing', \"Password field can't be empty\")\n\t\t\t}\n\t\t\treturn undefined\n\t\t},\n\n\t\t/**\n\t\t * Additional actions for the menu\n\t\t *\n\t\t * @return {Array}\n\t\t */\n\t\texternalLinkActions() {\n\t\t\tconst filterValidAction = (action) => (action.shareType.includes(ShareType.SHARE_TYPE_LINK) || action.shareType.includes(ShareType.SHARE_TYPE_EMAIL)) && action.advanced\n\t\t\t// filter only the advanced registered actions for said link\n\t\t\treturn this.ExternalShareActions.actions\n\t\t\t\t.filter(filterValidAction)\n\t\t},\n\t},\n\twatch: {\n\t\tsetCustomPermissions(isChecked) {\n\t\t\tif (isChecked) {\n\t\t\t\tthis.sharingPermission = 'custom'\n\t\t\t} else {\n\t\t\t\tthis.sharingPermission = this.revertSharingPermission\n\t\t\t}\n\t\t},\n\t},\n\tbeforeMount() {\n\t\tthis.initializePermissions()\n\t\tthis.initializeAttributes()\n\t\tconsole.debug('shareSentIn', this.share)\n\t\tconsole.debug('config', this.config)\n\t},\n\n\tmounted() {\n\t\tthis.$refs.quickPermissions?.querySelector('input:checked')?.focus()\n\t},\n\n\tmethods: {\n\t\tupdateAtomicPermissions({\n\t\t\tisReadChecked = this.hasRead,\n\t\t\tisEditChecked = this.canEdit,\n\t\t\tisCreateChecked = this.canCreate,\n\t\t\tisDeleteChecked = this.canDelete,\n\t\t\tisReshareChecked = this.canReshare,\n\t\t} = {}) {\n\t\t\t// calc permissions if checked\n\t\t\tconst permissions = 0\n\t\t\t\t| (isReadChecked ? ATOMIC_PERMISSIONS.READ : 0)\n\t\t\t\t| (isCreateChecked ? ATOMIC_PERMISSIONS.CREATE : 0)\n\t\t\t\t| (isDeleteChecked ? ATOMIC_PERMISSIONS.DELETE : 0)\n\t\t\t\t| (isEditChecked ? ATOMIC_PERMISSIONS.UPDATE : 0)\n\t\t\t\t| (isReshareChecked ? ATOMIC_PERMISSIONS.SHARE : 0)\n\t\t\tthis.share.permissions = permissions\n\t\t},\n\t\texpandCustomPermissions() {\n\t\t\tif (!this.advancedSectionAccordionExpanded) {\n\t\t\t\tthis.advancedSectionAccordionExpanded = true\n\t\t\t}\n\t\t\tthis.toggleCustomPermissions()\n\t\t},\n\t\ttoggleCustomPermissions(selectedPermission) {\n\t\t\tconst isCustomPermissions = this.sharingPermission === 'custom'\n\t\t\tthis.revertSharingPermission = !isCustomPermissions ? selectedPermission : 'custom'\n\t\t\tthis.setCustomPermissions = isCustomPermissions\n\t\t},\n\t\tasync initializeAttributes() {\n\n\t\t\tif (this.isNewShare) {\n\t\t\t\tif (this.isPasswordEnforced && this.isPublicShare) {\n\t\t\t\t\tthis.$set(this.share, 'newPassword', await GeneratePassword())\n\t\t\t\t\tthis.advancedSectionAccordionExpanded = true\n\t\t\t\t}\n\t\t\t\t/* Set default expiration dates if configured */\n\t\t\t\tif (this.isPublicShare && this.config.isDefaultExpireDateEnabled) {\n\t\t\t\t\tthis.share.expireDate = this.config.defaultExpirationDate.toDateString()\n\t\t\t\t} else if (this.isRemoteShare && this.config.isDefaultRemoteExpireDateEnabled) {\n\t\t\t\t\tthis.share.expireDate = this.config.defaultRemoteExpirationDateString.toDateString()\n\t\t\t\t} else if (this.config.isDefaultInternalExpireDateEnabled) {\n\t\t\t\t\tthis.share.expireDate = this.config.defaultInternalExpirationDate.toDateString()\n\t\t\t\t}\n\n\t\t\t\tif (this.isValidShareAttribute(this.share.expireDate)) {\n\t\t\t\t\tthis.advancedSectionAccordionExpanded = true\n\t\t\t\t}\n\n\t\t\t\treturn\n\t\t\t}\n\n\t\t\t// If there is an enforced expiry date, then existing shares created before enforcement\n\t\t\t// have no expiry date, hence we set it here.\n\t\t\tif (!this.isValidShareAttribute(this.share.expireDate) && this.isExpiryDateEnforced) {\n\t\t\t\tthis.hasExpirationDate = true\n\t\t\t}\n\n\t\t\tif (\n\t\t\t\tthis.isValidShareAttribute(this.share.password)\n\t\t\t\t|| this.isValidShareAttribute(this.share.expireDate)\n\t\t\t\t|| this.isValidShareAttribute(this.share.label)\n\t\t\t) {\n\t\t\t\tthis.advancedSectionAccordionExpanded = true\n\t\t\t}\n\n\t\t},\n\t\thandleShareType() {\n\t\t\tif ('shareType' in this.share) {\n\t\t\t\tthis.share.type = this.share.shareType\n\t\t\t} else if (this.share.share_type) {\n\t\t\t\tthis.share.type = this.share.share_type\n\t\t\t}\n\t\t},\n\t\thandleDefaultPermissions() {\n\t\t\tif (this.isNewShare) {\n\t\t\t\tconst defaultPermissions = this.config.defaultPermissions\n\t\t\t\tif (defaultPermissions === BUNDLED_PERMISSIONS.READ_ONLY || defaultPermissions === BUNDLED_PERMISSIONS.ALL) {\n\t\t\t\t\tthis.sharingPermission = defaultPermissions.toString()\n\t\t\t\t} else {\n\t\t\t\t\tthis.sharingPermission = 'custom'\n\t\t\t\t\tthis.share.permissions = defaultPermissions\n\t\t\t\t\tthis.advancedSectionAccordionExpanded = true\n\t\t\t\t\tthis.setCustomPermissions = true\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t\thandleCustomPermissions() {\n\t\t\tif (!this.isNewShare && (this.hasCustomPermissions || this.share.setCustomPermissions)) {\n\t\t\t\tthis.sharingPermission = 'custom'\n\t\t\t\tthis.advancedSectionAccordionExpanded = true\n\t\t\t\tthis.setCustomPermissions = true\n\t\t\t} else if (this.share.permissions) {\n\t\t\t\tthis.sharingPermission = this.share.permissions.toString()\n\t\t\t}\n\t\t},\n\t\tinitializePermissions() {\n\t\t\tthis.handleShareType()\n\t\t\tthis.handleDefaultPermissions()\n\t\t\tthis.handleCustomPermissions()\n\t\t},\n\t\tasync saveShare() {\n\t\t\tconst permissionsAndAttributes = ['permissions', 'attributes', 'note', 'expireDate']\n\t\t\tconst publicShareAttributes = ['label', 'password', 'hideDownload']\n\t\t\tif (this.isPublicShare) {\n\t\t\t\tpermissionsAndAttributes.push(...publicShareAttributes)\n\t\t\t}\n\t\t\tconst sharePermissionsSet = parseInt(this.sharingPermission)\n\t\t\tif (this.setCustomPermissions) {\n\t\t\t\tthis.updateAtomicPermissions()\n\t\t\t} else {\n\t\t\t\tthis.share.permissions = sharePermissionsSet\n\t\t\t}\n\n\t\t\tif (!this.isFolder && this.share.permissions === BUNDLED_PERMISSIONS.ALL) {\n\t\t\t\t// It's not possible to create an existing file.\n\t\t\t\tthis.share.permissions = BUNDLED_PERMISSIONS.ALL_FILE\n\t\t\t}\n\t\t\tif (!this.writeNoteToRecipientIsChecked) {\n\t\t\t\tthis.share.note = ''\n\t\t\t}\n\t\t\tif (this.isPasswordProtected) {\n\t\t\t\tif (this.hasUnsavedPassword && this.isValidShareAttribute(this.share.newPassword)) {\n\t\t\t\t\tthis.share.password = this.share.newPassword\n\t\t\t\t\tthis.$delete(this.share, 'newPassword')\n\t\t\t\t} else if (this.isPasswordEnforced && !this.isValidShareAttribute(this.share.password)) {\n\t\t\t\t\tthis.passwordError = true\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tthis.share.password = ''\n\t\t\t}\n\n\t\t\tif (!this.hasExpirationDate) {\n\t\t\t\tthis.share.expireDate = ''\n\t\t\t}\n\n\t\t\tif (this.isNewShare) {\n\t\t\t\tconst incomingShare = {\n\t\t\t\t\tpermissions: this.share.permissions,\n\t\t\t\t\tshareType: this.share.type,\n\t\t\t\t\tshareWith: this.share.shareWith,\n\t\t\t\t\tattributes: this.share.attributes,\n\t\t\t\t\tnote: this.share.note,\n\t\t\t\t\tfileInfo: this.fileInfo,\n\t\t\t\t}\n\n\t\t\t\tincomingShare.expireDate = this.hasExpirationDate ? this.share.expireDate : ''\n\n\t\t\t\tif (this.isPasswordProtected) {\n\t\t\t\t\tincomingShare.password = this.share.password\n\t\t\t\t}\n\n\t\t\t\tthis.creating = true\n\t\t\t\tconst share = await this.addShare(incomingShare, this.fileInfo)\n\t\t\t\tthis.creating = false\n\t\t\t\tthis.share = share\n\t\t\t\tthis.$emit('add:share', this.share)\n\t\t\t} else {\n\t\t\t\tthis.queueUpdate(...permissionsAndAttributes)\n\t\t\t}\n\n\t\t\tif (this.$refs.externalLinkActions?.length > 0) {\n\t\t\t\tawait Promise.allSettled(this.$refs.externalLinkActions.map((action) => {\n\t\t\t\t\tif (typeof action.$children.at(0)?.onSave !== 'function') {\n\t\t\t\t\t\treturn Promise.resolve()\n\t\t\t\t\t}\n\t\t\t\t\treturn action.$children.at(0)?.onSave?.()\n\t\t\t\t}))\n\t\t\t}\n\n\t\t\tthis.$emit('close-sharing-details')\n\t\t},\n\t\t/**\n\t\t * Process the new share request\n\t\t *\n\t\t * @param {Share} share incoming share object\n\t\t * @param {object} fileInfo file data\n\t\t */\n\t\tasync addShare(share, fileInfo) {\n\t\t\tconsole.debug('Adding a new share from the input for', share)\n\t\t\ttry {\n\t\t\t\tconst path = (fileInfo.path + '/' + fileInfo.name).replace('//', '/')\n\t\t\t\tconst resultingShare = await this.createShare({\n\t\t\t\t\tpath,\n\t\t\t\t\tshareType: share.shareType,\n\t\t\t\t\tshareWith: share.shareWith,\n\t\t\t\t\tpermissions: share.permissions,\n\t\t\t\t\texpireDate: share.expireDate,\n\t\t\t\t\tattributes: JSON.stringify(share.attributes),\n\t\t\t\t\t...(share.note ? { note: share.note } : {}),\n\t\t\t\t\t...(share.password ? { password: share.password } : {}),\n\t\t\t\t})\n\t\t\t\treturn resultingShare\n\t\t\t} catch (error) {\n\t\t\t\tconsole.error('Error while adding new share', error)\n\t\t\t} finally {\n\t\t\t\t// this.loading = false // No loader here yet\n\t\t\t}\n\t\t},\n\t\tasync removeShare() {\n\t\t\tawait this.onDelete()\n\t\t\tthis.$emit('close-sharing-details')\n\t\t},\n\t\t/**\n\t\t * Update newPassword values\n\t\t * of share. If password is set but not newPassword\n\t\t * then the user did not changed the password\n\t\t * If both co-exists, the password have changed and\n\t\t * we show it in plain text.\n\t\t * Then on submit (or menu close), we sync it.\n\t\t *\n\t\t * @param {string} password the changed password\n\t\t */\n\t\tonPasswordChange(password) {\n\t\t\tthis.passwordError = !this.isValidShareAttribute(password)\n\t\t\tthis.$set(this.share, 'newPassword', password)\n\t\t},\n\t\t/**\n\t\t * Update the password along with \"sendPasswordByTalk\".\n\t\t *\n\t\t * If the password was modified the new password is sent; otherwise\n\t\t * updating a mail share would fail, as in that case it is required that\n\t\t * a new password is set when enabling or disabling\n\t\t * \"sendPasswordByTalk\".\n\t\t */\n\t\tonPasswordProtectedByTalkChange() {\n\t\t\tif (this.hasUnsavedPassword) {\n\t\t\t\tthis.share.password = this.share.newPassword.trim()\n\t\t\t}\n\n\t\t\tthis.queueUpdate('sendPasswordByTalk', 'password')\n\t\t},\n\t\tisValidShareAttribute(value) {\n\t\t\tif ([null, undefined].includes(value)) {\n\t\t\t\treturn false\n\t\t\t}\n\n\t\t\tif (!(value.trim().length > 0)) {\n\t\t\t\treturn false\n\t\t\t}\n\n\t\t\treturn true\n\t\t},\n\t\tgetShareTypeIcon(type) {\n\t\t\tswitch (type) {\n\t\t\tcase this.SHARE_TYPES.SHARE_TYPE_LINK:\n\t\t\t\treturn LinkIcon\n\t\t\tcase this.SHARE_TYPES.SHARE_TYPE_GUEST:\n\t\t\t\treturn UserIcon\n\t\t\tcase this.SHARE_TYPES.SHARE_TYPE_REMOTE_GROUP:\n\t\t\tcase this.SHARE_TYPES.SHARE_TYPE_GROUP:\n\t\t\t\treturn GroupIcon\n\t\t\tcase this.SHARE_TYPES.SHARE_TYPE_EMAIL:\n\t\t\t\treturn EmailIcon\n\t\t\tcase this.SHARE_TYPES.SHARE_TYPE_CIRCLE:\n\t\t\t\treturn CircleIcon\n\t\t\tcase this.SHARE_TYPES.SHARE_TYPE_ROOM:\n\t\t\t\treturn ShareIcon\n\t\t\tcase this.SHARE_TYPES.SHARE_TYPE_DECK:\n\t\t\t\treturn ShareIcon\n\t\t\tcase this.SHARE_TYPES.SHARE_TYPE_SCIENCEMESH:\n\t\t\t\treturn ShareIcon\n\t\t\tdefault:\n\t\t\t\treturn null // Or a default icon component if needed\n\t\t\t}\n\t\t},\n\t},\n}\n</script>\n\n<style lang=\"scss\" scoped>\n.sharingTabDetailsView {\n\tdisplay: flex;\n\tflex-direction: column;\n\twidth: 100%;\n\tmargin: 0 auto;\n\tposition: relative;\n\theight: 100%;\n\toverflow: hidden;\n\n\t&__header {\n\t\tdisplay: flex;\n\t\talign-items: center;\n\t\tbox-sizing: border-box;\n\t\tmargin: 0.2em;\n\n\t\tspan {\n\t\t\tdisplay: flex;\n\t\t\talign-items: center;\n\n\t\t\th1 {\n\t\t\t\tfont-size: 15px;\n\t\t\t\tpadding-left: 0.3em;\n\t\t\t}\n\n\t\t}\n\t}\n\n\t&__wrapper {\n\t\tposition: relative;\n\t\toverflow: scroll;\n\t\tflex-shrink: 1;\n\t\tpadding: 4px;\n\t\tpadding-right: 12px;\n\t}\n\n\t&__quick-permissions {\n\t\tdisplay: flex;\n\t\tjustify-content: center;\n\t\twidth: 100%;\n\t\tmargin: 0 auto;\n\t\tborder-radius: 0;\n\n\t\tdiv {\n\t\t\twidth: 100%;\n\n\t\t\tspan {\n\t\t\t\twidth: 100%;\n\n\t\t\t\tspan:nth-child(1) {\n\t\t\t\t\talign-items: center;\n\t\t\t\t\tjustify-content: center;\n\t\t\t\t\tpadding: 0.1em;\n\t\t\t\t}\n\n\t\t\t\t::v-deep label {\n\n\t\t\t\t\tspan {\n\t\t\t\t\t\tdisplay: flex;\n\t\t\t\t\t\tflex-direction: column;\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\t/* Target component based style in NcCheckboxRadioSwitch slot content*/\n\t\t\t\t:deep(span.checkbox-content__text.checkbox-radio-switch__text) {\n\t\t\t\t\tflex-wrap: wrap;\n\n\t\t\t\t\t.subline {\n\t\t\t\t\t\tdisplay: block;\n\t\t\t\t\t\tflex-basis: 100%;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\n\t\t}\n\t}\n\n\t&__advanced-control {\n\t\twidth: 100%;\n\n\t\tbutton {\n\t\t\tmargin-top: 0.5em;\n\t\t}\n\n\t}\n\n\t&__advanced {\n\t\twidth: 100%;\n\t\tmargin-bottom: 0.5em;\n\t\ttext-align: left;\n\t\tpadding-left: 0;\n\n\t\tsection {\n\n\t\t\ttextarea,\n\t\t\tdiv.mx-datepicker {\n\t\t\t\twidth: 100%;\n\t\t\t}\n\n\t\t\ttextarea {\n\t\t\t\theight: 80px;\n\t\t\t\tmargin: 0;\n\t\t\t}\n\n\t\t\t/*\n              The following style is applied out of the component's scope\n              to remove padding from the label.checkbox-radio-switch__label,\n              which is used to group radio checkbox items. The use of ::v-deep\n              ensures that the padding is modified without being affected by\n              the component's scoping.\n              Without this achieving left alignment for the checkboxes would not\n              be possible.\n            */\n\t\t\tspan {\n\t\t\t\t::v-deep label {\n\t\t\t\t\tpadding-left: 0 !important;\n\t\t\t\t\tbackground-color: initial !important;\n\t\t\t\t\tborder: none !important;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tsection.custom-permissions-group {\n\t\t\t\tpadding-left: 1.5em;\n\t\t\t}\n\t\t}\n\t}\n\n\t&__delete {\n\t\t>button:first-child {\n\t\t\tcolor: rgb(223, 7, 7);\n\t\t}\n\t}\n\n\t&__footer {\n\t\twidth: 100%;\n\t\tdisplay: flex;\n\t\tposition: sticky;\n\t\tbottom: 0;\n\t\tflex-direction: column;\n\t\tjustify-content: space-between;\n\t\talign-items: flex-start;\n\t\tbackground: linear-gradient(to bottom, rgba(255, 255, 255, 0), var(--color-main-background));\n\n\t\t.button-group {\n\t\t\tdisplay: flex;\n\t\t\tjustify-content: space-between;\n\t\t\twidth: 100%;\n\t\t\tmargin-top: 16px;\n\n\t\t\tbutton {\n\t\t\t\tmargin-left: 16px;\n\n\t\t\t\t&:first-child {\n\t\t\t\t\tmargin-left: 0;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n}\n</style>\n","import mod from \"-!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SharingDetailsTab.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SharingDetailsTab.vue?vue&type=script&lang=js\"","\n      import API from \"!../../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n      import domAPI from \"!../../../../node_modules/style-loader/dist/runtime/styleDomAPI.js\";\n      import insertFn from \"!../../../../node_modules/style-loader/dist/runtime/insertBySelector.js\";\n      import setAttributes from \"!../../../../node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js\";\n      import insertStyleElement from \"!../../../../node_modules/style-loader/dist/runtime/insertStyleElement.js\";\n      import styleTagTransformFn from \"!../../../../node_modules/style-loader/dist/runtime/styleTagTransform.js\";\n      import content, * as namedExport from \"!!../../../../node_modules/css-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/sass-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SharingDetailsTab.vue?vue&type=style&index=0&id=939d3a94&prod&lang=scss&scoped=true\";\n      \n      \n\nvar options = {};\n\noptions.styleTagTransform = styleTagTransformFn;\noptions.setAttributes = setAttributes;\n\n      options.insert = insertFn.bind(null, \"head\");\n    \noptions.domAPI = domAPI;\noptions.insertStyleElement = insertStyleElement;\n\nvar update = API(content, options);\n\n\n\nexport * from \"!!../../../../node_modules/css-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/sass-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SharingDetailsTab.vue?vue&type=style&index=0&id=939d3a94&prod&lang=scss&scoped=true\";\n       export default content && content.locals ? content.locals : undefined;\n","import { render, staticRenderFns } from \"./SharingDetailsTab.vue?vue&type=template&id=939d3a94&scoped=true\"\nimport script from \"./SharingDetailsTab.vue?vue&type=script&lang=js\"\nexport * from \"./SharingDetailsTab.vue?vue&type=script&lang=js\"\nimport style0 from \"./SharingDetailsTab.vue?vue&type=style&index=0&id=939d3a94&prod&lang=scss&scoped=true\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n  script,\n  render,\n  staticRenderFns,\n  false,\n  null,\n  \"939d3a94\",\n  null\n  \n)\n\nexport default component.exports","<!--\n  - @copyright Copyright (c) 2019 John Molakvoæ <skjnldsv@protonmail.com>\n  -\n  - @author John Molakvoæ <skjnldsv@protonmail.com>\n  -\n  - @license GNU AGPL version 3 or any later version\n  -\n  - This program is free software: you can redistribute it and/or modify\n  - it under the terms of the GNU Affero General Public License as\n  - published by the Free Software Foundation, either version 3 of the\n  - License, or (at your option) any later version.\n  -\n  - This program is distributed in the hope that it will be useful,\n  - but WITHOUT ANY WARRANTY; without even the implied warranty of\n  - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\n  - GNU Affero General Public License for more details.\n  -\n  - You should have received a copy of the GNU Affero General Public License\n  - along with this program. If not, see <http://www.gnu.org/licenses/>.\n  -\n  -->\n\n<template>\n\t<div class=\"sharingTab\" :class=\"{ 'icon-loading': loading }\">\n\t\t<!-- error message -->\n\t\t<div v-if=\"error\" class=\"emptycontent\" :class=\"{ emptyContentWithSections: sections.length > 0 }\">\n\t\t\t<div class=\"icon icon-error\" />\n\t\t\t<h2>{{ error }}</h2>\n\t\t</div>\n\n\t\t<!-- shares content -->\n\t\t<div v-show=\"!showSharingDetailsView\"\n\t\t\tclass=\"sharingTab__content\">\n\t\t\t<!-- shared with me information -->\n\t\t\t<ul>\n\t\t\t\t<SharingEntrySimple v-if=\"isSharedWithMe\" v-bind=\"sharedWithMe\" class=\"sharing-entry__reshare\">\n\t\t\t\t\t<template #avatar>\n\t\t\t\t\t\t<NcAvatar :user=\"sharedWithMe.user\"\n\t\t\t\t\t\t\t:display-name=\"sharedWithMe.displayName\"\n\t\t\t\t\t\t\tclass=\"sharing-entry__avatar\" />\n\t\t\t\t\t</template>\n\t\t\t\t</SharingEntrySimple>\n\t\t\t</ul>\n\n\t\t\t<!-- add new share input -->\n\t\t\t<SharingInput v-if=\"!loading\"\n\t\t\t\t:can-reshare=\"canReshare\"\n\t\t\t\t:file-info=\"fileInfo\"\n\t\t\t\t:link-shares=\"linkShares\"\n\t\t\t\t:reshare=\"reshare\"\n\t\t\t\t:shares=\"shares\"\n\t\t\t\t@open-sharing-details=\"toggleShareDetailsView\" />\n\n\t\t\t<!-- link shares list -->\n\t\t\t<SharingLinkList v-if=\"!loading\"\n\t\t\t\tref=\"linkShareList\"\n\t\t\t\t:can-reshare=\"canReshare\"\n\t\t\t\t:file-info=\"fileInfo\"\n\t\t\t\t:shares=\"linkShares\"\n\t\t\t\t@open-sharing-details=\"toggleShareDetailsView\" />\n\n\t\t\t<!-- other shares list -->\n\t\t\t<SharingList v-if=\"!loading\"\n\t\t\t\tref=\"shareList\"\n\t\t\t\t:shares=\"shares\"\n\t\t\t\t:file-info=\"fileInfo\"\n\t\t\t\t@open-sharing-details=\"toggleShareDetailsView\" />\n\n\t\t\t<!-- inherited shares -->\n\t\t\t<SharingInherited v-if=\"canReshare && !loading\" :file-info=\"fileInfo\" />\n\n\t\t\t<!-- internal link copy -->\n\t\t\t<SharingEntryInternal :file-info=\"fileInfo\" />\n\n\t\t\t<!-- projects -->\n\t\t\t<CollectionList v-if=\"projectsEnabled && fileInfo\"\n\t\t\t\t:id=\"`${fileInfo.id}`\"\n\t\t\t\ttype=\"file\"\n\t\t\t\t:name=\"fileInfo.name\" />\n\t\t</div>\n\n\t\t<!-- additional entries, use it with cautious -->\n\t\t<div v-for=\"(section, index) in sections\"\n\t\t\tv-show=\"!showSharingDetailsView\"\n\t\t\t:ref=\"'section-' + index\"\n\t\t\t:key=\"index\"\n\t\t\tclass=\"sharingTab__additionalContent\">\n\t\t\t<component :is=\"section($refs['section-'+index], fileInfo)\" :file-info=\"fileInfo\" />\n\t\t</div>\n\n\t\t<!-- share details -->\n\t\t<SharingDetailsTab v-if=\"showSharingDetailsView\"\n\t\t\t:file-info=\"shareDetailsData.fileInfo\"\n\t\t\t:share=\"shareDetailsData.share\"\n\t\t\t@close-sharing-details=\"toggleShareDetailsView\"\n\t\t\t@add:share=\"addShare\"\n\t\t\t@remove:share=\"removeShare\" />\n\t</div>\n</template>\n\n<script>\nimport { CollectionList } from 'nextcloud-vue-collections'\nimport { generateOcsUrl } from '@nextcloud/router'\nimport NcAvatar from '@nextcloud/vue/dist/Components/NcAvatar.js'\nimport axios from '@nextcloud/axios'\nimport { loadState } from '@nextcloud/initial-state'\n\nimport Config from '../services/ConfigService.js'\nimport { shareWithTitle } from '../utils/SharedWithMe.js'\nimport Share from '../models/Share.js'\nimport ShareTypes from '../mixins/ShareTypes.js'\nimport SharingEntryInternal from '../components/SharingEntryInternal.vue'\nimport SharingEntrySimple from '../components/SharingEntrySimple.vue'\nimport SharingInput from '../components/SharingInput.vue'\n\nimport SharingInherited from './SharingInherited.vue'\nimport SharingLinkList from './SharingLinkList.vue'\nimport SharingList from './SharingList.vue'\nimport SharingDetailsTab from './SharingDetailsTab.vue'\n\nexport default {\n\tname: 'SharingTab',\n\n\tcomponents: {\n\t\tNcAvatar,\n\t\tCollectionList,\n\t\tSharingEntryInternal,\n\t\tSharingEntrySimple,\n\t\tSharingInherited,\n\t\tSharingInput,\n\t\tSharingLinkList,\n\t\tSharingList,\n\t\tSharingDetailsTab,\n\t},\n\n\tmixins: [ShareTypes],\n\n\tdata() {\n\t\treturn {\n\t\t\tconfig: new Config(),\n\t\t\tdeleteEvent: null,\n\t\t\terror: '',\n\t\t\texpirationInterval: null,\n\t\t\tloading: true,\n\n\t\t\tfileInfo: null,\n\n\t\t\t// reshare Share object\n\t\t\treshare: null,\n\t\t\tsharedWithMe: {},\n\t\t\tshares: [],\n\t\t\tlinkShares: [],\n\n\t\t\tsections: OCA.Sharing.ShareTabSections.getSections(),\n\t\t\tprojectsEnabled: loadState('core', 'projects_enabled', false),\n\t\t\tshowSharingDetailsView: false,\n\t\t\tshareDetailsData: {},\n\t\t\treturnFocusElement: null,\n\t\t}\n\t},\n\n\tcomputed: {\n\t\t/**\n\t\t * Is this share shared with me?\n\t\t *\n\t\t * @return {boolean}\n\t\t */\n\t\tisSharedWithMe() {\n\t\t\treturn Object.keys(this.sharedWithMe).length > 0\n\t\t},\n\n\t\tcanReshare() {\n\t\t\treturn !!(this.fileInfo.permissions & OC.PERMISSION_SHARE)\n\t\t\t\t|| !!(this.reshare && this.reshare.hasSharePermission && this.config.isResharingAllowed)\n\t\t},\n\t},\n\n\tmethods: {\n\t\t/**\n\t\t * Update current fileInfo and fetch new data\n\t\t *\n\t\t * @param {object} fileInfo the current file FileInfo\n\t\t */\n\t\tasync update(fileInfo) {\n\t\t\tthis.fileInfo = fileInfo\n\t\t\tthis.resetState()\n\t\t\tthis.getShares()\n\t\t},\n\n\t\t/**\n\t\t * Get the existing shares infos\n\t\t */\n\t\tasync getShares() {\n\t\t\ttry {\n\t\t\t\tthis.loading = true\n\n\t\t\t\t// init params\n\t\t\t\tconst shareUrl = generateOcsUrl('apps/files_sharing/api/v1/shares')\n\t\t\t\tconst format = 'json'\n\t\t\t\t// TODO: replace with proper getFUllpath implementation of our own FileInfo model\n\t\t\t\tconst path = (this.fileInfo.path + '/' + this.fileInfo.name).replace('//', '/')\n\n\t\t\t\t// fetch shares\n\t\t\t\tconst fetchShares = axios.get(shareUrl, {\n\t\t\t\t\tparams: {\n\t\t\t\t\t\tformat,\n\t\t\t\t\t\tpath,\n\t\t\t\t\t\treshares: true,\n\t\t\t\t\t},\n\t\t\t\t})\n\t\t\t\tconst fetchSharedWithMe = axios.get(shareUrl, {\n\t\t\t\t\tparams: {\n\t\t\t\t\t\tformat,\n\t\t\t\t\t\tpath,\n\t\t\t\t\t\tshared_with_me: true,\n\t\t\t\t\t},\n\t\t\t\t})\n\n\t\t\t\t// wait for data\n\t\t\t\tconst [shares, sharedWithMe] = await Promise.all([fetchShares, fetchSharedWithMe])\n\t\t\t\tthis.loading = false\n\n\t\t\t\t// process results\n\t\t\t\tthis.processSharedWithMe(sharedWithMe)\n\t\t\t\tthis.processShares(shares)\n\t\t\t} catch (error) {\n\t\t\t\tif (error.response.data?.ocs?.meta?.message) {\n\t\t\t\t\tthis.error = error.response.data.ocs.meta.message\n\t\t\t\t} else {\n\t\t\t\t\tthis.error = t('files_sharing', 'Unable to load the shares list')\n\t\t\t\t}\n\t\t\t\tthis.loading = false\n\t\t\t\tconsole.error('Error loading the shares list', error)\n\t\t\t}\n\t\t},\n\n\t\t/**\n\t\t * Reset the current view to its default state\n\t\t */\n\t\tresetState() {\n\t\t\tclearInterval(this.expirationInterval)\n\t\t\tthis.loading = true\n\t\t\tthis.error = ''\n\t\t\tthis.sharedWithMe = {}\n\t\t\tthis.shares = []\n\t\t\tthis.linkShares = []\n\t\t\tthis.showSharingDetailsView = false\n\t\t\tthis.shareDetailsData = {}\n\t\t},\n\n\t\t/**\n\t\t * Update sharedWithMe.subtitle with the appropriate\n\t\t * expiration time left\n\t\t *\n\t\t * @param {Share} share the sharedWith Share object\n\t\t */\n\t\tupdateExpirationSubtitle(share) {\n\t\t\tconst expiration = moment(share.expireDate).unix()\n\t\t\tthis.$set(this.sharedWithMe, 'subtitle', t('files_sharing', 'Expires {relativetime}', {\n\t\t\t\trelativetime: OC.Util.relativeModifiedDate(expiration * 1000),\n\t\t\t}))\n\n\t\t\t// share have expired\n\t\t\tif (moment().unix() > expiration) {\n\t\t\t\tclearInterval(this.expirationInterval)\n\t\t\t\t// TODO: clear ui if share is expired\n\t\t\t\tthis.$set(this.sharedWithMe, 'subtitle', t('files_sharing', 'this share just expired.'))\n\t\t\t}\n\t\t},\n\n\t\t/**\n\t\t * Process the current shares data\n\t\t * and init shares[]\n\t\t *\n\t\t * @param {object} share the share ocs api request data\n\t\t * @param {object} share.data the request data\n\t\t */\n\t\tprocessShares({ data }) {\n\t\t\tif (data.ocs && data.ocs.data && data.ocs.data.length > 0) {\n\t\t\t\t// create Share objects and sort by newest\n\t\t\t\tconst shares = data.ocs.data\n\t\t\t\t\t.map(share => new Share(share))\n\t\t\t\t\t.sort((a, b) => b.createdTime - a.createdTime)\n\n\t\t\t\tthis.linkShares = shares.filter(share => share.type === this.SHARE_TYPES.SHARE_TYPE_LINK || share.type === this.SHARE_TYPES.SHARE_TYPE_EMAIL)\n\t\t\t\tthis.shares = shares.filter(share => share.type !== this.SHARE_TYPES.SHARE_TYPE_LINK && share.type !== this.SHARE_TYPES.SHARE_TYPE_EMAIL)\n\n\t\t\t\tconsole.debug('Processed', this.linkShares.length, 'link share(s)')\n\t\t\t\tconsole.debug('Processed', this.shares.length, 'share(s)')\n\t\t\t}\n\t\t},\n\n\t\t/**\n\t\t * Process the sharedWithMe share data\n\t\t * and init sharedWithMe\n\t\t *\n\t\t * @param {object} share the share ocs api request data\n\t\t * @param {object} share.data the request data\n\t\t */\n\t\tprocessSharedWithMe({ data }) {\n\t\t\tif (data.ocs && data.ocs.data && data.ocs.data[0]) {\n\t\t\t\tconst share = new Share(data)\n\t\t\t\tconst title = shareWithTitle(share)\n\t\t\t\tconst displayName = share.ownerDisplayName\n\t\t\t\tconst user = share.owner\n\n\t\t\t\tthis.sharedWithMe = {\n\t\t\t\t\tdisplayName,\n\t\t\t\t\ttitle,\n\t\t\t\t\tuser,\n\t\t\t\t}\n\t\t\t\tthis.reshare = share\n\n\t\t\t\t// If we have an expiration date, use it as subtitle\n\t\t\t\t// Refresh the status every 10s and clear if expired\n\t\t\t\tif (share.expireDate && moment(share.expireDate).unix() > moment().unix()) {\n\t\t\t\t\t// first update\n\t\t\t\t\tthis.updateExpirationSubtitle(share)\n\t\t\t\t\t// interval update\n\t\t\t\t\tthis.expirationInterval = setInterval(this.updateExpirationSubtitle, 10000, share)\n\t\t\t\t}\n\t\t\t} else if (this.fileInfo && this.fileInfo.shareOwnerId !== undefined ? this.fileInfo.shareOwnerId !== OC.currentUser : false) {\n\t\t\t\t// Fallback to compare owner and current user.\n\t\t\t\tthis.sharedWithMe = {\n\t\t\t\t\tdisplayName: this.fileInfo.shareOwner,\n\t\t\t\t\ttitle: t(\n\t\t\t\t\t\t'files_sharing',\n\t\t\t\t\t\t'Shared with you by {owner}',\n\t\t\t\t\t\t{ owner: this.fileInfo.shareOwner },\n\t\t\t\t\t\tundefined,\n\t\t\t\t\t\t{ escape: false },\n\t\t\t\t\t),\n\t\t\t\t\tuser: this.fileInfo.shareOwnerId,\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\n\t\t/**\n\t\t * Add a new share into the shares list\n\t\t * and return the newly created share component\n\t\t *\n\t\t * @param {Share} share the share to add to the array\n\t\t * @param {Function} [resolve] a function to run after the share is added and its component initialized\n\t\t */\n\t\taddShare(share, resolve = () => { }) {\n\t\t\t// only catching share type MAIL as link shares are added differently\n\t\t\t// meaning: not from the ShareInput\n\t\t\tif (share.type === this.SHARE_TYPES.SHARE_TYPE_EMAIL) {\n\t\t\t\tthis.linkShares.unshift(share)\n\t\t\t} else {\n\t\t\t\tthis.shares.unshift(share)\n\t\t\t}\n\t\t\tthis.awaitForShare(share, resolve)\n\t\t},\n\t\t/**\n\t\t * Remove a share from the shares list\n\t\t *\n\t\t * @param {Share} share the share to remove\n\t\t */\n\t\tremoveShare(share) {\n\t\t\t// Get reference for this.linkShares or this.shares\n\t\t\tconst shareList\n\t\t\t\t= share.type === this.SHARE_TYPES.SHARE_TYPE_EMAIL\n\t\t\t\t\t|| share.type === this.SHARE_TYPES.SHARE_TYPE_LINK\n\t\t\t\t\t? this.linkShares\n\t\t\t\t\t: this.shares\n\t\t\tconst index = shareList.findIndex(item => item.id === share.id)\n\t\t\tif (index !== -1) {\n\t\t\t\tshareList.splice(index, 1)\n\t\t\t}\n\t\t},\n\t\t/**\n\t\t * Await for next tick and render after the list updated\n\t\t * Then resolve with the matched vue component of the\n\t\t * provided share object\n\t\t *\n\t\t * @param {Share} share newly created share\n\t\t * @param {Function} resolve a function to execute after\n\t\t */\n\t\tawaitForShare(share, resolve) {\n\t\t\tthis.$nextTick(() => {\n\t\t\t\tlet listComponent = this.$refs.shareList\n\t\t\t\t// Only mail shares comes from the input, link shares\n\t\t\t\t// are managed internally in the SharingLinkList component\n\t\t\t\tif (share.type === this.SHARE_TYPES.SHARE_TYPE_EMAIL) {\n\t\t\t\t\tlistComponent = this.$refs.linkShareList\n\t\t\t\t}\n\t\t\t\tconst newShare = listComponent.$children.find(component => component.share === share)\n\t\t\t\tif (newShare) {\n\t\t\t\t\tresolve(newShare)\n\t\t\t\t}\n\t\t\t})\n\t\t},\n\n\t\ttoggleShareDetailsView(eventData) {\n\t\t\tif (!this.showSharingDetailsView) {\n\t\t\t\tconst isAction = Array.from(document.activeElement.classList)\n\t\t\t\t\t.some(className => className.startsWith('action-'))\n\t\t\t\tif (isAction) {\n\t\t\t\t\tconst menuId = document.activeElement.closest('[role=\"menu\"]')?.id\n\t\t\t\t\tthis.returnFocusElement = document.querySelector(`[aria-controls=\"${menuId}\"]`)\n\t\t\t\t} else {\n\t\t\t\t\tthis.returnFocusElement = document.activeElement\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tif (eventData) {\n\t\t\t\tthis.shareDetailsData = eventData\n\t\t\t}\n\n\t\t\tthis.showSharingDetailsView = !this.showSharingDetailsView\n\n\t\t\tif (!this.showSharingDetailsView) {\n\t\t\t\tthis.$nextTick(() => { // Wait for next tick as the element must be visible to be focused\n\t\t\t\t\tthis.returnFocusElement?.focus()\n\t\t\t\t\tthis.returnFocusElement = null\n\t\t\t\t})\n\t\t\t}\n\t\t},\n\t},\n}\n</script>\n\n<style scoped lang=\"scss\">\n.emptyContentWithSections {\n\tmargin: 1rem auto;\n}\n\n.sharingTab {\n\tposition: relative;\n\theight: 100%;\n\n\t&__content {\n\t\tpadding: 0 6px;\n\t}\n\n\t&__additionalContent {\n\t\tmargin: 44px 0;\n\t}\n}\n</style>\n","/**\n * @copyright Copyright (c) 2019 John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @author Joas Schilling <coding@schilljs.com>\n * @author John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @license AGPL-3.0-or-later\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */\n\nimport { Type as ShareTypes } from '@nextcloud/sharing'\n\nconst shareWithTitle = function(share) {\n\tif (share.type === ShareTypes.SHARE_TYPE_GROUP) {\n\t\treturn t(\n\t\t\t'files_sharing',\n\t\t\t'Shared with you and the group {group} by {owner}',\n\t\t\t{\n\t\t\t\tgroup: share.shareWithDisplayName,\n\t\t\t\towner: share.ownerDisplayName,\n\t\t\t},\n\t\t\tundefined,\n\t\t\t{ escape: false },\n\t\t)\n\t} else if (share.type === ShareTypes.SHARE_TYPE_CIRCLE) {\n\t\treturn t(\n\t\t\t'files_sharing',\n\t\t\t'Shared with you and {circle} by {owner}',\n\t\t\t{\n\t\t\t\tcircle: share.shareWithDisplayName,\n\t\t\t\towner: share.ownerDisplayName,\n\t\t\t},\n\t\t\tundefined,\n\t\t\t{ escape: false },\n\t\t)\n\t} else if (share.type === ShareTypes.SHARE_TYPE_ROOM) {\n\t\tif (share.shareWithDisplayName) {\n\t\t\treturn t(\n\t\t\t\t'files_sharing',\n\t\t\t\t'Shared with you and the conversation {conversation} by {owner}',\n\t\t\t\t{\n\t\t\t\t\tconversation: share.shareWithDisplayName,\n\t\t\t\t\towner: share.ownerDisplayName,\n\t\t\t\t},\n\t\t\t\tundefined,\n\t\t\t\t{ escape: false },\n\t\t\t)\n\t\t} else {\n\t\t\treturn t(\n\t\t\t\t'files_sharing',\n\t\t\t\t'Shared with you in a conversation by {owner}',\n\t\t\t\t{\n\t\t\t\t\towner: share.ownerDisplayName,\n\t\t\t\t},\n\t\t\t\tundefined,\n\t\t\t\t{ escape: false },\n\t\t\t)\n\t\t}\n\t} else {\n\t\treturn t(\n\t\t\t'files_sharing',\n\t\t\t'Shared with you by {owner}',\n\t\t\t{ owner: share.ownerDisplayName },\n\t\t\tundefined,\n\t\t\t{ escape: false },\n\t\t)\n\t}\n}\n\nexport { shareWithTitle }\n","import mod from \"-!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SharingTab.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SharingTab.vue?vue&type=script&lang=js\"","\n      import API from \"!../../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n      import domAPI from \"!../../../../node_modules/style-loader/dist/runtime/styleDomAPI.js\";\n      import insertFn from \"!../../../../node_modules/style-loader/dist/runtime/insertBySelector.js\";\n      import setAttributes from \"!../../../../node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js\";\n      import insertStyleElement from \"!../../../../node_modules/style-loader/dist/runtime/insertStyleElement.js\";\n      import styleTagTransformFn from \"!../../../../node_modules/style-loader/dist/runtime/styleTagTransform.js\";\n      import content, * as namedExport from \"!!../../../../node_modules/css-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/sass-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SharingTab.vue?vue&type=style&index=0&id=a65c443a&prod&scoped=true&lang=scss\";\n      \n      \n\nvar options = {};\n\noptions.styleTagTransform = styleTagTransformFn;\noptions.setAttributes = setAttributes;\n\n      options.insert = insertFn.bind(null, \"head\");\n    \noptions.domAPI = domAPI;\noptions.insertStyleElement = insertStyleElement;\n\nvar update = API(content, options);\n\n\n\nexport * from \"!!../../../../node_modules/css-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/sass-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SharingTab.vue?vue&type=style&index=0&id=a65c443a&prod&scoped=true&lang=scss\";\n       export default content && content.locals ? content.locals : undefined;\n","import { render, staticRenderFns } from \"./SharingTab.vue?vue&type=template&id=a65c443a&scoped=true\"\nimport script from \"./SharingTab.vue?vue&type=script&lang=js\"\nexport * from \"./SharingTab.vue?vue&type=script&lang=js\"\nimport style0 from \"./SharingTab.vue?vue&type=style&index=0&id=a65c443a&prod&scoped=true&lang=scss\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n  script,\n  render,\n  staticRenderFns,\n  false,\n  null,\n  \"a65c443a\",\n  null\n  \n)\n\nexport default component.exports"],"names":["module","exports","commonjsRequire","Error","qrcode","fn","createCommonjsModule","f","r","e","n","t","o","i","u","a","code","p","call","length","require","Promise","prototype","then","getSymbolSize","getRowColCoords","version","posCount","Math","floor","size","intervals","ceil","positions","push","reverse","getPositions","coords","pos","posLength","j","Mode","ALPHA_NUM_CHARS","AlphanumericData","data","this","mode","ALPHANUMERIC","getBitsLength","getLength","write","bitBuffer","value","indexOf","put","BitBuffer","buffer","get","index","bufIndex","num","putBit","getLengthInBits","bit","BufferUtil","BitMatrix","alloc","reservedBit","set","row","col","reserved","xor","isReserved","ByteData","BYTE","from","l","ECLevel","EC_BLOCKS_TABLE","EC_CODEWORDS_TABLE","getBlocksCount","errorCorrectionLevel","L","M","Q","H","getTotalCodewordsCount","isValid","level","defaultValue","string","toLowerCase","fromString","Utils","G15_BCH","getBCHDigit","getEncodedBits","mask","d","EXP_TABLE","LOG_TABLE","x","log","exp","mul","y","KanjiData","KANJI","toSJIS","Patterns","PATTERN000","PATTERN001","PATTERN010","PATTERN011","PATTERN100","PATTERN101","PATTERN110","PATTERN111","PenaltyScores","getMaskAt","maskPattern","isNaN","parseInt","undefined","getPenaltyN1","points","sameCountCol","sameCountRow","lastCol","lastRow","getPenaltyN2","last","getPenaltyN3","bitsCol","bitsRow","getPenaltyN4","darkCount","modulesCount","abs","applyMask","pattern","getBestMask","setupFormatFunc","numPatterns","Object","keys","bestPattern","lowerPenalty","Infinity","penalty","VersionCheck","Regex","NUMERIC","id","ccBits","MIXED","getCharCountIndicator","getBestModeForData","dataStr","testNumeric","testAlphanumeric","testKanji","toString","NumericData","group","substr","remainingNum","GF","p1","p2","coeff","mod","divident","divisor","result","offset","slice","generateECPolynomial","degree","poly","AlignmentPattern","FinderPattern","MaskPattern","ECCode","ReedSolomonEncoder","Version","FormatInfo","Segments","isArray","setupFormatInfo","matrix","bits","createData","segments","forEach","dataTotalCodewordsBits","getSymbolTotalCodewords","remainingByte","totalCodewords","dataTotalCodewords","ecTotalBlocks","blocksInGroup1","totalCodewordsInGroup1","dataCodewordsInGroup1","dataCodewordsInGroup2","ecCount","rs","dcData","Array","ecData","maxDataSize","b","dataSize","encode","max","createCodewords","createSymbol","fromArray","estimatedVersion","rawSegments","rawSplit","getBestVersionForData","bestVersion","dataBits","moduleCount","modules","c","setupFinderPattern","setupTimingPattern","setupAlignmentPattern","setupVersionInfo","inc","bitIndex","byteIndex","dark","setupData","bind","create","options","toSJISFunc","setToSJISFunction","Polynomial","Buffer","genPoly","initialize","pad","paddedData","concat","remainder","start","buff","copy","numeric","kanji","byte","replace","RegExp","BYTE_KANJI","TEST_KANJI","TEST_NUMERIC","TEST_ALPHANUMERIC","str","test","dijkstra","getStringByteLength","unescape","encodeURIComponent","getSegments","regex","exec","getSegmentsFromString","byteSegs","kanjiSegs","numSegs","alphaNumSegs","isKanjiModeEnabled","sort","s1","s2","map","obj","getSegmentBitsLength","buildSingleSegment","modesHint","bestMode","array","reduce","acc","seg","graph","nodes","table","prevNodeIds","nodeGroup","currentNodeIds","node","key","lastCount","prevNodeId","buildGraph","segs","buildNodes","path","find_path","optimizedSegs","curr","prevSeg","toSJISFunction","CODEWORDS_COUNT","digit","G18_BCH","getReservedBitsCount","getTotalBitsFromDataArray","totalBits","reservedBits","getCapacity","usableBits","ecl","currentVersion","getBestVersionForMixedData","getBestVersionForDataLength","canPromise","QRCode","CanvasRenderer","SvgRenderer","renderCanvas","renderFunc","canvas","text","opts","cb","args","arguments","argsNum","isLastArgCb","getContext","resolve","reject","toCanvas","render","toDataURL","renderToDataURL","_","qrData","canvasEl","document","createElement","getCanvasElement","getOptions","getImageWidth","ctx","image","createImageData","qrToImageData","clearRect","width","height","style","clearCanvas","putImageData","type","rendererOpts","quality","getColorAttrib","color","attrib","alpha","hex","toFixed","svgCmd","cmd","qrcodesize","margin","bg","light","moveBy","newRow","lineLength","qrToPath","viewBox","svgTag","hex2rgba","hexCode","split","apply","hexValue","join","g","scale","getScale","qrSize","imgData","qr","symbolSize","scaledMargin","palette","posDst","pxColor","TYPED_ARRAY_SUPPORT","arr","Uint8Array","__proto__","foo","typedArraySupport","K_MAX_LENGTH","arg","allocUnsafe","that","TypeError","ArrayBuffer","byteOffset","byteLength","RangeError","buf","fromArrayLike","fromArrayBuffer","createBuffer","actual","isBuffer","len","checked","val","fromObject","utf8ToBytes","units","codePoint","leadSurrogate","bytes","charCodeAt","isView","Symbol","species","defineProperty","configurable","enumerable","writable","isFinite","remaining","src","dst","blitBuffer","utf8Write","end","newBuf","subarray","sliceLen","target","targetStart","fill","list","_isBuffer","b64","lens","getLens","validLen","placeHoldersLen","toByteArray","tmp","Arr","_byteLength","curByte","revLookup","fromByteArray","uint8","extraBytes","parts","maxChunkLength","len2","encodeChunk","lookup","output","base64","ieee754","customInspectSymbol","for","SlowBuffer","INSPECT_MAX_BYTES","setPrototypeOf","encodingOrOffset","encoding","isEncoding","isInstance","valueOf","numberIsNaN","toPrimitive","assertSize","mustMatch","loweredCase","base64ToBytes","slowToString","hexSlice","utf8Slice","asciiSlice","latin1Slice","base64Slice","utf16leSlice","swap","m","bidirectionalIndexOf","dir","arrayIndexOf","lastIndexOf","indexSize","arrLength","valLength","String","read","readUInt16BE","foundIndex","found","hexWrite","Number","strLen","parsed","asciiWrite","byteArray","asciiToBytes","latin1Write","base64Write","ucs2Write","hi","lo","utf16leToBytes","min","res","secondByte","thirdByte","fourthByte","tempCodePoint","firstByte","bytesPerSequence","codePoints","MAX_ARGUMENTS_LENGTH","fromCharCode","decodeCodePointsArray","kMaxLength","proto","console","error","poolSize","allocUnsafeSlow","compare","swap16","swap32","swap64","toLocaleString","equals","inspect","trim","thisStart","thisEnd","thisCopy","targetCopy","includes","toJSON","_arr","ret","out","hexSliceLookupTable","checkOffset","ext","checkInt","checkIEEE754","writeFloat","littleEndian","noAssert","writeDouble","readUIntLE","readUIntBE","readUInt8","readUInt16LE","readUInt32LE","readUInt32BE","readIntLE","pow","readIntBE","readInt8","readInt16LE","readInt16BE","readInt32LE","readInt32BE","readFloatLE","readFloatBE","readDoubleLE","readDoubleBE","writeUIntLE","writeUIntBE","writeUInt8","writeUInt16LE","writeUInt16BE","writeUInt32LE","writeUInt32BE","writeIntLE","limit","sub","writeIntBE","writeInt8","writeInt16LE","writeInt16BE","writeInt32LE","writeInt32BE","writeFloatLE","writeFloatBE","writeDoubleLE","writeDoubleBE","copyWithin","INVALID_BASE64_RE","base64clean","constructor","name","alphabet","i16","single_source_shortest_paths","s","predecessors","costs","closest","v","cost_of_s_to_u","adjacent_nodes","cost_of_s_to_u_plus_cost_of_e","cost_of_s_to_v","open","PriorityQueue","make","empty","pop","cost","hasOwnProperty","msg","extract_shortest_path_from_predecessor_list","T","queue","sorter","default_sorter","item","shift","isLE","mLen","nBytes","eLen","eMax","eBias","nBits","NaN","rt","LN2","props","tag","default","$slots","watch","$props","deep","immediate","handler","$el","generate","methods","_this","url","innerHTML","mounted","factory","___CSS_LOADER_EXPORT___","params","assign","ocsVersion","window","location","protocol","host","getRootUrl","_generateUrlPath","allOptions","escape","charAt","vars","webroot","_oc_webroot","pathname","self","ampersandTest","nativeURLSearchParams","URLSearchParams","isSupportObjectConstructor","decodesPlusesCorrectly","isSupportSize","__URLSearchParams__","encodesAmpersandsCorrectly","append","URLSearchParamsPolyfill","iterable","iterator","appendTo","dict","has","getAll","query","propValue","useProxy","Proxy","construct","Function","USPProto","polyfill","toStringTag","callback","thisArg","parseToDict","getOwnPropertyNames","k","values","items","makeIterator","entries","prev","cur","search","match","decode","decodeURIComponent","next","done","pairs","JSON","stringify","prop","styleTagTransform","setAttributes","insert","domAPI","insertStyleElement","locals","global","freeSelf","Date","now","reWhitespace","reTrimStart","objectProto","nativeObjectToString","symToStringTag","isOwn","unmasked","reIsBadHex","reIsBinary","reIsOctal","freeParseInt","other","isBinary","nativeMax","nativeMin","http","listCollection","collectionId","renameCollection","collectionName","ocs","getCollectionsByResource","resourceType","resourceId","createCollection","post","addResource","removeResource","delete","observable","collections","h","addCollections","addCollection","removeCollection","filter","updateCollection","findIndex","fetchCollectionsByResource","baseResourceType","baseResourceId","addResourceToCollection","resources","R","I","staticRenderFns","_compiled","functional","_scopeId","$vnode","ssrContext","parent","__VUE_SSR_CONTEXT__","_registeredComponents","add","_ssrRegister","$root","$options","shadowRoot","_injectStyles","N","C","beforeCreate","components","NcAvatar","NcActions","NcActionButton","collection","detailsOpen","newName","computed","getIcon","iconClass","typeClass","limitedResources","iconUrl","mimetype","OC","MimeType","getIconUrl","toggleDetails","showDetails","hideDetails","openRename","catch","$set","setTimeout","_self","_c","staticClass","attrs","title","on","click","_v","_s","class","shouldshake","rename","submit","preventDefault","directives","rawName","expression","autocomplete","autocapitalize","domProps","input","composing","_e","_l","href","link","icon","F","func","wait","lastArgs","lastThis","maxWait","timerId","lastCallTime","lastInvokeTime","leading","maxing","trailing","invokeFunc","time","shouldInvoke","timeSinceLastCall","timerExpired","trailingEdge","timeWaiting","remainingWait","debounced","isInvoking","leadingEdge","clearTimeout","cancel","flush","searchCollections","finally","CollectionListItem","NcSelect","isActive","Boolean","selectIsOpen","generatingCodes","codes","model","state","isSelectOpen","find","placeholder","OCP","Collaboration","getTypes","method","getLabel","action","trigger","select","setError","showSelect","$refs","focus","hideSelect","isVueComponent","_isVue","_m","ref","label","close","scopedSlots","_u","Config","_capabilities","getCapabilities","defaultPermissions","_this$_capabilities$f","files_sharing","default_permissions","isPublicUploadEnabled","_this$_capabilities$f2","public","upload","isShareWithLinkAllowed","getElementById","federatedShareDocLink","appConfig","core","federatedCloudShareDoc","defaultExpirationDate","isDefaultExpireDateEnabled","setDate","getDate","defaultExpireDate","defaultInternalExpirationDate","isDefaultInternalExpireDateEnabled","defaultInternalExpireDate","defaultRemoteExpirationDateString","isDefaultRemoteExpireDateEnabled","defaultRemoteExpireDate","enforcePasswordForPublicLink","enableLinkPasswordByDefault","isDefaultExpireDateEnforced","defaultExpireDateEnforced","defaultExpireDateEnabled","isDefaultInternalExpireDateEnforced","defaultInternalExpireDateEnforced","isDefaultRemoteExpireDateEnforced","defaultRemoteExpireDateEnforced","defaultInternalExpireDateEnabled","defaultRemoteExpireDateEnabled","isRemoteShareAllowed","remoteShareAllowed","isMailShareAllowed","_this$_capabilities","_this$_capabilities2","sharebymail","enabled","isResharingAllowed","resharingAllowed","isPasswordForMailSharesRequired","password","enforced","shouldAlwaysShowUnique","_this$_capabilities$f3","sharee","always_show_unique","allowGroupSharing","maxAutocompleteResults","config","minSearchStringLength","passwordPolicy","password_policy","Share","ocsData","_ocsData$attributes","hide_download","mail_send","attributes","parse","warn","_share","share_type","permissions","owner","uid_owner","ownerDisplayName","displayname_owner","shareWith","share_with","shareWithDisplayName","share_with_displayname","shareWithDisplayNameUnique","share_with_displayname_unique","shareWithLink","share_with_link","shareWithAvatar","share_with_avatar","uidFileOwner","uid_file_owner","displaynameFileOwner","displayname_file_owner","createdTime","stime","expireDate","expiration","date","token","note","_this$_share$label","mailSend","hideDownload","passwordExpirationTime","password_expiration_time","sendPasswordByTalk","send_password_by_talk","itemType","item_type","fileSource","file_source","fileTarget","file_target","fileParent","file_parent","hasReadPermission","PERMISSION_READ","hasCreatePermission","PERMISSION_CREATE","hasDeletePermission","PERMISSION_DELETE","hasUpdatePermission","PERMISSION_UPDATE","hasSharePermission","PERMISSION_SHARE","hasDownloadPermission","attr","scope","setAttribute","attrUpdate","splice","canEdit","can_edit","canDelete","can_delete","viaFileid","via_fileid","viaPath","via_path","storageId","storage_id","storage","itemSource","item_source","status","SHARE_TYPES","ShareTypes","emits","fillColor","_vm","_b","$event","$emit","$attrs","required","subtitle","isUnique","ariaExpanded","ariaExpandedValue","_t","SharingEntrySimple","CheckIcon","ClipboardIcon","fileInfo","copied","copySuccess","internalLink","generateUrl","copyLinkTooltip","internalLinkSubtitle","copyLink","navigator","clipboard","writeText","showSuccess","shareEntrySimple","actionsComponent","proxy","async","api","request","axios","info","showError","crypto","getRandomValues","passwordSet","shareUrl","generateOcsUrl","createShare","_ref","shareType","publicUpload","_request$data","share","emit","_error$response","errorMessage","response","meta","message","Notification","showTemporary","deleteShare","_request$data2","_error$response2","updateShare","properties","_request$data3","_error$response3","openSharingDetails","shareRequestObject","suggestions","mapShareRequestToShareObject","shareDetails","openShareDetailsForCustomSettings","setCustomPermissions","is_no_user","isNoUser","user","displayName","mixins","ShareRequests","ShareDetails","shares","linkShares","reshare","canReshare","loading","recommendations","ShareSearch","OCA","Sharing","externalResults","results","inputPlaceholder","allowRemoteSharing","isValidQuery","noResultText","getRecommendations","onSelected","option","asyncFind","debounceGetSuggestions","getSuggestions","query_lookup_default","SHARE_TYPE_USER","SHARE_TYPE_GROUP","SHARE_TYPE_REMOTE","SHARE_TYPE_REMOTE_GROUP","SHARE_TYPE_CIRCLE","SHARE_TYPE_ROOM","SHARE_TYPE_GUEST","SHARE_TYPE_DECK","SHARE_TYPE_SCIENCEMESH","SHARE_TYPE_EMAIL","format","perPage","exact","rawExactSuggestions","elem","rawSuggestions","exactSuggestions","filterOutExistingShares","formatForMultiselect","lookupEntry","lookupEnabled","condition","allSuggestions","nameCounts","desc","debounce","rawRecommendations","getCurrentUser","uid","sharesObj","shareTypeToIcon","iconTitle","_result$shareWithDisp","server","_result$shareWithDesc","shareWithDescription","uuid","addShare","$nextTick","$children","debug","GeneratePassword","sharePermissions","shareAttributes","newPassword","clear-search-on-blur","$$v","ATOMIC_PERMISSIONS","NONE","READ","UPDATE","CREATE","DELETE","SHARE","BUNDLED_PERMISSIONS","READ_ONLY","UPLOAD_AND_UPDATE","FILE_DROP","ALL","ALL_FILE","SharesRequests","_this$share","errors","saving","updateQueue","PQueue","concurrency","reactiveState","hasNote","dateTomorrow","lang","weekdaysShort","dayNamesShort","monthsShort","monthNamesShort","formatLocale","firstDayOfWeek","firstDay","weekdaysMin","monthFormat","isFolder","isPublicShare","_this$share$shareType","SHARE_TYPE_LINK","isRemoteShare","isShareOwner","isExpiryDateEnforced","hasCustomPermissions","maxExpirationDateEnforced","checkShare","expirationDate","parseDateString","_date$match","formatDateToString","UTC","getFullYear","getMonth","toISOString","onExpirationChange","onExpirationDisable","onNoteChange","onNoteSubmit","newNote","$delete","queueUpdate","onDelete","_len","propertyNames","_key","updatedShare","propertyName","onSyncError","property","propertyEl","focusable","querySelector","debounceQueueUpdate","NcActionLink","NcActionText","SharesMixin","viaFileTargetUrl","fileid","viaFolderName","basename","initiator","folder","SharingEntryInherited","loaded","showInheritedShares","showInheritedSharesIcon","mainTitle","subTitle","toggleTooltip","fullPath","resetState","toggleInheritedShares","fetchInheritedShares","removeShare","stopPropagation","DropdownIcon","selectedOption","ariaLabel","canViewText","canEditText","fileDropText","customPermissionsText","preSelectedOption","IconEyeOutline","IconPencil","supportsFileDrop","IconFileUpload","IconTune","_this$share$type","dropDownPermissionValue","created","selectOption","optionLabel","quickShareActions","menuButton","is","_g","handlers","ExternalShareAction","NcActionInput","NcActionSeparator","NcDialog","VueQrcode","Tune","IconQr","ErrorIcon","LockIcon","CloseIcon","PlusIcon","SharingEntryQuickShareSelect","pending","ExternalLegacyLinkActions","ExternalLinkActions","ExternalShareActions","showQRCode","isEmailShareType","isPasswordProtected","Vue","expirationTime","moment","diff","fromNow","isTalkEnabled","appswebroots","spreed","isPasswordProtectedByTalkAvailable","isPasswordProtectedByTalk","canTogglePasswordProtectedByTalkAvailable","hasUnsavedPassword","pendingPassword","pendingEnforcedPassword","pendingExpirationDate","shareLink","actionsTooltip","externalLegacyLinkActions","actions","externalLinkActions","advanced","isPasswordPolicyEnabled","canChangeHideDownload","some","shareAttribute","onNewLinkShare","shareDefaults","pushNewLinkShare","component","update","newShare","_data$response","copyButton","onPasswordChange","onPasswordDisable","onPasswordSubmit","onPasswordProtectedByTalkChange","onMenuClose","onCancel","SharingEntryLink","minLength","canLinkShare","hasLinkShares","hasShares","unshift","awaitForShare","NcButton","DotsHorizontalIcon","tooltip","hasStatus","SharingEntry","NcInputField","NcPasswordField","NcDateTimePickerNative","NcCheckboxRadioSwitch","NcLoadingIcon","CircleIcon","EditIcon","LinkIcon","GroupIcon","ShareIcon","UserIcon","UploadIcon","ViewIcon","MenuDownIcon","MenuUpIcon","shareRequestValue","writeNoteToRecipientIsChecked","sharingPermission","revertSharingPermission","passwordError","advancedSectionAccordionExpanded","bundledPermissions","isFirstComponentLoad","creating","userName","email","updateAtomicPermissions","isEditChecked","canCreate","isCreateChecked","isDeleteChecked","isReshareChecked","canDownload","_this$share$attribute","downloadAttr","hasRead","isReadChecked","hasExpirationDate","isValidShareAttribute","defaultExpiryDate","isSetDownloadButtonVisible","isPasswordEnforced","isGroupShare","isUserShare","isNewShare","allowsFileDrop","hasFileDropPermissions","shareButtonText","canSetEdit","canSetCreate","canSetDelete","canSetReshare","canSetDownload","customPermissionsList","translatedPermissions","permission","hasPermissions","initialPermissionSet","permissionsToCheck","toLocaleLowerCase","getLanguage","advancedControlExpandedValue","errorPasswordLabel","ShareType","isChecked","beforeMount","initializePermissions","initializeAttributes","_this$$refs$quickPerm","quickPermissions","expandCustomPermissions","toggleCustomPermissions","selectedPermission","isCustomPermissions","toDateString","handleShareType","handleDefaultPermissions","handleCustomPermissions","saveShare","_this$$refs$externalL","permissionsAndAttributes","sharePermissionsSet","incomingShare","allSettled","_action$$children$at","_action$$children$at2","_action$$children$at3","at","onSave","getShareTypeIcon","EmailIcon","_vm$share$expireDate","refInFor","CollectionList","SharingEntryInternal","SharingInherited","SharingInput","SharingLinkList","SharingList","SharingDetailsTab","deleteEvent","expirationInterval","sharedWithMe","sections","ShareTabSections","getSections","projectsEnabled","loadState","showSharingDetailsView","shareDetailsData","returnFocusElement","isSharedWithMe","getShares","fetchShares","reshares","fetchSharedWithMe","shared_with_me","all","processSharedWithMe","processShares","_error$response$data","clearInterval","updateExpirationSubtitle","unix","relativetime","Util","relativeModifiedDate","_ref2","circle","conversation","shareWithTitle","setInterval","shareOwnerId","currentUser","shareOwner","shareList","listComponent","linkShareList","toggleShareDetailsView","eventData","activeElement","classList","className","startsWith","_document$activeEleme","menuId","_this$returnFocusElem","emptyContentWithSections","section"],"sourceRoot":""}
\ No newline at end of file
diff --git a/dist/8450-8450.js b/dist/8450-8450.js
new file mode 100644 (file)
index 0000000..bb56f9f
--- /dev/null
@@ -0,0 +1,3 @@
+/*! For license information please see 8450-8450.js.license?v=f6dcbf5e6f609e831644 */
+(self.webpackChunknextcloud=self.webpackChunknextcloud||[]).push([[8450],{17816:function(t,e,i){var n=i(96763);t.exports=function(){"use strict";function t(){throw new Error("Dynamic requires are not currently supported by rollup-plugin-commonjs")}var e=function(t,e){return t(e={exports:{}},e.exports),e.exports}((function(e,i){var r;r=function(){return function e(i,n,r){function a(o,l){if(!n[o]){if(!i[o]){if(!l&&t)return t();if(s)return s(o,!0);var c=new Error("Cannot find module '"+o+"'");throw c.code="MODULE_NOT_FOUND",c}var h=n[o]={exports:{}};i[o][0].call(h.exports,(function(t){return a(i[o][1][t]||t)}),h,h.exports,e,i,n,r)}return n[o].exports}for(var s=t,o=0;o<r.length;o++)a(r[o]);return a}({1:[function(t,e,i){e.exports=function(){return"function"==typeof Promise&&Promise.prototype&&Promise.prototype.then}},{}],2:[function(t,e,i){var n=t("./utils").getSymbolSize;i.getRowColCoords=function(t){if(1===t)return[];for(var e=Math.floor(t/7)+2,i=n(t),r=145===i?26:2*Math.ceil((i-13)/(2*e-2)),a=[i-7],s=1;s<e-1;s++)a[s]=a[s-1]-r;return a.push(6),a.reverse()},i.getPositions=function(t){for(var e=[],n=i.getRowColCoords(t),r=n.length,a=0;a<r;a++)for(var s=0;s<r;s++)0===a&&0===s||0===a&&s===r-1||a===r-1&&0===s||e.push([n[a],n[s]]);return e}},{"./utils":21}],3:[function(t,e,i){var n=t("./mode"),r=["0","1","2","3","4","5","6","7","8","9","A","B","C","D","E","F","G","H","I","J","K","L","M","N","O","P","Q","R","S","T","U","V","W","X","Y","Z"," ","$","%","*","+","-",".","/",":"];function a(t){this.mode=n.ALPHANUMERIC,this.data=t}a.getBitsLength=function(t){return 11*Math.floor(t/2)+t%2*6},a.prototype.getLength=function(){return this.data.length},a.prototype.getBitsLength=function(){return a.getBitsLength(this.data.length)},a.prototype.write=function(t){var e;for(e=0;e+2<=this.data.length;e+=2){var i=45*r.indexOf(this.data[e]);i+=r.indexOf(this.data[e+1]),t.put(i,11)}this.data.length%2&&t.put(r.indexOf(this.data[e]),6)},e.exports=a},{"./mode":14}],4:[function(t,e,i){function n(){this.buffer=[],this.length=0}n.prototype={get:function(t){var e=Math.floor(t/8);return 1==(this.buffer[e]>>>7-t%8&1)},put:function(t,e){for(var i=0;i<e;i++)this.putBit(1==(t>>>e-i-1&1))},getLengthInBits:function(){return this.length},putBit:function(t){var e=Math.floor(this.length/8);this.buffer.length<=e&&this.buffer.push(0),t&&(this.buffer[e]|=128>>>this.length%8),this.length++}},e.exports=n},{}],5:[function(t,e,i){var n=t("../utils/buffer");function r(t){if(!t||t<1)throw new Error("BitMatrix size must be defined and greater than 0");this.size=t,this.data=n.alloc(t*t),this.reservedBit=n.alloc(t*t)}r.prototype.set=function(t,e,i,n){var r=t*this.size+e;this.data[r]=i,n&&(this.reservedBit[r]=!0)},r.prototype.get=function(t,e){return this.data[t*this.size+e]},r.prototype.xor=function(t,e,i){this.data[t*this.size+e]^=i},r.prototype.isReserved=function(t,e){return this.reservedBit[t*this.size+e]},e.exports=r},{"../utils/buffer":28}],6:[function(t,e,i){var n=t("../utils/buffer"),r=t("./mode");function a(t){this.mode=r.BYTE,this.data=n.from(t)}a.getBitsLength=function(t){return 8*t},a.prototype.getLength=function(){return this.data.length},a.prototype.getBitsLength=function(){return a.getBitsLength(this.data.length)},a.prototype.write=function(t){for(var e=0,i=this.data.length;e<i;e++)t.put(this.data[e],8)},e.exports=a},{"../utils/buffer":28,"./mode":14}],7:[function(t,e,i){var n=t("./error-correction-level"),r=[1,1,1,1,1,1,1,1,1,1,2,2,1,2,2,4,1,2,4,4,2,4,4,4,2,4,6,5,2,4,6,6,2,5,8,8,4,5,8,8,4,5,8,11,4,8,10,11,4,9,12,16,4,9,16,16,6,10,12,18,6,10,17,16,6,11,16,19,6,13,18,21,7,14,21,25,8,16,20,25,8,17,23,25,9,17,23,34,9,18,25,30,10,20,27,32,12,21,29,35,12,23,34,37,12,25,34,40,13,26,35,42,14,28,38,45,15,29,40,48,16,31,43,51,17,33,45,54,18,35,48,57,19,37,51,60,19,38,53,63,20,40,56,66,21,43,59,70,22,45,62,74,24,47,65,77,25,49,68,81],a=[7,10,13,17,10,16,22,28,15,26,36,44,20,36,52,64,26,48,72,88,36,64,96,112,40,72,108,130,48,88,132,156,60,110,160,192,72,130,192,224,80,150,224,264,96,176,260,308,104,198,288,352,120,216,320,384,132,240,360,432,144,280,408,480,168,308,448,532,180,338,504,588,196,364,546,650,224,416,600,700,224,442,644,750,252,476,690,816,270,504,750,900,300,560,810,960,312,588,870,1050,336,644,952,1110,360,700,1020,1200,390,728,1050,1260,420,784,1140,1350,450,812,1200,1440,480,868,1290,1530,510,924,1350,1620,540,980,1440,1710,570,1036,1530,1800,570,1064,1590,1890,600,1120,1680,1980,630,1204,1770,2100,660,1260,1860,2220,720,1316,1950,2310,750,1372,2040,2430];i.getBlocksCount=function(t,e){switch(e){case n.L:return r[4*(t-1)+0];case n.M:return r[4*(t-1)+1];case n.Q:return r[4*(t-1)+2];case n.H:return r[4*(t-1)+3];default:return}},i.getTotalCodewordsCount=function(t,e){switch(e){case n.L:return a[4*(t-1)+0];case n.M:return a[4*(t-1)+1];case n.Q:return a[4*(t-1)+2];case n.H:return a[4*(t-1)+3];default:return}}},{"./error-correction-level":8}],8:[function(t,e,i){i.L={bit:1},i.M={bit:0},i.Q={bit:3},i.H={bit:2},i.isValid=function(t){return t&&void 0!==t.bit&&t.bit>=0&&t.bit<4},i.from=function(t,e){if(i.isValid(t))return t;try{return function(t){if("string"!=typeof t)throw new Error("Param is not a string");switch(t.toLowerCase()){case"l":case"low":return i.L;case"m":case"medium":return i.M;case"q":case"quartile":return i.Q;case"h":case"high":return i.H;default:throw new Error("Unknown EC Level: "+t)}}(t)}catch(t){return e}}},{}],9:[function(t,e,i){var n=t("./utils").getSymbolSize;i.getPositions=function(t){var e=n(t);return[[0,0],[e-7,0],[0,e-7]]}},{"./utils":21}],10:[function(t,e,i){var n=t("./utils"),r=n.getBCHDigit(1335);i.getEncodedBits=function(t,e){for(var i=t.bit<<3|e,a=i<<10;n.getBCHDigit(a)-r>=0;)a^=1335<<n.getBCHDigit(a)-r;return 21522^(i<<10|a)}},{"./utils":21}],11:[function(t,e,i){var n=t("../utils/buffer"),r=n.alloc(512),a=n.alloc(256);!function(){for(var t=1,e=0;e<255;e++)r[e]=t,a[t]=e,256&(t<<=1)&&(t^=285);for(e=255;e<512;e++)r[e]=r[e-255]}(),i.log=function(t){if(t<1)throw new Error("log("+t+")");return a[t]},i.exp=function(t){return r[t]},i.mul=function(t,e){return 0===t||0===e?0:r[a[t]+a[e]]}},{"../utils/buffer":28}],12:[function(t,e,i){var n=t("./mode"),r=t("./utils");function a(t){this.mode=n.KANJI,this.data=t}a.getBitsLength=function(t){return 13*t},a.prototype.getLength=function(){return this.data.length},a.prototype.getBitsLength=function(){return a.getBitsLength(this.data.length)},a.prototype.write=function(t){var e;for(e=0;e<this.data.length;e++){var i=r.toSJIS(this.data[e]);if(i>=33088&&i<=40956)i-=33088;else{if(!(i>=57408&&i<=60351))throw new Error("Invalid SJIS character: "+this.data[e]+"\nMake sure your charset is UTF-8");i-=49472}i=192*(i>>>8&255)+(255&i),t.put(i,13)}},e.exports=a},{"./mode":14,"./utils":21}],13:[function(t,e,i){i.Patterns={PATTERN000:0,PATTERN001:1,PATTERN010:2,PATTERN011:3,PATTERN100:4,PATTERN101:5,PATTERN110:6,PATTERN111:7};var n=3,r=3,a=40,s=10;function o(t,e,n){switch(t){case i.Patterns.PATTERN000:return(e+n)%2==0;case i.Patterns.PATTERN001:return e%2==0;case i.Patterns.PATTERN010:return n%3==0;case i.Patterns.PATTERN011:return(e+n)%3==0;case i.Patterns.PATTERN100:return(Math.floor(e/2)+Math.floor(n/3))%2==0;case i.Patterns.PATTERN101:return e*n%2+e*n%3==0;case i.Patterns.PATTERN110:return(e*n%2+e*n%3)%2==0;case i.Patterns.PATTERN111:return(e*n%3+(e+n)%2)%2==0;default:throw new Error("bad maskPattern:"+t)}}i.isValid=function(t){return null!=t&&""!==t&&!isNaN(t)&&t>=0&&t<=7},i.from=function(t){return i.isValid(t)?parseInt(t,10):void 0},i.getPenaltyN1=function(t){for(var e=t.size,i=0,r=0,a=0,s=null,o=null,l=0;l<e;l++){r=a=0,s=o=null;for(var c=0;c<e;c++){var h=t.get(l,c);h===s?r++:(r>=5&&(i+=n+(r-5)),s=h,r=1),(h=t.get(c,l))===o?a++:(a>=5&&(i+=n+(a-5)),o=h,a=1)}r>=5&&(i+=n+(r-5)),a>=5&&(i+=n+(a-5))}return i},i.getPenaltyN2=function(t){for(var e=t.size,i=0,n=0;n<e-1;n++)for(var a=0;a<e-1;a++){var s=t.get(n,a)+t.get(n,a+1)+t.get(n+1,a)+t.get(n+1,a+1);4!==s&&0!==s||i++}return i*r},i.getPenaltyN3=function(t){for(var e=t.size,i=0,n=0,r=0,s=0;s<e;s++){n=r=0;for(var o=0;o<e;o++)n=n<<1&2047|t.get(s,o),o>=10&&(1488===n||93===n)&&i++,r=r<<1&2047|t.get(o,s),o>=10&&(1488===r||93===r)&&i++}return i*a},i.getPenaltyN4=function(t){for(var e=0,i=t.data.length,n=0;n<i;n++)e+=t.data[n];return Math.abs(Math.ceil(100*e/i/5)-10)*s},i.applyMask=function(t,e){for(var i=e.size,n=0;n<i;n++)for(var r=0;r<i;r++)e.isReserved(r,n)||e.xor(r,n,o(t,r,n))},i.getBestMask=function(t,e){for(var n=Object.keys(i.Patterns).length,r=0,a=1/0,s=0;s<n;s++){e(s),i.applyMask(s,t);var o=i.getPenaltyN1(t)+i.getPenaltyN2(t)+i.getPenaltyN3(t)+i.getPenaltyN4(t);i.applyMask(s,t),o<a&&(a=o,r=s)}return r}},{}],14:[function(t,e,i){var n=t("./version-check"),r=t("./regex");i.NUMERIC={id:"Numeric",bit:1,ccBits:[10,12,14]},i.ALPHANUMERIC={id:"Alphanumeric",bit:2,ccBits:[9,11,13]},i.BYTE={id:"Byte",bit:4,ccBits:[8,16,16]},i.KANJI={id:"Kanji",bit:8,ccBits:[8,10,12]},i.MIXED={bit:-1},i.getCharCountIndicator=function(t,e){if(!t.ccBits)throw new Error("Invalid mode: "+t);if(!n.isValid(e))throw new Error("Invalid version: "+e);return e>=1&&e<10?t.ccBits[0]:e<27?t.ccBits[1]:t.ccBits[2]},i.getBestModeForData=function(t){return r.testNumeric(t)?i.NUMERIC:r.testAlphanumeric(t)?i.ALPHANUMERIC:r.testKanji(t)?i.KANJI:i.BYTE},i.toString=function(t){if(t&&t.id)return t.id;throw new Error("Invalid mode")},i.isValid=function(t){return t&&t.bit&&t.ccBits},i.from=function(t,e){if(i.isValid(t))return t;try{return function(t){if("string"!=typeof t)throw new Error("Param is not a string");switch(t.toLowerCase()){case"numeric":return i.NUMERIC;case"alphanumeric":return i.ALPHANUMERIC;case"kanji":return i.KANJI;case"byte":return i.BYTE;default:throw new Error("Unknown mode: "+t)}}(t)}catch(t){return e}}},{"./regex":19,"./version-check":22}],15:[function(t,e,i){var n=t("./mode");function r(t){this.mode=n.NUMERIC,this.data=t.toString()}r.getBitsLength=function(t){return 10*Math.floor(t/3)+(t%3?t%3*3+1:0)},r.prototype.getLength=function(){return this.data.length},r.prototype.getBitsLength=function(){return r.getBitsLength(this.data.length)},r.prototype.write=function(t){var e,i,n;for(e=0;e+3<=this.data.length;e+=3)i=this.data.substr(e,3),n=parseInt(i,10),t.put(n,10);var r=this.data.length-e;r>0&&(i=this.data.substr(e),n=parseInt(i,10),t.put(n,3*r+1))},e.exports=r},{"./mode":14}],16:[function(t,e,i){var n=t("../utils/buffer"),r=t("./galois-field");i.mul=function(t,e){for(var i=n.alloc(t.length+e.length-1),a=0;a<t.length;a++)for(var s=0;s<e.length;s++)i[a+s]^=r.mul(t[a],e[s]);return i},i.mod=function(t,e){for(var i=n.from(t);i.length-e.length>=0;){for(var a=i[0],s=0;s<e.length;s++)i[s]^=r.mul(e[s],a);for(var o=0;o<i.length&&0===i[o];)o++;i=i.slice(o)}return i},i.generateECPolynomial=function(t){for(var e=n.from([1]),a=0;a<t;a++)e=i.mul(e,[1,r.exp(a)]);return e}},{"../utils/buffer":28,"./galois-field":11}],17:[function(t,e,i){var n=t("../utils/buffer"),r=t("./utils"),a=t("./error-correction-level"),s=t("./bit-buffer"),o=t("./bit-matrix"),l=t("./alignment-pattern"),c=t("./finder-pattern"),h=t("./mask-pattern"),u=t("./error-correction-code"),d=t("./reed-solomon-encoder"),p=t("./version"),f=t("./format-info"),A=t("./mode"),g=t("./segments"),m=t("isarray");function v(t,e,i){var n,r,a=t.size,s=f.getEncodedBits(e,i);for(n=0;n<15;n++)r=1==(s>>n&1),n<6?t.set(n,8,r,!0):n<8?t.set(n+1,8,r,!0):t.set(a-15+n,8,r,!0),n<8?t.set(8,a-n-1,r,!0):n<9?t.set(8,15-n-1+1,r,!0):t.set(8,15-n-1,r,!0);t.set(a-8,8,1,!0)}function _(t,e,i){var a=new s;i.forEach((function(e){a.put(e.mode.bit,4),a.put(e.getLength(),A.getCharCountIndicator(e.mode,t)),e.write(a)}));var o=8*(r.getSymbolTotalCodewords(t)-u.getTotalCodewordsCount(t,e));for(a.getLengthInBits()+4<=o&&a.put(0,4);a.getLengthInBits()%8!=0;)a.putBit(0);for(var l=(o-a.getLengthInBits())/8,c=0;c<l;c++)a.put(c%2?17:236,8);return function(t,e,i){for(var a=r.getSymbolTotalCodewords(e),s=a-u.getTotalCodewordsCount(e,i),o=u.getBlocksCount(e,i),l=o-a%o,c=Math.floor(a/o),h=Math.floor(s/o),p=h+1,f=c-h,A=new d(f),g=0,m=new Array(o),v=new Array(o),_=0,y=n.from(t.buffer),w=0;w<o;w++){var C=w<l?h:p;m[w]=y.slice(g,g+C),v[w]=A.encode(m[w]),g+=C,_=Math.max(_,C)}var E,b,S=n.alloc(a),x=0;for(E=0;E<_;E++)for(b=0;b<o;b++)E<m[b].length&&(S[x++]=m[b][E]);for(E=0;E<f;E++)for(b=0;b<o;b++)S[x++]=v[b][E];return S}(a,t,e)}function y(t,e,i,n){var a;if(m(t))a=g.fromArray(t);else{if("string"!=typeof t)throw new Error("Invalid data");var s=e;if(!s){var u=g.rawSplit(t);s=p.getBestVersionForData(u,i)}a=g.fromString(t,s||40)}var d=p.getBestVersionForData(a,i);if(!d)throw new Error("The amount of data is too big to be stored in a QR Code");if(e){if(e<d)throw new Error("\nThe chosen QR Code version cannot contain this amount of data.\nMinimum version required to store current data is: "+d+".\n")}else e=d;var f=_(e,i,a),A=r.getSymbolSize(e),y=new o(A);return function(t,e){for(var i=t.size,n=c.getPositions(e),r=0;r<n.length;r++)for(var a=n[r][0],s=n[r][1],o=-1;o<=7;o++)if(!(a+o<=-1||i<=a+o))for(var l=-1;l<=7;l++)s+l<=-1||i<=s+l||(o>=0&&o<=6&&(0===l||6===l)||l>=0&&l<=6&&(0===o||6===o)||o>=2&&o<=4&&l>=2&&l<=4?t.set(a+o,s+l,!0,!0):t.set(a+o,s+l,!1,!0))}(y,e),function(t){for(var e=t.size,i=8;i<e-8;i++){var n=i%2==0;t.set(i,6,n,!0),t.set(6,i,n,!0)}}(y),function(t,e){for(var i=l.getPositions(e),n=0;n<i.length;n++)for(var r=i[n][0],a=i[n][1],s=-2;s<=2;s++)for(var o=-2;o<=2;o++)-2===s||2===s||-2===o||2===o||0===s&&0===o?t.set(r+s,a+o,!0,!0):t.set(r+s,a+o,!1,!0)}(y,e),v(y,i,0),e>=7&&function(t,e){for(var i,n,r,a=t.size,s=p.getEncodedBits(e),o=0;o<18;o++)i=Math.floor(o/3),n=o%3+a-8-3,r=1==(s>>o&1),t.set(i,n,r,!0),t.set(n,i,r,!0)}(y,e),function(t,e){for(var i=t.size,n=-1,r=i-1,a=7,s=0,o=i-1;o>0;o-=2)for(6===o&&o--;;){for(var l=0;l<2;l++)if(!t.isReserved(r,o-l)){var c=!1;s<e.length&&(c=1==(e[s]>>>a&1)),t.set(r,o-l,c),-1==--a&&(s++,a=7)}if((r+=n)<0||i<=r){r-=n,n=-n;break}}}(y,f),isNaN(n)&&(n=h.getBestMask(y,v.bind(null,y,i))),h.applyMask(n,y),v(y,i,n),{modules:y,version:e,errorCorrectionLevel:i,maskPattern:n,segments:a}}i.create=function(t,e){if(void 0===t||""===t)throw new Error("No input text");var i,n,s=a.M;return void 0!==e&&(s=a.from(e.errorCorrectionLevel,a.M),i=p.from(e.version),n=h.from(e.maskPattern),e.toSJISFunc&&r.setToSJISFunction(e.toSJISFunc)),y(t,i,s,n)}},{"../utils/buffer":28,"./alignment-pattern":2,"./bit-buffer":4,"./bit-matrix":5,"./error-correction-code":7,"./error-correction-level":8,"./finder-pattern":9,"./format-info":10,"./mask-pattern":13,"./mode":14,"./reed-solomon-encoder":18,"./segments":20,"./utils":21,"./version":23,isarray:33}],18:[function(t,e,i){var n=t("../utils/buffer"),r=t("./polynomial"),a=t("buffer").Buffer;function s(t){this.genPoly=void 0,this.degree=t,this.degree&&this.initialize(this.degree)}s.prototype.initialize=function(t){this.degree=t,this.genPoly=r.generateECPolynomial(this.degree)},s.prototype.encode=function(t){if(!this.genPoly)throw new Error("Encoder not initialized");var e=n.alloc(this.degree),i=a.concat([t,e],t.length+this.degree),s=r.mod(i,this.genPoly),o=this.degree-s.length;if(o>0){var l=n.alloc(this.degree);return s.copy(l,o),l}return s},e.exports=s},{"../utils/buffer":28,"./polynomial":16,buffer:30}],19:[function(t,e,i){var n="[0-9]+",r="(?:[u3000-u303F]|[u3040-u309F]|[u30A0-u30FF]|[uFF00-uFFEF]|[u4E00-u9FAF]|[u2605-u2606]|[u2190-u2195]|u203B|[u2010u2015u2018u2019u2025u2026u201Cu201Du2225u2260]|[u0391-u0451]|[u00A7u00A8u00B1u00B4u00D7u00F7])+",a="(?:(?![A-Z0-9 $%*+\\-./:]|"+(r=r.replace(/u/g,"\\u"))+")(?:.|[\r\n]))+";i.KANJI=new RegExp(r,"g"),i.BYTE_KANJI=new RegExp("[^A-Z0-9 $%*+\\-./:]+","g"),i.BYTE=new RegExp(a,"g"),i.NUMERIC=new RegExp(n,"g"),i.ALPHANUMERIC=new RegExp("[A-Z $%*+\\-./:]+","g");var s=new RegExp("^"+r+"$"),o=new RegExp("^"+n+"$"),l=new RegExp("^[A-Z0-9 $%*+\\-./:]+$");i.testKanji=function(t){return s.test(t)},i.testNumeric=function(t){return o.test(t)},i.testAlphanumeric=function(t){return l.test(t)}},{}],20:[function(t,e,i){var n=t("./mode"),r=t("./numeric-data"),a=t("./alphanumeric-data"),s=t("./byte-data"),o=t("./kanji-data"),l=t("./regex"),c=t("./utils"),h=t("dijkstrajs");function u(t){return unescape(encodeURIComponent(t)).length}function d(t,e,i){for(var n,r=[];null!==(n=t.exec(i));)r.push({data:n[0],index:n.index,mode:e,length:n[0].length});return r}function p(t){var e,i,r=d(l.NUMERIC,n.NUMERIC,t),a=d(l.ALPHANUMERIC,n.ALPHANUMERIC,t);return c.isKanjiModeEnabled()?(e=d(l.BYTE,n.BYTE,t),i=d(l.KANJI,n.KANJI,t)):(e=d(l.BYTE_KANJI,n.BYTE,t),i=[]),r.concat(a,e,i).sort((function(t,e){return t.index-e.index})).map((function(t){return{data:t.data,mode:t.mode,length:t.length}}))}function f(t,e){switch(e){case n.NUMERIC:return r.getBitsLength(t);case n.ALPHANUMERIC:return a.getBitsLength(t);case n.KANJI:return o.getBitsLength(t);case n.BYTE:return s.getBitsLength(t)}}function A(t,e){var i,l=n.getBestModeForData(t);if((i=n.from(e,l))!==n.BYTE&&i.bit<l.bit)throw new Error('"'+t+'" cannot be encoded with mode '+n.toString(i)+".\n Suggested mode is: "+n.toString(l));switch(i!==n.KANJI||c.isKanjiModeEnabled()||(i=n.BYTE),i){case n.NUMERIC:return new r(t);case n.ALPHANUMERIC:return new a(t);case n.KANJI:return new o(t);case n.BYTE:return new s(t)}}i.fromArray=function(t){return t.reduce((function(t,e){return"string"==typeof e?t.push(A(e,null)):e.data&&t.push(A(e.data,e.mode)),t}),[])},i.fromString=function(t,e){for(var r=function(t,e){for(var i={},r={start:{}},a=["start"],s=0;s<t.length;s++){for(var o=t[s],l=[],c=0;c<o.length;c++){var h=o[c],u=""+s+c;l.push(u),i[u]={node:h,lastCount:0},r[u]={};for(var d=0;d<a.length;d++){var p=a[d];i[p]&&i[p].node.mode===h.mode?(r[p][u]=f(i[p].lastCount+h.length,h.mode)-f(i[p].lastCount,h.mode),i[p].lastCount+=h.length):(i[p]&&(i[p].lastCount=h.length),r[p][u]=f(h.length,h.mode)+4+n.getCharCountIndicator(h.mode,e))}}a=l}for(d=0;d<a.length;d++)r[a[d]].end=0;return{map:r,table:i}}(function(t){for(var e=[],i=0;i<t.length;i++){var r=t[i];switch(r.mode){case n.NUMERIC:e.push([r,{data:r.data,mode:n.ALPHANUMERIC,length:r.length},{data:r.data,mode:n.BYTE,length:r.length}]);break;case n.ALPHANUMERIC:e.push([r,{data:r.data,mode:n.BYTE,length:r.length}]);break;case n.KANJI:e.push([r,{data:r.data,mode:n.BYTE,length:u(r.data)}]);break;case n.BYTE:e.push([{data:r.data,mode:n.BYTE,length:u(r.data)}])}}return e}(p(t,c.isKanjiModeEnabled())),e),a=h.find_path(r.map,"start","end"),s=[],o=1;o<a.length-1;o++)s.push(r.table[a[o]].node);return i.fromArray(s.reduce((function(t,e){var i=t.length-1>=0?t[t.length-1]:null;return i&&i.mode===e.mode?(t[t.length-1].data+=e.data,t):(t.push(e),t)}),[]))},i.rawSplit=function(t){return i.fromArray(p(t,c.isKanjiModeEnabled()))}},{"./alphanumeric-data":3,"./byte-data":6,"./kanji-data":12,"./mode":14,"./numeric-data":15,"./regex":19,"./utils":21,dijkstrajs:31}],21:[function(t,e,i){var n,r=[0,26,44,70,100,134,172,196,242,292,346,404,466,532,581,655,733,815,901,991,1085,1156,1258,1364,1474,1588,1706,1828,1921,2051,2185,2323,2465,2611,2761,2876,3034,3196,3362,3532,3706];i.getSymbolSize=function(t){if(!t)throw new Error('"version" cannot be null or undefined');if(t<1||t>40)throw new Error('"version" should be in range from 1 to 40');return 4*t+17},i.getSymbolTotalCodewords=function(t){return r[t]},i.getBCHDigit=function(t){for(var e=0;0!==t;)e++,t>>>=1;return e},i.setToSJISFunction=function(t){if("function"!=typeof t)throw new Error('"toSJISFunc" is not a valid function.');n=t},i.isKanjiModeEnabled=function(){return void 0!==n},i.toSJIS=function(t){return n(t)}},{}],22:[function(t,e,i){i.isValid=function(t){return!isNaN(t)&&t>=1&&t<=40}},{}],23:[function(t,e,i){var n=t("./utils"),r=t("./error-correction-code"),a=t("./error-correction-level"),s=t("./mode"),o=t("./version-check"),l=t("isarray"),c=n.getBCHDigit(7973);function h(t,e){return s.getCharCountIndicator(t,e)+4}function u(t,e){var i=0;return t.forEach((function(t){var n=h(t.mode,e);i+=n+t.getBitsLength()})),i}i.from=function(t,e){return o.isValid(t)?parseInt(t,10):e},i.getCapacity=function(t,e,i){if(!o.isValid(t))throw new Error("Invalid QR Code version");void 0===i&&(i=s.BYTE);var a=8*(n.getSymbolTotalCodewords(t)-r.getTotalCodewordsCount(t,e));if(i===s.MIXED)return a;var l=a-h(i,t);switch(i){case s.NUMERIC:return Math.floor(l/10*3);case s.ALPHANUMERIC:return Math.floor(l/11*2);case s.KANJI:return Math.floor(l/13);case s.BYTE:default:return Math.floor(l/8)}},i.getBestVersionForData=function(t,e){var n,r=a.from(e,a.M);if(l(t)){if(t.length>1)return function(t,e){for(var n=1;n<=40;n++)if(u(t,n)<=i.getCapacity(n,e,s.MIXED))return n}(t,r);if(0===t.length)return 1;n=t[0]}else n=t;return function(t,e,n){for(var r=1;r<=40;r++)if(e<=i.getCapacity(r,n,t))return r}(n.mode,n.getLength(),r)},i.getEncodedBits=function(t){if(!o.isValid(t)||t<7)throw new Error("Invalid QR Code version");for(var e=t<<12;n.getBCHDigit(e)-c>=0;)e^=7973<<n.getBCHDigit(e)-c;return t<<12|e}},{"./error-correction-code":7,"./error-correction-level":8,"./mode":14,"./utils":21,"./version-check":22,isarray:33}],24:[function(t,e,i){var n=t("./can-promise"),r=t("./core/qrcode"),a=t("./renderer/canvas"),s=t("./renderer/svg-tag.js");function o(t,e,i,a,s){var o=[].slice.call(arguments,1),l=o.length,c="function"==typeof o[l-1];if(!c&&!n())throw new Error("Callback required as last argument");if(!c){if(l<1)throw new Error("Too few arguments provided");return 1===l?(i=e,e=a=void 0):2!==l||e.getContext||(a=i,i=e,e=void 0),new Promise((function(n,s){try{var o=r.create(i,a);n(t(o,e,a))}catch(t){s(t)}}))}if(l<2)throw new Error("Too few arguments provided");2===l?(s=i,i=e,e=a=void 0):3===l&&(e.getContext&&void 0===s?(s=a,a=void 0):(s=a,a=i,i=e,e=void 0));try{var h=r.create(i,a);s(null,t(h,e,a))}catch(t){s(t)}}i.create=r.create,i.toCanvas=o.bind(null,a.render),i.toDataURL=o.bind(null,a.renderToDataURL),i.toString=o.bind(null,(function(t,e,i){return s.render(t,i)}))},{"./can-promise":1,"./core/qrcode":17,"./renderer/canvas":25,"./renderer/svg-tag.js":26}],25:[function(t,e,i){var n=t("./utils");i.render=function(t,e,i){var r=i,a=e;void 0!==r||e&&e.getContext||(r=e,e=void 0),e||(a=function(){try{return document.createElement("canvas")}catch(t){throw new Error("You need to specify a canvas element")}}()),r=n.getOptions(r);var s=n.getImageWidth(t.modules.size,r),o=a.getContext("2d"),l=o.createImageData(s,s);return n.qrToImageData(l.data,t,r),function(t,e,i){t.clearRect(0,0,e.width,e.height),e.style||(e.style={}),e.height=i,e.width=i,e.style.height=i+"px",e.style.width=i+"px"}(o,a,s),o.putImageData(l,0,0),a},i.renderToDataURL=function(t,e,n){var r=n;void 0!==r||e&&e.getContext||(r=e,e=void 0),r||(r={});var a=i.render(t,e,r),s=r.type||"image/png",o=r.rendererOpts||{};return a.toDataURL(s,o.quality)}},{"./utils":27}],26:[function(t,e,i){var n=t("./utils");function r(t,e){var i=t.a/255,n=e+'="'+t.hex+'"';return i<1?n+" "+e+'-opacity="'+i.toFixed(2).slice(1)+'"':n}function a(t,e,i){var n=t+e;return void 0!==i&&(n+=" "+i),n}i.render=function(t,e,i){var s=n.getOptions(e),o=t.modules.size,l=t.modules.data,c=o+2*s.margin,h=s.color.light.a?"<path "+r(s.color.light,"fill")+' d="M0 0h'+c+"v"+c+'H0z"/>':"",u="<path "+r(s.color.dark,"stroke")+' d="'+function(t,e,i){for(var n="",r=0,s=!1,o=0,l=0;l<t.length;l++){var c=Math.floor(l%e),h=Math.floor(l/e);c||s||(s=!0),t[l]?(o++,l>0&&c>0&&t[l-1]||(n+=s?a("M",c+i,.5+h+i):a("m",r,0),r=0,s=!1),c+1<e&&t[l+1]||(n+=a("h",o),o=0)):r++}return n}(l,o,s.margin)+'"/>',d='viewBox="0 0 '+c+" "+c+'"',p='<svg xmlns="http://www.w3.org/2000/svg" '+(s.width?'width="'+s.width+'" height="'+s.width+'" ':"")+d+' shape-rendering="crispEdges">'+h+u+"</svg>\n";return"function"==typeof i&&i(null,p),p}},{"./utils":27}],27:[function(t,e,i){function n(t){if("number"==typeof t&&(t=t.toString()),"string"!=typeof t)throw new Error("Color should be defined as hex string");var e=t.slice().replace("#","").split("");if(e.length<3||5===e.length||e.length>8)throw new Error("Invalid hex color: "+t);3!==e.length&&4!==e.length||(e=Array.prototype.concat.apply([],e.map((function(t){return[t,t]})))),6===e.length&&e.push("F","F");var i=parseInt(e.join(""),16);return{r:i>>24&255,g:i>>16&255,b:i>>8&255,a:255&i,hex:"#"+e.slice(0,6).join("")}}i.getOptions=function(t){t||(t={}),t.color||(t.color={});var e=void 0===t.margin||null===t.margin||t.margin<0?4:t.margin,i=t.width&&t.width>=21?t.width:void 0,r=t.scale||4;return{width:i,scale:i?4:r,margin:e,color:{dark:n(t.color.dark||"#000000ff"),light:n(t.color.light||"#ffffffff")},type:t.type,rendererOpts:t.rendererOpts||{}}},i.getScale=function(t,e){return e.width&&e.width>=t+2*e.margin?e.width/(t+2*e.margin):e.scale},i.getImageWidth=function(t,e){var n=i.getScale(t,e);return Math.floor((t+2*e.margin)*n)},i.qrToImageData=function(t,e,n){for(var r=e.modules.size,a=e.modules.data,s=i.getScale(r,n),o=Math.floor((r+2*n.margin)*s),l=n.margin*s,c=[n.color.light,n.color.dark],h=0;h<o;h++)for(var u=0;u<o;u++){var d=4*(h*o+u),p=n.color.light;h>=l&&u>=l&&h<o-l&&u<o-l&&(p=c[a[Math.floor((h-l)/s)*r+Math.floor((u-l)/s)]?1:0]),t[d++]=p.r,t[d++]=p.g,t[d++]=p.b,t[d]=p.a}}},{}],28:[function(t,e,i){var n=t("isarray");a.TYPED_ARRAY_SUPPORT=function(){try{var t=new Uint8Array(1);return t.__proto__={__proto__:Uint8Array.prototype,foo:function(){return 42}},42===t.foo()}catch(t){return!1}}();var r=a.TYPED_ARRAY_SUPPORT?2147483647:1073741823;function a(t,e,i){return a.TYPED_ARRAY_SUPPORT||this instanceof a?"number"==typeof t?l(this,t):function(t,e,i,n){if("number"==typeof e)throw new TypeError('"value" argument must not be a number');return"undefined"!=typeof ArrayBuffer&&e instanceof ArrayBuffer?function(t,e,i,n){if(i<0||e.byteLength<i)throw new RangeError("'offset' is out of bounds");if(e.byteLength<i+(n||0))throw new RangeError("'length' is out of bounds");var r;return r=void 0===i&&void 0===n?new Uint8Array(e):void 0===n?new Uint8Array(e,i):new Uint8Array(e,i,n),a.TYPED_ARRAY_SUPPORT?r.__proto__=a.prototype:r=c(t,r),r}(t,e,i,n):"string"==typeof e?function(t,e){var i=0|u(e),n=o(t,i),r=n.write(e);return r!==i&&(n=n.slice(0,r)),n}(t,e):function(t,e){if(a.isBuffer(e)){var i=0|s(e.length),n=o(t,i);return 0===n.length||e.copy(n,0,0,i),n}if(e){if("undefined"!=typeof ArrayBuffer&&e.buffer instanceof ArrayBuffer||"length"in e)return"number"!=typeof e.length||(r=e.length)!=r?o(t,0):c(t,e);if("Buffer"===e.type&&Array.isArray(e.data))return c(t,e.data)}var r;throw new TypeError("First argument must be a string, Buffer, ArrayBuffer, Array, or array-like object.")}(t,e)}(this,t,e,i):new a(t,e,i)}function s(t){if(t>=r)throw new RangeError("Attempt to allocate Buffer larger than maximum size: 0x"+r.toString(16)+" bytes");return 0|t}function o(t,e){var i;return a.TYPED_ARRAY_SUPPORT?(i=new Uint8Array(e)).__proto__=a.prototype:(null===(i=t)&&(i=new a(e)),i.length=e),i}function l(t,e){var i=o(t,e<0?0:0|s(e));if(!a.TYPED_ARRAY_SUPPORT)for(var n=0;n<e;++n)i[n]=0;return i}function c(t,e){for(var i=e.length<0?0:0|s(e.length),n=o(t,i),r=0;r<i;r+=1)n[r]=255&e[r];return n}function h(t,e){var i;e=e||1/0;for(var n=t.length,r=null,a=[],s=0;s<n;++s){if((i=t.charCodeAt(s))>55295&&i<57344){if(!r){if(i>56319){(e-=3)>-1&&a.push(239,191,189);continue}if(s+1===n){(e-=3)>-1&&a.push(239,191,189);continue}r=i;continue}if(i<56320){(e-=3)>-1&&a.push(239,191,189),r=i;continue}i=65536+(r-55296<<10|i-56320)}else r&&(e-=3)>-1&&a.push(239,191,189);if(r=null,i<128){if((e-=1)<0)break;a.push(i)}else if(i<2048){if((e-=2)<0)break;a.push(i>>6|192,63&i|128)}else if(i<65536){if((e-=3)<0)break;a.push(i>>12|224,i>>6&63|128,63&i|128)}else{if(!(i<1114112))throw new Error("Invalid code point");if((e-=4)<0)break;a.push(i>>18|240,i>>12&63|128,i>>6&63|128,63&i|128)}}return a}function u(t){return a.isBuffer(t)?t.length:"undefined"!=typeof ArrayBuffer&&"function"==typeof ArrayBuffer.isView&&(ArrayBuffer.isView(t)||t instanceof ArrayBuffer)?t.byteLength:("string"!=typeof t&&(t=""+t),0===t.length?0:h(t).length)}a.TYPED_ARRAY_SUPPORT&&(a.prototype.__proto__=Uint8Array.prototype,a.__proto__=Uint8Array,"undefined"!=typeof Symbol&&Symbol.species&&a[Symbol.species]===a&&Object.defineProperty(a,Symbol.species,{value:null,configurable:!0,enumerable:!1,writable:!1})),a.prototype.write=function(t,e,i){void 0===e||void 0===i&&"string"==typeof e?(i=this.length,e=0):isFinite(e)&&(e|=0,isFinite(i)?i|=0:i=void 0);var n=this.length-e;if((void 0===i||i>n)&&(i=n),t.length>0&&(i<0||e<0)||e>this.length)throw new RangeError("Attempt to write outside buffer bounds");return function(t,e,i,n){return function(t,e,i,n){for(var r=0;r<n&&!(r+i>=e.length||r>=t.length);++r)e[r+i]=t[r];return r}(h(e,t.length-i),t,i,n)}(this,t,e,i)},a.prototype.slice=function(t,e){var i,n=this.length;if((t=~~t)<0?(t+=n)<0&&(t=0):t>n&&(t=n),(e=void 0===e?n:~~e)<0?(e+=n)<0&&(e=0):e>n&&(e=n),e<t&&(e=t),a.TYPED_ARRAY_SUPPORT)(i=this.subarray(t,e)).__proto__=a.prototype;else{var r=e-t;i=new a(r,void 0);for(var s=0;s<r;++s)i[s]=this[s+t]}return i},a.prototype.copy=function(t,e,i,n){if(i||(i=0),n||0===n||(n=this.length),e>=t.length&&(e=t.length),e||(e=0),n>0&&n<i&&(n=i),n===i)return 0;if(0===t.length||0===this.length)return 0;if(e<0)throw new RangeError("targetStart out of bounds");if(i<0||i>=this.length)throw new RangeError("sourceStart out of bounds");if(n<0)throw new RangeError("sourceEnd out of bounds");n>this.length&&(n=this.length),t.length-e<n-i&&(n=t.length-e+i);var r,s=n-i;if(this===t&&i<e&&e<n)for(r=s-1;r>=0;--r)t[r+e]=this[r+i];else if(s<1e3||!a.TYPED_ARRAY_SUPPORT)for(r=0;r<s;++r)t[r+e]=this[r+i];else Uint8Array.prototype.set.call(t,this.subarray(i,i+s),e);return s},a.prototype.fill=function(t,e,i){if("string"==typeof t){if("string"==typeof e?(e=0,i=this.length):"string"==typeof i&&(i=this.length),1===t.length){var n=t.charCodeAt(0);n<256&&(t=n)}}else"number"==typeof t&&(t&=255);if(e<0||this.length<e||this.length<i)throw new RangeError("Out of range index");if(i<=e)return this;var r;if(e>>>=0,i=void 0===i?this.length:i>>>0,t||(t=0),"number"==typeof t)for(r=e;r<i;++r)this[r]=t;else{var s=a.isBuffer(t)?t:new a(t),o=s.length;for(r=0;r<i-e;++r)this[r+e]=s[r%o]}return this},a.concat=function(t,e){if(!n(t))throw new TypeError('"list" argument must be an Array of Buffers');if(0===t.length)return o(null,0);var i;if(void 0===e)for(e=0,i=0;i<t.length;++i)e+=t[i].length;var r=l(null,e),s=0;for(i=0;i<t.length;++i){var c=t[i];if(!a.isBuffer(c))throw new TypeError('"list" argument must be an Array of Buffers');c.copy(r,s),s+=c.length}return r},a.byteLength=u,a.prototype._isBuffer=!0,a.isBuffer=function(t){return!(null==t||!t._isBuffer)},e.exports.alloc=function(t){var e=new a(t);return e.fill(0),e},e.exports.from=function(t){return new a(t)}},{isarray:33}],29:[function(t,e,i){i.byteLength=function(t){var e=l(t),i=e[0],n=e[1];return 3*(i+n)/4-n},i.toByteArray=function(t){var e,i,n=l(t),s=n[0],o=n[1],c=new a(function(t,e,i){return 3*(e+i)/4-i}(0,s,o)),h=0,u=o>0?s-4:s;for(i=0;i<u;i+=4)e=r[t.charCodeAt(i)]<<18|r[t.charCodeAt(i+1)]<<12|r[t.charCodeAt(i+2)]<<6|r[t.charCodeAt(i+3)],c[h++]=e>>16&255,c[h++]=e>>8&255,c[h++]=255&e;return 2===o&&(e=r[t.charCodeAt(i)]<<2|r[t.charCodeAt(i+1)]>>4,c[h++]=255&e),1===o&&(e=r[t.charCodeAt(i)]<<10|r[t.charCodeAt(i+1)]<<4|r[t.charCodeAt(i+2)]>>2,c[h++]=e>>8&255,c[h++]=255&e),c},i.fromByteArray=function(t){for(var e,i=t.length,r=i%3,a=[],s=16383,o=0,l=i-r;o<l;o+=s)a.push(c(t,o,o+s>l?l:o+s));return 1===r?(e=t[i-1],a.push(n[e>>2]+n[e<<4&63]+"==")):2===r&&(e=(t[i-2]<<8)+t[i-1],a.push(n[e>>10]+n[e>>4&63]+n[e<<2&63]+"=")),a.join("")};for(var n=[],r=[],a="undefined"!=typeof Uint8Array?Uint8Array:Array,s="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",o=0;o<64;++o)n[o]=s[o],r[s.charCodeAt(o)]=o;function l(t){var e=t.length;if(e%4>0)throw new Error("Invalid string. Length must be a multiple of 4");var i=t.indexOf("=");return-1===i&&(i=e),[i,i===e?0:4-i%4]}function c(t,e,i){for(var r,a=[],s=e;s<i;s+=3)r=(t[s]<<16&16711680)+(t[s+1]<<8&65280)+(255&t[s+2]),a.push(n[(o=r)>>18&63]+n[o>>12&63]+n[o>>6&63]+n[63&o]);var o;return a.join("")}r["-".charCodeAt(0)]=62,r["_".charCodeAt(0)]=63},{}],30:[function(t,e,i){var r=t("base64-js"),a=t("ieee754"),s="function"==typeof Symbol&&"function"==typeof Symbol.for?Symbol.for("nodejs.util.inspect.custom"):null;i.Buffer=c,i.SlowBuffer=function(t){return+t!=t&&(t=0),c.alloc(+t)},i.INSPECT_MAX_BYTES=50;var o=2147483647;function l(t){if(t>o)throw new RangeError('The value "'+t+'" is invalid for option "size"');var e=new Uint8Array(t);return Object.setPrototypeOf(e,c.prototype),e}function c(t,e,i){if("number"==typeof t){if("string"==typeof e)throw new TypeError('The "string" argument must be of type string. Received type number');return d(t)}return h(t,e,i)}function h(t,e,i){if("string"==typeof t)return function(t,e){if("string"==typeof e&&""!==e||(e="utf8"),!c.isEncoding(e))throw new TypeError("Unknown encoding: "+e);var i=0|A(t,e),n=l(i),r=n.write(t,e);return r!==i&&(n=n.slice(0,r)),n}(t,e);if(ArrayBuffer.isView(t))return p(t);if(null==t)throw new TypeError("The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type "+typeof t);if(F(t,ArrayBuffer)||t&&F(t.buffer,ArrayBuffer))return function(t,e,i){if(e<0||t.byteLength<e)throw new RangeError('"offset" is outside of buffer bounds');if(t.byteLength<e+(i||0))throw new RangeError('"length" is outside of buffer bounds');var n;return n=void 0===e&&void 0===i?new Uint8Array(t):void 0===i?new Uint8Array(t,e):new Uint8Array(t,e,i),Object.setPrototypeOf(n,c.prototype),n}(t,e,i);if("number"==typeof t)throw new TypeError('The "value" argument must not be of type number. Received type number');var n=t.valueOf&&t.valueOf();if(null!=n&&n!==t)return c.from(n,e,i);var r=function(t){if(c.isBuffer(t)){var e=0|f(t.length),i=l(e);return 0===i.length||t.copy(i,0,0,e),i}return void 0!==t.length?"number"!=typeof t.length||z(t.length)?l(0):p(t):"Buffer"===t.type&&Array.isArray(t.data)?p(t.data):void 0}(t);if(r)return r;if("undefined"!=typeof Symbol&&null!=Symbol.toPrimitive&&"function"==typeof t[Symbol.toPrimitive])return c.from(t[Symbol.toPrimitive]("string"),e,i);throw new TypeError("The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type "+typeof t)}function u(t){if("number"!=typeof t)throw new TypeError('"size" argument must be of type number');if(t<0)throw new RangeError('The value "'+t+'" is invalid for option "size"')}function d(t){return u(t),l(t<0?0:0|f(t))}function p(t){for(var e=t.length<0?0:0|f(t.length),i=l(e),n=0;n<e;n+=1)i[n]=255&t[n];return i}function f(t){if(t>=o)throw new RangeError("Attempt to allocate Buffer larger than maximum size: 0x"+o.toString(16)+" bytes");return 0|t}function A(t,e){if(c.isBuffer(t))return t.length;if(ArrayBuffer.isView(t)||F(t,ArrayBuffer))return t.byteLength;if("string"!=typeof t)throw new TypeError('The "string" argument must be one of type string, Buffer, or ArrayBuffer. Received type '+typeof t);var i=t.length,n=arguments.length>2&&!0===arguments[2];if(!n&&0===i)return 0;for(var r=!1;;)switch(e){case"ascii":case"latin1":case"binary":return i;case"utf8":case"utf-8":return M(t).length;case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return 2*i;case"hex":return i>>>1;case"base64":return U(t).length;default:if(r)return n?-1:M(t).length;e=(""+e).toLowerCase(),r=!0}}function g(t,e,i){var n=!1;if((void 0===e||e<0)&&(e=0),e>this.length)return"";if((void 0===i||i>this.length)&&(i=this.length),i<=0)return"";if((i>>>=0)<=(e>>>=0))return"";for(t||(t="utf8");;)switch(t){case"hex":return D(this,e,i);case"utf8":case"utf-8":return T(this,e,i);case"ascii":return k(this,e,i);case"latin1":case"binary":return R(this,e,i);case"base64":return x(this,e,i);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return I(this,e,i);default:if(n)throw new TypeError("Unknown encoding: "+t);t=(t+"").toLowerCase(),n=!0}}function m(t,e,i){var n=t[e];t[e]=t[i],t[i]=n}function v(t,e,i,n,r){if(0===t.length)return-1;if("string"==typeof i?(n=i,i=0):i>2147483647?i=2147483647:i<-2147483648&&(i=-2147483648),z(i=+i)&&(i=r?0:t.length-1),i<0&&(i=t.length+i),i>=t.length){if(r)return-1;i=t.length-1}else if(i<0){if(!r)return-1;i=0}if("string"==typeof e&&(e=c.from(e,n)),c.isBuffer(e))return 0===e.length?-1:_(t,e,i,n,r);if("number"==typeof e)return e&=255,"function"==typeof Uint8Array.prototype.indexOf?r?Uint8Array.prototype.indexOf.call(t,e,i):Uint8Array.prototype.lastIndexOf.call(t,e,i):_(t,[e],i,n,r);throw new TypeError("val must be string, number or Buffer")}function _(t,e,i,n,r){var a,s=1,o=t.length,l=e.length;if(void 0!==n&&("ucs2"===(n=String(n).toLowerCase())||"ucs-2"===n||"utf16le"===n||"utf-16le"===n)){if(t.length<2||e.length<2)return-1;s=2,o/=2,l/=2,i/=2}function c(t,e){return 1===s?t[e]:t.readUInt16BE(e*s)}if(r){var h=-1;for(a=i;a<o;a++)if(c(t,a)===c(e,-1===h?0:a-h)){if(-1===h&&(h=a),a-h+1===l)return h*s}else-1!==h&&(a-=a-h),h=-1}else for(i+l>o&&(i=o-l),a=i;a>=0;a--){for(var u=!0,d=0;d<l;d++)if(c(t,a+d)!==c(e,d)){u=!1;break}if(u)return a}return-1}function y(t,e,i,n){i=Number(i)||0;var r=t.length-i;n?(n=Number(n))>r&&(n=r):n=r;var a=e.length;n>a/2&&(n=a/2);for(var s=0;s<n;++s){var o=parseInt(e.substr(2*s,2),16);if(z(o))return s;t[i+s]=o}return s}function w(t,e,i,n){return V(M(e,t.length-i),t,i,n)}function C(t,e,i,n){return V(function(t){for(var e=[],i=0;i<t.length;++i)e.push(255&t.charCodeAt(i));return e}(e),t,i,n)}function E(t,e,i,n){return C(t,e,i,n)}function b(t,e,i,n){return V(U(e),t,i,n)}function S(t,e,i,n){return V(function(t,e){for(var i,n,r,a=[],s=0;s<t.length&&!((e-=2)<0);++s)n=(i=t.charCodeAt(s))>>8,r=i%256,a.push(r),a.push(n);return a}(e,t.length-i),t,i,n)}function x(t,e,i){return 0===e&&i===t.length?r.fromByteArray(t):r.fromByteArray(t.slice(e,i))}function T(t,e,i){i=Math.min(t.length,i);for(var n=[],r=e;r<i;){var a,s,o,l,c=t[r],h=null,u=c>239?4:c>223?3:c>191?2:1;if(r+u<=i)switch(u){case 1:c<128&&(h=c);break;case 2:128==(192&(a=t[r+1]))&&(l=(31&c)<<6|63&a)>127&&(h=l);break;case 3:a=t[r+1],s=t[r+2],128==(192&a)&&128==(192&s)&&(l=(15&c)<<12|(63&a)<<6|63&s)>2047&&(l<55296||l>57343)&&(h=l);break;case 4:a=t[r+1],s=t[r+2],o=t[r+3],128==(192&a)&&128==(192&s)&&128==(192&o)&&(l=(15&c)<<18|(63&a)<<12|(63&s)<<6|63&o)>65535&&l<1114112&&(h=l)}null===h?(h=65533,u=1):h>65535&&(h-=65536,n.push(h>>>10&1023|55296),h=56320|1023&h),n.push(h),r+=u}return function(t){var e=t.length;if(e<=P)return String.fromCharCode.apply(String,t);for(var i="",n=0;n<e;)i+=String.fromCharCode.apply(String,t.slice(n,n+=P));return i}(n)}i.kMaxLength=o,c.TYPED_ARRAY_SUPPORT=function(){try{var t=new Uint8Array(1),e={foo:function(){return 42}};return Object.setPrototypeOf(e,Uint8Array.prototype),Object.setPrototypeOf(t,e),42===t.foo()}catch(t){return!1}}(),c.TYPED_ARRAY_SUPPORT||void 0===n||"function"!=typeof n.error||n.error("This browser lacks typed array (Uint8Array) support which is required by `buffer` v5.x. Use `buffer` v4.x if you require old browser support."),Object.defineProperty(c.prototype,"parent",{enumerable:!0,get:function(){if(c.isBuffer(this))return this.buffer}}),Object.defineProperty(c.prototype,"offset",{enumerable:!0,get:function(){if(c.isBuffer(this))return this.byteOffset}}),"undefined"!=typeof Symbol&&null!=Symbol.species&&c[Symbol.species]===c&&Object.defineProperty(c,Symbol.species,{value:null,configurable:!0,enumerable:!1,writable:!1}),c.poolSize=8192,c.from=function(t,e,i){return h(t,e,i)},Object.setPrototypeOf(c.prototype,Uint8Array.prototype),Object.setPrototypeOf(c,Uint8Array),c.alloc=function(t,e,i){return function(t,e,i){return u(t),t<=0?l(t):void 0!==e?"string"==typeof i?l(t).fill(e,i):l(t).fill(e):l(t)}(t,e,i)},c.allocUnsafe=function(t){return d(t)},c.allocUnsafeSlow=function(t){return d(t)},c.isBuffer=function(t){return null!=t&&!0===t._isBuffer&&t!==c.prototype},c.compare=function(t,e){if(F(t,Uint8Array)&&(t=c.from(t,t.offset,t.byteLength)),F(e,Uint8Array)&&(e=c.from(e,e.offset,e.byteLength)),!c.isBuffer(t)||!c.isBuffer(e))throw new TypeError('The "buf1", "buf2" arguments must be one of type Buffer or Uint8Array');if(t===e)return 0;for(var i=t.length,n=e.length,r=0,a=Math.min(i,n);r<a;++r)if(t[r]!==e[r]){i=t[r],n=e[r];break}return i<n?-1:n<i?1:0},c.isEncoding=function(t){switch(String(t).toLowerCase()){case"hex":case"utf8":case"utf-8":case"ascii":case"latin1":case"binary":case"base64":case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return!0;default:return!1}},c.concat=function(t,e){if(!Array.isArray(t))throw new TypeError('"list" argument must be an Array of Buffers');if(0===t.length)return c.alloc(0);var i;if(void 0===e)for(e=0,i=0;i<t.length;++i)e+=t[i].length;var n=c.allocUnsafe(e),r=0;for(i=0;i<t.length;++i){var a=t[i];if(F(a,Uint8Array)&&(a=c.from(a)),!c.isBuffer(a))throw new TypeError('"list" argument must be an Array of Buffers');a.copy(n,r),r+=a.length}return n},c.byteLength=A,c.prototype._isBuffer=!0,c.prototype.swap16=function(){var t=this.length;if(t%2!=0)throw new RangeError("Buffer size must be a multiple of 16-bits");for(var e=0;e<t;e+=2)m(this,e,e+1);return this},c.prototype.swap32=function(){var t=this.length;if(t%4!=0)throw new RangeError("Buffer size must be a multiple of 32-bits");for(var e=0;e<t;e+=4)m(this,e,e+3),m(this,e+1,e+2);return this},c.prototype.swap64=function(){var t=this.length;if(t%8!=0)throw new RangeError("Buffer size must be a multiple of 64-bits");for(var e=0;e<t;e+=8)m(this,e,e+7),m(this,e+1,e+6),m(this,e+2,e+5),m(this,e+3,e+4);return this},c.prototype.toString=function(){var t=this.length;return 0===t?"":0===arguments.length?T(this,0,t):g.apply(this,arguments)},c.prototype.toLocaleString=c.prototype.toString,c.prototype.equals=function(t){if(!c.isBuffer(t))throw new TypeError("Argument must be a Buffer");return this===t||0===c.compare(this,t)},c.prototype.inspect=function(){var t="",e=i.INSPECT_MAX_BYTES;return t=this.toString("hex",0,e).replace(/(.{2})/g,"$1 ").trim(),this.length>e&&(t+=" ... "),"<Buffer "+t+">"},s&&(c.prototype[s]=c.prototype.inspect),c.prototype.compare=function(t,e,i,n,r){if(F(t,Uint8Array)&&(t=c.from(t,t.offset,t.byteLength)),!c.isBuffer(t))throw new TypeError('The "target" argument must be one of type Buffer or Uint8Array. Received type '+typeof t);if(void 0===e&&(e=0),void 0===i&&(i=t?t.length:0),void 0===n&&(n=0),void 0===r&&(r=this.length),e<0||i>t.length||n<0||r>this.length)throw new RangeError("out of range index");if(n>=r&&e>=i)return 0;if(n>=r)return-1;if(e>=i)return 1;if(this===t)return 0;for(var a=(r>>>=0)-(n>>>=0),s=(i>>>=0)-(e>>>=0),o=Math.min(a,s),l=this.slice(n,r),h=t.slice(e,i),u=0;u<o;++u)if(l[u]!==h[u]){a=l[u],s=h[u];break}return a<s?-1:s<a?1:0},c.prototype.includes=function(t,e,i){return-1!==this.indexOf(t,e,i)},c.prototype.indexOf=function(t,e,i){return v(this,t,e,i,!0)},c.prototype.lastIndexOf=function(t,e,i){return v(this,t,e,i,!1)},c.prototype.write=function(t,e,i,n){if(void 0===e)n="utf8",i=this.length,e=0;else if(void 0===i&&"string"==typeof e)n=e,i=this.length,e=0;else{if(!isFinite(e))throw new Error("Buffer.write(string, encoding, offset[, length]) is no longer supported");e>>>=0,isFinite(i)?(i>>>=0,void 0===n&&(n="utf8")):(n=i,i=void 0)}var r=this.length-e;if((void 0===i||i>r)&&(i=r),t.length>0&&(i<0||e<0)||e>this.length)throw new RangeError("Attempt to write outside buffer bounds");n||(n="utf8");for(var a=!1;;)switch(n){case"hex":return y(this,t,e,i);case"utf8":case"utf-8":return w(this,t,e,i);case"ascii":return C(this,t,e,i);case"latin1":case"binary":return E(this,t,e,i);case"base64":return b(this,t,e,i);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return S(this,t,e,i);default:if(a)throw new TypeError("Unknown encoding: "+n);n=(""+n).toLowerCase(),a=!0}},c.prototype.toJSON=function(){return{type:"Buffer",data:Array.prototype.slice.call(this._arr||this,0)}};var P=4096;function k(t,e,i){var n="";i=Math.min(t.length,i);for(var r=e;r<i;++r)n+=String.fromCharCode(127&t[r]);return n}function R(t,e,i){var n="";i=Math.min(t.length,i);for(var r=e;r<i;++r)n+=String.fromCharCode(t[r]);return n}function D(t,e,i){var n=t.length;(!e||e<0)&&(e=0),(!i||i<0||i>n)&&(i=n);for(var r="",a=e;a<i;++a)r+=j[t[a]];return r}function I(t,e,i){for(var n=t.slice(e,i),r="",a=0;a<n.length;a+=2)r+=String.fromCharCode(n[a]+256*n[a+1]);return r}function B(t,e,i){if(t%1!=0||t<0)throw new RangeError("offset is not uint");if(t+e>i)throw new RangeError("Trying to access beyond buffer length")}function N(t,e,i,n,r,a){if(!c.isBuffer(t))throw new TypeError('"buffer" argument must be a Buffer instance');if(e>r||e<a)throw new RangeError('"value" argument is out of bounds');if(i+n>t.length)throw new RangeError("Index out of range")}function L(t,e,i,n,r,a){if(i+n>t.length)throw new RangeError("Index out of range");if(i<0)throw new RangeError("Index out of range")}function H(t,e,i,n,r){return e=+e,i>>>=0,r||L(t,0,i,4),a.write(t,e,i,n,23,4),i+4}function O(t,e,i,n,r){return e=+e,i>>>=0,r||L(t,0,i,8),a.write(t,e,i,n,52,8),i+8}c.prototype.slice=function(t,e){var i=this.length;(t=~~t)<0?(t+=i)<0&&(t=0):t>i&&(t=i),(e=void 0===e?i:~~e)<0?(e+=i)<0&&(e=0):e>i&&(e=i),e<t&&(e=t);var n=this.subarray(t,e);return Object.setPrototypeOf(n,c.prototype),n},c.prototype.readUIntLE=function(t,e,i){t>>>=0,e>>>=0,i||B(t,e,this.length);for(var n=this[t],r=1,a=0;++a<e&&(r*=256);)n+=this[t+a]*r;return n},c.prototype.readUIntBE=function(t,e,i){t>>>=0,e>>>=0,i||B(t,e,this.length);for(var n=this[t+--e],r=1;e>0&&(r*=256);)n+=this[t+--e]*r;return n},c.prototype.readUInt8=function(t,e){return t>>>=0,e||B(t,1,this.length),this[t]},c.prototype.readUInt16LE=function(t,e){return t>>>=0,e||B(t,2,this.length),this[t]|this[t+1]<<8},c.prototype.readUInt16BE=function(t,e){return t>>>=0,e||B(t,2,this.length),this[t]<<8|this[t+1]},c.prototype.readUInt32LE=function(t,e){return t>>>=0,e||B(t,4,this.length),(this[t]|this[t+1]<<8|this[t+2]<<16)+16777216*this[t+3]},c.prototype.readUInt32BE=function(t,e){return t>>>=0,e||B(t,4,this.length),16777216*this[t]+(this[t+1]<<16|this[t+2]<<8|this[t+3])},c.prototype.readIntLE=function(t,e,i){t>>>=0,e>>>=0,i||B(t,e,this.length);for(var n=this[t],r=1,a=0;++a<e&&(r*=256);)n+=this[t+a]*r;return n>=(r*=128)&&(n-=Math.pow(2,8*e)),n},c.prototype.readIntBE=function(t,e,i){t>>>=0,e>>>=0,i||B(t,e,this.length);for(var n=e,r=1,a=this[t+--n];n>0&&(r*=256);)a+=this[t+--n]*r;return a>=(r*=128)&&(a-=Math.pow(2,8*e)),a},c.prototype.readInt8=function(t,e){return t>>>=0,e||B(t,1,this.length),128&this[t]?-1*(255-this[t]+1):this[t]},c.prototype.readInt16LE=function(t,e){t>>>=0,e||B(t,2,this.length);var i=this[t]|this[t+1]<<8;return 32768&i?4294901760|i:i},c.prototype.readInt16BE=function(t,e){t>>>=0,e||B(t,2,this.length);var i=this[t+1]|this[t]<<8;return 32768&i?4294901760|i:i},c.prototype.readInt32LE=function(t,e){return t>>>=0,e||B(t,4,this.length),this[t]|this[t+1]<<8|this[t+2]<<16|this[t+3]<<24},c.prototype.readInt32BE=function(t,e){return t>>>=0,e||B(t,4,this.length),this[t]<<24|this[t+1]<<16|this[t+2]<<8|this[t+3]},c.prototype.readFloatLE=function(t,e){return t>>>=0,e||B(t,4,this.length),a.read(this,t,!0,23,4)},c.prototype.readFloatBE=function(t,e){return t>>>=0,e||B(t,4,this.length),a.read(this,t,!1,23,4)},c.prototype.readDoubleLE=function(t,e){return t>>>=0,e||B(t,8,this.length),a.read(this,t,!0,52,8)},c.prototype.readDoubleBE=function(t,e){return t>>>=0,e||B(t,8,this.length),a.read(this,t,!1,52,8)},c.prototype.writeUIntLE=function(t,e,i,n){t=+t,e>>>=0,i>>>=0,n||N(this,t,e,i,Math.pow(2,8*i)-1,0);var r=1,a=0;for(this[e]=255&t;++a<i&&(r*=256);)this[e+a]=t/r&255;return e+i},c.prototype.writeUIntBE=function(t,e,i,n){t=+t,e>>>=0,i>>>=0,n||N(this,t,e,i,Math.pow(2,8*i)-1,0);var r=i-1,a=1;for(this[e+r]=255&t;--r>=0&&(a*=256);)this[e+r]=t/a&255;return e+i},c.prototype.writeUInt8=function(t,e,i){return t=+t,e>>>=0,i||N(this,t,e,1,255,0),this[e]=255&t,e+1},c.prototype.writeUInt16LE=function(t,e,i){return t=+t,e>>>=0,i||N(this,t,e,2,65535,0),this[e]=255&t,this[e+1]=t>>>8,e+2},c.prototype.writeUInt16BE=function(t,e,i){return t=+t,e>>>=0,i||N(this,t,e,2,65535,0),this[e]=t>>>8,this[e+1]=255&t,e+2},c.prototype.writeUInt32LE=function(t,e,i){return t=+t,e>>>=0,i||N(this,t,e,4,4294967295,0),this[e+3]=t>>>24,this[e+2]=t>>>16,this[e+1]=t>>>8,this[e]=255&t,e+4},c.prototype.writeUInt32BE=function(t,e,i){return t=+t,e>>>=0,i||N(this,t,e,4,4294967295,0),this[e]=t>>>24,this[e+1]=t>>>16,this[e+2]=t>>>8,this[e+3]=255&t,e+4},c.prototype.writeIntLE=function(t,e,i,n){if(t=+t,e>>>=0,!n){var r=Math.pow(2,8*i-1);N(this,t,e,i,r-1,-r)}var a=0,s=1,o=0;for(this[e]=255&t;++a<i&&(s*=256);)t<0&&0===o&&0!==this[e+a-1]&&(o=1),this[e+a]=(t/s>>0)-o&255;return e+i},c.prototype.writeIntBE=function(t,e,i,n){if(t=+t,e>>>=0,!n){var r=Math.pow(2,8*i-1);N(this,t,e,i,r-1,-r)}var a=i-1,s=1,o=0;for(this[e+a]=255&t;--a>=0&&(s*=256);)t<0&&0===o&&0!==this[e+a+1]&&(o=1),this[e+a]=(t/s>>0)-o&255;return e+i},c.prototype.writeInt8=function(t,e,i){return t=+t,e>>>=0,i||N(this,t,e,1,127,-128),t<0&&(t=255+t+1),this[e]=255&t,e+1},c.prototype.writeInt16LE=function(t,e,i){return t=+t,e>>>=0,i||N(this,t,e,2,32767,-32768),this[e]=255&t,this[e+1]=t>>>8,e+2},c.prototype.writeInt16BE=function(t,e,i){return t=+t,e>>>=0,i||N(this,t,e,2,32767,-32768),this[e]=t>>>8,this[e+1]=255&t,e+2},c.prototype.writeInt32LE=function(t,e,i){return t=+t,e>>>=0,i||N(this,t,e,4,2147483647,-2147483648),this[e]=255&t,this[e+1]=t>>>8,this[e+2]=t>>>16,this[e+3]=t>>>24,e+4},c.prototype.writeInt32BE=function(t,e,i){return t=+t,e>>>=0,i||N(this,t,e,4,2147483647,-2147483648),t<0&&(t=4294967295+t+1),this[e]=t>>>24,this[e+1]=t>>>16,this[e+2]=t>>>8,this[e+3]=255&t,e+4},c.prototype.writeFloatLE=function(t,e,i){return H(this,t,e,!0,i)},c.prototype.writeFloatBE=function(t,e,i){return H(this,t,e,!1,i)},c.prototype.writeDoubleLE=function(t,e,i){return O(this,t,e,!0,i)},c.prototype.writeDoubleBE=function(t,e,i){return O(this,t,e,!1,i)},c.prototype.copy=function(t,e,i,n){if(!c.isBuffer(t))throw new TypeError("argument should be a Buffer");if(i||(i=0),n||0===n||(n=this.length),e>=t.length&&(e=t.length),e||(e=0),n>0&&n<i&&(n=i),n===i)return 0;if(0===t.length||0===this.length)return 0;if(e<0)throw new RangeError("targetStart out of bounds");if(i<0||i>=this.length)throw new RangeError("Index out of range");if(n<0)throw new RangeError("sourceEnd out of bounds");n>this.length&&(n=this.length),t.length-e<n-i&&(n=t.length-e+i);var r=n-i;if(this===t&&"function"==typeof Uint8Array.prototype.copyWithin)this.copyWithin(e,i,n);else if(this===t&&i<e&&e<n)for(var a=r-1;a>=0;--a)t[a+e]=this[a+i];else Uint8Array.prototype.set.call(t,this.subarray(i,n),e);return r},c.prototype.fill=function(t,e,i,n){if("string"==typeof t){if("string"==typeof e?(n=e,e=0,i=this.length):"string"==typeof i&&(n=i,i=this.length),void 0!==n&&"string"!=typeof n)throw new TypeError("encoding must be a string");if("string"==typeof n&&!c.isEncoding(n))throw new TypeError("Unknown encoding: "+n);if(1===t.length){var r=t.charCodeAt(0);("utf8"===n&&r<128||"latin1"===n)&&(t=r)}}else"number"==typeof t?t&=255:"boolean"==typeof t&&(t=Number(t));if(e<0||this.length<e||this.length<i)throw new RangeError("Out of range index");if(i<=e)return this;var a;if(e>>>=0,i=void 0===i?this.length:i>>>0,t||(t=0),"number"==typeof t)for(a=e;a<i;++a)this[a]=t;else{var s=c.isBuffer(t)?t:c.from(t,n),o=s.length;if(0===o)throw new TypeError('The value "'+t+'" is invalid for argument "value"');for(a=0;a<i-e;++a)this[a+e]=s[a%o]}return this};var Y=/[^+/0-9A-Za-z-_]/g;function M(t,e){var i;e=e||1/0;for(var n=t.length,r=null,a=[],s=0;s<n;++s){if((i=t.charCodeAt(s))>55295&&i<57344){if(!r){if(i>56319){(e-=3)>-1&&a.push(239,191,189);continue}if(s+1===n){(e-=3)>-1&&a.push(239,191,189);continue}r=i;continue}if(i<56320){(e-=3)>-1&&a.push(239,191,189),r=i;continue}i=65536+(r-55296<<10|i-56320)}else r&&(e-=3)>-1&&a.push(239,191,189);if(r=null,i<128){if((e-=1)<0)break;a.push(i)}else if(i<2048){if((e-=2)<0)break;a.push(i>>6|192,63&i|128)}else if(i<65536){if((e-=3)<0)break;a.push(i>>12|224,i>>6&63|128,63&i|128)}else{if(!(i<1114112))throw new Error("Invalid code point");if((e-=4)<0)break;a.push(i>>18|240,i>>12&63|128,i>>6&63|128,63&i|128)}}return a}function U(t){return r.toByteArray(function(t){if((t=(t=t.split("=")[0]).trim().replace(Y,"")).length<2)return"";for(;t.length%4!=0;)t+="=";return t}(t))}function V(t,e,i,n){for(var r=0;r<n&&!(r+i>=e.length||r>=t.length);++r)e[r+i]=t[r];return r}function F(t,e){return t instanceof e||null!=t&&null!=t.constructor&&null!=t.constructor.name&&t.constructor.name===e.name}function z(t){return t!=t}var j=function(){for(var t="0123456789abcdef",e=new Array(256),i=0;i<16;++i)for(var n=16*i,r=0;r<16;++r)e[n+r]=t[i]+t[r];return e}()},{"base64-js":29,ieee754:32}],31:[function(t,e,i){var n={single_source_shortest_paths:function(t,e,i){var r={},a={};a[e]=0;var s,o,l,c,h,u,d,p=n.PriorityQueue.make();for(p.push(e,0);!p.empty();)for(l in o=(s=p.pop()).value,c=s.cost,h=t[o]||{})h.hasOwnProperty(l)&&(u=c+h[l],d=a[l],(void 0===a[l]||d>u)&&(a[l]=u,p.push(l,u),r[l]=o));if(void 0!==i&&void 0===a[i]){var f=["Could not find a path from ",e," to ",i,"."].join("");throw new Error(f)}return r},extract_shortest_path_from_predecessor_list:function(t,e){for(var i=[],n=e;n;)i.push(n),t[n],n=t[n];return i.reverse(),i},find_path:function(t,e,i){var r=n.single_source_shortest_paths(t,e,i);return n.extract_shortest_path_from_predecessor_list(r,i)},PriorityQueue:{make:function(t){var e,i=n.PriorityQueue,r={};for(e in t=t||{},i)i.hasOwnProperty(e)&&(r[e]=i[e]);return r.queue=[],r.sorter=t.sorter||i.default_sorter,r},default_sorter:function(t,e){return t.cost-e.cost},push:function(t,e){var i={value:t,cost:e};this.queue.push(i),this.queue.sort(this.sorter)},pop:function(){return this.queue.shift()},empty:function(){return 0===this.queue.length}}};void 0!==e&&(e.exports=n)},{}],32:[function(t,e,i){i.read=function(t,e,i,n,r){var a,s,o=8*r-n-1,l=(1<<o)-1,c=l>>1,h=-7,u=i?r-1:0,d=i?-1:1,p=t[e+u];for(u+=d,a=p&(1<<-h)-1,p>>=-h,h+=o;h>0;a=256*a+t[e+u],u+=d,h-=8);for(s=a&(1<<-h)-1,a>>=-h,h+=n;h>0;s=256*s+t[e+u],u+=d,h-=8);if(0===a)a=1-c;else{if(a===l)return s?NaN:1/0*(p?-1:1);s+=Math.pow(2,n),a-=c}return(p?-1:1)*s*Math.pow(2,a-n)},i.write=function(t,e,i,n,r,a){var s,o,l,c=8*a-r-1,h=(1<<c)-1,u=h>>1,d=23===r?Math.pow(2,-24)-Math.pow(2,-77):0,p=n?0:a-1,f=n?1:-1,A=e<0||0===e&&1/e<0?1:0;for(e=Math.abs(e),isNaN(e)||e===1/0?(o=isNaN(e)?1:0,s=h):(s=Math.floor(Math.log(e)/Math.LN2),e*(l=Math.pow(2,-s))<1&&(s--,l*=2),(e+=s+u>=1?d/l:d*Math.pow(2,1-u))*l>=2&&(s++,l/=2),s+u>=h?(o=0,s=h):s+u>=1?(o=(e*l-1)*Math.pow(2,r),s+=u):(o=e*Math.pow(2,u-1)*Math.pow(2,r),s=0));r>=8;t[i+p]=255&o,p+=f,o/=256,r-=8);for(s=s<<r|o,c+=r;c>0;t[i+p]=255&s,p+=f,s/=256,c-=8);t[i+p-f]|=128*A}},{}],33:[function(t,e,i){var n={}.toString;e.exports=Array.isArray||function(t){return"[object Array]"==n.call(t)}},{}]},{},[24])(24)},e.exports=r()}));return{name:"qrcode",props:{value:null,options:Object,tag:{type:String,default:"canvas"}},render:function(t){return t(this.tag,this.$slots.default)},watch:{$props:{deep:!0,immediate:!0,handler:function(){this.$el&&this.generate()}}},methods:{generate:function(){var t=this,i=this.options,n=this.tag,r=String(this.value);"canvas"===n?e.toCanvas(this.$el,r,i,(function(t){if(t)throw t})):"img"===n?e.toDataURL(r,i,(function(e,i){if(e)throw e;t.$el.src=i})):e.toString(r,i,(function(e,i){if(e)throw e;t.$el.innerHTML=i}))}},mounted:function(){this.generate()}}}()},86243:(t,e,i)=>{"use strict";i.d(e,{A:()=>o});var n=i(71354),r=i.n(n),a=i(76314),s=i.n(a)()(r());s.push([t.id,".fade-enter-active[data-v-8e58e0a5],\n.fade-leave-active[data-v-8e58e0a5] {\n  transition: opacity .3s ease;\n}\n.fade-enter[data-v-8e58e0a5],\n.fade-leave-to[data-v-8e58e0a5] {\n  opacity: 0;\n}\n.linked-icons[data-v-8e58e0a5] {\n  display: flex;\n}\n.linked-icons img[data-v-8e58e0a5] {\n  padding: 12px;\n  height: 44px;\n  display: block;\n  background-repeat: no-repeat;\n  background-position: center;\n  opacity: .7;\n}\n.linked-icons img[data-v-8e58e0a5]:hover {\n  opacity: 1;\n}\n.popovermenu[data-v-8e58e0a5] {\n  display: none;\n}\n.popovermenu.open[data-v-8e58e0a5] {\n  display: block;\n}\nli.collection-list-item[data-v-8e58e0a5] {\n  flex-wrap: wrap;\n  height: auto;\n  cursor: pointer;\n  margin-bottom: 0 !important;\n}\nli.collection-list-item .collection-avatar[data-v-8e58e0a5] {\n  margin-top: 6px;\n}\nli.collection-list-item form[data-v-8e58e0a5],\nli.collection-list-item .collection-item-name[data-v-8e58e0a5] {\n  flex-basis: 10%;\n  flex-grow: 1;\n  display: flex;\n}\nli.collection-list-item .collection-item-name[data-v-8e58e0a5] {\n  padding: 12px 9px;\n}\nli.collection-list-item input[data-v-8e58e0a5] {\n  margin-top: 4px;\n  border-color: var(--color-border-maxcontrast);\n}\nli.collection-list-item input[type=text][data-v-8e58e0a5] {\n  flex-grow: 1;\n}\nli.collection-list-item .error[data-v-8e58e0a5],\nli.collection-list-item .resource-list-details[data-v-8e58e0a5] {\n  flex-basis: 100%;\n  width: 100%;\n}\nli.collection-list-item .resource-list-details li[data-v-8e58e0a5] {\n  display: flex;\n  margin-left: 44px;\n  border-radius: 3px;\n  cursor: pointer;\n}\nli.collection-list-item .resource-list-details li[data-v-8e58e0a5]:hover {\n  background-color: var(--color-background-dark);\n}\nli.collection-list-item .resource-list-details li a[data-v-8e58e0a5] {\n  flex-grow: 1;\n  padding: 3px;\n  max-width: calc(100% - 30px);\n  display: flex;\n}\nli.collection-list-item .resource-list-details span[data-v-8e58e0a5] {\n  display: inline-block;\n  vertical-align: top;\n  margin-right: 10px;\n}\nli.collection-list-item .resource-list-details span.resource-name[data-v-8e58e0a5] {\n  text-overflow: ellipsis;\n  overflow: hidden;\n  position: relative;\n  vertical-align: top;\n  white-space: nowrap;\n  flex-grow: 1;\n  padding: 4px;\n}\nli.collection-list-item .resource-list-details img[data-v-8e58e0a5] {\n  width: 24px;\n  height: 24px;\n}\nli.collection-list-item .resource-list-details .icon-close[data-v-8e58e0a5] {\n  opacity: .7;\n}\nli.collection-list-item .resource-list-details .icon-close[data-v-8e58e0a5]:hover,\nli.collection-list-item .resource-list-details .icon-close[data-v-8e58e0a5]:focus {\n  opacity: 1;\n}\n.shouldshake[data-v-8e58e0a5] {\n  animation: shake-8e58e0a5 .6s 1 linear;\n}\n@keyframes shake-8e58e0a5 {\n  0% {\n    transform: translate(15px);\n  }\n  20% {\n    transform: translate(-15px);\n  }\n  40% {\n    transform: translate(7px);\n  }\n  60% {\n    transform: translate(-7px);\n  }\n  80% {\n    transform: translate(3px);\n  }\n  to {\n    transform: translate(0);\n  }\n}\n.collection-list *[data-v-75a4370b] {\n  box-sizing: border-box;\n}\n.collection-list > li[data-v-75a4370b] {\n  display: flex;\n  align-items: start;\n  gap: 12px;\n}\n.collection-list > li > .avatar[data-v-75a4370b] {\n  margin-top: auto;\n}\n#collection-select-container[data-v-75a4370b] {\n  display: flex;\n  flex-direction: column;\n}\n.v-select span.avatar[data-v-75a4370b] {\n  display: block;\n  padding: 16px;\n  opacity: .7;\n  background-repeat: no-repeat;\n  background-position: center;\n}\n.v-select span.avatar[data-v-75a4370b]:hover {\n  opacity: 1;\n}\np.hint[data-v-75a4370b] {\n  z-index: 1;\n  margin-top: -16px;\n  padding: 8px;\n  color: var(--color-text-maxcontrast);\n  line-height: normal;\n}\ndiv.avatar[data-v-75a4370b] {\n  width: 32px;\n  height: 32px;\n  margin: 30px 0 0;\n  padding: 8px;\n  background-color: var(--color-background-dark);\n}\n.icon-projects[data-v-75a4370b] {\n  display: block;\n  padding: 8px;\n  background-repeat: no-repeat;\n  background-position: center;\n}\n.option__wrapper[data-v-75a4370b] {\n  display: flex;\n}\n.option__wrapper .avatar[data-v-75a4370b] {\n  display: block;\n  background-color: var(--color-background-darker) !important;\n}\n.option__wrapper .option__title[data-v-75a4370b] {\n  padding: 4px;\n}\n.fade-enter-active[data-v-75a4370b],\n.fade-leave-active[data-v-75a4370b] {\n  transition: opacity .5s;\n}\n.fade-enter[data-v-75a4370b],\n.fade-leave-to[data-v-75a4370b] {\n  opacity: 0;\n}\n","",{version:3,sources:["webpack://./node_modules/nextcloud-vue-collections/dist/assets/index-Au1Gr_G6.css"],names:[],mappings:"AAAA;;EAEE,4BAA4B;AAC9B;AACA;;EAEE,UAAU;AACZ;AACA;EACE,aAAa;AACf;AACA;EACE,aAAa;EACb,YAAY;EACZ,cAAc;EACd,4BAA4B;EAC5B,2BAA2B;EAC3B,WAAW;AACb;AACA;EACE,UAAU;AACZ;AACA;EACE,aAAa;AACf;AACA;EACE,cAAc;AAChB;AACA;EACE,eAAe;EACf,YAAY;EACZ,eAAe;EACf,2BAA2B;AAC7B;AACA;EACE,eAAe;AACjB;AACA;;EAEE,eAAe;EACf,YAAY;EACZ,aAAa;AACf;AACA;EACE,iBAAiB;AACnB;AACA;EACE,eAAe;EACf,6CAA6C;AAC/C;AACA;EACE,YAAY;AACd;AACA;;EAEE,gBAAgB;EAChB,WAAW;AACb;AACA;EACE,aAAa;EACb,iBAAiB;EACjB,kBAAkB;EAClB,eAAe;AACjB;AACA;EACE,8CAA8C;AAChD;AACA;EACE,YAAY;EACZ,YAAY;EACZ,4BAA4B;EAC5B,aAAa;AACf;AACA;EACE,qBAAqB;EACrB,mBAAmB;EACnB,kBAAkB;AACpB;AACA;EACE,uBAAuB;EACvB,gBAAgB;EAChB,kBAAkB;EAClB,mBAAmB;EACnB,mBAAmB;EACnB,YAAY;EACZ,YAAY;AACd;AACA;EACE,WAAW;EACX,YAAY;AACd;AACA;EACE,WAAW;AACb;AACA;;EAEE,UAAU;AACZ;AACA;EACE,sCAAsC;AACxC;AACA;EACE;IACE,0BAA0B;EAC5B;EACA;IACE,2BAA2B;EAC7B;EACA;IACE,yBAAyB;EAC3B;EACA;IACE,0BAA0B;EAC5B;EACA;IACE,yBAAyB;EAC3B;EACA;IACE,uBAAuB;EACzB;AACF;AACA;EACE,sBAAsB;AACxB;AACA;EACE,aAAa;EACb,kBAAkB;EAClB,SAAS;AACX;AACA;EACE,gBAAgB;AAClB;AACA;EACE,aAAa;EACb,sBAAsB;AACxB;AACA;EACE,cAAc;EACd,aAAa;EACb,WAAW;EACX,4BAA4B;EAC5B,2BAA2B;AAC7B;AACA;EACE,UAAU;AACZ;AACA;EACE,UAAU;EACV,iBAAiB;EACjB,YAAY;EACZ,oCAAoC;EACpC,mBAAmB;AACrB;AACA;EACE,WAAW;EACX,YAAY;EACZ,gBAAgB;EAChB,YAAY;EACZ,8CAA8C;AAChD;AACA;EACE,cAAc;EACd,YAAY;EACZ,4BAA4B;EAC5B,2BAA2B;AAC7B;AACA;EACE,aAAa;AACf;AACA;EACE,cAAc;EACd,2DAA2D;AAC7D;AACA;EACE,YAAY;AACd;AACA;;EAEE,uBAAuB;AACzB;AACA;;EAEE,UAAU;AACZ",sourcesContent:[".fade-enter-active[data-v-8e58e0a5],\n.fade-leave-active[data-v-8e58e0a5] {\n  transition: opacity .3s ease;\n}\n.fade-enter[data-v-8e58e0a5],\n.fade-leave-to[data-v-8e58e0a5] {\n  opacity: 0;\n}\n.linked-icons[data-v-8e58e0a5] {\n  display: flex;\n}\n.linked-icons img[data-v-8e58e0a5] {\n  padding: 12px;\n  height: 44px;\n  display: block;\n  background-repeat: no-repeat;\n  background-position: center;\n  opacity: .7;\n}\n.linked-icons img[data-v-8e58e0a5]:hover {\n  opacity: 1;\n}\n.popovermenu[data-v-8e58e0a5] {\n  display: none;\n}\n.popovermenu.open[data-v-8e58e0a5] {\n  display: block;\n}\nli.collection-list-item[data-v-8e58e0a5] {\n  flex-wrap: wrap;\n  height: auto;\n  cursor: pointer;\n  margin-bottom: 0 !important;\n}\nli.collection-list-item .collection-avatar[data-v-8e58e0a5] {\n  margin-top: 6px;\n}\nli.collection-list-item form[data-v-8e58e0a5],\nli.collection-list-item .collection-item-name[data-v-8e58e0a5] {\n  flex-basis: 10%;\n  flex-grow: 1;\n  display: flex;\n}\nli.collection-list-item .collection-item-name[data-v-8e58e0a5] {\n  padding: 12px 9px;\n}\nli.collection-list-item input[data-v-8e58e0a5] {\n  margin-top: 4px;\n  border-color: var(--color-border-maxcontrast);\n}\nli.collection-list-item input[type=text][data-v-8e58e0a5] {\n  flex-grow: 1;\n}\nli.collection-list-item .error[data-v-8e58e0a5],\nli.collection-list-item .resource-list-details[data-v-8e58e0a5] {\n  flex-basis: 100%;\n  width: 100%;\n}\nli.collection-list-item .resource-list-details li[data-v-8e58e0a5] {\n  display: flex;\n  margin-left: 44px;\n  border-radius: 3px;\n  cursor: pointer;\n}\nli.collection-list-item .resource-list-details li[data-v-8e58e0a5]:hover {\n  background-color: var(--color-background-dark);\n}\nli.collection-list-item .resource-list-details li a[data-v-8e58e0a5] {\n  flex-grow: 1;\n  padding: 3px;\n  max-width: calc(100% - 30px);\n  display: flex;\n}\nli.collection-list-item .resource-list-details span[data-v-8e58e0a5] {\n  display: inline-block;\n  vertical-align: top;\n  margin-right: 10px;\n}\nli.collection-list-item .resource-list-details span.resource-name[data-v-8e58e0a5] {\n  text-overflow: ellipsis;\n  overflow: hidden;\n  position: relative;\n  vertical-align: top;\n  white-space: nowrap;\n  flex-grow: 1;\n  padding: 4px;\n}\nli.collection-list-item .resource-list-details img[data-v-8e58e0a5] {\n  width: 24px;\n  height: 24px;\n}\nli.collection-list-item .resource-list-details .icon-close[data-v-8e58e0a5] {\n  opacity: .7;\n}\nli.collection-list-item .resource-list-details .icon-close[data-v-8e58e0a5]:hover,\nli.collection-list-item .resource-list-details .icon-close[data-v-8e58e0a5]:focus {\n  opacity: 1;\n}\n.shouldshake[data-v-8e58e0a5] {\n  animation: shake-8e58e0a5 .6s 1 linear;\n}\n@keyframes shake-8e58e0a5 {\n  0% {\n    transform: translate(15px);\n  }\n  20% {\n    transform: translate(-15px);\n  }\n  40% {\n    transform: translate(7px);\n  }\n  60% {\n    transform: translate(-7px);\n  }\n  80% {\n    transform: translate(3px);\n  }\n  to {\n    transform: translate(0);\n  }\n}\n.collection-list *[data-v-75a4370b] {\n  box-sizing: border-box;\n}\n.collection-list > li[data-v-75a4370b] {\n  display: flex;\n  align-items: start;\n  gap: 12px;\n}\n.collection-list > li > .avatar[data-v-75a4370b] {\n  margin-top: auto;\n}\n#collection-select-container[data-v-75a4370b] {\n  display: flex;\n  flex-direction: column;\n}\n.v-select span.avatar[data-v-75a4370b] {\n  display: block;\n  padding: 16px;\n  opacity: .7;\n  background-repeat: no-repeat;\n  background-position: center;\n}\n.v-select span.avatar[data-v-75a4370b]:hover {\n  opacity: 1;\n}\np.hint[data-v-75a4370b] {\n  z-index: 1;\n  margin-top: -16px;\n  padding: 8px;\n  color: var(--color-text-maxcontrast);\n  line-height: normal;\n}\ndiv.avatar[data-v-75a4370b] {\n  width: 32px;\n  height: 32px;\n  margin: 30px 0 0;\n  padding: 8px;\n  background-color: var(--color-background-dark);\n}\n.icon-projects[data-v-75a4370b] {\n  display: block;\n  padding: 8px;\n  background-repeat: no-repeat;\n  background-position: center;\n}\n.option__wrapper[data-v-75a4370b] {\n  display: flex;\n}\n.option__wrapper .avatar[data-v-75a4370b] {\n  display: block;\n  background-color: var(--color-background-darker) !important;\n}\n.option__wrapper .option__title[data-v-75a4370b] {\n  padding: 4px;\n}\n.fade-enter-active[data-v-75a4370b],\n.fade-leave-active[data-v-75a4370b] {\n  transition: opacity .5s;\n}\n.fade-enter[data-v-75a4370b],\n.fade-leave-to[data-v-75a4370b] {\n  opacity: 0;\n}\n"],sourceRoot:""}]);const o=s},353:(t,e,i)=>{"use strict";i.d(e,{A:()=>o});var n=i(71354),r=i.n(n),a=i(76314),s=i.n(a)()(r());s.push([t.id,".sharing-entry[data-v-756f491a]{display:flex;align-items:center;height:44px}.sharing-entry__summary[data-v-756f491a]{padding:8px;padding-left:10px;display:flex;flex-direction:column;justify-content:center;align-items:flex-start;flex:1 0;min-width:0}.sharing-entry__summary__desc[data-v-756f491a]{display:inline-block;padding-bottom:0;line-height:1.2em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sharing-entry__summary__desc p[data-v-756f491a],.sharing-entry__summary__desc small[data-v-756f491a]{color:var(--color-text-maxcontrast)}.sharing-entry__summary__desc-unique[data-v-756f491a]{color:var(--color-text-maxcontrast)}","",{version:3,sources:["webpack://./apps/files_sharing/src/components/SharingEntry.vue"],names:[],mappings:"AACA,gCACC,YAAA,CACA,kBAAA,CACA,WAAA,CACA,yCACC,WAAA,CACA,iBAAA,CACA,YAAA,CACA,qBAAA,CACA,sBAAA,CACA,sBAAA,CACA,QAAA,CACA,WAAA,CAEA,+CACC,oBAAA,CACA,gBAAA,CACA,iBAAA,CACA,kBAAA,CACA,eAAA,CACA,sBAAA,CAEA,sGAEC,mCAAA,CAGD,sDACC,mCAAA",sourcesContent:["\n.sharing-entry {\n\tdisplay: flex;\n\talign-items: center;\n\theight: 44px;\n\t&__summary {\n\t\tpadding: 8px;\n\t\tpadding-left: 10px;\n\t\tdisplay: flex;\n\t\tflex-direction: column;\n\t\tjustify-content: center;\n\t\talign-items: flex-start;\n\t\tflex: 1 0;\n\t\tmin-width: 0;\n\n\t\t&__desc {\n\t\t\tdisplay: inline-block;\n\t\t\tpadding-bottom: 0;\n\t\t\tline-height: 1.2em;\n\t\t\twhite-space: nowrap;\n\t\t\toverflow: hidden;\n\t\t\ttext-overflow: ellipsis;\n\n\t\t\tp,\n\t\t\tsmall {\n\t\t\t\tcolor: var(--color-text-maxcontrast);\n\t\t\t}\n\n\t\t\t&-unique {\n\t\t\t\tcolor: var(--color-text-maxcontrast);\n\t\t\t}\n\t\t}\n\t}\n\n}\n"],sourceRoot:""}]);const o=s},32260:(t,e,i)=>{"use strict";i.d(e,{A:()=>o});var n=i(71354),r=i.n(n),a=i(76314),s=i.n(a)()(r());s.push([t.id,".sharing-entry[data-v-859a420e]{display:flex;align-items:center;height:44px}.sharing-entry__desc[data-v-859a420e]{display:flex;flex-direction:column;justify-content:space-between;padding:8px;padding-left:10px;line-height:1.2em}.sharing-entry__desc p[data-v-859a420e]{color:var(--color-text-maxcontrast)}.sharing-entry__actions[data-v-859a420e]{margin-left:auto}","",{version:3,sources:["webpack://./apps/files_sharing/src/components/SharingEntryInherited.vue"],names:[],mappings:"AACA,gCACC,YAAA,CACA,kBAAA,CACA,WAAA,CACA,sCACC,YAAA,CACA,qBAAA,CACA,6BAAA,CACA,WAAA,CACA,iBAAA,CACA,iBAAA,CACA,wCACC,mCAAA,CAGF,yCACC,gBAAA",sourcesContent:["\n.sharing-entry {\n\tdisplay: flex;\n\talign-items: center;\n\theight: 44px;\n\t&__desc {\n\t\tdisplay: flex;\n\t\tflex-direction: column;\n\t\tjustify-content: space-between;\n\t\tpadding: 8px;\n\t\tpadding-left: 10px;\n\t\tline-height: 1.2em;\n\t\tp {\n\t\t\tcolor: var(--color-text-maxcontrast);\n\t\t}\n\t}\n\t&__actions {\n\t\tmargin-left: auto;\n\t}\n}\n"],sourceRoot:""}]);const o=s},76949:(t,e,i)=>{"use strict";i.d(e,{A:()=>o});var n=i(71354),r=i.n(n),a=i(76314),s=i.n(a)()(r());s.push([t.id,".sharing-entry__internal .avatar-external[data-v-cbf1a342]{width:32px;height:32px;line-height:32px;font-size:18px;background-color:var(--color-text-maxcontrast);border-radius:50%;flex-shrink:0}.sharing-entry__internal .icon-checkmark-color[data-v-cbf1a342]{opacity:1;color:var(--color-success)}","",{version:3,sources:["webpack://./apps/files_sharing/src/components/SharingEntryInternal.vue"],names:[],mappings:"AAEC,2DACC,UAAA,CACA,WAAA,CACA,gBAAA,CACA,cAAA,CACA,8CAAA,CACA,iBAAA,CACA,aAAA,CAED,gEACC,SAAA,CACA,0BAAA",sourcesContent:["\n.sharing-entry__internal {\n\t.avatar-external {\n\t\twidth: 32px;\n\t\theight: 32px;\n\t\tline-height: 32px;\n\t\tfont-size: 18px;\n\t\tbackground-color: var(--color-text-maxcontrast);\n\t\tborder-radius: 50%;\n\t\tflex-shrink: 0;\n\t}\n\t.icon-checkmark-color {\n\t\topacity: 1;\n\t\tcolor: var(--color-success);\n\t}\n}\n"],sourceRoot:""}]);const o=s},82232:(t,e,i)=>{"use strict";i.d(e,{A:()=>o});var n=i(71354),r=i.n(n),a=i(76314),s=i.n(a)()(r());s.push([t.id,".sharing-entry[data-v-6b41579b]{display:flex;align-items:center;min-height:44px}.sharing-entry__summary[data-v-6b41579b]{padding:8px;padding-left:10px;display:flex;justify-content:space-between;flex:1 0;min-width:0}.sharing-entry__desc[data-v-6b41579b]{display:flex;flex-direction:column;line-height:1.2em}.sharing-entry__desc p[data-v-6b41579b]{color:var(--color-text-maxcontrast)}.sharing-entry__desc__title[data-v-6b41579b]{text-overflow:ellipsis;overflow:hidden;white-space:nowrap}.sharing-entry:not(.sharing-entry--share) .sharing-entry__actions .new-share-link[data-v-6b41579b]{border-top:1px solid var(--color-border)}.sharing-entry[data-v-6b41579b] .avatar-link-share{background-color:var(--color-primary-element)}.sharing-entry .sharing-entry__action--public-upload[data-v-6b41579b]{border-bottom:1px solid var(--color-border)}.sharing-entry__loading[data-v-6b41579b]{width:44px;height:44px;margin:0;padding:14px;margin-left:auto}.sharing-entry .action-item~.action-item[data-v-6b41579b],.sharing-entry .action-item~.sharing-entry__loading[data-v-6b41579b]{margin-left:0}.sharing-entry .icon-checkmark-color[data-v-6b41579b]{opacity:1;color:var(--color-success)}.qr-code-dialog[data-v-6b41579b]{display:flex;width:100%;justify-content:center}.qr-code-dialog__img[data-v-6b41579b]{width:100%;height:auto}","",{version:3,sources:["webpack://./apps/files_sharing/src/components/SharingEntryLink.vue"],names:[],mappings:"AACA,gCACC,YAAA,CACA,kBAAA,CACA,eAAA,CAEA,yCACC,WAAA,CACA,iBAAA,CACA,YAAA,CACA,6BAAA,CACA,QAAA,CACA,WAAA,CAGD,sCACC,YAAA,CACA,qBAAA,CACA,iBAAA,CAEA,wCACC,mCAAA,CAGD,6CACC,sBAAA,CACA,eAAA,CACA,kBAAA,CASD,mGACC,wCAAA,CAIF,mDACC,6CAAA,CAGD,sEACC,2CAAA,CAGD,yCACC,UAAA,CACA,WAAA,CACA,QAAA,CACA,YAAA,CACA,gBAAA,CAOA,+HAEC,aAAA,CAIF,sDACC,SAAA,CACA,0BAAA,CAKF,iCACC,YAAA,CACA,UAAA,CACA,sBAAA,CAEA,sCACC,UAAA,CACA,WAAA",sourcesContent:["\n.sharing-entry {\n\tdisplay: flex;\n\talign-items: center;\n\tmin-height: 44px;\n\n\t&__summary {\n\t\tpadding: 8px;\n\t\tpadding-left: 10px;\n\t\tdisplay: flex;\n\t\tjustify-content: space-between;\n\t\tflex: 1 0;\n\t\tmin-width: 0;\n\t}\n\n\t&__desc {\n\t\tdisplay: flex;\n\t\tflex-direction: column;\n\t\tline-height: 1.2em;\n\n\t\tp {\n\t\t\tcolor: var(--color-text-maxcontrast);\n\t\t}\n\n\t\t&__title {\n\t\t\ttext-overflow: ellipsis;\n\t\t\toverflow: hidden;\n\t\t\twhite-space: nowrap;\n\t\t}\n\t}\n\n\t&__copy {\n\n\t}\n\n\t&:not(.sharing-entry--share) &__actions {\n\t\t.new-share-link {\n\t\t\tborder-top: 1px solid var(--color-border);\n\t\t}\n\t}\n\n\t::v-deep .avatar-link-share {\n\t\tbackground-color: var(--color-primary-element);\n\t}\n\n\t.sharing-entry__action--public-upload {\n\t\tborder-bottom: 1px solid var(--color-border);\n\t}\n\n\t&__loading {\n\t\twidth: 44px;\n\t\theight: 44px;\n\t\tmargin: 0;\n\t\tpadding: 14px;\n\t\tmargin-left: auto;\n\t}\n\n\t// put menus to the left\n\t// but only the first one\n\t.action-item {\n\n\t\t~.action-item,\n\t\t~.sharing-entry__loading {\n\t\t\tmargin-left: 0;\n\t\t}\n\t}\n\n\t.icon-checkmark-color {\n\t\topacity: 1;\n\t\tcolor: var(--color-success);\n\t}\n}\n\n// styling for the qr-code container\n.qr-code-dialog {\n\tdisplay: flex;\n\twidth: 100%;\n\tjustify-content: center;\n\n\t&__img {\n\t\twidth: 100%;\n\t\theight: auto;\n\t}\n}\n"],sourceRoot:""}]);const o=s},85971:(t,e,i)=>{"use strict";i.d(e,{A:()=>o});var n=i(71354),r=i.n(n),a=i(76314),s=i.n(a)()(r());s.push([t.id,".share-select[data-v-e3692374]{display:block}.share-select[data-v-e3692374] .action-item__menutoggle{color:var(--color-primary-element) !important;font-size:12.5px !important;height:auto !important;min-height:auto !important}.share-select[data-v-e3692374] .action-item__menutoggle .button-vue__text{font-weight:normal !important}.share-select[data-v-e3692374] .action-item__menutoggle .button-vue__icon{height:24px !important;min-height:24px !important;width:24px !important;min-width:24px !important}.share-select[data-v-e3692374] .action-item__menutoggle .button-vue__wrapper{flex-direction:row-reverse !important}","",{version:3,sources:["webpack://./apps/files_sharing/src/components/SharingEntryQuickShareSelect.vue"],names:[],mappings:"AACA,+BACC,aAAA,CAIA,wDACC,6CAAA,CACA,2BAAA,CACA,sBAAA,CACA,0BAAA,CAEA,0EACC,6BAAA,CAGD,0EACC,sBAAA,CACA,0BAAA,CACA,qBAAA,CACA,yBAAA,CAGD,6EAEC,qCAAA",sourcesContent:["\n.share-select {\n\tdisplay: block;\n\n\t// TODO: NcActions should have a slot for custom trigger button like NcPopover\n\t// Overrider NcActionms button to make it small\n\t:deep(.action-item__menutoggle) {\n\t\tcolor: var(--color-primary-element) !important;\n\t\tfont-size: 12.5px !important;\n\t\theight: auto !important;\n\t\tmin-height: auto !important;\n\n\t\t.button-vue__text {\n\t\t\tfont-weight: normal !important;\n\t\t}\n\n\t\t.button-vue__icon {\n\t\t\theight: 24px !important;\n\t\t\tmin-height: 24px !important;\n\t\t\twidth: 24px !important;\n\t\t\tmin-width: 24px !important;\n\t\t}\n\n\t\t.button-vue__wrapper {\n\t\t\t// Emulate NcButton's alignment=center-reverse\n\t\t\tflex-direction: row-reverse !important;\n\t\t}\n\t}\n}\n"],sourceRoot:""}]);const o=s},59826:(t,e,i)=>{"use strict";i.d(e,{A:()=>o});var n=i(71354),r=i.n(n),a=i(76314),s=i.n(a)()(r());s.push([t.id,".sharing-entry[data-v-3bc1ac54]{display:flex;align-items:center;min-height:44px}.sharing-entry__desc[data-v-3bc1ac54]{padding:8px;padding-left:10px;line-height:1.2em;position:relative;flex:1 1;min-width:0}.sharing-entry__desc p[data-v-3bc1ac54]{color:var(--color-text-maxcontrast)}.sharing-entry__title[data-v-3bc1ac54]{white-space:nowrap;text-overflow:ellipsis;overflow:hidden;max-width:inherit}.sharing-entry__actions[data-v-3bc1ac54]{margin-left:auto !important}","",{version:3,sources:["webpack://./apps/files_sharing/src/components/SharingEntrySimple.vue"],names:[],mappings:"AACA,gCACC,YAAA,CACA,kBAAA,CACA,eAAA,CACA,sCACC,WAAA,CACA,iBAAA,CACA,iBAAA,CACA,iBAAA,CACA,QAAA,CACA,WAAA,CACA,wCACC,mCAAA,CAGF,uCACC,kBAAA,CACA,sBAAA,CACA,eAAA,CACA,iBAAA,CAED,yCACC,2BAAA",sourcesContent:["\n.sharing-entry {\n\tdisplay: flex;\n\talign-items: center;\n\tmin-height: 44px;\n\t&__desc {\n\t\tpadding: 8px;\n\t\tpadding-left: 10px;\n\t\tline-height: 1.2em;\n\t\tposition: relative;\n\t\tflex: 1 1;\n\t\tmin-width: 0;\n\t\tp {\n\t\t\tcolor: var(--color-text-maxcontrast);\n\t\t}\n\t}\n\t&__title {\n\t\twhite-space: nowrap;\n\t\ttext-overflow: ellipsis;\n\t\toverflow: hidden;\n\t\tmax-width: inherit;\n\t}\n\t&__actions {\n\t\tmargin-left: auto !important;\n\t}\n}\n"],sourceRoot:""}]);const o=s},7024:(t,e,i)=>{"use strict";i.d(e,{A:()=>o});var n=i(71354),r=i.n(n),a=i(76314),s=i.n(a)()(r());s.push([t.id,".sharing-search{display:flex;flex-direction:column;margin-bottom:4px}.sharing-search label[for=sharing-search-input]{margin-bottom:2px}.sharing-search__input{width:100%;margin:10px 0}.vs__dropdown-menu span[lookup] .avatardiv{background-image:var(--icon-search-white);background-repeat:no-repeat;background-position:center;background-color:var(--color-text-maxcontrast) !important}.vs__dropdown-menu span[lookup] .avatardiv .avatardiv__initials-wrapper{display:none}","",{version:3,sources:["webpack://./apps/files_sharing/src/components/SharingInput.vue"],names:[],mappings:"AACA,gBACC,YAAA,CACA,qBAAA,CACA,iBAAA,CAEA,gDACC,iBAAA,CAGD,uBACC,UAAA,CACA,aAAA,CAOA,2CACC,yCAAA,CACA,2BAAA,CACA,0BAAA,CACA,yDAAA,CACA,wEACC,YAAA",sourcesContent:['\n.sharing-search {\n\tdisplay: flex;\n\tflex-direction: column;\n\tmargin-bottom: 4px;\n\n\tlabel[for="sharing-search-input"] {\n\t\tmargin-bottom: 2px;\n\t}\n\n\t&__input {\n\t\twidth: 100%;\n\t\tmargin: 10px 0;\n\t}\n}\n\n.vs__dropdown-menu {\n\t// properly style the lookup entry\n\tspan[lookup] {\n\t\t.avatardiv {\n\t\t\tbackground-image: var(--icon-search-white);\n\t\t\tbackground-repeat: no-repeat;\n\t\t\tbackground-position: center;\n\t\t\tbackground-color: var(--color-text-maxcontrast) !important;\n\t\t\t.avatardiv__initials-wrapper {\n\t\t\t\tdisplay: none;\n\t\t\t}\n\t\t}\n\t}\n}\n'],sourceRoot:""}]);const o=s},50751:(t,e,i)=>{"use strict";i.d(e,{A:()=>o});var n=i(71354),r=i.n(n),a=i(76314),s=i.n(a)()(r());s.push([t.id,".sharingTabDetailsView[data-v-695269e6]{display:flex;flex-direction:column;width:100%;margin:0 auto;position:relative;height:100%;overflow:hidden}.sharingTabDetailsView__header[data-v-695269e6]{display:flex;align-items:center;box-sizing:border-box;margin:.2em}.sharingTabDetailsView__header span[data-v-695269e6]{display:flex;align-items:center}.sharingTabDetailsView__header span h1[data-v-695269e6]{font-size:15px;padding-left:.3em}.sharingTabDetailsView__wrapper[data-v-695269e6]{position:relative;overflow:scroll;flex-shrink:1;padding:4px;padding-right:12px}.sharingTabDetailsView__quick-permissions[data-v-695269e6]{display:flex;justify-content:center;width:100%;margin:0 auto;border-radius:0}.sharingTabDetailsView__quick-permissions div[data-v-695269e6]{width:100%}.sharingTabDetailsView__quick-permissions div span[data-v-695269e6]{width:100%}.sharingTabDetailsView__quick-permissions div span span[data-v-695269e6]:nth-child(1){align-items:center;justify-content:center;padding:.1em}.sharingTabDetailsView__quick-permissions div span[data-v-695269e6] label span{display:flex;flex-direction:column}.sharingTabDetailsView__quick-permissions div span[data-v-695269e6] span.checkbox-content__text.checkbox-radio-switch__text{flex-wrap:wrap}.sharingTabDetailsView__quick-permissions div span[data-v-695269e6] span.checkbox-content__text.checkbox-radio-switch__text .subline{display:block;flex-basis:100%}.sharingTabDetailsView__advanced-control[data-v-695269e6]{width:100%}.sharingTabDetailsView__advanced-control button[data-v-695269e6]{margin-top:.5em}.sharingTabDetailsView__advanced[data-v-695269e6]{width:100%;margin-bottom:.5em;text-align:left;padding-left:0}.sharingTabDetailsView__advanced section textarea[data-v-695269e6],.sharingTabDetailsView__advanced section div.mx-datepicker[data-v-695269e6]{width:100%}.sharingTabDetailsView__advanced section textarea[data-v-695269e6]{height:80px;margin:0}.sharingTabDetailsView__advanced section span[data-v-695269e6] label{padding-left:0 !important;background-color:initial !important;border:none !important}.sharingTabDetailsView__advanced section section.custom-permissions-group[data-v-695269e6]{padding-left:1.5em}.sharingTabDetailsView__delete>button[data-v-695269e6]:first-child{color:#df0707}.sharingTabDetailsView__footer[data-v-695269e6]{width:100%;display:flex;position:sticky;bottom:0;flex-direction:column;justify-content:space-between;align-items:flex-start;background:linear-gradient(to bottom, rgba(255, 255, 255, 0), var(--color-main-background))}.sharingTabDetailsView__footer .button-group[data-v-695269e6]{display:flex;justify-content:space-between;width:100%;margin-top:16px}.sharingTabDetailsView__footer .button-group button[data-v-695269e6]{margin-left:16px}.sharingTabDetailsView__footer .button-group button[data-v-695269e6]:first-child{margin-left:0}","",{version:3,sources:["webpack://./apps/files_sharing/src/views/SharingDetailsTab.vue"],names:[],mappings:"AACA,wCACC,YAAA,CACA,qBAAA,CACA,UAAA,CACA,aAAA,CACA,iBAAA,CACA,WAAA,CACA,eAAA,CAEA,gDACC,YAAA,CACA,kBAAA,CACA,qBAAA,CACA,WAAA,CAEA,qDACC,YAAA,CACA,kBAAA,CAEA,wDACC,cAAA,CACA,iBAAA,CAMH,iDACC,iBAAA,CACA,eAAA,CACA,aAAA,CACA,WAAA,CACA,kBAAA,CAGD,2DACC,YAAA,CACA,sBAAA,CACA,UAAA,CACA,aAAA,CACA,eAAA,CAEA,+DACC,UAAA,CAEA,oEACC,UAAA,CAEA,sFACC,kBAAA,CACA,sBAAA,CACA,YAAA,CAKA,+EACC,YAAA,CACA,qBAAA,CAKF,4HACC,cAAA,CAEA,qIACC,aAAA,CACA,eAAA,CAQL,0DACC,UAAA,CAEA,iEACC,eAAA,CAKF,kDACC,UAAA,CACA,kBAAA,CACA,eAAA,CACA,cAAA,CAIC,+IAEC,UAAA,CAGD,mEACC,WAAA,CACA,QAAA,CAaA,qEACC,yBAAA,CACA,mCAAA,CACA,sBAAA,CAIF,2FACC,kBAAA,CAMF,mEACC,aAAA,CAIF,gDACC,UAAA,CACA,YAAA,CACA,eAAA,CACA,QAAA,CACA,qBAAA,CACA,6BAAA,CACA,sBAAA,CACA,2FAAA,CAEA,8DACC,YAAA,CACA,6BAAA,CACA,UAAA,CACA,eAAA,CAEA,qEACC,gBAAA,CAEA,iFACC,aAAA",sourcesContent:["\n.sharingTabDetailsView {\n\tdisplay: flex;\n\tflex-direction: column;\n\twidth: 100%;\n\tmargin: 0 auto;\n\tposition: relative;\n\theight: 100%;\n\toverflow: hidden;\n\n\t&__header {\n\t\tdisplay: flex;\n\t\talign-items: center;\n\t\tbox-sizing: border-box;\n\t\tmargin: 0.2em;\n\n\t\tspan {\n\t\t\tdisplay: flex;\n\t\t\talign-items: center;\n\n\t\t\th1 {\n\t\t\t\tfont-size: 15px;\n\t\t\t\tpadding-left: 0.3em;\n\t\t\t}\n\n\t\t}\n\t}\n\n\t&__wrapper {\n\t\tposition: relative;\n\t\toverflow: scroll;\n\t\tflex-shrink: 1;\n\t\tpadding: 4px;\n\t\tpadding-right: 12px;\n\t}\n\n\t&__quick-permissions {\n\t\tdisplay: flex;\n\t\tjustify-content: center;\n\t\twidth: 100%;\n\t\tmargin: 0 auto;\n\t\tborder-radius: 0;\n\n\t\tdiv {\n\t\t\twidth: 100%;\n\n\t\t\tspan {\n\t\t\t\twidth: 100%;\n\n\t\t\t\tspan:nth-child(1) {\n\t\t\t\t\talign-items: center;\n\t\t\t\t\tjustify-content: center;\n\t\t\t\t\tpadding: 0.1em;\n\t\t\t\t}\n\n\t\t\t\t::v-deep label {\n\n\t\t\t\t\tspan {\n\t\t\t\t\t\tdisplay: flex;\n\t\t\t\t\t\tflex-direction: column;\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\t/* Target component based style in NcCheckboxRadioSwitch slot content*/\n\t\t\t\t:deep(span.checkbox-content__text.checkbox-radio-switch__text) {\n\t\t\t\t\tflex-wrap: wrap;\n\n\t\t\t\t\t.subline {\n\t\t\t\t\t\tdisplay: block;\n\t\t\t\t\t\tflex-basis: 100%;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\n\t\t}\n\t}\n\n\t&__advanced-control {\n\t\twidth: 100%;\n\n\t\tbutton {\n\t\t\tmargin-top: 0.5em;\n\t\t}\n\n\t}\n\n\t&__advanced {\n\t\twidth: 100%;\n\t\tmargin-bottom: 0.5em;\n\t\ttext-align: left;\n\t\tpadding-left: 0;\n\n\t\tsection {\n\n\t\t\ttextarea,\n\t\t\tdiv.mx-datepicker {\n\t\t\t\twidth: 100%;\n\t\t\t}\n\n\t\t\ttextarea {\n\t\t\t\theight: 80px;\n\t\t\t\tmargin: 0;\n\t\t\t}\n\n\t\t\t/*\n              The following style is applied out of the component's scope\n              to remove padding from the label.checkbox-radio-switch__label,\n              which is used to group radio checkbox items. The use of ::v-deep\n              ensures that the padding is modified without being affected by\n              the component's scoping.\n              Without this achieving left alignment for the checkboxes would not\n              be possible.\n            */\n\t\t\tspan {\n\t\t\t\t::v-deep label {\n\t\t\t\t\tpadding-left: 0 !important;\n\t\t\t\t\tbackground-color: initial !important;\n\t\t\t\t\tborder: none !important;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tsection.custom-permissions-group {\n\t\t\t\tpadding-left: 1.5em;\n\t\t\t}\n\t\t}\n\t}\n\n\t&__delete {\n\t\t>button:first-child {\n\t\t\tcolor: rgb(223, 7, 7);\n\t\t}\n\t}\n\n\t&__footer {\n\t\twidth: 100%;\n\t\tdisplay: flex;\n\t\tposition: sticky;\n\t\tbottom: 0;\n\t\tflex-direction: column;\n\t\tjustify-content: space-between;\n\t\talign-items: flex-start;\n\t\tbackground: linear-gradient(to bottom, rgba(255, 255, 255, 0), var(--color-main-background));\n\n\t\t.button-group {\n\t\t\tdisplay: flex;\n\t\t\tjustify-content: space-between;\n\t\t\twidth: 100%;\n\t\t\tmargin-top: 16px;\n\n\t\t\tbutton {\n\t\t\t\tmargin-left: 16px;\n\n\t\t\t\t&:first-child {\n\t\t\t\t\tmargin-left: 0;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n}\n"],sourceRoot:""}]);const o=s},29846:(t,e,i)=>{"use strict";i.d(e,{A:()=>o});var n=i(71354),r=i.n(n),a=i(76314),s=i.n(a)()(r());s.push([t.id,".sharing-entry__inherited .avatar-shared[data-v-73f8fada]{width:32px;height:32px;line-height:32px;font-size:18px;background-color:var(--color-text-maxcontrast);border-radius:50%;flex-shrink:0}","",{version:3,sources:["webpack://./apps/files_sharing/src/views/SharingInherited.vue"],names:[],mappings:"AAEC,0DACC,UAAA,CACA,WAAA,CACA,gBAAA,CACA,cAAA,CACA,8CAAA,CACA,iBAAA,CACA,aAAA",sourcesContent:["\n.sharing-entry__inherited {\n\t.avatar-shared {\n\t\twidth: 32px;\n\t\theight: 32px;\n\t\tline-height: 32px;\n\t\tfont-size: 18px;\n\t\tbackground-color: var(--color-text-maxcontrast);\n\t\tborder-radius: 50%;\n\t\tflex-shrink: 0;\n\t}\n}\n"],sourceRoot:""}]);const o=s},71060:(t,e,i)=>{"use strict";i.d(e,{A:()=>o});var n=i(71354),r=i.n(n),a=i(76314),s=i.n(a)()(r());s.push([t.id,".emptyContentWithSections[data-v-8986694e]{margin:1rem auto}.sharingTab[data-v-8986694e]{position:relative;height:100%}.sharingTab__content[data-v-8986694e]{padding:0 6px}.sharingTab__additionalContent[data-v-8986694e]{margin:44px 0}","",{version:3,sources:["webpack://./apps/files_sharing/src/views/SharingTab.vue"],names:[],mappings:"AACA,2CACC,gBAAA,CAGD,6BACC,iBAAA,CACA,WAAA,CAEA,sCACC,aAAA,CAGD,gDACC,aAAA",sourcesContent:["\n.emptyContentWithSections {\n\tmargin: 1rem auto;\n}\n\n.sharingTab {\n\tposition: relative;\n\theight: 100%;\n\n\t&__content {\n\t\tpadding: 0 6px;\n\t}\n\n\t&__additionalContent {\n\t\tmargin: 44px 0;\n\t}\n}\n"],sourceRoot:""}]);const o=s},37023:(t,e,i)=>{"use strict";e.KT=void 0,i(25440),e.KT=(t,e,i)=>{const a=1===Object.assign({ocsVersion:2},i||{}).ocsVersion?1:2;return window.location.protocol+"//"+window.location.host+r()+"/ocs/v"+a+".php"+n(t,e,i)};const n=(t,e,i)=>{const n=Object.assign({escape:!0},i||{});return"/"!==t.charAt(0)&&(t="/"+t),r=(r=e||{})||{},t.replace(/{([^{}]*)}/g,(function(t,e){var i=r[e];return n.escape?"string"==typeof i||"number"==typeof i?encodeURIComponent(i.toString()):encodeURIComponent(t):"string"==typeof i||"number"==typeof i?i.toString():t}));var r};function r(){let t=window._oc_webroot;if(void 0===t){t=location.pathname;const e=t.indexOf("/index.php/");t=-1!==e?t.substr(0,e):t.substr(0,t.lastIndexOf("/"))}return t}},48318:function(t,e,i){!function(t){"use strict";var e,i=function(){try{if(t.URLSearchParams&&"bar"===new t.URLSearchParams("foo=bar").get("foo"))return t.URLSearchParams}catch(t){}return null}(),n=i&&"a=1"===new i({a:1}).toString(),r=i&&"+"===new i("s=%2B").get("s"),a=i&&"size"in i.prototype,s="__URLSearchParams__",o=!i||((e=new i).append("s"," &"),"s=+%26"===e.toString()),l=p.prototype,c=!(!t.Symbol||!t.Symbol.iterator);if(!(i&&n&&r&&o&&a)){l.append=function(t,e){v(this[s],t,e)},l.delete=function(t){delete this[s][t]},l.get=function(t){var e=this[s];return this.has(t)?e[t][0]:null},l.getAll=function(t){var e=this[s];return this.has(t)?e[t].slice(0):[]},l.has=function(t){return y(this[s],t)},l.set=function(t,e){this[s][t]=[""+e]},l.toString=function(){var t,e,i,n,r=this[s],a=[];for(e in r)for(i=f(e),t=0,n=r[e];t<n.length;t++)a.push(i+"="+f(n[t]));return a.join("&")};var h,u=t.Proxy&&i&&(!r||!o||!n||!a);u?(h=new Proxy(i,{construct:function(t,e){return new t(new p(e[0]).toString())}})).toString=Function.prototype.toString.bind(p):h=p,Object.defineProperty(t,"URLSearchParams",{value:h});var d=t.URLSearchParams.prototype;d.polyfill=!0,!u&&t.Symbol&&(d[t.Symbol.toStringTag]="URLSearchParams"),"forEach"in d||(d.forEach=function(t,e){var i=m(this.toString());Object.getOwnPropertyNames(i).forEach((function(n){i[n].forEach((function(i){t.call(e,i,n,this)}),this)}),this)}),"sort"in d||(d.sort=function(){var t,e,i,n=m(this.toString()),r=[];for(t in n)r.push(t);for(r.sort(),e=0;e<r.length;e++)this.delete(r[e]);for(e=0;e<r.length;e++){var a=r[e],s=n[a];for(i=0;i<s.length;i++)this.append(a,s[i])}}),"keys"in d||(d.keys=function(){var t=[];return this.forEach((function(e,i){t.push(i)})),g(t)}),"values"in d||(d.values=function(){var t=[];return this.forEach((function(e){t.push(e)})),g(t)}),"entries"in d||(d.entries=function(){var t=[];return this.forEach((function(e,i){t.push([i,e])})),g(t)}),c&&(d[t.Symbol.iterator]=d[t.Symbol.iterator]||d.entries),"size"in d||Object.defineProperty(d,"size",{get:function(){var t=m(this.toString());if(d===this)throw new TypeError("Illegal invocation at URLSearchParams.invokeGetter");return Object.keys(t).reduce((function(e,i){return e+t[i].length}),0)}})}function p(t){((t=t||"")instanceof URLSearchParams||t instanceof p)&&(t=t.toString()),this[s]=m(t)}function f(t){var e={"!":"%21","'":"%27","(":"%28",")":"%29","~":"%7E","%20":"+","%00":"\0"};return encodeURIComponent(t).replace(/[!'\(\)~]|%20|%00/g,(function(t){return e[t]}))}function A(t){return t.replace(/[ +]/g,"%20").replace(/(%[a-f0-9]{2})+/gi,(function(t){return decodeURIComponent(t)}))}function g(e){var i={next:function(){var t=e.shift();return{done:void 0===t,value:t}}};return c&&(i[t.Symbol.iterator]=function(){return i}),i}function m(t){var e={};if("object"==typeof t)if(_(t))for(var i=0;i<t.length;i++){var n=t[i];if(!_(n)||2!==n.length)throw new TypeError("Failed to construct 'URLSearchParams': Sequence initializer must only contain pair elements");v(e,n[0],n[1])}else for(var r in t)t.hasOwnProperty(r)&&v(e,r,t[r]);else{0===t.indexOf("?")&&(t=t.slice(1));for(var a=t.split("&"),s=0;s<a.length;s++){var o=a[s],l=o.indexOf("=");-1<l?v(e,A(o.slice(0,l)),A(o.slice(l+1))):o&&v(e,A(o),"")}}return e}function v(t,e,i){var n="string"==typeof i?i:null!=i&&"function"==typeof i.toString?i.toString():JSON.stringify(i);y(t,e)?t[e].push(n):t[e]=[n]}function _(t){return!!t&&"[object Array]"===Object.prototype.toString.call(t)}function y(t,e){return Object.prototype.hasOwnProperty.call(t,e)}}(void 0!==i.g?i.g:"undefined"!=typeof window?window:this)},34200:(e,i,n)=>{"use strict";n.r(i),n.d(i,{default:()=>xi});var r=n(85072),a=n.n(r),s=n(97825),o=n.n(s),l=n(77659),c=n.n(l),h=n(55056),u=n.n(h),d=n(10540),p=n.n(d),f=n(41113),A=n.n(f),g=n(86243),m={};m.styleTagTransform=A(),m.setAttributes=u(),m.insert=c().bind(null,"head"),m.domAPI=o(),m.insertStyleElement=p(),a()(g.A,m),g.A&&g.A.locals&&g.A.locals;var v=n(41944),_=n(67607);const y=function(t){var e=typeof t;return null!=t&&("object"==e||"function"==e)},w="object"==typeof global&&global&&global.Object===Object&&global;var C="object"==typeof self&&self&&self.Object===Object&&self;const E=w||C||Function("return this")(),b=function(){return E.Date.now()};var S=/\s/;var x=/^\s+/;const T=function(t){return t?t.slice(0,function(t){for(var e=t.length;e--&&S.test(t.charAt(e)););return e}(t)+1).replace(x,""):t},P=E.Symbol;var k=Object.prototype,R=k.hasOwnProperty,D=k.toString,I=P?P.toStringTag:void 0;var B=Object.prototype.toString;var N=P?P.toStringTag:void 0;const L=function(t){return null==t?void 0===t?"[object Undefined]":"[object Null]":N&&N in Object(t)?function(t){var e=R.call(t,I),i=t[I];try{t[I]=void 0;var n=!0}catch(t){}var r=D.call(t);return n&&(e?t[I]=i:delete t[I]),r}(t):function(t){return B.call(t)}(t)};var H=/^[-+]0x[0-9a-f]+$/i,O=/^0b[01]+$/i,Y=/^0o[0-7]+$/i,M=parseInt;const U=function(t){if("number"==typeof t)return t;if(function(t){return"symbol"==typeof t||function(t){return null!=t&&"object"==typeof t}(t)&&"[object Symbol]"==L(t)}(t))return NaN;if(y(t)){var e="function"==typeof t.valueOf?t.valueOf():t;t=y(e)?e+"":e}if("string"!=typeof t)return 0===t?t:+t;t=T(t);var i=O.test(t);return i||Y.test(t)?M(t.slice(2),i?2:8):H.test(t)?NaN:+t};var V=Math.max,F=Math.min;var z=n(24764),j=n(63420),q=n(85471),W=n(26287),$=n(37023),K=n(96763);const G=new class{constructor(){this.http=W.A}listCollection(t){return this.http.get((0,$.KT)("collaboration/resources/collections/{collectionId}",{collectionId:t}))}renameCollection(t,e){return this.http.put((0,$.KT)("collaboration/resources/collections/{collectionId}",{collectionId:t}),{collectionName:e}).then((t=>t.data.ocs.data))}getCollectionsByResource(t,e){return this.http.get((0,$.KT)("collaboration/resources/{resourceType}/{resourceId}",{resourceType:t,resourceId:e})).then((t=>t.data.ocs.data))}createCollection(t,e,i){return this.http.post((0,$.KT)("collaboration/resources/{resourceType}/{resourceId}",{resourceType:t,resourceId:e}),{name:i}).then((t=>t.data.ocs.data))}addResource(t,e,i){return i=""+i,this.http.post((0,$.KT)("collaboration/resources/collections/{collectionId}",{collectionId:t}),{resourceType:e,resourceId:i}).then((t=>t.data.ocs.data))}removeResource(t,e,i){return this.http.delete((0,$.KT)("collaboration/resources/collections/{collectionId}",{collectionId:t}),{params:{resourceType:e,resourceId:i}}).then((t=>t.data.ocs.data))}search(t){return this.http.get((0,$.KT)("collaboration/resources/collections/search/{query}",{query:t})).then((t=>t.data.ocs.data))}},Z=q.Ay.observable({collections:[]}),Q={addCollections(t){(0,q.hZ)(Z,"collections",t)},addCollection(t){Z.collections.push(t)},removeCollection(t){(0,q.hZ)(Z,"collections",Z.collections.filter((e=>e.id!==t)))},updateCollection(t){const e=Z.collections.findIndex((e=>e.id===t.id));-1!==e?(0,q.hZ)(Z.collections,e,t):Z.collections.push(t)}},J={fetchCollectionsByResource:({resourceType:t,resourceId:e})=>G.getCollectionsByResource(t,e).then((t=>(Q.addCollections(t),t))),createCollection:({baseResourceType:t,baseResourceId:e,resourceType:i,resourceId:n,name:r})=>G.createCollection(t,e,r).then((t=>{Q.addCollection(t),J.addResourceToCollection({collectionId:t.id,resourceType:i,resourceId:n})})),renameCollection:({collectionId:t,name:e})=>G.renameCollection(t,e).then((t=>(Q.updateCollection(t),t))),addResourceToCollection:({collectionId:t,resourceType:e,resourceId:i})=>G.addResource(t,e,i).then((t=>(Q.updateCollection(t),t))),removeResource:({collectionId:t,resourceType:e,resourceId:i})=>G.removeResource(t,e,i).then((t=>{t.resources.length>0?Q.updateCollection(t):Q.removeCollection(t)})),search:t=>G.search(t)};function X(t,e,i,n,r,a,s,o){var l,c="function"==typeof t?t.options:t;if(e&&(c.render=e,c.staticRenderFns=i,c._compiled=!0),n&&(c.functional=!0),a&&(c._scopeId="data-v-"+a),s?(l=function(t){!(t=t||this.$vnode&&this.$vnode.ssrContext||this.parent&&this.parent.$vnode&&this.parent.$vnode.ssrContext)&&typeof __VUE_SSR_CONTEXT__<"u"&&(t=__VUE_SSR_CONTEXT__),r&&r.call(this,t),t&&t._registeredComponents&&t._registeredComponents.add(s)},c._ssrRegister=l):r&&(l=o?function(){r.call(this,(c.functional?this.parent:this).$root.$options.shadowRoot)}:r),l)if(c.functional){c._injectStyles=l;var h=c.render;c.render=function(t,e){return l.call(e),h(t,e)}}else{var u=c.beforeCreate;c.beforeCreate=u?[].concat(u,l):[l]}return{exports:t,options:c}}const tt=X({name:"CollectionListItem",components:{NcAvatar:v.A,NcActions:z.A,NcActionButton:j.A},props:{collection:{type:Object,default:null}},data:()=>({detailsOpen:!1,newName:null,error:{}}),computed:{getIcon:()=>t=>[t.iconClass],typeClass:()=>t=>"resource-type-"+t.type,limitedResources:()=>t=>t.resources?t.resources.slice(0,2):[],iconUrl:()=>t=>t.mimetype?OC.MimeType.getIconUrl(t.mimetype):t.iconUrl?t.iconUrl:""},methods:{toggleDetails(){this.detailsOpen=!this.detailsOpen},showDetails(){this.detailsOpen=!0},hideDetails(){this.detailsOpen=!1},removeResource(t,e){J.removeResource({collectionId:t.id,resourceType:e.type,resourceId:e.id})},openRename(){this.newName=this.collection.name},renameCollection(){""!==this.newName?J.renameCollection({collectionId:this.collection.id,name:this.newName}).then((t=>{this.newName=null})).catch((e=>{this.$set(this.error,"rename",t("core","Failed to rename the project")),K.error(e),setTimeout((()=>{(0,q.hZ)(this.error,"rename",null)}),3e3)})):this.newName=null}}},(function(){var t=this,e=t._self._c;return e("li",{staticClass:"collection-list-item"},[e("NcAvatar",{staticClass:"collection-avatar",attrs:{"display-name":t.collection.name,"allow-placeholder":""}}),null===t.newName?e("span",{staticClass:"collection-item-name",attrs:{title:""},on:{click:t.showDetails}},[t._v(t._s(t.collection.name))]):e("form",{class:{shouldshake:t.error.rename},on:{submit:function(e){return e.preventDefault(),t.renameCollection.apply(null,arguments)}}},[e("input",{directives:[{name:"model",rawName:"v-model",value:t.newName,expression:"newName"}],attrs:{type:"text",autocomplete:"off",autocapitalize:"off"},domProps:{value:t.newName},on:{input:function(e){e.target.composing||(t.newName=e.target.value)}}}),e("input",{staticClass:"icon-confirm",attrs:{type:"submit",value:""}})]),t.detailsOpen||null!==t.newName?t._e():e("div",{staticClass:"linked-icons"},t._l(t.limitedResources(t.collection),(function(i){return e("a",{key:i.type+"|"+i.id,class:t.typeClass(i),attrs:{title:i.name,href:i.link}},[e("img",{attrs:{src:t.iconUrl(i)}})])})),0),null===t.newName?e("span",{staticClass:"sharingOptionsGroup"},[e("NcActions",[e("NcActionButton",{attrs:{icon:"icon-info"},on:{click:function(e){return e.preventDefault(),t.toggleDetails.apply(null,arguments)}}},[t._v(" "+t._s(t.detailsOpen?t.t("core","Hide details"):t.t("core","Show details"))+" ")]),e("NcActionButton",{attrs:{icon:"icon-rename"},on:{click:function(e){return e.preventDefault(),t.openRename.apply(null,arguments)}}},[t._v(" "+t._s(t.t("core","Rename project"))+" ")])],1)],1):t._e(),e("transition",{attrs:{name:"fade"}},[t.error.rename?e("div",{staticClass:"error"},[t._v(" "+t._s(t.error.rename)+" ")]):t._e()]),e("transition",{attrs:{name:"fade"}},[t.detailsOpen?e("ul",{staticClass:"resource-list-details"},t._l(t.collection.resources,(function(i){return e("li",{key:i.type+"|"+i.id,class:t.typeClass(i)},[e("a",{attrs:{href:i.link}},[e("img",{attrs:{src:t.iconUrl(i)}}),e("span",{staticClass:"resource-name"},[t._v(t._s(i.name||""))])]),e("span",{staticClass:"icon-close",on:{click:function(e){return t.removeResource(t.collection,i)}}})])})),0):t._e()])],1)}),[],!1,null,"8e58e0a5",null,null).exports,et=function(t,e,i){var n,r,a,s,o,l,c=0,h=!1,u=!1,d=!0;if("function"!=typeof t)throw new TypeError("Expected a function");function p(e){var i=n,a=r;return n=r=void 0,c=e,s=t.apply(a,i)}function f(t){var i=t-l;return void 0===l||i>=e||i<0||u&&t-c>=a}function A(){var t=b();if(f(t))return g(t);o=setTimeout(A,function(t){var i=e-(t-l);return u?F(i,a-(t-c)):i}(t))}function g(t){return o=void 0,d&&n?p(t):(n=r=void 0,s)}function m(){var t=b(),i=f(t);if(n=arguments,r=this,l=t,i){if(void 0===o)return function(t){return c=t,o=setTimeout(A,e),h?p(t):s}(l);if(u)return clearTimeout(o),o=setTimeout(A,e),p(l)}return void 0===o&&(o=setTimeout(A,e)),s}return e=U(e)||0,y(i)&&(h=!!i.leading,a=(u="maxWait"in i)?V(U(i.maxWait)||0,e):a,d="trailing"in i?!!i.trailing:d),m.cancel=function(){void 0!==o&&clearTimeout(o),c=0,n=l=r=o=void 0},m.flush=function(){return void 0===o?s:g(b())},m}((function(t,e){""!==t&&(e(!0),J.search(t).then((t=>{this.searchCollections=t})).catch((t=>{K.error("Failed to search for collections",t)})).finally((()=>{e(!1)})))}),500,{}),it=X({name:"CollectionList",components:{CollectionListItem:tt,NcAvatar:v.A,NcSelect:_.A},props:{type:{type:String,default:null},id:{type:String,default:null},name:{type:String,default:""},isActive:{type:Boolean,default:!0}},data:()=>({selectIsOpen:!1,generatingCodes:!1,codes:void 0,value:null,model:{},searchCollections:[],error:null,state:Z,isSelectOpen:!1}),computed:{collections(){return this.state.collections.filter((t=>typeof t.resources.find((t=>t&&t.id===""+this.id&&t.type===this.type))<"u"))},placeholder(){return this.isSelectOpen?t("core","Type to search for existing projects"):t("core","Add to a project")},options(){const t=[];window.OCP.Collaboration.getTypes().sort().forEach((e=>{t.push({method:0,type:e,title:window.OCP.Collaboration.getLabel(e),class:window.OCP.Collaboration.getIcon(e),action:()=>window.OCP.Collaboration.trigger(e)})}));for(const e in this.searchCollections)-1===this.collections.findIndex((t=>t.id===this.searchCollections[e].id))&&t.push({method:1,title:this.searchCollections[e].name,collectionId:this.searchCollections[e].id});return t}},watch:{type(){this.isActive&&J.fetchCollectionsByResource({resourceType:this.type,resourceId:this.id})},id(){this.isActive&&J.fetchCollectionsByResource({resourceType:this.type,resourceId:this.id})},isActive(t){t&&J.fetchCollectionsByResource({resourceType:this.type,resourceId:this.id})}},mounted(){J.fetchCollectionsByResource({resourceType:this.type,resourceId:this.id})},methods:{select(e,i){0===e.method&&e.action().then((i=>{J.createCollection({baseResourceType:this.type,baseResourceId:this.id,resourceType:e.type,resourceId:i,name:this.name}).catch((e=>{this.setError(t("core","Failed to create a project"),e)}))})).catch((t=>{K.error("No resource selected",t)})),1===e.method&&J.addResourceToCollection({collectionId:e.collectionId,resourceType:this.type,resourceId:this.id}).catch((e=>{this.setError(t("core","Failed to add the item to the project"),e)}))},search(t,e){et.bind(this)(t,e)},showSelect(){this.selectIsOpen=!0,this.$refs.select.$el.focus()},hideSelect(){this.selectIsOpen=!1},isVueComponent:t=>t._isVue,setError(t,e){K.error(t,e),this.error=t,setTimeout((()=>{this.error=null}),5e3)}}},(function(){var t=this,e=t._self._c;return t.collections&&t.type&&t.id?e("ul",{staticClass:"collection-list",attrs:{id:"collection-list"}},[e("li",{on:{click:t.showSelect}},[t._m(0),e("div",{attrs:{id:"collection-select-container"}},[e("NcSelect",{ref:"select",attrs:{"aria-label-combobox":t.t("core","Add to a project"),options:t.options,placeholder:t.placeholder,label:"title",limit:5},on:{close:function(e){t.isSelectOpen=!1},open:function(e){t.isSelectOpen=!0},"option:selected":t.select,search:t.search},scopedSlots:t._u([{key:"selected-option",fn:function(i){return[e("span",{staticClass:"option__desc"},[e("span",{staticClass:"option__title"},[t._v(t._s(i.title))])])]}},{key:"option",fn:function(i){return[e("span",{staticClass:"option__wrapper"},[i.class?e("span",{staticClass:"avatar",class:i.class}):2!==i.method?e("NcAvatar",{attrs:{"allow-placeholder":"","display-name":i.title}}):t._e(),e("span",{staticClass:"option__title"},[t._v(t._s(i.title))])],1)]}}],null,!1,2397208459),model:{value:t.value,callback:function(e){t.value=e},expression:"value"}},[e("p",{staticClass:"hint"},[t._v(" "+t._s(t.t("core","Connect items to a project to make them easier to find"))+" ")])])],1)]),e("transition",{attrs:{name:"fade"}},[t.error?e("li",{staticClass:"error"},[t._v(" "+t._s(t.error)+" ")]):t._e()]),t._l(t.collections,(function(t){return e("CollectionListItem",{key:t.id,attrs:{collection:t}})}))],2):t._e()}),[function(){var t=this._self._c;return t("div",{staticClass:"avatar"},[t("span",{staticClass:"icon-projects"})])}],!1,null,"75a4370b",null,null).exports;var nt=n(63814),rt=n(38613),at=n(87485);class st{constructor(){this._capabilities=(0,at.F)()}get defaultPermissions(){var t;return null===(t=this._capabilities.files_sharing)||void 0===t?void 0:t.default_permissions}get isPublicUploadEnabled(){var t;return null===(t=this._capabilities.files_sharing)||void 0===t?void 0:t.public.upload}get isShareWithLinkAllowed(){return document.getElementById("allowShareWithLink")&&"yes"===document.getElementById("allowShareWithLink").value}get federatedShareDocLink(){return OC.appConfig.core.federatedCloudShareDoc}get defaultExpirationDate(){return this.isDefaultExpireDateEnabled?new Date((new Date).setDate((new Date).getDate()+this.defaultExpireDate)):null}get defaultInternalExpirationDate(){return this.isDefaultInternalExpireDateEnabled?new Date((new Date).setDate((new Date).getDate()+this.defaultInternalExpireDate)):null}get defaultRemoteExpirationDateString(){return this.isDefaultRemoteExpireDateEnabled?new Date((new Date).setDate((new Date).getDate()+this.defaultRemoteExpireDate)):null}get enforcePasswordForPublicLink(){return!0===OC.appConfig.core.enforcePasswordForPublicLink}get enableLinkPasswordByDefault(){return!0===OC.appConfig.core.enableLinkPasswordByDefault}get isDefaultExpireDateEnforced(){return!0===OC.appConfig.core.defaultExpireDateEnforced}get isDefaultExpireDateEnabled(){return!0===OC.appConfig.core.defaultExpireDateEnabled}get isDefaultInternalExpireDateEnforced(){return!0===OC.appConfig.core.defaultInternalExpireDateEnforced}get isDefaultRemoteExpireDateEnforced(){return!0===OC.appConfig.core.defaultRemoteExpireDateEnforced}get isDefaultInternalExpireDateEnabled(){return!0===OC.appConfig.core.defaultInternalExpireDateEnabled}get isDefaultRemoteExpireDateEnabled(){return!0===OC.appConfig.core.defaultRemoteExpireDateEnabled}get isRemoteShareAllowed(){return!0===OC.appConfig.core.remoteShareAllowed}get isMailShareAllowed(){var t,e;return void 0!==(null===(t=this._capabilities)||void 0===t||null===(t=t.files_sharing)||void 0===t?void 0:t.sharebymail)&&!0===(null===(e=this._capabilities)||void 0===e||null===(e=e.files_sharing)||void 0===e||null===(e=e.public)||void 0===e?void 0:e.enabled)}get defaultExpireDate(){return OC.appConfig.core.defaultExpireDate}get defaultInternalExpireDate(){return OC.appConfig.core.defaultInternalExpireDate}get defaultRemoteExpireDate(){return OC.appConfig.core.defaultRemoteExpireDate}get isResharingAllowed(){return!0===OC.appConfig.core.resharingAllowed}get isPasswordForMailSharesRequired(){return void 0!==this._capabilities.files_sharing.sharebymail&&this._capabilities.files_sharing.sharebymail.password.enforced}get shouldAlwaysShowUnique(){var t;return!0===(null===(t=this._capabilities.files_sharing)||void 0===t||null===(t=t.sharee)||void 0===t?void 0:t.always_show_unique)}get allowGroupSharing(){return!0===OC.appConfig.core.allowGroupSharing}get maxAutocompleteResults(){return parseInt(OC.config["sharing.maxAutocompleteResults"],10)||25}get minSearchStringLength(){return parseInt(OC.config["sharing.minSearchStringLength"],10)||0}get passwordPolicy(){return this._capabilities.password_policy?this._capabilities.password_policy:{}}}var ot=n(52129),lt=n(96763);class ct{constructor(t){var e,i,n,r;if(i=this,r=void 0,(n=function(t){var e=function(t,e){if("object"!=typeof t||!t)return t;var i=t[Symbol.toPrimitive];if(void 0!==i){var n=i.call(t,"string");if("object"!=typeof n)return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(t)}(t);return"symbol"==typeof e?e:String(e)}(n="_share"))in i?Object.defineProperty(i,n,{value:r,enumerable:!0,configurable:!0,writable:!0}):i[n]=r,t.ocs&&t.ocs.data&&t.ocs.data[0]&&(t=t.ocs.data[0]),t.hide_download=!!t.hide_download,t.mail_send=!!t.mail_send,t.attributes&&"string"==typeof t.attributes)try{t.attributes=JSON.parse(t.attributes)}catch(e){lt.warn("Could not parse share attributes returned by server",t.attributes)}t.attributes=null!==(e=t.attributes)&&void 0!==e?e:[],this._share=t}get state(){return this._share}get id(){return this._share.id}get type(){return this._share.share_type}get permissions(){return this._share.permissions}get attributes(){return this._share.attributes}set permissions(t){this._share.permissions=t}get owner(){return this._share.uid_owner}get ownerDisplayName(){return this._share.displayname_owner}get shareWith(){return this._share.share_with}get shareWithDisplayName(){return this._share.share_with_displayname||this._share.share_with}get shareWithDisplayNameUnique(){return this._share.share_with_displayname_unique||this._share.share_with}get shareWithLink(){return this._share.share_with_link}get shareWithAvatar(){return this._share.share_with_avatar}get uidFileOwner(){return this._share.uid_file_owner}get displaynameFileOwner(){return this._share.displayname_file_owner||this._share.uid_file_owner}get createdTime(){return this._share.stime}get expireDate(){return this._share.expiration}set expireDate(t){this._share.expiration=t}get token(){return this._share.token}get note(){return this._share.note}set note(t){this._share.note=t}get label(){var t;return null!==(t=this._share.label)&&void 0!==t?t:""}set label(t){this._share.label=t}get mailSend(){return!0===this._share.mail_send}get hideDownload(){return!0===this._share.hide_download}set hideDownload(t){this._share.hide_download=!0===t}get password(){return this._share.password}set password(t){this._share.password=t}get passwordExpirationTime(){return this._share.password_expiration_time}set passwordExpirationTime(t){this._share.password_expiration_time=t}get sendPasswordByTalk(){return this._share.send_password_by_talk}set sendPasswordByTalk(t){this._share.send_password_by_talk=t}get path(){return this._share.path}get itemType(){return this._share.item_type}get mimetype(){return this._share.mimetype}get fileSource(){return this._share.file_source}get fileTarget(){return this._share.file_target}get fileParent(){return this._share.file_parent}get hasReadPermission(){return!!(this.permissions&OC.PERMISSION_READ)}get hasCreatePermission(){return!!(this.permissions&OC.PERMISSION_CREATE)}get hasDeletePermission(){return!!(this.permissions&OC.PERMISSION_DELETE)}get hasUpdatePermission(){return!!(this.permissions&OC.PERMISSION_UPDATE)}get hasSharePermission(){return!!(this.permissions&OC.PERMISSION_SHARE)}get hasDownloadPermission(){for(const t in this._share.attributes){const e=this._share.attributes[t];if("permissions"===e.scope&&"download"===e.key)return e.enabled}return!0}set hasDownloadPermission(t){this.setAttribute("permissions","download",!!t)}setAttribute(t,e,i){const n={scope:t,key:e,enabled:i};for(const t in this._share.attributes){const e=this._share.attributes[t];if(e.scope===n.scope&&e.key===n.key)return void this._share.attributes.splice(t,1,n)}this._share.attributes.push(n)}get canEdit(){return!0===this._share.can_edit}get canDelete(){return!0===this._share.can_delete}get viaFileid(){return this._share.via_fileid}get viaPath(){return this._share.via_path}get parent(){return this._share.parent}get storageId(){return this._share.storage_id}get storage(){return this._share.storage}get itemSource(){return this._share.item_source}get status(){return this._share.status}}const ht={data:()=>({SHARE_TYPES:ot.Z})};var ut=n(85168);const dt={name:"CheckBoldIcon",emits:["click"],props:{title:{type:String},fillColor:{type:String,default:"currentColor"},size:{type:Number,default:24}}};var pt=n(14486);const ft=(0,pt.A)(dt,(function(){var t=this,e=t._self._c;return e("span",t._b({staticClass:"material-design-icon check-bold-icon",attrs:{"aria-hidden":!t.title||null,"aria-label":t.title,role:"img"},on:{click:function(e){return t.$emit("click",e)}}},"span",t.$attrs,!1),[e("svg",{staticClass:"material-design-icon__svg",attrs:{fill:t.fillColor,width:t.size,height:t.size,viewBox:"0 0 24 24"}},[e("path",{attrs:{d:"M9,20.42L2.79,14.21L5.62,11.38L9,14.77L18.88,4.88L21.71,7.71L9,20.42Z"}},[t.title?e("title",[t._v(t._s(t.title))]):t._e()])])])}),[],!1,null,null,null).exports,At={name:"ClipboardFlowIcon",emits:["click"],props:{title:{type:String},fillColor:{type:String,default:"currentColor"},size:{type:Number,default:24}}},gt=(0,pt.A)(At,(function(){var t=this,e=t._self._c;return e("span",t._b({staticClass:"material-design-icon clipboard-flow-icon",attrs:{"aria-hidden":!t.title||null,"aria-label":t.title,role:"img"},on:{click:function(e){return t.$emit("click",e)}}},"span",t.$attrs,!1),[e("svg",{staticClass:"material-design-icon__svg",attrs:{fill:t.fillColor,width:t.size,height:t.size,viewBox:"0 0 24 24"}},[e("path",{attrs:{d:"M19,3H14.82C14.4,1.84 13.3,1 12,1C10.7,1 9.6,1.84 9.18,3H5A2,2 0 0,0 3,5V19A2,2 0 0,0 5,21H19A2,2 0 0,0 21,19V5A2,2 0 0,0 19,3M12,3A1,1 0 0,1 13,4A1,1 0 0,1 12,5A1,1 0 0,1 11,4A1,1 0 0,1 12,3M15,19L11,15H14V8H16V15H19L15,19M10,16H8V9H5L9,5L13,9H10V16"}},[t.title?e("title",[t._v(t._s(t.title))]):t._e()])])])}),[],!1,null,null,null).exports,mt={name:"SharingEntrySimple",components:{NcActions:z.A},props:{title:{type:String,default:"",required:!0},subtitle:{type:String,default:""},isUnique:{type:Boolean,default:!0},ariaExpanded:{type:Boolean,default:null}},computed:{ariaExpandedValue(){return null===this.ariaExpanded?this.ariaExpanded:this.ariaExpanded?"true":"false"}}};var vt=n(59826),_t={};_t.styleTagTransform=A(),_t.setAttributes=u(),_t.insert=c().bind(null,"head"),_t.domAPI=o(),_t.insertStyleElement=p(),a()(vt.A,_t),vt.A&&vt.A.locals&&vt.A.locals;const yt=(0,pt.A)(mt,(function(){var t=this,e=t._self._c;return e("li",{staticClass:"sharing-entry"},[t._t("avatar"),t._v(" "),e("div",{staticClass:"sharing-entry__desc"},[e("span",{staticClass:"sharing-entry__title"},[t._v(t._s(t.title))]),t._v(" "),t.subtitle?e("p",[t._v("\n\t\t\t"+t._s(t.subtitle)+"\n\t\t")]):t._e()]),t._v(" "),t.$slots.default?e("NcActions",{ref:"actionsComponent",staticClass:"sharing-entry__actions",attrs:{"menu-align":"right","aria-expanded":t.ariaExpandedValue}},[t._t("default")],2):t._e()],2)}),[],!1,null,"3bc1ac54",null).exports;var wt=n(96763);const Ct={name:"SharingEntryInternal",components:{NcActionButton:j.A,SharingEntrySimple:yt,CheckIcon:ft,ClipboardIcon:gt},props:{fileInfo:{type:Object,default:()=>{},required:!0}},data:()=>({copied:!1,copySuccess:!1}),computed:{internalLink(){return window.location.protocol+"//"+window.location.host+(0,nt.Jv)("/f/")+this.fileInfo.id},copyLinkTooltip(){return this.copied?this.copySuccess?"":t("files_sharing","Cannot copy, please copy the link manually"):t("files_sharing","Copy internal link to clipboard")},internalLinkSubtitle(){return"dir"===this.fileInfo.type?t("files_sharing","Only works for people with access to this folder"):t("files_sharing","Only works for people with access to this file")}},methods:{async copyLink(){try{await navigator.clipboard.writeText(this.internalLink),(0,ut.Te)(t("files_sharing","Link copied")),this.$refs.shareEntrySimple.$refs.actionsComponent.$el.focus(),this.copySuccess=!0,this.copied=!0}catch(t){this.copySuccess=!1,this.copied=!0,wt.error(t)}finally{setTimeout((()=>{this.copySuccess=!1,this.copied=!1}),4e3)}}}};var Et=n(76949),bt={};bt.styleTagTransform=A(),bt.setAttributes=u(),bt.insert=c().bind(null,"head"),bt.domAPI=o(),bt.insertStyleElement=p(),a()(Et.A,bt),Et.A&&Et.A.locals&&Et.A.locals;const St=(0,pt.A)(Ct,(function(){var t=this,e=t._self._c;return e("ul",[e("SharingEntrySimple",{ref:"shareEntrySimple",staticClass:"sharing-entry__internal",attrs:{title:t.t("files_sharing","Internal link"),subtitle:t.internalLinkSubtitle},scopedSlots:t._u([{key:"avatar",fn:function(){return[e("div",{staticClass:"avatar-external icon-external-white"})]},proxy:!0}])},[t._v(" "),e("NcActionButton",{attrs:{title:t.copyLinkTooltip,"aria-label":t.copyLinkTooltip},on:{click:t.copyLink},scopedSlots:t._u([{key:"icon",fn:function(){return[t.copied&&t.copySuccess?e("CheckIcon",{staticClass:"icon-checkmark-color",attrs:{size:20}}):e("ClipboardIcon",{attrs:{size:20}})]},proxy:!0}])})],1)],1)}),[],!1,null,"cbf1a342",null).exports;var xt=n(21777),Tt=n(17334),Pt=n.n(Tt),kt=n(96763);const Rt=new st;async function Dt(){if(Rt.passwordPolicy.api&&Rt.passwordPolicy.api.generate)try{const e=await W.A.get(Rt.passwordPolicy.api.generate);if(e.data.ocs.data.password)return(0,ut.Te)(t("files_sharing","Password created successfully")),e.data.ocs.data.password}catch(e){kt.info("Error generating password from password_policy",e),(0,ut.Qg)(t("files_sharing","Error generating password from password policy"))}const e=new Uint8Array(10);self.crypto.getRandomValues(e);let i="";for(let t=0;t<e.length;t++)i+="abcdefgijkmnopqrstwxyzABCDEFGHJKLMNPQRSTWXYZ23456789".charAt(.20392156862745098*e[t]);return i}n(48318);var It=n(61338),Bt=n(96763);const Nt=(0,nt.KT)("apps/files_sharing/api/v1/shares"),Lt={methods:{async createShare(e){let{path:i,permissions:n,shareType:r,shareWith:a,publicUpload:s,password:o,sendPasswordByTalk:l,expireDate:c,label:h,note:u,attributes:d}=e;try{var p;const t=await W.A.post(Nt,{path:i,permissions:n,shareType:r,shareWith:a,publicUpload:s,password:o,sendPasswordByTalk:l,expireDate:c,label:h,note:u,attributes:d});if(null==t||null===(p=t.data)||void 0===p||!p.ocs)throw t;const e=new ct(t.data.ocs.data);return(0,It.Ic)("files_sharing:share:created",{share:e}),e}catch(e){var f;Bt.error("Error while creating share",e);const i=null==e||null===(f=e.response)||void 0===f||null===(f=f.data)||void 0===f||null===(f=f.ocs)||void 0===f||null===(f=f.meta)||void 0===f?void 0:f.message;throw OC.Notification.showTemporary(i?t("files_sharing","Error creating the share: {errorMessage}",{errorMessage:i}):t("files_sharing","Error creating the share"),{type:"error"}),e}},async deleteShare(e){try{var i;const t=await W.A.delete(Nt+"/".concat(e));if(null==t||null===(i=t.data)||void 0===i||!i.ocs)throw t;return(0,It.Ic)("files_sharing:share:deleted",{id:e}),!0}catch(e){var n;Bt.error("Error while deleting share",e);const i=null==e||null===(n=e.response)||void 0===n||null===(n=n.data)||void 0===n||null===(n=n.ocs)||void 0===n||null===(n=n.meta)||void 0===n?void 0:n.message;throw OC.Notification.showTemporary(i?t("files_sharing","Error deleting the share: {errorMessage}",{errorMessage:i}):t("files_sharing","Error deleting the share"),{type:"error"}),e}},async updateShare(e,i){try{var n;const t=await W.A.put(Nt+"/".concat(e),i);if((0,It.Ic)("files_sharing:share:updated",{id:e}),null!=t&&null!==(n=t.data)&&void 0!==n&&n.ocs)return t.data.ocs.data;throw t}catch(e){if(Bt.error("Error while updating share",e),400!==e.response.status){var r;const i=null==e||null===(r=e.response)||void 0===r||null===(r=r.data)||void 0===r||null===(r=r.ocs)||void 0===r||null===(r=r.meta)||void 0===r?void 0:r.message;OC.Notification.showTemporary(i?t("files_sharing","Error updating the share: {errorMessage}",{errorMessage:i}):t("files_sharing","Error updating the share"),{type:"error"})}const i=e.response.data.ocs.meta.message;throw new Error(i)}}}},Ht={methods:{async openSharingDetails(t){let e={};t.handler?(this.suggestions&&(t.suggestions=this.suggestions,t.fileInfo=this.fileInfo,t.query=this.query),e=await t.handler(t),e=new ct(e)):e=this.mapShareRequestToShareObject(t);const i={fileInfo:this.fileInfo,share:e};this.$emit("open-sharing-details",i)},openShareDetailsForCustomSettings(t){t.setCustomPermissions=!0,this.openSharingDetails(t)},mapShareRequestToShareObject(t){if(t.id)return t;const e={attributes:[{enabled:!0,key:"download",scope:"permissions"}],share_type:t.shareType,share_with:t.shareWith,is_no_user:t.isNoUser,user:t.shareWith,share_with_displayname:t.displayName,subtitle:t.subtitle,permissions:t.permissions,expiration:""};return new ct(e)}}};var Ot=n(96763);const Yt={name:"SharingInput",components:{NcSelect:_.A},mixins:[ht,Lt,Ht],props:{shares:{type:Array,default:()=>[],required:!0},linkShares:{type:Array,default:()=>[],required:!0},fileInfo:{type:Object,default:()=>{},required:!0},reshare:{type:ct,default:null},canReshare:{type:Boolean,required:!0}},data:()=>({config:new st,loading:!1,query:"",recommendations:[],ShareSearch:OCA.Sharing.ShareSearch.state,suggestions:[],value:null}),computed:{externalResults(){return this.ShareSearch.results},inputPlaceholder(){const e=this.config.isRemoteShareAllowed;return this.canReshare?e?t("files_sharing","Name, email, or Federated Cloud ID …"):t("files_sharing","Name or email …"):t("files_sharing","Resharing is not allowed")},isValidQuery(){return this.query&&""!==this.query.trim()&&this.query.length>this.config.minSearchStringLength},options(){return this.isValidQuery?this.suggestions:this.recommendations},noResultText(){return this.loading?t("files_sharing","Searching …"):t("files_sharing","No elements found.")}},mounted(){this.getRecommendations()},methods:{onSelected(t){this.value=null,this.openSharingDetails(t)},async asyncFind(t){this.query=t.trim(),this.isValidQuery&&(this.loading=!0,await this.debounceGetSuggestions(t))},async getSuggestions(e){let i=arguments.length>1&&void 0!==arguments[1]&&arguments[1];this.loading=!0,!0===(0,at.F)().files_sharing.sharee.query_lookup_default&&(i=!0);const n=[this.SHARE_TYPES.SHARE_TYPE_USER,this.SHARE_TYPES.SHARE_TYPE_GROUP,this.SHARE_TYPES.SHARE_TYPE_REMOTE,this.SHARE_TYPES.SHARE_TYPE_REMOTE_GROUP,this.SHARE_TYPES.SHARE_TYPE_CIRCLE,this.SHARE_TYPES.SHARE_TYPE_ROOM,this.SHARE_TYPES.SHARE_TYPE_GUEST,this.SHARE_TYPES.SHARE_TYPE_DECK,this.SHARE_TYPES.SHARE_TYPE_SCIENCEMESH];!0===(0,at.F)().files_sharing.public.enabled&&n.push(this.SHARE_TYPES.SHARE_TYPE_EMAIL);let r=null;try{r=await W.A.get((0,nt.KT)("apps/files_sharing/api/v1/sharees"),{params:{format:"json",itemType:"dir"===this.fileInfo.type?"folder":"file",search:e,lookup:i,perPage:this.config.maxAutocompleteResults,shareType:n}})}catch(t){return void Ot.error("Error fetching suggestions",t)}const a=r.data.ocs.data,s=r.data.ocs.data.exact;a.exact=[];const o=Object.values(s).reduce(((t,e)=>t.concat(e)),[]),l=Object.values(a).reduce(((t,e)=>t.concat(e)),[]),c=this.filterOutExistingShares(o).map((t=>this.formatForMultiselect(t))).sort(((t,e)=>t.shareType-e.shareType)),h=this.filterOutExistingShares(l).map((t=>this.formatForMultiselect(t))).sort(((t,e)=>t.shareType-e.shareType)),u=[];a.lookupEnabled&&!i&&u.push({id:"global-lookup",isNoUser:!0,displayName:t("files_sharing","Search globally"),lookup:!0});const d=this.externalResults.filter((t=>!t.condition||t.condition(this))),p=c.concat(h).concat(d).concat(u),f=p.reduce(((t,e)=>e.displayName?(t[e.displayName]||(t[e.displayName]=0),t[e.displayName]++,t):t),{});this.suggestions=p.map((t=>f[t.displayName]>1&&!t.desc?{...t,desc:t.shareWithDisplayNameUnique}:t)),this.loading=!1,Ot.info("suggestions",this.suggestions)},debounceGetSuggestions:Pt()((function(){this.getSuggestions(...arguments)}),300),async getRecommendations(){this.loading=!0;let t=null;try{t=await W.A.get((0,nt.KT)("apps/files_sharing/api/v1/sharees_recommended"),{params:{format:"json",itemType:this.fileInfo.type}})}catch(t){return void Ot.error("Error fetching recommendations",t)}const e=this.externalResults.filter((t=>!t.condition||t.condition(this))),i=Object.values(t.data.ocs.data.exact).reduce(((t,e)=>t.concat(e)),[]);this.recommendations=this.filterOutExistingShares(i).map((t=>this.formatForMultiselect(t))).concat(e),this.loading=!1,Ot.info("recommendations",this.recommendations)},filterOutExistingShares(t){return t.reduce(((t,e)=>{if("object"!=typeof e)return t;try{if(e.value.shareType===this.SHARE_TYPES.SHARE_TYPE_USER){if(e.value.shareWith===(0,xt.HW)().uid)return t;if(this.reshare&&e.value.shareWith===this.reshare.owner)return t}if(e.value.shareType===this.SHARE_TYPES.SHARE_TYPE_EMAIL){if(-1!==this.linkShares.map((t=>t.shareWith)).indexOf(e.value.shareWith.trim()))return t}else{const i=this.shares.reduce(((t,e)=>(t[e.shareWith]=e.type,t)),{}),n=e.value.shareWith.trim();if(n in i&&i[n]===e.value.shareType)return t}t.push(e)}catch{return t}return t}),[])},shareTypeToIcon(e){switch(e){case this.SHARE_TYPES.SHARE_TYPE_GUEST:return{icon:"icon-user",iconTitle:t("files_sharing","Guest")};case this.SHARE_TYPES.SHARE_TYPE_REMOTE_GROUP:case this.SHARE_TYPES.SHARE_TYPE_GROUP:return{icon:"icon-group",iconTitle:t("files_sharing","Group")};case this.SHARE_TYPES.SHARE_TYPE_EMAIL:return{icon:"icon-mail",iconTitle:t("files_sharing","Email")};case this.SHARE_TYPES.SHARE_TYPE_CIRCLE:return{icon:"icon-teams",iconTitle:t("files_sharing","Team")};case this.SHARE_TYPES.SHARE_TYPE_ROOM:return{icon:"icon-room",iconTitle:t("files_sharing","Talk conversation")};case this.SHARE_TYPES.SHARE_TYPE_DECK:return{icon:"icon-deck",iconTitle:t("files_sharing","Deck board")};case this.SHARE_TYPES.SHARE_TYPE_SCIENCEMESH:return{icon:"icon-sciencemesh",iconTitle:t("files_sharing","ScienceMesh")};default:return{}}},formatForMultiselect(e){let i;var n;if(e.value.shareType===this.SHARE_TYPES.SHARE_TYPE_USER&&this.config.shouldAlwaysShowUnique)i=null!==(n=e.shareWithDisplayNameUnique)&&void 0!==n?n:"";else if(e.value.shareType!==this.SHARE_TYPES.SHARE_TYPE_REMOTE&&e.value.shareType!==this.SHARE_TYPES.SHARE_TYPE_REMOTE_GROUP||!e.value.server)if(e.value.shareType===this.SHARE_TYPES.SHARE_TYPE_EMAIL)i=e.value.shareWith;else{var r;i=null!==(r=e.shareWithDescription)&&void 0!==r?r:""}else i=t("files_sharing","on {server}",{server:e.value.server});return{shareWith:e.value.shareWith,shareType:e.value.shareType,user:e.uuid||e.value.shareWith,isNoUser:e.value.shareType!==this.SHARE_TYPES.SHARE_TYPE_USER,displayName:e.name||e.label,subtitle:i,shareWithDisplayNameUnique:e.shareWithDisplayNameUnique||"",...this.shareTypeToIcon(e.value.shareType)}},async addShare(t){if(this.value=null,t.lookup)return await this.getSuggestions(this.query,!0),this.$nextTick((()=>{this.$refs.select.$children[0].open=!0})),!0;if(t.handler){const e=await t.handler(this);return this.$emit("add:share",new ct(e)),!0}this.loading=!0,Ot.debug("Adding a new share from the input for",t);try{let e=null;this.config.enforcePasswordForPublicLink&&t.shareType===this.SHARE_TYPES.SHARE_TYPE_EMAIL&&(e=await Dt());const i=(this.fileInfo.path+"/"+this.fileInfo.name).replace("//","/"),n=await this.createShare({path:i,shareType:t.shareType,shareWith:t.shareWith,password:e,permissions:this.fileInfo.sharePermissions&(0,at.F)().files_sharing.default_permissions,attributes:JSON.stringify(this.fileInfo.shareAttributes)});e?(n.newPassword=e,(await new Promise((t=>{this.$emit("add:share",n,t)}))).open=!0):this.$emit("add:share",n),await this.getRecommendations()}catch(e){this.$nextTick((()=>{this.$refs.select.$children[0].open=!0})),this.query=t.shareWith,Ot.error("Error while adding new share",e)}finally{this.loading=!1}}}};var Mt=n(7024),Ut={};Ut.styleTagTransform=A(),Ut.setAttributes=u(),Ut.insert=c().bind(null,"head"),Ut.domAPI=o(),Ut.insertStyleElement=p(),a()(Mt.A,Ut),Mt.A&&Mt.A.locals&&Mt.A.locals;const Vt=(0,pt.A)(Yt,(function(){var t=this,e=t._self._c;return e("div",{staticClass:"sharing-search"},[e("label",{attrs:{for:"sharing-search-input"}},[t._v(t._s(t.t("files_sharing","Search for share recipients")))]),t._v(" "),e("NcSelect",{ref:"select",staticClass:"sharing-search__input",attrs:{"input-id":"sharing-search-input",disabled:!t.canReshare,loading:t.loading,filterable:!1,placeholder:t.inputPlaceholder,"clear-search-on-blur":()=>!1,"user-select":!0,options:t.options},on:{search:t.asyncFind,"option:selected":t.onSelected},scopedSlots:t._u([{key:"no-options",fn:function(e){let{search:i}=e;return[t._v("\n\t\t\t"+t._s(i?t.noResultText:t.t("files_sharing","No recommendations. Start typing."))+"\n\t\t")]}}]),model:{value:t.value,callback:function(e){t.value=e},expression:"value"}})],1)}),[],!1,null,null,null).exports;var Ft=n(71089),zt=n(10700),jt=n(63961),qt=n(49264);const Wt={NONE:0,READ:1,UPDATE:2,CREATE:4,DELETE:8,SHARE:16},$t={READ_ONLY:Wt.READ,UPLOAD_AND_UPDATE:Wt.READ|Wt.UPDATE|Wt.CREATE|Wt.DELETE,FILE_DROP:Wt.CREATE,ALL:Wt.UPDATE|Wt.CREATE|Wt.READ|Wt.DELETE|Wt.SHARE,ALL_FILE:Wt.UPDATE|Wt.READ|Wt.SHARE};var Kt=n(96763);const Gt={mixins:[Lt,ht],props:{fileInfo:{type:Object,default:()=>{},required:!0},share:{type:ct,default:null},isUnique:{type:Boolean,default:!0}},data(){var t;return{config:new st,errors:{},loading:!1,saving:!1,open:!1,updateQueue:new qt.A({concurrency:1}),reactiveState:null===(t=this.share)||void 0===t?void 0:t.state}},computed:{hasNote:{get(){return""!==this.share.note},set(t){this.share.note=t?null:""}},dateTomorrow:()=>new Date((new Date).setDate((new Date).getDate()+1)),lang(){const t=window.dayNamesShort?window.dayNamesShort:["Sun.","Mon.","Tue.","Wed.","Thu.","Fri.","Sat."],e=window.monthNamesShort?window.monthNamesShort:["Jan.","Feb.","Mar.","Apr.","May.","Jun.","Jul.","Aug.","Sep.","Oct.","Nov.","Dec."];return{formatLocale:{firstDayOfWeek:window.firstDay?window.firstDay:0,monthsShort:e,weekdaysMin:t,weekdaysShort:t},monthFormat:"MMM"}},isFolder(){return"dir"===this.fileInfo.type},isPublicShare(){var t;const e=null!==(t=this.share.shareType)&&void 0!==t?t:this.share.type;return[this.SHARE_TYPES.SHARE_TYPE_LINK,this.SHARE_TYPES.SHARE_TYPE_EMAIL].includes(e)},isRemoteShare(){return this.share.type===this.SHARE_TYPES.SHARE_TYPE_REMOTE_GROUP||this.share.type===this.SHARE_TYPES.SHARE_TYPE_REMOTE},isShareOwner(){return this.share&&this.share.owner===(0,xt.HW)().uid},isExpiryDateEnforced(){return this.isPublicShare?this.config.isDefaultExpireDateEnforced:this.isRemoteShare?this.config.isDefaultRemoteExpireDateEnforced:this.config.isDefaultInternalExpireDateEnforced},hasCustomPermissions(){return![$t.ALL,$t.READ_ONLY,$t.FILE_DROP].includes(this.share.permissions)},maxExpirationDateEnforced(){return this.isExpiryDateEnforced?this.isPublicShare?this.config.defaultExpirationDate:this.isRemoteShare?this.config.defaultRemoteExpirationDateString:this.config.defaultInternalExpirationDate:null}},methods:{checkShare:t=>(!t.password||"string"==typeof t.password&&""!==t.password.trim())&&!(t.expirationDate&&!t.expirationDate.isValid()),parseDateString(t){var e;if(t)return new Date(null===(e=t.match(/([0-9]{4}-[0-9]{2}-[0-9]{2})/i))||void 0===e?void 0:e.pop())},formatDateToString:t=>new Date(Date.UTC(t.getFullYear(),t.getMonth(),t.getDate())).toISOString().split("T")[0],onExpirationChange:Pt()((function(t){this.share.expireDate=this.formatDateToString(new Date(t))}),500),onExpirationDisable(){this.share.expireDate=""},onNoteChange(t){this.$set(this.share,"newNote",t.trim())},onNoteSubmit(){this.share.newNote&&(this.share.note=this.share.newNote,this.$delete(this.share,"newNote"),this.queueUpdate("note"))},async onDelete(){try{this.loading=!0,this.open=!1,await this.deleteShare(this.share.id),Kt.debug("Share deleted",this.share.id);const e="file"===this.share.itemType?t("files_sharing",'File "{path}" has been unshared',{path:this.share.path}):t("files_sharing",'Folder "{path}" has been unshared',{path:this.share.path});(0,ut.Te)(e),this.$emit("remove:share",this.share)}catch(t){this.open=!0}finally{this.loading=!1}},queueUpdate(){for(var e=arguments.length,i=new Array(e),n=0;n<e;n++)i[n]=arguments[n];if(0!==i.length){if(this.share.id){const e={};return i.forEach((t=>{"object"==typeof this.share[t]?e[t]=JSON.stringify(this.share[t]):e[t]=this.share[t].toString()})),void this.updateQueue.add((async()=>{this.saving=!0,this.errors={};try{const n=await this.updateShare(this.share.id,e);i.indexOf("password")>=0&&(this.$delete(this.share,"newPassword"),this.share.passwordExpirationTime=n.password_expiration_time),this.$delete(this.errors,i[0]),(0,ut.Te)(t("files_sharing","Share {propertyName} saved",{propertyName:i[0]}))}catch({message:e}){e&&""!==e&&(this.onSyncError(i[0],e),(0,ut.Qg)(t("files_sharing",e)))}finally{this.saving=!1}}))}Kt.debug("Updated local share",this.share)}},onSyncError(t,e){switch(this.open=!0,t){case"password":case"pending":case"expireDate":case"label":case"note":{this.$set(this.errors,t,e);let i=this.$refs[t];if(i){i.$el&&(i=i.$el);const t=i.querySelector(".focusable");t&&t.focus()}break}case"sendPasswordByTalk":this.$set(this.errors,t,e),this.share.sendPasswordByTalk=!this.share.sendPasswordByTalk}},debounceQueueUpdate:Pt()((function(t){this.queueUpdate(t)}),500)}},Zt={name:"SharingEntryInherited",components:{NcActionButton:j.A,NcActionLink:zt.A,NcActionText:jt.A,NcAvatar:v.A,SharingEntrySimple:yt},mixins:[Gt],props:{share:{type:ct,required:!0}},computed:{viaFileTargetUrl(){return(0,nt.Jv)("/f/{fileid}",{fileid:this.share.viaFileid})},viaFolderName(){return(0,Ft.P8)(this.share.viaPath)}}};var Qt=n(32260),Jt={};Jt.styleTagTransform=A(),Jt.setAttributes=u(),Jt.insert=c().bind(null,"head"),Jt.domAPI=o(),Jt.insertStyleElement=p(),a()(Qt.A,Jt),Qt.A&&Qt.A.locals&&Qt.A.locals;const Xt=(0,pt.A)(Zt,(function(){var t=this,e=t._self._c;return e("SharingEntrySimple",{key:t.share.id,staticClass:"sharing-entry__inherited",attrs:{title:t.share.shareWithDisplayName},scopedSlots:t._u([{key:"avatar",fn:function(){return[e("NcAvatar",{staticClass:"sharing-entry__avatar",attrs:{user:t.share.shareWith,"display-name":t.share.shareWithDisplayName}})]},proxy:!0}])},[t._v(" "),e("NcActionText",{attrs:{icon:"icon-user"}},[t._v("\n\t\t"+t._s(t.t("files_sharing","Added by {initiator}",{initiator:t.share.ownerDisplayName}))+"\n\t")]),t._v(" "),t.share.viaPath&&t.share.viaFileid?e("NcActionLink",{attrs:{icon:"icon-folder",href:t.viaFileTargetUrl}},[t._v("\n\t\t"+t._s(t.t("files_sharing","Via “{folder}”",{folder:t.viaFolderName}))+"\n\t")]):t._e(),t._v(" "),t.share.canDelete?e("NcActionButton",{attrs:{icon:"icon-close"},on:{click:function(e){return e.preventDefault(),t.onDelete.apply(null,arguments)}}},[t._v("\n\t\t"+t._s(t.t("files_sharing","Unshare"))+"\n\t")]):t._e()],1)}),[],!1,null,"859a420e",null).exports;var te=n(96763);const ee={name:"SharingInherited",components:{NcActionButton:j.A,SharingEntryInherited:Xt,SharingEntrySimple:yt},props:{fileInfo:{type:Object,default:()=>{},required:!0}},data:()=>({loaded:!1,loading:!1,showInheritedShares:!1,shares:[]}),computed:{showInheritedSharesIcon(){return this.loading?"icon-loading-small":this.showInheritedShares?"icon-triangle-n":"icon-triangle-s"},mainTitle:()=>t("files_sharing","Others with access"),subTitle(){return this.showInheritedShares&&0===this.shares.length?t("files_sharing","No other accounts with access found"):""},toggleTooltip(){return"dir"===this.fileInfo.type?t("files_sharing","Toggle list of others with access to this directory"):t("files_sharing","Toggle list of others with access to this file")},fullPath(){return"".concat(this.fileInfo.path,"/").concat(this.fileInfo.name).replace("//","/")}},watch:{fileInfo(){this.resetState()}},methods:{toggleInheritedShares(){this.showInheritedShares=!this.showInheritedShares,this.showInheritedShares?this.fetchInheritedShares():this.resetState()},async fetchInheritedShares(){this.loading=!0;try{const t=(0,nt.KT)("apps/files_sharing/api/v1/shares/inherited?format=json&path={path}",{path:this.fullPath}),e=await W.A.get(t);this.shares=e.data.ocs.data.map((t=>new ct(t))).sort(((t,e)=>e.createdTime-t.createdTime)),te.info(this.shares),this.loaded=!0}catch(e){OC.Notification.showTemporary(t("files_sharing","Unable to fetch inherited shares"),{type:"error"})}finally{this.loading=!1}},resetState(){this.loaded=!1,this.loading=!1,this.showInheritedShares=!1,this.shares=[]},removeShare(t){const e=this.shares.findIndex((e=>e===t));this.shares.splice(e,1)}}};var ie=n(29846),ne={};ne.styleTagTransform=A(),ne.setAttributes=u(),ne.insert=c().bind(null,"head"),ne.domAPI=o(),ne.insertStyleElement=p(),a()(ie.A,ne),ie.A&&ie.A.locals&&ie.A.locals;const re=(0,pt.A)(ee,(function(){var t=this,e=t._self._c;return e("ul",{attrs:{id:"sharing-inherited-shares"}},[e("SharingEntrySimple",{staticClass:"sharing-entry__inherited",attrs:{title:t.mainTitle,subtitle:t.subTitle,"aria-expanded":t.showInheritedShares},scopedSlots:t._u([{key:"avatar",fn:function(){return[e("div",{staticClass:"avatar-shared icon-more-white"})]},proxy:!0}])},[t._v(" "),e("NcActionButton",{attrs:{icon:t.showInheritedSharesIcon,"aria-label":t.toggleTooltip,title:t.toggleTooltip},on:{click:function(e){return e.preventDefault(),e.stopPropagation(),t.toggleInheritedShares.apply(null,arguments)}}})],1),t._v(" "),t._l(t.shares,(function(i){return e("SharingEntryInherited",{key:i.id,attrs:{"file-info":t.fileInfo,share:i},on:{"remove:share":t.removeShare}})}))],2)}),[],!1,null,"73f8fada",null).exports;var ae=n(17816),se=n.n(ae),oe=n(44131),le=n(10501),ce=n(94219);const he={name:"TuneIcon",emits:["click"],props:{title:{type:String},fillColor:{type:String,default:"currentColor"},size:{type:Number,default:24}}},ue=(0,pt.A)(he,(function(){var t=this,e=t._self._c;return e("span",t._b({staticClass:"material-design-icon tune-icon",attrs:{"aria-hidden":!t.title||null,"aria-label":t.title,role:"img"},on:{click:function(e){return t.$emit("click",e)}}},"span",t.$attrs,!1),[e("svg",{staticClass:"material-design-icon__svg",attrs:{fill:t.fillColor,width:t.size,height:t.size,viewBox:"0 0 24 24"}},[e("path",{attrs:{d:"M3,17V19H9V17H3M3,5V7H13V5H3M13,21V19H21V17H13V15H11V21H13M7,9V11H3V13H7V15H9V9H7M21,13V11H11V13H21M15,9H17V7H21V5H17V3H15V9Z"}},[t.title?e("title",[t._v(t._s(t.title))]):t._e()])])])}),[],!1,null,null,null).exports,de={name:"QrcodeIcon",emits:["click"],props:{title:{type:String},fillColor:{type:String,default:"currentColor"},size:{type:Number,default:24}}},pe=(0,pt.A)(de,(function(){var t=this,e=t._self._c;return e("span",t._b({staticClass:"material-design-icon qrcode-icon",attrs:{"aria-hidden":!t.title||null,"aria-label":t.title,role:"img"},on:{click:function(e){return t.$emit("click",e)}}},"span",t.$attrs,!1),[e("svg",{staticClass:"material-design-icon__svg",attrs:{fill:t.fillColor,width:t.size,height:t.size,viewBox:"0 0 24 24"}},[e("path",{attrs:{d:"M3,11H5V13H3V11M11,5H13V9H11V5M9,11H13V15H11V13H9V11M15,11H17V13H19V11H21V13H19V15H21V19H19V21H17V19H13V21H11V17H15V15H17V13H15V11M19,19V15H17V19H19M15,3H21V9H15V3M17,5V7H19V5H17M3,3H9V9H3V3M5,5V7H7V5H5M3,15H9V21H3V15M5,17V19H7V17H5Z"}},[t.title?e("title",[t._v(t._s(t.title))]):t._e()])])])}),[],!1,null,null,null).exports,fe={name:"ExclamationIcon",emits:["click"],props:{title:{type:String},fillColor:{type:String,default:"currentColor"},size:{type:Number,default:24}}},Ae=(0,pt.A)(fe,(function(){var t=this,e=t._self._c;return e("span",t._b({staticClass:"material-design-icon exclamation-icon",attrs:{"aria-hidden":!t.title||null,"aria-label":t.title,role:"img"},on:{click:function(e){return t.$emit("click",e)}}},"span",t.$attrs,!1),[e("svg",{staticClass:"material-design-icon__svg",attrs:{fill:t.fillColor,width:t.size,height:t.size,viewBox:"0 0 24 24"}},[e("path",{attrs:{d:"M 11,4L 13,4L 13,15L 11,15L 11,4 Z M 13,18L 13,20L 11,20L 11,18L 13,18 Z"}},[t.title?e("title",[t._v(t._s(t.title))]):t._e()])])])}),[],!1,null,null,null).exports,ge={name:"LockIcon",emits:["click"],props:{title:{type:String},fillColor:{type:String,default:"currentColor"},size:{type:Number,default:24}}},me=(0,pt.A)(ge,(function(){var t=this,e=t._self._c;return e("span",t._b({staticClass:"material-design-icon lock-icon",attrs:{"aria-hidden":!t.title||null,"aria-label":t.title,role:"img"},on:{click:function(e){return t.$emit("click",e)}}},"span",t.$attrs,!1),[e("svg",{staticClass:"material-design-icon__svg",attrs:{fill:t.fillColor,width:t.size,height:t.size,viewBox:"0 0 24 24"}},[e("path",{attrs:{d:"M12,17A2,2 0 0,0 14,15C14,13.89 13.1,13 12,13A2,2 0 0,0 10,15A2,2 0 0,0 12,17M18,8A2,2 0 0,1 20,10V20A2,2 0 0,1 18,22H6A2,2 0 0,1 4,20V10C4,8.89 4.9,8 6,8H7V6A5,5 0 0,1 12,1A5,5 0 0,1 17,6V8H18M12,3A3,3 0 0,0 9,6V8H15V6A3,3 0 0,0 12,3Z"}},[t.title?e("title",[t._v(t._s(t.title))]):t._e()])])])}),[],!1,null,null,null).exports;var ve=n(24325),_e=n(27577);const ye={name:"TriangleSmallDownIcon",emits:["click"],props:{title:{type:String},fillColor:{type:String,default:"currentColor"},size:{type:Number,default:24}}},we=(0,pt.A)(ye,(function(){var t=this,e=t._self._c;return e("span",t._b({staticClass:"material-design-icon triangle-small-down-icon",attrs:{"aria-hidden":!t.title||null,"aria-label":t.title,role:"img"},on:{click:function(e){return t.$emit("click",e)}}},"span",t.$attrs,!1),[e("svg",{staticClass:"material-design-icon__svg",attrs:{fill:t.fillColor,width:t.size,height:t.size,viewBox:"0 0 24 24"}},[e("path",{attrs:{d:"M8 9H16L12 16"}},[t.title?e("title",[t._v(t._s(t.title))]):t._e()])])])}),[],!1,null,null,null).exports,Ce={name:"EyeOutlineIcon",emits:["click"],props:{title:{type:String},fillColor:{type:String,default:"currentColor"},size:{type:Number,default:24}}},Ee=(0,pt.A)(Ce,(function(){var t=this,e=t._self._c;return e("span",t._b({staticClass:"material-design-icon eye-outline-icon",attrs:{"aria-hidden":!t.title||null,"aria-label":t.title,role:"img"},on:{click:function(e){return t.$emit("click",e)}}},"span",t.$attrs,!1),[e("svg",{staticClass:"material-design-icon__svg",attrs:{fill:t.fillColor,width:t.size,height:t.size,viewBox:"0 0 24 24"}},[e("path",{attrs:{d:"M12,9A3,3 0 0,1 15,12A3,3 0 0,1 12,15A3,3 0 0,1 9,12A3,3 0 0,1 12,9M12,4.5C17,4.5 21.27,7.61 23,12C21.27,16.39 17,19.5 12,19.5C7,19.5 2.73,16.39 1,12C2.73,7.61 7,4.5 12,4.5M3.18,12C4.83,15.36 8.24,17.5 12,17.5C15.76,17.5 19.17,15.36 20.82,12C19.17,8.64 15.76,6.5 12,6.5C8.24,6.5 4.83,8.64 3.18,12Z"}},[t.title?e("title",[t._v(t._s(t.title))]):t._e()])])])}),[],!1,null,null,null).exports;var be=n(93919);const Se={name:"FileUploadIcon",emits:["click"],props:{title:{type:String},fillColor:{type:String,default:"currentColor"},size:{type:Number,default:24}}},xe=(0,pt.A)(Se,(function(){var t=this,e=t._self._c;return e("span",t._b({staticClass:"material-design-icon file-upload-icon",attrs:{"aria-hidden":!t.title||null,"aria-label":t.title,role:"img"},on:{click:function(e){return t.$emit("click",e)}}},"span",t.$attrs,!1),[e("svg",{staticClass:"material-design-icon__svg",attrs:{fill:t.fillColor,width:t.size,height:t.size,viewBox:"0 0 24 24"}},[e("path",{attrs:{d:"M14,2H6A2,2 0 0,0 4,4V20A2,2 0 0,0 6,22H18A2,2 0 0,0 20,20V8L14,2M13.5,16V19H10.5V16H8L12,12L16,16H13.5M13,9V3.5L18.5,9H13Z"}},[t.title?e("title",[t._v(t._s(t.title))]):t._e()])])])}),[],!1,null,null,null).exports,Te={name:"SharingEntryQuickShareSelect",components:{DropdownIcon:we,NcActions:z.A,NcActionButton:j.A},mixins:[Gt,Ht,ht],props:{share:{type:Object,required:!0}},emits:["open-sharing-details"],data:()=>({selectedOption:""}),computed:{ariaLabel(){return t("files_sharing",'Quick share options, the current selected is "{selectedOption}"',{selectedOption:this.selectedOption})},canViewText:()=>t("files_sharing","View only"),canEditText:()=>t("files_sharing","Can edit"),fileDropText:()=>t("files_sharing","File drop"),customPermissionsText:()=>t("files_sharing","Custom permissions"),preSelectedOption(){return(this.share.permissions&~Wt.SHARE)===$t.READ_ONLY?this.canViewText:this.share.permissions===$t.ALL||this.share.permissions===$t.ALL_FILE?this.canEditText:(this.share.permissions&~Wt.SHARE)===$t.FILE_DROP?this.fileDropText:this.customPermissionsText},options(){const t=[{label:this.canViewText,icon:Ee},{label:this.canEditText,icon:be.A}];return this.supportsFileDrop&&t.push({label:this.fileDropText,icon:xe}),t.push({label:this.customPermissionsText,icon:ue}),t},supportsFileDrop(){if(this.isFolder&&this.config.isPublicUploadEnabled){var t;const e=null!==(t=this.share.type)&&void 0!==t?t:this.share.shareType;return[this.SHARE_TYPES.SHARE_TYPE_LINK,this.SHARE_TYPES.SHARE_TYPE_EMAIL].includes(e)}return!1},dropDownPermissionValue(){switch(this.selectedOption){case this.canEditText:return this.isFolder?$t.ALL:$t.ALL_FILE;case this.fileDropText:return $t.FILE_DROP;case this.customPermissionsText:return"custom";case this.canViewText:default:return $t.READ_ONLY}}},created(){this.selectedOption=this.preSelectedOption},methods:{selectOption(t){this.selectedOption=t,t===this.customPermissionsText?this.$emit("open-sharing-details"):(this.share.permissions=this.dropDownPermissionValue,this.queueUpdate("permissions"),this.$refs.quickShareActions.$refs.menuButton.$el.focus())}}},Pe=Te;var ke=n(85971),Re={};Re.styleTagTransform=A(),Re.setAttributes=u(),Re.insert=c().bind(null,"head"),Re.domAPI=o(),Re.insertStyleElement=p(),a()(ke.A,Re),ke.A&&ke.A.locals&&ke.A.locals;const De=(0,pt.A)(Pe,(function(){var t=this,e=t._self._c;return e("NcActions",{ref:"quickShareActions",staticClass:"share-select",attrs:{"menu-name":t.selectedOption,"aria-label":t.ariaLabel,type:"tertiary-no-background","force-name":""},scopedSlots:t._u([{key:"icon",fn:function(){return[e("DropdownIcon",{attrs:{size:15}})]},proxy:!0}])},[t._v(" "),t._l(t.options,(function(i){return e("NcActionButton",{key:i.label,attrs:{type:"radio","model-value":i.label===t.selectedOption,"close-after-click":""},on:{click:function(e){return t.selectOption(i.label)}},scopedSlots:t._u([{key:"icon",fn:function(){return[e(i.icon,{tag:"component"})]},proxy:!0}],null,!0)},[t._v("\n\t\t"+t._s(i.label)+"\n\t")])}))],2)}),[],!1,null,"e3692374",null).exports,Ie={name:"ExternalShareAction",props:{id:{type:String,required:!0},action:{type:Object,default:()=>({})},fileInfo:{type:Object,default:()=>{},required:!0},share:{type:ct,default:null}},computed:{data(){return this.action.data(this)}}},Be=(0,pt.A)(Ie,(function(){var t=this;return(0,t._self._c)(t.data.is,t._g(t._b({tag:"Component"},"Component",t.data,!1),t.action.handlers),[t._v("\n\t"+t._s(t.data.text)+"\n")])}),[],!1,null,null,null).exports;var Ne=n(96763);const Le={name:"SharingEntryLink",components:{ExternalShareAction:Be,NcActions:z.A,NcActionButton:j.A,NcActionInput:oe.A,NcActionLink:zt.A,NcActionText:jt.A,NcActionSeparator:le.A,NcAvatar:v.A,NcDialog:ce.A,VueQrcode:se(),Tune:ue,IconQr:pe,ErrorIcon:Ae,LockIcon:me,CheckIcon:ft,ClipboardIcon:gt,CloseIcon:ve.A,PlusIcon:_e.A,SharingEntryQuickShareSelect:De},mixins:[Gt,Ht],props:{canReshare:{type:Boolean,default:!0},index:{type:Number,default:null}},data:()=>({copySuccess:!0,copied:!1,pending:!1,ExternalLegacyLinkActions:OCA.Sharing.ExternalLinkActions.state,ExternalShareActions:OCA.Sharing.ExternalShareActions.state,showQRCode:!1}),computed:{title(){if(this.share&&this.share.id){if(!this.isShareOwner&&this.share.ownerDisplayName)return this.isEmailShareType?t("files_sharing","{shareWith} by {initiator}",{shareWith:this.share.shareWith,initiator:this.share.ownerDisplayName}):t("files_sharing","Shared via link by {initiator}",{initiator:this.share.ownerDisplayName});if(this.share.label&&""!==this.share.label.trim())return this.isEmailShareType?t("files_sharing","Mail share ({label})",{label:this.share.label.trim()}):t("files_sharing","Share link ({label})",{label:this.share.label.trim()});if(this.isEmailShareType)return this.share.shareWith}return this.index>1?t("files_sharing","Share link ({index})",{index:this.index}):t("files_sharing","Share link")},subtitle(){return this.isEmailShareType&&this.title!==this.share.shareWith?this.share.shareWith:null},isPasswordProtected:{get(){return this.config.enforcePasswordForPublicLink||!!this.share.password},async set(t){q.Ay.set(this.share,"password",t?await Dt():""),q.Ay.set(this.share,"newPassword",this.share.password)}},passwordExpirationTime(){if(null===this.share.passwordExpirationTime)return null;const t=moment(this.share.passwordExpirationTime);return!(t.diff(moment())<0)&&t.fromNow()},isTalkEnabled:()=>void 0!==OC.appswebroots.spreed,isPasswordProtectedByTalkAvailable(){return this.isPasswordProtected&&this.isTalkEnabled},isPasswordProtectedByTalk:{get(){return this.share.sendPasswordByTalk},async set(t){this.share.sendPasswordByTalk=t}},isEmailShareType(){return!!this.share&&this.share.type===this.SHARE_TYPES.SHARE_TYPE_EMAIL},canTogglePasswordProtectedByTalkAvailable(){return!(!this.isPasswordProtected||this.isEmailShareType&&!this.hasUnsavedPassword)},pendingPassword(){return this.config.enableLinkPasswordByDefault&&this.share&&!this.share.id},pendingEnforcedPassword(){return this.config.enforcePasswordForPublicLink&&this.share&&!this.share.id},pendingExpirationDate(){return this.config.isDefaultExpireDateEnforced&&this.share&&!this.share.id},hasUnsavedPassword(){return void 0!==this.share.newPassword},shareLink(){return window.location.protocol+"//"+window.location.host+(0,nt.Jv)("/s/")+this.share.token},actionsTooltip(){return t("files_sharing",'Actions for "{title}"',{title:this.title})},copyLinkTooltip(){return this.copied?this.copySuccess?"":t("files_sharing","Cannot copy, please copy the link manually"):t("files_sharing",'Copy public link of "{title}" to clipboard',{title:this.title})},externalLegacyLinkActions(){return this.ExternalLegacyLinkActions.actions},externalLinkActions(){return this.ExternalShareActions.actions.filter((t=>(t.shareType.includes(ot.Z.SHARE_TYPE_LINK)||t.shareType.includes(ot.Z.SHARE_TYPE_EMAIL))&&!t.advanced))},isPasswordPolicyEnabled(){return"object"==typeof this.config.passwordPolicy},canChangeHideDownload(){return this.fileInfo.shareAttributes.some((t=>"download"===t.key&&"permissions"===t.scope&&!1===t.enabled))}},methods:{async onNewLinkShare(){if(this.loading)return;const e={share_type:ot.Z.SHARE_TYPE_LINK};if(this.config.isDefaultExpireDateEnforced&&(e.expiration=this.formatDateToString(this.config.defaultExpirationDate)),this.config.enableLinkPasswordByDefault||this.config.enforcePasswordForPublicLink||this.config.isDefaultExpireDateEnforced){if(this.pending=!0,this.share&&!this.share.id){if(this.checkShare(this.share)){try{await this.pushNewLinkShare(this.share,!0)}catch(t){return this.pending=!1,Ne.error(t),!1}return!0}return this.open=!0,OC.Notification.showTemporary(t("files_sharing","Error, please enter proper password and/or expiration date")),!1}(this.config.enableLinkPasswordByDefault||this.config.enforcePasswordForPublicLink)&&(e.password=await Dt());const i=new ct(e),n=await new Promise((t=>{this.$emit("add:share",i,t)}));this.open=!1,this.pending=!1,n.open=!0}else{const t=new ct(e);await this.pushNewLinkShare(t)}},async pushNewLinkShare(e,i){try{if(this.loading)return!0;this.loading=!0,this.errors={};const n={path:(this.fileInfo.path+"/"+this.fileInfo.name).replace("//","/"),shareType:ot.Z.SHARE_TYPE_LINK,password:e.password,expireDate:e.expireDate,attributes:JSON.stringify(this.fileInfo.shareAttributes)};Ne.debug("Creating link share with options",n);const r=await this.createShare(n);let a;this.open=!1,Ne.debug("Link share created",r),a=i?await new Promise((t=>{this.$emit("update:share",r,t)})):await new Promise((t=>{this.$emit("add:share",r,t)})),this.config.enforcePasswordForPublicLink||a.copyLink(),(0,ut.Te)(t("files_sharing","Link share created"))}catch(e){var n;const i=null==e||null===(n=e.response)||void 0===n||null===(n=n.data)||void 0===n||null===(n=n.ocs)||void 0===n||null===(n=n.meta)||void 0===n?void 0:n.message;if(!i)return(0,ut.Qg)(t("files_sharing","Error while creating the share")),void Ne.error(e);throw i.match(/password/i)?this.onSyncError("password",i):i.match(/date/i)?this.onSyncError("expireDate",i):this.onSyncError("pending",i),e}finally{this.loading=!1}},async copyLink(){try{await navigator.clipboard.writeText(this.shareLink),(0,ut.Te)(t("files_sharing","Link copied")),this.$refs.copyButton.$el.focus(),this.copySuccess=!0,this.copied=!0}catch(t){this.copySuccess=!1,this.copied=!0,Ne.error(t)}finally{setTimeout((()=>{this.copySuccess=!1,this.copied=!1}),4e3)}},onPasswordChange(t){this.$set(this.share,"newPassword",t)},onPasswordDisable(){this.share.password="",this.$delete(this.share,"newPassword"),this.share.id&&this.queueUpdate("password")},onPasswordSubmit(){this.hasUnsavedPassword&&(this.share.password=this.share.newPassword.trim(),this.queueUpdate("password"))},onPasswordProtectedByTalkChange(){this.hasUnsavedPassword&&(this.share.password=this.share.newPassword.trim()),this.queueUpdate("sendPasswordByTalk","password")},onMenuClose(){this.onPasswordSubmit(),this.onNoteSubmit()},onCancel(){this.$emit("remove:share",this.share)}}},He=Le;var Oe=n(82232),Ye={};Ye.styleTagTransform=A(),Ye.setAttributes=u(),Ye.insert=c().bind(null,"head"),Ye.domAPI=o(),Ye.insertStyleElement=p(),a()(Oe.A,Ye),Oe.A&&Oe.A.locals&&Oe.A.locals;const Me={name:"SharingLinkList",components:{SharingEntryLink:(0,pt.A)(He,(function(){var t=this,e=t._self._c;return e("li",{staticClass:"sharing-entry sharing-entry__link",class:{"sharing-entry--share":t.share}},[e("NcAvatar",{staticClass:"sharing-entry__avatar",attrs:{"is-no-user":!0,"icon-class":t.isEmailShareType?"avatar-link-share icon-mail-white":"avatar-link-share icon-public-white"}}),t._v(" "),e("div",{staticClass:"sharing-entry__summary"},[e("div",{staticClass:"sharing-entry__desc"},[e("span",{staticClass:"sharing-entry__title",attrs:{title:t.title}},[t._v("\n\t\t\t\t"+t._s(t.title)+"\n\t\t\t")]),t._v(" "),t.subtitle?e("p",[t._v("\n\t\t\t\t"+t._s(t.subtitle)+"\n\t\t\t")]):t._e(),t._v(" "),t.share&&void 0!==t.share.permissions?e("SharingEntryQuickShareSelect",{attrs:{share:t.share,"file-info":t.fileInfo},on:{"open-sharing-details":function(e){return t.openShareDetailsForCustomSettings(t.share)}}}):t._e()],1),t._v(" "),t.share&&!t.isEmailShareType&&t.share.token?e("NcActions",{ref:"copyButton",staticClass:"sharing-entry__copy"},[e("NcActionButton",{attrs:{title:t.copyLinkTooltip,"aria-label":t.copyLinkTooltip},on:{click:function(e){return e.preventDefault(),t.copyLink.apply(null,arguments)}},scopedSlots:t._u([{key:"icon",fn:function(){return[t.copied&&t.copySuccess?e("CheckIcon",{staticClass:"icon-checkmark-color",attrs:{size:20}}):e("ClipboardIcon",{attrs:{size:20}})]},proxy:!0}],null,!1,4269614823)})],1):t._e()],1),t._v(" "),!t.pending&&(t.pendingPassword||t.pendingEnforcedPassword||t.pendingExpirationDate)?e("NcActions",{staticClass:"sharing-entry__actions",attrs:{"aria-label":t.actionsTooltip,"menu-align":"right",open:t.open},on:{"update:open":function(e){t.open=e},close:t.onCancel}},[t.errors.pending?e("NcActionText",{staticClass:"error",scopedSlots:t._u([{key:"icon",fn:function(){return[e("ErrorIcon",{attrs:{size:20}})]},proxy:!0}],null,!1,1966124155)},[t._v("\n\t\t\t"+t._s(t.errors.pending)+"\n\t\t")]):e("NcActionText",{attrs:{icon:"icon-info"}},[t._v("\n\t\t\t"+t._s(t.t("files_sharing","Please enter the following required information before creating the share"))+"\n\t\t")]),t._v(" "),t.pendingEnforcedPassword?e("NcActionText",[e("LockIcon",{attrs:{size:20}}),t._v("\n\t\t\t"+t._s(t.t("files_sharing","Password protection (enforced)"))+"\n\t\t")],1):t.pendingPassword?e("NcActionCheckbox",{staticClass:"share-link-password-checkbox",attrs:{checked:t.isPasswordProtected,disabled:t.config.enforcePasswordForPublicLink||t.saving},on:{"update:checked":function(e){t.isPasswordProtected=e},uncheck:t.onPasswordDisable}},[t._v("\n\t\t\t"+t._s(t.t("files_sharing","Password protection"))+"\n\t\t")]):t._e(),t._v(" "),t.pendingEnforcedPassword||t.share.password?e("NcActionInput",{staticClass:"share-link-password",attrs:{value:t.share.password,disabled:t.saving,required:t.config.enableLinkPasswordByDefault||t.config.enforcePasswordForPublicLink,minlength:t.isPasswordPolicyEnabled&&t.config.passwordPolicy.minLength,icon:"",autocomplete:"new-password"},on:{"update:value":function(e){return t.$set(t.share,"password",e)},submit:t.onNewLinkShare}},[t._v("\n\t\t\t"+t._s(t.t("files_sharing","Enter a password"))+"\n\t\t")]):t._e(),t._v(" "),t.pendingExpirationDate?e("NcActionText",{attrs:{icon:"icon-calendar-dark"}},[t._v("\n\t\t\t"+t._s(t.t("files_sharing","Expiration date (enforced)"))+"\n\t\t")]):t._e(),t._v(" "),t.pendingExpirationDate?e("NcActionInput",{staticClass:"share-link-expire-date",attrs:{disabled:t.saving,"is-native-picker":!0,"hide-label":!0,value:new Date(t.share.expireDate),type:"date",min:t.dateTomorrow,max:t.maxExpirationDateEnforced},on:{input:t.onExpirationChange}},[t._v("\n\t\t\t"+t._s(t.t("files_sharing","Enter a date"))+"\n\t\t")]):t._e(),t._v(" "),e("NcActionButton",{on:{click:function(e){return e.preventDefault(),e.stopPropagation(),t.onNewLinkShare.apply(null,arguments)}},scopedSlots:t._u([{key:"icon",fn:function(){return[e("CheckIcon",{attrs:{size:20}})]},proxy:!0}],null,!1,2630571749)},[t._v("\n\t\t\t"+t._s(t.t("files_sharing","Create share"))+"\n\t\t")]),t._v(" "),e("NcActionButton",{on:{click:function(e){return e.preventDefault(),e.stopPropagation(),t.onCancel.apply(null,arguments)}},scopedSlots:t._u([{key:"icon",fn:function(){return[e("CloseIcon",{attrs:{size:20}})]},proxy:!0}],null,!1,2428343285)},[t._v("\n\t\t\t"+t._s(t.t("files_sharing","Cancel"))+"\n\t\t")])],1):t.loading?e("div",{staticClass:"icon-loading-small sharing-entry__loading"}):e("NcActions",{staticClass:"sharing-entry__actions",attrs:{"aria-label":t.actionsTooltip,"menu-align":"right",open:t.open},on:{"update:open":function(e){t.open=e},close:t.onMenuClose}},[t.share?[t.share.canEdit&&t.canReshare?[e("NcActionButton",{attrs:{disabled:t.saving,"close-after-click":!0},on:{click:function(e){return e.preventDefault(),t.openSharingDetails.apply(null,arguments)}},scopedSlots:t._u([{key:"icon",fn:function(){return[e("Tune",{attrs:{size:20}})]},proxy:!0}],null,!1,1300586850)},[t._v("\n\t\t\t\t\t"+t._s(t.t("files_sharing","Customize link"))+"\n\t\t\t\t")])]:t._e(),t._v(" "),e("NcActionButton",{attrs:{"close-after-click":!0},on:{click:function(e){e.preventDefault(),t.showQRCode=!0}},scopedSlots:t._u([{key:"icon",fn:function(){return[e("IconQr",{attrs:{size:20}})]},proxy:!0}],null,!1,1082198240)},[t._v("\n\t\t\t\t"+t._s(t.t("files_sharing","Generate QR code"))+"\n\t\t\t")]),t._v(" "),e("NcActionSeparator"),t._v(" "),t._l(t.externalLinkActions,(function(i){return e("ExternalShareAction",{key:i.id,attrs:{id:i.id,action:i,"file-info":t.fileInfo,share:t.share}})})),t._v(" "),t._l(t.externalLegacyLinkActions,(function(i,n){let{icon:r,url:a,name:s}=i;return e("NcActionLink",{key:n,attrs:{href:a(t.shareLink),icon:r,target:"_blank"}},[t._v("\n\t\t\t\t"+t._s(s)+"\n\t\t\t")])})),t._v(" "),!t.isEmailShareType&&t.canReshare?e("NcActionButton",{staticClass:"new-share-link",on:{click:function(e){return e.preventDefault(),e.stopPropagation(),t.onNewLinkShare.apply(null,arguments)}},scopedSlots:t._u([{key:"icon",fn:function(){return[e("PlusIcon",{attrs:{size:20}})]},proxy:!0}],null,!1,2953566425)},[t._v("\n\t\t\t\t"+t._s(t.t("files_sharing","Add another link"))+"\n\t\t\t")]):t._e(),t._v(" "),t.share.canDelete?e("NcActionButton",{attrs:{disabled:t.saving},on:{click:function(e){return e.preventDefault(),t.onDelete.apply(null,arguments)}},scopedSlots:t._u([{key:"icon",fn:function(){return[e("CloseIcon",{attrs:{size:20}})]},proxy:!0}],null,!1,2428343285)},[t._v("\n\t\t\t\t"+t._s(t.t("files_sharing","Unshare"))+"\n\t\t\t")]):t._e()]:t.canReshare?e("NcActionButton",{staticClass:"new-share-link",attrs:{title:t.t("files_sharing","Create a new share link"),"aria-label":t.t("files_sharing","Create a new share link"),icon:t.loading?"icon-loading-small":"icon-add"},on:{click:function(e){return e.preventDefault(),e.stopPropagation(),t.onNewLinkShare.apply(null,arguments)}}}):t._e()],2),t._v(" "),t.showQRCode?e("NcDialog",{attrs:{size:"normal",open:t.showQRCode,name:t.title,"close-on-click-outside":!0},on:{"update:open":function(e){t.showQRCode=e},close:function(e){t.showQRCode=!1}}},[e("div",{staticClass:"qr-code-dialog"},[e("VueQrcode",{staticClass:"qr-code-dialog__img",attrs:{tag:"img",value:t.shareLink}})],1)]):t._e()],1)}),[],!1,null,"6b41579b",null).exports},mixins:[ht,Ht],props:{fileInfo:{type:Object,default:()=>{},required:!0},shares:{type:Array,default:()=>[],required:!0},canReshare:{type:Boolean,required:!0}},data:()=>({canLinkShare:(0,at.F)().files_sharing.public.enabled}),computed:{hasLinkShares(){return this.shares.filter((t=>t.type===this.SHARE_TYPES.SHARE_TYPE_LINK)).length>0},hasShares(){return this.shares.length>0}},methods:{addShare(t,e){this.shares.unshift(t),this.awaitForShare(t,e)},awaitForShare(t,e){this.$nextTick((()=>{const i=this.$children.find((e=>e.share===t));i&&e(i)}))},removeShare(t){const e=this.shares.findIndex((e=>e===t));this.shares.splice(e,1)}}},Ue=(0,pt.A)(Me,(function(){var t=this,e=t._self._c;return t.canLinkShare?e("ul",{staticClass:"sharing-link-list"},[!t.hasLinkShares&&t.canReshare?e("SharingEntryLink",{attrs:{"can-reshare":t.canReshare,"file-info":t.fileInfo},on:{"add:share":t.addShare}}):t._e(),t._v(" "),t.hasShares?t._l(t.shares,(function(i,n){return e("SharingEntryLink",{key:i.id,attrs:{index:t.shares.length>1?n+1:null,"can-reshare":t.canReshare,share:t.shares[n],"file-info":t.fileInfo},on:{"update:share":[function(e){return t.$set(t.shares,n,e)},function(e){return t.awaitForShare(...arguments)}],"add:share":function(e){return t.addShare(...arguments)},"remove:share":t.removeShare,"open-sharing-details":function(e){return t.openSharingDetails(i)}}})})):t._e()],2):t._e()}),[],!1,null,null,null).exports;var Ve=n(9518);const Fe={name:"DotsHorizontalIcon",emits:["click"],props:{title:{type:String},fillColor:{type:String,default:"currentColor"},size:{type:Number,default:24}}},ze=(0,pt.A)(Fe,(function(){var t=this,e=t._self._c;return e("span",t._b({staticClass:"material-design-icon dots-horizontal-icon",attrs:{"aria-hidden":!t.title||null,"aria-label":t.title,role:"img"},on:{click:function(e){return t.$emit("click",e)}}},"span",t.$attrs,!1),[e("svg",{staticClass:"material-design-icon__svg",attrs:{fill:t.fillColor,width:t.size,height:t.size,viewBox:"0 0 24 24"}},[e("path",{attrs:{d:"M16,12A2,2 0 0,1 18,10A2,2 0 0,1 20,12A2,2 0 0,1 18,14A2,2 0 0,1 16,12M10,12A2,2 0 0,1 12,10A2,2 0 0,1 14,12A2,2 0 0,1 12,14A2,2 0 0,1 10,12M4,12A2,2 0 0,1 6,10A2,2 0 0,1 8,12A2,2 0 0,1 6,14A2,2 0 0,1 4,12Z"}},[t.title?e("title",[t._v(t._s(t.title))]):t._e()])])])}),[],!1,null,null,null).exports,je={name:"SharingEntry",components:{NcButton:Ve.A,NcAvatar:v.A,DotsHorizontalIcon:ze,NcSelect:_.A,SharingEntryQuickShareSelect:De},mixins:[Gt,Ht],computed:{title(){let e=this.share.shareWithDisplayName;return this.share.type===this.SHARE_TYPES.SHARE_TYPE_GROUP?e+=" (".concat(t("files_sharing","group"),")"):this.share.type===this.SHARE_TYPES.SHARE_TYPE_ROOM?e+=" (".concat(t("files_sharing","conversation"),")"):this.share.type===this.SHARE_TYPES.SHARE_TYPE_REMOTE?e+=" (".concat(t("files_sharing","remote"),")"):this.share.type===this.SHARE_TYPES.SHARE_TYPE_REMOTE_GROUP?e+=" (".concat(t("files_sharing","remote group"),")"):this.share.type===this.SHARE_TYPES.SHARE_TYPE_GUEST&&(e+=" (".concat(t("files_sharing","guest"),")")),e},tooltip(){if(this.share.owner!==this.share.uidFileOwner){const e={user:this.share.shareWithDisplayName,owner:this.share.ownerDisplayName};return this.share.type===this.SHARE_TYPES.SHARE_TYPE_GROUP?t("files_sharing","Shared with the group {user} by {owner}",e):this.share.type===this.SHARE_TYPES.SHARE_TYPE_ROOM?t("files_sharing","Shared with the conversation {user} by {owner}",e):t("files_sharing","Shared with {user} by {owner}",e)}return null},hasStatus(){return this.share.type===this.SHARE_TYPES.SHARE_TYPE_USER&&"object"==typeof this.share.status&&!Array.isArray(this.share.status)}},methods:{onMenuClose(){this.onNoteSubmit()}}};var qe=n(353),We={};We.styleTagTransform=A(),We.setAttributes=u(),We.insert=c().bind(null,"head"),We.domAPI=o(),We.insertStyleElement=p(),a()(qe.A,We),qe.A&&qe.A.locals&&qe.A.locals;const $e={name:"SharingList",components:{SharingEntry:(0,pt.A)(je,(function(){var t=this,e=t._self._c;return e("li",{staticClass:"sharing-entry"},[e("NcAvatar",{staticClass:"sharing-entry__avatar",attrs:{"is-no-user":t.share.type!==t.SHARE_TYPES.SHARE_TYPE_USER,user:t.share.shareWith,"display-name":t.share.shareWithDisplayName,"menu-position":"left",url:t.share.shareWithAvatar}}),t._v(" "),e("div",{staticClass:"sharing-entry__summary"},[e(t.share.shareWithLink?"a":"div",{tag:"component",staticClass:"sharing-entry__summary__desc",attrs:{title:t.tooltip,"aria-label":t.tooltip,href:t.share.shareWithLink}},[e("span",[t._v(t._s(t.title)+"\n\t\t\t\t"),t.isUnique?t._e():e("span",{staticClass:"sharing-entry__summary__desc-unique"},[t._v(" ("+t._s(t.share.shareWithDisplayNameUnique)+")")]),t._v(" "),t.hasStatus&&t.share.status.message?e("small",[t._v("("+t._s(t.share.status.message)+")")]):t._e()])]),t._v(" "),e("SharingEntryQuickShareSelect",{attrs:{share:t.share,"file-info":t.fileInfo},on:{"open-sharing-details":function(e){return t.openShareDetailsForCustomSettings(t.share)}}})],1),t._v(" "),e("NcButton",{staticClass:"sharing-entry__action",attrs:{"data-cy-files-sharing-share-actions":"","aria-label":t.t("files_sharing","Open Sharing Details"),type:"tertiary"},on:{click:function(e){return t.openSharingDetails(t.share)}},scopedSlots:t._u([{key:"icon",fn:function(){return[e("DotsHorizontalIcon",{attrs:{size:20}})]},proxy:!0}])})],1)}),[],!1,null,"756f491a",null).exports},mixins:[ht,Ht],props:{fileInfo:{type:Object,default:()=>{},required:!0},shares:{type:Array,default:()=>[],required:!0}},computed:{hasShares(){return 0===this.shares.length},isUnique(){return t=>[...this.shares].filter((e=>t.type===this.SHARE_TYPES.SHARE_TYPE_USER&&t.shareWithDisplayName===e.shareWithDisplayName)).length<=1}}},Ke=(0,pt.A)($e,(function(){var t=this,e=t._self._c;return e("ul",{staticClass:"sharing-sharee-list"},t._l(t.shares,(function(i){return e("SharingEntry",{key:i.id,attrs:{"file-info":t.fileInfo,share:i,"is-unique":t.isUnique(i)},on:{"open-sharing-details":function(e){return t.openSharingDetails(i)}}})})),1)}),[],!1,null,null,null).exports;var Ge=n(53334),Ze=n(44492),Qe=n(16044),Je=n(43899),Xe=n(32073),ti=n(46222);const ei={name:"CircleOutlineIcon",emits:["click"],props:{title:{type:String},fillColor:{type:String,default:"currentColor"},size:{type:Number,default:24}}},ii=(0,pt.A)(ei,(function(){var t=this,e=t._self._c;return e("span",t._b({staticClass:"material-design-icon circle-outline-icon",attrs:{"aria-hidden":!t.title||null,"aria-label":t.title,role:"img"},on:{click:function(e){return t.$emit("click",e)}}},"span",t.$attrs,!1),[e("svg",{staticClass:"material-design-icon__svg",attrs:{fill:t.fillColor,width:t.size,height:t.size,viewBox:"0 0 24 24"}},[e("path",{attrs:{d:"M12,20A8,8 0 0,1 4,12A8,8 0 0,1 12,4A8,8 0 0,1 20,12A8,8 0 0,1 12,20M12,2A10,10 0 0,0 2,12A10,10 0 0,0 12,22A10,10 0 0,0 22,12A10,10 0 0,0 12,2Z"}},[t.title?e("title",[t._v(t._s(t.title))]):t._e()])])])}),[],!1,null,null,null).exports,ni={name:"EmailIcon",emits:["click"],props:{title:{type:String},fillColor:{type:String,default:"currentColor"},size:{type:Number,default:24}}},ri=(0,pt.A)(ni,(function(){var t=this,e=t._self._c;return e("span",t._b({staticClass:"material-design-icon email-icon",attrs:{"aria-hidden":!t.title||null,"aria-label":t.title,role:"img"},on:{click:function(e){return t.$emit("click",e)}}},"span",t.$attrs,!1),[e("svg",{staticClass:"material-design-icon__svg",attrs:{fill:t.fillColor,width:t.size,height:t.size,viewBox:"0 0 24 24"}},[e("path",{attrs:{d:"M20,8L12,13L4,8V6L12,11L20,6M20,4H4C2.89,4 2,4.89 2,6V18A2,2 0 0,0 4,20H20A2,2 0 0,0 22,18V6C22,4.89 21.1,4 20,4Z"}},[t.title?e("title",[t._v(t._s(t.title))]):t._e()])])])}),[],!1,null,null,null).exports;var ai=n(89979),si=n(72755);const oi={name:"ShareCircleIcon",emits:["click"],props:{title:{type:String},fillColor:{type:String,default:"currentColor"},size:{type:Number,default:24}}},li=(0,pt.A)(oi,(function(){var t=this,e=t._self._c;return e("span",t._b({staticClass:"material-design-icon share-circle-icon",attrs:{"aria-hidden":!t.title||null,"aria-label":t.title,role:"img"},on:{click:function(e){return t.$emit("click",e)}}},"span",t.$attrs,!1),[e("svg",{staticClass:"material-design-icon__svg",attrs:{fill:t.fillColor,width:t.size,height:t.size,viewBox:"0 0 24 24"}},[e("path",{attrs:{d:"M12 2C6.5 2 2 6.5 2 12S6.5 22 12 22 22 17.5 22 12 17.5 2 12 2M14 16V13C10.39 13 7.81 14.43 6 17C6.72 13.33 8.94 9.73 14 9V6L19 11L14 16Z"}},[t.title?e("title",[t._v(t._s(t.title))]):t._e()])])])}),[],!1,null,null,null).exports,ci={name:"AccountCircleOutlineIcon",emits:["click"],props:{title:{type:String},fillColor:{type:String,default:"currentColor"},size:{type:Number,default:24}}},hi=(0,pt.A)(ci,(function(){var t=this,e=t._self._c;return e("span",t._b({staticClass:"material-design-icon account-circle-outline-icon",attrs:{"aria-hidden":!t.title||null,"aria-label":t.title,role:"img"},on:{click:function(e){return t.$emit("click",e)}}},"span",t.$attrs,!1),[e("svg",{staticClass:"material-design-icon__svg",attrs:{fill:t.fillColor,width:t.size,height:t.size,viewBox:"0 0 24 24"}},[e("path",{attrs:{d:"M12,2A10,10 0 0,0 2,12A10,10 0 0,0 12,22A10,10 0 0,0 22,12A10,10 0 0,0 12,2M7.07,18.28C7.5,17.38 10.12,16.5 12,16.5C13.88,16.5 16.5,17.38 16.93,18.28C15.57,19.36 13.86,20 12,20C10.14,20 8.43,19.36 7.07,18.28M18.36,16.83C16.93,15.09 13.46,14.5 12,14.5C10.54,14.5 7.07,15.09 5.64,16.83C4.62,15.5 4,13.82 4,12C4,7.59 7.59,4 12,4C16.41,4 20,7.59 20,12C20,13.82 19.38,15.5 18.36,16.83M12,6C10.06,6 8.5,7.56 8.5,9.5C8.5,11.44 10.06,13 12,13C13.94,13 15.5,11.44 15.5,9.5C15.5,7.56 13.94,6 12,6M12,11A1.5,1.5 0 0,1 10.5,9.5A1.5,1.5 0 0,1 12,8A1.5,1.5 0 0,1 13.5,9.5A1.5,1.5 0 0,1 12,11Z"}},[t.title?e("title",[t._v(t._s(t.title))]):t._e()])])])}),[],!1,null,null,null).exports,ui={name:"EyeIcon",emits:["click"],props:{title:{type:String},fillColor:{type:String,default:"currentColor"},size:{type:Number,default:24}}},di=(0,pt.A)(ui,(function(){var t=this,e=t._self._c;return e("span",t._b({staticClass:"material-design-icon eye-icon",attrs:{"aria-hidden":!t.title||null,"aria-label":t.title,role:"img"},on:{click:function(e){return t.$emit("click",e)}}},"span",t.$attrs,!1),[e("svg",{staticClass:"material-design-icon__svg",attrs:{fill:t.fillColor,width:t.size,height:t.size,viewBox:"0 0 24 24"}},[e("path",{attrs:{d:"M12,9A3,3 0 0,0 9,12A3,3 0 0,0 12,15A3,3 0 0,0 15,12A3,3 0 0,0 12,9M12,17A5,5 0 0,1 7,12A5,5 0 0,1 12,7A5,5 0 0,1 17,12A5,5 0 0,1 12,17M12,4.5C7,4.5 2.73,7.61 1,12C2.73,16.39 7,19.5 12,19.5C17,19.5 21.27,16.39 23,12C21.27,7.61 17,4.5 12,4.5Z"}},[t.title?e("title",[t._v(t._s(t.title))]):t._e()])])])}),[],!1,null,null,null).exports;var pi=n(45821),fi=n(1795),Ai=n(33017),gi=n(96763);const mi={name:"SharingDetailsTab",components:{NcAvatar:v.A,NcButton:Ve.A,NcInputField:Ze.A,NcPasswordField:Qe.A,NcDateTimePickerNative:Je.A,NcCheckboxRadioSwitch:Xe.A,NcLoadingIcon:ti.A,CloseIcon:ve.A,CircleIcon:ii,EditIcon:be.A,ExternalShareAction:Be,LinkIcon:ai.A,GroupIcon:si.A,ShareIcon:li,UserIcon:hi,UploadIcon:pi.A,ViewIcon:di,MenuDownIcon:fi.A,MenuUpIcon:Ai.A,DotsHorizontalIcon:ze},mixins:[ht,Lt,Gt],props:{shareRequestValue:{type:Object,required:!1},fileInfo:{type:Object,required:!0},share:{type:Object,required:!0}},data:()=>({writeNoteToRecipientIsChecked:!1,sharingPermission:$t.ALL.toString(),revertSharingPermission:$t.ALL.toString(),setCustomPermissions:!1,passwordError:!1,advancedSectionAccordionExpanded:!1,bundledPermissions:$t,isFirstComponentLoad:!0,test:!1,creating:!1,ExternalShareActions:OCA.Sharing.ExternalShareActions.state}),computed:{title(){switch(this.share.type){case this.SHARE_TYPES.SHARE_TYPE_USER:return t("files_sharing","Share with {userName}",{userName:this.share.shareWithDisplayName});case this.SHARE_TYPES.SHARE_TYPE_EMAIL:return t("files_sharing","Share with email {email}",{email:this.share.shareWith});case this.SHARE_TYPES.SHARE_TYPE_LINK:return t("files_sharing","Share link");case this.SHARE_TYPES.SHARE_TYPE_GROUP:return t("files_sharing","Share with group");case this.SHARE_TYPES.SHARE_TYPE_ROOM:return t("files_sharing","Share in conversation");case this.SHARE_TYPES.SHARE_TYPE_REMOTE:{const[e,i]=this.share.shareWith.split("@");return t("files_sharing","Share with {user} on remote server {server}",{user:e,server:i})}case this.SHARE_TYPES.SHARE_TYPE_REMOTE_GROUP:return t("files_sharing","Share with remote group");case this.SHARE_TYPES.SHARE_TYPE_GUEST:return t("files_sharing","Share with guest");default:return this.share.id?t("files_sharing","Update share"):t("files_sharing","Create share")}},canEdit:{get(){return this.share.hasUpdatePermission},set(t){this.updateAtomicPermissions({isEditChecked:t})}},canCreate:{get(){return this.share.hasCreatePermission},set(t){this.updateAtomicPermissions({isCreateChecked:t})}},canDelete:{get(){return this.share.hasDeletePermission},set(t){this.updateAtomicPermissions({isDeleteChecked:t})}},canReshare:{get(){return this.share.hasSharePermission},set(t){this.updateAtomicPermissions({isReshareChecked:t})}},canDownload:{get(){var t;return(null===(t=this.share.attributes.find((t=>"download"===t.key)))||void 0===t?void 0:t.enabled)||!1},set(t){const e=this.share.attributes.find((t=>"download"===t.key));e&&(e.enabled=t)}},hasRead:{get(){return this.share.hasReadPermission},set(t){this.updateAtomicPermissions({isReadChecked:t})}},hasExpirationDate:{get(){return this.isValidShareAttribute(this.share.expireDate)},set(t){this.share.expireDate=t?this.formatDateToString(this.defaultExpiryDate):""}},isPasswordProtected:{get(){return this.config.enforcePasswordForPublicLink||!!this.share.password},async set(t){t?(this.share.password=await Dt(),this.$set(this.share,"newPassword",this.share.password)):(this.share.password="",this.$delete(this.share,"newPassword"))}},isFolder(){return"dir"===this.fileInfo.type},isSetDownloadButtonVisible(){return this.isFolder||["application/msword","application/vnd.openxmlformats-officedocument.wordprocessingml.document","application/vnd.ms-powerpoint","application/vnd.openxmlformats-officedocument.presentationml.presentation","application/vnd.ms-excel","application/vnd.openxmlformats-officedocument.spreadsheetml.sheet","application/vnd.oasis.opendocument.text","application/vnd.oasis.opendocument.spreadsheet","application/vnd.oasis.opendocument.presentation"].includes(this.fileInfo.mimetype)},isPasswordEnforced(){return this.isPublicShare&&this.config.enforcePasswordForPublicLink},defaultExpiryDate(){return(this.isGroupShare||this.isUserShare)&&this.config.isDefaultInternalExpireDateEnabled?new Date(this.config.defaultInternalExpirationDate):this.isRemoteShare&&this.config.isDefaultRemoteExpireDateEnabled?new Date(this.config.defaultRemoteExpireDateEnabled):this.isPublicShare&&this.config.isDefaultExpireDateEnabled?new Date(this.config.defaultExpirationDate):new Date((new Date).setDate((new Date).getDate()+1))},isUserShare(){return this.share.type===this.SHARE_TYPES.SHARE_TYPE_USER},isGroupShare(){return this.share.type===this.SHARE_TYPES.SHARE_TYPE_GROUP},isNewShare(){return!this.share.id},allowsFileDrop(){return!(!this.isFolder||!this.config.isPublicUploadEnabled||this.share.type!==this.SHARE_TYPES.SHARE_TYPE_LINK&&this.share.type!==this.SHARE_TYPES.SHARE_TYPE_EMAIL)},hasFileDropPermissions(){return this.share.permissions===this.bundledPermissions.FILE_DROP},shareButtonText(){return this.isNewShare?t("files_sharing","Save share"):t("files_sharing","Update share")},canSetEdit(){return this.fileInfo.sharePermissions&OC.PERMISSION_UPDATE||this.canEdit},canSetCreate(){return this.fileInfo.sharePermissions&OC.PERMISSION_CREATE||this.canCreate},canSetDelete(){return this.fileInfo.sharePermissions&OC.PERMISSION_DELETE||this.canDelete},canSetReshare(){return this.fileInfo.sharePermissions&OC.PERMISSION_SHARE||this.canReshare},canSetDownload(){return this.fileInfo.canDownload()||this.canDownload},hasUnsavedPassword(){return void 0!==this.share.newPassword},passwordExpirationTime(){if(!this.isValidShareAttribute(this.share.passwordExpirationTime))return null;const t=moment(this.share.passwordExpirationTime);return!(t.diff(moment())<0)&&t.fromNow()},isTalkEnabled:()=>void 0!==OC.appswebroots.spreed,isPasswordProtectedByTalkAvailable(){return this.isPasswordProtected&&this.isTalkEnabled},isPasswordProtectedByTalk:{get(){return this.share.sendPasswordByTalk},async set(t){this.share.sendPasswordByTalk=t}},isEmailShareType(){return!!this.share&&this.share.type===this.SHARE_TYPES.SHARE_TYPE_EMAIL},canTogglePasswordProtectedByTalkAvailable(){return!(!this.isPublicShare||!this.isPasswordProtected||this.isEmailShareType&&!this.hasUnsavedPassword||void 0===OC.appswebroots.spreed)},canChangeHideDownload(){return this.fileInfo.shareAttributes.some((t=>"download"===t.key&&"permissions"===t.scope&&!1===t.enabled))},customPermissionsList(){const t={[Wt.READ]:this.t("files_sharing","Read"),[Wt.CREATE]:this.t("files_sharing","Create"),[Wt.UPDATE]:this.t("files_sharing","Edit"),[Wt.SHARE]:this.t("files_sharing","Share"),[Wt.DELETE]:this.t("files_sharing","Delete")};return[Wt.READ,Wt.CREATE,Wt.UPDATE,Wt.SHARE,Wt.DELETE].filter((t=>{return e=this.share.permissions,i=t,e!==Wt.NONE&&(e&i)===i;var e,i})).map(((e,i)=>0===i?t[e]:t[e].toLocaleLowerCase((0,Ge.Z0)()))).join(", ")},advancedControlExpandedValue(){return this.advancedSectionAccordionExpanded?"true":"false"},errorPasswordLabel(){if(this.passwordError)return t("files_sharing","Password field can't be empty")},externalLinkActions(){return this.ExternalShareActions.actions.filter((t=>(t.shareType.includes(ot.Z.SHARE_TYPE_LINK)||t.shareType.includes(ot.Z.SHARE_TYPE_EMAIL))&&t.advanced))}},watch:{setCustomPermissions(t){this.sharingPermission=t?"custom":this.revertSharingPermission}},beforeMount(){this.initializePermissions(),this.initializeAttributes(),gi.debug("shareSentIn",this.share),gi.debug("config",this.config)},mounted(){var t;null===(t=this.$refs.quickPermissions)||void 0===t||null===(t=t.querySelector("input:checked"))||void 0===t||t.focus()},methods:{updateAtomicPermissions(){let{isReadChecked:t=this.hasRead,isEditChecked:e=this.canEdit,isCreateChecked:i=this.canCreate,isDeleteChecked:n=this.canDelete,isReshareChecked:r=this.canReshare}=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};const a=0|(t?Wt.READ:0)|(i?Wt.CREATE:0)|(n?Wt.DELETE:0)|(e?Wt.UPDATE:0)|(r?Wt.SHARE:0);this.share.permissions=a},expandCustomPermissions(){this.advancedSectionAccordionExpanded||(this.advancedSectionAccordionExpanded=!0),this.toggleCustomPermissions()},toggleCustomPermissions(t){const e="custom"===this.sharingPermission;this.revertSharingPermission=e?"custom":t,this.setCustomPermissions=e},async initializeAttributes(){if(this.isNewShare)return this.isPasswordEnforced&&this.isPublicShare&&(this.$set(this.share,"newPassword",await Dt()),this.advancedSectionAccordionExpanded=!0),this.isPublicShare&&this.config.isDefaultExpireDateEnabled?this.share.expireDate=this.config.defaultExpirationDate.toDateString():this.isRemoteShare&&this.config.isDefaultRemoteExpireDateEnabled?this.share.expireDate=this.config.defaultRemoteExpirationDateString.toDateString():this.config.isDefaultInternalExpireDateEnabled&&(this.share.expireDate=this.config.defaultInternalExpirationDate.toDateString()),void(this.isValidShareAttribute(this.share.expireDate)&&(this.advancedSectionAccordionExpanded=!0));!this.isValidShareAttribute(this.share.expireDate)&&this.isExpiryDateEnforced&&(this.hasExpirationDate=!0),(this.isValidShareAttribute(this.share.password)||this.isValidShareAttribute(this.share.expireDate)||this.isValidShareAttribute(this.share.label))&&(this.advancedSectionAccordionExpanded=!0)},handleShareType(){"shareType"in this.share?this.share.type=this.share.shareType:this.share.share_type&&(this.share.type=this.share.share_type)},handleDefaultPermissions(){if(this.isNewShare){const t=this.config.defaultPermissions;t===$t.READ_ONLY||t===$t.ALL?this.sharingPermission=t.toString():(this.sharingPermission="custom",this.share.permissions=t,this.advancedSectionAccordionExpanded=!0,this.setCustomPermissions=!0)}},handleCustomPermissions(){this.isNewShare||!this.hasCustomPermissions&&!this.share.setCustomPermissions?this.share.permissions&&(this.sharingPermission=this.share.permissions.toString()):(this.sharingPermission="custom",this.advancedSectionAccordionExpanded=!0,this.setCustomPermissions=!0)},initializePermissions(){this.handleShareType(),this.handleDefaultPermissions(),this.handleCustomPermissions()},async saveShare(){var t;const e=["permissions","attributes","note","expireDate"];this.isPublicShare&&e.push("label","password","hideDownload");const i=parseInt(this.sharingPermission);if(this.setCustomPermissions?this.updateAtomicPermissions():this.share.permissions=i,this.isFolder||this.share.permissions!==$t.ALL||(this.share.permissions=$t.ALL_FILE),this.writeNoteToRecipientIsChecked||(this.share.note=""),this.isPasswordProtected?this.hasUnsavedPassword&&this.isValidShareAttribute(this.share.newPassword)?(this.share.password=this.share.newPassword,this.$delete(this.share,"newPassword")):this.isPasswordEnforced&&!this.isValidShareAttribute(this.share.password)&&(this.passwordError=!0):this.share.password="",this.hasExpirationDate||(this.share.expireDate=""),this.isNewShare){const t={permissions:this.share.permissions,shareType:this.share.type,shareWith:this.share.shareWith,attributes:this.share.attributes,note:this.share.note,fileInfo:this.fileInfo};t.expireDate=this.hasExpirationDate?this.share.expireDate:"",this.isPasswordProtected&&(t.password=this.share.password),this.creating=!0;const e=await this.addShare(t,this.fileInfo);this.creating=!1,this.share=e,this.$emit("add:share",this.share)}else this.queueUpdate(...e);(null===(t=this.$refs.externalLinkActions)||void 0===t?void 0:t.length)>0&&await Promise.allSettled(this.$refs.externalLinkActions.map((t=>{var e,i,n;return"function"!=typeof(null===(e=t.$children.at(0))||void 0===e?void 0:e.onSave)?Promise.resolve():null===(i=t.$children.at(0))||void 0===i||null===(n=i.onSave)||void 0===n?void 0:n.call(i)}))),this.$emit("close-sharing-details")},async addShare(t,e){gi.debug("Adding a new share from the input for",t);try{const i=(e.path+"/"+e.name).replace("//","/");return await this.createShare({path:i,shareType:t.shareType,shareWith:t.shareWith,permissions:t.permissions,expireDate:t.expireDate,attributes:JSON.stringify(t.attributes),...t.note?{note:t.note}:{},...t.password?{password:t.password}:{}})}catch(t){gi.error("Error while adding new share",t)}},async removeShare(){await this.onDelete(),this.$emit("close-sharing-details")},onPasswordChange(t){this.passwordError=!this.isValidShareAttribute(t),this.$set(this.share,"newPassword",t)},onPasswordProtectedByTalkChange(){this.hasUnsavedPassword&&(this.share.password=this.share.newPassword.trim()),this.queueUpdate("sendPasswordByTalk","password")},isValidShareAttribute:t=>![null,void 0].includes(t)&&t.trim().length>0,getShareTypeIcon(t){switch(t){case this.SHARE_TYPES.SHARE_TYPE_LINK:return ai.A;case this.SHARE_TYPES.SHARE_TYPE_GUEST:return hi;case this.SHARE_TYPES.SHARE_TYPE_REMOTE_GROUP:case this.SHARE_TYPES.SHARE_TYPE_GROUP:return si.A;case this.SHARE_TYPES.SHARE_TYPE_EMAIL:return ri;case this.SHARE_TYPES.SHARE_TYPE_CIRCLE:return ii;case this.SHARE_TYPES.SHARE_TYPE_ROOM:case this.SHARE_TYPES.SHARE_TYPE_DECK:case this.SHARE_TYPES.SHARE_TYPE_SCIENCEMESH:return li;default:return null}}}};var vi=n(50751),_i={};_i.styleTagTransform=A(),_i.setAttributes=u(),_i.insert=c().bind(null,"head"),_i.domAPI=o(),_i.insertStyleElement=p(),a()(vi.A,_i),vi.A&&vi.A.locals&&vi.A.locals;const yi=(0,pt.A)(mi,(function(){var t,e=this,i=e._self._c;return i("div",{staticClass:"sharingTabDetailsView"},[i("div",{staticClass:"sharingTabDetailsView__header"},[i("span",[e.isUserShare?i("NcAvatar",{staticClass:"sharing-entry__avatar",attrs:{"is-no-user":e.share.shareType!==e.SHARE_TYPES.SHARE_TYPE_USER,user:e.share.shareWith,"display-name":e.share.shareWithDisplayName,"menu-position":"left",url:e.share.shareWithAvatar}}):e._e(),e._v(" "),i(e.getShareTypeIcon(e.share.type),{tag:"component",attrs:{size:32}})],1),e._v(" "),i("span",[i("h1",[e._v(e._s(e.title))])])]),e._v(" "),i("div",{staticClass:"sharingTabDetailsView__wrapper"},[i("div",{ref:"quickPermissions",staticClass:"sharingTabDetailsView__quick-permissions"},[i("div",[i("NcCheckboxRadioSwitch",{attrs:{"button-variant":!0,"data-cy-files-sharing-share-permissions-bundle":"read-only",checked:e.sharingPermission,value:e.bundledPermissions.READ_ONLY.toString(),name:"sharing_permission_radio",type:"radio","button-variant-grouped":"vertical"},on:{"update:checked":[function(t){e.sharingPermission=t},e.toggleCustomPermissions]},scopedSlots:e._u([{key:"icon",fn:function(){return[i("ViewIcon",{attrs:{size:20}})]},proxy:!0}])},[e._v("\n\t\t\t\t\t"+e._s(e.t("files_sharing","View only"))+"\n\t\t\t\t\t")]),e._v(" "),i("NcCheckboxRadioSwitch",{attrs:{"button-variant":!0,"data-cy-files-sharing-share-permissions-bundle":"upload-edit",checked:e.sharingPermission,value:e.bundledPermissions.ALL.toString(),name:"sharing_permission_radio",type:"radio","button-variant-grouped":"vertical"},on:{"update:checked":[function(t){e.sharingPermission=t},e.toggleCustomPermissions]},scopedSlots:e._u([{key:"icon",fn:function(){return[i("EditIcon",{attrs:{size:20}})]},proxy:!0}])},[e.allowsFileDrop?[e._v("\n\t\t\t\t\t\t"+e._s(e.t("files_sharing","Allow upload and editing"))+"\n\t\t\t\t\t")]:[e._v("\n\t\t\t\t\t\t"+e._s(e.t("files_sharing","Allow editing"))+"\n\t\t\t\t\t")]],2),e._v(" "),e.allowsFileDrop?i("NcCheckboxRadioSwitch",{attrs:{"data-cy-files-sharing-share-permissions-bundle":"file-drop","button-variant":!0,checked:e.sharingPermission,value:e.bundledPermissions.FILE_DROP.toString(),name:"sharing_permission_radio",type:"radio","button-variant-grouped":"vertical"},on:{"update:checked":[function(t){e.sharingPermission=t},e.toggleCustomPermissions]},scopedSlots:e._u([{key:"icon",fn:function(){return[i("UploadIcon",{attrs:{size:20}})]},proxy:!0}],null,!1,1083194048)},[e._v("\n\t\t\t\t\t"+e._s(e.t("files_sharing","File drop"))+"\n\t\t\t\t\t"),i("small",{staticClass:"subline"},[e._v(e._s(e.t("files_sharing","Upload only")))])]):e._e(),e._v(" "),i("NcCheckboxRadioSwitch",{attrs:{"button-variant":!0,"data-cy-files-sharing-share-permissions-bundle":"custom",checked:e.sharingPermission,value:"custom",name:"sharing_permission_radio",type:"radio","button-variant-grouped":"vertical"},on:{"update:checked":[function(t){e.sharingPermission=t},e.expandCustomPermissions]},scopedSlots:e._u([{key:"icon",fn:function(){return[i("DotsHorizontalIcon",{attrs:{size:20}})]},proxy:!0}])},[e._v("\n\t\t\t\t\t"+e._s(e.t("files_sharing","Custom permissions"))+"\n\t\t\t\t\t"),i("small",{staticClass:"subline"},[e._v(e._s(e.customPermissionsList))])])],1)]),e._v(" "),i("div",{staticClass:"sharingTabDetailsView__advanced-control"},[i("NcButton",{attrs:{id:"advancedSectionAccordionAdvancedControl",type:"tertiary",alignment:"end-reverse","aria-controls":"advancedSectionAccordionAdvanced","aria-expanded":e.advancedControlExpandedValue},on:{click:function(t){e.advancedSectionAccordionExpanded=!e.advancedSectionAccordionExpanded}},scopedSlots:e._u([{key:"icon",fn:function(){return[e.advancedSectionAccordionExpanded?i("MenuUpIcon"):i("MenuDownIcon")]},proxy:!0}])},[e._v("\n\t\t\t\t"+e._s(e.t("files_sharing","Advanced settings"))+"\n\t\t\t\t")])],1),e._v(" "),e.advancedSectionAccordionExpanded?i("div",{staticClass:"sharingTabDetailsView__advanced",attrs:{id:"advancedSectionAccordionAdvanced","aria-labelledby":"advancedSectionAccordionAdvancedControl",role:"region"}},[i("section",[e.isPublicShare?i("NcInputField",{attrs:{autocomplete:"off",label:e.t("files_sharing","Share label"),value:e.share.label},on:{"update:value":function(t){return e.$set(e.share,"label",t)}}}):e._e(),e._v(" "),e.isPublicShare?[i("NcCheckboxRadioSwitch",{attrs:{checked:e.isPasswordProtected,disabled:e.isPasswordEnforced},on:{"update:checked":function(t){e.isPasswordProtected=t}}},[e._v("\n\t\t\t\t\t\t"+e._s(e.t("files_sharing","Set password"))+"\n\t\t\t\t\t")]),e._v(" "),e.isPasswordProtected?i("NcPasswordField",{attrs:{autocomplete:"new-password",value:e.hasUnsavedPassword?e.share.newPassword:"",error:e.passwordError,"helper-text":e.errorPasswordLabel,required:e.isPasswordEnforced,label:e.t("files_sharing","Password")},on:{"update:value":e.onPasswordChange}}):e._e(),e._v(" "),e.isEmailShareType&&e.passwordExpirationTime?i("span",{attrs:{icon:"icon-info"}},[e._v("\n\t\t\t\t\t\t"+e._s(e.t("files_sharing","Password expires {passwordExpirationTime}",{passwordExpirationTime:e.passwordExpirationTime}))+"\n\t\t\t\t\t")]):e.isEmailShareType&&null!==e.passwordExpirationTime?i("span",{attrs:{icon:"icon-error"}},[e._v("\n\t\t\t\t\t\t"+e._s(e.t("files_sharing","Password expired"))+"\n\t\t\t\t\t")]):e._e()]:e._e(),e._v(" "),e.canTogglePasswordProtectedByTalkAvailable?i("NcCheckboxRadioSwitch",{attrs:{checked:e.isPasswordProtectedByTalk},on:{"update:checked":[function(t){e.isPasswordProtectedByTalk=t},e.onPasswordProtectedByTalkChange]}},[e._v("\n\t\t\t\t\t"+e._s(e.t("files_sharing","Video verification"))+"\n\t\t\t\t")]):e._e(),e._v(" "),i("NcCheckboxRadioSwitch",{attrs:{checked:e.hasExpirationDate,disabled:e.isExpiryDateEnforced},on:{"update:checked":function(t){e.hasExpirationDate=t}}},[e._v("\n\t\t\t\t\t"+e._s(e.isExpiryDateEnforced?e.t("files_sharing","Expiration date (enforced)"):e.t("files_sharing","Set expiration date"))+"\n\t\t\t\t")]),e._v(" "),e.hasExpirationDate?i("NcDateTimePickerNative",{attrs:{id:"share-date-picker",value:new Date(null!==(t=e.share.expireDate)&&void 0!==t?t:e.dateTomorrow),min:e.dateTomorrow,max:e.maxExpirationDateEnforced,"hide-label":!0,placeholder:e.t("files_sharing","Expiration date"),type:"date"},on:{input:e.onExpirationChange}}):e._e(),e._v(" "),e.isPublicShare?i("NcCheckboxRadioSwitch",{attrs:{disabled:e.canChangeHideDownload,checked:e.share.hideDownload},on:{"update:checked":[function(t){return e.$set(e.share,"hideDownload",t)},function(t){return e.queueUpdate("hideDownload")}]}},[e._v("\n\t\t\t\t\t"+e._s(e.t("files_sharing","Hide download"))+"\n\t\t\t\t")]):e._e(),e._v(" "),e.isPublicShare?e._e():i("NcCheckboxRadioSwitch",{attrs:{disabled:!e.canSetDownload,checked:e.canDownload,"data-cy-files-sharing-share-permissions-checkbox":"download"},on:{"update:checked":function(t){e.canDownload=t}}},[e._v("\n\t\t\t\t\t"+e._s(e.t("files_sharing","Allow download"))+"\n\t\t\t\t")]),e._v(" "),i("NcCheckboxRadioSwitch",{attrs:{checked:e.writeNoteToRecipientIsChecked},on:{"update:checked":function(t){e.writeNoteToRecipientIsChecked=t}}},[e._v("\n\t\t\t\t\t"+e._s(e.t("files_sharing","Note to recipient"))+"\n\t\t\t\t")]),e._v(" "),e.writeNoteToRecipientIsChecked?[i("label",{attrs:{for:"share-note-textarea"}},[e._v("\n\t\t\t\t\t\t"+e._s(e.t("files_sharing","Enter a note for the share recipient"))+"\n\t\t\t\t\t")]),e._v(" "),i("textarea",{attrs:{id:"share-note-textarea"},domProps:{value:e.share.note},on:{input:function(t){e.share.note=t.target.value}}})]:e._e(),e._v(" "),e._l(e.externalLinkActions,(function(t){return i("ExternalShareAction",{key:t.id,ref:"externalLinkActions",refInFor:!0,attrs:{id:t.id,action:t,"file-info":e.fileInfo,share:e.share}})})),e._v(" "),i("NcCheckboxRadioSwitch",{attrs:{checked:e.setCustomPermissions},on:{"update:checked":function(t){e.setCustomPermissions=t}}},[e._v("\n\t\t\t\t\t"+e._s(e.t("files_sharing","Custom permissions"))+"\n\t\t\t\t")]),e._v(" "),e.setCustomPermissions?i("section",{staticClass:"custom-permissions-group"},[i("NcCheckboxRadioSwitch",{attrs:{disabled:!e.allowsFileDrop&&e.share.type===e.SHARE_TYPES.SHARE_TYPE_LINK,checked:e.hasRead,"data-cy-files-sharing-share-permissions-checkbox":"read"},on:{"update:checked":function(t){e.hasRead=t}}},[e._v("\n\t\t\t\t\t\t"+e._s(e.t("files_sharing","Read"))+"\n\t\t\t\t\t")]),e._v(" "),e.isFolder?i("NcCheckboxRadioSwitch",{attrs:{disabled:!e.canSetCreate,checked:e.canCreate,"data-cy-files-sharing-share-permissions-checkbox":"create"},on:{"update:checked":function(t){e.canCreate=t}}},[e._v("\n\t\t\t\t\t\t"+e._s(e.t("files_sharing","Create"))+"\n\t\t\t\t\t")]):e._e(),e._v(" "),i("NcCheckboxRadioSwitch",{attrs:{disabled:!e.canSetEdit,checked:e.canEdit,"data-cy-files-sharing-share-permissions-checkbox":"update"},on:{"update:checked":function(t){e.canEdit=t}}},[e._v("\n\t\t\t\t\t\t"+e._s(e.t("files_sharing","Edit"))+"\n\t\t\t\t\t")]),e._v(" "),e.config.isResharingAllowed&&e.share.type!==e.SHARE_TYPES.SHARE_TYPE_LINK?i("NcCheckboxRadioSwitch",{attrs:{disabled:!e.canSetReshare,checked:e.canReshare,"data-cy-files-sharing-share-permissions-checkbox":"share"},on:{"update:checked":function(t){e.canReshare=t}}},[e._v("\n\t\t\t\t\t\t"+e._s(e.t("files_sharing","Share"))+"\n\t\t\t\t\t")]):e._e(),e._v(" "),i("NcCheckboxRadioSwitch",{attrs:{disabled:!e.canSetDelete,checked:e.canDelete,"data-cy-files-sharing-share-permissions-checkbox":"delete"},on:{"update:checked":function(t){e.canDelete=t}}},[e._v("\n\t\t\t\t\t\t"+e._s(e.t("files_sharing","Delete"))+"\n\t\t\t\t\t")])],1):e._e(),e._v(" "),i("div",{staticClass:"sharingTabDetailsView__delete"},[e.isNewShare?e._e():i("NcButton",{attrs:{"aria-label":e.t("files_sharing","Delete share"),disabled:!1,readonly:!1,type:"tertiary"},on:{click:function(t){return t.preventDefault(),e.removeShare.apply(null,arguments)}},scopedSlots:e._u([{key:"icon",fn:function(){return[i("CloseIcon",{attrs:{size:16}})]},proxy:!0}],null,!1,2746485232)},[e._v("\n\t\t\t\t\t\t"+e._s(e.t("files_sharing","Delete share"))+"\n\t\t\t\t\t")])],1)],2)]):e._e()]),e._v(" "),i("div",{staticClass:"sharingTabDetailsView__footer"},[i("div",{staticClass:"button-group"},[i("NcButton",{attrs:{"data-cy-files-sharing-share-editor-action":"cancel"},on:{click:function(t){return e.$emit("close-sharing-details")}}},[e._v("\n\t\t\t\t"+e._s(e.t("files_sharing","Cancel"))+"\n\t\t\t")]),e._v(" "),i("NcButton",{attrs:{type:"primary","data-cy-files-sharing-share-editor-action":"save"},on:{click:e.saveShare},scopedSlots:e._u([e.creating?{key:"icon",fn:function(){return[i("NcLoadingIcon")]},proxy:!0}:null],null,!0)},[e._v("\n\t\t\t\t"+e._s(e.shareButtonText)+"\n\t\t\t\t")])],1)])])}),[],!1,null,"695269e6",null).exports;var wi=n(96763);const Ci={name:"SharingTab",components:{NcAvatar:v.A,CollectionList:it,SharingEntryInternal:St,SharingEntrySimple:yt,SharingInherited:re,SharingInput:Vt,SharingLinkList:Ue,SharingList:Ke,SharingDetailsTab:yi},mixins:[ht],data:()=>({config:new st,deleteEvent:null,error:"",expirationInterval:null,loading:!0,fileInfo:null,reshare:null,sharedWithMe:{},shares:[],linkShares:[],sections:OCA.Sharing.ShareTabSections.getSections(),projectsEnabled:(0,rt.C)("core","projects_enabled",!1),showSharingDetailsView:!1,shareDetailsData:{},returnFocusElement:null}),computed:{isSharedWithMe(){return Object.keys(this.sharedWithMe).length>0},canReshare(){return!!(this.fileInfo.permissions&OC.PERMISSION_SHARE)||!!(this.reshare&&this.reshare.hasSharePermission&&this.config.isResharingAllowed)}},methods:{async update(t){this.fileInfo=t,this.resetState(),this.getShares()},async getShares(){try{this.loading=!0;const t=(0,nt.KT)("apps/files_sharing/api/v1/shares"),e="json",i=(this.fileInfo.path+"/"+this.fileInfo.name).replace("//","/"),n=W.A.get(t,{params:{format:e,path:i,reshares:!0}}),r=W.A.get(t,{params:{format:e,path:i,shared_with_me:!0}}),[a,s]=await Promise.all([n,r]);this.loading=!1,this.processSharedWithMe(s),this.processShares(a)}catch(i){var e;null!==(e=i.response.data)&&void 0!==e&&null!==(e=e.ocs)&&void 0!==e&&null!==(e=e.meta)&&void 0!==e&&e.message?this.error=i.response.data.ocs.meta.message:this.error=t("files_sharing","Unable to load the shares list"),this.loading=!1,wi.error("Error loading the shares list",i)}},resetState(){clearInterval(this.expirationInterval),this.loading=!0,this.error="",this.sharedWithMe={},this.shares=[],this.linkShares=[],this.showSharingDetailsView=!1,this.shareDetailsData={}},updateExpirationSubtitle(e){const i=moment(e.expireDate).unix();this.$set(this.sharedWithMe,"subtitle",t("files_sharing","Expires {relativetime}",{relativetime:OC.Util.relativeModifiedDate(1e3*i)})),moment().unix()>i&&(clearInterval(this.expirationInterval),this.$set(this.sharedWithMe,"subtitle",t("files_sharing","this share just expired.")))},processShares(t){let{data:e}=t;if(e.ocs&&e.ocs.data&&e.ocs.data.length>0){const t=e.ocs.data.map((t=>new ct(t))).sort(((t,e)=>e.createdTime-t.createdTime));this.linkShares=t.filter((t=>t.type===this.SHARE_TYPES.SHARE_TYPE_LINK||t.type===this.SHARE_TYPES.SHARE_TYPE_EMAIL)),this.shares=t.filter((t=>t.type!==this.SHARE_TYPES.SHARE_TYPE_LINK&&t.type!==this.SHARE_TYPES.SHARE_TYPE_EMAIL)),wi.debug("Processed",this.linkShares.length,"link share(s)"),wi.debug("Processed",this.shares.length,"share(s)")}},processSharedWithMe(e){let{data:i}=e;if(i.ocs&&i.ocs.data&&i.ocs.data[0]){const e=new ct(i),n=function(e){return e.type===ot.Z.SHARE_TYPE_GROUP?t("files_sharing","Shared with you and the group {group} by {owner}",{group:e.shareWithDisplayName,owner:e.ownerDisplayName},void 0,{escape:!1}):e.type===ot.Z.SHARE_TYPE_CIRCLE?t("files_sharing","Shared with you and {circle} by {owner}",{circle:e.shareWithDisplayName,owner:e.ownerDisplayName},void 0,{escape:!1}):e.type===ot.Z.SHARE_TYPE_ROOM?e.shareWithDisplayName?t("files_sharing","Shared with you and the conversation {conversation} by {owner}",{conversation:e.shareWithDisplayName,owner:e.ownerDisplayName},void 0,{escape:!1}):t("files_sharing","Shared with you in a conversation by {owner}",{owner:e.ownerDisplayName},void 0,{escape:!1}):t("files_sharing","Shared with you by {owner}",{owner:e.ownerDisplayName},void 0,{escape:!1})}(e),r=e.ownerDisplayName,a=e.owner;this.sharedWithMe={displayName:r,title:n,user:a},this.reshare=e,e.expireDate&&moment(e.expireDate).unix()>moment().unix()&&(this.updateExpirationSubtitle(e),this.expirationInterval=setInterval(this.updateExpirationSubtitle,1e4,e))}else this.fileInfo&&void 0!==this.fileInfo.shareOwnerId&&this.fileInfo.shareOwnerId!==OC.currentUser&&(this.sharedWithMe={displayName:this.fileInfo.shareOwner,title:t("files_sharing","Shared with you by {owner}",{owner:this.fileInfo.shareOwner},void 0,{escape:!1}),user:this.fileInfo.shareOwnerId})},addShare(t){let e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:()=>{};t.type===this.SHARE_TYPES.SHARE_TYPE_EMAIL?this.linkShares.unshift(t):this.shares.unshift(t),this.awaitForShare(t,e)},removeShare(t){const e=t.type===this.SHARE_TYPES.SHARE_TYPE_EMAIL||t.type===this.SHARE_TYPES.SHARE_TYPE_LINK?this.linkShares:this.shares,i=e.findIndex((e=>e.id===t.id));-1!==i&&e.splice(i,1)},awaitForShare(t,e){this.$nextTick((()=>{let i=this.$refs.shareList;t.type===this.SHARE_TYPES.SHARE_TYPE_EMAIL&&(i=this.$refs.linkShareList);const n=i.$children.find((e=>e.share===t));n&&e(n)}))},toggleShareDetailsView(t){if(!this.showSharingDetailsView)if(Array.from(document.activeElement.classList).some((t=>t.startsWith("action-")))){var e;const t=null===(e=document.activeElement.closest('[role="menu"]'))||void 0===e?void 0:e.id;this.returnFocusElement=document.querySelector('[aria-controls="'.concat(t,'"]'))}else this.returnFocusElement=document.activeElement;t&&(this.shareDetailsData=t),this.showSharingDetailsView=!this.showSharingDetailsView,this.showSharingDetailsView||this.$nextTick((()=>{var t;null===(t=this.returnFocusElement)||void 0===t||t.focus(),this.returnFocusElement=null}))}}},Ei=Ci;var bi=n(71060),Si={};Si.styleTagTransform=A(),Si.setAttributes=u(),Si.insert=c().bind(null,"head"),Si.domAPI=o(),Si.insertStyleElement=p(),a()(bi.A,Si),bi.A&&bi.A.locals&&bi.A.locals;const xi=(0,pt.A)(Ei,(function(){var t=this,e=t._self._c;return e("div",{staticClass:"sharingTab",class:{"icon-loading":t.loading}},[t.error?e("div",{staticClass:"emptycontent",class:{emptyContentWithSections:t.sections.length>0}},[e("div",{staticClass:"icon icon-error"}),t._v(" "),e("h2",[t._v(t._s(t.error))])]):t._e(),t._v(" "),e("div",{directives:[{name:"show",rawName:"v-show",value:!t.showSharingDetailsView,expression:"!showSharingDetailsView"}],staticClass:"sharingTab__content"},[e("ul",[t.isSharedWithMe?e("SharingEntrySimple",t._b({staticClass:"sharing-entry__reshare",scopedSlots:t._u([{key:"avatar",fn:function(){return[e("NcAvatar",{staticClass:"sharing-entry__avatar",attrs:{user:t.sharedWithMe.user,"display-name":t.sharedWithMe.displayName}})]},proxy:!0}],null,!1,3197855346)},"SharingEntrySimple",t.sharedWithMe,!1)):t._e()],1),t._v(" "),t.loading?t._e():e("SharingInput",{attrs:{"can-reshare":t.canReshare,"file-info":t.fileInfo,"link-shares":t.linkShares,reshare:t.reshare,shares:t.shares},on:{"open-sharing-details":t.toggleShareDetailsView}}),t._v(" "),t.loading?t._e():e("SharingLinkList",{ref:"linkShareList",attrs:{"can-reshare":t.canReshare,"file-info":t.fileInfo,shares:t.linkShares},on:{"open-sharing-details":t.toggleShareDetailsView}}),t._v(" "),t.loading?t._e():e("SharingList",{ref:"shareList",attrs:{shares:t.shares,"file-info":t.fileInfo},on:{"open-sharing-details":t.toggleShareDetailsView}}),t._v(" "),t.canReshare&&!t.loading?e("SharingInherited",{attrs:{"file-info":t.fileInfo}}):t._e(),t._v(" "),e("SharingEntryInternal",{attrs:{"file-info":t.fileInfo}}),t._v(" "),t.projectsEnabled&&t.fileInfo?e("CollectionList",{attrs:{id:"".concat(t.fileInfo.id),type:"file",name:t.fileInfo.name}}):t._e()],1),t._v(" "),t._l(t.sections,(function(i,n){return e("div",{directives:[{name:"show",rawName:"v-show",value:!t.showSharingDetailsView,expression:"!showSharingDetailsView"}],key:n,ref:"section-"+n,refInFor:!0,staticClass:"sharingTab__additionalContent"},[e(i(t.$refs["section-"+n],t.fileInfo),{tag:"component",attrs:{"file-info":t.fileInfo}})],1)})),t._v(" "),t.showSharingDetailsView?e("SharingDetailsTab",{attrs:{"file-info":t.shareDetailsData.fileInfo,share:t.shareDetailsData.share},on:{"close-sharing-details":t.toggleShareDetailsView,"add:share":t.addShare,"remove:share":t.removeShare}}):t._e()],2)}),[],!1,null,"8986694e",null).exports},26734:t=>{"use strict";t.exports="data:image/svg+xml,%3csvg%20xmlns=%27http://www.w3.org/2000/svg%27%20width=%2724%27%20height=%2724%27%20fill=%27%23222%27%3e%3cpath%20d=%27M15.4%2016.6L10.8%2012l4.6-4.6L14%206l-6%206%206%206%201.4-1.4z%27/%3e%3c/svg%3e"},51338:t=>{"use strict";t.exports="data:image/svg+xml,%3csvg%20xmlns=%27http://www.w3.org/2000/svg%27%20width=%2724%27%20height=%2724%27%20fill=%27%23222%27%3e%3cpath%20d=%27M18.4%207.4L17%206l-6%206%206%206%201.4-1.4-4.6-4.6%204.6-4.6m-6%200L11%206l-6%206%206%206%201.4-1.4L7.8%2012l4.6-4.6z%27/%3e%3c/svg%3e"},57818:t=>{"use strict";t.exports="data:image/svg+xml,%3csvg%20xmlns=%27http://www.w3.org/2000/svg%27%20width=%2724%27%20height=%2724%27%20fill=%27%23222%27%3e%3cpath%20d=%27M5.6%207.4L7%206l6%206-6%206-1.4-1.4%204.6-4.6-4.6-4.6m6%200L13%206l6%206-6%206-1.4-1.4%204.6-4.6-4.6-4.6z%27/%3e%3c/svg%3e"},31926:t=>{"use strict";t.exports="data:image/svg+xml,%3csvg%20xmlns=%27http://www.w3.org/2000/svg%27%20width=%2724%27%20height=%2724%27%20fill=%27%23222%27%3e%3cpath%20d=%27M8.6%2016.6l4.6-4.6-4.6-4.6L10%206l6%206-6%206-1.4-1.4z%27/%3e%3c/svg%3e"}}]);
+//# sourceMappingURL=8450-8450.js.map?v=f6dcbf5e6f609e831644
\ No newline at end of file
diff --git a/dist/8450-8450.js.license b/dist/8450-8450.js.license
new file mode 100644 (file)
index 0000000..21a2862
--- /dev/null
@@ -0,0 +1,53 @@
+/*
+ * @copyright Copyright (c) 2019 Julius Härtl <jus@bitgrid.net>
+ *
+ * @author Julius Härtl <jus@bitgrid.net>
+ *
+ * @license GNU AGPL version 3 or any later version
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Affero General Public License as
+ * published by the Free Software Foundation, either version 3 of the
+ * License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU Affero General Public License for more details.
+ *
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ *
+ */
+
+/*!
+ * vue-qrcode v1.0.2
+ * https://fengyuanchen.github.io/vue-qrcode
+ *
+ * Copyright 2018-present Chen Fengyuan
+ * Released under the MIT license
+ *
+ * Date: 2020-01-18T06:04:33.222Z
+ */
+
+/**
+ * SPDX-FileCopyrightText: 2019 Nextcloud GmbH and Nextcloud contributors
+ * SPDX-License-Identifier: AGPL-3.0-or-later
+ */
+
+/**
+ * SPDX-FileCopyrightText: 2020 Nextcloud GmbH and Nextcloud contributors
+ * SPDX-License-Identifier: AGPL-3.0-or-later
+ */
+
+/**
+ * SPDX-FileCopyrightText: 2022 Nextcloud GmbH and Nextcloud contributors
+ * SPDX-License-Identifier: AGPL-3.0-or-later
+ */
+
+/**!
+ * url-search-params-polyfill
+ *
+ * @author Jerry Bendy (https://github.com/jerrybendy)
+ * @licence MIT
+ */
diff --git a/dist/8450-8450.js.map b/dist/8450-8450.js.map
new file mode 100644 (file)
index 0000000..69db7ec
--- /dev/null
@@ -0,0 +1 @@
+{"version":3,"file":"8450-8450.js?v=f6dcbf5e6f609e831644","mappings":"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","sources":["webpack:///nextcloud/node_modules/@chenfengyuan/vue-qrcode/dist/vue-qrcode.js","webpack:///nextcloud/node_modules/nextcloud-vue-collections/dist/assets/index-Au1Gr_G6.css","webpack:///nextcloud/apps/files_sharing/src/components/SharingEntry.vue?vue&type=style&index=0&id=756f491a&prod&lang=scss&scoped=true","webpack:///nextcloud/apps/files_sharing/src/components/SharingEntryInherited.vue?vue&type=style&index=0&id=859a420e&prod&lang=scss&scoped=true","webpack:///nextcloud/apps/files_sharing/src/components/SharingEntryInternal.vue?vue&type=style&index=0&id=cbf1a342&prod&lang=scss&scoped=true","webpack:///nextcloud/apps/files_sharing/src/components/SharingEntryLink.vue?vue&type=style&index=0&id=6b41579b&prod&lang=scss&scoped=true","webpack:///nextcloud/apps/files_sharing/src/components/SharingEntryQuickShareSelect.vue?vue&type=style&index=0&id=e3692374&prod&lang=scss&scoped=true","webpack:///nextcloud/apps/files_sharing/src/components/SharingEntrySimple.vue?vue&type=style&index=0&id=3bc1ac54&prod&lang=scss&scoped=true","webpack:///nextcloud/apps/files_sharing/src/components/SharingInput.vue?vue&type=style&index=0&id=1096bdc0&prod&lang=scss","webpack:///nextcloud/apps/files_sharing/src/views/SharingDetailsTab.vue?vue&type=style&index=0&id=695269e6&prod&lang=scss&scoped=true","webpack:///nextcloud/apps/files_sharing/src/views/SharingInherited.vue?vue&type=style&index=0&id=73f8fada&prod&lang=scss&scoped=true","webpack:///nextcloud/apps/files_sharing/src/views/SharingTab.vue?vue&type=style&index=0&id=8986694e&prod&scoped=true&lang=scss","webpack:///nextcloud/node_modules/nextcloud-vue-collections/node_modules/@nextcloud/router/dist/index.js","webpack:///nextcloud/node_modules/url-search-params-polyfill/index.js","webpack://nextcloud/./apps/files_sharing/src/views/SharingTab.vue?0ae8","webpack://nextcloud/./node_modules/nextcloud-vue-collections/dist/assets/index-Au1Gr_G6.css?fdca","webpack:///nextcloud/node_modules/lodash-es/isObject.js","webpack:///nextcloud/node_modules/lodash-es/_freeGlobal.js","webpack:///nextcloud/node_modules/lodash-es/_root.js","webpack:///nextcloud/node_modules/lodash-es/now.js","webpack:///nextcloud/node_modules/lodash-es/_trimmedEndIndex.js","webpack:///nextcloud/node_modules/lodash-es/_baseTrim.js","webpack:///nextcloud/node_modules/lodash-es/_Symbol.js","webpack:///nextcloud/node_modules/lodash-es/_getRawTag.js","webpack:///nextcloud/node_modules/lodash-es/_objectToString.js","webpack:///nextcloud/node_modules/lodash-es/_baseGetTag.js","webpack:///nextcloud/node_modules/lodash-es/toNumber.js","webpack:///nextcloud/node_modules/lodash-es/isSymbol.js","webpack:///nextcloud/node_modules/lodash-es/isObjectLike.js","webpack:///nextcloud/node_modules/lodash-es/debounce.js","webpack:///nextcloud/node_modules/nextcloud-vue-collections/dist/index.mjs","webpack:///nextcloud/apps/files_sharing/src/services/ConfigService.js","webpack:///nextcloud/apps/files_sharing/src/models/Share.js","webpack:///nextcloud/apps/files_sharing/src/mixins/ShareTypes.js","webpack://nextcloud/./apps/files_sharing/src/components/SharingEntryInternal.vue?6c02","webpack:///nextcloud/node_modules/vue-material-design-icons/CheckBold.vue","webpack:///nextcloud/node_modules/vue-material-design-icons/CheckBold.vue?vue&type=script&lang=js","webpack://nextcloud/./node_modules/vue-material-design-icons/CheckBold.vue?7500","webpack:///nextcloud/node_modules/vue-material-design-icons/CheckBold.vue?vue&type=template&id=d4239c4a","webpack:///nextcloud/node_modules/vue-material-design-icons/ClipboardFlow.vue?vue&type=script&lang=js","webpack:///nextcloud/node_modules/vue-material-design-icons/ClipboardFlow.vue","webpack://nextcloud/./node_modules/vue-material-design-icons/ClipboardFlow.vue?07b2","webpack:///nextcloud/node_modules/vue-material-design-icons/ClipboardFlow.vue?vue&type=template&id=692acad9","webpack:///nextcloud/apps/files_sharing/src/components/SharingEntrySimple.vue?vue&type=script&lang=js","webpack:///nextcloud/apps/files_sharing/src/components/SharingEntrySimple.vue","webpack://nextcloud/./apps/files_sharing/src/components/SharingEntrySimple.vue?be4d","webpack://nextcloud/./apps/files_sharing/src/components/SharingEntrySimple.vue?cb12","webpack://nextcloud/./apps/files_sharing/src/components/SharingEntrySimple.vue?0c02","webpack:///nextcloud/apps/files_sharing/src/components/SharingEntryInternal.vue","webpack:///nextcloud/apps/files_sharing/src/components/SharingEntryInternal.vue?vue&type=script&lang=js","webpack://nextcloud/./apps/files_sharing/src/components/SharingEntryInternal.vue?a90e","webpack://nextcloud/./apps/files_sharing/src/components/SharingEntryInternal.vue?4c20","webpack://nextcloud/./apps/files_sharing/src/components/SharingInput.vue?65df","webpack:///nextcloud/apps/files_sharing/src/utils/GeneratePassword.js","webpack:///nextcloud/apps/files_sharing/src/mixins/ShareRequests.js","webpack:///nextcloud/apps/files_sharing/src/mixins/ShareDetails.js","webpack:///nextcloud/apps/files_sharing/src/components/SharingInput.vue","webpack:///nextcloud/apps/files_sharing/src/components/SharingInput.vue?vue&type=script&lang=js","webpack://nextcloud/./apps/files_sharing/src/components/SharingInput.vue?9610","webpack://nextcloud/./apps/files_sharing/src/components/SharingInput.vue?3d7c","webpack://nextcloud/./apps/files_sharing/src/views/SharingInherited.vue?45a6","webpack:///nextcloud/apps/files_sharing/src/lib/SharePermissionsToolBox.js","webpack:///nextcloud/apps/files_sharing/src/mixins/SharesMixin.js","webpack:///nextcloud/apps/files_sharing/src/components/SharingEntryInherited.vue?vue&type=script&lang=js","webpack:///nextcloud/apps/files_sharing/src/components/SharingEntryInherited.vue","webpack://nextcloud/./apps/files_sharing/src/components/SharingEntryInherited.vue?3b29","webpack://nextcloud/./apps/files_sharing/src/components/SharingEntryInherited.vue?0e5a","webpack://nextcloud/./apps/files_sharing/src/components/SharingEntryInherited.vue?77d5","webpack:///nextcloud/apps/files_sharing/src/views/SharingInherited.vue","webpack:///nextcloud/apps/files_sharing/src/views/SharingInherited.vue?vue&type=script&lang=js","webpack://nextcloud/./apps/files_sharing/src/views/SharingInherited.vue?543d","webpack://nextcloud/./apps/files_sharing/src/views/SharingInherited.vue?1677","webpack://nextcloud/./apps/files_sharing/src/views/SharingLinkList.vue?de0b","webpack:///nextcloud/node_modules/vue-material-design-icons/Tune.vue","webpack:///nextcloud/node_modules/vue-material-design-icons/Tune.vue?vue&type=script&lang=js","webpack://nextcloud/./node_modules/vue-material-design-icons/Tune.vue?7202","webpack:///nextcloud/node_modules/vue-material-design-icons/Tune.vue?vue&type=template&id=44530562","webpack:///nextcloud/node_modules/vue-material-design-icons/Qrcode.vue?vue&type=script&lang=js","webpack:///nextcloud/node_modules/vue-material-design-icons/Qrcode.vue","webpack://nextcloud/./node_modules/vue-material-design-icons/Qrcode.vue?b80a","webpack:///nextcloud/node_modules/vue-material-design-icons/Qrcode.vue?vue&type=template&id=cc96c380","webpack:///nextcloud/node_modules/vue-material-design-icons/Exclamation.vue?vue&type=script&lang=js","webpack:///nextcloud/node_modules/vue-material-design-icons/Exclamation.vue","webpack://nextcloud/./node_modules/vue-material-design-icons/Exclamation.vue?46e6","webpack:///nextcloud/node_modules/vue-material-design-icons/Exclamation.vue?vue&type=template&id=33754429","webpack:///nextcloud/node_modules/vue-material-design-icons/Lock.vue?vue&type=script&lang=js","webpack:///nextcloud/node_modules/vue-material-design-icons/Lock.vue","webpack://nextcloud/./node_modules/vue-material-design-icons/Lock.vue?93ae","webpack:///nextcloud/node_modules/vue-material-design-icons/Lock.vue?vue&type=template&id=0e338773","webpack:///nextcloud/node_modules/vue-material-design-icons/TriangleSmallDown.vue","webpack:///nextcloud/node_modules/vue-material-design-icons/TriangleSmallDown.vue?vue&type=script&lang=js","webpack://nextcloud/./node_modules/vue-material-design-icons/TriangleSmallDown.vue?8651","webpack:///nextcloud/node_modules/vue-material-design-icons/TriangleSmallDown.vue?vue&type=template&id=0610cec6","webpack:///nextcloud/node_modules/vue-material-design-icons/EyeOutline.vue?vue&type=script&lang=js","webpack:///nextcloud/node_modules/vue-material-design-icons/EyeOutline.vue","webpack://nextcloud/./node_modules/vue-material-design-icons/EyeOutline.vue?9ce8","webpack:///nextcloud/node_modules/vue-material-design-icons/EyeOutline.vue?vue&type=template&id=30219a41","webpack:///nextcloud/node_modules/vue-material-design-icons/FileUpload.vue","webpack:///nextcloud/node_modules/vue-material-design-icons/FileUpload.vue?vue&type=script&lang=js","webpack://nextcloud/./node_modules/vue-material-design-icons/FileUpload.vue?c468","webpack:///nextcloud/node_modules/vue-material-design-icons/FileUpload.vue?vue&type=template&id=437aa472","webpack:///nextcloud/apps/files_sharing/src/components/SharingEntryQuickShareSelect.vue","webpack:///nextcloud/apps/files_sharing/src/components/SharingEntryQuickShareSelect.vue?vue&type=script&lang=js","webpack://nextcloud/./apps/files_sharing/src/components/SharingEntryQuickShareSelect.vue?3a11","webpack://nextcloud/./apps/files_sharing/src/components/SharingEntryQuickShareSelect.vue?4441","webpack://nextcloud/./apps/files_sharing/src/components/SharingEntryQuickShareSelect.vue?0b36","webpack:///nextcloud/apps/files_sharing/src/components/ExternalShareAction.vue?vue&type=script&lang=js","webpack:///nextcloud/apps/files_sharing/src/components/ExternalShareAction.vue","webpack://nextcloud/./apps/files_sharing/src/components/ExternalShareAction.vue?9bf3","webpack://nextcloud/./apps/files_sharing/src/components/ExternalShareAction.vue?82b4","webpack:///nextcloud/apps/files_sharing/src/components/SharingEntryLink.vue","webpack:///nextcloud/apps/files_sharing/src/components/SharingEntryLink.vue?vue&type=script&lang=js","webpack://nextcloud/./apps/files_sharing/src/components/SharingEntryLink.vue?284a","webpack://nextcloud/./apps/files_sharing/src/components/SharingEntryLink.vue?af90","webpack:///nextcloud/apps/files_sharing/src/views/SharingLinkList.vue?vue&type=script&lang=js","webpack:///nextcloud/apps/files_sharing/src/views/SharingLinkList.vue","webpack://nextcloud/./apps/files_sharing/src/components/SharingEntryLink.vue?64e9","webpack://nextcloud/./apps/files_sharing/src/views/SharingLinkList.vue?a70b","webpack://nextcloud/./apps/files_sharing/src/views/SharingList.vue?e340","webpack:///nextcloud/node_modules/vue-material-design-icons/DotsHorizontal.vue","webpack:///nextcloud/node_modules/vue-material-design-icons/DotsHorizontal.vue?vue&type=script&lang=js","webpack://nextcloud/./node_modules/vue-material-design-icons/DotsHorizontal.vue?c5a1","webpack:///nextcloud/node_modules/vue-material-design-icons/DotsHorizontal.vue?vue&type=template&id=a4d4ab3e","webpack:///nextcloud/apps/files_sharing/src/components/SharingEntry.vue?vue&type=script&lang=js","webpack:///nextcloud/apps/files_sharing/src/components/SharingEntry.vue","webpack://nextcloud/./apps/files_sharing/src/components/SharingEntry.vue?905f","webpack://nextcloud/./apps/files_sharing/src/components/SharingEntry.vue?10a7","webpack:///nextcloud/apps/files_sharing/src/views/SharingList.vue?vue&type=script&lang=js","webpack:///nextcloud/apps/files_sharing/src/views/SharingList.vue","webpack://nextcloud/./apps/files_sharing/src/components/SharingEntry.vue?f8d7","webpack://nextcloud/./apps/files_sharing/src/views/SharingList.vue?9f9c","webpack://nextcloud/./apps/files_sharing/src/views/SharingDetailsTab.vue?7f2e","webpack:///nextcloud/node_modules/vue-material-design-icons/CircleOutline.vue","webpack:///nextcloud/node_modules/vue-material-design-icons/CircleOutline.vue?vue&type=script&lang=js","webpack://nextcloud/./node_modules/vue-material-design-icons/CircleOutline.vue?68bc","webpack:///nextcloud/node_modules/vue-material-design-icons/CircleOutline.vue?vue&type=template&id=33494a74","webpack:///nextcloud/node_modules/vue-material-design-icons/Email.vue?vue&type=script&lang=js","webpack:///nextcloud/node_modules/vue-material-design-icons/Email.vue","webpack://nextcloud/./node_modules/vue-material-design-icons/Email.vue?3953","webpack:///nextcloud/node_modules/vue-material-design-icons/Email.vue?vue&type=template&id=ec4501a4","webpack:///nextcloud/node_modules/vue-material-design-icons/ShareCircle.vue","webpack:///nextcloud/node_modules/vue-material-design-icons/ShareCircle.vue?vue&type=script&lang=js","webpack://nextcloud/./node_modules/vue-material-design-icons/ShareCircle.vue?a1b2","webpack:///nextcloud/node_modules/vue-material-design-icons/ShareCircle.vue?vue&type=template&id=c22eb9fe","webpack:///nextcloud/node_modules/vue-material-design-icons/AccountCircleOutline.vue?vue&type=script&lang=js","webpack:///nextcloud/node_modules/vue-material-design-icons/AccountCircleOutline.vue","webpack://nextcloud/./node_modules/vue-material-design-icons/AccountCircleOutline.vue?a068","webpack:///nextcloud/node_modules/vue-material-design-icons/AccountCircleOutline.vue?vue&type=template&id=59b2bccc","webpack:///nextcloud/node_modules/vue-material-design-icons/Eye.vue?vue&type=script&lang=js","webpack:///nextcloud/node_modules/vue-material-design-icons/Eye.vue","webpack://nextcloud/./node_modules/vue-material-design-icons/Eye.vue?157b","webpack:///nextcloud/node_modules/vue-material-design-icons/Eye.vue?vue&type=template&id=363a0196","webpack:///nextcloud/apps/files_sharing/src/views/SharingDetailsTab.vue","webpack:///nextcloud/apps/files_sharing/src/views/SharingDetailsTab.vue?vue&type=script&lang=js","webpack://nextcloud/./apps/files_sharing/src/views/SharingDetailsTab.vue?7585","webpack://nextcloud/./apps/files_sharing/src/views/SharingDetailsTab.vue?10fc","webpack:///nextcloud/apps/files_sharing/src/views/SharingTab.vue","webpack:///nextcloud/apps/files_sharing/src/utils/SharedWithMe.js","webpack:///nextcloud/apps/files_sharing/src/views/SharingTab.vue?vue&type=script&lang=js","webpack://nextcloud/./apps/files_sharing/src/views/SharingTab.vue?9977","webpack://nextcloud/./apps/files_sharing/src/views/SharingTab.vue?6997"],"sourcesContent":["/*!\n * vue-qrcode v1.0.2\n * https://fengyuanchen.github.io/vue-qrcode\n *\n * Copyright 2018-present Chen Fengyuan\n * Released under the MIT license\n *\n * Date: 2020-01-18T06:04:33.222Z\n */\n\n(function (global, factory) {\n\ttypeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory() :\n\ttypeof define === 'function' && define.amd ? define(factory) :\n\t(global = global || self, global.VueQrcode = factory());\n}(this, (function () { 'use strict';\n\n\tfunction commonjsRequire () {\n\t\tthrow new Error('Dynamic requires are not currently supported by rollup-plugin-commonjs');\n\t}\n\n\tfunction createCommonjsModule(fn, module) {\n\t\treturn module = { exports: {} }, fn(module, module.exports), module.exports;\n\t}\n\n\tvar qrcode = createCommonjsModule(function (module, exports) {\n\t(function(f){{module.exports=f();}})(function(){return (function(){function r(e,n,t){function o(i,f){if(!n[i]){if(!e[i]){var c=\"function\"==typeof commonjsRequire&&commonjsRequire;if(!f&&c)return c(i,!0);if(u)return u(i,!0);var a=new Error(\"Cannot find module '\"+i+\"'\");throw a.code=\"MODULE_NOT_FOUND\",a}var p=n[i]={exports:{}};e[i][0].call(p.exports,function(r){var n=e[i][1][r];return o(n||r)},p,p.exports,r,e,n,t);}return n[i].exports}for(var u=\"function\"==typeof commonjsRequire&&commonjsRequire,i=0;i<t.length;i++)o(t[i]);return o}return r})()({1:[function(require,module,exports){\n\t// can-promise has a crash in some versions of react native that dont have\n\t// standard global objects\n\t// https://github.com/soldair/node-qrcode/issues/157\n\n\tmodule.exports = function () {\n\t  return typeof Promise === 'function' && Promise.prototype && Promise.prototype.then\n\t};\n\n\t},{}],2:[function(require,module,exports){\n\t/**\n\t * Alignment pattern are fixed reference pattern in defined positions\n\t * in a matrix symbology, which enables the decode software to re-synchronise\n\t * the coordinate mapping of the image modules in the event of moderate amounts\n\t * of distortion of the image.\n\t *\n\t * Alignment patterns are present only in QR Code symbols of version 2 or larger\n\t * and their number depends on the symbol version.\n\t */\n\n\tvar getSymbolSize = require('./utils').getSymbolSize;\n\n\t/**\n\t * Calculate the row/column coordinates of the center module of each alignment pattern\n\t * for the specified QR Code version.\n\t *\n\t * The alignment patterns are positioned symmetrically on either side of the diagonal\n\t * running from the top left corner of the symbol to the bottom right corner.\n\t *\n\t * Since positions are simmetrical only half of the coordinates are returned.\n\t * Each item of the array will represent in turn the x and y coordinate.\n\t * @see {@link getPositions}\n\t *\n\t * @param  {Number} version QR Code version\n\t * @return {Array}          Array of coordinate\n\t */\n\texports.getRowColCoords = function getRowColCoords (version) {\n\t  if (version === 1) return []\n\n\t  var posCount = Math.floor(version / 7) + 2;\n\t  var size = getSymbolSize(version);\n\t  var intervals = size === 145 ? 26 : Math.ceil((size - 13) / (2 * posCount - 2)) * 2;\n\t  var positions = [size - 7]; // Last coord is always (size - 7)\n\n\t  for (var i = 1; i < posCount - 1; i++) {\n\t    positions[i] = positions[i - 1] - intervals;\n\t  }\n\n\t  positions.push(6); // First coord is always 6\n\n\t  return positions.reverse()\n\t};\n\n\t/**\n\t * Returns an array containing the positions of each alignment pattern.\n\t * Each array's element represent the center point of the pattern as (x, y) coordinates\n\t *\n\t * Coordinates are calculated expanding the row/column coordinates returned by {@link getRowColCoords}\n\t * and filtering out the items that overlaps with finder pattern\n\t *\n\t * @example\n\t * For a Version 7 symbol {@link getRowColCoords} returns values 6, 22 and 38.\n\t * The alignment patterns, therefore, are to be centered on (row, column)\n\t * positions (6,22), (22,6), (22,22), (22,38), (38,22), (38,38).\n\t * Note that the coordinates (6,6), (6,38), (38,6) are occupied by finder patterns\n\t * and are not therefore used for alignment patterns.\n\t *\n\t * var pos = getPositions(7)\n\t * // [[6,22], [22,6], [22,22], [22,38], [38,22], [38,38]]\n\t *\n\t * @param  {Number} version QR Code version\n\t * @return {Array}          Array of coordinates\n\t */\n\texports.getPositions = function getPositions (version) {\n\t  var coords = [];\n\t  var pos = exports.getRowColCoords(version);\n\t  var posLength = pos.length;\n\n\t  for (var i = 0; i < posLength; i++) {\n\t    for (var j = 0; j < posLength; j++) {\n\t      // Skip if position is occupied by finder patterns\n\t      if ((i === 0 && j === 0) ||             // top-left\n\t          (i === 0 && j === posLength - 1) || // bottom-left\n\t          (i === posLength - 1 && j === 0)) { // top-right\n\t        continue\n\t      }\n\n\t      coords.push([pos[i], pos[j]]);\n\t    }\n\t  }\n\n\t  return coords\n\t};\n\n\t},{\"./utils\":21}],3:[function(require,module,exports){\n\tvar Mode = require('./mode');\n\n\t/**\n\t * Array of characters available in alphanumeric mode\n\t *\n\t * As per QR Code specification, to each character\n\t * is assigned a value from 0 to 44 which in this case coincides\n\t * with the array index\n\t *\n\t * @type {Array}\n\t */\n\tvar ALPHA_NUM_CHARS = [\n\t  '0', '1', '2', '3', '4', '5', '6', '7', '8', '9',\n\t  'A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J', 'K', 'L', 'M',\n\t  'N', 'O', 'P', 'Q', 'R', 'S', 'T', 'U', 'V', 'W', 'X', 'Y', 'Z',\n\t  ' ', '$', '%', '*', '+', '-', '.', '/', ':'\n\t];\n\n\tfunction AlphanumericData (data) {\n\t  this.mode = Mode.ALPHANUMERIC;\n\t  this.data = data;\n\t}\n\n\tAlphanumericData.getBitsLength = function getBitsLength (length) {\n\t  return 11 * Math.floor(length / 2) + 6 * (length % 2)\n\t};\n\n\tAlphanumericData.prototype.getLength = function getLength () {\n\t  return this.data.length\n\t};\n\n\tAlphanumericData.prototype.getBitsLength = function getBitsLength () {\n\t  return AlphanumericData.getBitsLength(this.data.length)\n\t};\n\n\tAlphanumericData.prototype.write = function write (bitBuffer) {\n\t  var i;\n\n\t  // Input data characters are divided into groups of two characters\n\t  // and encoded as 11-bit binary codes.\n\t  for (i = 0; i + 2 <= this.data.length; i += 2) {\n\t    // The character value of the first character is multiplied by 45\n\t    var value = ALPHA_NUM_CHARS.indexOf(this.data[i]) * 45;\n\n\t    // The character value of the second digit is added to the product\n\t    value += ALPHA_NUM_CHARS.indexOf(this.data[i + 1]);\n\n\t    // The sum is then stored as 11-bit binary number\n\t    bitBuffer.put(value, 11);\n\t  }\n\n\t  // If the number of input data characters is not a multiple of two,\n\t  // the character value of the final character is encoded as a 6-bit binary number.\n\t  if (this.data.length % 2) {\n\t    bitBuffer.put(ALPHA_NUM_CHARS.indexOf(this.data[i]), 6);\n\t  }\n\t};\n\n\tmodule.exports = AlphanumericData;\n\n\t},{\"./mode\":14}],4:[function(require,module,exports){\n\tfunction BitBuffer () {\n\t  this.buffer = [];\n\t  this.length = 0;\n\t}\n\n\tBitBuffer.prototype = {\n\n\t  get: function (index) {\n\t    var bufIndex = Math.floor(index / 8);\n\t    return ((this.buffer[bufIndex] >>> (7 - index % 8)) & 1) === 1\n\t  },\n\n\t  put: function (num, length) {\n\t    for (var i = 0; i < length; i++) {\n\t      this.putBit(((num >>> (length - i - 1)) & 1) === 1);\n\t    }\n\t  },\n\n\t  getLengthInBits: function () {\n\t    return this.length\n\t  },\n\n\t  putBit: function (bit) {\n\t    var bufIndex = Math.floor(this.length / 8);\n\t    if (this.buffer.length <= bufIndex) {\n\t      this.buffer.push(0);\n\t    }\n\n\t    if (bit) {\n\t      this.buffer[bufIndex] |= (0x80 >>> (this.length % 8));\n\t    }\n\n\t    this.length++;\n\t  }\n\t};\n\n\tmodule.exports = BitBuffer;\n\n\t},{}],5:[function(require,module,exports){\n\tvar BufferUtil = require('../utils/buffer');\n\n\t/**\n\t * Helper class to handle QR Code symbol modules\n\t *\n\t * @param {Number} size Symbol size\n\t */\n\tfunction BitMatrix (size) {\n\t  if (!size || size < 1) {\n\t    throw new Error('BitMatrix size must be defined and greater than 0')\n\t  }\n\n\t  this.size = size;\n\t  this.data = BufferUtil.alloc(size * size);\n\t  this.reservedBit = BufferUtil.alloc(size * size);\n\t}\n\n\t/**\n\t * Set bit value at specified location\n\t * If reserved flag is set, this bit will be ignored during masking process\n\t *\n\t * @param {Number}  row\n\t * @param {Number}  col\n\t * @param {Boolean} value\n\t * @param {Boolean} reserved\n\t */\n\tBitMatrix.prototype.set = function (row, col, value, reserved) {\n\t  var index = row * this.size + col;\n\t  this.data[index] = value;\n\t  if (reserved) this.reservedBit[index] = true;\n\t};\n\n\t/**\n\t * Returns bit value at specified location\n\t *\n\t * @param  {Number}  row\n\t * @param  {Number}  col\n\t * @return {Boolean}\n\t */\n\tBitMatrix.prototype.get = function (row, col) {\n\t  return this.data[row * this.size + col]\n\t};\n\n\t/**\n\t * Applies xor operator at specified location\n\t * (used during masking process)\n\t *\n\t * @param {Number}  row\n\t * @param {Number}  col\n\t * @param {Boolean} value\n\t */\n\tBitMatrix.prototype.xor = function (row, col, value) {\n\t  this.data[row * this.size + col] ^= value;\n\t};\n\n\t/**\n\t * Check if bit at specified location is reserved\n\t *\n\t * @param {Number}   row\n\t * @param {Number}   col\n\t * @return {Boolean}\n\t */\n\tBitMatrix.prototype.isReserved = function (row, col) {\n\t  return this.reservedBit[row * this.size + col]\n\t};\n\n\tmodule.exports = BitMatrix;\n\n\t},{\"../utils/buffer\":28}],6:[function(require,module,exports){\n\tvar BufferUtil = require('../utils/buffer');\n\tvar Mode = require('./mode');\n\n\tfunction ByteData (data) {\n\t  this.mode = Mode.BYTE;\n\t  this.data = BufferUtil.from(data);\n\t}\n\n\tByteData.getBitsLength = function getBitsLength (length) {\n\t  return length * 8\n\t};\n\n\tByteData.prototype.getLength = function getLength () {\n\t  return this.data.length\n\t};\n\n\tByteData.prototype.getBitsLength = function getBitsLength () {\n\t  return ByteData.getBitsLength(this.data.length)\n\t};\n\n\tByteData.prototype.write = function (bitBuffer) {\n\t  for (var i = 0, l = this.data.length; i < l; i++) {\n\t    bitBuffer.put(this.data[i], 8);\n\t  }\n\t};\n\n\tmodule.exports = ByteData;\n\n\t},{\"../utils/buffer\":28,\"./mode\":14}],7:[function(require,module,exports){\n\tvar ECLevel = require('./error-correction-level');\r\n\r\n\tvar EC_BLOCKS_TABLE = [\r\n\t// L  M  Q  H\r\n\t  1, 1, 1, 1,\r\n\t  1, 1, 1, 1,\r\n\t  1, 1, 2, 2,\r\n\t  1, 2, 2, 4,\r\n\t  1, 2, 4, 4,\r\n\t  2, 4, 4, 4,\r\n\t  2, 4, 6, 5,\r\n\t  2, 4, 6, 6,\r\n\t  2, 5, 8, 8,\r\n\t  4, 5, 8, 8,\r\n\t  4, 5, 8, 11,\r\n\t  4, 8, 10, 11,\r\n\t  4, 9, 12, 16,\r\n\t  4, 9, 16, 16,\r\n\t  6, 10, 12, 18,\r\n\t  6, 10, 17, 16,\r\n\t  6, 11, 16, 19,\r\n\t  6, 13, 18, 21,\r\n\t  7, 14, 21, 25,\r\n\t  8, 16, 20, 25,\r\n\t  8, 17, 23, 25,\r\n\t  9, 17, 23, 34,\r\n\t  9, 18, 25, 30,\r\n\t  10, 20, 27, 32,\r\n\t  12, 21, 29, 35,\r\n\t  12, 23, 34, 37,\r\n\t  12, 25, 34, 40,\r\n\t  13, 26, 35, 42,\r\n\t  14, 28, 38, 45,\r\n\t  15, 29, 40, 48,\r\n\t  16, 31, 43, 51,\r\n\t  17, 33, 45, 54,\r\n\t  18, 35, 48, 57,\r\n\t  19, 37, 51, 60,\r\n\t  19, 38, 53, 63,\r\n\t  20, 40, 56, 66,\r\n\t  21, 43, 59, 70,\r\n\t  22, 45, 62, 74,\r\n\t  24, 47, 65, 77,\r\n\t  25, 49, 68, 81\r\n\t];\r\n\r\n\tvar EC_CODEWORDS_TABLE = [\r\n\t// L  M  Q  H\r\n\t  7, 10, 13, 17,\r\n\t  10, 16, 22, 28,\r\n\t  15, 26, 36, 44,\r\n\t  20, 36, 52, 64,\r\n\t  26, 48, 72, 88,\r\n\t  36, 64, 96, 112,\r\n\t  40, 72, 108, 130,\r\n\t  48, 88, 132, 156,\r\n\t  60, 110, 160, 192,\r\n\t  72, 130, 192, 224,\r\n\t  80, 150, 224, 264,\r\n\t  96, 176, 260, 308,\r\n\t  104, 198, 288, 352,\r\n\t  120, 216, 320, 384,\r\n\t  132, 240, 360, 432,\r\n\t  144, 280, 408, 480,\r\n\t  168, 308, 448, 532,\r\n\t  180, 338, 504, 588,\r\n\t  196, 364, 546, 650,\r\n\t  224, 416, 600, 700,\r\n\t  224, 442, 644, 750,\r\n\t  252, 476, 690, 816,\r\n\t  270, 504, 750, 900,\r\n\t  300, 560, 810, 960,\r\n\t  312, 588, 870, 1050,\r\n\t  336, 644, 952, 1110,\r\n\t  360, 700, 1020, 1200,\r\n\t  390, 728, 1050, 1260,\r\n\t  420, 784, 1140, 1350,\r\n\t  450, 812, 1200, 1440,\r\n\t  480, 868, 1290, 1530,\r\n\t  510, 924, 1350, 1620,\r\n\t  540, 980, 1440, 1710,\r\n\t  570, 1036, 1530, 1800,\r\n\t  570, 1064, 1590, 1890,\r\n\t  600, 1120, 1680, 1980,\r\n\t  630, 1204, 1770, 2100,\r\n\t  660, 1260, 1860, 2220,\r\n\t  720, 1316, 1950, 2310,\r\n\t  750, 1372, 2040, 2430\r\n\t];\r\n\r\n\t/**\r\n\t * Returns the number of error correction block that the QR Code should contain\r\n\t * for the specified version and error correction level.\r\n\t *\r\n\t * @param  {Number} version              QR Code version\r\n\t * @param  {Number} errorCorrectionLevel Error correction level\r\n\t * @return {Number}                      Number of error correction blocks\r\n\t */\r\n\texports.getBlocksCount = function getBlocksCount (version, errorCorrectionLevel) {\r\n\t  switch (errorCorrectionLevel) {\r\n\t    case ECLevel.L:\r\n\t      return EC_BLOCKS_TABLE[(version - 1) * 4 + 0]\r\n\t    case ECLevel.M:\r\n\t      return EC_BLOCKS_TABLE[(version - 1) * 4 + 1]\r\n\t    case ECLevel.Q:\r\n\t      return EC_BLOCKS_TABLE[(version - 1) * 4 + 2]\r\n\t    case ECLevel.H:\r\n\t      return EC_BLOCKS_TABLE[(version - 1) * 4 + 3]\r\n\t    default:\r\n\t      return undefined\r\n\t  }\r\n\t};\r\n\r\n\t/**\r\n\t * Returns the number of error correction codewords to use for the specified\r\n\t * version and error correction level.\r\n\t *\r\n\t * @param  {Number} version              QR Code version\r\n\t * @param  {Number} errorCorrectionLevel Error correction level\r\n\t * @return {Number}                      Number of error correction codewords\r\n\t */\r\n\texports.getTotalCodewordsCount = function getTotalCodewordsCount (version, errorCorrectionLevel) {\r\n\t  switch (errorCorrectionLevel) {\r\n\t    case ECLevel.L:\r\n\t      return EC_CODEWORDS_TABLE[(version - 1) * 4 + 0]\r\n\t    case ECLevel.M:\r\n\t      return EC_CODEWORDS_TABLE[(version - 1) * 4 + 1]\r\n\t    case ECLevel.Q:\r\n\t      return EC_CODEWORDS_TABLE[(version - 1) * 4 + 2]\r\n\t    case ECLevel.H:\r\n\t      return EC_CODEWORDS_TABLE[(version - 1) * 4 + 3]\r\n\t    default:\r\n\t      return undefined\r\n\t  }\r\n\t};\r\n\n\t},{\"./error-correction-level\":8}],8:[function(require,module,exports){\n\texports.L = { bit: 1 };\n\texports.M = { bit: 0 };\n\texports.Q = { bit: 3 };\n\texports.H = { bit: 2 };\n\n\tfunction fromString (string) {\n\t  if (typeof string !== 'string') {\n\t    throw new Error('Param is not a string')\n\t  }\n\n\t  var lcStr = string.toLowerCase();\n\n\t  switch (lcStr) {\n\t    case 'l':\n\t    case 'low':\n\t      return exports.L\n\n\t    case 'm':\n\t    case 'medium':\n\t      return exports.M\n\n\t    case 'q':\n\t    case 'quartile':\n\t      return exports.Q\n\n\t    case 'h':\n\t    case 'high':\n\t      return exports.H\n\n\t    default:\n\t      throw new Error('Unknown EC Level: ' + string)\n\t  }\n\t}\n\n\texports.isValid = function isValid (level) {\n\t  return level && typeof level.bit !== 'undefined' &&\n\t    level.bit >= 0 && level.bit < 4\n\t};\n\n\texports.from = function from (value, defaultValue) {\n\t  if (exports.isValid(value)) {\n\t    return value\n\t  }\n\n\t  try {\n\t    return fromString(value)\n\t  } catch (e) {\n\t    return defaultValue\n\t  }\n\t};\n\n\t},{}],9:[function(require,module,exports){\n\tvar getSymbolSize = require('./utils').getSymbolSize;\n\tvar FINDER_PATTERN_SIZE = 7;\n\n\t/**\n\t * Returns an array containing the positions of each finder pattern.\n\t * Each array's element represent the top-left point of the pattern as (x, y) coordinates\n\t *\n\t * @param  {Number} version QR Code version\n\t * @return {Array}          Array of coordinates\n\t */\n\texports.getPositions = function getPositions (version) {\n\t  var size = getSymbolSize(version);\n\n\t  return [\n\t    // top-left\n\t    [0, 0],\n\t    // top-right\n\t    [size - FINDER_PATTERN_SIZE, 0],\n\t    // bottom-left\n\t    [0, size - FINDER_PATTERN_SIZE]\n\t  ]\n\t};\n\n\t},{\"./utils\":21}],10:[function(require,module,exports){\n\tvar Utils = require('./utils');\n\n\tvar G15 = (1 << 10) | (1 << 8) | (1 << 5) | (1 << 4) | (1 << 2) | (1 << 1) | (1 << 0);\n\tvar G15_MASK = (1 << 14) | (1 << 12) | (1 << 10) | (1 << 4) | (1 << 1);\n\tvar G15_BCH = Utils.getBCHDigit(G15);\n\n\t/**\n\t * Returns format information with relative error correction bits\n\t *\n\t * The format information is a 15-bit sequence containing 5 data bits,\n\t * with 10 error correction bits calculated using the (15, 5) BCH code.\n\t *\n\t * @param  {Number} errorCorrectionLevel Error correction level\n\t * @param  {Number} mask                 Mask pattern\n\t * @return {Number}                      Encoded format information bits\n\t */\n\texports.getEncodedBits = function getEncodedBits (errorCorrectionLevel, mask) {\n\t  var data = ((errorCorrectionLevel.bit << 3) | mask);\n\t  var d = data << 10;\n\n\t  while (Utils.getBCHDigit(d) - G15_BCH >= 0) {\n\t    d ^= (G15 << (Utils.getBCHDigit(d) - G15_BCH));\n\t  }\n\n\t  // xor final data with mask pattern in order to ensure that\n\t  // no combination of Error Correction Level and data mask pattern\n\t  // will result in an all-zero data string\n\t  return ((data << 10) | d) ^ G15_MASK\n\t};\n\n\t},{\"./utils\":21}],11:[function(require,module,exports){\n\tvar BufferUtil = require('../utils/buffer');\n\n\tvar EXP_TABLE = BufferUtil.alloc(512);\n\tvar LOG_TABLE = BufferUtil.alloc(256)\n\t/**\n\t * Precompute the log and anti-log tables for faster computation later\n\t *\n\t * For each possible value in the galois field 2^8, we will pre-compute\n\t * the logarithm and anti-logarithm (exponential) of this value\n\t *\n\t * ref {@link https://en.wikiversity.org/wiki/Reed%E2%80%93Solomon_codes_for_coders#Introduction_to_mathematical_fields}\n\t */\n\t;(function initTables () {\n\t  var x = 1;\n\t  for (var i = 0; i < 255; i++) {\n\t    EXP_TABLE[i] = x;\n\t    LOG_TABLE[x] = i;\n\n\t    x <<= 1; // multiply by 2\n\n\t    // The QR code specification says to use byte-wise modulo 100011101 arithmetic.\n\t    // This means that when a number is 256 or larger, it should be XORed with 0x11D.\n\t    if (x & 0x100) { // similar to x >= 256, but a lot faster (because 0x100 == 256)\n\t      x ^= 0x11D;\n\t    }\n\t  }\n\n\t  // Optimization: double the size of the anti-log table so that we don't need to mod 255 to\n\t  // stay inside the bounds (because we will mainly use this table for the multiplication of\n\t  // two GF numbers, no more).\n\t  // @see {@link mul}\n\t  for (i = 255; i < 512; i++) {\n\t    EXP_TABLE[i] = EXP_TABLE[i - 255];\n\t  }\n\t}());\n\n\t/**\n\t * Returns log value of n inside Galois Field\n\t *\n\t * @param  {Number} n\n\t * @return {Number}\n\t */\n\texports.log = function log (n) {\n\t  if (n < 1) throw new Error('log(' + n + ')')\n\t  return LOG_TABLE[n]\n\t};\n\n\t/**\n\t * Returns anti-log value of n inside Galois Field\n\t *\n\t * @param  {Number} n\n\t * @return {Number}\n\t */\n\texports.exp = function exp (n) {\n\t  return EXP_TABLE[n]\n\t};\n\n\t/**\n\t * Multiplies two number inside Galois Field\n\t *\n\t * @param  {Number} x\n\t * @param  {Number} y\n\t * @return {Number}\n\t */\n\texports.mul = function mul (x, y) {\n\t  if (x === 0 || y === 0) return 0\n\n\t  // should be EXP_TABLE[(LOG_TABLE[x] + LOG_TABLE[y]) % 255] if EXP_TABLE wasn't oversized\n\t  // @see {@link initTables}\n\t  return EXP_TABLE[LOG_TABLE[x] + LOG_TABLE[y]]\n\t};\n\n\t},{\"../utils/buffer\":28}],12:[function(require,module,exports){\n\tvar Mode = require('./mode');\n\tvar Utils = require('./utils');\n\n\tfunction KanjiData (data) {\n\t  this.mode = Mode.KANJI;\n\t  this.data = data;\n\t}\n\n\tKanjiData.getBitsLength = function getBitsLength (length) {\n\t  return length * 13\n\t};\n\n\tKanjiData.prototype.getLength = function getLength () {\n\t  return this.data.length\n\t};\n\n\tKanjiData.prototype.getBitsLength = function getBitsLength () {\n\t  return KanjiData.getBitsLength(this.data.length)\n\t};\n\n\tKanjiData.prototype.write = function (bitBuffer) {\n\t  var i;\n\n\t  // In the Shift JIS system, Kanji characters are represented by a two byte combination.\n\t  // These byte values are shifted from the JIS X 0208 values.\n\t  // JIS X 0208 gives details of the shift coded representation.\n\t  for (i = 0; i < this.data.length; i++) {\n\t    var value = Utils.toSJIS(this.data[i]);\n\n\t    // For characters with Shift JIS values from 0x8140 to 0x9FFC:\n\t    if (value >= 0x8140 && value <= 0x9FFC) {\n\t      // Subtract 0x8140 from Shift JIS value\n\t      value -= 0x8140;\n\n\t    // For characters with Shift JIS values from 0xE040 to 0xEBBF\n\t    } else if (value >= 0xE040 && value <= 0xEBBF) {\n\t      // Subtract 0xC140 from Shift JIS value\n\t      value -= 0xC140;\n\t    } else {\n\t      throw new Error(\n\t        'Invalid SJIS character: ' + this.data[i] + '\\n' +\n\t        'Make sure your charset is UTF-8')\n\t    }\n\n\t    // Multiply most significant byte of result by 0xC0\n\t    // and add least significant byte to product\n\t    value = (((value >>> 8) & 0xff) * 0xC0) + (value & 0xff);\n\n\t    // Convert result to a 13-bit binary string\n\t    bitBuffer.put(value, 13);\n\t  }\n\t};\n\n\tmodule.exports = KanjiData;\n\n\t},{\"./mode\":14,\"./utils\":21}],13:[function(require,module,exports){\n\t/**\n\t * Data mask pattern reference\n\t * @type {Object}\n\t */\n\texports.Patterns = {\n\t  PATTERN000: 0,\n\t  PATTERN001: 1,\n\t  PATTERN010: 2,\n\t  PATTERN011: 3,\n\t  PATTERN100: 4,\n\t  PATTERN101: 5,\n\t  PATTERN110: 6,\n\t  PATTERN111: 7\n\t};\n\n\t/**\n\t * Weighted penalty scores for the undesirable features\n\t * @type {Object}\n\t */\n\tvar PenaltyScores = {\n\t  N1: 3,\n\t  N2: 3,\n\t  N3: 40,\n\t  N4: 10\n\t};\n\n\t/**\n\t * Check if mask pattern value is valid\n\t *\n\t * @param  {Number}  mask    Mask pattern\n\t * @return {Boolean}         true if valid, false otherwise\n\t */\n\texports.isValid = function isValid (mask) {\n\t  return mask != null && mask !== '' && !isNaN(mask) && mask >= 0 && mask <= 7\n\t};\n\n\t/**\n\t * Returns mask pattern from a value.\n\t * If value is not valid, returns undefined\n\t *\n\t * @param  {Number|String} value        Mask pattern value\n\t * @return {Number}                     Valid mask pattern or undefined\n\t */\n\texports.from = function from (value) {\n\t  return exports.isValid(value) ? parseInt(value, 10) : undefined\n\t};\n\n\t/**\n\t* Find adjacent modules in row/column with the same color\n\t* and assign a penalty value.\n\t*\n\t* Points: N1 + i\n\t* i is the amount by which the number of adjacent modules of the same color exceeds 5\n\t*/\n\texports.getPenaltyN1 = function getPenaltyN1 (data) {\n\t  var size = data.size;\n\t  var points = 0;\n\t  var sameCountCol = 0;\n\t  var sameCountRow = 0;\n\t  var lastCol = null;\n\t  var lastRow = null;\n\n\t  for (var row = 0; row < size; row++) {\n\t    sameCountCol = sameCountRow = 0;\n\t    lastCol = lastRow = null;\n\n\t    for (var col = 0; col < size; col++) {\n\t      var module = data.get(row, col);\n\t      if (module === lastCol) {\n\t        sameCountCol++;\n\t      } else {\n\t        if (sameCountCol >= 5) points += PenaltyScores.N1 + (sameCountCol - 5);\n\t        lastCol = module;\n\t        sameCountCol = 1;\n\t      }\n\n\t      module = data.get(col, row);\n\t      if (module === lastRow) {\n\t        sameCountRow++;\n\t      } else {\n\t        if (sameCountRow >= 5) points += PenaltyScores.N1 + (sameCountRow - 5);\n\t        lastRow = module;\n\t        sameCountRow = 1;\n\t      }\n\t    }\n\n\t    if (sameCountCol >= 5) points += PenaltyScores.N1 + (sameCountCol - 5);\n\t    if (sameCountRow >= 5) points += PenaltyScores.N1 + (sameCountRow - 5);\n\t  }\n\n\t  return points\n\t};\n\n\t/**\n\t * Find 2x2 blocks with the same color and assign a penalty value\n\t *\n\t * Points: N2 * (m - 1) * (n - 1)\n\t */\n\texports.getPenaltyN2 = function getPenaltyN2 (data) {\n\t  var size = data.size;\n\t  var points = 0;\n\n\t  for (var row = 0; row < size - 1; row++) {\n\t    for (var col = 0; col < size - 1; col++) {\n\t      var last = data.get(row, col) +\n\t        data.get(row, col + 1) +\n\t        data.get(row + 1, col) +\n\t        data.get(row + 1, col + 1);\n\n\t      if (last === 4 || last === 0) points++;\n\t    }\n\t  }\n\n\t  return points * PenaltyScores.N2\n\t};\n\n\t/**\n\t * Find 1:1:3:1:1 ratio (dark:light:dark:light:dark) pattern in row/column,\n\t * preceded or followed by light area 4 modules wide\n\t *\n\t * Points: N3 * number of pattern found\n\t */\n\texports.getPenaltyN3 = function getPenaltyN3 (data) {\n\t  var size = data.size;\n\t  var points = 0;\n\t  var bitsCol = 0;\n\t  var bitsRow = 0;\n\n\t  for (var row = 0; row < size; row++) {\n\t    bitsCol = bitsRow = 0;\n\t    for (var col = 0; col < size; col++) {\n\t      bitsCol = ((bitsCol << 1) & 0x7FF) | data.get(row, col);\n\t      if (col >= 10 && (bitsCol === 0x5D0 || bitsCol === 0x05D)) points++;\n\n\t      bitsRow = ((bitsRow << 1) & 0x7FF) | data.get(col, row);\n\t      if (col >= 10 && (bitsRow === 0x5D0 || bitsRow === 0x05D)) points++;\n\t    }\n\t  }\n\n\t  return points * PenaltyScores.N3\n\t};\n\n\t/**\n\t * Calculate proportion of dark modules in entire symbol\n\t *\n\t * Points: N4 * k\n\t *\n\t * k is the rating of the deviation of the proportion of dark modules\n\t * in the symbol from 50% in steps of 5%\n\t */\n\texports.getPenaltyN4 = function getPenaltyN4 (data) {\n\t  var darkCount = 0;\n\t  var modulesCount = data.data.length;\n\n\t  for (var i = 0; i < modulesCount; i++) darkCount += data.data[i];\n\n\t  var k = Math.abs(Math.ceil((darkCount * 100 / modulesCount) / 5) - 10);\n\n\t  return k * PenaltyScores.N4\n\t};\n\n\t/**\n\t * Return mask value at given position\n\t *\n\t * @param  {Number} maskPattern Pattern reference value\n\t * @param  {Number} i           Row\n\t * @param  {Number} j           Column\n\t * @return {Boolean}            Mask value\n\t */\n\tfunction getMaskAt (maskPattern, i, j) {\n\t  switch (maskPattern) {\n\t    case exports.Patterns.PATTERN000: return (i + j) % 2 === 0\n\t    case exports.Patterns.PATTERN001: return i % 2 === 0\n\t    case exports.Patterns.PATTERN010: return j % 3 === 0\n\t    case exports.Patterns.PATTERN011: return (i + j) % 3 === 0\n\t    case exports.Patterns.PATTERN100: return (Math.floor(i / 2) + Math.floor(j / 3)) % 2 === 0\n\t    case exports.Patterns.PATTERN101: return (i * j) % 2 + (i * j) % 3 === 0\n\t    case exports.Patterns.PATTERN110: return ((i * j) % 2 + (i * j) % 3) % 2 === 0\n\t    case exports.Patterns.PATTERN111: return ((i * j) % 3 + (i + j) % 2) % 2 === 0\n\n\t    default: throw new Error('bad maskPattern:' + maskPattern)\n\t  }\n\t}\n\n\t/**\n\t * Apply a mask pattern to a BitMatrix\n\t *\n\t * @param  {Number}    pattern Pattern reference number\n\t * @param  {BitMatrix} data    BitMatrix data\n\t */\n\texports.applyMask = function applyMask (pattern, data) {\n\t  var size = data.size;\n\n\t  for (var col = 0; col < size; col++) {\n\t    for (var row = 0; row < size; row++) {\n\t      if (data.isReserved(row, col)) continue\n\t      data.xor(row, col, getMaskAt(pattern, row, col));\n\t    }\n\t  }\n\t};\n\n\t/**\n\t * Returns the best mask pattern for data\n\t *\n\t * @param  {BitMatrix} data\n\t * @return {Number} Mask pattern reference number\n\t */\n\texports.getBestMask = function getBestMask (data, setupFormatFunc) {\n\t  var numPatterns = Object.keys(exports.Patterns).length;\n\t  var bestPattern = 0;\n\t  var lowerPenalty = Infinity;\n\n\t  for (var p = 0; p < numPatterns; p++) {\n\t    setupFormatFunc(p);\n\t    exports.applyMask(p, data);\n\n\t    // Calculate penalty\n\t    var penalty =\n\t      exports.getPenaltyN1(data) +\n\t      exports.getPenaltyN2(data) +\n\t      exports.getPenaltyN3(data) +\n\t      exports.getPenaltyN4(data);\n\n\t    // Undo previously applied mask\n\t    exports.applyMask(p, data);\n\n\t    if (penalty < lowerPenalty) {\n\t      lowerPenalty = penalty;\n\t      bestPattern = p;\n\t    }\n\t  }\n\n\t  return bestPattern\n\t};\n\n\t},{}],14:[function(require,module,exports){\n\tvar VersionCheck = require('./version-check');\n\tvar Regex = require('./regex');\n\n\t/**\n\t * Numeric mode encodes data from the decimal digit set (0 - 9)\n\t * (byte values 30HEX to 39HEX).\n\t * Normally, 3 data characters are represented by 10 bits.\n\t *\n\t * @type {Object}\n\t */\n\texports.NUMERIC = {\n\t  id: 'Numeric',\n\t  bit: 1 << 0,\n\t  ccBits: [10, 12, 14]\n\t};\n\n\t/**\n\t * Alphanumeric mode encodes data from a set of 45 characters,\n\t * i.e. 10 numeric digits (0 - 9),\n\t *      26 alphabetic characters (A - Z),\n\t *   and 9 symbols (SP, $, %, *, +, -, ., /, :).\n\t * Normally, two input characters are represented by 11 bits.\n\t *\n\t * @type {Object}\n\t */\n\texports.ALPHANUMERIC = {\n\t  id: 'Alphanumeric',\n\t  bit: 1 << 1,\n\t  ccBits: [9, 11, 13]\n\t};\n\n\t/**\n\t * In byte mode, data is encoded at 8 bits per character.\n\t *\n\t * @type {Object}\n\t */\n\texports.BYTE = {\n\t  id: 'Byte',\n\t  bit: 1 << 2,\n\t  ccBits: [8, 16, 16]\n\t};\n\n\t/**\n\t * The Kanji mode efficiently encodes Kanji characters in accordance with\n\t * the Shift JIS system based on JIS X 0208.\n\t * The Shift JIS values are shifted from the JIS X 0208 values.\n\t * JIS X 0208 gives details of the shift coded representation.\n\t * Each two-byte character value is compacted to a 13-bit binary codeword.\n\t *\n\t * @type {Object}\n\t */\n\texports.KANJI = {\n\t  id: 'Kanji',\n\t  bit: 1 << 3,\n\t  ccBits: [8, 10, 12]\n\t};\n\n\t/**\n\t * Mixed mode will contain a sequences of data in a combination of any of\n\t * the modes described above\n\t *\n\t * @type {Object}\n\t */\n\texports.MIXED = {\n\t  bit: -1\n\t};\n\n\t/**\n\t * Returns the number of bits needed to store the data length\n\t * according to QR Code specifications.\n\t *\n\t * @param  {Mode}   mode    Data mode\n\t * @param  {Number} version QR Code version\n\t * @return {Number}         Number of bits\n\t */\n\texports.getCharCountIndicator = function getCharCountIndicator (mode, version) {\n\t  if (!mode.ccBits) throw new Error('Invalid mode: ' + mode)\n\n\t  if (!VersionCheck.isValid(version)) {\n\t    throw new Error('Invalid version: ' + version)\n\t  }\n\n\t  if (version >= 1 && version < 10) return mode.ccBits[0]\n\t  else if (version < 27) return mode.ccBits[1]\n\t  return mode.ccBits[2]\n\t};\n\n\t/**\n\t * Returns the most efficient mode to store the specified data\n\t *\n\t * @param  {String} dataStr Input data string\n\t * @return {Mode}           Best mode\n\t */\n\texports.getBestModeForData = function getBestModeForData (dataStr) {\n\t  if (Regex.testNumeric(dataStr)) return exports.NUMERIC\n\t  else if (Regex.testAlphanumeric(dataStr)) return exports.ALPHANUMERIC\n\t  else if (Regex.testKanji(dataStr)) return exports.KANJI\n\t  else return exports.BYTE\n\t};\n\n\t/**\n\t * Return mode name as string\n\t *\n\t * @param {Mode} mode Mode object\n\t * @returns {String}  Mode name\n\t */\n\texports.toString = function toString (mode) {\n\t  if (mode && mode.id) return mode.id\n\t  throw new Error('Invalid mode')\n\t};\n\n\t/**\n\t * Check if input param is a valid mode object\n\t *\n\t * @param   {Mode}    mode Mode object\n\t * @returns {Boolean} True if valid mode, false otherwise\n\t */\n\texports.isValid = function isValid (mode) {\n\t  return mode && mode.bit && mode.ccBits\n\t};\n\n\t/**\n\t * Get mode object from its name\n\t *\n\t * @param   {String} string Mode name\n\t * @returns {Mode}          Mode object\n\t */\n\tfunction fromString (string) {\n\t  if (typeof string !== 'string') {\n\t    throw new Error('Param is not a string')\n\t  }\n\n\t  var lcStr = string.toLowerCase();\n\n\t  switch (lcStr) {\n\t    case 'numeric':\n\t      return exports.NUMERIC\n\t    case 'alphanumeric':\n\t      return exports.ALPHANUMERIC\n\t    case 'kanji':\n\t      return exports.KANJI\n\t    case 'byte':\n\t      return exports.BYTE\n\t    default:\n\t      throw new Error('Unknown mode: ' + string)\n\t  }\n\t}\n\n\t/**\n\t * Returns mode from a value.\n\t * If value is not a valid mode, returns defaultValue\n\t *\n\t * @param  {Mode|String} value        Encoding mode\n\t * @param  {Mode}        defaultValue Fallback value\n\t * @return {Mode}                     Encoding mode\n\t */\n\texports.from = function from (value, defaultValue) {\n\t  if (exports.isValid(value)) {\n\t    return value\n\t  }\n\n\t  try {\n\t    return fromString(value)\n\t  } catch (e) {\n\t    return defaultValue\n\t  }\n\t};\n\n\t},{\"./regex\":19,\"./version-check\":22}],15:[function(require,module,exports){\n\tvar Mode = require('./mode');\n\n\tfunction NumericData (data) {\n\t  this.mode = Mode.NUMERIC;\n\t  this.data = data.toString();\n\t}\n\n\tNumericData.getBitsLength = function getBitsLength (length) {\n\t  return 10 * Math.floor(length / 3) + ((length % 3) ? ((length % 3) * 3 + 1) : 0)\n\t};\n\n\tNumericData.prototype.getLength = function getLength () {\n\t  return this.data.length\n\t};\n\n\tNumericData.prototype.getBitsLength = function getBitsLength () {\n\t  return NumericData.getBitsLength(this.data.length)\n\t};\n\n\tNumericData.prototype.write = function write (bitBuffer) {\n\t  var i, group, value;\n\n\t  // The input data string is divided into groups of three digits,\n\t  // and each group is converted to its 10-bit binary equivalent.\n\t  for (i = 0; i + 3 <= this.data.length; i += 3) {\n\t    group = this.data.substr(i, 3);\n\t    value = parseInt(group, 10);\n\n\t    bitBuffer.put(value, 10);\n\t  }\n\n\t  // If the number of input digits is not an exact multiple of three,\n\t  // the final one or two digits are converted to 4 or 7 bits respectively.\n\t  var remainingNum = this.data.length - i;\n\t  if (remainingNum > 0) {\n\t    group = this.data.substr(i);\n\t    value = parseInt(group, 10);\n\n\t    bitBuffer.put(value, remainingNum * 3 + 1);\n\t  }\n\t};\n\n\tmodule.exports = NumericData;\n\n\t},{\"./mode\":14}],16:[function(require,module,exports){\n\tvar BufferUtil = require('../utils/buffer');\n\tvar GF = require('./galois-field');\n\n\t/**\n\t * Multiplies two polynomials inside Galois Field\n\t *\n\t * @param  {Buffer} p1 Polynomial\n\t * @param  {Buffer} p2 Polynomial\n\t * @return {Buffer}    Product of p1 and p2\n\t */\n\texports.mul = function mul (p1, p2) {\n\t  var coeff = BufferUtil.alloc(p1.length + p2.length - 1);\n\n\t  for (var i = 0; i < p1.length; i++) {\n\t    for (var j = 0; j < p2.length; j++) {\n\t      coeff[i + j] ^= GF.mul(p1[i], p2[j]);\n\t    }\n\t  }\n\n\t  return coeff\n\t};\n\n\t/**\n\t * Calculate the remainder of polynomials division\n\t *\n\t * @param  {Buffer} divident Polynomial\n\t * @param  {Buffer} divisor  Polynomial\n\t * @return {Buffer}          Remainder\n\t */\n\texports.mod = function mod (divident, divisor) {\n\t  var result = BufferUtil.from(divident);\n\n\t  while ((result.length - divisor.length) >= 0) {\n\t    var coeff = result[0];\n\n\t    for (var i = 0; i < divisor.length; i++) {\n\t      result[i] ^= GF.mul(divisor[i], coeff);\n\t    }\n\n\t    // remove all zeros from buffer head\n\t    var offset = 0;\n\t    while (offset < result.length && result[offset] === 0) offset++;\n\t    result = result.slice(offset);\n\t  }\n\n\t  return result\n\t};\n\n\t/**\n\t * Generate an irreducible generator polynomial of specified degree\n\t * (used by Reed-Solomon encoder)\n\t *\n\t * @param  {Number} degree Degree of the generator polynomial\n\t * @return {Buffer}        Buffer containing polynomial coefficients\n\t */\n\texports.generateECPolynomial = function generateECPolynomial (degree) {\n\t  var poly = BufferUtil.from([1]);\n\t  for (var i = 0; i < degree; i++) {\n\t    poly = exports.mul(poly, [1, GF.exp(i)]);\n\t  }\n\n\t  return poly\n\t};\n\n\t},{\"../utils/buffer\":28,\"./galois-field\":11}],17:[function(require,module,exports){\n\tvar BufferUtil = require('../utils/buffer');\n\tvar Utils = require('./utils');\n\tvar ECLevel = require('./error-correction-level');\n\tvar BitBuffer = require('./bit-buffer');\n\tvar BitMatrix = require('./bit-matrix');\n\tvar AlignmentPattern = require('./alignment-pattern');\n\tvar FinderPattern = require('./finder-pattern');\n\tvar MaskPattern = require('./mask-pattern');\n\tvar ECCode = require('./error-correction-code');\n\tvar ReedSolomonEncoder = require('./reed-solomon-encoder');\n\tvar Version = require('./version');\n\tvar FormatInfo = require('./format-info');\n\tvar Mode = require('./mode');\n\tvar Segments = require('./segments');\n\tvar isArray = require('isarray');\n\n\t/**\n\t * QRCode for JavaScript\n\t *\n\t * modified by Ryan Day for nodejs support\n\t * Copyright (c) 2011 Ryan Day\n\t *\n\t * Licensed under the MIT license:\n\t *   http://www.opensource.org/licenses/mit-license.php\n\t *\n\t//---------------------------------------------------------------------\n\t// QRCode for JavaScript\n\t//\n\t// Copyright (c) 2009 Kazuhiko Arase\n\t//\n\t// URL: http://www.d-project.com/\n\t//\n\t// Licensed under the MIT license:\n\t//   http://www.opensource.org/licenses/mit-license.php\n\t//\n\t// The word \"QR Code\" is registered trademark of\n\t// DENSO WAVE INCORPORATED\n\t//   http://www.denso-wave.com/qrcode/faqpatent-e.html\n\t//\n\t//---------------------------------------------------------------------\n\t*/\n\n\t/**\n\t * Add finder patterns bits to matrix\n\t *\n\t * @param  {BitMatrix} matrix  Modules matrix\n\t * @param  {Number}    version QR Code version\n\t */\n\tfunction setupFinderPattern (matrix, version) {\n\t  var size = matrix.size;\n\t  var pos = FinderPattern.getPositions(version);\n\n\t  for (var i = 0; i < pos.length; i++) {\n\t    var row = pos[i][0];\n\t    var col = pos[i][1];\n\n\t    for (var r = -1; r <= 7; r++) {\n\t      if (row + r <= -1 || size <= row + r) continue\n\n\t      for (var c = -1; c <= 7; c++) {\n\t        if (col + c <= -1 || size <= col + c) continue\n\n\t        if ((r >= 0 && r <= 6 && (c === 0 || c === 6)) ||\n\t          (c >= 0 && c <= 6 && (r === 0 || r === 6)) ||\n\t          (r >= 2 && r <= 4 && c >= 2 && c <= 4)) {\n\t          matrix.set(row + r, col + c, true, true);\n\t        } else {\n\t          matrix.set(row + r, col + c, false, true);\n\t        }\n\t      }\n\t    }\n\t  }\n\t}\n\n\t/**\n\t * Add timing pattern bits to matrix\n\t *\n\t * Note: this function must be called before {@link setupAlignmentPattern}\n\t *\n\t * @param  {BitMatrix} matrix Modules matrix\n\t */\n\tfunction setupTimingPattern (matrix) {\n\t  var size = matrix.size;\n\n\t  for (var r = 8; r < size - 8; r++) {\n\t    var value = r % 2 === 0;\n\t    matrix.set(r, 6, value, true);\n\t    matrix.set(6, r, value, true);\n\t  }\n\t}\n\n\t/**\n\t * Add alignment patterns bits to matrix\n\t *\n\t * Note: this function must be called after {@link setupTimingPattern}\n\t *\n\t * @param  {BitMatrix} matrix  Modules matrix\n\t * @param  {Number}    version QR Code version\n\t */\n\tfunction setupAlignmentPattern (matrix, version) {\n\t  var pos = AlignmentPattern.getPositions(version);\n\n\t  for (var i = 0; i < pos.length; i++) {\n\t    var row = pos[i][0];\n\t    var col = pos[i][1];\n\n\t    for (var r = -2; r <= 2; r++) {\n\t      for (var c = -2; c <= 2; c++) {\n\t        if (r === -2 || r === 2 || c === -2 || c === 2 ||\n\t          (r === 0 && c === 0)) {\n\t          matrix.set(row + r, col + c, true, true);\n\t        } else {\n\t          matrix.set(row + r, col + c, false, true);\n\t        }\n\t      }\n\t    }\n\t  }\n\t}\n\n\t/**\n\t * Add version info bits to matrix\n\t *\n\t * @param  {BitMatrix} matrix  Modules matrix\n\t * @param  {Number}    version QR Code version\n\t */\n\tfunction setupVersionInfo (matrix, version) {\n\t  var size = matrix.size;\n\t  var bits = Version.getEncodedBits(version);\n\t  var row, col, mod;\n\n\t  for (var i = 0; i < 18; i++) {\n\t    row = Math.floor(i / 3);\n\t    col = i % 3 + size - 8 - 3;\n\t    mod = ((bits >> i) & 1) === 1;\n\n\t    matrix.set(row, col, mod, true);\n\t    matrix.set(col, row, mod, true);\n\t  }\n\t}\n\n\t/**\n\t * Add format info bits to matrix\n\t *\n\t * @param  {BitMatrix} matrix               Modules matrix\n\t * @param  {ErrorCorrectionLevel}    errorCorrectionLevel Error correction level\n\t * @param  {Number}    maskPattern          Mask pattern reference value\n\t */\n\tfunction setupFormatInfo (matrix, errorCorrectionLevel, maskPattern) {\n\t  var size = matrix.size;\n\t  var bits = FormatInfo.getEncodedBits(errorCorrectionLevel, maskPattern);\n\t  var i, mod;\n\n\t  for (i = 0; i < 15; i++) {\n\t    mod = ((bits >> i) & 1) === 1;\n\n\t    // vertical\n\t    if (i < 6) {\n\t      matrix.set(i, 8, mod, true);\n\t    } else if (i < 8) {\n\t      matrix.set(i + 1, 8, mod, true);\n\t    } else {\n\t      matrix.set(size - 15 + i, 8, mod, true);\n\t    }\n\n\t    // horizontal\n\t    if (i < 8) {\n\t      matrix.set(8, size - i - 1, mod, true);\n\t    } else if (i < 9) {\n\t      matrix.set(8, 15 - i - 1 + 1, mod, true);\n\t    } else {\n\t      matrix.set(8, 15 - i - 1, mod, true);\n\t    }\n\t  }\n\n\t  // fixed module\n\t  matrix.set(size - 8, 8, 1, true);\n\t}\n\n\t/**\n\t * Add encoded data bits to matrix\n\t *\n\t * @param  {BitMatrix} matrix Modules matrix\n\t * @param  {Buffer}    data   Data codewords\n\t */\n\tfunction setupData (matrix, data) {\n\t  var size = matrix.size;\n\t  var inc = -1;\n\t  var row = size - 1;\n\t  var bitIndex = 7;\n\t  var byteIndex = 0;\n\n\t  for (var col = size - 1; col > 0; col -= 2) {\n\t    if (col === 6) col--;\n\n\t    while (true) {\n\t      for (var c = 0; c < 2; c++) {\n\t        if (!matrix.isReserved(row, col - c)) {\n\t          var dark = false;\n\n\t          if (byteIndex < data.length) {\n\t            dark = (((data[byteIndex] >>> bitIndex) & 1) === 1);\n\t          }\n\n\t          matrix.set(row, col - c, dark);\n\t          bitIndex--;\n\n\t          if (bitIndex === -1) {\n\t            byteIndex++;\n\t            bitIndex = 7;\n\t          }\n\t        }\n\t      }\n\n\t      row += inc;\n\n\t      if (row < 0 || size <= row) {\n\t        row -= inc;\n\t        inc = -inc;\n\t        break\n\t      }\n\t    }\n\t  }\n\t}\n\n\t/**\n\t * Create encoded codewords from data input\n\t *\n\t * @param  {Number}   version              QR Code version\n\t * @param  {ErrorCorrectionLevel}   errorCorrectionLevel Error correction level\n\t * @param  {ByteData} data                 Data input\n\t * @return {Buffer}                        Buffer containing encoded codewords\n\t */\n\tfunction createData (version, errorCorrectionLevel, segments) {\n\t  // Prepare data buffer\n\t  var buffer = new BitBuffer();\n\n\t  segments.forEach(function (data) {\n\t    // prefix data with mode indicator (4 bits)\n\t    buffer.put(data.mode.bit, 4);\n\n\t    // Prefix data with character count indicator.\n\t    // The character count indicator is a string of bits that represents the\n\t    // number of characters that are being encoded.\n\t    // The character count indicator must be placed after the mode indicator\n\t    // and must be a certain number of bits long, depending on the QR version\n\t    // and data mode\n\t    // @see {@link Mode.getCharCountIndicator}.\n\t    buffer.put(data.getLength(), Mode.getCharCountIndicator(data.mode, version));\n\n\t    // add binary data sequence to buffer\n\t    data.write(buffer);\n\t  });\n\n\t  // Calculate required number of bits\n\t  var totalCodewords = Utils.getSymbolTotalCodewords(version);\n\t  var ecTotalCodewords = ECCode.getTotalCodewordsCount(version, errorCorrectionLevel);\n\t  var dataTotalCodewordsBits = (totalCodewords - ecTotalCodewords) * 8;\n\n\t  // Add a terminator.\n\t  // If the bit string is shorter than the total number of required bits,\n\t  // a terminator of up to four 0s must be added to the right side of the string.\n\t  // If the bit string is more than four bits shorter than the required number of bits,\n\t  // add four 0s to the end.\n\t  if (buffer.getLengthInBits() + 4 <= dataTotalCodewordsBits) {\n\t    buffer.put(0, 4);\n\t  }\n\n\t  // If the bit string is fewer than four bits shorter, add only the number of 0s that\n\t  // are needed to reach the required number of bits.\n\n\t  // After adding the terminator, if the number of bits in the string is not a multiple of 8,\n\t  // pad the string on the right with 0s to make the string's length a multiple of 8.\n\t  while (buffer.getLengthInBits() % 8 !== 0) {\n\t    buffer.putBit(0);\n\t  }\n\n\t  // Add pad bytes if the string is still shorter than the total number of required bits.\n\t  // Extend the buffer to fill the data capacity of the symbol corresponding to\n\t  // the Version and Error Correction Level by adding the Pad Codewords 11101100 (0xEC)\n\t  // and 00010001 (0x11) alternately.\n\t  var remainingByte = (dataTotalCodewordsBits - buffer.getLengthInBits()) / 8;\n\t  for (var i = 0; i < remainingByte; i++) {\n\t    buffer.put(i % 2 ? 0x11 : 0xEC, 8);\n\t  }\n\n\t  return createCodewords(buffer, version, errorCorrectionLevel)\n\t}\n\n\t/**\n\t * Encode input data with Reed-Solomon and return codewords with\n\t * relative error correction bits\n\t *\n\t * @param  {BitBuffer} bitBuffer            Data to encode\n\t * @param  {Number}    version              QR Code version\n\t * @param  {ErrorCorrectionLevel} errorCorrectionLevel Error correction level\n\t * @return {Buffer}                         Buffer containing encoded codewords\n\t */\n\tfunction createCodewords (bitBuffer, version, errorCorrectionLevel) {\n\t  // Total codewords for this QR code version (Data + Error correction)\n\t  var totalCodewords = Utils.getSymbolTotalCodewords(version);\n\n\t  // Total number of error correction codewords\n\t  var ecTotalCodewords = ECCode.getTotalCodewordsCount(version, errorCorrectionLevel);\n\n\t  // Total number of data codewords\n\t  var dataTotalCodewords = totalCodewords - ecTotalCodewords;\n\n\t  // Total number of blocks\n\t  var ecTotalBlocks = ECCode.getBlocksCount(version, errorCorrectionLevel);\n\n\t  // Calculate how many blocks each group should contain\n\t  var blocksInGroup2 = totalCodewords % ecTotalBlocks;\n\t  var blocksInGroup1 = ecTotalBlocks - blocksInGroup2;\n\n\t  var totalCodewordsInGroup1 = Math.floor(totalCodewords / ecTotalBlocks);\n\n\t  var dataCodewordsInGroup1 = Math.floor(dataTotalCodewords / ecTotalBlocks);\n\t  var dataCodewordsInGroup2 = dataCodewordsInGroup1 + 1;\n\n\t  // Number of EC codewords is the same for both groups\n\t  var ecCount = totalCodewordsInGroup1 - dataCodewordsInGroup1;\n\n\t  // Initialize a Reed-Solomon encoder with a generator polynomial of degree ecCount\n\t  var rs = new ReedSolomonEncoder(ecCount);\n\n\t  var offset = 0;\n\t  var dcData = new Array(ecTotalBlocks);\n\t  var ecData = new Array(ecTotalBlocks);\n\t  var maxDataSize = 0;\n\t  var buffer = BufferUtil.from(bitBuffer.buffer);\n\n\t  // Divide the buffer into the required number of blocks\n\t  for (var b = 0; b < ecTotalBlocks; b++) {\n\t    var dataSize = b < blocksInGroup1 ? dataCodewordsInGroup1 : dataCodewordsInGroup2;\n\n\t    // extract a block of data from buffer\n\t    dcData[b] = buffer.slice(offset, offset + dataSize);\n\n\t    // Calculate EC codewords for this data block\n\t    ecData[b] = rs.encode(dcData[b]);\n\n\t    offset += dataSize;\n\t    maxDataSize = Math.max(maxDataSize, dataSize);\n\t  }\n\n\t  // Create final data\n\t  // Interleave the data and error correction codewords from each block\n\t  var data = BufferUtil.alloc(totalCodewords);\n\t  var index = 0;\n\t  var i, r;\n\n\t  // Add data codewords\n\t  for (i = 0; i < maxDataSize; i++) {\n\t    for (r = 0; r < ecTotalBlocks; r++) {\n\t      if (i < dcData[r].length) {\n\t        data[index++] = dcData[r][i];\n\t      }\n\t    }\n\t  }\n\n\t  // Apped EC codewords\n\t  for (i = 0; i < ecCount; i++) {\n\t    for (r = 0; r < ecTotalBlocks; r++) {\n\t      data[index++] = ecData[r][i];\n\t    }\n\t  }\n\n\t  return data\n\t}\n\n\t/**\n\t * Build QR Code symbol\n\t *\n\t * @param  {String} data                 Input string\n\t * @param  {Number} version              QR Code version\n\t * @param  {ErrorCorretionLevel} errorCorrectionLevel Error level\n\t * @param  {MaskPattern} maskPattern     Mask pattern\n\t * @return {Object}                      Object containing symbol data\n\t */\n\tfunction createSymbol (data, version, errorCorrectionLevel, maskPattern) {\n\t  var segments;\n\n\t  if (isArray(data)) {\n\t    segments = Segments.fromArray(data);\n\t  } else if (typeof data === 'string') {\n\t    var estimatedVersion = version;\n\n\t    if (!estimatedVersion) {\n\t      var rawSegments = Segments.rawSplit(data);\n\n\t      // Estimate best version that can contain raw splitted segments\n\t      estimatedVersion = Version.getBestVersionForData(rawSegments,\n\t        errorCorrectionLevel);\n\t    }\n\n\t    // Build optimized segments\n\t    // If estimated version is undefined, try with the highest version\n\t    segments = Segments.fromString(data, estimatedVersion || 40);\n\t  } else {\n\t    throw new Error('Invalid data')\n\t  }\n\n\t  // Get the min version that can contain data\n\t  var bestVersion = Version.getBestVersionForData(segments,\n\t      errorCorrectionLevel);\n\n\t  // If no version is found, data cannot be stored\n\t  if (!bestVersion) {\n\t    throw new Error('The amount of data is too big to be stored in a QR Code')\n\t  }\n\n\t  // If not specified, use min version as default\n\t  if (!version) {\n\t    version = bestVersion;\n\n\t  // Check if the specified version can contain the data\n\t  } else if (version < bestVersion) {\n\t    throw new Error('\\n' +\n\t      'The chosen QR Code version cannot contain this amount of data.\\n' +\n\t      'Minimum version required to store current data is: ' + bestVersion + '.\\n'\n\t    )\n\t  }\n\n\t  var dataBits = createData(version, errorCorrectionLevel, segments);\n\n\t  // Allocate matrix buffer\n\t  var moduleCount = Utils.getSymbolSize(version);\n\t  var modules = new BitMatrix(moduleCount);\n\n\t  // Add function modules\n\t  setupFinderPattern(modules, version);\n\t  setupTimingPattern(modules);\n\t  setupAlignmentPattern(modules, version);\n\n\t  // Add temporary dummy bits for format info just to set them as reserved.\n\t  // This is needed to prevent these bits from being masked by {@link MaskPattern.applyMask}\n\t  // since the masking operation must be performed only on the encoding region.\n\t  // These blocks will be replaced with correct values later in code.\n\t  setupFormatInfo(modules, errorCorrectionLevel, 0);\n\n\t  if (version >= 7) {\n\t    setupVersionInfo(modules, version);\n\t  }\n\n\t  // Add data codewords\n\t  setupData(modules, dataBits);\n\n\t  if (isNaN(maskPattern)) {\n\t    // Find best mask pattern\n\t    maskPattern = MaskPattern.getBestMask(modules,\n\t      setupFormatInfo.bind(null, modules, errorCorrectionLevel));\n\t  }\n\n\t  // Apply mask pattern\n\t  MaskPattern.applyMask(maskPattern, modules);\n\n\t  // Replace format info bits with correct values\n\t  setupFormatInfo(modules, errorCorrectionLevel, maskPattern);\n\n\t  return {\n\t    modules: modules,\n\t    version: version,\n\t    errorCorrectionLevel: errorCorrectionLevel,\n\t    maskPattern: maskPattern,\n\t    segments: segments\n\t  }\n\t}\n\n\t/**\n\t * QR Code\n\t *\n\t * @param {String | Array} data                 Input data\n\t * @param {Object} options                      Optional configurations\n\t * @param {Number} options.version              QR Code version\n\t * @param {String} options.errorCorrectionLevel Error correction level\n\t * @param {Function} options.toSJISFunc         Helper func to convert utf8 to sjis\n\t */\n\texports.create = function create (data, options) {\n\t  if (typeof data === 'undefined' || data === '') {\n\t    throw new Error('No input text')\n\t  }\n\n\t  var errorCorrectionLevel = ECLevel.M;\n\t  var version;\n\t  var mask;\n\n\t  if (typeof options !== 'undefined') {\n\t    // Use higher error correction level as default\n\t    errorCorrectionLevel = ECLevel.from(options.errorCorrectionLevel, ECLevel.M);\n\t    version = Version.from(options.version);\n\t    mask = MaskPattern.from(options.maskPattern);\n\n\t    if (options.toSJISFunc) {\n\t      Utils.setToSJISFunction(options.toSJISFunc);\n\t    }\n\t  }\n\n\t  return createSymbol(data, version, errorCorrectionLevel, mask)\n\t};\n\n\t},{\"../utils/buffer\":28,\"./alignment-pattern\":2,\"./bit-buffer\":4,\"./bit-matrix\":5,\"./error-correction-code\":7,\"./error-correction-level\":8,\"./finder-pattern\":9,\"./format-info\":10,\"./mask-pattern\":13,\"./mode\":14,\"./reed-solomon-encoder\":18,\"./segments\":20,\"./utils\":21,\"./version\":23,\"isarray\":33}],18:[function(require,module,exports){\n\tvar BufferUtil = require('../utils/buffer');\n\tvar Polynomial = require('./polynomial');\n\tvar Buffer = require('buffer').Buffer;\n\n\tfunction ReedSolomonEncoder (degree) {\n\t  this.genPoly = undefined;\n\t  this.degree = degree;\n\n\t  if (this.degree) this.initialize(this.degree);\n\t}\n\n\t/**\n\t * Initialize the encoder.\n\t * The input param should correspond to the number of error correction codewords.\n\t *\n\t * @param  {Number} degree\n\t */\n\tReedSolomonEncoder.prototype.initialize = function initialize (degree) {\n\t  // create an irreducible generator polynomial\n\t  this.degree = degree;\n\t  this.genPoly = Polynomial.generateECPolynomial(this.degree);\n\t};\n\n\t/**\n\t * Encodes a chunk of data\n\t *\n\t * @param  {Buffer} data Buffer containing input data\n\t * @return {Buffer}      Buffer containing encoded data\n\t */\n\tReedSolomonEncoder.prototype.encode = function encode (data) {\n\t  if (!this.genPoly) {\n\t    throw new Error('Encoder not initialized')\n\t  }\n\n\t  // Calculate EC for this data block\n\t  // extends data size to data+genPoly size\n\t  var pad = BufferUtil.alloc(this.degree);\n\t  var paddedData = Buffer.concat([data, pad], data.length + this.degree);\n\n\t  // The error correction codewords are the remainder after dividing the data codewords\n\t  // by a generator polynomial\n\t  var remainder = Polynomial.mod(paddedData, this.genPoly);\n\n\t  // return EC data blocks (last n byte, where n is the degree of genPoly)\n\t  // If coefficients number in remainder are less than genPoly degree,\n\t  // pad with 0s to the left to reach the needed number of coefficients\n\t  var start = this.degree - remainder.length;\n\t  if (start > 0) {\n\t    var buff = BufferUtil.alloc(this.degree);\n\t    remainder.copy(buff, start);\n\n\t    return buff\n\t  }\n\n\t  return remainder\n\t};\n\n\tmodule.exports = ReedSolomonEncoder;\n\n\t},{\"../utils/buffer\":28,\"./polynomial\":16,\"buffer\":30}],19:[function(require,module,exports){\n\tvar numeric = '[0-9]+';\n\tvar alphanumeric = '[A-Z $%*+\\\\-./:]+';\n\tvar kanji = '(?:[u3000-u303F]|[u3040-u309F]|[u30A0-u30FF]|' +\n\t  '[uFF00-uFFEF]|[u4E00-u9FAF]|[u2605-u2606]|[u2190-u2195]|u203B|' +\n\t  '[u2010u2015u2018u2019u2025u2026u201Cu201Du2225u2260]|' +\n\t  '[u0391-u0451]|[u00A7u00A8u00B1u00B4u00D7u00F7])+';\n\tkanji = kanji.replace(/u/g, '\\\\u');\n\n\tvar byte = '(?:(?![A-Z0-9 $%*+\\\\-./:]|' + kanji + ')(?:.|[\\r\\n]))+';\n\n\texports.KANJI = new RegExp(kanji, 'g');\n\texports.BYTE_KANJI = new RegExp('[^A-Z0-9 $%*+\\\\-./:]+', 'g');\n\texports.BYTE = new RegExp(byte, 'g');\n\texports.NUMERIC = new RegExp(numeric, 'g');\n\texports.ALPHANUMERIC = new RegExp(alphanumeric, 'g');\n\n\tvar TEST_KANJI = new RegExp('^' + kanji + '$');\n\tvar TEST_NUMERIC = new RegExp('^' + numeric + '$');\n\tvar TEST_ALPHANUMERIC = new RegExp('^[A-Z0-9 $%*+\\\\-./:]+$');\n\n\texports.testKanji = function testKanji (str) {\n\t  return TEST_KANJI.test(str)\n\t};\n\n\texports.testNumeric = function testNumeric (str) {\n\t  return TEST_NUMERIC.test(str)\n\t};\n\n\texports.testAlphanumeric = function testAlphanumeric (str) {\n\t  return TEST_ALPHANUMERIC.test(str)\n\t};\n\n\t},{}],20:[function(require,module,exports){\n\tvar Mode = require('./mode');\n\tvar NumericData = require('./numeric-data');\n\tvar AlphanumericData = require('./alphanumeric-data');\n\tvar ByteData = require('./byte-data');\n\tvar KanjiData = require('./kanji-data');\n\tvar Regex = require('./regex');\n\tvar Utils = require('./utils');\n\tvar dijkstra = require('dijkstrajs');\n\n\t/**\n\t * Returns UTF8 byte length\n\t *\n\t * @param  {String} str Input string\n\t * @return {Number}     Number of byte\n\t */\n\tfunction getStringByteLength (str) {\n\t  return unescape(encodeURIComponent(str)).length\n\t}\n\n\t/**\n\t * Get a list of segments of the specified mode\n\t * from a string\n\t *\n\t * @param  {Mode}   mode Segment mode\n\t * @param  {String} str  String to process\n\t * @return {Array}       Array of object with segments data\n\t */\n\tfunction getSegments (regex, mode, str) {\n\t  var segments = [];\n\t  var result;\n\n\t  while ((result = regex.exec(str)) !== null) {\n\t    segments.push({\n\t      data: result[0],\n\t      index: result.index,\n\t      mode: mode,\n\t      length: result[0].length\n\t    });\n\t  }\n\n\t  return segments\n\t}\n\n\t/**\n\t * Extracts a series of segments with the appropriate\n\t * modes from a string\n\t *\n\t * @param  {String} dataStr Input string\n\t * @return {Array}          Array of object with segments data\n\t */\n\tfunction getSegmentsFromString (dataStr) {\n\t  var numSegs = getSegments(Regex.NUMERIC, Mode.NUMERIC, dataStr);\n\t  var alphaNumSegs = getSegments(Regex.ALPHANUMERIC, Mode.ALPHANUMERIC, dataStr);\n\t  var byteSegs;\n\t  var kanjiSegs;\n\n\t  if (Utils.isKanjiModeEnabled()) {\n\t    byteSegs = getSegments(Regex.BYTE, Mode.BYTE, dataStr);\n\t    kanjiSegs = getSegments(Regex.KANJI, Mode.KANJI, dataStr);\n\t  } else {\n\t    byteSegs = getSegments(Regex.BYTE_KANJI, Mode.BYTE, dataStr);\n\t    kanjiSegs = [];\n\t  }\n\n\t  var segs = numSegs.concat(alphaNumSegs, byteSegs, kanjiSegs);\n\n\t  return segs\n\t    .sort(function (s1, s2) {\n\t      return s1.index - s2.index\n\t    })\n\t    .map(function (obj) {\n\t      return {\n\t        data: obj.data,\n\t        mode: obj.mode,\n\t        length: obj.length\n\t      }\n\t    })\n\t}\n\n\t/**\n\t * Returns how many bits are needed to encode a string of\n\t * specified length with the specified mode\n\t *\n\t * @param  {Number} length String length\n\t * @param  {Mode} mode     Segment mode\n\t * @return {Number}        Bit length\n\t */\n\tfunction getSegmentBitsLength (length, mode) {\n\t  switch (mode) {\n\t    case Mode.NUMERIC:\n\t      return NumericData.getBitsLength(length)\n\t    case Mode.ALPHANUMERIC:\n\t      return AlphanumericData.getBitsLength(length)\n\t    case Mode.KANJI:\n\t      return KanjiData.getBitsLength(length)\n\t    case Mode.BYTE:\n\t      return ByteData.getBitsLength(length)\n\t  }\n\t}\n\n\t/**\n\t * Merges adjacent segments which have the same mode\n\t *\n\t * @param  {Array} segs Array of object with segments data\n\t * @return {Array}      Array of object with segments data\n\t */\n\tfunction mergeSegments (segs) {\n\t  return segs.reduce(function (acc, curr) {\n\t    var prevSeg = acc.length - 1 >= 0 ? acc[acc.length - 1] : null;\n\t    if (prevSeg && prevSeg.mode === curr.mode) {\n\t      acc[acc.length - 1].data += curr.data;\n\t      return acc\n\t    }\n\n\t    acc.push(curr);\n\t    return acc\n\t  }, [])\n\t}\n\n\t/**\n\t * Generates a list of all possible nodes combination which\n\t * will be used to build a segments graph.\n\t *\n\t * Nodes are divided by groups. Each group will contain a list of all the modes\n\t * in which is possible to encode the given text.\n\t *\n\t * For example the text '12345' can be encoded as Numeric, Alphanumeric or Byte.\n\t * The group for '12345' will contain then 3 objects, one for each\n\t * possible encoding mode.\n\t *\n\t * Each node represents a possible segment.\n\t *\n\t * @param  {Array} segs Array of object with segments data\n\t * @return {Array}      Array of object with segments data\n\t */\n\tfunction buildNodes (segs) {\n\t  var nodes = [];\n\t  for (var i = 0; i < segs.length; i++) {\n\t    var seg = segs[i];\n\n\t    switch (seg.mode) {\n\t      case Mode.NUMERIC:\n\t        nodes.push([seg,\n\t          { data: seg.data, mode: Mode.ALPHANUMERIC, length: seg.length },\n\t          { data: seg.data, mode: Mode.BYTE, length: seg.length }\n\t        ]);\n\t        break\n\t      case Mode.ALPHANUMERIC:\n\t        nodes.push([seg,\n\t          { data: seg.data, mode: Mode.BYTE, length: seg.length }\n\t        ]);\n\t        break\n\t      case Mode.KANJI:\n\t        nodes.push([seg,\n\t          { data: seg.data, mode: Mode.BYTE, length: getStringByteLength(seg.data) }\n\t        ]);\n\t        break\n\t      case Mode.BYTE:\n\t        nodes.push([\n\t          { data: seg.data, mode: Mode.BYTE, length: getStringByteLength(seg.data) }\n\t        ]);\n\t    }\n\t  }\n\n\t  return nodes\n\t}\n\n\t/**\n\t * Builds a graph from a list of nodes.\n\t * All segments in each node group will be connected with all the segments of\n\t * the next group and so on.\n\t *\n\t * At each connection will be assigned a weight depending on the\n\t * segment's byte length.\n\t *\n\t * @param  {Array} nodes    Array of object with segments data\n\t * @param  {Number} version QR Code version\n\t * @return {Object}         Graph of all possible segments\n\t */\n\tfunction buildGraph (nodes, version) {\n\t  var table = {};\n\t  var graph = {'start': {}};\n\t  var prevNodeIds = ['start'];\n\n\t  for (var i = 0; i < nodes.length; i++) {\n\t    var nodeGroup = nodes[i];\n\t    var currentNodeIds = [];\n\n\t    for (var j = 0; j < nodeGroup.length; j++) {\n\t      var node = nodeGroup[j];\n\t      var key = '' + i + j;\n\n\t      currentNodeIds.push(key);\n\t      table[key] = { node: node, lastCount: 0 };\n\t      graph[key] = {};\n\n\t      for (var n = 0; n < prevNodeIds.length; n++) {\n\t        var prevNodeId = prevNodeIds[n];\n\n\t        if (table[prevNodeId] && table[prevNodeId].node.mode === node.mode) {\n\t          graph[prevNodeId][key] =\n\t            getSegmentBitsLength(table[prevNodeId].lastCount + node.length, node.mode) -\n\t            getSegmentBitsLength(table[prevNodeId].lastCount, node.mode);\n\n\t          table[prevNodeId].lastCount += node.length;\n\t        } else {\n\t          if (table[prevNodeId]) table[prevNodeId].lastCount = node.length;\n\n\t          graph[prevNodeId][key] = getSegmentBitsLength(node.length, node.mode) +\n\t            4 + Mode.getCharCountIndicator(node.mode, version); // switch cost\n\t        }\n\t      }\n\t    }\n\n\t    prevNodeIds = currentNodeIds;\n\t  }\n\n\t  for (n = 0; n < prevNodeIds.length; n++) {\n\t    graph[prevNodeIds[n]]['end'] = 0;\n\t  }\n\n\t  return { map: graph, table: table }\n\t}\n\n\t/**\n\t * Builds a segment from a specified data and mode.\n\t * If a mode is not specified, the more suitable will be used.\n\t *\n\t * @param  {String} data             Input data\n\t * @param  {Mode | String} modesHint Data mode\n\t * @return {Segment}                 Segment\n\t */\n\tfunction buildSingleSegment (data, modesHint) {\n\t  var mode;\n\t  var bestMode = Mode.getBestModeForData(data);\n\n\t  mode = Mode.from(modesHint, bestMode);\n\n\t  // Make sure data can be encoded\n\t  if (mode !== Mode.BYTE && mode.bit < bestMode.bit) {\n\t    throw new Error('\"' + data + '\"' +\n\t      ' cannot be encoded with mode ' + Mode.toString(mode) +\n\t      '.\\n Suggested mode is: ' + Mode.toString(bestMode))\n\t  }\n\n\t  // Use Mode.BYTE if Kanji support is disabled\n\t  if (mode === Mode.KANJI && !Utils.isKanjiModeEnabled()) {\n\t    mode = Mode.BYTE;\n\t  }\n\n\t  switch (mode) {\n\t    case Mode.NUMERIC:\n\t      return new NumericData(data)\n\n\t    case Mode.ALPHANUMERIC:\n\t      return new AlphanumericData(data)\n\n\t    case Mode.KANJI:\n\t      return new KanjiData(data)\n\n\t    case Mode.BYTE:\n\t      return new ByteData(data)\n\t  }\n\t}\n\n\t/**\n\t * Builds a list of segments from an array.\n\t * Array can contain Strings or Objects with segment's info.\n\t *\n\t * For each item which is a string, will be generated a segment with the given\n\t * string and the more appropriate encoding mode.\n\t *\n\t * For each item which is an object, will be generated a segment with the given\n\t * data and mode.\n\t * Objects must contain at least the property \"data\".\n\t * If property \"mode\" is not present, the more suitable mode will be used.\n\t *\n\t * @param  {Array} array Array of objects with segments data\n\t * @return {Array}       Array of Segments\n\t */\n\texports.fromArray = function fromArray (array) {\n\t  return array.reduce(function (acc, seg) {\n\t    if (typeof seg === 'string') {\n\t      acc.push(buildSingleSegment(seg, null));\n\t    } else if (seg.data) {\n\t      acc.push(buildSingleSegment(seg.data, seg.mode));\n\t    }\n\n\t    return acc\n\t  }, [])\n\t};\n\n\t/**\n\t * Builds an optimized sequence of segments from a string,\n\t * which will produce the shortest possible bitstream.\n\t *\n\t * @param  {String} data    Input string\n\t * @param  {Number} version QR Code version\n\t * @return {Array}          Array of segments\n\t */\n\texports.fromString = function fromString (data, version) {\n\t  var segs = getSegmentsFromString(data, Utils.isKanjiModeEnabled());\n\n\t  var nodes = buildNodes(segs);\n\t  var graph = buildGraph(nodes, version);\n\t  var path = dijkstra.find_path(graph.map, 'start', 'end');\n\n\t  var optimizedSegs = [];\n\t  for (var i = 1; i < path.length - 1; i++) {\n\t    optimizedSegs.push(graph.table[path[i]].node);\n\t  }\n\n\t  return exports.fromArray(mergeSegments(optimizedSegs))\n\t};\n\n\t/**\n\t * Splits a string in various segments with the modes which\n\t * best represent their content.\n\t * The produced segments are far from being optimized.\n\t * The output of this function is only used to estimate a QR Code version\n\t * which may contain the data.\n\t *\n\t * @param  {string} data Input string\n\t * @return {Array}       Array of segments\n\t */\n\texports.rawSplit = function rawSplit (data) {\n\t  return exports.fromArray(\n\t    getSegmentsFromString(data, Utils.isKanjiModeEnabled())\n\t  )\n\t};\n\n\t},{\"./alphanumeric-data\":3,\"./byte-data\":6,\"./kanji-data\":12,\"./mode\":14,\"./numeric-data\":15,\"./regex\":19,\"./utils\":21,\"dijkstrajs\":31}],21:[function(require,module,exports){\n\tvar toSJISFunction;\n\tvar CODEWORDS_COUNT = [\n\t  0, // Not used\n\t  26, 44, 70, 100, 134, 172, 196, 242, 292, 346,\n\t  404, 466, 532, 581, 655, 733, 815, 901, 991, 1085,\n\t  1156, 1258, 1364, 1474, 1588, 1706, 1828, 1921, 2051, 2185,\n\t  2323, 2465, 2611, 2761, 2876, 3034, 3196, 3362, 3532, 3706\n\t];\n\n\t/**\n\t * Returns the QR Code size for the specified version\n\t *\n\t * @param  {Number} version QR Code version\n\t * @return {Number}         size of QR code\n\t */\n\texports.getSymbolSize = function getSymbolSize (version) {\n\t  if (!version) throw new Error('\"version\" cannot be null or undefined')\n\t  if (version < 1 || version > 40) throw new Error('\"version\" should be in range from 1 to 40')\n\t  return version * 4 + 17\n\t};\n\n\t/**\n\t * Returns the total number of codewords used to store data and EC information.\n\t *\n\t * @param  {Number} version QR Code version\n\t * @return {Number}         Data length in bits\n\t */\n\texports.getSymbolTotalCodewords = function getSymbolTotalCodewords (version) {\n\t  return CODEWORDS_COUNT[version]\n\t};\n\n\t/**\n\t * Encode data with Bose-Chaudhuri-Hocquenghem\n\t *\n\t * @param  {Number} data Value to encode\n\t * @return {Number}      Encoded value\n\t */\n\texports.getBCHDigit = function (data) {\n\t  var digit = 0;\n\n\t  while (data !== 0) {\n\t    digit++;\n\t    data >>>= 1;\n\t  }\n\n\t  return digit\n\t};\n\n\texports.setToSJISFunction = function setToSJISFunction (f) {\n\t  if (typeof f !== 'function') {\n\t    throw new Error('\"toSJISFunc\" is not a valid function.')\n\t  }\n\n\t  toSJISFunction = f;\n\t};\n\n\texports.isKanjiModeEnabled = function () {\n\t  return typeof toSJISFunction !== 'undefined'\n\t};\n\n\texports.toSJIS = function toSJIS (kanji) {\n\t  return toSJISFunction(kanji)\n\t};\n\n\t},{}],22:[function(require,module,exports){\n\t/**\n\t * Check if QR Code version is valid\n\t *\n\t * @param  {Number}  version QR Code version\n\t * @return {Boolean}         true if valid version, false otherwise\n\t */\n\texports.isValid = function isValid (version) {\n\t  return !isNaN(version) && version >= 1 && version <= 40\n\t};\n\n\t},{}],23:[function(require,module,exports){\n\tvar Utils = require('./utils');\n\tvar ECCode = require('./error-correction-code');\n\tvar ECLevel = require('./error-correction-level');\n\tvar Mode = require('./mode');\n\tvar VersionCheck = require('./version-check');\n\tvar isArray = require('isarray');\n\n\t// Generator polynomial used to encode version information\n\tvar G18 = (1 << 12) | (1 << 11) | (1 << 10) | (1 << 9) | (1 << 8) | (1 << 5) | (1 << 2) | (1 << 0);\n\tvar G18_BCH = Utils.getBCHDigit(G18);\n\n\tfunction getBestVersionForDataLength (mode, length, errorCorrectionLevel) {\n\t  for (var currentVersion = 1; currentVersion <= 40; currentVersion++) {\n\t    if (length <= exports.getCapacity(currentVersion, errorCorrectionLevel, mode)) {\n\t      return currentVersion\n\t    }\n\t  }\n\n\t  return undefined\n\t}\n\n\tfunction getReservedBitsCount (mode, version) {\n\t  // Character count indicator + mode indicator bits\n\t  return Mode.getCharCountIndicator(mode, version) + 4\n\t}\n\n\tfunction getTotalBitsFromDataArray (segments, version) {\n\t  var totalBits = 0;\n\n\t  segments.forEach(function (data) {\n\t    var reservedBits = getReservedBitsCount(data.mode, version);\n\t    totalBits += reservedBits + data.getBitsLength();\n\t  });\n\n\t  return totalBits\n\t}\n\n\tfunction getBestVersionForMixedData (segments, errorCorrectionLevel) {\n\t  for (var currentVersion = 1; currentVersion <= 40; currentVersion++) {\n\t    var length = getTotalBitsFromDataArray(segments, currentVersion);\n\t    if (length <= exports.getCapacity(currentVersion, errorCorrectionLevel, Mode.MIXED)) {\n\t      return currentVersion\n\t    }\n\t  }\n\n\t  return undefined\n\t}\n\n\t/**\n\t * Returns version number from a value.\n\t * If value is not a valid version, returns defaultValue\n\t *\n\t * @param  {Number|String} value        QR Code version\n\t * @param  {Number}        defaultValue Fallback value\n\t * @return {Number}                     QR Code version number\n\t */\n\texports.from = function from (value, defaultValue) {\n\t  if (VersionCheck.isValid(value)) {\n\t    return parseInt(value, 10)\n\t  }\n\n\t  return defaultValue\n\t};\n\n\t/**\n\t * Returns how much data can be stored with the specified QR code version\n\t * and error correction level\n\t *\n\t * @param  {Number} version              QR Code version (1-40)\n\t * @param  {Number} errorCorrectionLevel Error correction level\n\t * @param  {Mode}   mode                 Data mode\n\t * @return {Number}                      Quantity of storable data\n\t */\n\texports.getCapacity = function getCapacity (version, errorCorrectionLevel, mode) {\n\t  if (!VersionCheck.isValid(version)) {\n\t    throw new Error('Invalid QR Code version')\n\t  }\n\n\t  // Use Byte mode as default\n\t  if (typeof mode === 'undefined') mode = Mode.BYTE;\n\n\t  // Total codewords for this QR code version (Data + Error correction)\n\t  var totalCodewords = Utils.getSymbolTotalCodewords(version);\n\n\t  // Total number of error correction codewords\n\t  var ecTotalCodewords = ECCode.getTotalCodewordsCount(version, errorCorrectionLevel);\n\n\t  // Total number of data codewords\n\t  var dataTotalCodewordsBits = (totalCodewords - ecTotalCodewords) * 8;\n\n\t  if (mode === Mode.MIXED) return dataTotalCodewordsBits\n\n\t  var usableBits = dataTotalCodewordsBits - getReservedBitsCount(mode, version);\n\n\t  // Return max number of storable codewords\n\t  switch (mode) {\n\t    case Mode.NUMERIC:\n\t      return Math.floor((usableBits / 10) * 3)\n\n\t    case Mode.ALPHANUMERIC:\n\t      return Math.floor((usableBits / 11) * 2)\n\n\t    case Mode.KANJI:\n\t      return Math.floor(usableBits / 13)\n\n\t    case Mode.BYTE:\n\t    default:\n\t      return Math.floor(usableBits / 8)\n\t  }\n\t};\n\n\t/**\n\t * Returns the minimum version needed to contain the amount of data\n\t *\n\t * @param  {Segment} data                    Segment of data\n\t * @param  {Number} [errorCorrectionLevel=H] Error correction level\n\t * @param  {Mode} mode                       Data mode\n\t * @return {Number}                          QR Code version\n\t */\n\texports.getBestVersionForData = function getBestVersionForData (data, errorCorrectionLevel) {\n\t  var seg;\n\n\t  var ecl = ECLevel.from(errorCorrectionLevel, ECLevel.M);\n\n\t  if (isArray(data)) {\n\t    if (data.length > 1) {\n\t      return getBestVersionForMixedData(data, ecl)\n\t    }\n\n\t    if (data.length === 0) {\n\t      return 1\n\t    }\n\n\t    seg = data[0];\n\t  } else {\n\t    seg = data;\n\t  }\n\n\t  return getBestVersionForDataLength(seg.mode, seg.getLength(), ecl)\n\t};\n\n\t/**\n\t * Returns version information with relative error correction bits\n\t *\n\t * The version information is included in QR Code symbols of version 7 or larger.\n\t * It consists of an 18-bit sequence containing 6 data bits,\n\t * with 12 error correction bits calculated using the (18, 6) Golay code.\n\t *\n\t * @param  {Number} version QR Code version\n\t * @return {Number}         Encoded version info bits\n\t */\n\texports.getEncodedBits = function getEncodedBits (version) {\n\t  if (!VersionCheck.isValid(version) || version < 7) {\n\t    throw new Error('Invalid QR Code version')\n\t  }\n\n\t  var d = version << 12;\n\n\t  while (Utils.getBCHDigit(d) - G18_BCH >= 0) {\n\t    d ^= (G18 << (Utils.getBCHDigit(d) - G18_BCH));\n\t  }\n\n\t  return (version << 12) | d\n\t};\n\n\t},{\"./error-correction-code\":7,\"./error-correction-level\":8,\"./mode\":14,\"./utils\":21,\"./version-check\":22,\"isarray\":33}],24:[function(require,module,exports){\n\n\tvar canPromise = require('./can-promise');\n\n\tvar QRCode = require('./core/qrcode');\n\tvar CanvasRenderer = require('./renderer/canvas');\n\tvar SvgRenderer = require('./renderer/svg-tag.js');\n\n\tfunction renderCanvas (renderFunc, canvas, text, opts, cb) {\n\t  var args = [].slice.call(arguments, 1);\n\t  var argsNum = args.length;\n\t  var isLastArgCb = typeof args[argsNum - 1] === 'function';\n\n\t  if (!isLastArgCb && !canPromise()) {\n\t    throw new Error('Callback required as last argument')\n\t  }\n\n\t  if (isLastArgCb) {\n\t    if (argsNum < 2) {\n\t      throw new Error('Too few arguments provided')\n\t    }\n\n\t    if (argsNum === 2) {\n\t      cb = text;\n\t      text = canvas;\n\t      canvas = opts = undefined;\n\t    } else if (argsNum === 3) {\n\t      if (canvas.getContext && typeof cb === 'undefined') {\n\t        cb = opts;\n\t        opts = undefined;\n\t      } else {\n\t        cb = opts;\n\t        opts = text;\n\t        text = canvas;\n\t        canvas = undefined;\n\t      }\n\t    }\n\t  } else {\n\t    if (argsNum < 1) {\n\t      throw new Error('Too few arguments provided')\n\t    }\n\n\t    if (argsNum === 1) {\n\t      text = canvas;\n\t      canvas = opts = undefined;\n\t    } else if (argsNum === 2 && !canvas.getContext) {\n\t      opts = text;\n\t      text = canvas;\n\t      canvas = undefined;\n\t    }\n\n\t    return new Promise(function (resolve, reject) {\n\t      try {\n\t        var data = QRCode.create(text, opts);\n\t        resolve(renderFunc(data, canvas, opts));\n\t      } catch (e) {\n\t        reject(e);\n\t      }\n\t    })\n\t  }\n\n\t  try {\n\t    var data = QRCode.create(text, opts);\n\t    cb(null, renderFunc(data, canvas, opts));\n\t  } catch (e) {\n\t    cb(e);\n\t  }\n\t}\n\n\texports.create = QRCode.create;\n\texports.toCanvas = renderCanvas.bind(null, CanvasRenderer.render);\n\texports.toDataURL = renderCanvas.bind(null, CanvasRenderer.renderToDataURL);\n\n\t// only svg for now.\n\texports.toString = renderCanvas.bind(null, function (data, _, opts) {\n\t  return SvgRenderer.render(data, opts)\n\t});\n\n\t},{\"./can-promise\":1,\"./core/qrcode\":17,\"./renderer/canvas\":25,\"./renderer/svg-tag.js\":26}],25:[function(require,module,exports){\n\tvar Utils = require('./utils');\n\n\tfunction clearCanvas (ctx, canvas, size) {\n\t  ctx.clearRect(0, 0, canvas.width, canvas.height);\n\n\t  if (!canvas.style) canvas.style = {};\n\t  canvas.height = size;\n\t  canvas.width = size;\n\t  canvas.style.height = size + 'px';\n\t  canvas.style.width = size + 'px';\n\t}\n\n\tfunction getCanvasElement () {\n\t  try {\n\t    return document.createElement('canvas')\n\t  } catch (e) {\n\t    throw new Error('You need to specify a canvas element')\n\t  }\n\t}\n\n\texports.render = function render (qrData, canvas, options) {\n\t  var opts = options;\n\t  var canvasEl = canvas;\n\n\t  if (typeof opts === 'undefined' && (!canvas || !canvas.getContext)) {\n\t    opts = canvas;\n\t    canvas = undefined;\n\t  }\n\n\t  if (!canvas) {\n\t    canvasEl = getCanvasElement();\n\t  }\n\n\t  opts = Utils.getOptions(opts);\n\t  var size = Utils.getImageWidth(qrData.modules.size, opts);\n\n\t  var ctx = canvasEl.getContext('2d');\n\t  var image = ctx.createImageData(size, size);\n\t  Utils.qrToImageData(image.data, qrData, opts);\n\n\t  clearCanvas(ctx, canvasEl, size);\n\t  ctx.putImageData(image, 0, 0);\n\n\t  return canvasEl\n\t};\n\n\texports.renderToDataURL = function renderToDataURL (qrData, canvas, options) {\n\t  var opts = options;\n\n\t  if (typeof opts === 'undefined' && (!canvas || !canvas.getContext)) {\n\t    opts = canvas;\n\t    canvas = undefined;\n\t  }\n\n\t  if (!opts) opts = {};\n\n\t  var canvasEl = exports.render(qrData, canvas, opts);\n\n\t  var type = opts.type || 'image/png';\n\t  var rendererOpts = opts.rendererOpts || {};\n\n\t  return canvasEl.toDataURL(type, rendererOpts.quality)\n\t};\n\n\t},{\"./utils\":27}],26:[function(require,module,exports){\n\tvar Utils = require('./utils');\n\n\tfunction getColorAttrib (color, attrib) {\n\t  var alpha = color.a / 255;\n\t  var str = attrib + '=\"' + color.hex + '\"';\n\n\t  return alpha < 1\n\t    ? str + ' ' + attrib + '-opacity=\"' + alpha.toFixed(2).slice(1) + '\"'\n\t    : str\n\t}\n\n\tfunction svgCmd (cmd, x, y) {\n\t  var str = cmd + x;\n\t  if (typeof y !== 'undefined') str += ' ' + y;\n\n\t  return str\n\t}\n\n\tfunction qrToPath (data, size, margin) {\n\t  var path = '';\n\t  var moveBy = 0;\n\t  var newRow = false;\n\t  var lineLength = 0;\n\n\t  for (var i = 0; i < data.length; i++) {\n\t    var col = Math.floor(i % size);\n\t    var row = Math.floor(i / size);\n\n\t    if (!col && !newRow) newRow = true;\n\n\t    if (data[i]) {\n\t      lineLength++;\n\n\t      if (!(i > 0 && col > 0 && data[i - 1])) {\n\t        path += newRow\n\t          ? svgCmd('M', col + margin, 0.5 + row + margin)\n\t          : svgCmd('m', moveBy, 0);\n\n\t        moveBy = 0;\n\t        newRow = false;\n\t      }\n\n\t      if (!(col + 1 < size && data[i + 1])) {\n\t        path += svgCmd('h', lineLength);\n\t        lineLength = 0;\n\t      }\n\t    } else {\n\t      moveBy++;\n\t    }\n\t  }\n\n\t  return path\n\t}\n\n\texports.render = function render (qrData, options, cb) {\n\t  var opts = Utils.getOptions(options);\n\t  var size = qrData.modules.size;\n\t  var data = qrData.modules.data;\n\t  var qrcodesize = size + opts.margin * 2;\n\n\t  var bg = !opts.color.light.a\n\t    ? ''\n\t    : '<path ' + getColorAttrib(opts.color.light, 'fill') +\n\t      ' d=\"M0 0h' + qrcodesize + 'v' + qrcodesize + 'H0z\"/>';\n\n\t  var path =\n\t    '<path ' + getColorAttrib(opts.color.dark, 'stroke') +\n\t    ' d=\"' + qrToPath(data, size, opts.margin) + '\"/>';\n\n\t  var viewBox = 'viewBox=\"' + '0 0 ' + qrcodesize + ' ' + qrcodesize + '\"';\n\n\t  var width = !opts.width ? '' : 'width=\"' + opts.width + '\" height=\"' + opts.width + '\" ';\n\n\t  var svgTag = '<svg xmlns=\"http://www.w3.org/2000/svg\" ' + width + viewBox + ' shape-rendering=\"crispEdges\">' + bg + path + '</svg>\\n';\n\n\t  if (typeof cb === 'function') {\n\t    cb(null, svgTag);\n\t  }\n\n\t  return svgTag\n\t};\n\n\t},{\"./utils\":27}],27:[function(require,module,exports){\n\tfunction hex2rgba (hex) {\n\t  if (typeof hex === 'number') {\n\t    hex = hex.toString();\n\t  }\n\n\t  if (typeof hex !== 'string') {\n\t    throw new Error('Color should be defined as hex string')\n\t  }\n\n\t  var hexCode = hex.slice().replace('#', '').split('');\n\t  if (hexCode.length < 3 || hexCode.length === 5 || hexCode.length > 8) {\n\t    throw new Error('Invalid hex color: ' + hex)\n\t  }\n\n\t  // Convert from short to long form (fff -> ffffff)\n\t  if (hexCode.length === 3 || hexCode.length === 4) {\n\t    hexCode = Array.prototype.concat.apply([], hexCode.map(function (c) {\n\t      return [c, c]\n\t    }));\n\t  }\n\n\t  // Add default alpha value\n\t  if (hexCode.length === 6) hexCode.push('F', 'F');\n\n\t  var hexValue = parseInt(hexCode.join(''), 16);\n\n\t  return {\n\t    r: (hexValue >> 24) & 255,\n\t    g: (hexValue >> 16) & 255,\n\t    b: (hexValue >> 8) & 255,\n\t    a: hexValue & 255,\n\t    hex: '#' + hexCode.slice(0, 6).join('')\n\t  }\n\t}\n\n\texports.getOptions = function getOptions (options) {\n\t  if (!options) options = {};\n\t  if (!options.color) options.color = {};\n\n\t  var margin = typeof options.margin === 'undefined' ||\n\t    options.margin === null ||\n\t    options.margin < 0 ? 4 : options.margin;\n\n\t  var width = options.width && options.width >= 21 ? options.width : undefined;\n\t  var scale = options.scale || 4;\n\n\t  return {\n\t    width: width,\n\t    scale: width ? 4 : scale,\n\t    margin: margin,\n\t    color: {\n\t      dark: hex2rgba(options.color.dark || '#000000ff'),\n\t      light: hex2rgba(options.color.light || '#ffffffff')\n\t    },\n\t    type: options.type,\n\t    rendererOpts: options.rendererOpts || {}\n\t  }\n\t};\n\n\texports.getScale = function getScale (qrSize, opts) {\n\t  return opts.width && opts.width >= qrSize + opts.margin * 2\n\t    ? opts.width / (qrSize + opts.margin * 2)\n\t    : opts.scale\n\t};\n\n\texports.getImageWidth = function getImageWidth (qrSize, opts) {\n\t  var scale = exports.getScale(qrSize, opts);\n\t  return Math.floor((qrSize + opts.margin * 2) * scale)\n\t};\n\n\texports.qrToImageData = function qrToImageData (imgData, qr, opts) {\n\t  var size = qr.modules.size;\n\t  var data = qr.modules.data;\n\t  var scale = exports.getScale(size, opts);\n\t  var symbolSize = Math.floor((size + opts.margin * 2) * scale);\n\t  var scaledMargin = opts.margin * scale;\n\t  var palette = [opts.color.light, opts.color.dark];\n\n\t  for (var i = 0; i < symbolSize; i++) {\n\t    for (var j = 0; j < symbolSize; j++) {\n\t      var posDst = (i * symbolSize + j) * 4;\n\t      var pxColor = opts.color.light;\n\n\t      if (i >= scaledMargin && j >= scaledMargin &&\n\t        i < symbolSize - scaledMargin && j < symbolSize - scaledMargin) {\n\t        var iSrc = Math.floor((i - scaledMargin) / scale);\n\t        var jSrc = Math.floor((j - scaledMargin) / scale);\n\t        pxColor = palette[data[iSrc * size + jSrc] ? 1 : 0];\n\t      }\n\n\t      imgData[posDst++] = pxColor.r;\n\t      imgData[posDst++] = pxColor.g;\n\t      imgData[posDst++] = pxColor.b;\n\t      imgData[posDst] = pxColor.a;\n\t    }\n\t  }\n\t};\n\n\t},{}],28:[function(require,module,exports){\n\n\tvar isArray = require('isarray');\n\n\tfunction typedArraySupport () {\n\t  // Can typed array instances be augmented?\n\t  try {\n\t    var arr = new Uint8Array(1);\n\t    arr.__proto__ = {__proto__: Uint8Array.prototype, foo: function () { return 42 }};\n\t    return arr.foo() === 42\n\t  } catch (e) {\n\t    return false\n\t  }\n\t}\n\n\tBuffer.TYPED_ARRAY_SUPPORT = typedArraySupport();\n\n\tvar K_MAX_LENGTH = Buffer.TYPED_ARRAY_SUPPORT\n\t    ? 0x7fffffff\n\t    : 0x3fffffff;\n\n\tfunction Buffer (arg, offset, length) {\n\t  if (!Buffer.TYPED_ARRAY_SUPPORT && !(this instanceof Buffer)) {\n\t    return new Buffer(arg, offset, length)\n\t  }\n\n\t  if (typeof arg === 'number') {\n\t    return allocUnsafe(this, arg)\n\t  }\n\n\t  return from(this, arg, offset, length)\n\t}\n\n\tif (Buffer.TYPED_ARRAY_SUPPORT) {\n\t  Buffer.prototype.__proto__ = Uint8Array.prototype;\n\t  Buffer.__proto__ = Uint8Array;\n\n\t  // Fix subarray() in ES2016. See: https://github.com/feross/buffer/pull/97\n\t  if (typeof Symbol !== 'undefined' && Symbol.species &&\n\t      Buffer[Symbol.species] === Buffer) {\n\t    Object.defineProperty(Buffer, Symbol.species, {\n\t      value: null,\n\t      configurable: true,\n\t      enumerable: false,\n\t      writable: false\n\t    });\n\t  }\n\t}\n\n\tfunction checked (length) {\n\t  // Note: cannot use `length < K_MAX_LENGTH` here because that fails when\n\t  // length is NaN (which is otherwise coerced to zero.)\n\t  if (length >= K_MAX_LENGTH) {\n\t    throw new RangeError('Attempt to allocate Buffer larger than maximum ' +\n\t                         'size: 0x' + K_MAX_LENGTH.toString(16) + ' bytes')\n\t  }\n\t  return length | 0\n\t}\n\n\tfunction isnan (val) {\n\t  return val !== val // eslint-disable-line no-self-compare\n\t}\n\n\tfunction createBuffer (that, length) {\n\t  var buf;\n\t  if (Buffer.TYPED_ARRAY_SUPPORT) {\n\t    buf = new Uint8Array(length);\n\t    buf.__proto__ = Buffer.prototype;\n\t  } else {\n\t    // Fallback: Return an object instance of the Buffer class\n\t    buf = that;\n\t    if (buf === null) {\n\t      buf = new Buffer(length);\n\t    }\n\t    buf.length = length;\n\t  }\n\n\t  return buf\n\t}\n\n\tfunction allocUnsafe (that, size) {\n\t  var buf = createBuffer(that, size < 0 ? 0 : checked(size) | 0);\n\n\t  if (!Buffer.TYPED_ARRAY_SUPPORT) {\n\t    for (var i = 0; i < size; ++i) {\n\t      buf[i] = 0;\n\t    }\n\t  }\n\n\t  return buf\n\t}\n\n\tfunction fromString (that, string) {\n\t  var length = byteLength(string) | 0;\n\t  var buf = createBuffer(that, length);\n\n\t  var actual = buf.write(string);\n\n\t  if (actual !== length) {\n\t    // Writing a hex string, for example, that contains invalid characters will\n\t    // cause everything after the first invalid character to be ignored. (e.g.\n\t    // 'abxxcd' will be treated as 'ab')\n\t    buf = buf.slice(0, actual);\n\t  }\n\n\t  return buf\n\t}\n\n\tfunction fromArrayLike (that, array) {\n\t  var length = array.length < 0 ? 0 : checked(array.length) | 0;\n\t  var buf = createBuffer(that, length);\n\t  for (var i = 0; i < length; i += 1) {\n\t    buf[i] = array[i] & 255;\n\t  }\n\t  return buf\n\t}\n\n\tfunction fromArrayBuffer (that, array, byteOffset, length) {\n\t  if (byteOffset < 0 || array.byteLength < byteOffset) {\n\t    throw new RangeError('\\'offset\\' is out of bounds')\n\t  }\n\n\t  if (array.byteLength < byteOffset + (length || 0)) {\n\t    throw new RangeError('\\'length\\' is out of bounds')\n\t  }\n\n\t  var buf;\n\t  if (byteOffset === undefined && length === undefined) {\n\t    buf = new Uint8Array(array);\n\t  } else if (length === undefined) {\n\t    buf = new Uint8Array(array, byteOffset);\n\t  } else {\n\t    buf = new Uint8Array(array, byteOffset, length);\n\t  }\n\n\t  if (Buffer.TYPED_ARRAY_SUPPORT) {\n\t    // Return an augmented `Uint8Array` instance, for best performance\n\t    buf.__proto__ = Buffer.prototype;\n\t  } else {\n\t    // Fallback: Return an object instance of the Buffer class\n\t    buf = fromArrayLike(that, buf);\n\t  }\n\n\t  return buf\n\t}\n\n\tfunction fromObject (that, obj) {\n\t  if (Buffer.isBuffer(obj)) {\n\t    var len = checked(obj.length) | 0;\n\t    var buf = createBuffer(that, len);\n\n\t    if (buf.length === 0) {\n\t      return buf\n\t    }\n\n\t    obj.copy(buf, 0, 0, len);\n\t    return buf\n\t  }\n\n\t  if (obj) {\n\t    if ((typeof ArrayBuffer !== 'undefined' &&\n\t        obj.buffer instanceof ArrayBuffer) || 'length' in obj) {\n\t      if (typeof obj.length !== 'number' || isnan(obj.length)) {\n\t        return createBuffer(that, 0)\n\t      }\n\t      return fromArrayLike(that, obj)\n\t    }\n\n\t    if (obj.type === 'Buffer' && Array.isArray(obj.data)) {\n\t      return fromArrayLike(that, obj.data)\n\t    }\n\t  }\n\n\t  throw new TypeError('First argument must be a string, Buffer, ArrayBuffer, Array, or array-like object.')\n\t}\n\n\tfunction utf8ToBytes (string, units) {\n\t  units = units || Infinity;\n\t  var codePoint;\n\t  var length = string.length;\n\t  var leadSurrogate = null;\n\t  var bytes = [];\n\n\t  for (var i = 0; i < length; ++i) {\n\t    codePoint = string.charCodeAt(i);\n\n\t    // is surrogate component\n\t    if (codePoint > 0xD7FF && codePoint < 0xE000) {\n\t      // last char was a lead\n\t      if (!leadSurrogate) {\n\t        // no lead yet\n\t        if (codePoint > 0xDBFF) {\n\t          // unexpected trail\n\t          if ((units -= 3) > -1) bytes.push(0xEF, 0xBF, 0xBD);\n\t          continue\n\t        } else if (i + 1 === length) {\n\t          // unpaired lead\n\t          if ((units -= 3) > -1) bytes.push(0xEF, 0xBF, 0xBD);\n\t          continue\n\t        }\n\n\t        // valid lead\n\t        leadSurrogate = codePoint;\n\n\t        continue\n\t      }\n\n\t      // 2 leads in a row\n\t      if (codePoint < 0xDC00) {\n\t        if ((units -= 3) > -1) bytes.push(0xEF, 0xBF, 0xBD);\n\t        leadSurrogate = codePoint;\n\t        continue\n\t      }\n\n\t      // valid surrogate pair\n\t      codePoint = (leadSurrogate - 0xD800 << 10 | codePoint - 0xDC00) + 0x10000;\n\t    } else if (leadSurrogate) {\n\t      // valid bmp char, but last char was a lead\n\t      if ((units -= 3) > -1) bytes.push(0xEF, 0xBF, 0xBD);\n\t    }\n\n\t    leadSurrogate = null;\n\n\t    // encode utf8\n\t    if (codePoint < 0x80) {\n\t      if ((units -= 1) < 0) break\n\t      bytes.push(codePoint);\n\t    } else if (codePoint < 0x800) {\n\t      if ((units -= 2) < 0) break\n\t      bytes.push(\n\t        codePoint >> 0x6 | 0xC0,\n\t        codePoint & 0x3F | 0x80\n\t      );\n\t    } else if (codePoint < 0x10000) {\n\t      if ((units -= 3) < 0) break\n\t      bytes.push(\n\t        codePoint >> 0xC | 0xE0,\n\t        codePoint >> 0x6 & 0x3F | 0x80,\n\t        codePoint & 0x3F | 0x80\n\t      );\n\t    } else if (codePoint < 0x110000) {\n\t      if ((units -= 4) < 0) break\n\t      bytes.push(\n\t        codePoint >> 0x12 | 0xF0,\n\t        codePoint >> 0xC & 0x3F | 0x80,\n\t        codePoint >> 0x6 & 0x3F | 0x80,\n\t        codePoint & 0x3F | 0x80\n\t      );\n\t    } else {\n\t      throw new Error('Invalid code point')\n\t    }\n\t  }\n\n\t  return bytes\n\t}\n\n\tfunction byteLength (string) {\n\t  if (Buffer.isBuffer(string)) {\n\t    return string.length\n\t  }\n\t  if (typeof ArrayBuffer !== 'undefined' && typeof ArrayBuffer.isView === 'function' &&\n\t      (ArrayBuffer.isView(string) || string instanceof ArrayBuffer)) {\n\t    return string.byteLength\n\t  }\n\t  if (typeof string !== 'string') {\n\t    string = '' + string;\n\t  }\n\n\t  var len = string.length;\n\t  if (len === 0) return 0\n\n\t  return utf8ToBytes(string).length\n\t}\n\n\tfunction blitBuffer (src, dst, offset, length) {\n\t  for (var i = 0; i < length; ++i) {\n\t    if ((i + offset >= dst.length) || (i >= src.length)) break\n\t    dst[i + offset] = src[i];\n\t  }\n\t  return i\n\t}\n\n\tfunction utf8Write (buf, string, offset, length) {\n\t  return blitBuffer(utf8ToBytes(string, buf.length - offset), buf, offset, length)\n\t}\n\n\tfunction from (that, value, offset, length) {\n\t  if (typeof value === 'number') {\n\t    throw new TypeError('\"value\" argument must not be a number')\n\t  }\n\n\t  if (typeof ArrayBuffer !== 'undefined' && value instanceof ArrayBuffer) {\n\t    return fromArrayBuffer(that, value, offset, length)\n\t  }\n\n\t  if (typeof value === 'string') {\n\t    return fromString(that, value)\n\t  }\n\n\t  return fromObject(that, value)\n\t}\n\n\tBuffer.prototype.write = function write (string, offset, length) {\n\t  // Buffer#write(string)\n\t  if (offset === undefined) {\n\t    length = this.length;\n\t    offset = 0;\n\t  // Buffer#write(string, encoding)\n\t  } else if (length === undefined && typeof offset === 'string') {\n\t    length = this.length;\n\t    offset = 0;\n\t  // Buffer#write(string, offset[, length])\n\t  } else if (isFinite(offset)) {\n\t    offset = offset | 0;\n\t    if (isFinite(length)) {\n\t      length = length | 0;\n\t    } else {\n\t      length = undefined;\n\t    }\n\t  }\n\n\t  var remaining = this.length - offset;\n\t  if (length === undefined || length > remaining) length = remaining;\n\n\t  if ((string.length > 0 && (length < 0 || offset < 0)) || offset > this.length) {\n\t    throw new RangeError('Attempt to write outside buffer bounds')\n\t  }\n\n\t  return utf8Write(this, string, offset, length)\n\t};\n\n\tBuffer.prototype.slice = function slice (start, end) {\n\t  var len = this.length;\n\t  start = ~~start;\n\t  end = end === undefined ? len : ~~end;\n\n\t  if (start < 0) {\n\t    start += len;\n\t    if (start < 0) start = 0;\n\t  } else if (start > len) {\n\t    start = len;\n\t  }\n\n\t  if (end < 0) {\n\t    end += len;\n\t    if (end < 0) end = 0;\n\t  } else if (end > len) {\n\t    end = len;\n\t  }\n\n\t  if (end < start) end = start;\n\n\t  var newBuf;\n\t  if (Buffer.TYPED_ARRAY_SUPPORT) {\n\t    newBuf = this.subarray(start, end);\n\t    // Return an augmented `Uint8Array` instance\n\t    newBuf.__proto__ = Buffer.prototype;\n\t  } else {\n\t    var sliceLen = end - start;\n\t    newBuf = new Buffer(sliceLen, undefined);\n\t    for (var i = 0; i < sliceLen; ++i) {\n\t      newBuf[i] = this[i + start];\n\t    }\n\t  }\n\n\t  return newBuf\n\t};\n\n\tBuffer.prototype.copy = function copy (target, targetStart, start, end) {\n\t  if (!start) start = 0;\n\t  if (!end && end !== 0) end = this.length;\n\t  if (targetStart >= target.length) targetStart = target.length;\n\t  if (!targetStart) targetStart = 0;\n\t  if (end > 0 && end < start) end = start;\n\n\t  // Copy 0 bytes; we're done\n\t  if (end === start) return 0\n\t  if (target.length === 0 || this.length === 0) return 0\n\n\t  // Fatal error conditions\n\t  if (targetStart < 0) {\n\t    throw new RangeError('targetStart out of bounds')\n\t  }\n\t  if (start < 0 || start >= this.length) throw new RangeError('sourceStart out of bounds')\n\t  if (end < 0) throw new RangeError('sourceEnd out of bounds')\n\n\t  // Are we oob?\n\t  if (end > this.length) end = this.length;\n\t  if (target.length - targetStart < end - start) {\n\t    end = target.length - targetStart + start;\n\t  }\n\n\t  var len = end - start;\n\t  var i;\n\n\t  if (this === target && start < targetStart && targetStart < end) {\n\t    // descending copy from end\n\t    for (i = len - 1; i >= 0; --i) {\n\t      target[i + targetStart] = this[i + start];\n\t    }\n\t  } else if (len < 1000 || !Buffer.TYPED_ARRAY_SUPPORT) {\n\t    // ascending copy from start\n\t    for (i = 0; i < len; ++i) {\n\t      target[i + targetStart] = this[i + start];\n\t    }\n\t  } else {\n\t    Uint8Array.prototype.set.call(\n\t      target,\n\t      this.subarray(start, start + len),\n\t      targetStart\n\t    );\n\t  }\n\n\t  return len\n\t};\n\n\tBuffer.prototype.fill = function fill (val, start, end) {\n\t  // Handle string cases:\n\t  if (typeof val === 'string') {\n\t    if (typeof start === 'string') {\n\t      start = 0;\n\t      end = this.length;\n\t    } else if (typeof end === 'string') {\n\t      end = this.length;\n\t    }\n\t    if (val.length === 1) {\n\t      var code = val.charCodeAt(0);\n\t      if (code < 256) {\n\t        val = code;\n\t      }\n\t    }\n\t  } else if (typeof val === 'number') {\n\t    val = val & 255;\n\t  }\n\n\t  // Invalid ranges are not set to a default, so can range check early.\n\t  if (start < 0 || this.length < start || this.length < end) {\n\t    throw new RangeError('Out of range index')\n\t  }\n\n\t  if (end <= start) {\n\t    return this\n\t  }\n\n\t  start = start >>> 0;\n\t  end = end === undefined ? this.length : end >>> 0;\n\n\t  if (!val) val = 0;\n\n\t  var i;\n\t  if (typeof val === 'number') {\n\t    for (i = start; i < end; ++i) {\n\t      this[i] = val;\n\t    }\n\t  } else {\n\t    var bytes = Buffer.isBuffer(val)\n\t      ? val\n\t      : new Buffer(val);\n\t    var len = bytes.length;\n\t    for (i = 0; i < end - start; ++i) {\n\t      this[i + start] = bytes[i % len];\n\t    }\n\t  }\n\n\t  return this\n\t};\n\n\tBuffer.concat = function concat (list, length) {\n\t  if (!isArray(list)) {\n\t    throw new TypeError('\"list\" argument must be an Array of Buffers')\n\t  }\n\n\t  if (list.length === 0) {\n\t    return createBuffer(null, 0)\n\t  }\n\n\t  var i;\n\t  if (length === undefined) {\n\t    length = 0;\n\t    for (i = 0; i < list.length; ++i) {\n\t      length += list[i].length;\n\t    }\n\t  }\n\n\t  var buffer = allocUnsafe(null, length);\n\t  var pos = 0;\n\t  for (i = 0; i < list.length; ++i) {\n\t    var buf = list[i];\n\t    if (!Buffer.isBuffer(buf)) {\n\t      throw new TypeError('\"list\" argument must be an Array of Buffers')\n\t    }\n\t    buf.copy(buffer, pos);\n\t    pos += buf.length;\n\t  }\n\t  return buffer\n\t};\n\n\tBuffer.byteLength = byteLength;\n\n\tBuffer.prototype._isBuffer = true;\n\tBuffer.isBuffer = function isBuffer (b) {\n\t  return !!(b != null && b._isBuffer)\n\t};\n\n\tmodule.exports.alloc = function (size) {\n\t  var buffer = new Buffer(size);\n\t  buffer.fill(0);\n\t  return buffer\n\t};\n\n\tmodule.exports.from = function (data) {\n\t  return new Buffer(data)\n\t};\n\n\t},{\"isarray\":33}],29:[function(require,module,exports){\n\n\texports.byteLength = byteLength;\n\texports.toByteArray = toByteArray;\n\texports.fromByteArray = fromByteArray;\n\n\tvar lookup = [];\n\tvar revLookup = [];\n\tvar Arr = typeof Uint8Array !== 'undefined' ? Uint8Array : Array;\n\n\tvar code = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/';\n\tfor (var i = 0, len = code.length; i < len; ++i) {\n\t  lookup[i] = code[i];\n\t  revLookup[code.charCodeAt(i)] = i;\n\t}\n\n\t// Support decoding URL-safe base64 strings, as Node.js does.\n\t// See: https://en.wikipedia.org/wiki/Base64#URL_applications\n\trevLookup['-'.charCodeAt(0)] = 62;\n\trevLookup['_'.charCodeAt(0)] = 63;\n\n\tfunction getLens (b64) {\n\t  var len = b64.length;\n\n\t  if (len % 4 > 0) {\n\t    throw new Error('Invalid string. Length must be a multiple of 4')\n\t  }\n\n\t  // Trim off extra bytes after placeholder bytes are found\n\t  // See: https://github.com/beatgammit/base64-js/issues/42\n\t  var validLen = b64.indexOf('=');\n\t  if (validLen === -1) validLen = len;\n\n\t  var placeHoldersLen = validLen === len\n\t    ? 0\n\t    : 4 - (validLen % 4);\n\n\t  return [validLen, placeHoldersLen]\n\t}\n\n\t// base64 is 4/3 + up to two characters of the original data\n\tfunction byteLength (b64) {\n\t  var lens = getLens(b64);\n\t  var validLen = lens[0];\n\t  var placeHoldersLen = lens[1];\n\t  return ((validLen + placeHoldersLen) * 3 / 4) - placeHoldersLen\n\t}\n\n\tfunction _byteLength (b64, validLen, placeHoldersLen) {\n\t  return ((validLen + placeHoldersLen) * 3 / 4) - placeHoldersLen\n\t}\n\n\tfunction toByteArray (b64) {\n\t  var tmp;\n\t  var lens = getLens(b64);\n\t  var validLen = lens[0];\n\t  var placeHoldersLen = lens[1];\n\n\t  var arr = new Arr(_byteLength(b64, validLen, placeHoldersLen));\n\n\t  var curByte = 0;\n\n\t  // if there are placeholders, only get up to the last complete 4 chars\n\t  var len = placeHoldersLen > 0\n\t    ? validLen - 4\n\t    : validLen;\n\n\t  var i;\n\t  for (i = 0; i < len; i += 4) {\n\t    tmp =\n\t      (revLookup[b64.charCodeAt(i)] << 18) |\n\t      (revLookup[b64.charCodeAt(i + 1)] << 12) |\n\t      (revLookup[b64.charCodeAt(i + 2)] << 6) |\n\t      revLookup[b64.charCodeAt(i + 3)];\n\t    arr[curByte++] = (tmp >> 16) & 0xFF;\n\t    arr[curByte++] = (tmp >> 8) & 0xFF;\n\t    arr[curByte++] = tmp & 0xFF;\n\t  }\n\n\t  if (placeHoldersLen === 2) {\n\t    tmp =\n\t      (revLookup[b64.charCodeAt(i)] << 2) |\n\t      (revLookup[b64.charCodeAt(i + 1)] >> 4);\n\t    arr[curByte++] = tmp & 0xFF;\n\t  }\n\n\t  if (placeHoldersLen === 1) {\n\t    tmp =\n\t      (revLookup[b64.charCodeAt(i)] << 10) |\n\t      (revLookup[b64.charCodeAt(i + 1)] << 4) |\n\t      (revLookup[b64.charCodeAt(i + 2)] >> 2);\n\t    arr[curByte++] = (tmp >> 8) & 0xFF;\n\t    arr[curByte++] = tmp & 0xFF;\n\t  }\n\n\t  return arr\n\t}\n\n\tfunction tripletToBase64 (num) {\n\t  return lookup[num >> 18 & 0x3F] +\n\t    lookup[num >> 12 & 0x3F] +\n\t    lookup[num >> 6 & 0x3F] +\n\t    lookup[num & 0x3F]\n\t}\n\n\tfunction encodeChunk (uint8, start, end) {\n\t  var tmp;\n\t  var output = [];\n\t  for (var i = start; i < end; i += 3) {\n\t    tmp =\n\t      ((uint8[i] << 16) & 0xFF0000) +\n\t      ((uint8[i + 1] << 8) & 0xFF00) +\n\t      (uint8[i + 2] & 0xFF);\n\t    output.push(tripletToBase64(tmp));\n\t  }\n\t  return output.join('')\n\t}\n\n\tfunction fromByteArray (uint8) {\n\t  var tmp;\n\t  var len = uint8.length;\n\t  var extraBytes = len % 3; // if we have 1 byte left, pad 2 bytes\n\t  var parts = [];\n\t  var maxChunkLength = 16383; // must be multiple of 3\n\n\t  // go through the array every three bytes, we'll deal with trailing stuff later\n\t  for (var i = 0, len2 = len - extraBytes; i < len2; i += maxChunkLength) {\n\t    parts.push(encodeChunk(\n\t      uint8, i, (i + maxChunkLength) > len2 ? len2 : (i + maxChunkLength)\n\t    ));\n\t  }\n\n\t  // pad the end with zeros, but make sure to not forget the extra bytes\n\t  if (extraBytes === 1) {\n\t    tmp = uint8[len - 1];\n\t    parts.push(\n\t      lookup[tmp >> 2] +\n\t      lookup[(tmp << 4) & 0x3F] +\n\t      '=='\n\t    );\n\t  } else if (extraBytes === 2) {\n\t    tmp = (uint8[len - 2] << 8) + uint8[len - 1];\n\t    parts.push(\n\t      lookup[tmp >> 10] +\n\t      lookup[(tmp >> 4) & 0x3F] +\n\t      lookup[(tmp << 2) & 0x3F] +\n\t      '='\n\t    );\n\t  }\n\n\t  return parts.join('')\n\t}\n\n\t},{}],30:[function(require,module,exports){\n\n\tvar base64 = require('base64-js');\n\tvar ieee754 = require('ieee754');\n\tvar customInspectSymbol =\n\t  (typeof Symbol === 'function' && typeof Symbol.for === 'function')\n\t    ? Symbol.for('nodejs.util.inspect.custom')\n\t    : null;\n\n\texports.Buffer = Buffer;\n\texports.SlowBuffer = SlowBuffer;\n\texports.INSPECT_MAX_BYTES = 50;\n\n\tvar K_MAX_LENGTH = 0x7fffffff;\n\texports.kMaxLength = K_MAX_LENGTH;\n\n\t/**\n\t * If `Buffer.TYPED_ARRAY_SUPPORT`:\n\t *   === true    Use Uint8Array implementation (fastest)\n\t *   === false   Print warning and recommend using `buffer` v4.x which has an Object\n\t *               implementation (most compatible, even IE6)\n\t *\n\t * Browsers that support typed arrays are IE 10+, Firefox 4+, Chrome 7+, Safari 5.1+,\n\t * Opera 11.6+, iOS 4.2+.\n\t *\n\t * We report that the browser does not support typed arrays if the are not subclassable\n\t * using __proto__. Firefox 4-29 lacks support for adding new properties to `Uint8Array`\n\t * (See: https://bugzilla.mozilla.org/show_bug.cgi?id=695438). IE 10 lacks support\n\t * for __proto__ and has a buggy typed array implementation.\n\t */\n\tBuffer.TYPED_ARRAY_SUPPORT = typedArraySupport();\n\n\tif (!Buffer.TYPED_ARRAY_SUPPORT && typeof console !== 'undefined' &&\n\t    typeof console.error === 'function') {\n\t  console.error(\n\t    'This browser lacks typed array (Uint8Array) support which is required by ' +\n\t    '`buffer` v5.x. Use `buffer` v4.x if you require old browser support.'\n\t  );\n\t}\n\n\tfunction typedArraySupport () {\n\t  // Can typed array instances can be augmented?\n\t  try {\n\t    var arr = new Uint8Array(1);\n\t    var proto = { foo: function () { return 42 } };\n\t    Object.setPrototypeOf(proto, Uint8Array.prototype);\n\t    Object.setPrototypeOf(arr, proto);\n\t    return arr.foo() === 42\n\t  } catch (e) {\n\t    return false\n\t  }\n\t}\n\n\tObject.defineProperty(Buffer.prototype, 'parent', {\n\t  enumerable: true,\n\t  get: function () {\n\t    if (!Buffer.isBuffer(this)) return undefined\n\t    return this.buffer\n\t  }\n\t});\n\n\tObject.defineProperty(Buffer.prototype, 'offset', {\n\t  enumerable: true,\n\t  get: function () {\n\t    if (!Buffer.isBuffer(this)) return undefined\n\t    return this.byteOffset\n\t  }\n\t});\n\n\tfunction createBuffer (length) {\n\t  if (length > K_MAX_LENGTH) {\n\t    throw new RangeError('The value \"' + length + '\" is invalid for option \"size\"')\n\t  }\n\t  // Return an augmented `Uint8Array` instance\n\t  var buf = new Uint8Array(length);\n\t  Object.setPrototypeOf(buf, Buffer.prototype);\n\t  return buf\n\t}\n\n\t/**\n\t * The Buffer constructor returns instances of `Uint8Array` that have their\n\t * prototype changed to `Buffer.prototype`. Furthermore, `Buffer` is a subclass of\n\t * `Uint8Array`, so the returned instances will have all the node `Buffer` methods\n\t * and the `Uint8Array` methods. Square bracket notation works as expected -- it\n\t * returns a single octet.\n\t *\n\t * The `Uint8Array` prototype remains unmodified.\n\t */\n\n\tfunction Buffer (arg, encodingOrOffset, length) {\n\t  // Common case.\n\t  if (typeof arg === 'number') {\n\t    if (typeof encodingOrOffset === 'string') {\n\t      throw new TypeError(\n\t        'The \"string\" argument must be of type string. Received type number'\n\t      )\n\t    }\n\t    return allocUnsafe(arg)\n\t  }\n\t  return from(arg, encodingOrOffset, length)\n\t}\n\n\t// Fix subarray() in ES2016. See: https://github.com/feross/buffer/pull/97\n\tif (typeof Symbol !== 'undefined' && Symbol.species != null &&\n\t    Buffer[Symbol.species] === Buffer) {\n\t  Object.defineProperty(Buffer, Symbol.species, {\n\t    value: null,\n\t    configurable: true,\n\t    enumerable: false,\n\t    writable: false\n\t  });\n\t}\n\n\tBuffer.poolSize = 8192; // not used by this implementation\n\n\tfunction from (value, encodingOrOffset, length) {\n\t  if (typeof value === 'string') {\n\t    return fromString(value, encodingOrOffset)\n\t  }\n\n\t  if (ArrayBuffer.isView(value)) {\n\t    return fromArrayLike(value)\n\t  }\n\n\t  if (value == null) {\n\t    throw new TypeError(\n\t      'The first argument must be one of type string, Buffer, ArrayBuffer, Array, ' +\n\t      'or Array-like Object. Received type ' + (typeof value)\n\t    )\n\t  }\n\n\t  if (isInstance(value, ArrayBuffer) ||\n\t      (value && isInstance(value.buffer, ArrayBuffer))) {\n\t    return fromArrayBuffer(value, encodingOrOffset, length)\n\t  }\n\n\t  if (typeof value === 'number') {\n\t    throw new TypeError(\n\t      'The \"value\" argument must not be of type number. Received type number'\n\t    )\n\t  }\n\n\t  var valueOf = value.valueOf && value.valueOf();\n\t  if (valueOf != null && valueOf !== value) {\n\t    return Buffer.from(valueOf, encodingOrOffset, length)\n\t  }\n\n\t  var b = fromObject(value);\n\t  if (b) return b\n\n\t  if (typeof Symbol !== 'undefined' && Symbol.toPrimitive != null &&\n\t      typeof value[Symbol.toPrimitive] === 'function') {\n\t    return Buffer.from(\n\t      value[Symbol.toPrimitive]('string'), encodingOrOffset, length\n\t    )\n\t  }\n\n\t  throw new TypeError(\n\t    'The first argument must be one of type string, Buffer, ArrayBuffer, Array, ' +\n\t    'or Array-like Object. Received type ' + (typeof value)\n\t  )\n\t}\n\n\t/**\n\t * Functionally equivalent to Buffer(arg, encoding) but throws a TypeError\n\t * if value is a number.\n\t * Buffer.from(str[, encoding])\n\t * Buffer.from(array)\n\t * Buffer.from(buffer)\n\t * Buffer.from(arrayBuffer[, byteOffset[, length]])\n\t **/\n\tBuffer.from = function (value, encodingOrOffset, length) {\n\t  return from(value, encodingOrOffset, length)\n\t};\n\n\t// Note: Change prototype *after* Buffer.from is defined to workaround Chrome bug:\n\t// https://github.com/feross/buffer/pull/148\n\tObject.setPrototypeOf(Buffer.prototype, Uint8Array.prototype);\n\tObject.setPrototypeOf(Buffer, Uint8Array);\n\n\tfunction assertSize (size) {\n\t  if (typeof size !== 'number') {\n\t    throw new TypeError('\"size\" argument must be of type number')\n\t  } else if (size < 0) {\n\t    throw new RangeError('The value \"' + size + '\" is invalid for option \"size\"')\n\t  }\n\t}\n\n\tfunction alloc (size, fill, encoding) {\n\t  assertSize(size);\n\t  if (size <= 0) {\n\t    return createBuffer(size)\n\t  }\n\t  if (fill !== undefined) {\n\t    // Only pay attention to encoding if it's a string. This\n\t    // prevents accidentally sending in a number that would\n\t    // be interpretted as a start offset.\n\t    return typeof encoding === 'string'\n\t      ? createBuffer(size).fill(fill, encoding)\n\t      : createBuffer(size).fill(fill)\n\t  }\n\t  return createBuffer(size)\n\t}\n\n\t/**\n\t * Creates a new filled Buffer instance.\n\t * alloc(size[, fill[, encoding]])\n\t **/\n\tBuffer.alloc = function (size, fill, encoding) {\n\t  return alloc(size, fill, encoding)\n\t};\n\n\tfunction allocUnsafe (size) {\n\t  assertSize(size);\n\t  return createBuffer(size < 0 ? 0 : checked(size) | 0)\n\t}\n\n\t/**\n\t * Equivalent to Buffer(num), by default creates a non-zero-filled Buffer instance.\n\t * */\n\tBuffer.allocUnsafe = function (size) {\n\t  return allocUnsafe(size)\n\t};\n\t/**\n\t * Equivalent to SlowBuffer(num), by default creates a non-zero-filled Buffer instance.\n\t */\n\tBuffer.allocUnsafeSlow = function (size) {\n\t  return allocUnsafe(size)\n\t};\n\n\tfunction fromString (string, encoding) {\n\t  if (typeof encoding !== 'string' || encoding === '') {\n\t    encoding = 'utf8';\n\t  }\n\n\t  if (!Buffer.isEncoding(encoding)) {\n\t    throw new TypeError('Unknown encoding: ' + encoding)\n\t  }\n\n\t  var length = byteLength(string, encoding) | 0;\n\t  var buf = createBuffer(length);\n\n\t  var actual = buf.write(string, encoding);\n\n\t  if (actual !== length) {\n\t    // Writing a hex string, for example, that contains invalid characters will\n\t    // cause everything after the first invalid character to be ignored. (e.g.\n\t    // 'abxxcd' will be treated as 'ab')\n\t    buf = buf.slice(0, actual);\n\t  }\n\n\t  return buf\n\t}\n\n\tfunction fromArrayLike (array) {\n\t  var length = array.length < 0 ? 0 : checked(array.length) | 0;\n\t  var buf = createBuffer(length);\n\t  for (var i = 0; i < length; i += 1) {\n\t    buf[i] = array[i] & 255;\n\t  }\n\t  return buf\n\t}\n\n\tfunction fromArrayBuffer (array, byteOffset, length) {\n\t  if (byteOffset < 0 || array.byteLength < byteOffset) {\n\t    throw new RangeError('\"offset\" is outside of buffer bounds')\n\t  }\n\n\t  if (array.byteLength < byteOffset + (length || 0)) {\n\t    throw new RangeError('\"length\" is outside of buffer bounds')\n\t  }\n\n\t  var buf;\n\t  if (byteOffset === undefined && length === undefined) {\n\t    buf = new Uint8Array(array);\n\t  } else if (length === undefined) {\n\t    buf = new Uint8Array(array, byteOffset);\n\t  } else {\n\t    buf = new Uint8Array(array, byteOffset, length);\n\t  }\n\n\t  // Return an augmented `Uint8Array` instance\n\t  Object.setPrototypeOf(buf, Buffer.prototype);\n\n\t  return buf\n\t}\n\n\tfunction fromObject (obj) {\n\t  if (Buffer.isBuffer(obj)) {\n\t    var len = checked(obj.length) | 0;\n\t    var buf = createBuffer(len);\n\n\t    if (buf.length === 0) {\n\t      return buf\n\t    }\n\n\t    obj.copy(buf, 0, 0, len);\n\t    return buf\n\t  }\n\n\t  if (obj.length !== undefined) {\n\t    if (typeof obj.length !== 'number' || numberIsNaN(obj.length)) {\n\t      return createBuffer(0)\n\t    }\n\t    return fromArrayLike(obj)\n\t  }\n\n\t  if (obj.type === 'Buffer' && Array.isArray(obj.data)) {\n\t    return fromArrayLike(obj.data)\n\t  }\n\t}\n\n\tfunction checked (length) {\n\t  // Note: cannot use `length < K_MAX_LENGTH` here because that fails when\n\t  // length is NaN (which is otherwise coerced to zero.)\n\t  if (length >= K_MAX_LENGTH) {\n\t    throw new RangeError('Attempt to allocate Buffer larger than maximum ' +\n\t                         'size: 0x' + K_MAX_LENGTH.toString(16) + ' bytes')\n\t  }\n\t  return length | 0\n\t}\n\n\tfunction SlowBuffer (length) {\n\t  if (+length != length) { // eslint-disable-line eqeqeq\n\t    length = 0;\n\t  }\n\t  return Buffer.alloc(+length)\n\t}\n\n\tBuffer.isBuffer = function isBuffer (b) {\n\t  return b != null && b._isBuffer === true &&\n\t    b !== Buffer.prototype // so Buffer.isBuffer(Buffer.prototype) will be false\n\t};\n\n\tBuffer.compare = function compare (a, b) {\n\t  if (isInstance(a, Uint8Array)) a = Buffer.from(a, a.offset, a.byteLength);\n\t  if (isInstance(b, Uint8Array)) b = Buffer.from(b, b.offset, b.byteLength);\n\t  if (!Buffer.isBuffer(a) || !Buffer.isBuffer(b)) {\n\t    throw new TypeError(\n\t      'The \"buf1\", \"buf2\" arguments must be one of type Buffer or Uint8Array'\n\t    )\n\t  }\n\n\t  if (a === b) return 0\n\n\t  var x = a.length;\n\t  var y = b.length;\n\n\t  for (var i = 0, len = Math.min(x, y); i < len; ++i) {\n\t    if (a[i] !== b[i]) {\n\t      x = a[i];\n\t      y = b[i];\n\t      break\n\t    }\n\t  }\n\n\t  if (x < y) return -1\n\t  if (y < x) return 1\n\t  return 0\n\t};\n\n\tBuffer.isEncoding = function isEncoding (encoding) {\n\t  switch (String(encoding).toLowerCase()) {\n\t    case 'hex':\n\t    case 'utf8':\n\t    case 'utf-8':\n\t    case 'ascii':\n\t    case 'latin1':\n\t    case 'binary':\n\t    case 'base64':\n\t    case 'ucs2':\n\t    case 'ucs-2':\n\t    case 'utf16le':\n\t    case 'utf-16le':\n\t      return true\n\t    default:\n\t      return false\n\t  }\n\t};\n\n\tBuffer.concat = function concat (list, length) {\n\t  if (!Array.isArray(list)) {\n\t    throw new TypeError('\"list\" argument must be an Array of Buffers')\n\t  }\n\n\t  if (list.length === 0) {\n\t    return Buffer.alloc(0)\n\t  }\n\n\t  var i;\n\t  if (length === undefined) {\n\t    length = 0;\n\t    for (i = 0; i < list.length; ++i) {\n\t      length += list[i].length;\n\t    }\n\t  }\n\n\t  var buffer = Buffer.allocUnsafe(length);\n\t  var pos = 0;\n\t  for (i = 0; i < list.length; ++i) {\n\t    var buf = list[i];\n\t    if (isInstance(buf, Uint8Array)) {\n\t      buf = Buffer.from(buf);\n\t    }\n\t    if (!Buffer.isBuffer(buf)) {\n\t      throw new TypeError('\"list\" argument must be an Array of Buffers')\n\t    }\n\t    buf.copy(buffer, pos);\n\t    pos += buf.length;\n\t  }\n\t  return buffer\n\t};\n\n\tfunction byteLength (string, encoding) {\n\t  if (Buffer.isBuffer(string)) {\n\t    return string.length\n\t  }\n\t  if (ArrayBuffer.isView(string) || isInstance(string, ArrayBuffer)) {\n\t    return string.byteLength\n\t  }\n\t  if (typeof string !== 'string') {\n\t    throw new TypeError(\n\t      'The \"string\" argument must be one of type string, Buffer, or ArrayBuffer. ' +\n\t      'Received type ' + typeof string\n\t    )\n\t  }\n\n\t  var len = string.length;\n\t  var mustMatch = (arguments.length > 2 && arguments[2] === true);\n\t  if (!mustMatch && len === 0) return 0\n\n\t  // Use a for loop to avoid recursion\n\t  var loweredCase = false;\n\t  for (;;) {\n\t    switch (encoding) {\n\t      case 'ascii':\n\t      case 'latin1':\n\t      case 'binary':\n\t        return len\n\t      case 'utf8':\n\t      case 'utf-8':\n\t        return utf8ToBytes(string).length\n\t      case 'ucs2':\n\t      case 'ucs-2':\n\t      case 'utf16le':\n\t      case 'utf-16le':\n\t        return len * 2\n\t      case 'hex':\n\t        return len >>> 1\n\t      case 'base64':\n\t        return base64ToBytes(string).length\n\t      default:\n\t        if (loweredCase) {\n\t          return mustMatch ? -1 : utf8ToBytes(string).length // assume utf8\n\t        }\n\t        encoding = ('' + encoding).toLowerCase();\n\t        loweredCase = true;\n\t    }\n\t  }\n\t}\n\tBuffer.byteLength = byteLength;\n\n\tfunction slowToString (encoding, start, end) {\n\t  var loweredCase = false;\n\n\t  // No need to verify that \"this.length <= MAX_UINT32\" since it's a read-only\n\t  // property of a typed array.\n\n\t  // This behaves neither like String nor Uint8Array in that we set start/end\n\t  // to their upper/lower bounds if the value passed is out of range.\n\t  // undefined is handled specially as per ECMA-262 6th Edition,\n\t  // Section 13.3.3.7 Runtime Semantics: KeyedBindingInitialization.\n\t  if (start === undefined || start < 0) {\n\t    start = 0;\n\t  }\n\t  // Return early if start > this.length. Done here to prevent potential uint32\n\t  // coercion fail below.\n\t  if (start > this.length) {\n\t    return ''\n\t  }\n\n\t  if (end === undefined || end > this.length) {\n\t    end = this.length;\n\t  }\n\n\t  if (end <= 0) {\n\t    return ''\n\t  }\n\n\t  // Force coersion to uint32. This will also coerce falsey/NaN values to 0.\n\t  end >>>= 0;\n\t  start >>>= 0;\n\n\t  if (end <= start) {\n\t    return ''\n\t  }\n\n\t  if (!encoding) encoding = 'utf8';\n\n\t  while (true) {\n\t    switch (encoding) {\n\t      case 'hex':\n\t        return hexSlice(this, start, end)\n\n\t      case 'utf8':\n\t      case 'utf-8':\n\t        return utf8Slice(this, start, end)\n\n\t      case 'ascii':\n\t        return asciiSlice(this, start, end)\n\n\t      case 'latin1':\n\t      case 'binary':\n\t        return latin1Slice(this, start, end)\n\n\t      case 'base64':\n\t        return base64Slice(this, start, end)\n\n\t      case 'ucs2':\n\t      case 'ucs-2':\n\t      case 'utf16le':\n\t      case 'utf-16le':\n\t        return utf16leSlice(this, start, end)\n\n\t      default:\n\t        if (loweredCase) throw new TypeError('Unknown encoding: ' + encoding)\n\t        encoding = (encoding + '').toLowerCase();\n\t        loweredCase = true;\n\t    }\n\t  }\n\t}\n\n\t// This property is used by `Buffer.isBuffer` (and the `is-buffer` npm package)\n\t// to detect a Buffer instance. It's not possible to use `instanceof Buffer`\n\t// reliably in a browserify context because there could be multiple different\n\t// copies of the 'buffer' package in use. This method works even for Buffer\n\t// instances that were created from another copy of the `buffer` package.\n\t// See: https://github.com/feross/buffer/issues/154\n\tBuffer.prototype._isBuffer = true;\n\n\tfunction swap (b, n, m) {\n\t  var i = b[n];\n\t  b[n] = b[m];\n\t  b[m] = i;\n\t}\n\n\tBuffer.prototype.swap16 = function swap16 () {\n\t  var len = this.length;\n\t  if (len % 2 !== 0) {\n\t    throw new RangeError('Buffer size must be a multiple of 16-bits')\n\t  }\n\t  for (var i = 0; i < len; i += 2) {\n\t    swap(this, i, i + 1);\n\t  }\n\t  return this\n\t};\n\n\tBuffer.prototype.swap32 = function swap32 () {\n\t  var len = this.length;\n\t  if (len % 4 !== 0) {\n\t    throw new RangeError('Buffer size must be a multiple of 32-bits')\n\t  }\n\t  for (var i = 0; i < len; i += 4) {\n\t    swap(this, i, i + 3);\n\t    swap(this, i + 1, i + 2);\n\t  }\n\t  return this\n\t};\n\n\tBuffer.prototype.swap64 = function swap64 () {\n\t  var len = this.length;\n\t  if (len % 8 !== 0) {\n\t    throw new RangeError('Buffer size must be a multiple of 64-bits')\n\t  }\n\t  for (var i = 0; i < len; i += 8) {\n\t    swap(this, i, i + 7);\n\t    swap(this, i + 1, i + 6);\n\t    swap(this, i + 2, i + 5);\n\t    swap(this, i + 3, i + 4);\n\t  }\n\t  return this\n\t};\n\n\tBuffer.prototype.toString = function toString () {\n\t  var length = this.length;\n\t  if (length === 0) return ''\n\t  if (arguments.length === 0) return utf8Slice(this, 0, length)\n\t  return slowToString.apply(this, arguments)\n\t};\n\n\tBuffer.prototype.toLocaleString = Buffer.prototype.toString;\n\n\tBuffer.prototype.equals = function equals (b) {\n\t  if (!Buffer.isBuffer(b)) throw new TypeError('Argument must be a Buffer')\n\t  if (this === b) return true\n\t  return Buffer.compare(this, b) === 0\n\t};\n\n\tBuffer.prototype.inspect = function inspect () {\n\t  var str = '';\n\t  var max = exports.INSPECT_MAX_BYTES;\n\t  str = this.toString('hex', 0, max).replace(/(.{2})/g, '$1 ').trim();\n\t  if (this.length > max) str += ' ... ';\n\t  return '<Buffer ' + str + '>'\n\t};\n\tif (customInspectSymbol) {\n\t  Buffer.prototype[customInspectSymbol] = Buffer.prototype.inspect;\n\t}\n\n\tBuffer.prototype.compare = function compare (target, start, end, thisStart, thisEnd) {\n\t  if (isInstance(target, Uint8Array)) {\n\t    target = Buffer.from(target, target.offset, target.byteLength);\n\t  }\n\t  if (!Buffer.isBuffer(target)) {\n\t    throw new TypeError(\n\t      'The \"target\" argument must be one of type Buffer or Uint8Array. ' +\n\t      'Received type ' + (typeof target)\n\t    )\n\t  }\n\n\t  if (start === undefined) {\n\t    start = 0;\n\t  }\n\t  if (end === undefined) {\n\t    end = target ? target.length : 0;\n\t  }\n\t  if (thisStart === undefined) {\n\t    thisStart = 0;\n\t  }\n\t  if (thisEnd === undefined) {\n\t    thisEnd = this.length;\n\t  }\n\n\t  if (start < 0 || end > target.length || thisStart < 0 || thisEnd > this.length) {\n\t    throw new RangeError('out of range index')\n\t  }\n\n\t  if (thisStart >= thisEnd && start >= end) {\n\t    return 0\n\t  }\n\t  if (thisStart >= thisEnd) {\n\t    return -1\n\t  }\n\t  if (start >= end) {\n\t    return 1\n\t  }\n\n\t  start >>>= 0;\n\t  end >>>= 0;\n\t  thisStart >>>= 0;\n\t  thisEnd >>>= 0;\n\n\t  if (this === target) return 0\n\n\t  var x = thisEnd - thisStart;\n\t  var y = end - start;\n\t  var len = Math.min(x, y);\n\n\t  var thisCopy = this.slice(thisStart, thisEnd);\n\t  var targetCopy = target.slice(start, end);\n\n\t  for (var i = 0; i < len; ++i) {\n\t    if (thisCopy[i] !== targetCopy[i]) {\n\t      x = thisCopy[i];\n\t      y = targetCopy[i];\n\t      break\n\t    }\n\t  }\n\n\t  if (x < y) return -1\n\t  if (y < x) return 1\n\t  return 0\n\t};\n\n\t// Finds either the first index of `val` in `buffer` at offset >= `byteOffset`,\n\t// OR the last index of `val` in `buffer` at offset <= `byteOffset`.\n\t//\n\t// Arguments:\n\t// - buffer - a Buffer to search\n\t// - val - a string, Buffer, or number\n\t// - byteOffset - an index into `buffer`; will be clamped to an int32\n\t// - encoding - an optional encoding, relevant is val is a string\n\t// - dir - true for indexOf, false for lastIndexOf\n\tfunction bidirectionalIndexOf (buffer, val, byteOffset, encoding, dir) {\n\t  // Empty buffer means no match\n\t  if (buffer.length === 0) return -1\n\n\t  // Normalize byteOffset\n\t  if (typeof byteOffset === 'string') {\n\t    encoding = byteOffset;\n\t    byteOffset = 0;\n\t  } else if (byteOffset > 0x7fffffff) {\n\t    byteOffset = 0x7fffffff;\n\t  } else if (byteOffset < -0x80000000) {\n\t    byteOffset = -0x80000000;\n\t  }\n\t  byteOffset = +byteOffset; // Coerce to Number.\n\t  if (numberIsNaN(byteOffset)) {\n\t    // byteOffset: it it's undefined, null, NaN, \"foo\", etc, search whole buffer\n\t    byteOffset = dir ? 0 : (buffer.length - 1);\n\t  }\n\n\t  // Normalize byteOffset: negative offsets start from the end of the buffer\n\t  if (byteOffset < 0) byteOffset = buffer.length + byteOffset;\n\t  if (byteOffset >= buffer.length) {\n\t    if (dir) return -1\n\t    else byteOffset = buffer.length - 1;\n\t  } else if (byteOffset < 0) {\n\t    if (dir) byteOffset = 0;\n\t    else return -1\n\t  }\n\n\t  // Normalize val\n\t  if (typeof val === 'string') {\n\t    val = Buffer.from(val, encoding);\n\t  }\n\n\t  // Finally, search either indexOf (if dir is true) or lastIndexOf\n\t  if (Buffer.isBuffer(val)) {\n\t    // Special case: looking for empty string/buffer always fails\n\t    if (val.length === 0) {\n\t      return -1\n\t    }\n\t    return arrayIndexOf(buffer, val, byteOffset, encoding, dir)\n\t  } else if (typeof val === 'number') {\n\t    val = val & 0xFF; // Search for a byte value [0-255]\n\t    if (typeof Uint8Array.prototype.indexOf === 'function') {\n\t      if (dir) {\n\t        return Uint8Array.prototype.indexOf.call(buffer, val, byteOffset)\n\t      } else {\n\t        return Uint8Array.prototype.lastIndexOf.call(buffer, val, byteOffset)\n\t      }\n\t    }\n\t    return arrayIndexOf(buffer, [val], byteOffset, encoding, dir)\n\t  }\n\n\t  throw new TypeError('val must be string, number or Buffer')\n\t}\n\n\tfunction arrayIndexOf (arr, val, byteOffset, encoding, dir) {\n\t  var indexSize = 1;\n\t  var arrLength = arr.length;\n\t  var valLength = val.length;\n\n\t  if (encoding !== undefined) {\n\t    encoding = String(encoding).toLowerCase();\n\t    if (encoding === 'ucs2' || encoding === 'ucs-2' ||\n\t        encoding === 'utf16le' || encoding === 'utf-16le') {\n\t      if (arr.length < 2 || val.length < 2) {\n\t        return -1\n\t      }\n\t      indexSize = 2;\n\t      arrLength /= 2;\n\t      valLength /= 2;\n\t      byteOffset /= 2;\n\t    }\n\t  }\n\n\t  function read (buf, i) {\n\t    if (indexSize === 1) {\n\t      return buf[i]\n\t    } else {\n\t      return buf.readUInt16BE(i * indexSize)\n\t    }\n\t  }\n\n\t  var i;\n\t  if (dir) {\n\t    var foundIndex = -1;\n\t    for (i = byteOffset; i < arrLength; i++) {\n\t      if (read(arr, i) === read(val, foundIndex === -1 ? 0 : i - foundIndex)) {\n\t        if (foundIndex === -1) foundIndex = i;\n\t        if (i - foundIndex + 1 === valLength) return foundIndex * indexSize\n\t      } else {\n\t        if (foundIndex !== -1) i -= i - foundIndex;\n\t        foundIndex = -1;\n\t      }\n\t    }\n\t  } else {\n\t    if (byteOffset + valLength > arrLength) byteOffset = arrLength - valLength;\n\t    for (i = byteOffset; i >= 0; i--) {\n\t      var found = true;\n\t      for (var j = 0; j < valLength; j++) {\n\t        if (read(arr, i + j) !== read(val, j)) {\n\t          found = false;\n\t          break\n\t        }\n\t      }\n\t      if (found) return i\n\t    }\n\t  }\n\n\t  return -1\n\t}\n\n\tBuffer.prototype.includes = function includes (val, byteOffset, encoding) {\n\t  return this.indexOf(val, byteOffset, encoding) !== -1\n\t};\n\n\tBuffer.prototype.indexOf = function indexOf (val, byteOffset, encoding) {\n\t  return bidirectionalIndexOf(this, val, byteOffset, encoding, true)\n\t};\n\n\tBuffer.prototype.lastIndexOf = function lastIndexOf (val, byteOffset, encoding) {\n\t  return bidirectionalIndexOf(this, val, byteOffset, encoding, false)\n\t};\n\n\tfunction hexWrite (buf, string, offset, length) {\n\t  offset = Number(offset) || 0;\n\t  var remaining = buf.length - offset;\n\t  if (!length) {\n\t    length = remaining;\n\t  } else {\n\t    length = Number(length);\n\t    if (length > remaining) {\n\t      length = remaining;\n\t    }\n\t  }\n\n\t  var strLen = string.length;\n\n\t  if (length > strLen / 2) {\n\t    length = strLen / 2;\n\t  }\n\t  for (var i = 0; i < length; ++i) {\n\t    var parsed = parseInt(string.substr(i * 2, 2), 16);\n\t    if (numberIsNaN(parsed)) return i\n\t    buf[offset + i] = parsed;\n\t  }\n\t  return i\n\t}\n\n\tfunction utf8Write (buf, string, offset, length) {\n\t  return blitBuffer(utf8ToBytes(string, buf.length - offset), buf, offset, length)\n\t}\n\n\tfunction asciiWrite (buf, string, offset, length) {\n\t  return blitBuffer(asciiToBytes(string), buf, offset, length)\n\t}\n\n\tfunction latin1Write (buf, string, offset, length) {\n\t  return asciiWrite(buf, string, offset, length)\n\t}\n\n\tfunction base64Write (buf, string, offset, length) {\n\t  return blitBuffer(base64ToBytes(string), buf, offset, length)\n\t}\n\n\tfunction ucs2Write (buf, string, offset, length) {\n\t  return blitBuffer(utf16leToBytes(string, buf.length - offset), buf, offset, length)\n\t}\n\n\tBuffer.prototype.write = function write (string, offset, length, encoding) {\n\t  // Buffer#write(string)\n\t  if (offset === undefined) {\n\t    encoding = 'utf8';\n\t    length = this.length;\n\t    offset = 0;\n\t  // Buffer#write(string, encoding)\n\t  } else if (length === undefined && typeof offset === 'string') {\n\t    encoding = offset;\n\t    length = this.length;\n\t    offset = 0;\n\t  // Buffer#write(string, offset[, length][, encoding])\n\t  } else if (isFinite(offset)) {\n\t    offset = offset >>> 0;\n\t    if (isFinite(length)) {\n\t      length = length >>> 0;\n\t      if (encoding === undefined) encoding = 'utf8';\n\t    } else {\n\t      encoding = length;\n\t      length = undefined;\n\t    }\n\t  } else {\n\t    throw new Error(\n\t      'Buffer.write(string, encoding, offset[, length]) is no longer supported'\n\t    )\n\t  }\n\n\t  var remaining = this.length - offset;\n\t  if (length === undefined || length > remaining) length = remaining;\n\n\t  if ((string.length > 0 && (length < 0 || offset < 0)) || offset > this.length) {\n\t    throw new RangeError('Attempt to write outside buffer bounds')\n\t  }\n\n\t  if (!encoding) encoding = 'utf8';\n\n\t  var loweredCase = false;\n\t  for (;;) {\n\t    switch (encoding) {\n\t      case 'hex':\n\t        return hexWrite(this, string, offset, length)\n\n\t      case 'utf8':\n\t      case 'utf-8':\n\t        return utf8Write(this, string, offset, length)\n\n\t      case 'ascii':\n\t        return asciiWrite(this, string, offset, length)\n\n\t      case 'latin1':\n\t      case 'binary':\n\t        return latin1Write(this, string, offset, length)\n\n\t      case 'base64':\n\t        // Warning: maxLength not taken into account in base64Write\n\t        return base64Write(this, string, offset, length)\n\n\t      case 'ucs2':\n\t      case 'ucs-2':\n\t      case 'utf16le':\n\t      case 'utf-16le':\n\t        return ucs2Write(this, string, offset, length)\n\n\t      default:\n\t        if (loweredCase) throw new TypeError('Unknown encoding: ' + encoding)\n\t        encoding = ('' + encoding).toLowerCase();\n\t        loweredCase = true;\n\t    }\n\t  }\n\t};\n\n\tBuffer.prototype.toJSON = function toJSON () {\n\t  return {\n\t    type: 'Buffer',\n\t    data: Array.prototype.slice.call(this._arr || this, 0)\n\t  }\n\t};\n\n\tfunction base64Slice (buf, start, end) {\n\t  if (start === 0 && end === buf.length) {\n\t    return base64.fromByteArray(buf)\n\t  } else {\n\t    return base64.fromByteArray(buf.slice(start, end))\n\t  }\n\t}\n\n\tfunction utf8Slice (buf, start, end) {\n\t  end = Math.min(buf.length, end);\n\t  var res = [];\n\n\t  var i = start;\n\t  while (i < end) {\n\t    var firstByte = buf[i];\n\t    var codePoint = null;\n\t    var bytesPerSequence = (firstByte > 0xEF) ? 4\n\t      : (firstByte > 0xDF) ? 3\n\t        : (firstByte > 0xBF) ? 2\n\t          : 1;\n\n\t    if (i + bytesPerSequence <= end) {\n\t      var secondByte, thirdByte, fourthByte, tempCodePoint;\n\n\t      switch (bytesPerSequence) {\n\t        case 1:\n\t          if (firstByte < 0x80) {\n\t            codePoint = firstByte;\n\t          }\n\t          break\n\t        case 2:\n\t          secondByte = buf[i + 1];\n\t          if ((secondByte & 0xC0) === 0x80) {\n\t            tempCodePoint = (firstByte & 0x1F) << 0x6 | (secondByte & 0x3F);\n\t            if (tempCodePoint > 0x7F) {\n\t              codePoint = tempCodePoint;\n\t            }\n\t          }\n\t          break\n\t        case 3:\n\t          secondByte = buf[i + 1];\n\t          thirdByte = buf[i + 2];\n\t          if ((secondByte & 0xC0) === 0x80 && (thirdByte & 0xC0) === 0x80) {\n\t            tempCodePoint = (firstByte & 0xF) << 0xC | (secondByte & 0x3F) << 0x6 | (thirdByte & 0x3F);\n\t            if (tempCodePoint > 0x7FF && (tempCodePoint < 0xD800 || tempCodePoint > 0xDFFF)) {\n\t              codePoint = tempCodePoint;\n\t            }\n\t          }\n\t          break\n\t        case 4:\n\t          secondByte = buf[i + 1];\n\t          thirdByte = buf[i + 2];\n\t          fourthByte = buf[i + 3];\n\t          if ((secondByte & 0xC0) === 0x80 && (thirdByte & 0xC0) === 0x80 && (fourthByte & 0xC0) === 0x80) {\n\t            tempCodePoint = (firstByte & 0xF) << 0x12 | (secondByte & 0x3F) << 0xC | (thirdByte & 0x3F) << 0x6 | (fourthByte & 0x3F);\n\t            if (tempCodePoint > 0xFFFF && tempCodePoint < 0x110000) {\n\t              codePoint = tempCodePoint;\n\t            }\n\t          }\n\t      }\n\t    }\n\n\t    if (codePoint === null) {\n\t      // we did not generate a valid codePoint so insert a\n\t      // replacement char (U+FFFD) and advance only 1 byte\n\t      codePoint = 0xFFFD;\n\t      bytesPerSequence = 1;\n\t    } else if (codePoint > 0xFFFF) {\n\t      // encode to utf16 (surrogate pair dance)\n\t      codePoint -= 0x10000;\n\t      res.push(codePoint >>> 10 & 0x3FF | 0xD800);\n\t      codePoint = 0xDC00 | codePoint & 0x3FF;\n\t    }\n\n\t    res.push(codePoint);\n\t    i += bytesPerSequence;\n\t  }\n\n\t  return decodeCodePointsArray(res)\n\t}\n\n\t// Based on http://stackoverflow.com/a/22747272/680742, the browser with\n\t// the lowest limit is Chrome, with 0x10000 args.\n\t// We go 1 magnitude less, for safety\n\tvar MAX_ARGUMENTS_LENGTH = 0x1000;\n\n\tfunction decodeCodePointsArray (codePoints) {\n\t  var len = codePoints.length;\n\t  if (len <= MAX_ARGUMENTS_LENGTH) {\n\t    return String.fromCharCode.apply(String, codePoints) // avoid extra slice()\n\t  }\n\n\t  // Decode in chunks to avoid \"call stack size exceeded\".\n\t  var res = '';\n\t  var i = 0;\n\t  while (i < len) {\n\t    res += String.fromCharCode.apply(\n\t      String,\n\t      codePoints.slice(i, i += MAX_ARGUMENTS_LENGTH)\n\t    );\n\t  }\n\t  return res\n\t}\n\n\tfunction asciiSlice (buf, start, end) {\n\t  var ret = '';\n\t  end = Math.min(buf.length, end);\n\n\t  for (var i = start; i < end; ++i) {\n\t    ret += String.fromCharCode(buf[i] & 0x7F);\n\t  }\n\t  return ret\n\t}\n\n\tfunction latin1Slice (buf, start, end) {\n\t  var ret = '';\n\t  end = Math.min(buf.length, end);\n\n\t  for (var i = start; i < end; ++i) {\n\t    ret += String.fromCharCode(buf[i]);\n\t  }\n\t  return ret\n\t}\n\n\tfunction hexSlice (buf, start, end) {\n\t  var len = buf.length;\n\n\t  if (!start || start < 0) start = 0;\n\t  if (!end || end < 0 || end > len) end = len;\n\n\t  var out = '';\n\t  for (var i = start; i < end; ++i) {\n\t    out += hexSliceLookupTable[buf[i]];\n\t  }\n\t  return out\n\t}\n\n\tfunction utf16leSlice (buf, start, end) {\n\t  var bytes = buf.slice(start, end);\n\t  var res = '';\n\t  for (var i = 0; i < bytes.length; i += 2) {\n\t    res += String.fromCharCode(bytes[i] + (bytes[i + 1] * 256));\n\t  }\n\t  return res\n\t}\n\n\tBuffer.prototype.slice = function slice (start, end) {\n\t  var len = this.length;\n\t  start = ~~start;\n\t  end = end === undefined ? len : ~~end;\n\n\t  if (start < 0) {\n\t    start += len;\n\t    if (start < 0) start = 0;\n\t  } else if (start > len) {\n\t    start = len;\n\t  }\n\n\t  if (end < 0) {\n\t    end += len;\n\t    if (end < 0) end = 0;\n\t  } else if (end > len) {\n\t    end = len;\n\t  }\n\n\t  if (end < start) end = start;\n\n\t  var newBuf = this.subarray(start, end);\n\t  // Return an augmented `Uint8Array` instance\n\t  Object.setPrototypeOf(newBuf, Buffer.prototype);\n\n\t  return newBuf\n\t};\n\n\t/*\n\t * Need to make sure that buffer isn't trying to write out of bounds.\n\t */\n\tfunction checkOffset (offset, ext, length) {\n\t  if ((offset % 1) !== 0 || offset < 0) throw new RangeError('offset is not uint')\n\t  if (offset + ext > length) throw new RangeError('Trying to access beyond buffer length')\n\t}\n\n\tBuffer.prototype.readUIntLE = function readUIntLE (offset, byteLength, noAssert) {\n\t  offset = offset >>> 0;\n\t  byteLength = byteLength >>> 0;\n\t  if (!noAssert) checkOffset(offset, byteLength, this.length);\n\n\t  var val = this[offset];\n\t  var mul = 1;\n\t  var i = 0;\n\t  while (++i < byteLength && (mul *= 0x100)) {\n\t    val += this[offset + i] * mul;\n\t  }\n\n\t  return val\n\t};\n\n\tBuffer.prototype.readUIntBE = function readUIntBE (offset, byteLength, noAssert) {\n\t  offset = offset >>> 0;\n\t  byteLength = byteLength >>> 0;\n\t  if (!noAssert) {\n\t    checkOffset(offset, byteLength, this.length);\n\t  }\n\n\t  var val = this[offset + --byteLength];\n\t  var mul = 1;\n\t  while (byteLength > 0 && (mul *= 0x100)) {\n\t    val += this[offset + --byteLength] * mul;\n\t  }\n\n\t  return val\n\t};\n\n\tBuffer.prototype.readUInt8 = function readUInt8 (offset, noAssert) {\n\t  offset = offset >>> 0;\n\t  if (!noAssert) checkOffset(offset, 1, this.length);\n\t  return this[offset]\n\t};\n\n\tBuffer.prototype.readUInt16LE = function readUInt16LE (offset, noAssert) {\n\t  offset = offset >>> 0;\n\t  if (!noAssert) checkOffset(offset, 2, this.length);\n\t  return this[offset] | (this[offset + 1] << 8)\n\t};\n\n\tBuffer.prototype.readUInt16BE = function readUInt16BE (offset, noAssert) {\n\t  offset = offset >>> 0;\n\t  if (!noAssert) checkOffset(offset, 2, this.length);\n\t  return (this[offset] << 8) | this[offset + 1]\n\t};\n\n\tBuffer.prototype.readUInt32LE = function readUInt32LE (offset, noAssert) {\n\t  offset = offset >>> 0;\n\t  if (!noAssert) checkOffset(offset, 4, this.length);\n\n\t  return ((this[offset]) |\n\t      (this[offset + 1] << 8) |\n\t      (this[offset + 2] << 16)) +\n\t      (this[offset + 3] * 0x1000000)\n\t};\n\n\tBuffer.prototype.readUInt32BE = function readUInt32BE (offset, noAssert) {\n\t  offset = offset >>> 0;\n\t  if (!noAssert) checkOffset(offset, 4, this.length);\n\n\t  return (this[offset] * 0x1000000) +\n\t    ((this[offset + 1] << 16) |\n\t    (this[offset + 2] << 8) |\n\t    this[offset + 3])\n\t};\n\n\tBuffer.prototype.readIntLE = function readIntLE (offset, byteLength, noAssert) {\n\t  offset = offset >>> 0;\n\t  byteLength = byteLength >>> 0;\n\t  if (!noAssert) checkOffset(offset, byteLength, this.length);\n\n\t  var val = this[offset];\n\t  var mul = 1;\n\t  var i = 0;\n\t  while (++i < byteLength && (mul *= 0x100)) {\n\t    val += this[offset + i] * mul;\n\t  }\n\t  mul *= 0x80;\n\n\t  if (val >= mul) val -= Math.pow(2, 8 * byteLength);\n\n\t  return val\n\t};\n\n\tBuffer.prototype.readIntBE = function readIntBE (offset, byteLength, noAssert) {\n\t  offset = offset >>> 0;\n\t  byteLength = byteLength >>> 0;\n\t  if (!noAssert) checkOffset(offset, byteLength, this.length);\n\n\t  var i = byteLength;\n\t  var mul = 1;\n\t  var val = this[offset + --i];\n\t  while (i > 0 && (mul *= 0x100)) {\n\t    val += this[offset + --i] * mul;\n\t  }\n\t  mul *= 0x80;\n\n\t  if (val >= mul) val -= Math.pow(2, 8 * byteLength);\n\n\t  return val\n\t};\n\n\tBuffer.prototype.readInt8 = function readInt8 (offset, noAssert) {\n\t  offset = offset >>> 0;\n\t  if (!noAssert) checkOffset(offset, 1, this.length);\n\t  if (!(this[offset] & 0x80)) return (this[offset])\n\t  return ((0xff - this[offset] + 1) * -1)\n\t};\n\n\tBuffer.prototype.readInt16LE = function readInt16LE (offset, noAssert) {\n\t  offset = offset >>> 0;\n\t  if (!noAssert) checkOffset(offset, 2, this.length);\n\t  var val = this[offset] | (this[offset + 1] << 8);\n\t  return (val & 0x8000) ? val | 0xFFFF0000 : val\n\t};\n\n\tBuffer.prototype.readInt16BE = function readInt16BE (offset, noAssert) {\n\t  offset = offset >>> 0;\n\t  if (!noAssert) checkOffset(offset, 2, this.length);\n\t  var val = this[offset + 1] | (this[offset] << 8);\n\t  return (val & 0x8000) ? val | 0xFFFF0000 : val\n\t};\n\n\tBuffer.prototype.readInt32LE = function readInt32LE (offset, noAssert) {\n\t  offset = offset >>> 0;\n\t  if (!noAssert) checkOffset(offset, 4, this.length);\n\n\t  return (this[offset]) |\n\t    (this[offset + 1] << 8) |\n\t    (this[offset + 2] << 16) |\n\t    (this[offset + 3] << 24)\n\t};\n\n\tBuffer.prototype.readInt32BE = function readInt32BE (offset, noAssert) {\n\t  offset = offset >>> 0;\n\t  if (!noAssert) checkOffset(offset, 4, this.length);\n\n\t  return (this[offset] << 24) |\n\t    (this[offset + 1] << 16) |\n\t    (this[offset + 2] << 8) |\n\t    (this[offset + 3])\n\t};\n\n\tBuffer.prototype.readFloatLE = function readFloatLE (offset, noAssert) {\n\t  offset = offset >>> 0;\n\t  if (!noAssert) checkOffset(offset, 4, this.length);\n\t  return ieee754.read(this, offset, true, 23, 4)\n\t};\n\n\tBuffer.prototype.readFloatBE = function readFloatBE (offset, noAssert) {\n\t  offset = offset >>> 0;\n\t  if (!noAssert) checkOffset(offset, 4, this.length);\n\t  return ieee754.read(this, offset, false, 23, 4)\n\t};\n\n\tBuffer.prototype.readDoubleLE = function readDoubleLE (offset, noAssert) {\n\t  offset = offset >>> 0;\n\t  if (!noAssert) checkOffset(offset, 8, this.length);\n\t  return ieee754.read(this, offset, true, 52, 8)\n\t};\n\n\tBuffer.prototype.readDoubleBE = function readDoubleBE (offset, noAssert) {\n\t  offset = offset >>> 0;\n\t  if (!noAssert) checkOffset(offset, 8, this.length);\n\t  return ieee754.read(this, offset, false, 52, 8)\n\t};\n\n\tfunction checkInt (buf, value, offset, ext, max, min) {\n\t  if (!Buffer.isBuffer(buf)) throw new TypeError('\"buffer\" argument must be a Buffer instance')\n\t  if (value > max || value < min) throw new RangeError('\"value\" argument is out of bounds')\n\t  if (offset + ext > buf.length) throw new RangeError('Index out of range')\n\t}\n\n\tBuffer.prototype.writeUIntLE = function writeUIntLE (value, offset, byteLength, noAssert) {\n\t  value = +value;\n\t  offset = offset >>> 0;\n\t  byteLength = byteLength >>> 0;\n\t  if (!noAssert) {\n\t    var maxBytes = Math.pow(2, 8 * byteLength) - 1;\n\t    checkInt(this, value, offset, byteLength, maxBytes, 0);\n\t  }\n\n\t  var mul = 1;\n\t  var i = 0;\n\t  this[offset] = value & 0xFF;\n\t  while (++i < byteLength && (mul *= 0x100)) {\n\t    this[offset + i] = (value / mul) & 0xFF;\n\t  }\n\n\t  return offset + byteLength\n\t};\n\n\tBuffer.prototype.writeUIntBE = function writeUIntBE (value, offset, byteLength, noAssert) {\n\t  value = +value;\n\t  offset = offset >>> 0;\n\t  byteLength = byteLength >>> 0;\n\t  if (!noAssert) {\n\t    var maxBytes = Math.pow(2, 8 * byteLength) - 1;\n\t    checkInt(this, value, offset, byteLength, maxBytes, 0);\n\t  }\n\n\t  var i = byteLength - 1;\n\t  var mul = 1;\n\t  this[offset + i] = value & 0xFF;\n\t  while (--i >= 0 && (mul *= 0x100)) {\n\t    this[offset + i] = (value / mul) & 0xFF;\n\t  }\n\n\t  return offset + byteLength\n\t};\n\n\tBuffer.prototype.writeUInt8 = function writeUInt8 (value, offset, noAssert) {\n\t  value = +value;\n\t  offset = offset >>> 0;\n\t  if (!noAssert) checkInt(this, value, offset, 1, 0xff, 0);\n\t  this[offset] = (value & 0xff);\n\t  return offset + 1\n\t};\n\n\tBuffer.prototype.writeUInt16LE = function writeUInt16LE (value, offset, noAssert) {\n\t  value = +value;\n\t  offset = offset >>> 0;\n\t  if (!noAssert) checkInt(this, value, offset, 2, 0xffff, 0);\n\t  this[offset] = (value & 0xff);\n\t  this[offset + 1] = (value >>> 8);\n\t  return offset + 2\n\t};\n\n\tBuffer.prototype.writeUInt16BE = function writeUInt16BE (value, offset, noAssert) {\n\t  value = +value;\n\t  offset = offset >>> 0;\n\t  if (!noAssert) checkInt(this, value, offset, 2, 0xffff, 0);\n\t  this[offset] = (value >>> 8);\n\t  this[offset + 1] = (value & 0xff);\n\t  return offset + 2\n\t};\n\n\tBuffer.prototype.writeUInt32LE = function writeUInt32LE (value, offset, noAssert) {\n\t  value = +value;\n\t  offset = offset >>> 0;\n\t  if (!noAssert) checkInt(this, value, offset, 4, 0xffffffff, 0);\n\t  this[offset + 3] = (value >>> 24);\n\t  this[offset + 2] = (value >>> 16);\n\t  this[offset + 1] = (value >>> 8);\n\t  this[offset] = (value & 0xff);\n\t  return offset + 4\n\t};\n\n\tBuffer.prototype.writeUInt32BE = function writeUInt32BE (value, offset, noAssert) {\n\t  value = +value;\n\t  offset = offset >>> 0;\n\t  if (!noAssert) checkInt(this, value, offset, 4, 0xffffffff, 0);\n\t  this[offset] = (value >>> 24);\n\t  this[offset + 1] = (value >>> 16);\n\t  this[offset + 2] = (value >>> 8);\n\t  this[offset + 3] = (value & 0xff);\n\t  return offset + 4\n\t};\n\n\tBuffer.prototype.writeIntLE = function writeIntLE (value, offset, byteLength, noAssert) {\n\t  value = +value;\n\t  offset = offset >>> 0;\n\t  if (!noAssert) {\n\t    var limit = Math.pow(2, (8 * byteLength) - 1);\n\n\t    checkInt(this, value, offset, byteLength, limit - 1, -limit);\n\t  }\n\n\t  var i = 0;\n\t  var mul = 1;\n\t  var sub = 0;\n\t  this[offset] = value & 0xFF;\n\t  while (++i < byteLength && (mul *= 0x100)) {\n\t    if (value < 0 && sub === 0 && this[offset + i - 1] !== 0) {\n\t      sub = 1;\n\t    }\n\t    this[offset + i] = ((value / mul) >> 0) - sub & 0xFF;\n\t  }\n\n\t  return offset + byteLength\n\t};\n\n\tBuffer.prototype.writeIntBE = function writeIntBE (value, offset, byteLength, noAssert) {\n\t  value = +value;\n\t  offset = offset >>> 0;\n\t  if (!noAssert) {\n\t    var limit = Math.pow(2, (8 * byteLength) - 1);\n\n\t    checkInt(this, value, offset, byteLength, limit - 1, -limit);\n\t  }\n\n\t  var i = byteLength - 1;\n\t  var mul = 1;\n\t  var sub = 0;\n\t  this[offset + i] = value & 0xFF;\n\t  while (--i >= 0 && (mul *= 0x100)) {\n\t    if (value < 0 && sub === 0 && this[offset + i + 1] !== 0) {\n\t      sub = 1;\n\t    }\n\t    this[offset + i] = ((value / mul) >> 0) - sub & 0xFF;\n\t  }\n\n\t  return offset + byteLength\n\t};\n\n\tBuffer.prototype.writeInt8 = function writeInt8 (value, offset, noAssert) {\n\t  value = +value;\n\t  offset = offset >>> 0;\n\t  if (!noAssert) checkInt(this, value, offset, 1, 0x7f, -0x80);\n\t  if (value < 0) value = 0xff + value + 1;\n\t  this[offset] = (value & 0xff);\n\t  return offset + 1\n\t};\n\n\tBuffer.prototype.writeInt16LE = function writeInt16LE (value, offset, noAssert) {\n\t  value = +value;\n\t  offset = offset >>> 0;\n\t  if (!noAssert) checkInt(this, value, offset, 2, 0x7fff, -0x8000);\n\t  this[offset] = (value & 0xff);\n\t  this[offset + 1] = (value >>> 8);\n\t  return offset + 2\n\t};\n\n\tBuffer.prototype.writeInt16BE = function writeInt16BE (value, offset, noAssert) {\n\t  value = +value;\n\t  offset = offset >>> 0;\n\t  if (!noAssert) checkInt(this, value, offset, 2, 0x7fff, -0x8000);\n\t  this[offset] = (value >>> 8);\n\t  this[offset + 1] = (value & 0xff);\n\t  return offset + 2\n\t};\n\n\tBuffer.prototype.writeInt32LE = function writeInt32LE (value, offset, noAssert) {\n\t  value = +value;\n\t  offset = offset >>> 0;\n\t  if (!noAssert) checkInt(this, value, offset, 4, 0x7fffffff, -0x80000000);\n\t  this[offset] = (value & 0xff);\n\t  this[offset + 1] = (value >>> 8);\n\t  this[offset + 2] = (value >>> 16);\n\t  this[offset + 3] = (value >>> 24);\n\t  return offset + 4\n\t};\n\n\tBuffer.prototype.writeInt32BE = function writeInt32BE (value, offset, noAssert) {\n\t  value = +value;\n\t  offset = offset >>> 0;\n\t  if (!noAssert) checkInt(this, value, offset, 4, 0x7fffffff, -0x80000000);\n\t  if (value < 0) value = 0xffffffff + value + 1;\n\t  this[offset] = (value >>> 24);\n\t  this[offset + 1] = (value >>> 16);\n\t  this[offset + 2] = (value >>> 8);\n\t  this[offset + 3] = (value & 0xff);\n\t  return offset + 4\n\t};\n\n\tfunction checkIEEE754 (buf, value, offset, ext, max, min) {\n\t  if (offset + ext > buf.length) throw new RangeError('Index out of range')\n\t  if (offset < 0) throw new RangeError('Index out of range')\n\t}\n\n\tfunction writeFloat (buf, value, offset, littleEndian, noAssert) {\n\t  value = +value;\n\t  offset = offset >>> 0;\n\t  if (!noAssert) {\n\t    checkIEEE754(buf, value, offset, 4);\n\t  }\n\t  ieee754.write(buf, value, offset, littleEndian, 23, 4);\n\t  return offset + 4\n\t}\n\n\tBuffer.prototype.writeFloatLE = function writeFloatLE (value, offset, noAssert) {\n\t  return writeFloat(this, value, offset, true, noAssert)\n\t};\n\n\tBuffer.prototype.writeFloatBE = function writeFloatBE (value, offset, noAssert) {\n\t  return writeFloat(this, value, offset, false, noAssert)\n\t};\n\n\tfunction writeDouble (buf, value, offset, littleEndian, noAssert) {\n\t  value = +value;\n\t  offset = offset >>> 0;\n\t  if (!noAssert) {\n\t    checkIEEE754(buf, value, offset, 8);\n\t  }\n\t  ieee754.write(buf, value, offset, littleEndian, 52, 8);\n\t  return offset + 8\n\t}\n\n\tBuffer.prototype.writeDoubleLE = function writeDoubleLE (value, offset, noAssert) {\n\t  return writeDouble(this, value, offset, true, noAssert)\n\t};\n\n\tBuffer.prototype.writeDoubleBE = function writeDoubleBE (value, offset, noAssert) {\n\t  return writeDouble(this, value, offset, false, noAssert)\n\t};\n\n\t// copy(targetBuffer, targetStart=0, sourceStart=0, sourceEnd=buffer.length)\n\tBuffer.prototype.copy = function copy (target, targetStart, start, end) {\n\t  if (!Buffer.isBuffer(target)) throw new TypeError('argument should be a Buffer')\n\t  if (!start) start = 0;\n\t  if (!end && end !== 0) end = this.length;\n\t  if (targetStart >= target.length) targetStart = target.length;\n\t  if (!targetStart) targetStart = 0;\n\t  if (end > 0 && end < start) end = start;\n\n\t  // Copy 0 bytes; we're done\n\t  if (end === start) return 0\n\t  if (target.length === 0 || this.length === 0) return 0\n\n\t  // Fatal error conditions\n\t  if (targetStart < 0) {\n\t    throw new RangeError('targetStart out of bounds')\n\t  }\n\t  if (start < 0 || start >= this.length) throw new RangeError('Index out of range')\n\t  if (end < 0) throw new RangeError('sourceEnd out of bounds')\n\n\t  // Are we oob?\n\t  if (end > this.length) end = this.length;\n\t  if (target.length - targetStart < end - start) {\n\t    end = target.length - targetStart + start;\n\t  }\n\n\t  var len = end - start;\n\n\t  if (this === target && typeof Uint8Array.prototype.copyWithin === 'function') {\n\t    // Use built-in when available, missing from IE11\n\t    this.copyWithin(targetStart, start, end);\n\t  } else if (this === target && start < targetStart && targetStart < end) {\n\t    // descending copy from end\n\t    for (var i = len - 1; i >= 0; --i) {\n\t      target[i + targetStart] = this[i + start];\n\t    }\n\t  } else {\n\t    Uint8Array.prototype.set.call(\n\t      target,\n\t      this.subarray(start, end),\n\t      targetStart\n\t    );\n\t  }\n\n\t  return len\n\t};\n\n\t// Usage:\n\t//    buffer.fill(number[, offset[, end]])\n\t//    buffer.fill(buffer[, offset[, end]])\n\t//    buffer.fill(string[, offset[, end]][, encoding])\n\tBuffer.prototype.fill = function fill (val, start, end, encoding) {\n\t  // Handle string cases:\n\t  if (typeof val === 'string') {\n\t    if (typeof start === 'string') {\n\t      encoding = start;\n\t      start = 0;\n\t      end = this.length;\n\t    } else if (typeof end === 'string') {\n\t      encoding = end;\n\t      end = this.length;\n\t    }\n\t    if (encoding !== undefined && typeof encoding !== 'string') {\n\t      throw new TypeError('encoding must be a string')\n\t    }\n\t    if (typeof encoding === 'string' && !Buffer.isEncoding(encoding)) {\n\t      throw new TypeError('Unknown encoding: ' + encoding)\n\t    }\n\t    if (val.length === 1) {\n\t      var code = val.charCodeAt(0);\n\t      if ((encoding === 'utf8' && code < 128) ||\n\t          encoding === 'latin1') {\n\t        // Fast path: If `val` fits into a single byte, use that numeric value.\n\t        val = code;\n\t      }\n\t    }\n\t  } else if (typeof val === 'number') {\n\t    val = val & 255;\n\t  } else if (typeof val === 'boolean') {\n\t    val = Number(val);\n\t  }\n\n\t  // Invalid ranges are not set to a default, so can range check early.\n\t  if (start < 0 || this.length < start || this.length < end) {\n\t    throw new RangeError('Out of range index')\n\t  }\n\n\t  if (end <= start) {\n\t    return this\n\t  }\n\n\t  start = start >>> 0;\n\t  end = end === undefined ? this.length : end >>> 0;\n\n\t  if (!val) val = 0;\n\n\t  var i;\n\t  if (typeof val === 'number') {\n\t    for (i = start; i < end; ++i) {\n\t      this[i] = val;\n\t    }\n\t  } else {\n\t    var bytes = Buffer.isBuffer(val)\n\t      ? val\n\t      : Buffer.from(val, encoding);\n\t    var len = bytes.length;\n\t    if (len === 0) {\n\t      throw new TypeError('The value \"' + val +\n\t        '\" is invalid for argument \"value\"')\n\t    }\n\t    for (i = 0; i < end - start; ++i) {\n\t      this[i + start] = bytes[i % len];\n\t    }\n\t  }\n\n\t  return this\n\t};\n\n\t// HELPER FUNCTIONS\n\t// ================\n\n\tvar INVALID_BASE64_RE = /[^+/0-9A-Za-z-_]/g;\n\n\tfunction base64clean (str) {\n\t  // Node takes equal signs as end of the Base64 encoding\n\t  str = str.split('=')[0];\n\t  // Node strips out invalid characters like \\n and \\t from the string, base64-js does not\n\t  str = str.trim().replace(INVALID_BASE64_RE, '');\n\t  // Node converts strings with length < 2 to ''\n\t  if (str.length < 2) return ''\n\t  // Node allows for non-padded base64 strings (missing trailing ===), base64-js does not\n\t  while (str.length % 4 !== 0) {\n\t    str = str + '=';\n\t  }\n\t  return str\n\t}\n\n\tfunction utf8ToBytes (string, units) {\n\t  units = units || Infinity;\n\t  var codePoint;\n\t  var length = string.length;\n\t  var leadSurrogate = null;\n\t  var bytes = [];\n\n\t  for (var i = 0; i < length; ++i) {\n\t    codePoint = string.charCodeAt(i);\n\n\t    // is surrogate component\n\t    if (codePoint > 0xD7FF && codePoint < 0xE000) {\n\t      // last char was a lead\n\t      if (!leadSurrogate) {\n\t        // no lead yet\n\t        if (codePoint > 0xDBFF) {\n\t          // unexpected trail\n\t          if ((units -= 3) > -1) bytes.push(0xEF, 0xBF, 0xBD);\n\t          continue\n\t        } else if (i + 1 === length) {\n\t          // unpaired lead\n\t          if ((units -= 3) > -1) bytes.push(0xEF, 0xBF, 0xBD);\n\t          continue\n\t        }\n\n\t        // valid lead\n\t        leadSurrogate = codePoint;\n\n\t        continue\n\t      }\n\n\t      // 2 leads in a row\n\t      if (codePoint < 0xDC00) {\n\t        if ((units -= 3) > -1) bytes.push(0xEF, 0xBF, 0xBD);\n\t        leadSurrogate = codePoint;\n\t        continue\n\t      }\n\n\t      // valid surrogate pair\n\t      codePoint = (leadSurrogate - 0xD800 << 10 | codePoint - 0xDC00) + 0x10000;\n\t    } else if (leadSurrogate) {\n\t      // valid bmp char, but last char was a lead\n\t      if ((units -= 3) > -1) bytes.push(0xEF, 0xBF, 0xBD);\n\t    }\n\n\t    leadSurrogate = null;\n\n\t    // encode utf8\n\t    if (codePoint < 0x80) {\n\t      if ((units -= 1) < 0) break\n\t      bytes.push(codePoint);\n\t    } else if (codePoint < 0x800) {\n\t      if ((units -= 2) < 0) break\n\t      bytes.push(\n\t        codePoint >> 0x6 | 0xC0,\n\t        codePoint & 0x3F | 0x80\n\t      );\n\t    } else if (codePoint < 0x10000) {\n\t      if ((units -= 3) < 0) break\n\t      bytes.push(\n\t        codePoint >> 0xC | 0xE0,\n\t        codePoint >> 0x6 & 0x3F | 0x80,\n\t        codePoint & 0x3F | 0x80\n\t      );\n\t    } else if (codePoint < 0x110000) {\n\t      if ((units -= 4) < 0) break\n\t      bytes.push(\n\t        codePoint >> 0x12 | 0xF0,\n\t        codePoint >> 0xC & 0x3F | 0x80,\n\t        codePoint >> 0x6 & 0x3F | 0x80,\n\t        codePoint & 0x3F | 0x80\n\t      );\n\t    } else {\n\t      throw new Error('Invalid code point')\n\t    }\n\t  }\n\n\t  return bytes\n\t}\n\n\tfunction asciiToBytes (str) {\n\t  var byteArray = [];\n\t  for (var i = 0; i < str.length; ++i) {\n\t    // Node's code seems to be doing this and not & 0x7F..\n\t    byteArray.push(str.charCodeAt(i) & 0xFF);\n\t  }\n\t  return byteArray\n\t}\n\n\tfunction utf16leToBytes (str, units) {\n\t  var c, hi, lo;\n\t  var byteArray = [];\n\t  for (var i = 0; i < str.length; ++i) {\n\t    if ((units -= 2) < 0) break\n\n\t    c = str.charCodeAt(i);\n\t    hi = c >> 8;\n\t    lo = c % 256;\n\t    byteArray.push(lo);\n\t    byteArray.push(hi);\n\t  }\n\n\t  return byteArray\n\t}\n\n\tfunction base64ToBytes (str) {\n\t  return base64.toByteArray(base64clean(str))\n\t}\n\n\tfunction blitBuffer (src, dst, offset, length) {\n\t  for (var i = 0; i < length; ++i) {\n\t    if ((i + offset >= dst.length) || (i >= src.length)) break\n\t    dst[i + offset] = src[i];\n\t  }\n\t  return i\n\t}\n\n\t// ArrayBuffer or Uint8Array objects from other contexts (i.e. iframes) do not pass\n\t// the `instanceof` check but they should be treated as of that type.\n\t// See: https://github.com/feross/buffer/issues/166\n\tfunction isInstance (obj, type) {\n\t  return obj instanceof type ||\n\t    (obj != null && obj.constructor != null && obj.constructor.name != null &&\n\t      obj.constructor.name === type.name)\n\t}\n\tfunction numberIsNaN (obj) {\n\t  // For IE11 support\n\t  return obj !== obj // eslint-disable-line no-self-compare\n\t}\n\n\t// Create lookup table for `toString('hex')`\n\t// See: https://github.com/feross/buffer/issues/219\n\tvar hexSliceLookupTable = (function () {\n\t  var alphabet = '0123456789abcdef';\n\t  var table = new Array(256);\n\t  for (var i = 0; i < 16; ++i) {\n\t    var i16 = i * 16;\n\t    for (var j = 0; j < 16; ++j) {\n\t      table[i16 + j] = alphabet[i] + alphabet[j];\n\t    }\n\t  }\n\t  return table\n\t})();\n\n\t},{\"base64-js\":29,\"ieee754\":32}],31:[function(require,module,exports){\n\n\t/******************************************************************************\n\t * Created 2008-08-19.\n\t *\n\t * Dijkstra path-finding functions. Adapted from the Dijkstar Python project.\n\t *\n\t * Copyright (C) 2008\n\t *   Wyatt Baldwin <self@wyattbaldwin.com>\n\t *   All rights reserved\n\t *\n\t * Licensed under the MIT license.\n\t *\n\t *   http://www.opensource.org/licenses/mit-license.php\n\t *\n\t * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n\t * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n\t * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n\t * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n\t * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n\t * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN\n\t * THE SOFTWARE.\n\t *****************************************************************************/\n\tvar dijkstra = {\n\t  single_source_shortest_paths: function(graph, s, d) {\n\t    // Predecessor map for each node that has been encountered.\n\t    // node ID => predecessor node ID\n\t    var predecessors = {};\n\n\t    // Costs of shortest paths from s to all nodes encountered.\n\t    // node ID => cost\n\t    var costs = {};\n\t    costs[s] = 0;\n\n\t    // Costs of shortest paths from s to all nodes encountered; differs from\n\t    // `costs` in that it provides easy access to the node that currently has\n\t    // the known shortest path from s.\n\t    // XXX: Do we actually need both `costs` and `open`?\n\t    var open = dijkstra.PriorityQueue.make();\n\t    open.push(s, 0);\n\n\t    var closest,\n\t        u, v,\n\t        cost_of_s_to_u,\n\t        adjacent_nodes,\n\t        cost_of_e,\n\t        cost_of_s_to_u_plus_cost_of_e,\n\t        cost_of_s_to_v,\n\t        first_visit;\n\t    while (!open.empty()) {\n\t      // In the nodes remaining in graph that have a known cost from s,\n\t      // find the node, u, that currently has the shortest path from s.\n\t      closest = open.pop();\n\t      u = closest.value;\n\t      cost_of_s_to_u = closest.cost;\n\n\t      // Get nodes adjacent to u...\n\t      adjacent_nodes = graph[u] || {};\n\n\t      // ...and explore the edges that connect u to those nodes, updating\n\t      // the cost of the shortest paths to any or all of those nodes as\n\t      // necessary. v is the node across the current edge from u.\n\t      for (v in adjacent_nodes) {\n\t        if (adjacent_nodes.hasOwnProperty(v)) {\n\t          // Get the cost of the edge running from u to v.\n\t          cost_of_e = adjacent_nodes[v];\n\n\t          // Cost of s to u plus the cost of u to v across e--this is *a*\n\t          // cost from s to v that may or may not be less than the current\n\t          // known cost to v.\n\t          cost_of_s_to_u_plus_cost_of_e = cost_of_s_to_u + cost_of_e;\n\n\t          // If we haven't visited v yet OR if the current known cost from s to\n\t          // v is greater than the new cost we just found (cost of s to u plus\n\t          // cost of u to v across e), update v's cost in the cost list and\n\t          // update v's predecessor in the predecessor list (it's now u).\n\t          cost_of_s_to_v = costs[v];\n\t          first_visit = (typeof costs[v] === 'undefined');\n\t          if (first_visit || cost_of_s_to_v > cost_of_s_to_u_plus_cost_of_e) {\n\t            costs[v] = cost_of_s_to_u_plus_cost_of_e;\n\t            open.push(v, cost_of_s_to_u_plus_cost_of_e);\n\t            predecessors[v] = u;\n\t          }\n\t        }\n\t      }\n\t    }\n\n\t    if (typeof d !== 'undefined' && typeof costs[d] === 'undefined') {\n\t      var msg = ['Could not find a path from ', s, ' to ', d, '.'].join('');\n\t      throw new Error(msg);\n\t    }\n\n\t    return predecessors;\n\t  },\n\n\t  extract_shortest_path_from_predecessor_list: function(predecessors, d) {\n\t    var nodes = [];\n\t    var u = d;\n\t    var predecessor;\n\t    while (u) {\n\t      nodes.push(u);\n\t      predecessor = predecessors[u];\n\t      u = predecessors[u];\n\t    }\n\t    nodes.reverse();\n\t    return nodes;\n\t  },\n\n\t  find_path: function(graph, s, d) {\n\t    var predecessors = dijkstra.single_source_shortest_paths(graph, s, d);\n\t    return dijkstra.extract_shortest_path_from_predecessor_list(\n\t      predecessors, d);\n\t  },\n\n\t  /**\n\t   * A very naive priority queue implementation.\n\t   */\n\t  PriorityQueue: {\n\t    make: function (opts) {\n\t      var T = dijkstra.PriorityQueue,\n\t          t = {},\n\t          key;\n\t      opts = opts || {};\n\t      for (key in T) {\n\t        if (T.hasOwnProperty(key)) {\n\t          t[key] = T[key];\n\t        }\n\t      }\n\t      t.queue = [];\n\t      t.sorter = opts.sorter || T.default_sorter;\n\t      return t;\n\t    },\n\n\t    default_sorter: function (a, b) {\n\t      return a.cost - b.cost;\n\t    },\n\n\t    /**\n\t     * Add a new item to the queue and ensure the highest priority element\n\t     * is at the front of the queue.\n\t     */\n\t    push: function (value, cost) {\n\t      var item = {value: value, cost: cost};\n\t      this.queue.push(item);\n\t      this.queue.sort(this.sorter);\n\t    },\n\n\t    /**\n\t     * Return the highest priority element in the queue.\n\t     */\n\t    pop: function () {\n\t      return this.queue.shift();\n\t    },\n\n\t    empty: function () {\n\t      return this.queue.length === 0;\n\t    }\n\t  }\n\t};\n\n\n\t// node.js module exports\n\tif (typeof module !== 'undefined') {\n\t  module.exports = dijkstra;\n\t}\n\n\t},{}],32:[function(require,module,exports){\n\texports.read = function (buffer, offset, isLE, mLen, nBytes) {\n\t  var e, m;\n\t  var eLen = (nBytes * 8) - mLen - 1;\n\t  var eMax = (1 << eLen) - 1;\n\t  var eBias = eMax >> 1;\n\t  var nBits = -7;\n\t  var i = isLE ? (nBytes - 1) : 0;\n\t  var d = isLE ? -1 : 1;\n\t  var s = buffer[offset + i];\n\n\t  i += d;\n\n\t  e = s & ((1 << (-nBits)) - 1);\n\t  s >>= (-nBits);\n\t  nBits += eLen;\n\t  for (; nBits > 0; e = (e * 256) + buffer[offset + i], i += d, nBits -= 8) {}\n\n\t  m = e & ((1 << (-nBits)) - 1);\n\t  e >>= (-nBits);\n\t  nBits += mLen;\n\t  for (; nBits > 0; m = (m * 256) + buffer[offset + i], i += d, nBits -= 8) {}\n\n\t  if (e === 0) {\n\t    e = 1 - eBias;\n\t  } else if (e === eMax) {\n\t    return m ? NaN : ((s ? -1 : 1) * Infinity)\n\t  } else {\n\t    m = m + Math.pow(2, mLen);\n\t    e = e - eBias;\n\t  }\n\t  return (s ? -1 : 1) * m * Math.pow(2, e - mLen)\n\t};\n\n\texports.write = function (buffer, value, offset, isLE, mLen, nBytes) {\n\t  var e, m, c;\n\t  var eLen = (nBytes * 8) - mLen - 1;\n\t  var eMax = (1 << eLen) - 1;\n\t  var eBias = eMax >> 1;\n\t  var rt = (mLen === 23 ? Math.pow(2, -24) - Math.pow(2, -77) : 0);\n\t  var i = isLE ? 0 : (nBytes - 1);\n\t  var d = isLE ? 1 : -1;\n\t  var s = value < 0 || (value === 0 && 1 / value < 0) ? 1 : 0;\n\n\t  value = Math.abs(value);\n\n\t  if (isNaN(value) || value === Infinity) {\n\t    m = isNaN(value) ? 1 : 0;\n\t    e = eMax;\n\t  } else {\n\t    e = Math.floor(Math.log(value) / Math.LN2);\n\t    if (value * (c = Math.pow(2, -e)) < 1) {\n\t      e--;\n\t      c *= 2;\n\t    }\n\t    if (e + eBias >= 1) {\n\t      value += rt / c;\n\t    } else {\n\t      value += rt * Math.pow(2, 1 - eBias);\n\t    }\n\t    if (value * c >= 2) {\n\t      e++;\n\t      c /= 2;\n\t    }\n\n\t    if (e + eBias >= eMax) {\n\t      m = 0;\n\t      e = eMax;\n\t    } else if (e + eBias >= 1) {\n\t      m = ((value * c) - 1) * Math.pow(2, mLen);\n\t      e = e + eBias;\n\t    } else {\n\t      m = value * Math.pow(2, eBias - 1) * Math.pow(2, mLen);\n\t      e = 0;\n\t    }\n\t  }\n\n\t  for (; mLen >= 8; buffer[offset + i] = m & 0xff, i += d, m /= 256, mLen -= 8) {}\n\n\t  e = (e << mLen) | m;\n\t  eLen += mLen;\n\t  for (; eLen > 0; buffer[offset + i] = e & 0xff, i += d, e /= 256, eLen -= 8) {}\n\n\t  buffer[offset + i - d] |= s * 128;\n\t};\n\n\t},{}],33:[function(require,module,exports){\n\tvar toString = {}.toString;\n\n\tmodule.exports = Array.isArray || function (arr) {\n\t  return toString.call(arr) == '[object Array]';\n\t};\n\n\t},{}]},{},[24])(24)\n\t});\n\n\n\t});\n\n\tvar index = {\n\t  name: 'qrcode',\n\t  props: {\n\t    /**\n\t     * The value of the QR code.\n\t     */\n\t    value: null,\n\n\t    /**\n\t     * The options for the QR code generator.\n\t     * {@link https://github.com/soldair/node-qrcode#qr-code-options}\n\t     */\n\t    options: Object,\n\n\t    /**\n\t     * The tag name of the component's root element.\n\t     */\n\t    tag: {\n\t      type: String,\n\t      default: 'canvas'\n\t    }\n\t  },\n\t  render: function render(createElement) {\n\t    return createElement(this.tag, this.$slots.default);\n\t  },\n\t  watch: {\n\t    $props: {\n\t      deep: true,\n\t      immediate: true,\n\n\t      /**\n\t       * Update the QR code when props changed.\n\t       */\n\t      handler: function handler() {\n\t        if (this.$el) {\n\t          this.generate();\n\t        }\n\t      }\n\t    }\n\t  },\n\t  methods: {\n\t    /**\n\t     * Generate QR code.\n\t     */\n\t    generate: function generate() {\n\t      var _this = this;\n\n\t      var options = this.options,\n\t          tag = this.tag;\n\t      var value = String(this.value);\n\n\t      if (tag === 'canvas') {\n\t        qrcode.toCanvas(this.$el, value, options, function (error) {\n\t          /* istanbul ignore if */\n\t          if (error) {\n\t            throw error;\n\t          }\n\t        });\n\t      } else if (tag === 'img') {\n\t        qrcode.toDataURL(value, options, function (error, url) {\n\t          /* istanbul ignore if */\n\t          if (error) {\n\t            throw error;\n\t          }\n\n\t          _this.$el.src = url;\n\t        });\n\t      } else {\n\t        qrcode.toString(value, options, function (error, string) {\n\t          /* istanbul ignore if */\n\t          if (error) {\n\t            throw error;\n\t          }\n\n\t          _this.$el.innerHTML = string;\n\t        });\n\t      }\n\t    }\n\t  },\n\t  mounted: function mounted() {\n\t    this.generate();\n\t  }\n\t};\n\n\treturn index;\n\n})));\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `.fade-enter-active[data-v-8e58e0a5],\n.fade-leave-active[data-v-8e58e0a5] {\n  transition: opacity .3s ease;\n}\n.fade-enter[data-v-8e58e0a5],\n.fade-leave-to[data-v-8e58e0a5] {\n  opacity: 0;\n}\n.linked-icons[data-v-8e58e0a5] {\n  display: flex;\n}\n.linked-icons img[data-v-8e58e0a5] {\n  padding: 12px;\n  height: 44px;\n  display: block;\n  background-repeat: no-repeat;\n  background-position: center;\n  opacity: .7;\n}\n.linked-icons img[data-v-8e58e0a5]:hover {\n  opacity: 1;\n}\n.popovermenu[data-v-8e58e0a5] {\n  display: none;\n}\n.popovermenu.open[data-v-8e58e0a5] {\n  display: block;\n}\nli.collection-list-item[data-v-8e58e0a5] {\n  flex-wrap: wrap;\n  height: auto;\n  cursor: pointer;\n  margin-bottom: 0 !important;\n}\nli.collection-list-item .collection-avatar[data-v-8e58e0a5] {\n  margin-top: 6px;\n}\nli.collection-list-item form[data-v-8e58e0a5],\nli.collection-list-item .collection-item-name[data-v-8e58e0a5] {\n  flex-basis: 10%;\n  flex-grow: 1;\n  display: flex;\n}\nli.collection-list-item .collection-item-name[data-v-8e58e0a5] {\n  padding: 12px 9px;\n}\nli.collection-list-item input[data-v-8e58e0a5] {\n  margin-top: 4px;\n  border-color: var(--color-border-maxcontrast);\n}\nli.collection-list-item input[type=text][data-v-8e58e0a5] {\n  flex-grow: 1;\n}\nli.collection-list-item .error[data-v-8e58e0a5],\nli.collection-list-item .resource-list-details[data-v-8e58e0a5] {\n  flex-basis: 100%;\n  width: 100%;\n}\nli.collection-list-item .resource-list-details li[data-v-8e58e0a5] {\n  display: flex;\n  margin-left: 44px;\n  border-radius: 3px;\n  cursor: pointer;\n}\nli.collection-list-item .resource-list-details li[data-v-8e58e0a5]:hover {\n  background-color: var(--color-background-dark);\n}\nli.collection-list-item .resource-list-details li a[data-v-8e58e0a5] {\n  flex-grow: 1;\n  padding: 3px;\n  max-width: calc(100% - 30px);\n  display: flex;\n}\nli.collection-list-item .resource-list-details span[data-v-8e58e0a5] {\n  display: inline-block;\n  vertical-align: top;\n  margin-right: 10px;\n}\nli.collection-list-item .resource-list-details span.resource-name[data-v-8e58e0a5] {\n  text-overflow: ellipsis;\n  overflow: hidden;\n  position: relative;\n  vertical-align: top;\n  white-space: nowrap;\n  flex-grow: 1;\n  padding: 4px;\n}\nli.collection-list-item .resource-list-details img[data-v-8e58e0a5] {\n  width: 24px;\n  height: 24px;\n}\nli.collection-list-item .resource-list-details .icon-close[data-v-8e58e0a5] {\n  opacity: .7;\n}\nli.collection-list-item .resource-list-details .icon-close[data-v-8e58e0a5]:hover,\nli.collection-list-item .resource-list-details .icon-close[data-v-8e58e0a5]:focus {\n  opacity: 1;\n}\n.shouldshake[data-v-8e58e0a5] {\n  animation: shake-8e58e0a5 .6s 1 linear;\n}\n@keyframes shake-8e58e0a5 {\n  0% {\n    transform: translate(15px);\n  }\n  20% {\n    transform: translate(-15px);\n  }\n  40% {\n    transform: translate(7px);\n  }\n  60% {\n    transform: translate(-7px);\n  }\n  80% {\n    transform: translate(3px);\n  }\n  to {\n    transform: translate(0);\n  }\n}\n.collection-list *[data-v-75a4370b] {\n  box-sizing: border-box;\n}\n.collection-list > li[data-v-75a4370b] {\n  display: flex;\n  align-items: start;\n  gap: 12px;\n}\n.collection-list > li > .avatar[data-v-75a4370b] {\n  margin-top: auto;\n}\n#collection-select-container[data-v-75a4370b] {\n  display: flex;\n  flex-direction: column;\n}\n.v-select span.avatar[data-v-75a4370b] {\n  display: block;\n  padding: 16px;\n  opacity: .7;\n  background-repeat: no-repeat;\n  background-position: center;\n}\n.v-select span.avatar[data-v-75a4370b]:hover {\n  opacity: 1;\n}\np.hint[data-v-75a4370b] {\n  z-index: 1;\n  margin-top: -16px;\n  padding: 8px;\n  color: var(--color-text-maxcontrast);\n  line-height: normal;\n}\ndiv.avatar[data-v-75a4370b] {\n  width: 32px;\n  height: 32px;\n  margin: 30px 0 0;\n  padding: 8px;\n  background-color: var(--color-background-dark);\n}\n.icon-projects[data-v-75a4370b] {\n  display: block;\n  padding: 8px;\n  background-repeat: no-repeat;\n  background-position: center;\n}\n.option__wrapper[data-v-75a4370b] {\n  display: flex;\n}\n.option__wrapper .avatar[data-v-75a4370b] {\n  display: block;\n  background-color: var(--color-background-darker) !important;\n}\n.option__wrapper .option__title[data-v-75a4370b] {\n  padding: 4px;\n}\n.fade-enter-active[data-v-75a4370b],\n.fade-leave-active[data-v-75a4370b] {\n  transition: opacity .5s;\n}\n.fade-enter[data-v-75a4370b],\n.fade-leave-to[data-v-75a4370b] {\n  opacity: 0;\n}\n`, \"\",{\"version\":3,\"sources\":[\"webpack://./node_modules/nextcloud-vue-collections/dist/assets/index-Au1Gr_G6.css\"],\"names\":[],\"mappings\":\"AAAA;;EAEE,4BAA4B;AAC9B;AACA;;EAEE,UAAU;AACZ;AACA;EACE,aAAa;AACf;AACA;EACE,aAAa;EACb,YAAY;EACZ,cAAc;EACd,4BAA4B;EAC5B,2BAA2B;EAC3B,WAAW;AACb;AACA;EACE,UAAU;AACZ;AACA;EACE,aAAa;AACf;AACA;EACE,cAAc;AAChB;AACA;EACE,eAAe;EACf,YAAY;EACZ,eAAe;EACf,2BAA2B;AAC7B;AACA;EACE,eAAe;AACjB;AACA;;EAEE,eAAe;EACf,YAAY;EACZ,aAAa;AACf;AACA;EACE,iBAAiB;AACnB;AACA;EACE,eAAe;EACf,6CAA6C;AAC/C;AACA;EACE,YAAY;AACd;AACA;;EAEE,gBAAgB;EAChB,WAAW;AACb;AACA;EACE,aAAa;EACb,iBAAiB;EACjB,kBAAkB;EAClB,eAAe;AACjB;AACA;EACE,8CAA8C;AAChD;AACA;EACE,YAAY;EACZ,YAAY;EACZ,4BAA4B;EAC5B,aAAa;AACf;AACA;EACE,qBAAqB;EACrB,mBAAmB;EACnB,kBAAkB;AACpB;AACA;EACE,uBAAuB;EACvB,gBAAgB;EAChB,kBAAkB;EAClB,mBAAmB;EACnB,mBAAmB;EACnB,YAAY;EACZ,YAAY;AACd;AACA;EACE,WAAW;EACX,YAAY;AACd;AACA;EACE,WAAW;AACb;AACA;;EAEE,UAAU;AACZ;AACA;EACE,sCAAsC;AACxC;AACA;EACE;IACE,0BAA0B;EAC5B;EACA;IACE,2BAA2B;EAC7B;EACA;IACE,yBAAyB;EAC3B;EACA;IACE,0BAA0B;EAC5B;EACA;IACE,yBAAyB;EAC3B;EACA;IACE,uBAAuB;EACzB;AACF;AACA;EACE,sBAAsB;AACxB;AACA;EACE,aAAa;EACb,kBAAkB;EAClB,SAAS;AACX;AACA;EACE,gBAAgB;AAClB;AACA;EACE,aAAa;EACb,sBAAsB;AACxB;AACA;EACE,cAAc;EACd,aAAa;EACb,WAAW;EACX,4BAA4B;EAC5B,2BAA2B;AAC7B;AACA;EACE,UAAU;AACZ;AACA;EACE,UAAU;EACV,iBAAiB;EACjB,YAAY;EACZ,oCAAoC;EACpC,mBAAmB;AACrB;AACA;EACE,WAAW;EACX,YAAY;EACZ,gBAAgB;EAChB,YAAY;EACZ,8CAA8C;AAChD;AACA;EACE,cAAc;EACd,YAAY;EACZ,4BAA4B;EAC5B,2BAA2B;AAC7B;AACA;EACE,aAAa;AACf;AACA;EACE,cAAc;EACd,2DAA2D;AAC7D;AACA;EACE,YAAY;AACd;AACA;;EAEE,uBAAuB;AACzB;AACA;;EAEE,UAAU;AACZ\",\"sourcesContent\":[\".fade-enter-active[data-v-8e58e0a5],\\n.fade-leave-active[data-v-8e58e0a5] {\\n  transition: opacity .3s ease;\\n}\\n.fade-enter[data-v-8e58e0a5],\\n.fade-leave-to[data-v-8e58e0a5] {\\n  opacity: 0;\\n}\\n.linked-icons[data-v-8e58e0a5] {\\n  display: flex;\\n}\\n.linked-icons img[data-v-8e58e0a5] {\\n  padding: 12px;\\n  height: 44px;\\n  display: block;\\n  background-repeat: no-repeat;\\n  background-position: center;\\n  opacity: .7;\\n}\\n.linked-icons img[data-v-8e58e0a5]:hover {\\n  opacity: 1;\\n}\\n.popovermenu[data-v-8e58e0a5] {\\n  display: none;\\n}\\n.popovermenu.open[data-v-8e58e0a5] {\\n  display: block;\\n}\\nli.collection-list-item[data-v-8e58e0a5] {\\n  flex-wrap: wrap;\\n  height: auto;\\n  cursor: pointer;\\n  margin-bottom: 0 !important;\\n}\\nli.collection-list-item .collection-avatar[data-v-8e58e0a5] {\\n  margin-top: 6px;\\n}\\nli.collection-list-item form[data-v-8e58e0a5],\\nli.collection-list-item .collection-item-name[data-v-8e58e0a5] {\\n  flex-basis: 10%;\\n  flex-grow: 1;\\n  display: flex;\\n}\\nli.collection-list-item .collection-item-name[data-v-8e58e0a5] {\\n  padding: 12px 9px;\\n}\\nli.collection-list-item input[data-v-8e58e0a5] {\\n  margin-top: 4px;\\n  border-color: var(--color-border-maxcontrast);\\n}\\nli.collection-list-item input[type=text][data-v-8e58e0a5] {\\n  flex-grow: 1;\\n}\\nli.collection-list-item .error[data-v-8e58e0a5],\\nli.collection-list-item .resource-list-details[data-v-8e58e0a5] {\\n  flex-basis: 100%;\\n  width: 100%;\\n}\\nli.collection-list-item .resource-list-details li[data-v-8e58e0a5] {\\n  display: flex;\\n  margin-left: 44px;\\n  border-radius: 3px;\\n  cursor: pointer;\\n}\\nli.collection-list-item .resource-list-details li[data-v-8e58e0a5]:hover {\\n  background-color: var(--color-background-dark);\\n}\\nli.collection-list-item .resource-list-details li a[data-v-8e58e0a5] {\\n  flex-grow: 1;\\n  padding: 3px;\\n  max-width: calc(100% - 30px);\\n  display: flex;\\n}\\nli.collection-list-item .resource-list-details span[data-v-8e58e0a5] {\\n  display: inline-block;\\n  vertical-align: top;\\n  margin-right: 10px;\\n}\\nli.collection-list-item .resource-list-details span.resource-name[data-v-8e58e0a5] {\\n  text-overflow: ellipsis;\\n  overflow: hidden;\\n  position: relative;\\n  vertical-align: top;\\n  white-space: nowrap;\\n  flex-grow: 1;\\n  padding: 4px;\\n}\\nli.collection-list-item .resource-list-details img[data-v-8e58e0a5] {\\n  width: 24px;\\n  height: 24px;\\n}\\nli.collection-list-item .resource-list-details .icon-close[data-v-8e58e0a5] {\\n  opacity: .7;\\n}\\nli.collection-list-item .resource-list-details .icon-close[data-v-8e58e0a5]:hover,\\nli.collection-list-item .resource-list-details .icon-close[data-v-8e58e0a5]:focus {\\n  opacity: 1;\\n}\\n.shouldshake[data-v-8e58e0a5] {\\n  animation: shake-8e58e0a5 .6s 1 linear;\\n}\\n@keyframes shake-8e58e0a5 {\\n  0% {\\n    transform: translate(15px);\\n  }\\n  20% {\\n    transform: translate(-15px);\\n  }\\n  40% {\\n    transform: translate(7px);\\n  }\\n  60% {\\n    transform: translate(-7px);\\n  }\\n  80% {\\n    transform: translate(3px);\\n  }\\n  to {\\n    transform: translate(0);\\n  }\\n}\\n.collection-list *[data-v-75a4370b] {\\n  box-sizing: border-box;\\n}\\n.collection-list > li[data-v-75a4370b] {\\n  display: flex;\\n  align-items: start;\\n  gap: 12px;\\n}\\n.collection-list > li > .avatar[data-v-75a4370b] {\\n  margin-top: auto;\\n}\\n#collection-select-container[data-v-75a4370b] {\\n  display: flex;\\n  flex-direction: column;\\n}\\n.v-select span.avatar[data-v-75a4370b] {\\n  display: block;\\n  padding: 16px;\\n  opacity: .7;\\n  background-repeat: no-repeat;\\n  background-position: center;\\n}\\n.v-select span.avatar[data-v-75a4370b]:hover {\\n  opacity: 1;\\n}\\np.hint[data-v-75a4370b] {\\n  z-index: 1;\\n  margin-top: -16px;\\n  padding: 8px;\\n  color: var(--color-text-maxcontrast);\\n  line-height: normal;\\n}\\ndiv.avatar[data-v-75a4370b] {\\n  width: 32px;\\n  height: 32px;\\n  margin: 30px 0 0;\\n  padding: 8px;\\n  background-color: var(--color-background-dark);\\n}\\n.icon-projects[data-v-75a4370b] {\\n  display: block;\\n  padding: 8px;\\n  background-repeat: no-repeat;\\n  background-position: center;\\n}\\n.option__wrapper[data-v-75a4370b] {\\n  display: flex;\\n}\\n.option__wrapper .avatar[data-v-75a4370b] {\\n  display: block;\\n  background-color: var(--color-background-darker) !important;\\n}\\n.option__wrapper .option__title[data-v-75a4370b] {\\n  padding: 4px;\\n}\\n.fade-enter-active[data-v-75a4370b],\\n.fade-leave-active[data-v-75a4370b] {\\n  transition: opacity .5s;\\n}\\n.fade-enter[data-v-75a4370b],\\n.fade-leave-to[data-v-75a4370b] {\\n  opacity: 0;\\n}\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `.sharing-entry[data-v-756f491a]{display:flex;align-items:center;height:44px}.sharing-entry__summary[data-v-756f491a]{padding:8px;padding-left:10px;display:flex;flex-direction:column;justify-content:center;align-items:flex-start;flex:1 0;min-width:0}.sharing-entry__summary__desc[data-v-756f491a]{display:inline-block;padding-bottom:0;line-height:1.2em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sharing-entry__summary__desc p[data-v-756f491a],.sharing-entry__summary__desc small[data-v-756f491a]{color:var(--color-text-maxcontrast)}.sharing-entry__summary__desc-unique[data-v-756f491a]{color:var(--color-text-maxcontrast)}`, \"\",{\"version\":3,\"sources\":[\"webpack://./apps/files_sharing/src/components/SharingEntry.vue\"],\"names\":[],\"mappings\":\"AACA,gCACC,YAAA,CACA,kBAAA,CACA,WAAA,CACA,yCACC,WAAA,CACA,iBAAA,CACA,YAAA,CACA,qBAAA,CACA,sBAAA,CACA,sBAAA,CACA,QAAA,CACA,WAAA,CAEA,+CACC,oBAAA,CACA,gBAAA,CACA,iBAAA,CACA,kBAAA,CACA,eAAA,CACA,sBAAA,CAEA,sGAEC,mCAAA,CAGD,sDACC,mCAAA\",\"sourcesContent\":[\"\\n.sharing-entry {\\n\\tdisplay: flex;\\n\\talign-items: center;\\n\\theight: 44px;\\n\\t&__summary {\\n\\t\\tpadding: 8px;\\n\\t\\tpadding-left: 10px;\\n\\t\\tdisplay: flex;\\n\\t\\tflex-direction: column;\\n\\t\\tjustify-content: center;\\n\\t\\talign-items: flex-start;\\n\\t\\tflex: 1 0;\\n\\t\\tmin-width: 0;\\n\\n\\t\\t&__desc {\\n\\t\\t\\tdisplay: inline-block;\\n\\t\\t\\tpadding-bottom: 0;\\n\\t\\t\\tline-height: 1.2em;\\n\\t\\t\\twhite-space: nowrap;\\n\\t\\t\\toverflow: hidden;\\n\\t\\t\\ttext-overflow: ellipsis;\\n\\n\\t\\t\\tp,\\n\\t\\t\\tsmall {\\n\\t\\t\\t\\tcolor: var(--color-text-maxcontrast);\\n\\t\\t\\t}\\n\\n\\t\\t\\t&-unique {\\n\\t\\t\\t\\tcolor: var(--color-text-maxcontrast);\\n\\t\\t\\t}\\n\\t\\t}\\n\\t}\\n\\n}\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `.sharing-entry[data-v-859a420e]{display:flex;align-items:center;height:44px}.sharing-entry__desc[data-v-859a420e]{display:flex;flex-direction:column;justify-content:space-between;padding:8px;padding-left:10px;line-height:1.2em}.sharing-entry__desc p[data-v-859a420e]{color:var(--color-text-maxcontrast)}.sharing-entry__actions[data-v-859a420e]{margin-left:auto}`, \"\",{\"version\":3,\"sources\":[\"webpack://./apps/files_sharing/src/components/SharingEntryInherited.vue\"],\"names\":[],\"mappings\":\"AACA,gCACC,YAAA,CACA,kBAAA,CACA,WAAA,CACA,sCACC,YAAA,CACA,qBAAA,CACA,6BAAA,CACA,WAAA,CACA,iBAAA,CACA,iBAAA,CACA,wCACC,mCAAA,CAGF,yCACC,gBAAA\",\"sourcesContent\":[\"\\n.sharing-entry {\\n\\tdisplay: flex;\\n\\talign-items: center;\\n\\theight: 44px;\\n\\t&__desc {\\n\\t\\tdisplay: flex;\\n\\t\\tflex-direction: column;\\n\\t\\tjustify-content: space-between;\\n\\t\\tpadding: 8px;\\n\\t\\tpadding-left: 10px;\\n\\t\\tline-height: 1.2em;\\n\\t\\tp {\\n\\t\\t\\tcolor: var(--color-text-maxcontrast);\\n\\t\\t}\\n\\t}\\n\\t&__actions {\\n\\t\\tmargin-left: auto;\\n\\t}\\n}\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `.sharing-entry__internal .avatar-external[data-v-cbf1a342]{width:32px;height:32px;line-height:32px;font-size:18px;background-color:var(--color-text-maxcontrast);border-radius:50%;flex-shrink:0}.sharing-entry__internal .icon-checkmark-color[data-v-cbf1a342]{opacity:1;color:var(--color-success)}`, \"\",{\"version\":3,\"sources\":[\"webpack://./apps/files_sharing/src/components/SharingEntryInternal.vue\"],\"names\":[],\"mappings\":\"AAEC,2DACC,UAAA,CACA,WAAA,CACA,gBAAA,CACA,cAAA,CACA,8CAAA,CACA,iBAAA,CACA,aAAA,CAED,gEACC,SAAA,CACA,0BAAA\",\"sourcesContent\":[\"\\n.sharing-entry__internal {\\n\\t.avatar-external {\\n\\t\\twidth: 32px;\\n\\t\\theight: 32px;\\n\\t\\tline-height: 32px;\\n\\t\\tfont-size: 18px;\\n\\t\\tbackground-color: var(--color-text-maxcontrast);\\n\\t\\tborder-radius: 50%;\\n\\t\\tflex-shrink: 0;\\n\\t}\\n\\t.icon-checkmark-color {\\n\\t\\topacity: 1;\\n\\t\\tcolor: var(--color-success);\\n\\t}\\n}\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `.sharing-entry[data-v-6b41579b]{display:flex;align-items:center;min-height:44px}.sharing-entry__summary[data-v-6b41579b]{padding:8px;padding-left:10px;display:flex;justify-content:space-between;flex:1 0;min-width:0}.sharing-entry__desc[data-v-6b41579b]{display:flex;flex-direction:column;line-height:1.2em}.sharing-entry__desc p[data-v-6b41579b]{color:var(--color-text-maxcontrast)}.sharing-entry__desc__title[data-v-6b41579b]{text-overflow:ellipsis;overflow:hidden;white-space:nowrap}.sharing-entry:not(.sharing-entry--share) .sharing-entry__actions .new-share-link[data-v-6b41579b]{border-top:1px solid var(--color-border)}.sharing-entry[data-v-6b41579b] .avatar-link-share{background-color:var(--color-primary-element)}.sharing-entry .sharing-entry__action--public-upload[data-v-6b41579b]{border-bottom:1px solid var(--color-border)}.sharing-entry__loading[data-v-6b41579b]{width:44px;height:44px;margin:0;padding:14px;margin-left:auto}.sharing-entry .action-item~.action-item[data-v-6b41579b],.sharing-entry .action-item~.sharing-entry__loading[data-v-6b41579b]{margin-left:0}.sharing-entry .icon-checkmark-color[data-v-6b41579b]{opacity:1;color:var(--color-success)}.qr-code-dialog[data-v-6b41579b]{display:flex;width:100%;justify-content:center}.qr-code-dialog__img[data-v-6b41579b]{width:100%;height:auto}`, \"\",{\"version\":3,\"sources\":[\"webpack://./apps/files_sharing/src/components/SharingEntryLink.vue\"],\"names\":[],\"mappings\":\"AACA,gCACC,YAAA,CACA,kBAAA,CACA,eAAA,CAEA,yCACC,WAAA,CACA,iBAAA,CACA,YAAA,CACA,6BAAA,CACA,QAAA,CACA,WAAA,CAGD,sCACC,YAAA,CACA,qBAAA,CACA,iBAAA,CAEA,wCACC,mCAAA,CAGD,6CACC,sBAAA,CACA,eAAA,CACA,kBAAA,CASD,mGACC,wCAAA,CAIF,mDACC,6CAAA,CAGD,sEACC,2CAAA,CAGD,yCACC,UAAA,CACA,WAAA,CACA,QAAA,CACA,YAAA,CACA,gBAAA,CAOA,+HAEC,aAAA,CAIF,sDACC,SAAA,CACA,0BAAA,CAKF,iCACC,YAAA,CACA,UAAA,CACA,sBAAA,CAEA,sCACC,UAAA,CACA,WAAA\",\"sourcesContent\":[\"\\n.sharing-entry {\\n\\tdisplay: flex;\\n\\talign-items: center;\\n\\tmin-height: 44px;\\n\\n\\t&__summary {\\n\\t\\tpadding: 8px;\\n\\t\\tpadding-left: 10px;\\n\\t\\tdisplay: flex;\\n\\t\\tjustify-content: space-between;\\n\\t\\tflex: 1 0;\\n\\t\\tmin-width: 0;\\n\\t}\\n\\n\\t&__desc {\\n\\t\\tdisplay: flex;\\n\\t\\tflex-direction: column;\\n\\t\\tline-height: 1.2em;\\n\\n\\t\\tp {\\n\\t\\t\\tcolor: var(--color-text-maxcontrast);\\n\\t\\t}\\n\\n\\t\\t&__title {\\n\\t\\t\\ttext-overflow: ellipsis;\\n\\t\\t\\toverflow: hidden;\\n\\t\\t\\twhite-space: nowrap;\\n\\t\\t}\\n\\t}\\n\\n\\t&__copy {\\n\\n\\t}\\n\\n\\t&:not(.sharing-entry--share) &__actions {\\n\\t\\t.new-share-link {\\n\\t\\t\\tborder-top: 1px solid var(--color-border);\\n\\t\\t}\\n\\t}\\n\\n\\t::v-deep .avatar-link-share {\\n\\t\\tbackground-color: var(--color-primary-element);\\n\\t}\\n\\n\\t.sharing-entry__action--public-upload {\\n\\t\\tborder-bottom: 1px solid var(--color-border);\\n\\t}\\n\\n\\t&__loading {\\n\\t\\twidth: 44px;\\n\\t\\theight: 44px;\\n\\t\\tmargin: 0;\\n\\t\\tpadding: 14px;\\n\\t\\tmargin-left: auto;\\n\\t}\\n\\n\\t// put menus to the left\\n\\t// but only the first one\\n\\t.action-item {\\n\\n\\t\\t~.action-item,\\n\\t\\t~.sharing-entry__loading {\\n\\t\\t\\tmargin-left: 0;\\n\\t\\t}\\n\\t}\\n\\n\\t.icon-checkmark-color {\\n\\t\\topacity: 1;\\n\\t\\tcolor: var(--color-success);\\n\\t}\\n}\\n\\n// styling for the qr-code container\\n.qr-code-dialog {\\n\\tdisplay: flex;\\n\\twidth: 100%;\\n\\tjustify-content: center;\\n\\n\\t&__img {\\n\\t\\twidth: 100%;\\n\\t\\theight: auto;\\n\\t}\\n}\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `.share-select[data-v-e3692374]{display:block}.share-select[data-v-e3692374] .action-item__menutoggle{color:var(--color-primary-element) !important;font-size:12.5px !important;height:auto !important;min-height:auto !important}.share-select[data-v-e3692374] .action-item__menutoggle .button-vue__text{font-weight:normal !important}.share-select[data-v-e3692374] .action-item__menutoggle .button-vue__icon{height:24px !important;min-height:24px !important;width:24px !important;min-width:24px !important}.share-select[data-v-e3692374] .action-item__menutoggle .button-vue__wrapper{flex-direction:row-reverse !important}`, \"\",{\"version\":3,\"sources\":[\"webpack://./apps/files_sharing/src/components/SharingEntryQuickShareSelect.vue\"],\"names\":[],\"mappings\":\"AACA,+BACC,aAAA,CAIA,wDACC,6CAAA,CACA,2BAAA,CACA,sBAAA,CACA,0BAAA,CAEA,0EACC,6BAAA,CAGD,0EACC,sBAAA,CACA,0BAAA,CACA,qBAAA,CACA,yBAAA,CAGD,6EAEC,qCAAA\",\"sourcesContent\":[\"\\n.share-select {\\n\\tdisplay: block;\\n\\n\\t// TODO: NcActions should have a slot for custom trigger button like NcPopover\\n\\t// Overrider NcActionms button to make it small\\n\\t:deep(.action-item__menutoggle) {\\n\\t\\tcolor: var(--color-primary-element) !important;\\n\\t\\tfont-size: 12.5px !important;\\n\\t\\theight: auto !important;\\n\\t\\tmin-height: auto !important;\\n\\n\\t\\t.button-vue__text {\\n\\t\\t\\tfont-weight: normal !important;\\n\\t\\t}\\n\\n\\t\\t.button-vue__icon {\\n\\t\\t\\theight: 24px !important;\\n\\t\\t\\tmin-height: 24px !important;\\n\\t\\t\\twidth: 24px !important;\\n\\t\\t\\tmin-width: 24px !important;\\n\\t\\t}\\n\\n\\t\\t.button-vue__wrapper {\\n\\t\\t\\t// Emulate NcButton's alignment=center-reverse\\n\\t\\t\\tflex-direction: row-reverse !important;\\n\\t\\t}\\n\\t}\\n}\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `.sharing-entry[data-v-3bc1ac54]{display:flex;align-items:center;min-height:44px}.sharing-entry__desc[data-v-3bc1ac54]{padding:8px;padding-left:10px;line-height:1.2em;position:relative;flex:1 1;min-width:0}.sharing-entry__desc p[data-v-3bc1ac54]{color:var(--color-text-maxcontrast)}.sharing-entry__title[data-v-3bc1ac54]{white-space:nowrap;text-overflow:ellipsis;overflow:hidden;max-width:inherit}.sharing-entry__actions[data-v-3bc1ac54]{margin-left:auto !important}`, \"\",{\"version\":3,\"sources\":[\"webpack://./apps/files_sharing/src/components/SharingEntrySimple.vue\"],\"names\":[],\"mappings\":\"AACA,gCACC,YAAA,CACA,kBAAA,CACA,eAAA,CACA,sCACC,WAAA,CACA,iBAAA,CACA,iBAAA,CACA,iBAAA,CACA,QAAA,CACA,WAAA,CACA,wCACC,mCAAA,CAGF,uCACC,kBAAA,CACA,sBAAA,CACA,eAAA,CACA,iBAAA,CAED,yCACC,2BAAA\",\"sourcesContent\":[\"\\n.sharing-entry {\\n\\tdisplay: flex;\\n\\talign-items: center;\\n\\tmin-height: 44px;\\n\\t&__desc {\\n\\t\\tpadding: 8px;\\n\\t\\tpadding-left: 10px;\\n\\t\\tline-height: 1.2em;\\n\\t\\tposition: relative;\\n\\t\\tflex: 1 1;\\n\\t\\tmin-width: 0;\\n\\t\\tp {\\n\\t\\t\\tcolor: var(--color-text-maxcontrast);\\n\\t\\t}\\n\\t}\\n\\t&__title {\\n\\t\\twhite-space: nowrap;\\n\\t\\ttext-overflow: ellipsis;\\n\\t\\toverflow: hidden;\\n\\t\\tmax-width: inherit;\\n\\t}\\n\\t&__actions {\\n\\t\\tmargin-left: auto !important;\\n\\t}\\n}\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `.sharing-search{display:flex;flex-direction:column;margin-bottom:4px}.sharing-search label[for=sharing-search-input]{margin-bottom:2px}.sharing-search__input{width:100%;margin:10px 0}.vs__dropdown-menu span[lookup] .avatardiv{background-image:var(--icon-search-white);background-repeat:no-repeat;background-position:center;background-color:var(--color-text-maxcontrast) !important}.vs__dropdown-menu span[lookup] .avatardiv .avatardiv__initials-wrapper{display:none}`, \"\",{\"version\":3,\"sources\":[\"webpack://./apps/files_sharing/src/components/SharingInput.vue\"],\"names\":[],\"mappings\":\"AACA,gBACC,YAAA,CACA,qBAAA,CACA,iBAAA,CAEA,gDACC,iBAAA,CAGD,uBACC,UAAA,CACA,aAAA,CAOA,2CACC,yCAAA,CACA,2BAAA,CACA,0BAAA,CACA,yDAAA,CACA,wEACC,YAAA\",\"sourcesContent\":[\"\\n.sharing-search {\\n\\tdisplay: flex;\\n\\tflex-direction: column;\\n\\tmargin-bottom: 4px;\\n\\n\\tlabel[for=\\\"sharing-search-input\\\"] {\\n\\t\\tmargin-bottom: 2px;\\n\\t}\\n\\n\\t&__input {\\n\\t\\twidth: 100%;\\n\\t\\tmargin: 10px 0;\\n\\t}\\n}\\n\\n.vs__dropdown-menu {\\n\\t// properly style the lookup entry\\n\\tspan[lookup] {\\n\\t\\t.avatardiv {\\n\\t\\t\\tbackground-image: var(--icon-search-white);\\n\\t\\t\\tbackground-repeat: no-repeat;\\n\\t\\t\\tbackground-position: center;\\n\\t\\t\\tbackground-color: var(--color-text-maxcontrast) !important;\\n\\t\\t\\t.avatardiv__initials-wrapper {\\n\\t\\t\\t\\tdisplay: none;\\n\\t\\t\\t}\\n\\t\\t}\\n\\t}\\n}\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `.sharingTabDetailsView[data-v-695269e6]{display:flex;flex-direction:column;width:100%;margin:0 auto;position:relative;height:100%;overflow:hidden}.sharingTabDetailsView__header[data-v-695269e6]{display:flex;align-items:center;box-sizing:border-box;margin:.2em}.sharingTabDetailsView__header span[data-v-695269e6]{display:flex;align-items:center}.sharingTabDetailsView__header span h1[data-v-695269e6]{font-size:15px;padding-left:.3em}.sharingTabDetailsView__wrapper[data-v-695269e6]{position:relative;overflow:scroll;flex-shrink:1;padding:4px;padding-right:12px}.sharingTabDetailsView__quick-permissions[data-v-695269e6]{display:flex;justify-content:center;width:100%;margin:0 auto;border-radius:0}.sharingTabDetailsView__quick-permissions div[data-v-695269e6]{width:100%}.sharingTabDetailsView__quick-permissions div span[data-v-695269e6]{width:100%}.sharingTabDetailsView__quick-permissions div span span[data-v-695269e6]:nth-child(1){align-items:center;justify-content:center;padding:.1em}.sharingTabDetailsView__quick-permissions div span[data-v-695269e6] label span{display:flex;flex-direction:column}.sharingTabDetailsView__quick-permissions div span[data-v-695269e6] span.checkbox-content__text.checkbox-radio-switch__text{flex-wrap:wrap}.sharingTabDetailsView__quick-permissions div span[data-v-695269e6] span.checkbox-content__text.checkbox-radio-switch__text .subline{display:block;flex-basis:100%}.sharingTabDetailsView__advanced-control[data-v-695269e6]{width:100%}.sharingTabDetailsView__advanced-control button[data-v-695269e6]{margin-top:.5em}.sharingTabDetailsView__advanced[data-v-695269e6]{width:100%;margin-bottom:.5em;text-align:left;padding-left:0}.sharingTabDetailsView__advanced section textarea[data-v-695269e6],.sharingTabDetailsView__advanced section div.mx-datepicker[data-v-695269e6]{width:100%}.sharingTabDetailsView__advanced section textarea[data-v-695269e6]{height:80px;margin:0}.sharingTabDetailsView__advanced section span[data-v-695269e6] label{padding-left:0 !important;background-color:initial !important;border:none !important}.sharingTabDetailsView__advanced section section.custom-permissions-group[data-v-695269e6]{padding-left:1.5em}.sharingTabDetailsView__delete>button[data-v-695269e6]:first-child{color:#df0707}.sharingTabDetailsView__footer[data-v-695269e6]{width:100%;display:flex;position:sticky;bottom:0;flex-direction:column;justify-content:space-between;align-items:flex-start;background:linear-gradient(to bottom, rgba(255, 255, 255, 0), var(--color-main-background))}.sharingTabDetailsView__footer .button-group[data-v-695269e6]{display:flex;justify-content:space-between;width:100%;margin-top:16px}.sharingTabDetailsView__footer .button-group button[data-v-695269e6]{margin-left:16px}.sharingTabDetailsView__footer .button-group button[data-v-695269e6]:first-child{margin-left:0}`, \"\",{\"version\":3,\"sources\":[\"webpack://./apps/files_sharing/src/views/SharingDetailsTab.vue\"],\"names\":[],\"mappings\":\"AACA,wCACC,YAAA,CACA,qBAAA,CACA,UAAA,CACA,aAAA,CACA,iBAAA,CACA,WAAA,CACA,eAAA,CAEA,gDACC,YAAA,CACA,kBAAA,CACA,qBAAA,CACA,WAAA,CAEA,qDACC,YAAA,CACA,kBAAA,CAEA,wDACC,cAAA,CACA,iBAAA,CAMH,iDACC,iBAAA,CACA,eAAA,CACA,aAAA,CACA,WAAA,CACA,kBAAA,CAGD,2DACC,YAAA,CACA,sBAAA,CACA,UAAA,CACA,aAAA,CACA,eAAA,CAEA,+DACC,UAAA,CAEA,oEACC,UAAA,CAEA,sFACC,kBAAA,CACA,sBAAA,CACA,YAAA,CAKA,+EACC,YAAA,CACA,qBAAA,CAKF,4HACC,cAAA,CAEA,qIACC,aAAA,CACA,eAAA,CAQL,0DACC,UAAA,CAEA,iEACC,eAAA,CAKF,kDACC,UAAA,CACA,kBAAA,CACA,eAAA,CACA,cAAA,CAIC,+IAEC,UAAA,CAGD,mEACC,WAAA,CACA,QAAA,CAaA,qEACC,yBAAA,CACA,mCAAA,CACA,sBAAA,CAIF,2FACC,kBAAA,CAMF,mEACC,aAAA,CAIF,gDACC,UAAA,CACA,YAAA,CACA,eAAA,CACA,QAAA,CACA,qBAAA,CACA,6BAAA,CACA,sBAAA,CACA,2FAAA,CAEA,8DACC,YAAA,CACA,6BAAA,CACA,UAAA,CACA,eAAA,CAEA,qEACC,gBAAA,CAEA,iFACC,aAAA\",\"sourcesContent\":[\"\\n.sharingTabDetailsView {\\n\\tdisplay: flex;\\n\\tflex-direction: column;\\n\\twidth: 100%;\\n\\tmargin: 0 auto;\\n\\tposition: relative;\\n\\theight: 100%;\\n\\toverflow: hidden;\\n\\n\\t&__header {\\n\\t\\tdisplay: flex;\\n\\t\\talign-items: center;\\n\\t\\tbox-sizing: border-box;\\n\\t\\tmargin: 0.2em;\\n\\n\\t\\tspan {\\n\\t\\t\\tdisplay: flex;\\n\\t\\t\\talign-items: center;\\n\\n\\t\\t\\th1 {\\n\\t\\t\\t\\tfont-size: 15px;\\n\\t\\t\\t\\tpadding-left: 0.3em;\\n\\t\\t\\t}\\n\\n\\t\\t}\\n\\t}\\n\\n\\t&__wrapper {\\n\\t\\tposition: relative;\\n\\t\\toverflow: scroll;\\n\\t\\tflex-shrink: 1;\\n\\t\\tpadding: 4px;\\n\\t\\tpadding-right: 12px;\\n\\t}\\n\\n\\t&__quick-permissions {\\n\\t\\tdisplay: flex;\\n\\t\\tjustify-content: center;\\n\\t\\twidth: 100%;\\n\\t\\tmargin: 0 auto;\\n\\t\\tborder-radius: 0;\\n\\n\\t\\tdiv {\\n\\t\\t\\twidth: 100%;\\n\\n\\t\\t\\tspan {\\n\\t\\t\\t\\twidth: 100%;\\n\\n\\t\\t\\t\\tspan:nth-child(1) {\\n\\t\\t\\t\\t\\talign-items: center;\\n\\t\\t\\t\\t\\tjustify-content: center;\\n\\t\\t\\t\\t\\tpadding: 0.1em;\\n\\t\\t\\t\\t}\\n\\n\\t\\t\\t\\t::v-deep label {\\n\\n\\t\\t\\t\\t\\tspan {\\n\\t\\t\\t\\t\\t\\tdisplay: flex;\\n\\t\\t\\t\\t\\t\\tflex-direction: column;\\n\\t\\t\\t\\t\\t}\\n\\t\\t\\t\\t}\\n\\n\\t\\t\\t\\t/* Target component based style in NcCheckboxRadioSwitch slot content*/\\n\\t\\t\\t\\t:deep(span.checkbox-content__text.checkbox-radio-switch__text) {\\n\\t\\t\\t\\t\\tflex-wrap: wrap;\\n\\n\\t\\t\\t\\t\\t.subline {\\n\\t\\t\\t\\t\\t\\tdisplay: block;\\n\\t\\t\\t\\t\\t\\tflex-basis: 100%;\\n\\t\\t\\t\\t\\t}\\n\\t\\t\\t\\t}\\n\\t\\t\\t}\\n\\n\\t\\t}\\n\\t}\\n\\n\\t&__advanced-control {\\n\\t\\twidth: 100%;\\n\\n\\t\\tbutton {\\n\\t\\t\\tmargin-top: 0.5em;\\n\\t\\t}\\n\\n\\t}\\n\\n\\t&__advanced {\\n\\t\\twidth: 100%;\\n\\t\\tmargin-bottom: 0.5em;\\n\\t\\ttext-align: left;\\n\\t\\tpadding-left: 0;\\n\\n\\t\\tsection {\\n\\n\\t\\t\\ttextarea,\\n\\t\\t\\tdiv.mx-datepicker {\\n\\t\\t\\t\\twidth: 100%;\\n\\t\\t\\t}\\n\\n\\t\\t\\ttextarea {\\n\\t\\t\\t\\theight: 80px;\\n\\t\\t\\t\\tmargin: 0;\\n\\t\\t\\t}\\n\\n\\t\\t\\t/*\\n              The following style is applied out of the component's scope\\n              to remove padding from the label.checkbox-radio-switch__label,\\n              which is used to group radio checkbox items. The use of ::v-deep\\n              ensures that the padding is modified without being affected by\\n              the component's scoping.\\n              Without this achieving left alignment for the checkboxes would not\\n              be possible.\\n            */\\n\\t\\t\\tspan {\\n\\t\\t\\t\\t::v-deep label {\\n\\t\\t\\t\\t\\tpadding-left: 0 !important;\\n\\t\\t\\t\\t\\tbackground-color: initial !important;\\n\\t\\t\\t\\t\\tborder: none !important;\\n\\t\\t\\t\\t}\\n\\t\\t\\t}\\n\\n\\t\\t\\tsection.custom-permissions-group {\\n\\t\\t\\t\\tpadding-left: 1.5em;\\n\\t\\t\\t}\\n\\t\\t}\\n\\t}\\n\\n\\t&__delete {\\n\\t\\t>button:first-child {\\n\\t\\t\\tcolor: rgb(223, 7, 7);\\n\\t\\t}\\n\\t}\\n\\n\\t&__footer {\\n\\t\\twidth: 100%;\\n\\t\\tdisplay: flex;\\n\\t\\tposition: sticky;\\n\\t\\tbottom: 0;\\n\\t\\tflex-direction: column;\\n\\t\\tjustify-content: space-between;\\n\\t\\talign-items: flex-start;\\n\\t\\tbackground: linear-gradient(to bottom, rgba(255, 255, 255, 0), var(--color-main-background));\\n\\n\\t\\t.button-group {\\n\\t\\t\\tdisplay: flex;\\n\\t\\t\\tjustify-content: space-between;\\n\\t\\t\\twidth: 100%;\\n\\t\\t\\tmargin-top: 16px;\\n\\n\\t\\t\\tbutton {\\n\\t\\t\\t\\tmargin-left: 16px;\\n\\n\\t\\t\\t\\t&:first-child {\\n\\t\\t\\t\\t\\tmargin-left: 0;\\n\\t\\t\\t\\t}\\n\\t\\t\\t}\\n\\t\\t}\\n\\t}\\n}\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `.sharing-entry__inherited .avatar-shared[data-v-73f8fada]{width:32px;height:32px;line-height:32px;font-size:18px;background-color:var(--color-text-maxcontrast);border-radius:50%;flex-shrink:0}`, \"\",{\"version\":3,\"sources\":[\"webpack://./apps/files_sharing/src/views/SharingInherited.vue\"],\"names\":[],\"mappings\":\"AAEC,0DACC,UAAA,CACA,WAAA,CACA,gBAAA,CACA,cAAA,CACA,8CAAA,CACA,iBAAA,CACA,aAAA\",\"sourcesContent\":[\"\\n.sharing-entry__inherited {\\n\\t.avatar-shared {\\n\\t\\twidth: 32px;\\n\\t\\theight: 32px;\\n\\t\\tline-height: 32px;\\n\\t\\tfont-size: 18px;\\n\\t\\tbackground-color: var(--color-text-maxcontrast);\\n\\t\\tborder-radius: 50%;\\n\\t\\tflex-shrink: 0;\\n\\t}\\n}\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `.emptyContentWithSections[data-v-8986694e]{margin:1rem auto}.sharingTab[data-v-8986694e]{position:relative;height:100%}.sharingTab__content[data-v-8986694e]{padding:0 6px}.sharingTab__additionalContent[data-v-8986694e]{margin:44px 0}`, \"\",{\"version\":3,\"sources\":[\"webpack://./apps/files_sharing/src/views/SharingTab.vue\"],\"names\":[],\"mappings\":\"AACA,2CACC,gBAAA,CAGD,6BACC,iBAAA,CACA,WAAA,CAEA,sCACC,aAAA,CAGD,gDACC,aAAA\",\"sourcesContent\":[\"\\n.emptyContentWithSections {\\n\\tmargin: 1rem auto;\\n}\\n\\n.sharingTab {\\n\\tposition: relative;\\n\\theight: 100%;\\n\\n\\t&__content {\\n\\t\\tpadding: 0 6px;\\n\\t}\\n\\n\\t&__additionalContent {\\n\\t\\tmargin: 44px 0;\\n\\t}\\n}\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n  value: true\n});\nexports.generateUrl = exports.generateRemoteUrl = exports.generateOcsUrl = exports.generateFilePath = void 0;\nexports.getAppRootUrl = getAppRootUrl;\nexports.getRootUrl = getRootUrl;\nexports.linkTo = exports.imagePath = void 0;\nrequire(\"core-js/modules/es.string.replace.js\");\n/**\n * Get an url with webroot to a file in an app\n *\n * @param {string} app the id of the app the file belongs to\n * @param {string} file the file path relative to the app folder\n * @return {string} URL with webroot to a file\n */\nconst linkTo = (app, file) => generateFilePath(app, '', file);\n\n/**\n * Creates a relative url for remote use\n *\n * @param {string} service id\n * @return {string} the url\n */\nexports.linkTo = linkTo;\nconst linkToRemoteBase = service => getRootUrl() + '/remote.php/' + service;\n\n/**\n * @brief Creates an absolute url for remote use\n * @param {string} service id\n * @return {string} the url\n */\nconst generateRemoteUrl = service => window.location.protocol + '//' + window.location.host + linkToRemoteBase(service);\n\n/**\n * Get the base path for the given OCS API service\n *\n * @param {string} url OCS API service url\n * @param {object} params parameters to be replaced into the service url\n * @param {UrlOptions} options options for the parameter replacement\n * @param {boolean} options.escape Set to false if parameters should not be URL encoded (default true)\n * @param {Number} options.ocsVersion OCS version to use (defaults to 2)\n * @return {string} Absolute path for the OCS URL\n */\nexports.generateRemoteUrl = generateRemoteUrl;\nconst generateOcsUrl = (url, params, options) => {\n  const allOptions = Object.assign({\n    ocsVersion: 2\n  }, options || {});\n  const version = allOptions.ocsVersion === 1 ? 1 : 2;\n  return window.location.protocol + '//' + window.location.host + getRootUrl() + '/ocs/v' + version + '.php' + _generateUrlPath(url, params, options);\n};\nexports.generateOcsUrl = generateOcsUrl;\n/**\n * Generate a url path, which can contain parameters\n *\n * Parameters will be URL encoded automatically\n *\n * @param {string} url address (can contain placeholders e.g. /call/{token} would replace {token} with the value of params.token\n * @param {object} params parameters to be replaced into the address\n * @param {UrlOptions} options options for the parameter replacement\n * @return {string} Path part for the given URL\n */\nconst _generateUrlPath = (url, params, options) => {\n  const allOptions = Object.assign({\n    escape: true\n  }, options || {});\n  const _build = function (text, vars) {\n    vars = vars || {};\n    return text.replace(/{([^{}]*)}/g, function (a, b) {\n      var r = vars[b];\n      if (allOptions.escape) {\n        return typeof r === 'string' || typeof r === 'number' ? encodeURIComponent(r.toString()) : encodeURIComponent(a);\n      } else {\n        return typeof r === 'string' || typeof r === 'number' ? r.toString() : a;\n      }\n    });\n  };\n  if (url.charAt(0) !== '/') {\n    url = '/' + url;\n  }\n  return _build(url, params || {});\n};\n\n/**\n * Generate the url with webroot for the given relative url, which can contain parameters\n *\n * Parameters will be URL encoded automatically\n *\n * @param {string} url address (can contain placeholders e.g. /call/{token} would replace {token} with the value of params.token\n * @param {object} params parameters to be replaced into the url\n * @param {UrlOptions} options options for the parameter replacement\n * @param {boolean} options.noRewrite True if you want to force index.php being added\n * @param {boolean} options.escape Set to false if parameters should not be URL encoded (default true)\n * @return {string} URL with webroot for the given relative URL\n */\nconst generateUrl = (url, params, options) => {\n  var _window;\n  const allOptions = Object.assign({\n    noRewrite: false\n  }, options || {});\n  if (((_window = window) === null || _window === void 0 || (_window = _window.OC) === null || _window === void 0 || (_window = _window.config) === null || _window === void 0 ? void 0 : _window.modRewriteWorking) === true && !allOptions.noRewrite) {\n    return getRootUrl() + _generateUrlPath(url, params, options);\n  }\n  return getRootUrl() + '/index.php' + _generateUrlPath(url, params, options);\n};\n\n/**\n * Get the path with webroot to an image file\n * if no extension is given for the image, it will automatically decide\n * between .png and .svg based on what the browser supports\n *\n * @param {string} app the app id to which the image belongs\n * @param {string} file the name of the image file\n * @return {string}\n */\nexports.generateUrl = generateUrl;\nconst imagePath = (app, file) => {\n  if (file.indexOf('.') === -1) {\n    //if no extension is given, use svg\n    return generateFilePath(app, 'img', file + '.svg');\n  }\n  return generateFilePath(app, 'img', file);\n};\n\n/**\n * Get the url with webroot for a file in an app\n *\n * @param {string} app the id of the app\n * @param {string} type the type of the file to link to (e.g. css,img,ajax.template)\n * @param {string} file the filename\n * @return {string} URL with webroot for a file in an app\n */\nexports.imagePath = imagePath;\nconst generateFilePath = (app, type, file) => {\n  var _window2;\n  const isCore = ((_window2 = window) === null || _window2 === void 0 || (_window2 = _window2.OC) === null || _window2 === void 0 || (_window2 = _window2.coreApps) === null || _window2 === void 0 ? void 0 : _window2.indexOf(app)) !== -1;\n  let link = getRootUrl();\n  if (file.substring(file.length - 3) === 'php' && !isCore) {\n    link += '/index.php/apps/' + app;\n    if (file !== 'index.php') {\n      link += '/';\n      if (type) {\n        link += encodeURI(type + '/');\n      }\n      link += file;\n    }\n  } else if (file.substring(file.length - 3) !== 'php' && !isCore) {\n    link = getAppRootUrl(app);\n    if (type) {\n      link += '/' + type + '/';\n    }\n    if (link.substring(link.length - 1) !== '/') {\n      link += '/';\n    }\n    link += file;\n  } else {\n    if ((app === 'settings' || app === 'core' || app === 'search') && type === 'ajax') {\n      link += '/index.php/';\n    } else {\n      link += '/';\n    }\n    if (!isCore) {\n      link += 'apps/';\n    }\n    if (app !== '') {\n      app += '/';\n      link += app;\n    }\n    if (type) {\n      link += type + '/';\n    }\n    link += file;\n  }\n  return link;\n};\n\n/**\n * Return the web root path where this Nextcloud instance\n * is accessible, with a leading slash.\n * For example \"/nextcloud\".\n *\n * @return {string} web root path\n */\nexports.generateFilePath = generateFilePath;\nfunction getRootUrl() {\n  let webroot = window._oc_webroot;\n  if (typeof webroot === 'undefined') {\n    webroot = location.pathname;\n    const pos = webroot.indexOf('/index.php/');\n    if (pos !== -1) {\n      webroot = webroot.substr(0, pos);\n    } else {\n      webroot = webroot.substr(0, webroot.lastIndexOf('/'));\n    }\n  }\n  return webroot;\n}\n\n/**\n * Return the web root path for a given app\n * @param {string} app The ID of the app\n */\nfunction getAppRootUrl(app) {\n  var _window$_oc_appswebro, _webroots$app;\n  const webroots = (_window$_oc_appswebro = window._oc_appswebroots) !== null && _window$_oc_appswebro !== void 0 ? _window$_oc_appswebro : {};\n  return (_webroots$app = webroots[app]) !== null && _webroots$app !== void 0 ? _webroots$app : '';\n}\n//# sourceMappingURL=index.js.map","/**!\n * url-search-params-polyfill\n *\n * @author Jerry Bendy (https://github.com/jerrybendy)\n * @licence MIT\n */\n(function(self) {\n    'use strict';\n\n    var nativeURLSearchParams = (function() {\n            // #41 Fix issue in RN\n            try {\n                if (self.URLSearchParams && (new self.URLSearchParams('foo=bar')).get('foo') === 'bar') {\n                    return self.URLSearchParams;\n                }\n            } catch (e) {}\n            return null;\n        })(),\n        isSupportObjectConstructor = nativeURLSearchParams && (new nativeURLSearchParams({a: 1})).toString() === 'a=1',\n        // There is a bug in safari 10.1 (and earlier) that incorrectly decodes `%2B` as an empty space and not a plus.\n        decodesPlusesCorrectly = nativeURLSearchParams && (new nativeURLSearchParams('s=%2B').get('s') === '+'),\n        isSupportSize = nativeURLSearchParams && 'size' in nativeURLSearchParams.prototype,\n        __URLSearchParams__ = \"__URLSearchParams__\",\n        // Fix bug in Edge which cannot encode ' &' correctly\n        encodesAmpersandsCorrectly = nativeURLSearchParams ? (function() {\n            var ampersandTest = new nativeURLSearchParams();\n            ampersandTest.append('s', ' &');\n            return ampersandTest.toString() === 's=+%26';\n        })() : true,\n        prototype = URLSearchParamsPolyfill.prototype,\n        iterable = !!(self.Symbol && self.Symbol.iterator);\n\n    if (nativeURLSearchParams && isSupportObjectConstructor && decodesPlusesCorrectly && encodesAmpersandsCorrectly && isSupportSize) {\n        return;\n    }\n\n\n    /**\n     * Make a URLSearchParams instance\n     *\n     * @param {object|string|URLSearchParams} search\n     * @constructor\n     */\n    function URLSearchParamsPolyfill(search) {\n        search = search || \"\";\n\n        // support construct object with another URLSearchParams instance\n        if (search instanceof URLSearchParams || search instanceof URLSearchParamsPolyfill) {\n            search = search.toString();\n        }\n        this [__URLSearchParams__] = parseToDict(search);\n    }\n\n\n    /**\n     * Appends a specified key/value pair as a new search parameter.\n     *\n     * @param {string} name\n     * @param {string} value\n     */\n    prototype.append = function(name, value) {\n        appendTo(this [__URLSearchParams__], name, value);\n    };\n\n    /**\n     * Deletes the given search parameter, and its associated value,\n     * from the list of all search parameters.\n     *\n     * @param {string} name\n     */\n    prototype['delete'] = function(name) {\n        delete this [__URLSearchParams__] [name];\n    };\n\n    /**\n     * Returns the first value associated to the given search parameter.\n     *\n     * @param {string} name\n     * @returns {string|null}\n     */\n    prototype.get = function(name) {\n        var dict = this [__URLSearchParams__];\n        return this.has(name) ? dict[name][0] : null;\n    };\n\n    /**\n     * Returns all the values association with a given search parameter.\n     *\n     * @param {string} name\n     * @returns {Array}\n     */\n    prototype.getAll = function(name) {\n        var dict = this [__URLSearchParams__];\n        return this.has(name) ? dict [name].slice(0) : [];\n    };\n\n    /**\n     * Returns a Boolean indicating if such a search parameter exists.\n     *\n     * @param {string} name\n     * @returns {boolean}\n     */\n    prototype.has = function(name) {\n        return hasOwnProperty(this [__URLSearchParams__], name);\n    };\n\n    /**\n     * Sets the value associated to a given search parameter to\n     * the given value. If there were several values, delete the\n     * others.\n     *\n     * @param {string} name\n     * @param {string} value\n     */\n    prototype.set = function set(name, value) {\n        this [__URLSearchParams__][name] = ['' + value];\n    };\n\n    /**\n     * Returns a string containg a query string suitable for use in a URL.\n     *\n     * @returns {string}\n     */\n    prototype.toString = function() {\n        var dict = this[__URLSearchParams__], query = [], i, key, name, value;\n        for (key in dict) {\n            name = encode(key);\n            for (i = 0, value = dict[key]; i < value.length; i++) {\n                query.push(name + '=' + encode(value[i]));\n            }\n        }\n        return query.join('&');\n    };\n\n    // There is a bug in Safari 10.1 and `Proxy`ing it is not enough.\n    var useProxy = self.Proxy && nativeURLSearchParams && (!decodesPlusesCorrectly || !encodesAmpersandsCorrectly || !isSupportObjectConstructor || !isSupportSize);\n    var propValue;\n    if (useProxy) {\n        // Safari 10.0 doesn't support Proxy, so it won't extend URLSearchParams on safari 10.0\n        propValue = new Proxy(nativeURLSearchParams, {\n            construct: function (target, args) {\n                return new target((new URLSearchParamsPolyfill(args[0]).toString()));\n            }\n        })\n        // Chrome <=60 .toString() on a function proxy got error \"Function.prototype.toString is not generic\"\n        propValue.toString = Function.prototype.toString.bind(URLSearchParamsPolyfill);\n    } else {\n        propValue = URLSearchParamsPolyfill;\n    }\n\n    /*\n     * Apply polyfill to global object and append other prototype into it\n     */\n    Object.defineProperty(self, 'URLSearchParams', {\n        value: propValue\n    });\n\n    var USPProto = self.URLSearchParams.prototype;\n\n    USPProto.polyfill = true;\n\n    // Fix #54, `toString.call(new URLSearchParams)` will return correct value when Proxy not used\n    if (!useProxy && self.Symbol) {\n        USPProto[self.Symbol.toStringTag] = 'URLSearchParams';\n    }\n\n    /**\n     *\n     * @param {function} callback\n     * @param {object} thisArg\n     */\n    if (!('forEach' in USPProto)) {\n        USPProto.forEach = function(callback, thisArg) {\n            var dict = parseToDict(this.toString());\n            Object.getOwnPropertyNames(dict).forEach(function(name) {\n                dict[name].forEach(function(value) {\n                    callback.call(thisArg, value, name, this);\n                }, this);\n            }, this);\n        };\n    }\n\n    /**\n     * Sort all name-value pairs\n     */\n    if (!('sort' in USPProto)) {\n        USPProto.sort = function() {\n            var dict = parseToDict(this.toString()), keys = [], k, i, j;\n            for (k in dict) {\n                keys.push(k);\n            }\n            keys.sort();\n\n            for (i = 0; i < keys.length; i++) {\n                this['delete'](keys[i]);\n            }\n            for (i = 0; i < keys.length; i++) {\n                var key = keys[i], values = dict[key];\n                for (j = 0; j < values.length; j++) {\n                    this.append(key, values[j]);\n                }\n            }\n        };\n    }\n\n    /**\n     * Returns an iterator allowing to go through all keys of\n     * the key/value pairs contained in this object.\n     *\n     * @returns {function}\n     */\n    if (!('keys' in USPProto)) {\n        USPProto.keys = function() {\n            var items = [];\n            this.forEach(function(item, name) {\n                items.push(name);\n            });\n            return makeIterator(items);\n        };\n    }\n\n    /**\n     * Returns an iterator allowing to go through all values of\n     * the key/value pairs contained in this object.\n     *\n     * @returns {function}\n     */\n    if (!('values' in USPProto)) {\n        USPProto.values = function() {\n            var items = [];\n            this.forEach(function(item) {\n                items.push(item);\n            });\n            return makeIterator(items);\n        };\n    }\n\n    /**\n     * Returns an iterator allowing to go through all key/value\n     * pairs contained in this object.\n     *\n     * @returns {function}\n     */\n    if (!('entries' in USPProto)) {\n        USPProto.entries = function() {\n            var items = [];\n            this.forEach(function(item, name) {\n                items.push([name, item]);\n            });\n            return makeIterator(items);\n        };\n    }\n\n    if (iterable) {\n        USPProto[self.Symbol.iterator] = USPProto[self.Symbol.iterator] || USPProto.entries;\n    }\n\n    if (!('size' in USPProto)) {\n        Object.defineProperty(USPProto, 'size', {\n            get: function () {\n                var dict = parseToDict(this.toString())\n                if (USPProto === this) {\n                    throw new TypeError('Illegal invocation at URLSearchParams.invokeGetter')\n                }\n                return Object.keys(dict).reduce(function (prev, cur) {\n                    return prev + dict[cur].length;\n                }, 0);\n            }\n        });\n    }\n\n    function encode(str) {\n        var replace = {\n            '!': '%21',\n            \"'\": '%27',\n            '(': '%28',\n            ')': '%29',\n            '~': '%7E',\n            '%20': '+',\n            '%00': '\\x00'\n        };\n        return encodeURIComponent(str).replace(/[!'\\(\\)~]|%20|%00/g, function(match) {\n            return replace[match];\n        });\n    }\n\n    function decode(str) {\n        return str\n            .replace(/[ +]/g, '%20')\n            .replace(/(%[a-f0-9]{2})+/ig, function(match) {\n                return decodeURIComponent(match);\n            });\n    }\n\n    function makeIterator(arr) {\n        var iterator = {\n            next: function() {\n                var value = arr.shift();\n                return {done: value === undefined, value: value};\n            }\n        };\n\n        if (iterable) {\n            iterator[self.Symbol.iterator] = function() {\n                return iterator;\n            };\n        }\n\n        return iterator;\n    }\n\n    function parseToDict(search) {\n        var dict = {};\n\n        if (typeof search === \"object\") {\n            // if `search` is an array, treat it as a sequence\n            if (isArray(search)) {\n                for (var i = 0; i < search.length; i++) {\n                    var item = search[i];\n                    if (isArray(item) && item.length === 2) {\n                        appendTo(dict, item[0], item[1]);\n                    } else {\n                        throw new TypeError(\"Failed to construct 'URLSearchParams': Sequence initializer must only contain pair elements\");\n                    }\n                }\n\n            } else {\n                for (var key in search) {\n                    if (search.hasOwnProperty(key)) {\n                        appendTo(dict, key, search[key]);\n                    }\n                }\n            }\n\n        } else {\n            // remove first '?'\n            if (search.indexOf(\"?\") === 0) {\n                search = search.slice(1);\n            }\n\n            var pairs = search.split(\"&\");\n            for (var j = 0; j < pairs.length; j++) {\n                var value = pairs [j],\n                    index = value.indexOf('=');\n\n                if (-1 < index) {\n                    appendTo(dict, decode(value.slice(0, index)), decode(value.slice(index + 1)));\n\n                } else {\n                    if (value) {\n                        appendTo(dict, decode(value), '');\n                    }\n                }\n            }\n        }\n\n        return dict;\n    }\n\n    function appendTo(dict, name, value) {\n        var val = typeof value === 'string' ? value : (\n            value !== null && value !== undefined && typeof value.toString === 'function' ? value.toString() : JSON.stringify(value)\n        );\n\n        // #47 Prevent using `hasOwnProperty` as a property name\n        if (hasOwnProperty(dict, name)) {\n            dict[name].push(val);\n        } else {\n            dict[name] = [val];\n        }\n    }\n\n    function isArray(val) {\n        return !!val && '[object Array]' === Object.prototype.toString.call(val);\n    }\n\n    function hasOwnProperty(obj, prop) {\n        return Object.prototype.hasOwnProperty.call(obj, prop);\n    }\n\n})(typeof global !== 'undefined' ? global : (typeof window !== 'undefined' ? window : this));\n","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',{staticClass:\"sharingTab\",class:{ 'icon-loading': _vm.loading }},[(_vm.error)?_c('div',{staticClass:\"emptycontent\",class:{ emptyContentWithSections: _vm.sections.length > 0 }},[_c('div',{staticClass:\"icon icon-error\"}),_vm._v(\" \"),_c('h2',[_vm._v(_vm._s(_vm.error))])]):_vm._e(),_vm._v(\" \"),_c('div',{directives:[{name:\"show\",rawName:\"v-show\",value:(!_vm.showSharingDetailsView),expression:\"!showSharingDetailsView\"}],staticClass:\"sharingTab__content\"},[_c('ul',[(_vm.isSharedWithMe)?_c('SharingEntrySimple',_vm._b({staticClass:\"sharing-entry__reshare\",scopedSlots:_vm._u([{key:\"avatar\",fn:function(){return [_c('NcAvatar',{staticClass:\"sharing-entry__avatar\",attrs:{\"user\":_vm.sharedWithMe.user,\"display-name\":_vm.sharedWithMe.displayName}})]},proxy:true}],null,false,3197855346)},'SharingEntrySimple',_vm.sharedWithMe,false)):_vm._e()],1),_vm._v(\" \"),(!_vm.loading)?_c('SharingInput',{attrs:{\"can-reshare\":_vm.canReshare,\"file-info\":_vm.fileInfo,\"link-shares\":_vm.linkShares,\"reshare\":_vm.reshare,\"shares\":_vm.shares},on:{\"open-sharing-details\":_vm.toggleShareDetailsView}}):_vm._e(),_vm._v(\" \"),(!_vm.loading)?_c('SharingLinkList',{ref:\"linkShareList\",attrs:{\"can-reshare\":_vm.canReshare,\"file-info\":_vm.fileInfo,\"shares\":_vm.linkShares},on:{\"open-sharing-details\":_vm.toggleShareDetailsView}}):_vm._e(),_vm._v(\" \"),(!_vm.loading)?_c('SharingList',{ref:\"shareList\",attrs:{\"shares\":_vm.shares,\"file-info\":_vm.fileInfo},on:{\"open-sharing-details\":_vm.toggleShareDetailsView}}):_vm._e(),_vm._v(\" \"),(_vm.canReshare && !_vm.loading)?_c('SharingInherited',{attrs:{\"file-info\":_vm.fileInfo}}):_vm._e(),_vm._v(\" \"),_c('SharingEntryInternal',{attrs:{\"file-info\":_vm.fileInfo}}),_vm._v(\" \"),(_vm.projectsEnabled && _vm.fileInfo)?_c('CollectionList',{attrs:{\"id\":`${_vm.fileInfo.id}`,\"type\":\"file\",\"name\":_vm.fileInfo.name}}):_vm._e()],1),_vm._v(\" \"),_vm._l((_vm.sections),function(section,index){return _c('div',{directives:[{name:\"show\",rawName:\"v-show\",value:(!_vm.showSharingDetailsView),expression:\"!showSharingDetailsView\"}],key:index,ref:'section-' + index,refInFor:true,staticClass:\"sharingTab__additionalContent\"},[_c(section(_vm.$refs['section-'+index], _vm.fileInfo),{tag:\"component\",attrs:{\"file-info\":_vm.fileInfo}})],1)}),_vm._v(\" \"),(_vm.showSharingDetailsView)?_c('SharingDetailsTab',{attrs:{\"file-info\":_vm.shareDetailsData.fileInfo,\"share\":_vm.shareDetailsData.share},on:{\"close-sharing-details\":_vm.toggleShareDetailsView,\"add:share\":_vm.addShare,\"remove:share\":_vm.removeShare}}):_vm._e()],2)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n      import API from \"!../../../style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n      import domAPI from \"!../../../style-loader/dist/runtime/styleDomAPI.js\";\n      import insertFn from \"!../../../style-loader/dist/runtime/insertBySelector.js\";\n      import setAttributes from \"!../../../style-loader/dist/runtime/setAttributesWithoutAttributes.js\";\n      import insertStyleElement from \"!../../../style-loader/dist/runtime/insertStyleElement.js\";\n      import styleTagTransformFn from \"!../../../style-loader/dist/runtime/styleTagTransform.js\";\n      import content, * as namedExport from \"!!../../../css-loader/dist/cjs.js!./index-Au1Gr_G6.css\";\n      \n      \n\nvar options = {};\n\noptions.styleTagTransform = styleTagTransformFn;\noptions.setAttributes = setAttributes;\n\n      options.insert = insertFn.bind(null, \"head\");\n    \noptions.domAPI = domAPI;\noptions.insertStyleElement = insertStyleElement;\n\nvar update = API(content, options);\n\n\n\nexport * from \"!!../../../css-loader/dist/cjs.js!./index-Au1Gr_G6.css\";\n       export default content && content.locals ? content.locals : undefined;\n","/**\n * Checks if `value` is the\n * [language type](http://www.ecma-international.org/ecma-262/7.0/#sec-ecmascript-language-types)\n * of `Object`. (e.g. arrays, functions, objects, regexes, `new Number(0)`, and `new String('')`)\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an object, else `false`.\n * @example\n *\n * _.isObject({});\n * // => true\n *\n * _.isObject([1, 2, 3]);\n * // => true\n *\n * _.isObject(_.noop);\n * // => true\n *\n * _.isObject(null);\n * // => false\n */\nfunction isObject(value) {\n  var type = typeof value;\n  return value != null && (type == 'object' || type == 'function');\n}\n\nexport default isObject;\n","/** Detect free variable `global` from Node.js. */\nvar freeGlobal = typeof global == 'object' && global && global.Object === Object && global;\n\nexport default freeGlobal;\n","import freeGlobal from './_freeGlobal.js';\n\n/** Detect free variable `self`. */\nvar freeSelf = typeof self == 'object' && self && self.Object === Object && self;\n\n/** Used as a reference to the global object. */\nvar root = freeGlobal || freeSelf || Function('return this')();\n\nexport default root;\n","import root from './_root.js';\n\n/**\n * Gets the timestamp of the number of milliseconds that have elapsed since\n * the Unix epoch (1 January 1970 00:00:00 UTC).\n *\n * @static\n * @memberOf _\n * @since 2.4.0\n * @category Date\n * @returns {number} Returns the timestamp.\n * @example\n *\n * _.defer(function(stamp) {\n *   console.log(_.now() - stamp);\n * }, _.now());\n * // => Logs the number of milliseconds it took for the deferred invocation.\n */\nvar now = function() {\n  return root.Date.now();\n};\n\nexport default now;\n","/** Used to match a single whitespace character. */\nvar reWhitespace = /\\s/;\n\n/**\n * Used by `_.trim` and `_.trimEnd` to get the index of the last non-whitespace\n * character of `string`.\n *\n * @private\n * @param {string} string The string to inspect.\n * @returns {number} Returns the index of the last non-whitespace character.\n */\nfunction trimmedEndIndex(string) {\n  var index = string.length;\n\n  while (index-- && reWhitespace.test(string.charAt(index))) {}\n  return index;\n}\n\nexport default trimmedEndIndex;\n","import trimmedEndIndex from './_trimmedEndIndex.js';\n\n/** Used to match leading whitespace. */\nvar reTrimStart = /^\\s+/;\n\n/**\n * The base implementation of `_.trim`.\n *\n * @private\n * @param {string} string The string to trim.\n * @returns {string} Returns the trimmed string.\n */\nfunction baseTrim(string) {\n  return string\n    ? string.slice(0, trimmedEndIndex(string) + 1).replace(reTrimStart, '')\n    : string;\n}\n\nexport default baseTrim;\n","import root from './_root.js';\n\n/** Built-in value references. */\nvar Symbol = root.Symbol;\n\nexport default Symbol;\n","import Symbol from './_Symbol.js';\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * Used to resolve the\n * [`toStringTag`](http://ecma-international.org/ecma-262/7.0/#sec-object.prototype.tostring)\n * of values.\n */\nvar nativeObjectToString = objectProto.toString;\n\n/** Built-in value references. */\nvar symToStringTag = Symbol ? Symbol.toStringTag : undefined;\n\n/**\n * A specialized version of `baseGetTag` which ignores `Symbol.toStringTag` values.\n *\n * @private\n * @param {*} value The value to query.\n * @returns {string} Returns the raw `toStringTag`.\n */\nfunction getRawTag(value) {\n  var isOwn = hasOwnProperty.call(value, symToStringTag),\n      tag = value[symToStringTag];\n\n  try {\n    value[symToStringTag] = undefined;\n    var unmasked = true;\n  } catch (e) {}\n\n  var result = nativeObjectToString.call(value);\n  if (unmasked) {\n    if (isOwn) {\n      value[symToStringTag] = tag;\n    } else {\n      delete value[symToStringTag];\n    }\n  }\n  return result;\n}\n\nexport default getRawTag;\n","/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/**\n * Used to resolve the\n * [`toStringTag`](http://ecma-international.org/ecma-262/7.0/#sec-object.prototype.tostring)\n * of values.\n */\nvar nativeObjectToString = objectProto.toString;\n\n/**\n * Converts `value` to a string using `Object.prototype.toString`.\n *\n * @private\n * @param {*} value The value to convert.\n * @returns {string} Returns the converted string.\n */\nfunction objectToString(value) {\n  return nativeObjectToString.call(value);\n}\n\nexport default objectToString;\n","import Symbol from './_Symbol.js';\nimport getRawTag from './_getRawTag.js';\nimport objectToString from './_objectToString.js';\n\n/** `Object#toString` result references. */\nvar nullTag = '[object Null]',\n    undefinedTag = '[object Undefined]';\n\n/** Built-in value references. */\nvar symToStringTag = Symbol ? Symbol.toStringTag : undefined;\n\n/**\n * The base implementation of `getTag` without fallbacks for buggy environments.\n *\n * @private\n * @param {*} value The value to query.\n * @returns {string} Returns the `toStringTag`.\n */\nfunction baseGetTag(value) {\n  if (value == null) {\n    return value === undefined ? undefinedTag : nullTag;\n  }\n  return (symToStringTag && symToStringTag in Object(value))\n    ? getRawTag(value)\n    : objectToString(value);\n}\n\nexport default baseGetTag;\n","import baseTrim from './_baseTrim.js';\nimport isObject from './isObject.js';\nimport isSymbol from './isSymbol.js';\n\n/** Used as references for various `Number` constants. */\nvar NAN = 0 / 0;\n\n/** Used to detect bad signed hexadecimal string values. */\nvar reIsBadHex = /^[-+]0x[0-9a-f]+$/i;\n\n/** Used to detect binary string values. */\nvar reIsBinary = /^0b[01]+$/i;\n\n/** Used to detect octal string values. */\nvar reIsOctal = /^0o[0-7]+$/i;\n\n/** Built-in method references without a dependency on `root`. */\nvar freeParseInt = parseInt;\n\n/**\n * Converts `value` to a number.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to process.\n * @returns {number} Returns the number.\n * @example\n *\n * _.toNumber(3.2);\n * // => 3.2\n *\n * _.toNumber(Number.MIN_VALUE);\n * // => 5e-324\n *\n * _.toNumber(Infinity);\n * // => Infinity\n *\n * _.toNumber('3.2');\n * // => 3.2\n */\nfunction toNumber(value) {\n  if (typeof value == 'number') {\n    return value;\n  }\n  if (isSymbol(value)) {\n    return NAN;\n  }\n  if (isObject(value)) {\n    var other = typeof value.valueOf == 'function' ? value.valueOf() : value;\n    value = isObject(other) ? (other + '') : other;\n  }\n  if (typeof value != 'string') {\n    return value === 0 ? value : +value;\n  }\n  value = baseTrim(value);\n  var isBinary = reIsBinary.test(value);\n  return (isBinary || reIsOctal.test(value))\n    ? freeParseInt(value.slice(2), isBinary ? 2 : 8)\n    : (reIsBadHex.test(value) ? NAN : +value);\n}\n\nexport default toNumber;\n","import baseGetTag from './_baseGetTag.js';\nimport isObjectLike from './isObjectLike.js';\n\n/** `Object#toString` result references. */\nvar symbolTag = '[object Symbol]';\n\n/**\n * Checks if `value` is classified as a `Symbol` primitive or object.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a symbol, else `false`.\n * @example\n *\n * _.isSymbol(Symbol.iterator);\n * // => true\n *\n * _.isSymbol('abc');\n * // => false\n */\nfunction isSymbol(value) {\n  return typeof value == 'symbol' ||\n    (isObjectLike(value) && baseGetTag(value) == symbolTag);\n}\n\nexport default isSymbol;\n","/**\n * Checks if `value` is object-like. A value is object-like if it's not `null`\n * and has a `typeof` result of \"object\".\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is object-like, else `false`.\n * @example\n *\n * _.isObjectLike({});\n * // => true\n *\n * _.isObjectLike([1, 2, 3]);\n * // => true\n *\n * _.isObjectLike(_.noop);\n * // => false\n *\n * _.isObjectLike(null);\n * // => false\n */\nfunction isObjectLike(value) {\n  return value != null && typeof value == 'object';\n}\n\nexport default isObjectLike;\n","import isObject from './isObject.js';\nimport now from './now.js';\nimport toNumber from './toNumber.js';\n\n/** Error message constants. */\nvar FUNC_ERROR_TEXT = 'Expected a function';\n\n/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeMax = Math.max,\n    nativeMin = Math.min;\n\n/**\n * Creates a debounced function that delays invoking `func` until after `wait`\n * milliseconds have elapsed since the last time the debounced function was\n * invoked. The debounced function comes with a `cancel` method to cancel\n * delayed `func` invocations and a `flush` method to immediately invoke them.\n * Provide `options` to indicate whether `func` should be invoked on the\n * leading and/or trailing edge of the `wait` timeout. The `func` is invoked\n * with the last arguments provided to the debounced function. Subsequent\n * calls to the debounced function return the result of the last `func`\n * invocation.\n *\n * **Note:** If `leading` and `trailing` options are `true`, `func` is\n * invoked on the trailing edge of the timeout only if the debounced function\n * is invoked more than once during the `wait` timeout.\n *\n * If `wait` is `0` and `leading` is `false`, `func` invocation is deferred\n * until to the next tick, similar to `setTimeout` with a timeout of `0`.\n *\n * See [David Corbacho's article](https://css-tricks.com/debouncing-throttling-explained-examples/)\n * for details over the differences between `_.debounce` and `_.throttle`.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Function\n * @param {Function} func The function to debounce.\n * @param {number} [wait=0] The number of milliseconds to delay.\n * @param {Object} [options={}] The options object.\n * @param {boolean} [options.leading=false]\n *  Specify invoking on the leading edge of the timeout.\n * @param {number} [options.maxWait]\n *  The maximum time `func` is allowed to be delayed before it's invoked.\n * @param {boolean} [options.trailing=true]\n *  Specify invoking on the trailing edge of the timeout.\n * @returns {Function} Returns the new debounced function.\n * @example\n *\n * // Avoid costly calculations while the window size is in flux.\n * jQuery(window).on('resize', _.debounce(calculateLayout, 150));\n *\n * // Invoke `sendMail` when clicked, debouncing subsequent calls.\n * jQuery(element).on('click', _.debounce(sendMail, 300, {\n *   'leading': true,\n *   'trailing': false\n * }));\n *\n * // Ensure `batchLog` is invoked once after 1 second of debounced calls.\n * var debounced = _.debounce(batchLog, 250, { 'maxWait': 1000 });\n * var source = new EventSource('/stream');\n * jQuery(source).on('message', debounced);\n *\n * // Cancel the trailing debounced invocation.\n * jQuery(window).on('popstate', debounced.cancel);\n */\nfunction debounce(func, wait, options) {\n  var lastArgs,\n      lastThis,\n      maxWait,\n      result,\n      timerId,\n      lastCallTime,\n      lastInvokeTime = 0,\n      leading = false,\n      maxing = false,\n      trailing = true;\n\n  if (typeof func != 'function') {\n    throw new TypeError(FUNC_ERROR_TEXT);\n  }\n  wait = toNumber(wait) || 0;\n  if (isObject(options)) {\n    leading = !!options.leading;\n    maxing = 'maxWait' in options;\n    maxWait = maxing ? nativeMax(toNumber(options.maxWait) || 0, wait) : maxWait;\n    trailing = 'trailing' in options ? !!options.trailing : trailing;\n  }\n\n  function invokeFunc(time) {\n    var args = lastArgs,\n        thisArg = lastThis;\n\n    lastArgs = lastThis = undefined;\n    lastInvokeTime = time;\n    result = func.apply(thisArg, args);\n    return result;\n  }\n\n  function leadingEdge(time) {\n    // Reset any `maxWait` timer.\n    lastInvokeTime = time;\n    // Start the timer for the trailing edge.\n    timerId = setTimeout(timerExpired, wait);\n    // Invoke the leading edge.\n    return leading ? invokeFunc(time) : result;\n  }\n\n  function remainingWait(time) {\n    var timeSinceLastCall = time - lastCallTime,\n        timeSinceLastInvoke = time - lastInvokeTime,\n        timeWaiting = wait - timeSinceLastCall;\n\n    return maxing\n      ? nativeMin(timeWaiting, maxWait - timeSinceLastInvoke)\n      : timeWaiting;\n  }\n\n  function shouldInvoke(time) {\n    var timeSinceLastCall = time - lastCallTime,\n        timeSinceLastInvoke = time - lastInvokeTime;\n\n    // Either this is the first call, activity has stopped and we're at the\n    // trailing edge, the system time has gone backwards and we're treating\n    // it as the trailing edge, or we've hit the `maxWait` limit.\n    return (lastCallTime === undefined || (timeSinceLastCall >= wait) ||\n      (timeSinceLastCall < 0) || (maxing && timeSinceLastInvoke >= maxWait));\n  }\n\n  function timerExpired() {\n    var time = now();\n    if (shouldInvoke(time)) {\n      return trailingEdge(time);\n    }\n    // Restart the timer.\n    timerId = setTimeout(timerExpired, remainingWait(time));\n  }\n\n  function trailingEdge(time) {\n    timerId = undefined;\n\n    // Only invoke if we have `lastArgs` which means `func` has been\n    // debounced at least once.\n    if (trailing && lastArgs) {\n      return invokeFunc(time);\n    }\n    lastArgs = lastThis = undefined;\n    return result;\n  }\n\n  function cancel() {\n    if (timerId !== undefined) {\n      clearTimeout(timerId);\n    }\n    lastInvokeTime = 0;\n    lastArgs = lastCallTime = lastThis = timerId = undefined;\n  }\n\n  function flush() {\n    return timerId === undefined ? result : trailingEdge(now());\n  }\n\n  function debounced() {\n    var time = now(),\n        isInvoking = shouldInvoke(time);\n\n    lastArgs = arguments;\n    lastThis = this;\n    lastCallTime = time;\n\n    if (isInvoking) {\n      if (timerId === undefined) {\n        return leadingEdge(lastCallTime);\n      }\n      if (maxing) {\n        // Handle invocations in a tight loop.\n        clearTimeout(timerId);\n        timerId = setTimeout(timerExpired, wait);\n        return invokeFunc(lastCallTime);\n      }\n    }\n    if (timerId === undefined) {\n      timerId = setTimeout(timerExpired, wait);\n    }\n    return result;\n  }\n  debounced.cancel = cancel;\n  debounced.flush = flush;\n  return debounced;\n}\n\nexport default debounce;\n","import './assets/index-Au1Gr_G6.css';\nimport w from \"@nextcloud/vue/dist/Components/NcAvatar.js\";\nimport O from \"@nextcloud/vue/dist/Components/NcSelect.js\";\nimport T from \"lodash-es/debounce.js\";\nimport S from \"@nextcloud/vue/dist/Components/NcActions.js\";\nimport k from \"@nextcloud/vue/dist/Components/NcActionButton.js\";\nimport A, { set as f } from \"vue\";\nimport $ from \"@nextcloud/axios\";\nimport { generateOcsUrl as d } from \"@nextcloud/router\";\n/*\n * @copyright Copyright (c) 2019 Julius Härtl <jus@bitgrid.net>\n *\n * @author Julius Härtl <jus@bitgrid.net>\n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */\nclass D {\n  constructor() {\n    this.http = $;\n  }\n  listCollection(e) {\n    return this.http.get(d(\"collaboration/resources/collections/{collectionId}\", { collectionId: e }));\n  }\n  renameCollection(e, o) {\n    return this.http.put(d(\"collaboration/resources/collections/{collectionId}\", { collectionId: e }), {\n      collectionName: o\n    }).then((n) => n.data.ocs.data);\n  }\n  getCollectionsByResource(e, o) {\n    return this.http.get(d(\"collaboration/resources/{resourceType}/{resourceId}\", { resourceType: e, resourceId: o })).then((n) => n.data.ocs.data);\n  }\n  createCollection(e, o, n) {\n    return this.http.post(d(\"collaboration/resources/{resourceType}/{resourceId}\", { resourceType: e, resourceId: o }), {\n      name: n\n    }).then((r) => r.data.ocs.data);\n  }\n  addResource(e, o, n) {\n    return n = \"\" + n, this.http.post(d(\"collaboration/resources/collections/{collectionId}\", { collectionId: e }), {\n      resourceType: o,\n      resourceId: n\n    }).then((r) => r.data.ocs.data);\n  }\n  removeResource(e, o, n) {\n    return this.http.delete(d(\"collaboration/resources/collections/{collectionId}\", { collectionId: e }), { params: { resourceType: o, resourceId: n } }).then((r) => r.data.ocs.data);\n  }\n  search(e) {\n    return this.http.get(d(\"collaboration/resources/collections/search/{query}\", { query: e })).then((o) => o.data.ocs.data);\n  }\n}\nconst p = new D();\n/*\n * @copyright Copyright (c) 2019 Julius Härtl <jus@bitgrid.net>\n *\n * @author Julius Härtl <jus@bitgrid.net>\n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */\nconst u = A.observable({\n  collections: []\n}), h = {\n  addCollections(s) {\n    f(u, \"collections\", s);\n  },\n  addCollection(s) {\n    u.collections.push(s);\n  },\n  removeCollection(s) {\n    f(u, \"collections\", u.collections.filter((e) => e.id !== s));\n  },\n  updateCollection(s) {\n    const e = u.collections.findIndex((o) => o.id === s.id);\n    e !== -1 ? f(u.collections, e, s) : u.collections.push(s);\n  }\n}, l = {\n  fetchCollectionsByResource({ resourceType: s, resourceId: e }) {\n    return p.getCollectionsByResource(s, e).then((o) => (h.addCollections(o), o));\n  },\n  createCollection({ baseResourceType: s, baseResourceId: e, resourceType: o, resourceId: n, name: r }) {\n    return p.createCollection(s, e, r).then((m) => {\n      h.addCollection(m), l.addResourceToCollection({\n        collectionId: m.id,\n        resourceType: o,\n        resourceId: n\n      });\n    });\n  },\n  renameCollection({ collectionId: s, name: e }) {\n    return p.renameCollection(s, e).then((o) => (h.updateCollection(o), o));\n  },\n  addResourceToCollection({ collectionId: s, resourceType: e, resourceId: o }) {\n    return p.addResource(s, e, o).then((n) => (h.updateCollection(n), n));\n  },\n  removeResource({ collectionId: s, resourceType: e, resourceId: o }) {\n    return p.removeResource(s, e, o).then((n) => {\n      n.resources.length > 0 ? h.updateCollection(n) : h.removeCollection(n);\n    });\n  },\n  search(s) {\n    return p.search(s);\n  }\n};\nfunction R(s, e, o, n, r, m, _, I) {\n  var i = typeof s == \"function\" ? s.options : s;\n  e && (i.render = e, i.staticRenderFns = o, i._compiled = !0), n && (i.functional = !0), m && (i._scopeId = \"data-v-\" + m);\n  var a;\n  if (_ ? (a = function(c) {\n    c = c || // cached call\n    this.$vnode && this.$vnode.ssrContext || // stateful\n    this.parent && this.parent.$vnode && this.parent.$vnode.ssrContext, !c && typeof __VUE_SSR_CONTEXT__ < \"u\" && (c = __VUE_SSR_CONTEXT__), r && r.call(this, c), c && c._registeredComponents && c._registeredComponents.add(_);\n  }, i._ssrRegister = a) : r && (a = I ? function() {\n    r.call(\n      this,\n      (i.functional ? this.parent : this).$root.$options.shadowRoot\n    );\n  } : r), a)\n    if (i.functional) {\n      i._injectStyles = a;\n      var b = i.render;\n      i.render = function(N, v) {\n        return a.call(v), b(N, v);\n      };\n    } else {\n      var C = i.beforeCreate;\n      i.beforeCreate = C ? [].concat(C, a) : [a];\n    }\n  return {\n    exports: s,\n    options: i\n  };\n}\nconst B = {\n  name: \"CollectionListItem\",\n  components: {\n    NcAvatar: w,\n    NcActions: S,\n    NcActionButton: k\n  },\n  props: {\n    collection: {\n      type: Object,\n      default: null\n    }\n  },\n  data() {\n    return {\n      detailsOpen: !1,\n      newName: null,\n      error: {}\n    };\n  },\n  computed: {\n    getIcon() {\n      return (s) => [s.iconClass];\n    },\n    typeClass() {\n      return (s) => \"resource-type-\" + s.type;\n    },\n    limitedResources() {\n      return (s) => s.resources ? s.resources.slice(0, 2) : [];\n    },\n    iconUrl() {\n      return (s) => s.mimetype ? OC.MimeType.getIconUrl(s.mimetype) : s.iconUrl ? s.iconUrl : \"\";\n    }\n  },\n  methods: {\n    toggleDetails() {\n      this.detailsOpen = !this.detailsOpen;\n    },\n    showDetails() {\n      this.detailsOpen = !0;\n    },\n    hideDetails() {\n      this.detailsOpen = !1;\n    },\n    removeResource(s, e) {\n      l.removeResource({\n        collectionId: s.id,\n        resourceType: e.type,\n        resourceId: e.id\n      });\n    },\n    openRename() {\n      this.newName = this.collection.name;\n    },\n    renameCollection() {\n      if (this.newName === \"\") {\n        this.newName = null;\n        return;\n      }\n      l.renameCollection({\n        collectionId: this.collection.id,\n        name: this.newName\n      }).then((s) => {\n        this.newName = null;\n      }).catch((s) => {\n        this.$set(this.error, \"rename\", t(\"core\", \"Failed to rename the project\")), console.error(s), setTimeout(() => {\n          f(this.error, \"rename\", null);\n        }, 3e3);\n      });\n    }\n  }\n};\nvar E = function() {\n  var e = this, o = e._self._c;\n  return o(\"li\", { staticClass: \"collection-list-item\" }, [o(\"NcAvatar\", { staticClass: \"collection-avatar\", attrs: { \"display-name\": e.collection.name, \"allow-placeholder\": \"\" } }), e.newName === null ? o(\"span\", { staticClass: \"collection-item-name\", attrs: { title: \"\" }, on: { click: e.showDetails } }, [e._v(e._s(e.collection.name))]) : o(\"form\", { class: { shouldshake: e.error.rename }, on: { submit: function(n) {\n    return n.preventDefault(), e.renameCollection.apply(null, arguments);\n  } } }, [o(\"input\", { directives: [{ name: \"model\", rawName: \"v-model\", value: e.newName, expression: \"newName\" }], attrs: { type: \"text\", autocomplete: \"off\", autocapitalize: \"off\" }, domProps: { value: e.newName }, on: { input: function(n) {\n    n.target.composing || (e.newName = n.target.value);\n  } } }), o(\"input\", { staticClass: \"icon-confirm\", attrs: { type: \"submit\", value: \"\" } })]), !e.detailsOpen && e.newName === null ? o(\"div\", { staticClass: \"linked-icons\" }, e._l(e.limitedResources(e.collection), function(n) {\n    return o(\"a\", { key: n.type + \"|\" + n.id, class: e.typeClass(n), attrs: { title: n.name, href: n.link } }, [o(\"img\", { attrs: { src: e.iconUrl(n) } })]);\n  }), 0) : e._e(), e.newName === null ? o(\"span\", { staticClass: \"sharingOptionsGroup\" }, [o(\"NcActions\", [o(\"NcActionButton\", { attrs: { icon: \"icon-info\" }, on: { click: function(n) {\n    return n.preventDefault(), e.toggleDetails.apply(null, arguments);\n  } } }, [e._v(\" \" + e._s(e.detailsOpen ? e.t(\"core\", \"Hide details\") : e.t(\"core\", \"Show details\")) + \" \")]), o(\"NcActionButton\", { attrs: { icon: \"icon-rename\" }, on: { click: function(n) {\n    return n.preventDefault(), e.openRename.apply(null, arguments);\n  } } }, [e._v(\" \" + e._s(e.t(\"core\", \"Rename project\")) + \" \")])], 1)], 1) : e._e(), o(\"transition\", { attrs: { name: \"fade\" } }, [e.error.rename ? o(\"div\", { staticClass: \"error\" }, [e._v(\" \" + e._s(e.error.rename) + \" \")]) : e._e()]), o(\"transition\", { attrs: { name: \"fade\" } }, [e.detailsOpen ? o(\"ul\", { staticClass: \"resource-list-details\" }, e._l(e.collection.resources, function(n) {\n    return o(\"li\", { key: n.type + \"|\" + n.id, class: e.typeClass(n) }, [o(\"a\", { attrs: { href: n.link } }, [o(\"img\", { attrs: { src: e.iconUrl(n) } }), o(\"span\", { staticClass: \"resource-name\" }, [e._v(e._s(n.name || \"\"))])]), o(\"span\", { staticClass: \"icon-close\", on: { click: function(r) {\n      return e.removeResource(e.collection, n);\n    } } })]);\n  }), 0) : e._e()])], 1);\n}, L = [], U = /* @__PURE__ */ R(\n  B,\n  E,\n  L,\n  !1,\n  null,\n  \"8e58e0a5\",\n  null,\n  null\n);\nconst j = U.exports, y = 0, g = 1, F = T(\n  function(s, e) {\n    s !== \"\" && (e(!0), l.search(s).then((o) => {\n      this.searchCollections = o;\n    }).catch((o) => {\n      console.error(\"Failed to search for collections\", o);\n    }).finally(() => {\n      e(!1);\n    }));\n  },\n  500,\n  {}\n), P = {\n  name: \"CollectionList\",\n  components: {\n    CollectionListItem: j,\n    NcAvatar: w,\n    NcSelect: O\n  },\n  props: {\n    /**\n     * Resource type identifier\n     */\n    type: {\n      type: String,\n      default: null\n    },\n    /**\n     * Unique id of the resource\n     */\n    id: {\n      type: String,\n      default: null\n    },\n    /**\n     * Name of the resource\n     */\n    name: {\n      type: String,\n      default: \"\"\n    },\n    isActive: {\n      type: Boolean,\n      default: !0\n    }\n  },\n  data() {\n    return {\n      selectIsOpen: !1,\n      generatingCodes: !1,\n      codes: void 0,\n      value: null,\n      model: {},\n      searchCollections: [],\n      error: null,\n      state: u,\n      isSelectOpen: !1\n    };\n  },\n  computed: {\n    collections() {\n      return this.state.collections.filter((s) => typeof s.resources.find((e) => e && e.id === \"\" + this.id && e.type === this.type) < \"u\");\n    },\n    placeholder() {\n      return this.isSelectOpen ? t(\"core\", \"Type to search for existing projects\") : t(\"core\", \"Add to a project\");\n    },\n    options() {\n      const s = [];\n      window.OCP.Collaboration.getTypes().sort().forEach((e) => {\n        s.push({\n          method: y,\n          type: e,\n          title: window.OCP.Collaboration.getLabel(e),\n          class: window.OCP.Collaboration.getIcon(e),\n          action: () => window.OCP.Collaboration.trigger(e)\n        });\n      });\n      for (const e in this.searchCollections)\n        this.collections.findIndex((o) => o.id === this.searchCollections[e].id) === -1 && s.push({\n          method: g,\n          title: this.searchCollections[e].name,\n          collectionId: this.searchCollections[e].id\n        });\n      return s;\n    }\n  },\n  watch: {\n    type() {\n      this.isActive && l.fetchCollectionsByResource({\n        resourceType: this.type,\n        resourceId: this.id\n      });\n    },\n    id() {\n      this.isActive && l.fetchCollectionsByResource({\n        resourceType: this.type,\n        resourceId: this.id\n      });\n    },\n    isActive(s) {\n      s && l.fetchCollectionsByResource({\n        resourceType: this.type,\n        resourceId: this.id\n      });\n    }\n  },\n  mounted() {\n    l.fetchCollectionsByResource({\n      resourceType: this.type,\n      resourceId: this.id\n    });\n  },\n  methods: {\n    select(s, e) {\n      s.method === y && s.action().then((o) => {\n        l.createCollection({\n          baseResourceType: this.type,\n          baseResourceId: this.id,\n          resourceType: s.type,\n          resourceId: o,\n          name: this.name\n        }).catch((n) => {\n          this.setError(t(\"core\", \"Failed to create a project\"), n);\n        });\n      }).catch((o) => {\n        console.error(\"No resource selected\", o);\n      }), s.method === g && l.addResourceToCollection({\n        collectionId: s.collectionId,\n        resourceType: this.type,\n        resourceId: this.id\n      }).catch((o) => {\n        this.setError(t(\"core\", \"Failed to add the item to the project\"), o);\n      });\n    },\n    search(s, e) {\n      F.bind(this)(s, e);\n    },\n    showSelect() {\n      this.selectIsOpen = !0, this.$refs.select.$el.focus();\n    },\n    hideSelect() {\n      this.selectIsOpen = !1;\n    },\n    isVueComponent(s) {\n      return s._isVue;\n    },\n    setError(s, e) {\n      console.error(s, e), this.error = s, setTimeout(() => {\n        this.error = null;\n      }, 5e3);\n    }\n  }\n};\nvar V = function() {\n  var e = this, o = e._self._c;\n  return e.collections && e.type && e.id ? o(\"ul\", { staticClass: \"collection-list\", attrs: { id: \"collection-list\" } }, [o(\"li\", { on: { click: e.showSelect } }, [e._m(0), o(\"div\", { attrs: { id: \"collection-select-container\" } }, [o(\"NcSelect\", { ref: \"select\", attrs: { \"aria-label-combobox\": e.t(\"core\", \"Add to a project\"), options: e.options, placeholder: e.placeholder, label: \"title\", limit: 5 }, on: { close: function(n) {\n    e.isSelectOpen = !1;\n  }, open: function(n) {\n    e.isSelectOpen = !0;\n  }, \"option:selected\": e.select, search: e.search }, scopedSlots: e._u([{ key: \"selected-option\", fn: function(n) {\n    return [o(\"span\", { staticClass: \"option__desc\" }, [o(\"span\", { staticClass: \"option__title\" }, [e._v(e._s(n.title))])])];\n  } }, { key: \"option\", fn: function(n) {\n    return [o(\"span\", { staticClass: \"option__wrapper\" }, [n.class ? o(\"span\", { staticClass: \"avatar\", class: n.class }) : n.method !== 2 ? o(\"NcAvatar\", { attrs: { \"allow-placeholder\": \"\", \"display-name\": n.title } }) : e._e(), o(\"span\", { staticClass: \"option__title\" }, [e._v(e._s(n.title))])], 1)];\n  } }], null, !1, 2397208459), model: { value: e.value, callback: function(n) {\n    e.value = n;\n  }, expression: \"value\" } }, [o(\"p\", { staticClass: \"hint\" }, [e._v(\" \" + e._s(e.t(\"core\", \"Connect items to a project to make them easier to find\")) + \" \")])])], 1)]), o(\"transition\", { attrs: { name: \"fade\" } }, [e.error ? o(\"li\", { staticClass: \"error\" }, [e._v(\" \" + e._s(e.error) + \" \")]) : e._e()]), e._l(e.collections, function(n) {\n    return o(\"CollectionListItem\", { key: n.id, attrs: { collection: n } });\n  })], 2) : e._e();\n}, x = [function() {\n  var s = this, e = s._self._c;\n  return e(\"div\", { staticClass: \"avatar\" }, [e(\"span\", { staticClass: \"icon-projects\" })]);\n}], H = /* @__PURE__ */ R(\n  P,\n  V,\n  x,\n  !1,\n  null,\n  \"75a4370b\",\n  null,\n  null\n);\nconst Q = H.exports;\nexport {\n  Q as CollectionList,\n  j as CollectionListItem\n};\n","/**\n * SPDX-FileCopyrightText: 2019 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\nimport { getCapabilities } from '@nextcloud/capabilities'\n\nexport default class Config {\n\n\tconstructor() {\n\t\tthis._capabilities = getCapabilities()\n\t}\n\n\t/**\n\t * Get default share permissions, if any\n\t *\n\t * @return {boolean}\n\t * @readonly\n\t * @memberof Config\n\t */\n\t get defaultPermissions() {\n\t\treturn this._capabilities.files_sharing?.default_permissions\n\t}\n\n\t/**\n\t * Is public upload allowed on link shares ?\n\t *\n\t * @return {boolean}\n\t * @readonly\n\t * @memberof Config\n\t */\n\tget isPublicUploadEnabled() {\n\t\treturn this._capabilities.files_sharing?.public.upload\n\t}\n\n\t/**\n\t * Are link share allowed ?\n\t *\n\t * @return {boolean}\n\t * @readonly\n\t * @memberof Config\n\t */\n\tget isShareWithLinkAllowed() {\n\t\treturn document.getElementById('allowShareWithLink')\n\t\t\t&& document.getElementById('allowShareWithLink').value === 'yes'\n\t}\n\n\t/**\n\t * Get the federated sharing documentation link\n\t *\n\t * @return {string}\n\t * @readonly\n\t * @memberof Config\n\t */\n\tget federatedShareDocLink() {\n\t\treturn OC.appConfig.core.federatedCloudShareDoc\n\t}\n\n\t/**\n\t * Get the default link share expiration date\n\t *\n\t * @return {Date|null}\n\t * @readonly\n\t * @memberof Config\n\t */\n\tget defaultExpirationDate() {\n\t\tif (this.isDefaultExpireDateEnabled) {\n\t\t\treturn new Date(new Date().setDate(new Date().getDate() + this.defaultExpireDate))\n\t\t}\n\t\treturn null\n\t}\n\n\t/**\n\t * Get the default internal expiration date\n\t *\n\t * @return {Date|null}\n\t * @readonly\n\t * @memberof Config\n\t */\n\tget defaultInternalExpirationDate() {\n\t\tif (this.isDefaultInternalExpireDateEnabled) {\n\t\t\treturn new Date(new Date().setDate(new Date().getDate() + this.defaultInternalExpireDate))\n\t\t}\n\t\treturn null\n\t}\n\n\t/**\n\t * Get the default remote expiration date\n\t *\n\t * @return {Date|null}\n\t * @readonly\n\t * @memberof Config\n\t */\n\tget defaultRemoteExpirationDateString() {\n\t\tif (this.isDefaultRemoteExpireDateEnabled) {\n\t\t\treturn new Date(new Date().setDate(new Date().getDate() + this.defaultRemoteExpireDate))\n\t\t}\n\t\treturn null\n\t}\n\n\t/**\n\t * Are link shares password-enforced ?\n\t *\n\t * @return {boolean}\n\t * @readonly\n\t * @memberof Config\n\t */\n\tget enforcePasswordForPublicLink() {\n\t\treturn OC.appConfig.core.enforcePasswordForPublicLink === true\n\t}\n\n\t/**\n\t * Is password asked by default on link shares ?\n\t *\n\t * @return {boolean}\n\t * @readonly\n\t * @memberof Config\n\t */\n\tget enableLinkPasswordByDefault() {\n\t\treturn OC.appConfig.core.enableLinkPasswordByDefault === true\n\t}\n\n\t/**\n\t * Is link shares expiration enforced ?\n\t *\n\t * @return {boolean}\n\t * @readonly\n\t * @memberof Config\n\t */\n\tget isDefaultExpireDateEnforced() {\n\t\treturn OC.appConfig.core.defaultExpireDateEnforced === true\n\t}\n\n\t/**\n\t * Is there a default expiration date for new link shares ?\n\t *\n\t * @return {boolean}\n\t * @readonly\n\t * @memberof Config\n\t */\n\tget isDefaultExpireDateEnabled() {\n\t\treturn OC.appConfig.core.defaultExpireDateEnabled === true\n\t}\n\n\t/**\n\t * Is internal shares expiration enforced ?\n\t *\n\t * @return {boolean}\n\t * @readonly\n\t * @memberof Config\n\t */\n\tget isDefaultInternalExpireDateEnforced() {\n\t\treturn OC.appConfig.core.defaultInternalExpireDateEnforced === true\n\t}\n\n\t/**\n\t * Is remote shares expiration enforced ?\n\t *\n\t * @return {boolean}\n\t * @readonly\n\t * @memberof Config\n\t */\n\tget isDefaultRemoteExpireDateEnforced() {\n\t\treturn OC.appConfig.core.defaultRemoteExpireDateEnforced === true\n\t}\n\n\t/**\n\t * Is there a default expiration date for new internal shares ?\n\t *\n\t * @return {boolean}\n\t * @readonly\n\t * @memberof Config\n\t */\n\tget isDefaultInternalExpireDateEnabled() {\n\t\treturn OC.appConfig.core.defaultInternalExpireDateEnabled === true\n\t}\n\n\t/**\n\t * Is there a default expiration date for new remote shares ?\n\t *\n\t * @return {boolean}\n\t * @readonly\n\t * @memberof Config\n\t */\n\tget isDefaultRemoteExpireDateEnabled() {\n\t\treturn OC.appConfig.core.defaultRemoteExpireDateEnabled === true\n\t}\n\n\t/**\n\t * Are users on this server allowed to send shares to other servers ?\n\t *\n\t * @return {boolean}\n\t * @readonly\n\t * @memberof Config\n\t */\n\tget isRemoteShareAllowed() {\n\t\treturn OC.appConfig.core.remoteShareAllowed === true\n\t}\n\n\t/**\n\t * Is sharing my mail (link share) enabled ?\n\t *\n\t * @return {boolean}\n\t * @readonly\n\t * @memberof Config\n\t */\n\tget isMailShareAllowed() {\n\t\t// eslint-disable-next-line camelcase\n\t\treturn this._capabilities?.files_sharing?.sharebymail !== undefined\n\t\t\t// eslint-disable-next-line camelcase\n\t\t\t&& this._capabilities?.files_sharing?.public?.enabled === true\n\t}\n\n\t/**\n\t * Get the default days to link shares expiration\n\t *\n\t * @return {number}\n\t * @readonly\n\t * @memberof Config\n\t */\n\tget defaultExpireDate() {\n\t\treturn OC.appConfig.core.defaultExpireDate\n\t}\n\n\t/**\n\t * Get the default days to internal shares expiration\n\t *\n\t * @return {number}\n\t * @readonly\n\t * @memberof Config\n\t */\n\tget defaultInternalExpireDate() {\n\t\treturn OC.appConfig.core.defaultInternalExpireDate\n\t}\n\n\t/**\n\t * Get the default days to remote shares expiration\n\t *\n\t * @return {number}\n\t * @readonly\n\t * @memberof Config\n\t */\n\tget defaultRemoteExpireDate() {\n\t\treturn OC.appConfig.core.defaultRemoteExpireDate\n\t}\n\n\t/**\n\t * Is resharing allowed ?\n\t *\n\t * @return {boolean}\n\t * @readonly\n\t * @memberof Config\n\t */\n\tget isResharingAllowed() {\n\t\treturn OC.appConfig.core.resharingAllowed === true\n\t}\n\n\t/**\n\t * Is password enforced for mail shares ?\n\t *\n\t * @return {boolean}\n\t * @readonly\n\t * @memberof Config\n\t */\n\tget isPasswordForMailSharesRequired() {\n\t\treturn (this._capabilities.files_sharing.sharebymail === undefined) ? false : this._capabilities.files_sharing.sharebymail.password.enforced\n\t}\n\n\t/**\n\t * @return {boolean}\n\t * @readonly\n\t * @memberof Config\n\t */\n\tget shouldAlwaysShowUnique() {\n\t\treturn (this._capabilities.files_sharing?.sharee?.always_show_unique === true)\n\t}\n\n\t/**\n\t * Is sharing with groups allowed ?\n\t *\n\t * @return {boolean}\n\t * @readonly\n\t * @memberof Config\n\t */\n\tget allowGroupSharing() {\n\t\treturn OC.appConfig.core.allowGroupSharing === true\n\t}\n\n\t/**\n\t * Get the maximum results of a share search\n\t *\n\t * @return {number}\n\t * @readonly\n\t * @memberof Config\n\t */\n\tget maxAutocompleteResults() {\n\t\treturn parseInt(OC.config['sharing.maxAutocompleteResults'], 10) || 25\n\t}\n\n\t/**\n\t * Get the minimal string length\n\t * to initiate a share search\n\t *\n\t * @return {number}\n\t * @readonly\n\t * @memberof Config\n\t */\n\tget minSearchStringLength() {\n\t\treturn parseInt(OC.config['sharing.minSearchStringLength'], 10) || 0\n\t}\n\n\t/**\n\t * Get the password policy config\n\t *\n\t * @return {object}\n\t * @readonly\n\t * @memberof Config\n\t */\n\tget passwordPolicy() {\n\t\treturn this._capabilities.password_policy ? this._capabilities.password_policy : {}\n\t}\n\n}\n","/**\n * SPDX-FileCopyrightText: 2019 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\n\nexport default class Share {\n\n\t_share\n\n\t/**\n\t * Create the share object\n\t *\n\t * @param {object} ocsData ocs request response\n\t */\n\tconstructor(ocsData) {\n\t\tif (ocsData.ocs && ocsData.ocs.data && ocsData.ocs.data[0]) {\n\t\t\tocsData = ocsData.ocs.data[0]\n\t\t}\n\n\t\t// convert int into boolean\n\t\tocsData.hide_download = !!ocsData.hide_download\n\t\tocsData.mail_send = !!ocsData.mail_send\n\n\t\tif (ocsData.attributes && typeof ocsData.attributes === 'string') {\n\t\t\ttry {\n\t\t\t\tocsData.attributes = JSON.parse(ocsData.attributes)\n\t\t\t} catch (e) {\n\t\t\t\tconsole.warn('Could not parse share attributes returned by server', ocsData.attributes)\n\t\t\t}\n\t\t}\n\t\tocsData.attributes = ocsData.attributes ?? []\n\n\t\t// store state\n\t\tthis._share = ocsData\n\t}\n\n\t/**\n\t * Get the share state\n\t * ! used for reactivity purpose\n\t * Do not remove. It allow vuejs to\n\t * inject its watchers into the #share\n\t * state and make the whole class reactive\n\t *\n\t * @return {object} the share raw state\n\t * @readonly\n\t * @memberof Sidebar\n\t */\n\tget state() {\n\t\treturn this._share\n\t}\n\n\t/**\n\t * get the share id\n\t *\n\t * @return {number}\n\t * @readonly\n\t * @memberof Share\n\t */\n\tget id() {\n\t\treturn this._share.id\n\t}\n\n\t/**\n\t * Get the share type\n\t *\n\t * @return {number}\n\t * @readonly\n\t * @memberof Share\n\t */\n\tget type() {\n\t\treturn this._share.share_type\n\t}\n\n\t/**\n\t * Get the share permissions\n\t * See OC.PERMISSION_* variables\n\t *\n\t * @return {number}\n\t * @readonly\n\t * @memberof Share\n\t */\n\tget permissions() {\n\t\treturn this._share.permissions\n\t}\n\n\t/**\n\t * Get the share attributes\n\t *\n\t * @return {Array}\n\t * @readonly\n\t * @memberof Share\n\t */\n\tget attributes() {\n\t\treturn this._share.attributes\n\t}\n\n\t/**\n\t * Set the share permissions\n\t * See OC.PERMISSION_* variables\n\t *\n\t * @param {number} permissions valid permission, See OC.PERMISSION_* variables\n\t * @memberof Share\n\t */\n\tset permissions(permissions) {\n\t\tthis._share.permissions = permissions\n\t}\n\n\t// SHARE OWNER --------------------------------------------------\n\t/**\n\t * Get the share owner uid\n\t *\n\t * @return {string}\n\t * @readonly\n\t * @memberof Share\n\t */\n\tget owner() {\n\t\treturn this._share.uid_owner\n\t}\n\n\t/**\n\t * Get the share owner's display name\n\t *\n\t * @return {string}\n\t * @readonly\n\t * @memberof Share\n\t */\n\tget ownerDisplayName() {\n\t\treturn this._share.displayname_owner\n\t}\n\n\t// SHARED WITH --------------------------------------------------\n\t/**\n\t * Get the share with entity uid\n\t *\n\t * @return {string}\n\t * @readonly\n\t * @memberof Share\n\t */\n\tget shareWith() {\n\t\treturn this._share.share_with\n\t}\n\n\t/**\n\t * Get the share with entity display name\n\t * fallback to its uid if none\n\t *\n\t * @return {string}\n\t * @readonly\n\t * @memberof Share\n\t */\n\tget shareWithDisplayName() {\n\t\treturn this._share.share_with_displayname\n\t\t\t|| this._share.share_with\n\t}\n\n\t/**\n\t * Unique display name in case of multiple\n\t * duplicates results with the same name.\n\t *\n\t * @return {string}\n\t * @readonly\n\t * @memberof Share\n\t */\n\tget shareWithDisplayNameUnique() {\n\t\treturn this._share.share_with_displayname_unique\n\t\t\t|| this._share.share_with\n\t}\n\n\t/**\n\t * Get the share with entity link\n\t *\n\t * @return {string}\n\t * @readonly\n\t * @memberof Share\n\t */\n\tget shareWithLink() {\n\t\treturn this._share.share_with_link\n\t}\n\n\t/**\n\t * Get the share with avatar if any\n\t *\n\t * @return {string}\n\t * @readonly\n\t * @memberof Share\n\t */\n\tget shareWithAvatar() {\n\t\treturn this._share.share_with_avatar\n\t}\n\n\t// SHARED FILE OR FOLDER OWNER ----------------------------------\n\t/**\n\t * Get the shared item owner uid\n\t *\n\t * @return {string}\n\t * @readonly\n\t * @memberof Share\n\t */\n\tget uidFileOwner() {\n\t\treturn this._share.uid_file_owner\n\t}\n\n\t/**\n\t * Get the shared item display name\n\t * fallback to its uid if none\n\t *\n\t * @return {string}\n\t * @readonly\n\t * @memberof Share\n\t */\n\tget displaynameFileOwner() {\n\t\treturn this._share.displayname_file_owner\n\t\t\t|| this._share.uid_file_owner\n\t}\n\n\t// TIME DATA ----------------------------------------------------\n\t/**\n\t * Get the share creation timestamp\n\t *\n\t * @return {number}\n\t * @readonly\n\t * @memberof Share\n\t */\n\tget createdTime() {\n\t\treturn this._share.stime\n\t}\n\n\t/**\n\t * Get the expiration date\n\t *\n\t * @return {string} date with YYYY-MM-DD format\n\t * @readonly\n\t * @memberof Share\n\t */\n\tget expireDate() {\n\t\treturn this._share.expiration\n\t}\n\n\t/**\n\t * Set the expiration date\n\t *\n\t * @param {string} date the share expiration date with YYYY-MM-DD format\n\t * @memberof Share\n\t */\n\tset expireDate(date) {\n\t\tthis._share.expiration = date\n\t}\n\n\t// EXTRA DATA ---------------------------------------------------\n\t/**\n\t * Get the public share token\n\t *\n\t * @return {string} the token\n\t * @readonly\n\t * @memberof Share\n\t */\n\tget token() {\n\t\treturn this._share.token\n\t}\n\n\t/**\n\t * Get the share note if any\n\t *\n\t * @return {string}\n\t * @readonly\n\t * @memberof Share\n\t */\n\tget note() {\n\t\treturn this._share.note\n\t}\n\n\t/**\n\t * Set the share note if any\n\t *\n\t * @param {string} note the note\n\t * @memberof Share\n\t */\n\tset note(note) {\n\t\tthis._share.note = note\n\t}\n\n\t/**\n\t * Get the share label if any\n\t * Should only exist on link shares\n\t *\n\t * @return {string}\n\t * @readonly\n\t * @memberof Share\n\t */\n\tget label() {\n\t\treturn this._share.label ?? ''\n\t}\n\n\t/**\n\t * Set the share label if any\n\t * Should only be set on link shares\n\t *\n\t * @param {string} label the label\n\t * @memberof Share\n\t */\n\tset label(label) {\n\t\tthis._share.label = label\n\t}\n\n\t/**\n\t * Have a mail been sent\n\t *\n\t * @return {boolean}\n\t * @readonly\n\t * @memberof Share\n\t */\n\tget mailSend() {\n\t\treturn this._share.mail_send === true\n\t}\n\n\t/**\n\t * Hide the download button on public page\n\t *\n\t * @return {boolean}\n\t * @readonly\n\t * @memberof Share\n\t */\n\tget hideDownload() {\n\t\treturn this._share.hide_download === true\n\t}\n\n\t/**\n\t * Hide the download button on public page\n\t *\n\t * @param {boolean} state hide the button ?\n\t * @memberof Share\n\t */\n\tset hideDownload(state) {\n\t\tthis._share.hide_download = state === true\n\t}\n\n\t/**\n\t * Password protection of the share\n\t *\n\t * @return {string}\n\t * @readonly\n\t * @memberof Share\n\t */\n\tget password() {\n\t\treturn this._share.password\n\t}\n\n\t/**\n\t * Password protection of the share\n\t *\n\t * @param {string} password the share password\n\t * @memberof Share\n\t */\n\tset password(password) {\n\t\tthis._share.password = password\n\t}\n\n\t/**\n\t * Password expiration time\n\t *\n\t * @return {string}\n\t * @readonly\n\t * @memberof Share\n\t */\n\tget passwordExpirationTime() {\n\t\treturn this._share.password_expiration_time\n\t}\n\n\t/**\n\t * Password expiration time\n\t *\n\t * @param {string} password expiration time\n\t * @memberof Share\n\t */\n\tset passwordExpirationTime(passwordExpirationTime) {\n\t\tthis._share.password_expiration_time = passwordExpirationTime\n\t}\n\n\t/**\n\t * Password protection by Talk of the share\n\t *\n\t * @return {boolean}\n\t * @readonly\n\t * @memberof Share\n\t */\n\tget sendPasswordByTalk() {\n\t\treturn this._share.send_password_by_talk\n\t}\n\n\t/**\n\t * Password protection by Talk of the share\n\t *\n\t * @param {boolean} sendPasswordByTalk whether to send the password by Talk\n\t *        or not\n\t * @memberof Share\n\t */\n\tset sendPasswordByTalk(sendPasswordByTalk) {\n\t\tthis._share.send_password_by_talk = sendPasswordByTalk\n\t}\n\n\t// SHARED ITEM DATA ---------------------------------------------\n\t/**\n\t * Get the shared item absolute full path\n\t *\n\t * @return {string}\n\t * @readonly\n\t * @memberof Share\n\t */\n\tget path() {\n\t\treturn this._share.path\n\t}\n\n\t/**\n\t * Return the item type: file or folder\n\t *\n\t * @return {string} 'folder' or 'file'\n\t * @readonly\n\t * @memberof Share\n\t */\n\tget itemType() {\n\t\treturn this._share.item_type\n\t}\n\n\t/**\n\t * Get the shared item mimetype\n\t *\n\t * @return {string}\n\t * @readonly\n\t * @memberof Share\n\t */\n\tget mimetype() {\n\t\treturn this._share.mimetype\n\t}\n\n\t/**\n\t * Get the shared item id\n\t *\n\t * @return {number}\n\t * @readonly\n\t * @memberof Share\n\t */\n\tget fileSource() {\n\t\treturn this._share.file_source\n\t}\n\n\t/**\n\t * Get the target path on the receiving end\n\t * e.g the file /xxx/aaa will be shared in\n\t * the receiving root as /aaa, the fileTarget is /aaa\n\t *\n\t * @return {string}\n\t * @readonly\n\t * @memberof Share\n\t */\n\tget fileTarget() {\n\t\treturn this._share.file_target\n\t}\n\n\t/**\n\t * Get the parent folder id if any\n\t *\n\t * @return {number}\n\t * @readonly\n\t * @memberof Share\n\t */\n\tget fileParent() {\n\t\treturn this._share.file_parent\n\t}\n\n\t// PERMISSIONS Shortcuts\n\n\t/**\n\t * Does this share have READ permissions\n\t *\n\t * @return {boolean}\n\t * @readonly\n\t * @memberof Share\n\t */\n\tget hasReadPermission() {\n\t\treturn !!((this.permissions & OC.PERMISSION_READ))\n\t}\n\n\t/**\n\t * Does this share have CREATE permissions\n\t *\n\t * @return {boolean}\n\t * @readonly\n\t * @memberof Share\n\t */\n\tget hasCreatePermission() {\n\t\treturn !!((this.permissions & OC.PERMISSION_CREATE))\n\t}\n\n\t/**\n\t * Does this share have DELETE permissions\n\t *\n\t * @return {boolean}\n\t * @readonly\n\t * @memberof Share\n\t */\n\tget hasDeletePermission() {\n\t\treturn !!((this.permissions & OC.PERMISSION_DELETE))\n\t}\n\n\t/**\n\t * Does this share have UPDATE permissions\n\t *\n\t * @return {boolean}\n\t * @readonly\n\t * @memberof Share\n\t */\n\tget hasUpdatePermission() {\n\t\treturn !!((this.permissions & OC.PERMISSION_UPDATE))\n\t}\n\n\t/**\n\t * Does this share have SHARE permissions\n\t *\n\t * @return {boolean}\n\t * @readonly\n\t * @memberof Share\n\t */\n\tget hasSharePermission() {\n\t\treturn !!((this.permissions & OC.PERMISSION_SHARE))\n\t}\n\n\t/**\n\t * Does this share have download permissions\n\t *\n\t * @return {boolean}\n\t * @readonly\n\t * @memberof Share\n\t */\n\tget hasDownloadPermission() {\n\t\tfor (const i in this._share.attributes) {\n\t\t\tconst attr = this._share.attributes[i]\n\t\t\tif (attr.scope === 'permissions' && attr.key === 'download') {\n\t\t\t\treturn attr.enabled\n\t\t\t}\n\t\t}\n\n\t\treturn true\n\t}\n\n\tset hasDownloadPermission(enabled) {\n\t\tthis.setAttribute('permissions', 'download', !!enabled)\n\t}\n\n\tsetAttribute(scope, key, enabled) {\n\t\tconst attrUpdate = {\n\t\t\tscope,\n\t\t\tkey,\n\t\t\tenabled,\n\t\t}\n\n\t\t// try and replace existing\n\t\tfor (const i in this._share.attributes) {\n\t\t\tconst attr = this._share.attributes[i]\n\t\t\tif (attr.scope === attrUpdate.scope && attr.key === attrUpdate.key) {\n\t\t\t\tthis._share.attributes.splice(i, 1, attrUpdate)\n\t\t\t\treturn\n\t\t\t}\n\t\t}\n\n\t\tthis._share.attributes.push(attrUpdate)\n\t}\n\n\t// PERMISSIONS Shortcuts for the CURRENT USER\n\t// ! the permissions above are the share settings,\n\t// ! meaning the permissions for the recipient\n\t/**\n\t * Can the current user EDIT this share ?\n\t *\n\t * @return {boolean}\n\t * @readonly\n\t * @memberof Share\n\t */\n\tget canEdit() {\n\t\treturn this._share.can_edit === true\n\t}\n\n\t/**\n\t * Can the current user DELETE this share ?\n\t *\n\t * @return {boolean}\n\t * @readonly\n\t * @memberof Share\n\t */\n\tget canDelete() {\n\t\treturn this._share.can_delete === true\n\t}\n\n\t/**\n\t * Top level accessible shared folder fileid for the current user\n\t *\n\t * @return {string}\n\t * @readonly\n\t * @memberof Share\n\t */\n\tget viaFileid() {\n\t\treturn this._share.via_fileid\n\t}\n\n\t/**\n\t * Top level accessible shared folder path for the current user\n\t *\n\t * @return {string}\n\t * @readonly\n\t * @memberof Share\n\t */\n\tget viaPath() {\n\t\treturn this._share.via_path\n\t}\n\n\t// TODO: SORT THOSE PROPERTIES\n\n\tget parent() {\n\t\treturn this._share.parent\n\t}\n\n\tget storageId() {\n\t\treturn this._share.storage_id\n\t}\n\n\tget storage() {\n\t\treturn this._share.storage\n\t}\n\n\tget itemSource() {\n\t\treturn this._share.item_source\n\t}\n\n\tget status() {\n\t\treturn this._share.status\n\t}\n\n}\n","/**\n * SPDX-FileCopyrightText: 2019 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\n\nimport { Type as ShareTypes } from '@nextcloud/sharing'\n\nexport default {\n\tdata() {\n\t\treturn {\n\t\t\tSHARE_TYPES: ShareTypes,\n\t\t}\n\t},\n}\n","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('ul',[_c('SharingEntrySimple',{ref:\"shareEntrySimple\",staticClass:\"sharing-entry__internal\",attrs:{\"title\":_vm.t('files_sharing', 'Internal link'),\"subtitle\":_vm.internalLinkSubtitle},scopedSlots:_vm._u([{key:\"avatar\",fn:function(){return [_c('div',{staticClass:\"avatar-external icon-external-white\"})]},proxy:true}])},[_vm._v(\" \"),_c('NcActionButton',{attrs:{\"title\":_vm.copyLinkTooltip,\"aria-label\":_vm.copyLinkTooltip},on:{\"click\":_vm.copyLink},scopedSlots:_vm._u([{key:\"icon\",fn:function(){return [(_vm.copied && _vm.copySuccess)?_c('CheckIcon',{staticClass:\"icon-checkmark-color\",attrs:{\"size\":20}}):_c('ClipboardIcon',{attrs:{\"size\":20}})]},proxy:true}])})],1)],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\n  <span v-bind=\"$attrs\"\n        :aria-hidden=\"title ? null : true\"\n        :aria-label=\"title\"\n        class=\"material-design-icon check-bold-icon\"\n        role=\"img\"\n        @click=\"$emit('click', $event)\">\n    <svg :fill=\"fillColor\"\n         class=\"material-design-icon__svg\"\n         :width=\"size\"\n         :height=\"size\"\n         viewBox=\"0 0 24 24\">\n      <path d=\"M9,20.42L2.79,14.21L5.62,11.38L9,14.77L18.88,4.88L21.71,7.71L9,20.42Z\">\n        <title v-if=\"title\">{{ title }}</title>\n      </path>\n    </svg>\n  </span>\n</template>\n\n<script>\nexport default {\n  name: \"CheckBoldIcon\",\n  emits: ['click'],\n  props: {\n    title: {\n      type: String,\n    },\n    fillColor: {\n      type: String,\n      default: \"currentColor\"\n    },\n    size: {\n      type: Number,\n      default: 24\n    }\n  }\n}\n</script>","import mod from \"-!../vue-loader/lib/index.js??vue-loader-options!./CheckBold.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../vue-loader/lib/index.js??vue-loader-options!./CheckBold.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./CheckBold.vue?vue&type=template&id=d4239c4a\"\nimport script from \"./CheckBold.vue?vue&type=script&lang=js\"\nexport * from \"./CheckBold.vue?vue&type=script&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n  script,\n  render,\n  staticRenderFns,\n  false,\n  null,\n  null,\n  null\n  \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('span',_vm._b({staticClass:\"material-design-icon check-bold-icon\",attrs:{\"aria-hidden\":_vm.title ? null : true,\"aria-label\":_vm.title,\"role\":\"img\"},on:{\"click\":function($event){return _vm.$emit('click', $event)}}},'span',_vm.$attrs,false),[_c('svg',{staticClass:\"material-design-icon__svg\",attrs:{\"fill\":_vm.fillColor,\"width\":_vm.size,\"height\":_vm.size,\"viewBox\":\"0 0 24 24\"}},[_c('path',{attrs:{\"d\":\"M9,20.42L2.79,14.21L5.62,11.38L9,14.77L18.88,4.88L21.71,7.71L9,20.42Z\"}},[(_vm.title)?_c('title',[_vm._v(_vm._s(_vm.title))]):_vm._e()])])])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import mod from \"-!../vue-loader/lib/index.js??vue-loader-options!./ClipboardFlow.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../vue-loader/lib/index.js??vue-loader-options!./ClipboardFlow.vue?vue&type=script&lang=js\"","<template>\n  <span v-bind=\"$attrs\"\n        :aria-hidden=\"title ? null : true\"\n        :aria-label=\"title\"\n        class=\"material-design-icon clipboard-flow-icon\"\n        role=\"img\"\n        @click=\"$emit('click', $event)\">\n    <svg :fill=\"fillColor\"\n         class=\"material-design-icon__svg\"\n         :width=\"size\"\n         :height=\"size\"\n         viewBox=\"0 0 24 24\">\n      <path d=\"M19,3H14.82C14.4,1.84 13.3,1 12,1C10.7,1 9.6,1.84 9.18,3H5A2,2 0 0,0 3,5V19A2,2 0 0,0 5,21H19A2,2 0 0,0 21,19V5A2,2 0 0,0 19,3M12,3A1,1 0 0,1 13,4A1,1 0 0,1 12,5A1,1 0 0,1 11,4A1,1 0 0,1 12,3M15,19L11,15H14V8H16V15H19L15,19M10,16H8V9H5L9,5L13,9H10V16\">\n        <title v-if=\"title\">{{ title }}</title>\n      </path>\n    </svg>\n  </span>\n</template>\n\n<script>\nexport default {\n  name: \"ClipboardFlowIcon\",\n  emits: ['click'],\n  props: {\n    title: {\n      type: String,\n    },\n    fillColor: {\n      type: String,\n      default: \"currentColor\"\n    },\n    size: {\n      type: Number,\n      default: 24\n    }\n  }\n}\n</script>","import { render, staticRenderFns } from \"./ClipboardFlow.vue?vue&type=template&id=692acad9\"\nimport script from \"./ClipboardFlow.vue?vue&type=script&lang=js\"\nexport * from \"./ClipboardFlow.vue?vue&type=script&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n  script,\n  render,\n  staticRenderFns,\n  false,\n  null,\n  null,\n  null\n  \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('span',_vm._b({staticClass:\"material-design-icon clipboard-flow-icon\",attrs:{\"aria-hidden\":_vm.title ? null : true,\"aria-label\":_vm.title,\"role\":\"img\"},on:{\"click\":function($event){return _vm.$emit('click', $event)}}},'span',_vm.$attrs,false),[_c('svg',{staticClass:\"material-design-icon__svg\",attrs:{\"fill\":_vm.fillColor,\"width\":_vm.size,\"height\":_vm.size,\"viewBox\":\"0 0 24 24\"}},[_c('path',{attrs:{\"d\":\"M19,3H14.82C14.4,1.84 13.3,1 12,1C10.7,1 9.6,1.84 9.18,3H5A2,2 0 0,0 3,5V19A2,2 0 0,0 5,21H19A2,2 0 0,0 21,19V5A2,2 0 0,0 19,3M12,3A1,1 0 0,1 13,4A1,1 0 0,1 12,5A1,1 0 0,1 11,4A1,1 0 0,1 12,3M15,19L11,15H14V8H16V15H19L15,19M10,16H8V9H5L9,5L13,9H10V16\"}},[(_vm.title)?_c('title',[_vm._v(_vm._s(_vm.title))]):_vm._e()])])])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import mod from \"-!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SharingEntrySimple.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SharingEntrySimple.vue?vue&type=script&lang=js\"","<!--\n  - SPDX-FileCopyrightText: 2019 Nextcloud GmbH and Nextcloud contributors\n  - SPDX-License-Identifier: AGPL-3.0-or-later\n-->\n\n<template>\n\t<li class=\"sharing-entry\">\n\t\t<slot name=\"avatar\" />\n\t\t<div class=\"sharing-entry__desc\">\n\t\t\t<span class=\"sharing-entry__title\">{{ title }}</span>\n\t\t\t<p v-if=\"subtitle\">\n\t\t\t\t{{ subtitle }}\n\t\t\t</p>\n\t\t</div>\n\t\t<NcActions v-if=\"$slots['default']\"\n\t\t\tref=\"actionsComponent\"\n\t\t\tclass=\"sharing-entry__actions\"\n\t\t\tmenu-align=\"right\"\n\t\t\t:aria-expanded=\"ariaExpandedValue\">\n\t\t\t<slot />\n\t\t</NcActions>\n\t</li>\n</template>\n\n<script>\nimport NcActions from '@nextcloud/vue/dist/Components/NcActions.js'\n\nexport default {\n\tname: 'SharingEntrySimple',\n\n\tcomponents: {\n\t\tNcActions,\n\t},\n\n\tprops: {\n\t\ttitle: {\n\t\t\ttype: String,\n\t\t\tdefault: '',\n\t\t\trequired: true,\n\t\t},\n\t\tsubtitle: {\n\t\t\ttype: String,\n\t\t\tdefault: '',\n\t\t},\n\t\tisUnique: {\n\t\t\ttype: Boolean,\n\t\t\tdefault: true,\n\t\t},\n\t\tariaExpanded: {\n\t\t\ttype: Boolean,\n\t\t\tdefault: null,\n\t\t},\n\t},\n\n\tcomputed: {\n\t\tariaExpandedValue() {\n\t\t\tif (this.ariaExpanded === null) {\n\t\t\t\treturn this.ariaExpanded\n\t\t\t}\n\t\t\treturn this.ariaExpanded ? 'true' : 'false'\n\t\t},\n\t},\n}\n</script>\n\n<style lang=\"scss\" scoped>\n.sharing-entry {\n\tdisplay: flex;\n\talign-items: center;\n\tmin-height: 44px;\n\t&__desc {\n\t\tpadding: 8px;\n\t\tpadding-left: 10px;\n\t\tline-height: 1.2em;\n\t\tposition: relative;\n\t\tflex: 1 1;\n\t\tmin-width: 0;\n\t\tp {\n\t\t\tcolor: var(--color-text-maxcontrast);\n\t\t}\n\t}\n\t&__title {\n\t\twhite-space: nowrap;\n\t\ttext-overflow: ellipsis;\n\t\toverflow: hidden;\n\t\tmax-width: inherit;\n\t}\n\t&__actions {\n\t\tmargin-left: auto !important;\n\t}\n}\n</style>\n","\n      import API from \"!../../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n      import domAPI from \"!../../../../node_modules/style-loader/dist/runtime/styleDomAPI.js\";\n      import insertFn from \"!../../../../node_modules/style-loader/dist/runtime/insertBySelector.js\";\n      import setAttributes from \"!../../../../node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js\";\n      import insertStyleElement from \"!../../../../node_modules/style-loader/dist/runtime/insertStyleElement.js\";\n      import styleTagTransformFn from \"!../../../../node_modules/style-loader/dist/runtime/styleTagTransform.js\";\n      import content, * as namedExport from \"!!../../../../node_modules/css-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/sass-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SharingEntrySimple.vue?vue&type=style&index=0&id=3bc1ac54&prod&lang=scss&scoped=true\";\n      \n      \n\nvar options = {};\n\noptions.styleTagTransform = styleTagTransformFn;\noptions.setAttributes = setAttributes;\n\n      options.insert = insertFn.bind(null, \"head\");\n    \noptions.domAPI = domAPI;\noptions.insertStyleElement = insertStyleElement;\n\nvar update = API(content, options);\n\n\n\nexport * from \"!!../../../../node_modules/css-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/sass-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SharingEntrySimple.vue?vue&type=style&index=0&id=3bc1ac54&prod&lang=scss&scoped=true\";\n       export default content && content.locals ? content.locals : undefined;\n","import { render, staticRenderFns } from \"./SharingEntrySimple.vue?vue&type=template&id=3bc1ac54&scoped=true\"\nimport script from \"./SharingEntrySimple.vue?vue&type=script&lang=js\"\nexport * from \"./SharingEntrySimple.vue?vue&type=script&lang=js\"\nimport style0 from \"./SharingEntrySimple.vue?vue&type=style&index=0&id=3bc1ac54&prod&lang=scss&scoped=true\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n  script,\n  render,\n  staticRenderFns,\n  false,\n  null,\n  \"3bc1ac54\",\n  null\n  \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('li',{staticClass:\"sharing-entry\"},[_vm._t(\"avatar\"),_vm._v(\" \"),_c('div',{staticClass:\"sharing-entry__desc\"},[_c('span',{staticClass:\"sharing-entry__title\"},[_vm._v(_vm._s(_vm.title))]),_vm._v(\" \"),(_vm.subtitle)?_c('p',[_vm._v(\"\\n\\t\\t\\t\"+_vm._s(_vm.subtitle)+\"\\n\\t\\t\")]):_vm._e()]),_vm._v(\" \"),(_vm.$slots['default'])?_c('NcActions',{ref:\"actionsComponent\",staticClass:\"sharing-entry__actions\",attrs:{\"menu-align\":\"right\",\"aria-expanded\":_vm.ariaExpandedValue}},[_vm._t(\"default\")],2):_vm._e()],2)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<!--\n  - SPDX-FileCopyrightText: 2019 Nextcloud GmbH and Nextcloud contributors\n  - SPDX-License-Identifier: AGPL-3.0-or-later\n-->\n<template>\n\t<ul>\n\t\t<SharingEntrySimple ref=\"shareEntrySimple\"\n\t\t\tclass=\"sharing-entry__internal\"\n\t\t\t:title=\"t('files_sharing', 'Internal link')\"\n\t\t\t:subtitle=\"internalLinkSubtitle\">\n\t\t\t<template #avatar>\n\t\t\t\t<div class=\"avatar-external icon-external-white\" />\n\t\t\t</template>\n\n\t\t\t<NcActionButton :title=\"copyLinkTooltip\"\n\t\t\t\t:aria-label=\"copyLinkTooltip\"\n\t\t\t\t@click=\"copyLink\">\n\t\t\t\t<template #icon>\n\t\t\t\t\t<CheckIcon v-if=\"copied && copySuccess\"\n\t\t\t\t\t\t:size=\"20\"\n\t\t\t\t\t\tclass=\"icon-checkmark-color\" />\n\t\t\t\t\t<ClipboardIcon v-else :size=\"20\" />\n\t\t\t\t</template>\n\t\t\t</NcActionButton>\n\t\t</SharingEntrySimple>\n\t</ul>\n</template>\n\n<script>\nimport { generateUrl } from '@nextcloud/router'\nimport { showSuccess } from '@nextcloud/dialogs'\nimport NcActionButton from '@nextcloud/vue/dist/Components/NcActionButton.js'\n\nimport CheckIcon from 'vue-material-design-icons/CheckBold.vue'\nimport ClipboardIcon from 'vue-material-design-icons/ClipboardFlow.vue'\n\nimport SharingEntrySimple from './SharingEntrySimple.vue'\n\nexport default {\n\tname: 'SharingEntryInternal',\n\n\tcomponents: {\n\t\tNcActionButton,\n\t\tSharingEntrySimple,\n\t\tCheckIcon,\n\t\tClipboardIcon,\n\t},\n\n\tprops: {\n\t\tfileInfo: {\n\t\t\ttype: Object,\n\t\t\tdefault: () => {},\n\t\t\trequired: true,\n\t\t},\n\t},\n\n\tdata() {\n\t\treturn {\n\t\t\tcopied: false,\n\t\t\tcopySuccess: false,\n\t\t}\n\t},\n\n\tcomputed: {\n\t\t/**\n\t\t * Get the internal link to this file id\n\t\t *\n\t\t * @return {string}\n\t\t */\n\t\tinternalLink() {\n\t\t\treturn window.location.protocol + '//' + window.location.host + generateUrl('/f/') + this.fileInfo.id\n\t\t},\n\n\t\t/**\n\t\t * Tooltip message\n\t\t *\n\t\t * @return {string}\n\t\t */\n\t\tcopyLinkTooltip() {\n\t\t\tif (this.copied) {\n\t\t\t\tif (this.copySuccess) {\n\t\t\t\t\treturn ''\n\t\t\t\t}\n\t\t\t\treturn t('files_sharing', 'Cannot copy, please copy the link manually')\n\t\t\t}\n\t\t\treturn t('files_sharing', 'Copy internal link to clipboard')\n\t\t},\n\n\t\tinternalLinkSubtitle() {\n\t\t\tif (this.fileInfo.type === 'dir') {\n\t\t\t\treturn t('files_sharing', 'Only works for people with access to this folder')\n\t\t\t}\n\t\t\treturn t('files_sharing', 'Only works for people with access to this file')\n\t\t},\n\t},\n\n\tmethods: {\n\t\tasync copyLink() {\n\t\t\ttry {\n\t\t\t\tawait navigator.clipboard.writeText(this.internalLink)\n\t\t\t\tshowSuccess(t('files_sharing', 'Link copied'))\n\t\t\t\tthis.$refs.shareEntrySimple.$refs.actionsComponent.$el.focus()\n\t\t\t\tthis.copySuccess = true\n\t\t\t\tthis.copied = true\n\t\t\t} catch (error) {\n\t\t\t\tthis.copySuccess = false\n\t\t\t\tthis.copied = true\n\t\t\t\tconsole.error(error)\n\t\t\t} finally {\n\t\t\t\tsetTimeout(() => {\n\t\t\t\t\tthis.copySuccess = false\n\t\t\t\t\tthis.copied = false\n\t\t\t\t}, 4000)\n\t\t\t}\n\t\t},\n\t},\n}\n</script>\n\n<style lang=\"scss\" scoped>\n.sharing-entry__internal {\n\t.avatar-external {\n\t\twidth: 32px;\n\t\theight: 32px;\n\t\tline-height: 32px;\n\t\tfont-size: 18px;\n\t\tbackground-color: var(--color-text-maxcontrast);\n\t\tborder-radius: 50%;\n\t\tflex-shrink: 0;\n\t}\n\t.icon-checkmark-color {\n\t\topacity: 1;\n\t\tcolor: var(--color-success);\n\t}\n}\n</style>\n","import mod from \"-!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SharingEntryInternal.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SharingEntryInternal.vue?vue&type=script&lang=js\"","\n      import API from \"!../../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n      import domAPI from \"!../../../../node_modules/style-loader/dist/runtime/styleDomAPI.js\";\n      import insertFn from \"!../../../../node_modules/style-loader/dist/runtime/insertBySelector.js\";\n      import setAttributes from \"!../../../../node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js\";\n      import insertStyleElement from \"!../../../../node_modules/style-loader/dist/runtime/insertStyleElement.js\";\n      import styleTagTransformFn from \"!../../../../node_modules/style-loader/dist/runtime/styleTagTransform.js\";\n      import content, * as namedExport from \"!!../../../../node_modules/css-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/sass-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SharingEntryInternal.vue?vue&type=style&index=0&id=cbf1a342&prod&lang=scss&scoped=true\";\n      \n      \n\nvar options = {};\n\noptions.styleTagTransform = styleTagTransformFn;\noptions.setAttributes = setAttributes;\n\n      options.insert = insertFn.bind(null, \"head\");\n    \noptions.domAPI = domAPI;\noptions.insertStyleElement = insertStyleElement;\n\nvar update = API(content, options);\n\n\n\nexport * from \"!!../../../../node_modules/css-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/sass-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SharingEntryInternal.vue?vue&type=style&index=0&id=cbf1a342&prod&lang=scss&scoped=true\";\n       export default content && content.locals ? content.locals : undefined;\n","import { render, staticRenderFns } from \"./SharingEntryInternal.vue?vue&type=template&id=cbf1a342&scoped=true\"\nimport script from \"./SharingEntryInternal.vue?vue&type=script&lang=js\"\nexport * from \"./SharingEntryInternal.vue?vue&type=script&lang=js\"\nimport style0 from \"./SharingEntryInternal.vue?vue&type=style&index=0&id=cbf1a342&prod&lang=scss&scoped=true\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n  script,\n  render,\n  staticRenderFns,\n  false,\n  null,\n  \"cbf1a342\",\n  null\n  \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',{staticClass:\"sharing-search\"},[_c('label',{attrs:{\"for\":\"sharing-search-input\"}},[_vm._v(_vm._s(_vm.t('files_sharing', 'Search for share recipients')))]),_vm._v(\" \"),_c('NcSelect',{ref:\"select\",staticClass:\"sharing-search__input\",attrs:{\"input-id\":\"sharing-search-input\",\"disabled\":!_vm.canReshare,\"loading\":_vm.loading,\"filterable\":false,\"placeholder\":_vm.inputPlaceholder,\"clear-search-on-blur\":() => false,\"user-select\":true,\"options\":_vm.options},on:{\"search\":_vm.asyncFind,\"option:selected\":_vm.onSelected},scopedSlots:_vm._u([{key:\"no-options\",fn:function({ search }){return [_vm._v(\"\\n\\t\\t\\t\"+_vm._s(search ? _vm.noResultText : _vm.t('files_sharing', 'No recommendations. Start typing.'))+\"\\n\\t\\t\")]}}]),model:{value:(_vm.value),callback:function ($$v) {_vm.value=$$v},expression:\"value\"}})],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","/**\n * SPDX-FileCopyrightText: 2020 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\n\nimport axios from '@nextcloud/axios'\nimport Config from '../services/ConfigService.js'\nimport { showError, showSuccess } from '@nextcloud/dialogs'\n\nconst config = new Config()\n// note: some chars removed on purpose to make them human friendly when read out\nconst passwordSet = 'abcdefgijkmnopqrstwxyzABCDEFGHJKLMNPQRSTWXYZ23456789'\n\n/**\n * Generate a valid policy password or\n * request a valid password if password_policy\n * is enabled\n *\n * @return {string} a valid password\n */\nexport default async function() {\n\t// password policy is enabled, let's request a pass\n\tif (config.passwordPolicy.api && config.passwordPolicy.api.generate) {\n\t\ttry {\n\t\t\tconst request = await axios.get(config.passwordPolicy.api.generate)\n\t\t\tif (request.data.ocs.data.password) {\n\t\t\t\tshowSuccess(t('files_sharing', 'Password created successfully'))\n\t\t\t\treturn request.data.ocs.data.password\n\t\t\t}\n\t\t} catch (error) {\n\t\t\tconsole.info('Error generating password from password_policy', error)\n\t\t\tshowError(t('files_sharing', 'Error generating password from password policy'))\n\t\t}\n\t}\n\n\tconst array = new Uint8Array(10)\n\tconst ratio = passwordSet.length / 255\n\tself.crypto.getRandomValues(array)\n\tlet password = ''\n\tfor (let i = 0; i < array.length; i++) {\n\t\tpassword += passwordSet.charAt(array[i] * ratio)\n\t}\n\treturn password\n}\n","/**\n * SPDX-FileCopyrightText: 2019 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\n\n// TODO: remove when ie not supported\nimport 'url-search-params-polyfill'\n\nimport { generateOcsUrl } from '@nextcloud/router'\nimport axios from '@nextcloud/axios'\nimport Share from '../models/Share.js'\nimport { emit } from '@nextcloud/event-bus'\n\nconst shareUrl = generateOcsUrl('apps/files_sharing/api/v1/shares')\n\nexport default {\n\tmethods: {\n\t\t/**\n\t\t * Create a new share\n\t\t *\n\t\t * @param {object} data destructuring object\n\t\t * @param {string} data.path  path to the file/folder which should be shared\n\t\t * @param {number} data.shareType  0 = user; 1 = group; 3 = public link; 6 = federated cloud share\n\t\t * @param {string} data.shareWith  user/group id with which the file should be shared (optional for shareType > 1)\n\t\t * @param {boolean} [data.publicUpload]  allow public upload to a public shared folder\n\t\t * @param {string} [data.password]  password to protect public link Share with\n\t\t * @param {number} [data.permissions]  1 = read; 2 = update; 4 = create; 8 = delete; 16 = share; 31 = all (default: 31, for public shares: 1)\n\t\t * @param {boolean} [data.sendPasswordByTalk] send the password via a talk conversation\n\t\t * @param {string} [data.expireDate] expire the shareautomatically after\n\t\t * @param {string} [data.label] custom label\n\t\t * @param {string} [data.attributes] Share attributes encoded as json\n\t\t * @param data.note\n\t\t * @return {Share} the new share\n\t\t * @throws {Error}\n\t\t */\n\t\tasync createShare({ path, permissions, shareType, shareWith, publicUpload, password, sendPasswordByTalk, expireDate, label, note, attributes }) {\n\t\t\ttry {\n\t\t\t\tconst request = await axios.post(shareUrl, { path, permissions, shareType, shareWith, publicUpload, password, sendPasswordByTalk, expireDate, label, note, attributes })\n\t\t\t\tif (!request?.data?.ocs) {\n\t\t\t\t\tthrow request\n\t\t\t\t}\n\t\t\t\tconst share = new Share(request.data.ocs.data)\n\t\t\t\temit('files_sharing:share:created', { share })\n\t\t\t\treturn share\n\t\t\t} catch (error) {\n\t\t\t\tconsole.error('Error while creating share', error)\n\t\t\t\tconst errorMessage = error?.response?.data?.ocs?.meta?.message\n\t\t\t\tOC.Notification.showTemporary(\n\t\t\t\t\terrorMessage ? t('files_sharing', 'Error creating the share: {errorMessage}', { errorMessage }) : t('files_sharing', 'Error creating the share'),\n\t\t\t\t\t{ type: 'error' },\n\t\t\t\t)\n\t\t\t\tthrow error\n\t\t\t}\n\t\t},\n\n\t\t/**\n\t\t * Delete a share\n\t\t *\n\t\t * @param {number} id share id\n\t\t * @throws {Error}\n\t\t */\n\t\tasync deleteShare(id) {\n\t\t\ttry {\n\t\t\t\tconst request = await axios.delete(shareUrl + `/${id}`)\n\t\t\t\tif (!request?.data?.ocs) {\n\t\t\t\t\tthrow request\n\t\t\t\t}\n\t\t\t\temit('files_sharing:share:deleted', { id })\n\t\t\t\treturn true\n\t\t\t} catch (error) {\n\t\t\t\tconsole.error('Error while deleting share', error)\n\t\t\t\tconst errorMessage = error?.response?.data?.ocs?.meta?.message\n\t\t\t\tOC.Notification.showTemporary(\n\t\t\t\t\terrorMessage ? t('files_sharing', 'Error deleting the share: {errorMessage}', { errorMessage }) : t('files_sharing', 'Error deleting the share'),\n\t\t\t\t\t{ type: 'error' },\n\t\t\t\t)\n\t\t\t\tthrow error\n\t\t\t}\n\t\t},\n\n\t\t/**\n\t\t * Update a share\n\t\t *\n\t\t * @param {number} id share id\n\t\t * @param {object} properties key-value object of the properties to update\n\t\t */\n\t\tasync updateShare(id, properties) {\n\t\t\ttry {\n\t\t\t\tconst request = await axios.put(shareUrl + `/${id}`, properties)\n\t\t\t\temit('files_sharing:share:updated', { id })\n\t\t\t\tif (!request?.data?.ocs) {\n\t\t\t\t\tthrow request\n\t\t\t\t} else {\n\t\t\t\t\treturn request.data.ocs.data\n\t\t\t\t}\n\t\t\t} catch (error) {\n\t\t\t\tconsole.error('Error while updating share', error)\n\t\t\t\tif (error.response.status !== 400) {\n\t\t\t\t\tconst errorMessage = error?.response?.data?.ocs?.meta?.message\n\t\t\t\t\tOC.Notification.showTemporary(\n\t\t\t\t\t\terrorMessage ? t('files_sharing', 'Error updating the share: {errorMessage}', { errorMessage }) : t('files_sharing', 'Error updating the share'),\n\t\t\t\t\t\t{ type: 'error' },\n\t\t\t\t\t)\n\t\t\t\t}\n\t\t\t\tconst message = error.response.data.ocs.meta.message\n\t\t\t\tthrow new Error(message)\n\t\t\t}\n\t\t},\n\t},\n}\n","/**\n * SPDX-FileCopyrightText: 2023 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\n\n\nimport Share from '../models/Share.js'\n\nexport default {\n\tmethods: {\n\t\tasync openSharingDetails(shareRequestObject) {\n\t\t\tlet share = {}\n\t\t\t// handle externalResults from OCA.Sharing.ShareSearch\n\t\t\t// TODO : Better name/interface for handler required\n\t\t\t// For example `externalAppCreateShareHook` with proper documentation\n\t\t\tif (shareRequestObject.handler) {\n\t\t\t\tif (this.suggestions) {\n\t\t\t\t\tshareRequestObject.suggestions = this.suggestions\n\t\t\t\t\tshareRequestObject.fileInfo = this.fileInfo\n\t\t\t\t\tshareRequestObject.query = this.query\n\t\t\t\t}\n\t\t\t\tshare = await shareRequestObject.handler(shareRequestObject)\n\t\t\t\tshare = new Share(share)\n\t\t\t} else {\n\t\t\t\tshare = this.mapShareRequestToShareObject(shareRequestObject)\n\t\t\t}\n\n\t\t\tconst shareDetails = {\n\t\t\t\tfileInfo: this.fileInfo,\n\t\t\t\tshare,\n\t\t\t}\n\n\t\t\tthis.$emit('open-sharing-details', shareDetails)\n\t\t},\n\t\topenShareDetailsForCustomSettings(share) {\n\t\t\tshare.setCustomPermissions = true\n\t\t\tthis.openSharingDetails(share)\n\t\t},\n\t\tmapShareRequestToShareObject(shareRequestObject) {\n\n\t\t\tif (shareRequestObject.id) {\n\t\t\t\treturn shareRequestObject\n\t\t\t}\n\n\t\t\tconst share = {\n\t\t\t\tattributes: [\n\t\t\t\t\t{\n\t\t\t\t\t\tenabled: true,\n\t\t\t\t\t\tkey: 'download',\n\t\t\t\t\t\tscope: 'permissions',\n\t\t\t\t\t},\n\t\t\t\t],\n\t\t\t\tshare_type: shareRequestObject.shareType,\n\t\t\t\tshare_with: shareRequestObject.shareWith,\n\t\t\t\tis_no_user: shareRequestObject.isNoUser,\n\t\t\t\tuser: shareRequestObject.shareWith,\n\t\t\t\tshare_with_displayname: shareRequestObject.displayName,\n\t\t\t\tsubtitle: shareRequestObject.subtitle,\n\t\t\t\tpermissions: shareRequestObject.permissions,\n\t\t\t\texpiration: '',\n\t\t\t}\n\n\t\t\treturn new Share(share)\n\t\t},\n\t},\n}\n","<!--\n  - SPDX-FileCopyrightText: 2019 Nextcloud GmbH and Nextcloud contributors\n  - SPDX-License-Identifier: AGPL-3.0-or-later\n-->\n\n<template>\n\t<div class=\"sharing-search\">\n\t\t<label for=\"sharing-search-input\">{{ t('files_sharing', 'Search for share recipients') }}</label>\n\t\t<NcSelect ref=\"select\"\n\t\t\tv-model=\"value\"\n\t\t\tinput-id=\"sharing-search-input\"\n\t\t\tclass=\"sharing-search__input\"\n\t\t\t:disabled=\"!canReshare\"\n\t\t\t:loading=\"loading\"\n\t\t\t:filterable=\"false\"\n\t\t\t:placeholder=\"inputPlaceholder\"\n\t\t\t:clear-search-on-blur=\"() => false\"\n\t\t\t:user-select=\"true\"\n\t\t\t:options=\"options\"\n\t\t\t@search=\"asyncFind\"\n\t\t\t@option:selected=\"onSelected\">\n\t\t\t<template #no-options=\"{ search }\">\n\t\t\t\t{{ search ? noResultText : t('files_sharing', 'No recommendations. Start typing.') }}\n\t\t\t</template>\n\t\t</NcSelect>\n\t</div>\n</template>\n\n<script>\nimport { generateOcsUrl } from '@nextcloud/router'\nimport { getCurrentUser } from '@nextcloud/auth'\nimport { getCapabilities } from '@nextcloud/capabilities'\nimport axios from '@nextcloud/axios'\nimport debounce from 'debounce'\nimport NcSelect from '@nextcloud/vue/dist/Components/NcSelect.js'\n\nimport Config from '../services/ConfigService.js'\nimport GeneratePassword from '../utils/GeneratePassword.js'\nimport Share from '../models/Share.js'\nimport ShareRequests from '../mixins/ShareRequests.js'\nimport ShareTypes from '../mixins/ShareTypes.js'\nimport ShareDetails from '../mixins/ShareDetails.js'\n\nexport default {\n\tname: 'SharingInput',\n\n\tcomponents: {\n\t\tNcSelect,\n\t},\n\n\tmixins: [ShareTypes, ShareRequests, ShareDetails],\n\n\tprops: {\n\t\tshares: {\n\t\t\ttype: Array,\n\t\t\tdefault: () => [],\n\t\t\trequired: true,\n\t\t},\n\t\tlinkShares: {\n\t\t\ttype: Array,\n\t\t\tdefault: () => [],\n\t\t\trequired: true,\n\t\t},\n\t\tfileInfo: {\n\t\t\ttype: Object,\n\t\t\tdefault: () => {},\n\t\t\trequired: true,\n\t\t},\n\t\treshare: {\n\t\t\ttype: Share,\n\t\t\tdefault: null,\n\t\t},\n\t\tcanReshare: {\n\t\t\ttype: Boolean,\n\t\t\trequired: true,\n\t\t},\n\t},\n\n\tdata() {\n\t\treturn {\n\t\t\tconfig: new Config(),\n\t\t\tloading: false,\n\t\t\tquery: '',\n\t\t\trecommendations: [],\n\t\t\tShareSearch: OCA.Sharing.ShareSearch.state,\n\t\t\tsuggestions: [],\n\t\t\tvalue: null,\n\t\t}\n\t},\n\n\tcomputed: {\n\t\t/**\n\t\t * Implement ShareSearch\n\t\t * allows external appas to inject new\n\t\t * results into the autocomplete dropdown\n\t\t * Used for the guests app\n\t\t *\n\t\t * @return {Array}\n\t\t */\n\t\texternalResults() {\n\t\t\treturn this.ShareSearch.results\n\t\t},\n\t\tinputPlaceholder() {\n\t\t\tconst allowRemoteSharing = this.config.isRemoteShareAllowed\n\n\t\t\tif (!this.canReshare) {\n\t\t\t\treturn t('files_sharing', 'Resharing is not allowed')\n\t\t\t}\n\t\t\t// We can always search with email addresses for users too\n\t\t\tif (!allowRemoteSharing) {\n\t\t\t\treturn t('files_sharing', 'Name or email …')\n\t\t\t}\n\n\t\t\treturn t('files_sharing', 'Name, email, or Federated Cloud ID …')\n\t\t},\n\n\t\tisValidQuery() {\n\t\t\treturn this.query && this.query.trim() !== '' && this.query.length > this.config.minSearchStringLength\n\t\t},\n\n\t\toptions() {\n\t\t\tif (this.isValidQuery) {\n\t\t\t\treturn this.suggestions\n\t\t\t}\n\t\t\treturn this.recommendations\n\t\t},\n\n\t\tnoResultText() {\n\t\t\tif (this.loading) {\n\t\t\t\treturn t('files_sharing', 'Searching …')\n\t\t\t}\n\t\t\treturn t('files_sharing', 'No elements found.')\n\t\t},\n\t},\n\n\tmounted() {\n\t\tthis.getRecommendations()\n\t},\n\n\tmethods: {\n\t\tonSelected(option) {\n\t\t\tthis.value = null // Reset selected option\n\t\t\tthis.openSharingDetails(option)\n\t\t},\n\n\t\tasync asyncFind(query) {\n\t\t\t// save current query to check if we display\n\t\t\t// recommendations or search results\n\t\t\tthis.query = query.trim()\n\t\t\tif (this.isValidQuery) {\n\t\t\t\t// start loading now to have proper ux feedback\n\t\t\t\t// during the debounce\n\t\t\t\tthis.loading = true\n\t\t\t\tawait this.debounceGetSuggestions(query)\n\t\t\t}\n\t\t},\n\n\t\t/**\n\t\t * Get suggestions\n\t\t *\n\t\t * @param {string} search the search query\n\t\t * @param {boolean} [lookup] search on lookup server\n\t\t */\n\t\tasync getSuggestions(search, lookup = false) {\n\t\t\tthis.loading = true\n\n\t\t\tif (getCapabilities().files_sharing.sharee.query_lookup_default === true) {\n\t\t\t\tlookup = true\n\t\t\t}\n\n\t\t\tconst shareType = [\n\t\t\t\tthis.SHARE_TYPES.SHARE_TYPE_USER,\n\t\t\t\tthis.SHARE_TYPES.SHARE_TYPE_GROUP,\n\t\t\t\tthis.SHARE_TYPES.SHARE_TYPE_REMOTE,\n\t\t\t\tthis.SHARE_TYPES.SHARE_TYPE_REMOTE_GROUP,\n\t\t\t\tthis.SHARE_TYPES.SHARE_TYPE_CIRCLE,\n\t\t\t\tthis.SHARE_TYPES.SHARE_TYPE_ROOM,\n\t\t\t\tthis.SHARE_TYPES.SHARE_TYPE_GUEST,\n\t\t\t\tthis.SHARE_TYPES.SHARE_TYPE_DECK,\n\t\t\t\tthis.SHARE_TYPES.SHARE_TYPE_SCIENCEMESH,\n\t\t\t]\n\n\t\t\tif (getCapabilities().files_sharing.public.enabled === true) {\n\t\t\t\tshareType.push(this.SHARE_TYPES.SHARE_TYPE_EMAIL)\n\t\t\t}\n\n\t\t\tlet request = null\n\t\t\ttry {\n\t\t\t\trequest = await axios.get(generateOcsUrl('apps/files_sharing/api/v1/sharees'), {\n\t\t\t\t\tparams: {\n\t\t\t\t\t\tformat: 'json',\n\t\t\t\t\t\titemType: this.fileInfo.type === 'dir' ? 'folder' : 'file',\n\t\t\t\t\t\tsearch,\n\t\t\t\t\t\tlookup,\n\t\t\t\t\t\tperPage: this.config.maxAutocompleteResults,\n\t\t\t\t\t\tshareType,\n\t\t\t\t\t},\n\t\t\t\t})\n\t\t\t} catch (error) {\n\t\t\t\tconsole.error('Error fetching suggestions', error)\n\t\t\t\treturn\n\t\t\t}\n\n\t\t\tconst data = request.data.ocs.data\n\t\t\tconst exact = request.data.ocs.data.exact\n\t\t\tdata.exact = [] // removing exact from general results\n\n\t\t\t// flatten array of arrays\n\t\t\tconst rawExactSuggestions = Object.values(exact).reduce((arr, elem) => arr.concat(elem), [])\n\t\t\tconst rawSuggestions = Object.values(data).reduce((arr, elem) => arr.concat(elem), [])\n\n\t\t\t// remove invalid data and format to user-select layout\n\t\t\tconst exactSuggestions = this.filterOutExistingShares(rawExactSuggestions)\n\t\t\t\t.map(share => this.formatForMultiselect(share))\n\t\t\t\t// sort by type so we can get user&groups first...\n\t\t\t\t.sort((a, b) => a.shareType - b.shareType)\n\t\t\tconst suggestions = this.filterOutExistingShares(rawSuggestions)\n\t\t\t\t.map(share => this.formatForMultiselect(share))\n\t\t\t\t// sort by type so we can get user&groups first...\n\t\t\t\t.sort((a, b) => a.shareType - b.shareType)\n\n\t\t\t// lookup clickable entry\n\t\t\t// show if enabled and not already requested\n\t\t\tconst lookupEntry = []\n\t\t\tif (data.lookupEnabled && !lookup) {\n\t\t\t\tlookupEntry.push({\n\t\t\t\t\tid: 'global-lookup',\n\t\t\t\t\tisNoUser: true,\n\t\t\t\t\tdisplayName: t('files_sharing', 'Search globally'),\n\t\t\t\t\tlookup: true,\n\t\t\t\t})\n\t\t\t}\n\n\t\t\t// if there is a condition specified, filter it\n\t\t\tconst externalResults = this.externalResults.filter(result => !result.condition || result.condition(this))\n\n\t\t\tconst allSuggestions = exactSuggestions.concat(suggestions).concat(externalResults).concat(lookupEntry)\n\n\t\t\t// Count occurrences of display names in order to provide a distinguishable description if needed\n\t\t\tconst nameCounts = allSuggestions.reduce((nameCounts, result) => {\n\t\t\t\tif (!result.displayName) {\n\t\t\t\t\treturn nameCounts\n\t\t\t\t}\n\t\t\t\tif (!nameCounts[result.displayName]) {\n\t\t\t\t\tnameCounts[result.displayName] = 0\n\t\t\t\t}\n\t\t\t\tnameCounts[result.displayName]++\n\t\t\t\treturn nameCounts\n\t\t\t}, {})\n\n\t\t\tthis.suggestions = allSuggestions.map(item => {\n\t\t\t\t// Make sure that items with duplicate displayName get the shareWith applied as a description\n\t\t\t\tif (nameCounts[item.displayName] > 1 && !item.desc) {\n\t\t\t\t\treturn { ...item, desc: item.shareWithDisplayNameUnique }\n\t\t\t\t}\n\t\t\t\treturn item\n\t\t\t})\n\n\t\t\tthis.loading = false\n\t\t\tconsole.info('suggestions', this.suggestions)\n\t\t},\n\n\t\t/**\n\t\t * Debounce getSuggestions\n\t\t *\n\t\t * @param {...*} args the arguments\n\t\t */\n\t\tdebounceGetSuggestions: debounce(function(...args) {\n\t\t\tthis.getSuggestions(...args)\n\t\t}, 300),\n\n\t\t/**\n\t\t * Get the sharing recommendations\n\t\t */\n\t\tasync getRecommendations() {\n\t\t\tthis.loading = true\n\n\t\t\tlet request = null\n\t\t\ttry {\n\t\t\t\trequest = await axios.get(generateOcsUrl('apps/files_sharing/api/v1/sharees_recommended'), {\n\t\t\t\t\tparams: {\n\t\t\t\t\t\tformat: 'json',\n\t\t\t\t\t\titemType: this.fileInfo.type,\n\t\t\t\t\t},\n\t\t\t\t})\n\t\t\t} catch (error) {\n\t\t\t\tconsole.error('Error fetching recommendations', error)\n\t\t\t\treturn\n\t\t\t}\n\n\t\t\t// Add external results from the OCA.Sharing.ShareSearch api\n\t\t\tconst externalResults = this.externalResults.filter(result => !result.condition || result.condition(this))\n\n\t\t\t// flatten array of arrays\n\t\t\tconst rawRecommendations = Object.values(request.data.ocs.data.exact)\n\t\t\t\t.reduce((arr, elem) => arr.concat(elem), [])\n\n\t\t\t// remove invalid data and format to user-select layout\n\t\t\tthis.recommendations = this.filterOutExistingShares(rawRecommendations)\n\t\t\t\t.map(share => this.formatForMultiselect(share))\n\t\t\t\t.concat(externalResults)\n\n\t\t\tthis.loading = false\n\t\t\tconsole.info('recommendations', this.recommendations)\n\t\t},\n\n\t\t/**\n\t\t * Filter out existing shares from\n\t\t * the provided shares search results\n\t\t *\n\t\t * @param {object[]} shares the array of shares object\n\t\t * @return {object[]}\n\t\t */\n\t\tfilterOutExistingShares(shares) {\n\t\t\treturn shares.reduce((arr, share) => {\n\t\t\t\t// only check proper objects\n\t\t\t\tif (typeof share !== 'object') {\n\t\t\t\t\treturn arr\n\t\t\t\t}\n\t\t\t\ttry {\n\t\t\t\t\tif (share.value.shareType === this.SHARE_TYPES.SHARE_TYPE_USER) {\n\t\t\t\t\t\t// filter out current user\n\t\t\t\t\t\tif (share.value.shareWith === getCurrentUser().uid) {\n\t\t\t\t\t\t\treturn arr\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\t// filter out the owner of the share\n\t\t\t\t\t\tif (this.reshare && share.value.shareWith === this.reshare.owner) {\n\t\t\t\t\t\t\treturn arr\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\n\t\t\t\t\t// filter out existing mail shares\n\t\t\t\t\tif (share.value.shareType === this.SHARE_TYPES.SHARE_TYPE_EMAIL) {\n\t\t\t\t\t\tconst emails = this.linkShares.map(elem => elem.shareWith)\n\t\t\t\t\t\tif (emails.indexOf(share.value.shareWith.trim()) !== -1) {\n\t\t\t\t\t\t\treturn arr\n\t\t\t\t\t\t}\n\t\t\t\t\t} else { // filter out existing shares\n\t\t\t\t\t\t// creating an object of uid => type\n\t\t\t\t\t\tconst sharesObj = this.shares.reduce((obj, elem) => {\n\t\t\t\t\t\t\tobj[elem.shareWith] = elem.type\n\t\t\t\t\t\t\treturn obj\n\t\t\t\t\t\t}, {})\n\n\t\t\t\t\t\t// if shareWith is the same and the share type too, ignore it\n\t\t\t\t\t\tconst key = share.value.shareWith.trim()\n\t\t\t\t\t\tif (key in sharesObj\n\t\t\t\t\t\t\t&& sharesObj[key] === share.value.shareType) {\n\t\t\t\t\t\t\treturn arr\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\n\t\t\t\t\t// ALL GOOD\n\t\t\t\t\t// let's add the suggestion\n\t\t\t\t\tarr.push(share)\n\t\t\t\t} catch {\n\t\t\t\t\treturn arr\n\t\t\t\t}\n\t\t\t\treturn arr\n\t\t\t}, [])\n\t\t},\n\n\t\t/**\n\t\t * Get the icon based on the share type\n\t\t *\n\t\t * @param {number} type the share type\n\t\t * @return {string} the icon class\n\t\t */\n\t\tshareTypeToIcon(type) {\n\t\t\tswitch (type) {\n\t\t\tcase this.SHARE_TYPES.SHARE_TYPE_GUEST:\n\t\t\t\t// default is a user, other icons are here to differentiate\n\t\t\t\t// themselves from it, so let's not display the user icon\n\t\t\t\t// case this.SHARE_TYPES.SHARE_TYPE_REMOTE:\n\t\t\t\t// case this.SHARE_TYPES.SHARE_TYPE_USER:\n\t\t\t\treturn {\n\t\t\t\t\ticon: 'icon-user',\n\t\t\t\t\ticonTitle: t('files_sharing', 'Guest'),\n\t\t\t\t}\n\t\t\tcase this.SHARE_TYPES.SHARE_TYPE_REMOTE_GROUP:\n\t\t\tcase this.SHARE_TYPES.SHARE_TYPE_GROUP:\n\t\t\t\treturn {\n\t\t\t\t\ticon: 'icon-group',\n\t\t\t\t\ticonTitle: t('files_sharing', 'Group'),\n\t\t\t\t}\n\t\t\tcase this.SHARE_TYPES.SHARE_TYPE_EMAIL:\n\t\t\t\treturn {\n\t\t\t\t\ticon: 'icon-mail',\n\t\t\t\t\ticonTitle: t('files_sharing', 'Email'),\n\t\t\t\t}\n\t\t\tcase this.SHARE_TYPES.SHARE_TYPE_CIRCLE:\n\t\t\t\treturn {\n\t\t\t\t\ticon: 'icon-teams',\n\t\t\t\t\ticonTitle: t('files_sharing', 'Team'),\n\t\t\t\t}\n\t\t\tcase this.SHARE_TYPES.SHARE_TYPE_ROOM:\n\t\t\t\treturn {\n\t\t\t\t\ticon: 'icon-room',\n\t\t\t\t\ticonTitle: t('files_sharing', 'Talk conversation'),\n\t\t\t\t}\n\t\t\tcase this.SHARE_TYPES.SHARE_TYPE_DECK:\n\t\t\t\treturn {\n\t\t\t\t\ticon: 'icon-deck',\n\t\t\t\t\ticonTitle: t('files_sharing', 'Deck board'),\n\t\t\t\t}\n\t\t\tcase this.SHARE_TYPES.SHARE_TYPE_SCIENCEMESH:\n\t\t\t\treturn {\n\t\t\t\t\ticon: 'icon-sciencemesh',\n\t\t\t\t\ticonTitle: t('files_sharing', 'ScienceMesh'),\n\t\t\t\t}\n\t\t\tdefault:\n\t\t\t\treturn {}\n\t\t\t}\n\t\t},\n\n\t\t/**\n\t\t * Format shares for the multiselect options\n\t\t *\n\t\t * @param {object} result select entry item\n\t\t * @return {object}\n\t\t */\n\t\tformatForMultiselect(result) {\n\t\t\tlet subtitle\n\t\t\tif (result.value.shareType === this.SHARE_TYPES.SHARE_TYPE_USER && this.config.shouldAlwaysShowUnique) {\n\t\t\t\tsubtitle = result.shareWithDisplayNameUnique ?? ''\n\t\t\t} else if ((result.value.shareType === this.SHARE_TYPES.SHARE_TYPE_REMOTE\n\t\t\t\t\t|| result.value.shareType === this.SHARE_TYPES.SHARE_TYPE_REMOTE_GROUP\n\t\t\t) && result.value.server) {\n\t\t\t\tsubtitle = t('files_sharing', 'on {server}', { server: result.value.server })\n\t\t\t} else if (result.value.shareType === this.SHARE_TYPES.SHARE_TYPE_EMAIL) {\n\t\t\t\tsubtitle = result.value.shareWith\n\t\t\t} else {\n\t\t\t\tsubtitle = result.shareWithDescription ?? ''\n\t\t\t}\n\n\t\t\treturn {\n\t\t\t\tshareWith: result.value.shareWith,\n\t\t\t\tshareType: result.value.shareType,\n\t\t\t\tuser: result.uuid || result.value.shareWith,\n\t\t\t\tisNoUser: result.value.shareType !== this.SHARE_TYPES.SHARE_TYPE_USER,\n\t\t\t\tdisplayName: result.name || result.label,\n\t\t\t\tsubtitle,\n\t\t\t\tshareWithDisplayNameUnique: result.shareWithDisplayNameUnique || '',\n\t\t\t\t...this.shareTypeToIcon(result.value.shareType),\n\t\t\t}\n\t\t},\n\n\t\t/**\n\t\t * Process the new share request\n\t\t *\n\t\t * @param {object} value the multiselect option\n\t\t */\n\t\tasync addShare(value) {\n\t\t\t// Clear the displayed selection\n\t\t\tthis.value = null\n\n\t\t\tif (value.lookup) {\n\t\t\t\tawait this.getSuggestions(this.query, true)\n\n\t\t\t\tthis.$nextTick(() => {\n\t\t\t\t\t// open the dropdown again\n\t\t\t\t\tthis.$refs.select.$children[0].open = true\n\t\t\t\t})\n\t\t\t\treturn true\n\t\t\t}\n\n\t\t\t// handle externalResults from OCA.Sharing.ShareSearch\n\t\t\tif (value.handler) {\n\t\t\t\tconst share = await value.handler(this)\n\t\t\t\tthis.$emit('add:share', new Share(share))\n\t\t\t\treturn true\n\t\t\t}\n\n\t\t\tthis.loading = true\n\t\t\tconsole.debug('Adding a new share from the input for', value)\n\t\t\ttry {\n\t\t\t\tlet password = null\n\n\t\t\t\tif (this.config.enforcePasswordForPublicLink\n\t\t\t\t\t&& value.shareType === this.SHARE_TYPES.SHARE_TYPE_EMAIL) {\n\t\t\t\t\tpassword = await GeneratePassword()\n\t\t\t\t}\n\n\t\t\t\tconst path = (this.fileInfo.path + '/' + this.fileInfo.name).replace('//', '/')\n\t\t\t\tconst share = await this.createShare({\n\t\t\t\t\tpath,\n\t\t\t\t\tshareType: value.shareType,\n\t\t\t\t\tshareWith: value.shareWith,\n\t\t\t\t\tpassword,\n\t\t\t\t\tpermissions: this.fileInfo.sharePermissions & getCapabilities().files_sharing.default_permissions,\n\t\t\t\t\tattributes: JSON.stringify(this.fileInfo.shareAttributes),\n\t\t\t\t})\n\n\t\t\t\t// If we had a password, we need to show it to the user as it was generated\n\t\t\t\tif (password) {\n\t\t\t\t\tshare.newPassword = password\n\t\t\t\t\t// Wait for the newly added share\n\t\t\t\t\tconst component = await new Promise(resolve => {\n\t\t\t\t\t\tthis.$emit('add:share', share, resolve)\n\t\t\t\t\t})\n\n\t\t\t\t\t// open the menu on the\n\t\t\t\t\t// freshly created share component\n\t\t\t\t\tcomponent.open = true\n\t\t\t\t} else {\n\t\t\t\t\t// Else we just add it normally\n\t\t\t\t\tthis.$emit('add:share', share)\n\t\t\t\t}\n\n\t\t\t\tawait this.getRecommendations()\n\t\t\t} catch (error) {\n\t\t\t\tthis.$nextTick(() => {\n\t\t\t\t\t// open the dropdown again on error\n\t\t\t\t\tthis.$refs.select.$children[0].open = true\n\t\t\t\t})\n\t\t\t\tthis.query = value.shareWith\n\t\t\t\tconsole.error('Error while adding new share', error)\n\t\t\t} finally {\n\t\t\t\tthis.loading = false\n\t\t\t}\n\t\t},\n\t},\n}\n</script>\n\n<style lang=\"scss\">\n.sharing-search {\n\tdisplay: flex;\n\tflex-direction: column;\n\tmargin-bottom: 4px;\n\n\tlabel[for=\"sharing-search-input\"] {\n\t\tmargin-bottom: 2px;\n\t}\n\n\t&__input {\n\t\twidth: 100%;\n\t\tmargin: 10px 0;\n\t}\n}\n\n.vs__dropdown-menu {\n\t// properly style the lookup entry\n\tspan[lookup] {\n\t\t.avatardiv {\n\t\t\tbackground-image: var(--icon-search-white);\n\t\t\tbackground-repeat: no-repeat;\n\t\t\tbackground-position: center;\n\t\t\tbackground-color: var(--color-text-maxcontrast) !important;\n\t\t\t.avatardiv__initials-wrapper {\n\t\t\t\tdisplay: none;\n\t\t\t}\n\t\t}\n\t}\n}\n</style>\n","import mod from \"-!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SharingInput.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SharingInput.vue?vue&type=script&lang=js\"","\n      import API from \"!../../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n      import domAPI from \"!../../../../node_modules/style-loader/dist/runtime/styleDomAPI.js\";\n      import insertFn from \"!../../../../node_modules/style-loader/dist/runtime/insertBySelector.js\";\n      import setAttributes from \"!../../../../node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js\";\n      import insertStyleElement from \"!../../../../node_modules/style-loader/dist/runtime/insertStyleElement.js\";\n      import styleTagTransformFn from \"!../../../../node_modules/style-loader/dist/runtime/styleTagTransform.js\";\n      import content, * as namedExport from \"!!../../../../node_modules/css-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/sass-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SharingInput.vue?vue&type=style&index=0&id=1096bdc0&prod&lang=scss\";\n      \n      \n\nvar options = {};\n\noptions.styleTagTransform = styleTagTransformFn;\noptions.setAttributes = setAttributes;\n\n      options.insert = insertFn.bind(null, \"head\");\n    \noptions.domAPI = domAPI;\noptions.insertStyleElement = insertStyleElement;\n\nvar update = API(content, options);\n\n\n\nexport * from \"!!../../../../node_modules/css-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/sass-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SharingInput.vue?vue&type=style&index=0&id=1096bdc0&prod&lang=scss\";\n       export default content && content.locals ? content.locals : undefined;\n","import { render, staticRenderFns } from \"./SharingInput.vue?vue&type=template&id=1096bdc0\"\nimport script from \"./SharingInput.vue?vue&type=script&lang=js\"\nexport * from \"./SharingInput.vue?vue&type=script&lang=js\"\nimport style0 from \"./SharingInput.vue?vue&type=style&index=0&id=1096bdc0&prod&lang=scss\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n  script,\n  render,\n  staticRenderFns,\n  false,\n  null,\n  null,\n  null\n  \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('ul',{attrs:{\"id\":\"sharing-inherited-shares\"}},[_c('SharingEntrySimple',{staticClass:\"sharing-entry__inherited\",attrs:{\"title\":_vm.mainTitle,\"subtitle\":_vm.subTitle,\"aria-expanded\":_vm.showInheritedShares},scopedSlots:_vm._u([{key:\"avatar\",fn:function(){return [_c('div',{staticClass:\"avatar-shared icon-more-white\"})]},proxy:true}])},[_vm._v(\" \"),_c('NcActionButton',{attrs:{\"icon\":_vm.showInheritedSharesIcon,\"aria-label\":_vm.toggleTooltip,\"title\":_vm.toggleTooltip},on:{\"click\":function($event){$event.preventDefault();$event.stopPropagation();return _vm.toggleInheritedShares.apply(null, arguments)}}})],1),_vm._v(\" \"),_vm._l((_vm.shares),function(share){return _c('SharingEntryInherited',{key:share.id,attrs:{\"file-info\":_vm.fileInfo,\"share\":share},on:{\"remove:share\":_vm.removeShare}})})],2)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","/**\n * SPDX-FileCopyrightText: 2022 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\n\nexport const ATOMIC_PERMISSIONS = {\n\tNONE: 0,\n\tREAD: 1,\n\tUPDATE: 2,\n\tCREATE: 4,\n\tDELETE: 8,\n\tSHARE: 16,\n}\n\nexport const BUNDLED_PERMISSIONS = {\n\tREAD_ONLY: ATOMIC_PERMISSIONS.READ,\n\tUPLOAD_AND_UPDATE: ATOMIC_PERMISSIONS.READ | ATOMIC_PERMISSIONS.UPDATE | ATOMIC_PERMISSIONS.CREATE | ATOMIC_PERMISSIONS.DELETE,\n\tFILE_DROP: ATOMIC_PERMISSIONS.CREATE,\n\tALL: ATOMIC_PERMISSIONS.UPDATE | ATOMIC_PERMISSIONS.CREATE | ATOMIC_PERMISSIONS.READ | ATOMIC_PERMISSIONS.DELETE | ATOMIC_PERMISSIONS.SHARE,\n\tALL_FILE: ATOMIC_PERMISSIONS.UPDATE | ATOMIC_PERMISSIONS.READ | ATOMIC_PERMISSIONS.SHARE,\n}\n\n/**\n * Return whether a given permissions set contains some permissions.\n *\n * @param {number} initialPermissionSet - the permissions set.\n * @param {number} permissionsToCheck - the permissions to check.\n * @return {boolean}\n */\nexport function hasPermissions(initialPermissionSet, permissionsToCheck) {\n\treturn initialPermissionSet !== ATOMIC_PERMISSIONS.NONE && (initialPermissionSet & permissionsToCheck) === permissionsToCheck\n}\n\n/**\n * Return whether a given permissions set is valid.\n *\n * @param {number} permissionsSet - the permissions set.\n *\n * @return {boolean}\n */\nexport function permissionsSetIsValid(permissionsSet) {\n\t// Must have at least READ or CREATE permission.\n\tif (!hasPermissions(permissionsSet, ATOMIC_PERMISSIONS.READ) && !hasPermissions(permissionsSet, ATOMIC_PERMISSIONS.CREATE)) {\n\t\treturn false\n\t}\n\n\t// Must have READ permission if have UPDATE or DELETE.\n\tif (!hasPermissions(permissionsSet, ATOMIC_PERMISSIONS.READ) && (\n\t\thasPermissions(permissionsSet, ATOMIC_PERMISSIONS.UPDATE) || hasPermissions(permissionsSet, ATOMIC_PERMISSIONS.DELETE)\n\t)) {\n\t\treturn false\n\t}\n\n\treturn true\n}\n\n/**\n * Add some permissions to an initial set of permissions.\n *\n * @param {number} initialPermissionSet - the initial permissions.\n * @param {number} permissionsToAdd - the permissions to add.\n *\n * @return {number}\n */\nexport function addPermissions(initialPermissionSet, permissionsToAdd) {\n\treturn initialPermissionSet | permissionsToAdd\n}\n\n/**\n * Remove some permissions from an initial set of permissions.\n *\n * @param {number} initialPermissionSet - the initial permissions.\n * @param {number} permissionsToSubtract - the permissions to remove.\n *\n * @return {number}\n */\nexport function subtractPermissions(initialPermissionSet, permissionsToSubtract) {\n\treturn initialPermissionSet & ~permissionsToSubtract\n}\n\n/**\n * Toggle some permissions from  an initial set of permissions.\n *\n * @param {number} initialPermissionSet - the permissions set.\n * @param {number} permissionsToToggle - the permissions to toggle.\n *\n * @return {number}\n */\nexport function togglePermissions(initialPermissionSet, permissionsToToggle) {\n\tif (hasPermissions(initialPermissionSet, permissionsToToggle)) {\n\t\treturn subtractPermissions(initialPermissionSet, permissionsToToggle)\n\t} else {\n\t\treturn addPermissions(initialPermissionSet, permissionsToToggle)\n\t}\n}\n\n/**\n * Return whether some given permissions can be toggled from a permission set.\n *\n * @param {number} permissionSet - the initial permissions set.\n * @param {number} permissionsToToggle - the permissions to toggle.\n *\n * @return {boolean}\n */\nexport function canTogglePermissions(permissionSet, permissionsToToggle) {\n\treturn permissionsSetIsValid(togglePermissions(permissionSet, permissionsToToggle))\n}\n","/**\n * SPDX-FileCopyrightText: 2019 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\n\nimport { showError, showSuccess } from '@nextcloud/dialogs'\nimport { getCurrentUser } from '@nextcloud/auth'\n// eslint-disable-next-line import/no-unresolved, n/no-missing-import\nimport PQueue from 'p-queue'\nimport debounce from 'debounce'\n\nimport Share from '../models/Share.js'\nimport SharesRequests from './ShareRequests.js'\nimport ShareTypes from './ShareTypes.js'\nimport Config from '../services/ConfigService.js'\n\nimport {\n\tBUNDLED_PERMISSIONS,\n} from '../lib/SharePermissionsToolBox.js'\n\nexport default {\n\tmixins: [SharesRequests, ShareTypes],\n\n\tprops: {\n\t\tfileInfo: {\n\t\t\ttype: Object,\n\t\t\tdefault: () => { },\n\t\t\trequired: true,\n\t\t},\n\t\tshare: {\n\t\t\ttype: Share,\n\t\t\tdefault: null,\n\t\t},\n\t\tisUnique: {\n\t\t\ttype: Boolean,\n\t\t\tdefault: true,\n\t\t},\n\t},\n\n\tdata() {\n\t\treturn {\n\t\t\tconfig: new Config(),\n\n\t\t\t// errors helpers\n\t\t\terrors: {},\n\n\t\t\t// component status toggles\n\t\t\tloading: false,\n\t\t\tsaving: false,\n\t\t\topen: false,\n\n\t\t\t// concurrency management queue\n\t\t\t// we want one queue per share\n\t\t\tupdateQueue: new PQueue({ concurrency: 1 }),\n\n\t\t\t/**\n\t\t\t * ! This allow vue to make the Share class state reactive\n\t\t\t * ! do not remove it ot you'll lose all reactivity here\n\t\t\t */\n\t\t\treactiveState: this.share?.state,\n\t\t}\n\t},\n\n\tcomputed: {\n\n\t\t/**\n\t\t * Does the current share have a note\n\t\t *\n\t\t * @return {boolean}\n\t\t */\n\t\thasNote: {\n\t\t\tget() {\n\t\t\t\treturn this.share.note !== ''\n\t\t\t},\n\t\t\tset(enabled) {\n\t\t\t\tthis.share.note = enabled\n\t\t\t\t\t? null // enabled but user did not changed the content yet\n\t\t\t\t\t: '' // empty = no note = disabled\n\t\t\t},\n\t\t},\n\n\t\tdateTomorrow() {\n\t\t\treturn new Date(new Date().setDate(new Date().getDate() + 1))\n\t\t},\n\n\t\t// Datepicker language\n\t\tlang() {\n\t\t\tconst weekdaysShort = window.dayNamesShort\n\t\t\t\t? window.dayNamesShort // provided by nextcloud\n\t\t\t\t: ['Sun.', 'Mon.', 'Tue.', 'Wed.', 'Thu.', 'Fri.', 'Sat.']\n\t\t\tconst monthsShort = window.monthNamesShort\n\t\t\t\t? window.monthNamesShort // provided by nextcloud\n\t\t\t\t: ['Jan.', 'Feb.', 'Mar.', 'Apr.', 'May.', 'Jun.', 'Jul.', 'Aug.', 'Sep.', 'Oct.', 'Nov.', 'Dec.']\n\t\t\tconst firstDayOfWeek = window.firstDay ? window.firstDay : 0\n\n\t\t\treturn {\n\t\t\t\tformatLocale: {\n\t\t\t\t\tfirstDayOfWeek,\n\t\t\t\t\tmonthsShort,\n\t\t\t\t\tweekdaysMin: weekdaysShort,\n\t\t\t\t\tweekdaysShort,\n\t\t\t\t},\n\t\t\t\tmonthFormat: 'MMM',\n\t\t\t}\n\t\t},\n\t\tisFolder() {\n\t\t\treturn this.fileInfo.type === 'dir'\n\t\t},\n\t\tisPublicShare() {\n\t\t\tconst shareType = this.share.shareType ?? this.share.type\n\t\t\treturn [this.SHARE_TYPES.SHARE_TYPE_LINK, this.SHARE_TYPES.SHARE_TYPE_EMAIL].includes(shareType)\n\t\t},\n\t\tisRemoteShare() {\n\t\t\treturn this.share.type === this.SHARE_TYPES.SHARE_TYPE_REMOTE_GROUP || this.share.type === this.SHARE_TYPES.SHARE_TYPE_REMOTE\n\t\t},\n\t\tisShareOwner() {\n\t\t\treturn this.share && this.share.owner === getCurrentUser().uid\n\t\t},\n\t\tisExpiryDateEnforced() {\n\t\t\tif (this.isPublicShare) {\n\t\t\t\treturn this.config.isDefaultExpireDateEnforced\n\t\t\t}\n\t\t\tif (this.isRemoteShare) {\n\t\t\t    return this.config.isDefaultRemoteExpireDateEnforced\n\t\t\t}\n\t\t\treturn this.config.isDefaultInternalExpireDateEnforced\n\t\t},\n\t\thasCustomPermissions() {\n\t\t\tconst bundledPermissions = [\n\t\t\t\tBUNDLED_PERMISSIONS.ALL,\n\t\t\t\tBUNDLED_PERMISSIONS.READ_ONLY,\n\t\t\t\tBUNDLED_PERMISSIONS.FILE_DROP,\n\t\t\t]\n\t\t\treturn !bundledPermissions.includes(this.share.permissions)\n\t\t},\n\t\tmaxExpirationDateEnforced() {\n\t\t\tif (this.isExpiryDateEnforced) {\n\t\t\t\tif (this.isPublicShare) {\n\t\t\t\t\treturn this.config.defaultExpirationDate\n\t\t\t\t}\n\t\t\t\tif (this.isRemoteShare) {\n\t\t\t\t\treturn this.config.defaultRemoteExpirationDateString\n\t\t\t\t}\n\t\t\t\t// If it get's here then it must be an internal share\n\t\t\t\treturn this.config.defaultInternalExpirationDate\n\t\t\t}\n\t\t\treturn null\n\t\t},\n\t},\n\n\tmethods: {\n\t\t/**\n\t\t * Check if a share is valid before\n\t\t * firing the request\n\t\t *\n\t\t * @param {Share} share the share to check\n\t\t * @return {boolean}\n\t\t */\n\t\tcheckShare(share) {\n\t\t\tif (share.password) {\n\t\t\t\tif (typeof share.password !== 'string' || share.password.trim() === '') {\n\t\t\t\t\treturn false\n\t\t\t\t}\n\t\t\t}\n\t\t\tif (share.expirationDate) {\n\t\t\t\tconst date = share.expirationDate\n\t\t\t\tif (!date.isValid()) {\n\t\t\t\t\treturn false\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn true\n\t\t},\n\n\t\t/**\n\t\t * @param {string} date a date with YYYY-MM-DD format\n\t\t * @return {Date} date\n\t\t */\n\t\tparseDateString(date) {\n\t\t\tif (!date) {\n\t\t\t\treturn\n\t\t\t}\n\t\t\tconst regex = /([0-9]{4}-[0-9]{2}-[0-9]{2})/i\n\t\t\treturn new Date(date.match(regex)?.pop())\n\t\t},\n\n\t\t/**\n\t\t * @param {Date} date\n\t\t * @return {string} date a date with YYYY-MM-DD format\n\t\t */\n\t\tformatDateToString(date) {\n\t\t\t// Force utc time. Drop time information to be timezone-less\n\t\t\tconst utcDate = new Date(Date.UTC(date.getFullYear(), date.getMonth(), date.getDate()))\n\t\t\t// Format to YYYY-MM-DD\n\t\t\treturn utcDate.toISOString().split('T')[0]\n\t\t},\n\n\t\t/**\n\t\t * Save given value to expireDate and trigger queueUpdate\n\t\t *\n\t\t * @param {Date} date\n\t\t */\n\t\tonExpirationChange: debounce(function(date) {\n\t\t\tthis.share.expireDate = this.formatDateToString(new Date(date))\n\t\t}, 500),\n\t\t/**\n\t\t * Uncheck expire date\n\t\t * We need this method because @update:checked\n\t\t * is ran simultaneously as @uncheck, so\n\t\t * so we cannot ensure data is up-to-date\n\t\t */\n\t\tonExpirationDisable() {\n\t\t\tthis.share.expireDate = ''\n\t\t},\n\n\t\t/**\n\t\t * Note changed, let's save it to a different key\n\t\t *\n\t\t * @param {string} note the share note\n\t\t */\n\t\tonNoteChange(note) {\n\t\t\tthis.$set(this.share, 'newNote', note.trim())\n\t\t},\n\n\t\t/**\n\t\t * When the note change, we trim, save and dispatch\n\t\t *\n\t\t */\n\t\tonNoteSubmit() {\n\t\t\tif (this.share.newNote) {\n\t\t\t\tthis.share.note = this.share.newNote\n\t\t\t\tthis.$delete(this.share, 'newNote')\n\t\t\t\tthis.queueUpdate('note')\n\t\t\t}\n\t\t},\n\n\t\t/**\n\t\t * Delete share button handler\n\t\t */\n\t\tasync onDelete() {\n\t\t\ttry {\n\t\t\t\tthis.loading = true\n\t\t\t\tthis.open = false\n\t\t\t\tawait this.deleteShare(this.share.id)\n\t\t\t\tconsole.debug('Share deleted', this.share.id)\n\t\t\t\tconst message = this.share.itemType === 'file'\n\t\t\t\t\t? t('files_sharing', 'File \"{path}\" has been unshared', { path: this.share.path })\n\t\t\t\t\t: t('files_sharing', 'Folder \"{path}\" has been unshared', { path: this.share.path })\n\t\t\t\tshowSuccess(message)\n\t\t\t\tthis.$emit('remove:share', this.share)\n\t\t\t} catch (error) {\n\t\t\t\t// re-open menu if error\n\t\t\t\tthis.open = true\n\t\t\t} finally {\n\t\t\t\tthis.loading = false\n\t\t\t}\n\t\t},\n\n\t\t/**\n\t\t * Send an update of the share to the queue\n\t\t *\n\t\t * @param {Array<string>} propertyNames the properties to sync\n\t\t */\n\t\tqueueUpdate(...propertyNames) {\n\t\t\tif (propertyNames.length === 0) {\n\t\t\t\t// Nothing to update\n\t\t\t\treturn\n\t\t\t}\n\n\t\t\tif (this.share.id) {\n\t\t\t\tconst properties = {}\n\t\t\t\t// force value to string because that is what our\n\t\t\t\t// share api controller accepts\n\t\t\t\tpropertyNames.forEach(name => {\n\t\t\t\t\tif ((typeof this.share[name]) === 'object') {\n\t\t\t\t\t\tproperties[name] = JSON.stringify(this.share[name])\n\t\t\t\t\t} else {\n\t\t\t\t\t\tproperties[name] = this.share[name].toString()\n\t\t\t\t\t}\n\t\t\t\t})\n\n\t\t\t\tthis.updateQueue.add(async () => {\n\t\t\t\t\tthis.saving = true\n\t\t\t\t\tthis.errors = {}\n\t\t\t\t\ttry {\n\t\t\t\t\t\tconst updatedShare = await this.updateShare(this.share.id, properties)\n\n\t\t\t\t\t\tif (propertyNames.indexOf('password') >= 0) {\n\t\t\t\t\t\t\t// reset password state after sync\n\t\t\t\t\t\t\tthis.$delete(this.share, 'newPassword')\n\n\t\t\t\t\t\t\t// updates password expiration time after sync\n\t\t\t\t\t\t\tthis.share.passwordExpirationTime = updatedShare.password_expiration_time\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\t// clear any previous errors\n\t\t\t\t\t\tthis.$delete(this.errors, propertyNames[0])\n\t\t\t\t\t\tshowSuccess(t('files_sharing', 'Share {propertyName} saved', { propertyName: propertyNames[0] }))\n\t\t\t\t\t} catch ({ message }) {\n\t\t\t\t\t\tif (message && message !== '') {\n\t\t\t\t\t\t\tthis.onSyncError(propertyNames[0], message)\n\t\t\t\t\t\t\tshowError(t('files_sharing', message))\n\t\t\t\t\t\t}\n\t\t\t\t\t} finally {\n\t\t\t\t\t\tthis.saving = false\n\t\t\t\t\t}\n\t\t\t\t})\n\t\t\t\treturn\n\t\t\t}\n\n\t\t\t// This share does not exists on the server yet\n\t\t\tconsole.debug('Updated local share', this.share)\n\t\t},\n\n\t\t/**\n\t\t * Manage sync errors\n\t\t *\n\t\t * @param {string} property the errored property, e.g. 'password'\n\t\t * @param {string} message the error message\n\t\t */\n\t\tonSyncError(property, message) {\n\t\t\t// re-open menu if closed\n\t\t\tthis.open = true\n\t\t\tswitch (property) {\n\t\t\tcase 'password':\n\t\t\tcase 'pending':\n\t\t\tcase 'expireDate':\n\t\t\tcase 'label':\n\t\t\tcase 'note': {\n\t\t\t\t// show error\n\t\t\t\tthis.$set(this.errors, property, message)\n\n\t\t\t\tlet propertyEl = this.$refs[property]\n\t\t\t\tif (propertyEl) {\n\t\t\t\t\tif (propertyEl.$el) {\n\t\t\t\t\t\tpropertyEl = propertyEl.$el\n\t\t\t\t\t}\n\t\t\t\t\t// focus if there is a focusable action element\n\t\t\t\t\tconst focusable = propertyEl.querySelector('.focusable')\n\t\t\t\t\tif (focusable) {\n\t\t\t\t\t\tfocusable.focus()\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tbreak\n\t\t\t}\n\t\t\tcase 'sendPasswordByTalk': {\n\t\t\t\t// show error\n\t\t\t\tthis.$set(this.errors, property, message)\n\n\t\t\t\t// Restore previous state\n\t\t\t\tthis.share.sendPasswordByTalk = !this.share.sendPasswordByTalk\n\t\t\t\tbreak\n\t\t\t}\n\t\t\t}\n\t\t},\n\t\t/**\n\t\t * Debounce queueUpdate to avoid requests spamming\n\t\t * more importantly for text data\n\t\t *\n\t\t * @param {string} property the property to sync\n\t\t */\n\t\tdebounceQueueUpdate: debounce(function(property) {\n\t\t\tthis.queueUpdate(property)\n\t\t}, 500),\n\t},\n}\n","import mod from \"-!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SharingEntryInherited.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SharingEntryInherited.vue?vue&type=script&lang=js\"","<!--\n  - SPDX-FileCopyrightText: 2019 Nextcloud GmbH and Nextcloud contributors\n  - SPDX-License-Identifier: AGPL-3.0-or-later\n-->\n\n<template>\n\t<SharingEntrySimple :key=\"share.id\"\n\t\tclass=\"sharing-entry__inherited\"\n\t\t:title=\"share.shareWithDisplayName\">\n\t\t<template #avatar>\n\t\t\t<NcAvatar :user=\"share.shareWith\"\n\t\t\t\t:display-name=\"share.shareWithDisplayName\"\n\t\t\t\tclass=\"sharing-entry__avatar\" />\n\t\t</template>\n\t\t<NcActionText icon=\"icon-user\">\n\t\t\t{{ t('files_sharing', 'Added by {initiator}', { initiator: share.ownerDisplayName }) }}\n\t\t</NcActionText>\n\t\t<NcActionLink v-if=\"share.viaPath && share.viaFileid\"\n\t\t\ticon=\"icon-folder\"\n\t\t\t:href=\"viaFileTargetUrl\">\n\t\t\t{{ t('files_sharing', 'Via “{folder}”', {folder: viaFolderName} ) }}\n\t\t</NcActionLink>\n\t\t<NcActionButton v-if=\"share.canDelete\"\n\t\t\ticon=\"icon-close\"\n\t\t\t@click.prevent=\"onDelete\">\n\t\t\t{{ t('files_sharing', 'Unshare') }}\n\t\t</NcActionButton>\n\t</SharingEntrySimple>\n</template>\n\n<script>\nimport { generateUrl } from '@nextcloud/router'\nimport { basename } from '@nextcloud/paths'\nimport NcAvatar from '@nextcloud/vue/dist/Components/NcAvatar.js'\nimport NcActionButton from '@nextcloud/vue/dist/Components/NcActionButton.js'\nimport NcActionLink from '@nextcloud/vue/dist/Components/NcActionLink.js'\nimport NcActionText from '@nextcloud/vue/dist/Components/NcActionText.js'\n\n// eslint-disable-next-line no-unused-vars\nimport Share from '../models/Share.js'\nimport SharesMixin from '../mixins/SharesMixin.js'\nimport SharingEntrySimple from '../components/SharingEntrySimple.vue'\n\nexport default {\n\tname: 'SharingEntryInherited',\n\n\tcomponents: {\n\t\tNcActionButton,\n\t\tNcActionLink,\n\t\tNcActionText,\n\t\tNcAvatar,\n\t\tSharingEntrySimple,\n\t},\n\n\tmixins: [SharesMixin],\n\n\tprops: {\n\t\tshare: {\n\t\t\ttype: Share,\n\t\t\trequired: true,\n\t\t},\n\t},\n\n\tcomputed: {\n\t\tviaFileTargetUrl() {\n\t\t\treturn generateUrl('/f/{fileid}', {\n\t\t\t\tfileid: this.share.viaFileid,\n\t\t\t})\n\t\t},\n\n\t\tviaFolderName() {\n\t\t\treturn basename(this.share.viaPath)\n\t\t},\n\t},\n}\n</script>\n\n<style lang=\"scss\" scoped>\n.sharing-entry {\n\tdisplay: flex;\n\talign-items: center;\n\theight: 44px;\n\t&__desc {\n\t\tdisplay: flex;\n\t\tflex-direction: column;\n\t\tjustify-content: space-between;\n\t\tpadding: 8px;\n\t\tpadding-left: 10px;\n\t\tline-height: 1.2em;\n\t\tp {\n\t\t\tcolor: var(--color-text-maxcontrast);\n\t\t}\n\t}\n\t&__actions {\n\t\tmargin-left: auto;\n\t}\n}\n</style>\n","\n      import API from \"!../../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n      import domAPI from \"!../../../../node_modules/style-loader/dist/runtime/styleDomAPI.js\";\n      import insertFn from \"!../../../../node_modules/style-loader/dist/runtime/insertBySelector.js\";\n      import setAttributes from \"!../../../../node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js\";\n      import insertStyleElement from \"!../../../../node_modules/style-loader/dist/runtime/insertStyleElement.js\";\n      import styleTagTransformFn from \"!../../../../node_modules/style-loader/dist/runtime/styleTagTransform.js\";\n      import content, * as namedExport from \"!!../../../../node_modules/css-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/sass-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SharingEntryInherited.vue?vue&type=style&index=0&id=859a420e&prod&lang=scss&scoped=true\";\n      \n      \n\nvar options = {};\n\noptions.styleTagTransform = styleTagTransformFn;\noptions.setAttributes = setAttributes;\n\n      options.insert = insertFn.bind(null, \"head\");\n    \noptions.domAPI = domAPI;\noptions.insertStyleElement = insertStyleElement;\n\nvar update = API(content, options);\n\n\n\nexport * from \"!!../../../../node_modules/css-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/sass-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SharingEntryInherited.vue?vue&type=style&index=0&id=859a420e&prod&lang=scss&scoped=true\";\n       export default content && content.locals ? content.locals : undefined;\n","import { render, staticRenderFns } from \"./SharingEntryInherited.vue?vue&type=template&id=859a420e&scoped=true\"\nimport script from \"./SharingEntryInherited.vue?vue&type=script&lang=js\"\nexport * from \"./SharingEntryInherited.vue?vue&type=script&lang=js\"\nimport style0 from \"./SharingEntryInherited.vue?vue&type=style&index=0&id=859a420e&prod&lang=scss&scoped=true\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n  script,\n  render,\n  staticRenderFns,\n  false,\n  null,\n  \"859a420e\",\n  null\n  \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('SharingEntrySimple',{key:_vm.share.id,staticClass:\"sharing-entry__inherited\",attrs:{\"title\":_vm.share.shareWithDisplayName},scopedSlots:_vm._u([{key:\"avatar\",fn:function(){return [_c('NcAvatar',{staticClass:\"sharing-entry__avatar\",attrs:{\"user\":_vm.share.shareWith,\"display-name\":_vm.share.shareWithDisplayName}})]},proxy:true}])},[_vm._v(\" \"),_c('NcActionText',{attrs:{\"icon\":\"icon-user\"}},[_vm._v(\"\\n\\t\\t\"+_vm._s(_vm.t('files_sharing', 'Added by {initiator}', { initiator: _vm.share.ownerDisplayName }))+\"\\n\\t\")]),_vm._v(\" \"),(_vm.share.viaPath && _vm.share.viaFileid)?_c('NcActionLink',{attrs:{\"icon\":\"icon-folder\",\"href\":_vm.viaFileTargetUrl}},[_vm._v(\"\\n\\t\\t\"+_vm._s(_vm.t('files_sharing', 'Via “{folder}”', {folder: _vm.viaFolderName} ))+\"\\n\\t\")]):_vm._e(),_vm._v(\" \"),(_vm.share.canDelete)?_c('NcActionButton',{attrs:{\"icon\":\"icon-close\"},on:{\"click\":function($event){$event.preventDefault();return _vm.onDelete.apply(null, arguments)}}},[_vm._v(\"\\n\\t\\t\"+_vm._s(_vm.t('files_sharing', 'Unshare'))+\"\\n\\t\")]):_vm._e()],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<!--\n  - SPDX-FileCopyrightText: 2019 Nextcloud GmbH and Nextcloud contributors\n  - SPDX-License-Identifier: AGPL-3.0-or-later\n-->\n\n<template>\n\t<ul id=\"sharing-inherited-shares\">\n\t\t<!-- Main collapsible entry -->\n\t\t<SharingEntrySimple class=\"sharing-entry__inherited\"\n\t\t\t:title=\"mainTitle\"\n\t\t\t:subtitle=\"subTitle\"\n\t\t\t:aria-expanded=\"showInheritedShares\">\n\t\t\t<template #avatar>\n\t\t\t\t<div class=\"avatar-shared icon-more-white\" />\n\t\t\t</template>\n\t\t\t<NcActionButton :icon=\"showInheritedSharesIcon\"\n\t\t\t\t:aria-label=\"toggleTooltip\"\n\t\t\t\t:title=\"toggleTooltip\"\n\t\t\t\t@click.prevent.stop=\"toggleInheritedShares\" />\n\t\t</SharingEntrySimple>\n\n\t\t<!-- Inherited shares list -->\n\t\t<SharingEntryInherited v-for=\"share in shares\"\n\t\t\t:key=\"share.id\"\n\t\t\t:file-info=\"fileInfo\"\n\t\t\t:share=\"share\"\n\t\t\t@remove:share=\"removeShare\" />\n\t</ul>\n</template>\n\n<script>\nimport { generateOcsUrl } from '@nextcloud/router'\nimport NcActionButton from '@nextcloud/vue/dist/Components/NcActionButton.js'\nimport axios from '@nextcloud/axios'\n\nimport Share from '../models/Share.js'\nimport SharingEntryInherited from '../components/SharingEntryInherited.vue'\nimport SharingEntrySimple from '../components/SharingEntrySimple.vue'\n\nexport default {\n\tname: 'SharingInherited',\n\n\tcomponents: {\n\t\tNcActionButton,\n\t\tSharingEntryInherited,\n\t\tSharingEntrySimple,\n\t},\n\n\tprops: {\n\t\tfileInfo: {\n\t\t\ttype: Object,\n\t\t\tdefault: () => {},\n\t\t\trequired: true,\n\t\t},\n\t},\n\n\tdata() {\n\t\treturn {\n\t\t\tloaded: false,\n\t\t\tloading: false,\n\t\t\tshowInheritedShares: false,\n\t\t\tshares: [],\n\t\t}\n\t},\n\tcomputed: {\n\t\tshowInheritedSharesIcon() {\n\t\t\tif (this.loading) {\n\t\t\t\treturn 'icon-loading-small'\n\t\t\t}\n\t\t\tif (this.showInheritedShares) {\n\t\t\t\treturn 'icon-triangle-n'\n\t\t\t}\n\t\t\treturn 'icon-triangle-s'\n\t\t},\n\t\tmainTitle() {\n\t\t\treturn t('files_sharing', 'Others with access')\n\t\t},\n\t\tsubTitle() {\n\t\t\treturn (this.showInheritedShares && this.shares.length === 0)\n\t\t\t\t? t('files_sharing', 'No other accounts with access found')\n\t\t\t\t: ''\n\t\t},\n\t\ttoggleTooltip() {\n\t\t\treturn this.fileInfo.type === 'dir'\n\t\t\t\t? t('files_sharing', 'Toggle list of others with access to this directory')\n\t\t\t\t: t('files_sharing', 'Toggle list of others with access to this file')\n\t\t},\n\t\tfullPath() {\n\t\t\tconst path = `${this.fileInfo.path}/${this.fileInfo.name}`\n\t\t\treturn path.replace('//', '/')\n\t\t},\n\t},\n\twatch: {\n\t\tfileInfo() {\n\t\t\tthis.resetState()\n\t\t},\n\t},\n\tmethods: {\n\t\t/**\n\t\t * Toggle the list view and fetch/reset the state\n\t\t */\n\t\ttoggleInheritedShares() {\n\t\t\tthis.showInheritedShares = !this.showInheritedShares\n\t\t\tif (this.showInheritedShares) {\n\t\t\t\tthis.fetchInheritedShares()\n\t\t\t} else {\n\t\t\t\tthis.resetState()\n\t\t\t}\n\t\t},\n\t\t/**\n\t\t * Fetch the Inherited Shares array\n\t\t */\n\t\tasync fetchInheritedShares() {\n\t\t\tthis.loading = true\n\t\t\ttry {\n\t\t\t\tconst url = generateOcsUrl('apps/files_sharing/api/v1/shares/inherited?format=json&path={path}', { path: this.fullPath })\n\t\t\t\tconst shares = await axios.get(url)\n\t\t\t\tthis.shares = shares.data.ocs.data\n\t\t\t\t\t.map(share => new Share(share))\n\t\t\t\t\t.sort((a, b) => b.createdTime - a.createdTime)\n\t\t\t\tconsole.info(this.shares)\n\t\t\t\tthis.loaded = true\n\t\t\t} catch (error) {\n\t\t\t\tOC.Notification.showTemporary(t('files_sharing', 'Unable to fetch inherited shares'), { type: 'error' })\n\t\t\t} finally {\n\t\t\t\tthis.loading = false\n\t\t\t}\n\t\t},\n\t\t/**\n\t\t * Reset current component state\n\t\t */\n\t\tresetState() {\n\t\t\tthis.loaded = false\n\t\t\tthis.loading = false\n\t\t\tthis.showInheritedShares = false\n\t\t\tthis.shares = []\n\t\t},\n\t\t/**\n\t\t * Remove a share from the shares list\n\t\t *\n\t\t * @param {Share} share the share to remove\n\t\t */\n\t\tremoveShare(share) {\n\t\t\tconst index = this.shares.findIndex(item => item === share)\n\t\t\t// eslint-disable-next-line vue/no-mutating-props\n\t\t\tthis.shares.splice(index, 1)\n\t\t},\n\t},\n}\n</script>\n\n<style lang=\"scss\" scoped>\n.sharing-entry__inherited {\n\t.avatar-shared {\n\t\twidth: 32px;\n\t\theight: 32px;\n\t\tline-height: 32px;\n\t\tfont-size: 18px;\n\t\tbackground-color: var(--color-text-maxcontrast);\n\t\tborder-radius: 50%;\n\t\tflex-shrink: 0;\n\t}\n}\n</style>\n","import mod from \"-!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SharingInherited.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SharingInherited.vue?vue&type=script&lang=js\"","\n      import API from \"!../../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n      import domAPI from \"!../../../../node_modules/style-loader/dist/runtime/styleDomAPI.js\";\n      import insertFn from \"!../../../../node_modules/style-loader/dist/runtime/insertBySelector.js\";\n      import setAttributes from \"!../../../../node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js\";\n      import insertStyleElement from \"!../../../../node_modules/style-loader/dist/runtime/insertStyleElement.js\";\n      import styleTagTransformFn from \"!../../../../node_modules/style-loader/dist/runtime/styleTagTransform.js\";\n      import content, * as namedExport from \"!!../../../../node_modules/css-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/sass-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SharingInherited.vue?vue&type=style&index=0&id=73f8fada&prod&lang=scss&scoped=true\";\n      \n      \n\nvar options = {};\n\noptions.styleTagTransform = styleTagTransformFn;\noptions.setAttributes = setAttributes;\n\n      options.insert = insertFn.bind(null, \"head\");\n    \noptions.domAPI = domAPI;\noptions.insertStyleElement = insertStyleElement;\n\nvar update = API(content, options);\n\n\n\nexport * from \"!!../../../../node_modules/css-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/sass-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SharingInherited.vue?vue&type=style&index=0&id=73f8fada&prod&lang=scss&scoped=true\";\n       export default content && content.locals ? content.locals : undefined;\n","import { render, staticRenderFns } from \"./SharingInherited.vue?vue&type=template&id=73f8fada&scoped=true\"\nimport script from \"./SharingInherited.vue?vue&type=script&lang=js\"\nexport * from \"./SharingInherited.vue?vue&type=script&lang=js\"\nimport style0 from \"./SharingInherited.vue?vue&type=style&index=0&id=73f8fada&prod&lang=scss&scoped=true\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n  script,\n  render,\n  staticRenderFns,\n  false,\n  null,\n  \"73f8fada\",\n  null\n  \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return (_vm.canLinkShare)?_c('ul',{staticClass:\"sharing-link-list\"},[(!_vm.hasLinkShares && _vm.canReshare)?_c('SharingEntryLink',{attrs:{\"can-reshare\":_vm.canReshare,\"file-info\":_vm.fileInfo},on:{\"add:share\":_vm.addShare}}):_vm._e(),_vm._v(\" \"),(_vm.hasShares)?_vm._l((_vm.shares),function(share,index){return _c('SharingEntryLink',{key:share.id,attrs:{\"index\":_vm.shares.length > 1 ? index + 1 : null,\"can-reshare\":_vm.canReshare,\"share\":_vm.shares[index],\"file-info\":_vm.fileInfo},on:{\"update:share\":[function($event){return _vm.$set(_vm.shares, index, $event)},function($event){return _vm.awaitForShare(...arguments)}],\"add:share\":function($event){return _vm.addShare(...arguments)},\"remove:share\":_vm.removeShare,\"open-sharing-details\":function($event){return _vm.openSharingDetails(share)}}})}):_vm._e()],2):_vm._e()\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\n  <span v-bind=\"$attrs\"\n        :aria-hidden=\"title ? null : true\"\n        :aria-label=\"title\"\n        class=\"material-design-icon tune-icon\"\n        role=\"img\"\n        @click=\"$emit('click', $event)\">\n    <svg :fill=\"fillColor\"\n         class=\"material-design-icon__svg\"\n         :width=\"size\"\n         :height=\"size\"\n         viewBox=\"0 0 24 24\">\n      <path d=\"M3,17V19H9V17H3M3,5V7H13V5H3M13,21V19H21V17H13V15H11V21H13M7,9V11H3V13H7V15H9V9H7M21,13V11H11V13H21M15,9H17V7H21V5H17V3H15V9Z\">\n        <title v-if=\"title\">{{ title }}</title>\n      </path>\n    </svg>\n  </span>\n</template>\n\n<script>\nexport default {\n  name: \"TuneIcon\",\n  emits: ['click'],\n  props: {\n    title: {\n      type: String,\n    },\n    fillColor: {\n      type: String,\n      default: \"currentColor\"\n    },\n    size: {\n      type: Number,\n      default: 24\n    }\n  }\n}\n</script>","import mod from \"-!../vue-loader/lib/index.js??vue-loader-options!./Tune.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../vue-loader/lib/index.js??vue-loader-options!./Tune.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./Tune.vue?vue&type=template&id=44530562\"\nimport script from \"./Tune.vue?vue&type=script&lang=js\"\nexport * from \"./Tune.vue?vue&type=script&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n  script,\n  render,\n  staticRenderFns,\n  false,\n  null,\n  null,\n  null\n  \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('span',_vm._b({staticClass:\"material-design-icon tune-icon\",attrs:{\"aria-hidden\":_vm.title ? null : true,\"aria-label\":_vm.title,\"role\":\"img\"},on:{\"click\":function($event){return _vm.$emit('click', $event)}}},'span',_vm.$attrs,false),[_c('svg',{staticClass:\"material-design-icon__svg\",attrs:{\"fill\":_vm.fillColor,\"width\":_vm.size,\"height\":_vm.size,\"viewBox\":\"0 0 24 24\"}},[_c('path',{attrs:{\"d\":\"M3,17V19H9V17H3M3,5V7H13V5H3M13,21V19H21V17H13V15H11V21H13M7,9V11H3V13H7V15H9V9H7M21,13V11H11V13H21M15,9H17V7H21V5H17V3H15V9Z\"}},[(_vm.title)?_c('title',[_vm._v(_vm._s(_vm.title))]):_vm._e()])])])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import mod from \"-!../vue-loader/lib/index.js??vue-loader-options!./Qrcode.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../vue-loader/lib/index.js??vue-loader-options!./Qrcode.vue?vue&type=script&lang=js\"","<template>\n  <span v-bind=\"$attrs\"\n        :aria-hidden=\"title ? null : true\"\n        :aria-label=\"title\"\n        class=\"material-design-icon qrcode-icon\"\n        role=\"img\"\n        @click=\"$emit('click', $event)\">\n    <svg :fill=\"fillColor\"\n         class=\"material-design-icon__svg\"\n         :width=\"size\"\n         :height=\"size\"\n         viewBox=\"0 0 24 24\">\n      <path d=\"M3,11H5V13H3V11M11,5H13V9H11V5M9,11H13V15H11V13H9V11M15,11H17V13H19V11H21V13H19V15H21V19H19V21H17V19H13V21H11V17H15V15H17V13H15V11M19,19V15H17V19H19M15,3H21V9H15V3M17,5V7H19V5H17M3,3H9V9H3V3M5,5V7H7V5H5M3,15H9V21H3V15M5,17V19H7V17H5Z\">\n        <title v-if=\"title\">{{ title }}</title>\n      </path>\n    </svg>\n  </span>\n</template>\n\n<script>\nexport default {\n  name: \"QrcodeIcon\",\n  emits: ['click'],\n  props: {\n    title: {\n      type: String,\n    },\n    fillColor: {\n      type: String,\n      default: \"currentColor\"\n    },\n    size: {\n      type: Number,\n      default: 24\n    }\n  }\n}\n</script>","import { render, staticRenderFns } from \"./Qrcode.vue?vue&type=template&id=cc96c380\"\nimport script from \"./Qrcode.vue?vue&type=script&lang=js\"\nexport * from \"./Qrcode.vue?vue&type=script&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n  script,\n  render,\n  staticRenderFns,\n  false,\n  null,\n  null,\n  null\n  \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('span',_vm._b({staticClass:\"material-design-icon qrcode-icon\",attrs:{\"aria-hidden\":_vm.title ? null : true,\"aria-label\":_vm.title,\"role\":\"img\"},on:{\"click\":function($event){return _vm.$emit('click', $event)}}},'span',_vm.$attrs,false),[_c('svg',{staticClass:\"material-design-icon__svg\",attrs:{\"fill\":_vm.fillColor,\"width\":_vm.size,\"height\":_vm.size,\"viewBox\":\"0 0 24 24\"}},[_c('path',{attrs:{\"d\":\"M3,11H5V13H3V11M11,5H13V9H11V5M9,11H13V15H11V13H9V11M15,11H17V13H19V11H21V13H19V15H21V19H19V21H17V19H13V21H11V17H15V15H17V13H15V11M19,19V15H17V19H19M15,3H21V9H15V3M17,5V7H19V5H17M3,3H9V9H3V3M5,5V7H7V5H5M3,15H9V21H3V15M5,17V19H7V17H5Z\"}},[(_vm.title)?_c('title',[_vm._v(_vm._s(_vm.title))]):_vm._e()])])])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import mod from \"-!../vue-loader/lib/index.js??vue-loader-options!./Exclamation.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../vue-loader/lib/index.js??vue-loader-options!./Exclamation.vue?vue&type=script&lang=js\"","<template>\n  <span v-bind=\"$attrs\"\n        :aria-hidden=\"title ? null : true\"\n        :aria-label=\"title\"\n        class=\"material-design-icon exclamation-icon\"\n        role=\"img\"\n        @click=\"$emit('click', $event)\">\n    <svg :fill=\"fillColor\"\n         class=\"material-design-icon__svg\"\n         :width=\"size\"\n         :height=\"size\"\n         viewBox=\"0 0 24 24\">\n      <path d=\"M 11,4L 13,4L 13,15L 11,15L 11,4 Z M 13,18L 13,20L 11,20L 11,18L 13,18 Z\">\n        <title v-if=\"title\">{{ title }}</title>\n      </path>\n    </svg>\n  </span>\n</template>\n\n<script>\nexport default {\n  name: \"ExclamationIcon\",\n  emits: ['click'],\n  props: {\n    title: {\n      type: String,\n    },\n    fillColor: {\n      type: String,\n      default: \"currentColor\"\n    },\n    size: {\n      type: Number,\n      default: 24\n    }\n  }\n}\n</script>","import { render, staticRenderFns } from \"./Exclamation.vue?vue&type=template&id=33754429\"\nimport script from \"./Exclamation.vue?vue&type=script&lang=js\"\nexport * from \"./Exclamation.vue?vue&type=script&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n  script,\n  render,\n  staticRenderFns,\n  false,\n  null,\n  null,\n  null\n  \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('span',_vm._b({staticClass:\"material-design-icon exclamation-icon\",attrs:{\"aria-hidden\":_vm.title ? null : true,\"aria-label\":_vm.title,\"role\":\"img\"},on:{\"click\":function($event){return _vm.$emit('click', $event)}}},'span',_vm.$attrs,false),[_c('svg',{staticClass:\"material-design-icon__svg\",attrs:{\"fill\":_vm.fillColor,\"width\":_vm.size,\"height\":_vm.size,\"viewBox\":\"0 0 24 24\"}},[_c('path',{attrs:{\"d\":\"M 11,4L 13,4L 13,15L 11,15L 11,4 Z M 13,18L 13,20L 11,20L 11,18L 13,18 Z\"}},[(_vm.title)?_c('title',[_vm._v(_vm._s(_vm.title))]):_vm._e()])])])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import mod from \"-!../vue-loader/lib/index.js??vue-loader-options!./Lock.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../vue-loader/lib/index.js??vue-loader-options!./Lock.vue?vue&type=script&lang=js\"","<template>\n  <span v-bind=\"$attrs\"\n        :aria-hidden=\"title ? null : true\"\n        :aria-label=\"title\"\n        class=\"material-design-icon lock-icon\"\n        role=\"img\"\n        @click=\"$emit('click', $event)\">\n    <svg :fill=\"fillColor\"\n         class=\"material-design-icon__svg\"\n         :width=\"size\"\n         :height=\"size\"\n         viewBox=\"0 0 24 24\">\n      <path d=\"M12,17A2,2 0 0,0 14,15C14,13.89 13.1,13 12,13A2,2 0 0,0 10,15A2,2 0 0,0 12,17M18,8A2,2 0 0,1 20,10V20A2,2 0 0,1 18,22H6A2,2 0 0,1 4,20V10C4,8.89 4.9,8 6,8H7V6A5,5 0 0,1 12,1A5,5 0 0,1 17,6V8H18M12,3A3,3 0 0,0 9,6V8H15V6A3,3 0 0,0 12,3Z\">\n        <title v-if=\"title\">{{ title }}</title>\n      </path>\n    </svg>\n  </span>\n</template>\n\n<script>\nexport default {\n  name: \"LockIcon\",\n  emits: ['click'],\n  props: {\n    title: {\n      type: String,\n    },\n    fillColor: {\n      type: String,\n      default: \"currentColor\"\n    },\n    size: {\n      type: Number,\n      default: 24\n    }\n  }\n}\n</script>","import { render, staticRenderFns } from \"./Lock.vue?vue&type=template&id=0e338773\"\nimport script from \"./Lock.vue?vue&type=script&lang=js\"\nexport * from \"./Lock.vue?vue&type=script&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n  script,\n  render,\n  staticRenderFns,\n  false,\n  null,\n  null,\n  null\n  \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('span',_vm._b({staticClass:\"material-design-icon lock-icon\",attrs:{\"aria-hidden\":_vm.title ? null : true,\"aria-label\":_vm.title,\"role\":\"img\"},on:{\"click\":function($event){return _vm.$emit('click', $event)}}},'span',_vm.$attrs,false),[_c('svg',{staticClass:\"material-design-icon__svg\",attrs:{\"fill\":_vm.fillColor,\"width\":_vm.size,\"height\":_vm.size,\"viewBox\":\"0 0 24 24\"}},[_c('path',{attrs:{\"d\":\"M12,17A2,2 0 0,0 14,15C14,13.89 13.1,13 12,13A2,2 0 0,0 10,15A2,2 0 0,0 12,17M18,8A2,2 0 0,1 20,10V20A2,2 0 0,1 18,22H6A2,2 0 0,1 4,20V10C4,8.89 4.9,8 6,8H7V6A5,5 0 0,1 12,1A5,5 0 0,1 17,6V8H18M12,3A3,3 0 0,0 9,6V8H15V6A3,3 0 0,0 12,3Z\"}},[(_vm.title)?_c('title',[_vm._v(_vm._s(_vm.title))]):_vm._e()])])])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\n  <span v-bind=\"$attrs\"\n        :aria-hidden=\"title ? null : true\"\n        :aria-label=\"title\"\n        class=\"material-design-icon triangle-small-down-icon\"\n        role=\"img\"\n        @click=\"$emit('click', $event)\">\n    <svg :fill=\"fillColor\"\n         class=\"material-design-icon__svg\"\n         :width=\"size\"\n         :height=\"size\"\n         viewBox=\"0 0 24 24\">\n      <path d=\"M8 9H16L12 16\">\n        <title v-if=\"title\">{{ title }}</title>\n      </path>\n    </svg>\n  </span>\n</template>\n\n<script>\nexport default {\n  name: \"TriangleSmallDownIcon\",\n  emits: ['click'],\n  props: {\n    title: {\n      type: String,\n    },\n    fillColor: {\n      type: String,\n      default: \"currentColor\"\n    },\n    size: {\n      type: Number,\n      default: 24\n    }\n  }\n}\n</script>","import mod from \"-!../vue-loader/lib/index.js??vue-loader-options!./TriangleSmallDown.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../vue-loader/lib/index.js??vue-loader-options!./TriangleSmallDown.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./TriangleSmallDown.vue?vue&type=template&id=0610cec6\"\nimport script from \"./TriangleSmallDown.vue?vue&type=script&lang=js\"\nexport * from \"./TriangleSmallDown.vue?vue&type=script&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n  script,\n  render,\n  staticRenderFns,\n  false,\n  null,\n  null,\n  null\n  \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('span',_vm._b({staticClass:\"material-design-icon triangle-small-down-icon\",attrs:{\"aria-hidden\":_vm.title ? null : true,\"aria-label\":_vm.title,\"role\":\"img\"},on:{\"click\":function($event){return _vm.$emit('click', $event)}}},'span',_vm.$attrs,false),[_c('svg',{staticClass:\"material-design-icon__svg\",attrs:{\"fill\":_vm.fillColor,\"width\":_vm.size,\"height\":_vm.size,\"viewBox\":\"0 0 24 24\"}},[_c('path',{attrs:{\"d\":\"M8 9H16L12 16\"}},[(_vm.title)?_c('title',[_vm._v(_vm._s(_vm.title))]):_vm._e()])])])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import mod from \"-!../vue-loader/lib/index.js??vue-loader-options!./EyeOutline.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../vue-loader/lib/index.js??vue-loader-options!./EyeOutline.vue?vue&type=script&lang=js\"","<template>\n  <span v-bind=\"$attrs\"\n        :aria-hidden=\"title ? null : true\"\n        :aria-label=\"title\"\n        class=\"material-design-icon eye-outline-icon\"\n        role=\"img\"\n        @click=\"$emit('click', $event)\">\n    <svg :fill=\"fillColor\"\n         class=\"material-design-icon__svg\"\n         :width=\"size\"\n         :height=\"size\"\n         viewBox=\"0 0 24 24\">\n      <path d=\"M12,9A3,3 0 0,1 15,12A3,3 0 0,1 12,15A3,3 0 0,1 9,12A3,3 0 0,1 12,9M12,4.5C17,4.5 21.27,7.61 23,12C21.27,16.39 17,19.5 12,19.5C7,19.5 2.73,16.39 1,12C2.73,7.61 7,4.5 12,4.5M3.18,12C4.83,15.36 8.24,17.5 12,17.5C15.76,17.5 19.17,15.36 20.82,12C19.17,8.64 15.76,6.5 12,6.5C8.24,6.5 4.83,8.64 3.18,12Z\">\n        <title v-if=\"title\">{{ title }}</title>\n      </path>\n    </svg>\n  </span>\n</template>\n\n<script>\nexport default {\n  name: \"EyeOutlineIcon\",\n  emits: ['click'],\n  props: {\n    title: {\n      type: String,\n    },\n    fillColor: {\n      type: String,\n      default: \"currentColor\"\n    },\n    size: {\n      type: Number,\n      default: 24\n    }\n  }\n}\n</script>","import { render, staticRenderFns } from \"./EyeOutline.vue?vue&type=template&id=30219a41\"\nimport script from \"./EyeOutline.vue?vue&type=script&lang=js\"\nexport * from \"./EyeOutline.vue?vue&type=script&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n  script,\n  render,\n  staticRenderFns,\n  false,\n  null,\n  null,\n  null\n  \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('span',_vm._b({staticClass:\"material-design-icon eye-outline-icon\",attrs:{\"aria-hidden\":_vm.title ? null : true,\"aria-label\":_vm.title,\"role\":\"img\"},on:{\"click\":function($event){return _vm.$emit('click', $event)}}},'span',_vm.$attrs,false),[_c('svg',{staticClass:\"material-design-icon__svg\",attrs:{\"fill\":_vm.fillColor,\"width\":_vm.size,\"height\":_vm.size,\"viewBox\":\"0 0 24 24\"}},[_c('path',{attrs:{\"d\":\"M12,9A3,3 0 0,1 15,12A3,3 0 0,1 12,15A3,3 0 0,1 9,12A3,3 0 0,1 12,9M12,4.5C17,4.5 21.27,7.61 23,12C21.27,16.39 17,19.5 12,19.5C7,19.5 2.73,16.39 1,12C2.73,7.61 7,4.5 12,4.5M3.18,12C4.83,15.36 8.24,17.5 12,17.5C15.76,17.5 19.17,15.36 20.82,12C19.17,8.64 15.76,6.5 12,6.5C8.24,6.5 4.83,8.64 3.18,12Z\"}},[(_vm.title)?_c('title',[_vm._v(_vm._s(_vm.title))]):_vm._e()])])])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\n  <span v-bind=\"$attrs\"\n        :aria-hidden=\"title ? null : true\"\n        :aria-label=\"title\"\n        class=\"material-design-icon file-upload-icon\"\n        role=\"img\"\n        @click=\"$emit('click', $event)\">\n    <svg :fill=\"fillColor\"\n         class=\"material-design-icon__svg\"\n         :width=\"size\"\n         :height=\"size\"\n         viewBox=\"0 0 24 24\">\n      <path d=\"M14,2H6A2,2 0 0,0 4,4V20A2,2 0 0,0 6,22H18A2,2 0 0,0 20,20V8L14,2M13.5,16V19H10.5V16H8L12,12L16,16H13.5M13,9V3.5L18.5,9H13Z\">\n        <title v-if=\"title\">{{ title }}</title>\n      </path>\n    </svg>\n  </span>\n</template>\n\n<script>\nexport default {\n  name: \"FileUploadIcon\",\n  emits: ['click'],\n  props: {\n    title: {\n      type: String,\n    },\n    fillColor: {\n      type: String,\n      default: \"currentColor\"\n    },\n    size: {\n      type: Number,\n      default: 24\n    }\n  }\n}\n</script>","import mod from \"-!../vue-loader/lib/index.js??vue-loader-options!./FileUpload.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../vue-loader/lib/index.js??vue-loader-options!./FileUpload.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./FileUpload.vue?vue&type=template&id=437aa472\"\nimport script from \"./FileUpload.vue?vue&type=script&lang=js\"\nexport * from \"./FileUpload.vue?vue&type=script&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n  script,\n  render,\n  staticRenderFns,\n  false,\n  null,\n  null,\n  null\n  \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('span',_vm._b({staticClass:\"material-design-icon file-upload-icon\",attrs:{\"aria-hidden\":_vm.title ? null : true,\"aria-label\":_vm.title,\"role\":\"img\"},on:{\"click\":function($event){return _vm.$emit('click', $event)}}},'span',_vm.$attrs,false),[_c('svg',{staticClass:\"material-design-icon__svg\",attrs:{\"fill\":_vm.fillColor,\"width\":_vm.size,\"height\":_vm.size,\"viewBox\":\"0 0 24 24\"}},[_c('path',{attrs:{\"d\":\"M14,2H6A2,2 0 0,0 4,4V20A2,2 0 0,0 6,22H18A2,2 0 0,0 20,20V8L14,2M13.5,16V19H10.5V16H8L12,12L16,16H13.5M13,9V3.5L18.5,9H13Z\"}},[(_vm.title)?_c('title',[_vm._v(_vm._s(_vm.title))]):_vm._e()])])])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<!--\n  - SPDX-FileCopyrightText: 2023 Nextcloud GmbH and Nextcloud contributors\n  - SPDX-License-Identifier: AGPL-3.0-or-later\n-->\n<template>\n\t<NcActions ref=\"quickShareActions\"\n\t\tclass=\"share-select\"\n\t\t:menu-name=\"selectedOption\"\n\t\t:aria-label=\"ariaLabel\"\n\t\ttype=\"tertiary-no-background\"\n\t\tforce-name>\n\t\t<template #icon>\n\t\t\t<DropdownIcon :size=\"15\" />\n\t\t</template>\n\t\t<NcActionButton v-for=\"option in options\"\n\t\t\t:key=\"option.label\"\n\t\t\ttype=\"radio\"\n\t\t\t:model-value=\"option.label === selectedOption\"\n\t\t\tclose-after-click\n\t\t\t@click=\"selectOption(option.label)\">\n\t\t\t<template #icon>\n\t\t\t\t<component :is=\"option.icon\" />\n\t\t\t</template>\n\t\t\t{{ option.label }}\n\t\t</NcActionButton>\n\t</NcActions>\n</template>\n\n<script>\nimport DropdownIcon from 'vue-material-design-icons/TriangleSmallDown.vue'\nimport SharesMixin from '../mixins/SharesMixin.js'\nimport ShareDetails from '../mixins/ShareDetails.js'\nimport ShareTypes from '../mixins/ShareTypes.js'\nimport NcActions from '@nextcloud/vue/dist/Components/NcActions.js'\nimport NcActionButton from '@nextcloud/vue/dist/Components/NcActionButton.js'\nimport IconEyeOutline from 'vue-material-design-icons/EyeOutline.vue'\nimport IconPencil from 'vue-material-design-icons/Pencil.vue'\nimport IconFileUpload from 'vue-material-design-icons/FileUpload.vue'\nimport IconTune from 'vue-material-design-icons/Tune.vue'\n\nimport {\n\tBUNDLED_PERMISSIONS,\n\tATOMIC_PERMISSIONS,\n} from '../lib/SharePermissionsToolBox.js'\n\nexport default {\n\tname: 'SharingEntryQuickShareSelect',\n\n\tcomponents: {\n\t\tDropdownIcon,\n\t\tNcActions,\n\t\tNcActionButton,\n\t},\n\n\tmixins: [SharesMixin, ShareDetails, ShareTypes],\n\n\tprops: {\n\t\tshare: {\n\t\t\ttype: Object,\n\t\t\trequired: true,\n\t\t},\n\t},\n\n\temits: ['open-sharing-details'],\n\n\tdata() {\n\t\treturn {\n\t\t\tselectedOption: '',\n\t\t}\n\t},\n\n\tcomputed: {\n\t\tariaLabel() {\n\t\t\treturn t('files_sharing', 'Quick share options, the current selected is \"{selectedOption}\"', { selectedOption: this.selectedOption })\n\t\t},\n\t\tcanViewText() {\n\t\t\treturn t('files_sharing', 'View only')\n\t\t},\n\t\tcanEditText() {\n\t\t\treturn t('files_sharing', 'Can edit')\n\t\t},\n\t\tfileDropText() {\n\t\t\treturn t('files_sharing', 'File drop')\n\t\t},\n\t\tcustomPermissionsText() {\n\t\t\treturn t('files_sharing', 'Custom permissions')\n\t\t},\n\t\tpreSelectedOption() {\n\t\t\t// We remove the share permission for the comparison as it is not relevant for bundled permissions.\n\t\t\tif ((this.share.permissions & ~ATOMIC_PERMISSIONS.SHARE) === BUNDLED_PERMISSIONS.READ_ONLY) {\n\t\t\t\treturn this.canViewText\n\t\t\t} else if (this.share.permissions === BUNDLED_PERMISSIONS.ALL || this.share.permissions === BUNDLED_PERMISSIONS.ALL_FILE) {\n\t\t\t\treturn this.canEditText\n\t\t\t} else if ((this.share.permissions & ~ATOMIC_PERMISSIONS.SHARE) === BUNDLED_PERMISSIONS.FILE_DROP) {\n\t\t\t\treturn this.fileDropText\n\t\t\t}\n\n\t\t\treturn this.customPermissionsText\n\n\t\t},\n\t\toptions() {\n\t\t\tconst options = [{\n\t\t\t\tlabel: this.canViewText,\n\t\t\t\ticon: IconEyeOutline,\n\t\t\t}, {\n\t\t\t\tlabel: this.canEditText,\n\t\t\t\ticon: IconPencil,\n\t\t\t}]\n\t\t\tif (this.supportsFileDrop) {\n\t\t\t\toptions.push({\n\t\t\t\t\tlabel: this.fileDropText,\n\t\t\t\t\ticon: IconFileUpload,\n\t\t\t\t})\n\t\t\t}\n\t\t\toptions.push({\n\t\t\t\tlabel: this.customPermissionsText,\n\t\t\t\ticon: IconTune,\n\t\t\t})\n\n\t\t\treturn options\n\t\t},\n\t\tsupportsFileDrop() {\n\t\t\tif (this.isFolder && this.config.isPublicUploadEnabled) {\n\t\t\t\tconst shareType = this.share.type ?? this.share.shareType\n\t\t\t\treturn [this.SHARE_TYPES.SHARE_TYPE_LINK, this.SHARE_TYPES.SHARE_TYPE_EMAIL].includes(shareType)\n\t\t\t}\n\t\t\treturn false\n\t\t},\n\t\tdropDownPermissionValue() {\n\t\t\tswitch (this.selectedOption) {\n\t\t\tcase this.canEditText:\n\t\t\t\treturn this.isFolder ? BUNDLED_PERMISSIONS.ALL : BUNDLED_PERMISSIONS.ALL_FILE\n\t\t\tcase this.fileDropText:\n\t\t\t\treturn BUNDLED_PERMISSIONS.FILE_DROP\n\t\t\tcase this.customPermissionsText:\n\t\t\t\treturn 'custom'\n\t\t\tcase this.canViewText:\n\t\t\tdefault:\n\t\t\t\treturn BUNDLED_PERMISSIONS.READ_ONLY\n\t\t\t}\n\t\t},\n\t},\n\n\tcreated() {\n\t\tthis.selectedOption = this.preSelectedOption\n\t},\n\n\tmethods: {\n\t\tselectOption(optionLabel) {\n\t\t\tthis.selectedOption = optionLabel\n\t\t\tif (optionLabel === this.customPermissionsText) {\n\t\t\t\tthis.$emit('open-sharing-details')\n\t\t\t} else {\n\t\t\t\tthis.share.permissions = this.dropDownPermissionValue\n\t\t\t\tthis.queueUpdate('permissions')\n\t\t\t\t// TODO: Add a focus method to NcActions or configurable returnFocus enabling to NcActionButton with closeAfterClick\n\t\t\t\tthis.$refs.quickShareActions.$refs.menuButton.$el.focus()\n\t\t\t}\n\t\t},\n\t},\n\n}\n</script>\n\n<style lang=\"scss\" scoped>\n.share-select {\n\tdisplay: block;\n\n\t// TODO: NcActions should have a slot for custom trigger button like NcPopover\n\t// Overrider NcActionms button to make it small\n\t:deep(.action-item__menutoggle) {\n\t\tcolor: var(--color-primary-element) !important;\n\t\tfont-size: 12.5px !important;\n\t\theight: auto !important;\n\t\tmin-height: auto !important;\n\n\t\t.button-vue__text {\n\t\t\tfont-weight: normal !important;\n\t\t}\n\n\t\t.button-vue__icon {\n\t\t\theight: 24px !important;\n\t\t\tmin-height: 24px !important;\n\t\t\twidth: 24px !important;\n\t\t\tmin-width: 24px !important;\n\t\t}\n\n\t\t.button-vue__wrapper {\n\t\t\t// Emulate NcButton's alignment=center-reverse\n\t\t\tflex-direction: row-reverse !important;\n\t\t}\n\t}\n}\n</style>\n","import mod from \"-!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SharingEntryQuickShareSelect.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SharingEntryQuickShareSelect.vue?vue&type=script&lang=js\"","\n      import API from \"!../../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n      import domAPI from \"!../../../../node_modules/style-loader/dist/runtime/styleDomAPI.js\";\n      import insertFn from \"!../../../../node_modules/style-loader/dist/runtime/insertBySelector.js\";\n      import setAttributes from \"!../../../../node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js\";\n      import insertStyleElement from \"!../../../../node_modules/style-loader/dist/runtime/insertStyleElement.js\";\n      import styleTagTransformFn from \"!../../../../node_modules/style-loader/dist/runtime/styleTagTransform.js\";\n      import content, * as namedExport from \"!!../../../../node_modules/css-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/sass-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SharingEntryQuickShareSelect.vue?vue&type=style&index=0&id=e3692374&prod&lang=scss&scoped=true\";\n      \n      \n\nvar options = {};\n\noptions.styleTagTransform = styleTagTransformFn;\noptions.setAttributes = setAttributes;\n\n      options.insert = insertFn.bind(null, \"head\");\n    \noptions.domAPI = domAPI;\noptions.insertStyleElement = insertStyleElement;\n\nvar update = API(content, options);\n\n\n\nexport * from \"!!../../../../node_modules/css-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/sass-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SharingEntryQuickShareSelect.vue?vue&type=style&index=0&id=e3692374&prod&lang=scss&scoped=true\";\n       export default content && content.locals ? content.locals : undefined;\n","import { render, staticRenderFns } from \"./SharingEntryQuickShareSelect.vue?vue&type=template&id=e3692374&scoped=true\"\nimport script from \"./SharingEntryQuickShareSelect.vue?vue&type=script&lang=js\"\nexport * from \"./SharingEntryQuickShareSelect.vue?vue&type=script&lang=js\"\nimport style0 from \"./SharingEntryQuickShareSelect.vue?vue&type=style&index=0&id=e3692374&prod&lang=scss&scoped=true\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n  script,\n  render,\n  staticRenderFns,\n  false,\n  null,\n  \"e3692374\",\n  null\n  \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('NcActions',{ref:\"quickShareActions\",staticClass:\"share-select\",attrs:{\"menu-name\":_vm.selectedOption,\"aria-label\":_vm.ariaLabel,\"type\":\"tertiary-no-background\",\"force-name\":\"\"},scopedSlots:_vm._u([{key:\"icon\",fn:function(){return [_c('DropdownIcon',{attrs:{\"size\":15}})]},proxy:true}])},[_vm._v(\" \"),_vm._l((_vm.options),function(option){return _c('NcActionButton',{key:option.label,attrs:{\"type\":\"radio\",\"model-value\":option.label === _vm.selectedOption,\"close-after-click\":\"\"},on:{\"click\":function($event){return _vm.selectOption(option.label)}},scopedSlots:_vm._u([{key:\"icon\",fn:function(){return [_c(option.icon,{tag:\"component\"})]},proxy:true}],null,true)},[_vm._v(\"\\n\\t\\t\"+_vm._s(option.label)+\"\\n\\t\")])})],2)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import mod from \"-!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ExternalShareAction.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ExternalShareAction.vue?vue&type=script&lang=js\"","<!--\n  - SPDX-FileCopyrightText: 2021 Nextcloud GmbH and Nextcloud contributors\n  - SPDX-License-Identifier: AGPL-3.0-or-later\n-->\n\n<template>\n\t<Component :is=\"data.is\"\n\t\tv-bind=\"data\"\n\t\tv-on=\"action.handlers\">\n\t\t{{ data.text }}\n\t</Component>\n</template>\n\n<script>\nimport Share from '../models/Share.js'\n\nexport default {\n\tname: 'ExternalShareAction',\n\n\tprops: {\n\t\tid: {\n\t\t\ttype: String,\n\t\t\trequired: true,\n\t\t},\n\t\taction: {\n\t\t\ttype: Object,\n\t\t\tdefault: () => ({}),\n\t\t},\n\t\tfileInfo: {\n\t\t\ttype: Object,\n\t\t\tdefault: () => {},\n\t\t\trequired: true,\n\t\t},\n\t\tshare: {\n\t\t\ttype: Share,\n\t\t\tdefault: null,\n\t\t},\n\t},\n\n\tcomputed: {\n\t\tdata() {\n\t\t\treturn this.action.data(this)\n\t\t},\n\t},\n}\n</script>\n","import { render, staticRenderFns } from \"./ExternalShareAction.vue?vue&type=template&id=6e782254\"\nimport script from \"./ExternalShareAction.vue?vue&type=script&lang=js\"\nexport * from \"./ExternalShareAction.vue?vue&type=script&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n  script,\n  render,\n  staticRenderFns,\n  false,\n  null,\n  null,\n  null\n  \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c(_vm.data.is,_vm._g(_vm._b({tag:\"Component\"},'Component',_vm.data,false),_vm.action.handlers),[_vm._v(\"\\n\\t\"+_vm._s(_vm.data.text)+\"\\n\")])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<!--\n  - SPDX-FileCopyrightText: 2019 Nextcloud GmbH and Nextcloud contributors\n  - SPDX-License-Identifier: AGPL-3.0-or-later\n-->\n\n<template>\n\t<li :class=\"{ 'sharing-entry--share': share }\"\n\t\tclass=\"sharing-entry sharing-entry__link\">\n\t\t<NcAvatar :is-no-user=\"true\"\n\t\t\t:icon-class=\"isEmailShareType ? 'avatar-link-share icon-mail-white' : 'avatar-link-share icon-public-white'\"\n\t\t\tclass=\"sharing-entry__avatar\" />\n\n\t\t<div class=\"sharing-entry__summary\">\n\t\t\t<div class=\"sharing-entry__desc\">\n\t\t\t\t<span class=\"sharing-entry__title\" :title=\"title\">\n\t\t\t\t\t{{ title }}\n\t\t\t\t</span>\n\t\t\t\t<p v-if=\"subtitle\">\n\t\t\t\t\t{{ subtitle }}\n\t\t\t\t</p>\n\t\t\t\t<SharingEntryQuickShareSelect v-if=\"share && share.permissions !== undefined\"\n\t\t\t\t\t:share=\"share\"\n\t\t\t\t\t:file-info=\"fileInfo\"\n\t\t\t\t\t@open-sharing-details=\"openShareDetailsForCustomSettings(share)\" />\n\t\t\t</div>\n\n\t\t\t<!-- clipboard -->\n\t\t\t<NcActions v-if=\"share && !isEmailShareType && share.token\" ref=\"copyButton\" class=\"sharing-entry__copy\">\n\t\t\t\t<NcActionButton\t:title=\"copyLinkTooltip\"\n\t\t\t\t\t:aria-label=\"copyLinkTooltip\"\n\t\t\t\t\t@click.prevent=\"copyLink\">\n\t\t\t\t\t<template #icon>\n\t\t\t\t\t\t<CheckIcon v-if=\"copied && copySuccess\"\n\t\t\t\t\t\t\t:size=\"20\"\n\t\t\t\t\t\t\tclass=\"icon-checkmark-color\" />\n\t\t\t\t\t\t<ClipboardIcon v-else :size=\"20\" />\n\t\t\t\t\t</template>\n\t\t\t\t</NcActionButton>\n\t\t\t</NcActions>\n\t\t</div>\n\n\t\t<!-- pending actions -->\n\t\t<NcActions v-if=\"!pending && (pendingPassword || pendingEnforcedPassword || pendingExpirationDate)\"\n\t\t\tclass=\"sharing-entry__actions\"\n\t\t\t:aria-label=\"actionsTooltip\"\n\t\t\tmenu-align=\"right\"\n\t\t\t:open.sync=\"open\"\n\t\t\t@close=\"onCancel\">\n\t\t\t<!-- pending data menu -->\n\t\t\t<NcActionText v-if=\"errors.pending\"\n\t\t\t\tclass=\"error\">\n\t\t\t\t<template #icon>\n\t\t\t\t\t<ErrorIcon :size=\"20\" />\n\t\t\t\t</template>\n\t\t\t\t{{ errors.pending }}\n\t\t\t</NcActionText>\n\t\t\t<NcActionText v-else icon=\"icon-info\">\n\t\t\t\t{{ t('files_sharing', 'Please enter the following required information before creating the share') }}\n\t\t\t</NcActionText>\n\n\t\t\t<!-- password -->\n\t\t\t<NcActionText v-if=\"pendingEnforcedPassword\">\n\t\t\t\t<LockIcon :size=\"20\" />\n\t\t\t\t{{ t('files_sharing', 'Password protection (enforced)') }}\n\t\t\t</NcActionText>\n\t\t\t<NcActionCheckbox v-else-if=\"pendingPassword\"\n\t\t\t\t:checked.sync=\"isPasswordProtected\"\n\t\t\t\t:disabled=\"config.enforcePasswordForPublicLink || saving\"\n\t\t\t\tclass=\"share-link-password-checkbox\"\n\t\t\t\t@uncheck=\"onPasswordDisable\">\n\t\t\t\t{{ t('files_sharing', 'Password protection') }}\n\t\t\t</NcActionCheckbox>\n\n\t\t\t<NcActionInput v-if=\"pendingEnforcedPassword || share.password\"\n\t\t\t\tclass=\"share-link-password\"\n\t\t\t\t:value.sync=\"share.password\"\n\t\t\t\t:disabled=\"saving\"\n\t\t\t\t:required=\"config.enableLinkPasswordByDefault || config.enforcePasswordForPublicLink\"\n\t\t\t\t:minlength=\"isPasswordPolicyEnabled && config.passwordPolicy.minLength\"\n\t\t\t\ticon=\"\"\n\t\t\t\tautocomplete=\"new-password\"\n\t\t\t\t@submit=\"onNewLinkShare\">\n\t\t\t\t{{ t('files_sharing', 'Enter a password') }}\n\t\t\t</NcActionInput>\n\n\t\t\t<!-- expiration date -->\n\t\t\t<NcActionText v-if=\"pendingExpirationDate\" icon=\"icon-calendar-dark\">\n\t\t\t\t{{ t('files_sharing', 'Expiration date (enforced)') }}\n\t\t\t</NcActionText>\n\t\t\t<NcActionInput v-if=\"pendingExpirationDate\"\n\t\t\t\tclass=\"share-link-expire-date\"\n\t\t\t\t:disabled=\"saving\"\n\t\t\t\t:is-native-picker=\"true\"\n\t\t\t\t:hide-label=\"true\"\n\t\t\t\t:value=\"new Date(share.expireDate)\"\n\t\t\t\ttype=\"date\"\n\t\t\t\t:min=\"dateTomorrow\"\n\t\t\t\t:max=\"maxExpirationDateEnforced\"\n\t\t\t\t@input=\"onExpirationChange\">\n\t\t\t\t<!-- let's not submit when picked, the user\n\t\t\t\t\tmight want to still edit or copy the password -->\n\t\t\t\t{{ t('files_sharing', 'Enter a date') }}\n\t\t\t</NcActionInput>\n\n\t\t\t<NcActionButton @click.prevent.stop=\"onNewLinkShare\">\n\t\t\t\t<template #icon>\n\t\t\t\t\t<CheckIcon :size=\"20\" />\n\t\t\t\t</template>\n\t\t\t\t{{ t('files_sharing', 'Create share') }}\n\t\t\t</NcActionButton>\n\t\t\t<NcActionButton @click.prevent.stop=\"onCancel\">\n\t\t\t\t<template #icon>\n\t\t\t\t\t<CloseIcon :size=\"20\" />\n\t\t\t\t</template>\n\t\t\t\t{{ t('files_sharing', 'Cancel') }}\n\t\t\t</NcActionButton>\n\t\t</NcActions>\n\n\t\t<!-- actions -->\n\t\t<NcActions v-else-if=\"!loading\"\n\t\t\tclass=\"sharing-entry__actions\"\n\t\t\t:aria-label=\"actionsTooltip\"\n\t\t\tmenu-align=\"right\"\n\t\t\t:open.sync=\"open\"\n\t\t\t@close=\"onMenuClose\">\n\t\t\t<template v-if=\"share\">\n\t\t\t\t<template v-if=\"share.canEdit && canReshare\">\n\t\t\t\t\t<NcActionButton :disabled=\"saving\"\n\t\t\t\t\t\t:close-after-click=\"true\"\n\t\t\t\t\t\t@click.prevent=\"openSharingDetails\">\n\t\t\t\t\t\t<template #icon>\n\t\t\t\t\t\t\t<Tune :size=\"20\" />\n\t\t\t\t\t\t</template>\n\t\t\t\t\t\t{{ t('files_sharing', 'Customize link') }}\n\t\t\t\t\t</NcActionButton>\n\t\t\t\t</template>\n\t\t\t\t\n\t\t\t\t<NcActionButton :close-after-click=\"true\"\n\t\t\t\t\t@click.prevent=\"showQRCode = true\">\n\t\t\t\t\t<template #icon>\n\t\t\t\t\t\t<IconQr :size=\"20\" />\n\t\t\t\t\t</template>\n\t\t\t\t\t{{ t('files_sharing', 'Generate QR code') }}\n\t\t\t\t</NcActionButton>\n\n\t\t\t\t<NcActionSeparator />\n\n\t\t\t\t<!-- external actions -->\n\t\t\t\t<ExternalShareAction v-for=\"action in externalLinkActions\"\n\t\t\t\t\t:id=\"action.id\"\n\t\t\t\t\t:key=\"action.id\"\n\t\t\t\t\t:action=\"action\"\n\t\t\t\t\t:file-info=\"fileInfo\"\n\t\t\t\t\t:share=\"share\" />\n\n\t\t\t\t<!-- external legacy sharing via url (social...) -->\n\t\t\t\t<NcActionLink v-for=\"({ icon, url, name }, index) in externalLegacyLinkActions\"\n\t\t\t\t\t:key=\"index\"\n\t\t\t\t\t:href=\"url(shareLink)\"\n\t\t\t\t\t:icon=\"icon\"\n\t\t\t\t\ttarget=\"_blank\">\n\t\t\t\t\t{{ name }}\n\t\t\t\t</NcActionLink>\n\n\t\t\t\t<NcActionButton v-if=\"!isEmailShareType && canReshare\"\n\t\t\t\t\tclass=\"new-share-link\"\n\t\t\t\t\t@click.prevent.stop=\"onNewLinkShare\">\n\t\t\t\t\t<template #icon>\n\t\t\t\t\t\t<PlusIcon :size=\"20\" />\n\t\t\t\t\t</template>\n\t\t\t\t\t{{ t('files_sharing', 'Add another link') }}\n\t\t\t\t</NcActionButton>\n\n\t\t\t\t<NcActionButton v-if=\"share.canDelete\"\n\t\t\t\t\t:disabled=\"saving\"\n\t\t\t\t\t@click.prevent=\"onDelete\">\n\t\t\t\t\t<template #icon>\n\t\t\t\t\t\t<CloseIcon :size=\"20\" />\n\t\t\t\t\t</template>\n\t\t\t\t\t{{ t('files_sharing', 'Unshare') }}\n\t\t\t\t</NcActionButton>\n\t\t\t</template>\n\n\t\t\t<!-- Create new share -->\n\t\t\t<NcActionButton v-else-if=\"canReshare\"\n\t\t\t\tclass=\"new-share-link\"\n\t\t\t\t:title=\"t('files_sharing', 'Create a new share link')\"\n\t\t\t\t:aria-label=\"t('files_sharing', 'Create a new share link')\"\n\t\t\t\t:icon=\"loading ? 'icon-loading-small' : 'icon-add'\"\n\t\t\t\t@click.prevent.stop=\"onNewLinkShare\" />\n\t\t</NcActions>\n\n\t\t<!-- loading indicator to replace the menu -->\n\t\t<div v-else class=\"icon-loading-small sharing-entry__loading\" />\n\n\t\t<!-- Modal to open whenever we have a QR code -->\n\t\t<NcDialog v-if=\"showQRCode\"\n\t\t\tsize=\"normal\"\n\t\t\t:open.sync=\"showQRCode\"\n\t\t\t:name=\"title\"\n\t\t\t:close-on-click-outside=\"true\"\n\t\t\t@close=\"showQRCode = false\">\n\t\t\t<div class=\"qr-code-dialog\">\n\t\t\t\t<VueQrcode tag=\"img\"\n\t\t\t\t\t:value=\"shareLink\"\n\t\t\t\t\tclass=\"qr-code-dialog__img\" />\n\t\t\t</div>\n\t\t</NcDialog>\n\t</li>\n</template>\n\n<script>\nimport { generateUrl } from '@nextcloud/router'\nimport { showError, showSuccess } from '@nextcloud/dialogs'\nimport { Type as ShareTypes } from '@nextcloud/sharing'\nimport Vue from 'vue'\nimport VueQrcode from '@chenfengyuan/vue-qrcode';\n\nimport NcActionButton from '@nextcloud/vue/dist/Components/NcActionButton.js'\nimport NcActionInput from '@nextcloud/vue/dist/Components/NcActionInput.js'\nimport NcActionLink from '@nextcloud/vue/dist/Components/NcActionLink.js'\nimport NcActionText from '@nextcloud/vue/dist/Components/NcActionText.js'\nimport NcActionSeparator from '@nextcloud/vue/dist/Components/NcActionSeparator.js'\nimport NcActions from '@nextcloud/vue/dist/Components/NcActions.js'\nimport NcAvatar from '@nextcloud/vue/dist/Components/NcAvatar.js'\nimport NcDialog from '@nextcloud/vue/dist/Components/NcDialog.js'\n\nimport Tune from 'vue-material-design-icons/Tune.vue'\nimport IconQr from 'vue-material-design-icons/Qrcode.vue'\nimport ErrorIcon from 'vue-material-design-icons/Exclamation.vue'\nimport LockIcon from 'vue-material-design-icons/Lock.vue'\nimport CheckIcon from 'vue-material-design-icons/CheckBold.vue'\nimport ClipboardIcon from 'vue-material-design-icons/ClipboardFlow.vue'\nimport CloseIcon from 'vue-material-design-icons/Close.vue'\nimport PlusIcon from 'vue-material-design-icons/Plus.vue'\n\nimport SharingEntryQuickShareSelect from './SharingEntryQuickShareSelect.vue'\n\nimport ExternalShareAction from './ExternalShareAction.vue'\nimport GeneratePassword from '../utils/GeneratePassword.js'\nimport Share from '../models/Share.js'\nimport SharesMixin from '../mixins/SharesMixin.js'\nimport ShareDetails from '../mixins/ShareDetails.js'\n\nexport default {\n\tname: 'SharingEntryLink',\n\n\tcomponents: {\n\t\tExternalShareAction,\n\t\tNcActions,\n\t\tNcActionButton,\n\t\tNcActionInput,\n\t\tNcActionLink,\n\t\tNcActionText,\n\t\tNcActionSeparator,\n\t\tNcAvatar,\n\t\tNcDialog,\n\t\tVueQrcode,\n\t\tTune,\n\t\tIconQr,\n\t\tErrorIcon,\n\t\tLockIcon,\n\t\tCheckIcon,\n\t\tClipboardIcon,\n\t\tCloseIcon,\n\t\tPlusIcon,\n\t\tSharingEntryQuickShareSelect,\n\t},\n\n\tmixins: [SharesMixin, ShareDetails],\n\n\tprops: {\n\t\tcanReshare: {\n\t\t\ttype: Boolean,\n\t\t\tdefault: true,\n\t\t},\n\t\tindex: {\n\t\t\ttype: Number,\n\t\t\tdefault: null,\n\t\t},\n\t},\n\n\tdata() {\n\t\treturn {\n\t\t\tcopySuccess: true,\n\t\t\tcopied: false,\n\n\t\t\t// Are we waiting for password/expiration date\n\t\t\tpending: false,\n\n\t\t\tExternalLegacyLinkActions: OCA.Sharing.ExternalLinkActions.state,\n\t\t\tExternalShareActions: OCA.Sharing.ExternalShareActions.state,\n\n\t\t\t// tracks whether modal should be opened or not\n\t\t\tshowQRCode: false,\n\t\t}\n\t},\n\n\tcomputed: {\n\t\t/**\n\t\t * Link share label\n\t\t *\n\t\t * @return {string}\n\t\t */\n\t\ttitle() {\n\t\t\t// if we have a valid existing share (not pending)\n\t\t\tif (this.share && this.share.id) {\n\t\t\t\tif (!this.isShareOwner && this.share.ownerDisplayName) {\n\t\t\t\t\tif (this.isEmailShareType) {\n\t\t\t\t\t\treturn t('files_sharing', '{shareWith} by {initiator}', {\n\t\t\t\t\t\t\tshareWith: this.share.shareWith,\n\t\t\t\t\t\t\tinitiator: this.share.ownerDisplayName,\n\t\t\t\t\t\t})\n\t\t\t\t\t}\n\t\t\t\t\treturn t('files_sharing', 'Shared via link by {initiator}', {\n\t\t\t\t\t\tinitiator: this.share.ownerDisplayName,\n\t\t\t\t\t})\n\t\t\t\t}\n\t\t\t\tif (this.share.label && this.share.label.trim() !== '') {\n\t\t\t\t\tif (this.isEmailShareType) {\n\t\t\t\t\t\treturn t('files_sharing', 'Mail share ({label})', {\n\t\t\t\t\t\t\tlabel: this.share.label.trim(),\n\t\t\t\t\t\t})\n\t\t\t\t\t}\n\t\t\t\t\treturn t('files_sharing', 'Share link ({label})', {\n\t\t\t\t\t\tlabel: this.share.label.trim(),\n\t\t\t\t\t})\n\t\t\t\t}\n\t\t\t\tif (this.isEmailShareType) {\n\t\t\t\t\treturn this.share.shareWith\n\t\t\t\t}\n\t\t\t}\n\t\t\tif (this.index > 1) {\n\t\t\t\treturn t('files_sharing', 'Share link ({index})', { index: this.index })\n\t\t\t}\n\t\t\treturn t('files_sharing', 'Share link')\n\t\t},\n\n\t\t/**\n\t\t * Show the email on a second line if a label is set for mail shares\n\t\t *\n\t\t * @return {string}\n\t\t */\n\t\tsubtitle() {\n\t\t\tif (this.isEmailShareType\n\t\t\t\t&& this.title !== this.share.shareWith) {\n\t\t\t\treturn this.share.shareWith\n\t\t\t}\n\t\t\treturn null\n\t\t},\n\t\t/**\n\t\t * Is the current share password protected ?\n\t\t *\n\t\t * @return {boolean}\n\t\t */\n\t\tisPasswordProtected: {\n\t\t\tget() {\n\t\t\t\treturn this.config.enforcePasswordForPublicLink\n\t\t\t\t\t|| !!this.share.password\n\t\t\t},\n\t\t\tasync set(enabled) {\n\t\t\t\t// TODO: directly save after generation to make sure the share is always protected\n\t\t\t\tVue.set(this.share, 'password', enabled ? await GeneratePassword() : '')\n\t\t\t\tVue.set(this.share, 'newPassword', this.share.password)\n\t\t\t},\n\t\t},\n\n\t\tpasswordExpirationTime() {\n\t\t\tif (this.share.passwordExpirationTime === null) {\n\t\t\t\treturn null\n\t\t\t}\n\n\t\t\tconst expirationTime = moment(this.share.passwordExpirationTime)\n\n\t\t\tif (expirationTime.diff(moment()) < 0) {\n\t\t\t\treturn false\n\t\t\t}\n\n\t\t\treturn expirationTime.fromNow()\n\t\t},\n\n\t\t/**\n\t\t * Is Talk enabled?\n\t\t *\n\t\t * @return {boolean}\n\t\t */\n\t\tisTalkEnabled() {\n\t\t\treturn OC.appswebroots.spreed !== undefined\n\t\t},\n\n\t\t/**\n\t\t * Is it possible to protect the password by Talk?\n\t\t *\n\t\t * @return {boolean}\n\t\t */\n\t\tisPasswordProtectedByTalkAvailable() {\n\t\t\treturn this.isPasswordProtected && this.isTalkEnabled\n\t\t},\n\n\t\t/**\n\t\t * Is the current share password protected by Talk?\n\t\t *\n\t\t * @return {boolean}\n\t\t */\n\t\tisPasswordProtectedByTalk: {\n\t\t\tget() {\n\t\t\t\treturn this.share.sendPasswordByTalk\n\t\t\t},\n\t\t\tasync set(enabled) {\n\t\t\t\tthis.share.sendPasswordByTalk = enabled\n\t\t\t},\n\t\t},\n\n\t\t/**\n\t\t * Is the current share an email share ?\n\t\t *\n\t\t * @return {boolean}\n\t\t */\n\t\tisEmailShareType() {\n\t\t\treturn this.share\n\t\t\t\t? this.share.type === this.SHARE_TYPES.SHARE_TYPE_EMAIL\n\t\t\t\t: false\n\t\t},\n\n\t\tcanTogglePasswordProtectedByTalkAvailable() {\n\t\t\tif (!this.isPasswordProtected) {\n\t\t\t\t// Makes no sense\n\t\t\t\treturn false\n\t\t\t} else if (this.isEmailShareType && !this.hasUnsavedPassword) {\n\t\t\t\t// For email shares we need a new password in order to enable or\n\t\t\t\t// disable\n\t\t\t\treturn false\n\t\t\t}\n\n\t\t\t// Anything else should be fine\n\t\t\treturn true\n\t\t},\n\n\t\t/**\n\t\t * Pending data.\n\t\t * If the share still doesn't have an id, it is not synced\n\t\t * Therefore this is still not valid and requires user input\n\t\t *\n\t\t * @return {boolean}\n\t\t */\n\t\tpendingPassword() {\n\t\t\treturn this.config.enableLinkPasswordByDefault && this.share && !this.share.id\n\t\t},\n\t\tpendingEnforcedPassword() {\n\t\t\treturn this.config.enforcePasswordForPublicLink && this.share && !this.share.id\n\t\t},\n\t\tpendingExpirationDate() {\n\t\t\treturn this.config.isDefaultExpireDateEnforced && this.share && !this.share.id\n\t\t},\n\n\t\t// if newPassword exists, but is empty, it means\n\t\t// the user deleted the original password\n\t\thasUnsavedPassword() {\n\t\t\treturn this.share.newPassword !== undefined\n\t\t},\n\n\t\t/**\n\t\t * Return the public share link\n\t\t *\n\t\t * @return {string}\n\t\t */\n\t\tshareLink() {\n\t\t\treturn window.location.protocol + '//' + window.location.host + generateUrl('/s/') + this.share.token\n\t\t},\n\n\t\t/**\n\t\t * Tooltip message for actions button\n\t\t *\n\t\t * @return {string}\n\t\t */\n\t\tactionsTooltip() {\n\t\t\treturn t('files_sharing', 'Actions for \"{title}\"', { title: this.title })\n\t\t},\n\n\t\t/**\n\t\t * Tooltip message for copy button\n\t\t *\n\t\t * @return {string}\n\t\t */\n\t\tcopyLinkTooltip() {\n\t\t\tif (this.copied) {\n\t\t\t\tif (this.copySuccess) {\n\t\t\t\t\treturn ''\n\t\t\t\t}\n\t\t\t\treturn t('files_sharing', 'Cannot copy, please copy the link manually')\n\t\t\t}\n\t\t\treturn t('files_sharing', 'Copy public link of \"{title}\" to clipboard', { title: this.title })\n\t\t},\n\n\t\t/**\n\t\t * External additionnai actions for the menu\n\t\t *\n\t\t * @deprecated use OCA.Sharing.ExternalShareActions\n\t\t * @return {Array}\n\t\t */\n\t\texternalLegacyLinkActions() {\n\t\t\treturn this.ExternalLegacyLinkActions.actions\n\t\t},\n\n\t\t/**\n\t\t * Additional actions for the menu\n\t\t *\n\t\t * @return {Array}\n\t\t */\n\t\texternalLinkActions() {\n\t\t\tconst filterValidAction = (action) => (action.shareType.includes(ShareTypes.SHARE_TYPE_LINK) || action.shareType.includes(ShareTypes.SHARE_TYPE_EMAIL)) && !action.advanced\n\t\t\t// filter only the registered actions for said link\n\t\t\treturn this.ExternalShareActions.actions\n\t\t\t\t.filter(filterValidAction)\n\t\t},\n\n\t\tisPasswordPolicyEnabled() {\n\t\t\treturn typeof this.config.passwordPolicy === 'object'\n\t\t},\n\n\t\tcanChangeHideDownload() {\n\t\t\tconst hasDisabledDownload = (shareAttribute) => shareAttribute.key === 'download' && shareAttribute.scope === 'permissions' && shareAttribute.enabled === false\n\t\t\treturn this.fileInfo.shareAttributes.some(hasDisabledDownload)\n\t\t},\n\t},\n\n\tmethods: {\n\t\t/**\n\t\t * Create a new share link and append it to the list\n\t\t */\n\t\tasync onNewLinkShare() {\n\t\t\t// do not run again if already loading\n\t\t\tif (this.loading) {\n\t\t\t\treturn\n\t\t\t}\n\n\t\t\tconst shareDefaults = {\n\t\t\t\tshare_type: ShareTypes.SHARE_TYPE_LINK,\n\t\t\t}\n\t\t\tif (this.config.isDefaultExpireDateEnforced) {\n\t\t\t\t// default is empty string if not set\n\t\t\t\t// expiration is the share object key, not expireDate\n\t\t\t\tshareDefaults.expiration = this.formatDateToString(this.config.defaultExpirationDate)\n\t\t\t}\n\n\t\t\t// do not push yet if we need a password or an expiration date: show pending menu\n\t\t\tif (this.config.enableLinkPasswordByDefault || this.config.enforcePasswordForPublicLink || this.config.isDefaultExpireDateEnforced) {\n\t\t\t\tthis.pending = true\n\n\t\t\t\t// if a share already exists, pushing it\n\t\t\t\tif (this.share && !this.share.id) {\n\t\t\t\t\t// if the share is valid, create it on the server\n\t\t\t\t\tif (this.checkShare(this.share)) {\n\t\t\t\t\t\ttry {\n\t\t\t\t\t\t\tawait this.pushNewLinkShare(this.share, true)\n\t\t\t\t\t\t} catch (e) {\n\t\t\t\t\t\t\tthis.pending = false\n\t\t\t\t\t\t\tconsole.error(e)\n\t\t\t\t\t\t\treturn false\n\t\t\t\t\t\t}\n\t\t\t\t\t\treturn true\n\t\t\t\t\t} else {\n\t\t\t\t\t\tthis.open = true\n\t\t\t\t\t\tOC.Notification.showTemporary(t('files_sharing', 'Error, please enter proper password and/or expiration date'))\n\t\t\t\t\t\treturn false\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\t// ELSE, show the pending popovermenu\n\t\t\t\t// if password default or enforced, pre-fill with random one\n\t\t\t\tif (this.config.enableLinkPasswordByDefault || this.config.enforcePasswordForPublicLink) {\n\t\t\t\t\tshareDefaults.password = await GeneratePassword()\n\t\t\t\t}\n\n\t\t\t\t// create share & close menu\n\t\t\t\tconst share = new Share(shareDefaults)\n\t\t\t\tconst component = await new Promise(resolve => {\n\t\t\t\t\tthis.$emit('add:share', share, resolve)\n\t\t\t\t})\n\n\t\t\t\t// open the menu on the\n\t\t\t\t// freshly created share component\n\t\t\t\tthis.open = false\n\t\t\t\tthis.pending = false\n\t\t\t\tcomponent.open = true\n\n\t\t\t\t// Nothing is enforced, creating share directly\n\t\t\t} else {\n\t\t\t\tconst share = new Share(shareDefaults)\n\t\t\t\tawait this.pushNewLinkShare(share)\n\t\t\t}\n\t\t},\n\n\t\t/**\n\t\t * Push a new link share to the server\n\t\t * And update or append to the list\n\t\t * accordingly\n\t\t *\n\t\t * @param {Share} share the new share\n\t\t * @param {boolean} [update] do we update the current share ?\n\t\t */\n\t\tasync pushNewLinkShare(share, update) {\n\t\t\ttry {\n\t\t\t\t// do nothing if we're already pending creation\n\t\t\t\tif (this.loading) {\n\t\t\t\t\treturn true\n\t\t\t\t}\n\n\t\t\t\tthis.loading = true\n\t\t\t\tthis.errors = {}\n\n\t\t\t\tconst path = (this.fileInfo.path + '/' + this.fileInfo.name).replace('//', '/')\n\t\t\t\tconst options = {\n\t\t\t\t\tpath,\n\t\t\t\t\tshareType: ShareTypes.SHARE_TYPE_LINK,\n\t\t\t\t\tpassword: share.password,\n\t\t\t\t\texpireDate: share.expireDate,\n\t\t\t\t\tattributes: JSON.stringify(this.fileInfo.shareAttributes),\n\t\t\t\t\t// we do not allow setting the publicUpload\n\t\t\t\t\t// before the share creation.\n\t\t\t\t\t// Todo: We also need to fix the createShare method in\n\t\t\t\t\t// lib/Controller/ShareAPIController.php to allow file drop\n\t\t\t\t\t// (currently not supported on create, only update)\n\t\t\t\t}\n\n\t\t\t\tconsole.debug('Creating link share with options', options)\n\t\t\t\tconst newShare = await this.createShare(options)\n\n\t\t\t\tthis.open = false\n\t\t\t\tconsole.debug('Link share created', newShare)\n\n\t\t\t\t// if share already exists, copy link directly on next tick\n\t\t\t\tlet component\n\t\t\t\tif (update) {\n\t\t\t\t\tcomponent = await new Promise(resolve => {\n\t\t\t\t\t\tthis.$emit('update:share', newShare, resolve)\n\t\t\t\t\t})\n\t\t\t\t} else {\n\t\t\t\t\t// adding new share to the array and copying link to clipboard\n\t\t\t\t\t// using promise so that we can copy link in the same click function\n\t\t\t\t\t// and avoid firefox copy permissions issue\n\t\t\t\t\tcomponent = await new Promise(resolve => {\n\t\t\t\t\t\tthis.$emit('add:share', newShare, resolve)\n\t\t\t\t\t})\n\t\t\t\t}\n\n\t\t\t\t// Execute the copy link method\n\t\t\t\t// freshly created share component\n\t\t\t\t// ! somehow does not works on firefox !\n\t\t\t\tif (!this.config.enforcePasswordForPublicLink) {\n\t\t\t\t\t// Only copy the link when the password was not forced,\n\t\t\t\t\t// otherwise the user needs to copy/paste the password before finishing the share.\n\t\t\t\t\tcomponent.copyLink()\n\t\t\t\t}\n\t\t\t\tshowSuccess(t('files_sharing', 'Link share created'))\n\n\t\t\t} catch (data) {\n\t\t\t\tconst message = data?.response?.data?.ocs?.meta?.message\n\t\t\t\tif (!message) {\n\t\t\t\t\tshowError(t('files_sharing', 'Error while creating the share'))\n\t\t\t\t\tconsole.error(data)\n\t\t\t\t\treturn\n\t\t\t\t}\n\n\t\t\t\tif (message.match(/password/i)) {\n\t\t\t\t\tthis.onSyncError('password', message)\n\t\t\t\t} else if (message.match(/date/i)) {\n\t\t\t\t\tthis.onSyncError('expireDate', message)\n\t\t\t\t} else {\n\t\t\t\t\tthis.onSyncError('pending', message)\n\t\t\t\t}\n\t\t\t\tthrow data\n\t\t\t} finally {\n\t\t\t\tthis.loading = false\n\t\t\t}\n\t\t},\n\t\tasync copyLink() {\n\t\t\ttry {\n\t\t\t\tawait navigator.clipboard.writeText(this.shareLink)\n\t\t\t\tshowSuccess(t('files_sharing', 'Link copied'))\n\t\t\t\t// focus and show the tooltip\n\t\t\t\tthis.$refs.copyButton.$el.focus()\n\t\t\t\tthis.copySuccess = true\n\t\t\t\tthis.copied = true\n\t\t\t} catch (error) {\n\t\t\t\tthis.copySuccess = false\n\t\t\t\tthis.copied = true\n\t\t\t\tconsole.error(error)\n\t\t\t} finally {\n\t\t\t\tsetTimeout(() => {\n\t\t\t\t\tthis.copySuccess = false\n\t\t\t\t\tthis.copied = false\n\t\t\t\t}, 4000)\n\t\t\t}\n\t\t},\n\n\t\t/**\n\t\t * Update newPassword values\n\t\t * of share. If password is set but not newPassword\n\t\t * then the user did not changed the password\n\t\t * If both co-exists, the password have changed and\n\t\t * we show it in plain text.\n\t\t * Then on submit (or menu close), we sync it.\n\t\t *\n\t\t * @param {string} password the changed password\n\t\t */\n\t\tonPasswordChange(password) {\n\t\t\tthis.$set(this.share, 'newPassword', password)\n\t\t},\n\n\t\t/**\n\t\t * Uncheck password protection\n\t\t * We need this method because @update:checked\n\t\t * is ran simultaneously as @uncheck, so we\n\t\t * cannot ensure data is up-to-date\n\t\t */\n\t\tonPasswordDisable() {\n\t\t\tthis.share.password = ''\n\n\t\t\t// reset password state after sync\n\t\t\tthis.$delete(this.share, 'newPassword')\n\n\t\t\t// only update if valid share.\n\t\t\tif (this.share.id) {\n\t\t\t\tthis.queueUpdate('password')\n\t\t\t}\n\t\t},\n\n\t\t/**\n\t\t * Menu have been closed or password has been submitted.\n\t\t * The only property that does not get\n\t\t * synced automatically is the password\n\t\t * So let's check if we have an unsaved\n\t\t * password.\n\t\t * expireDate is saved on datepicker pick\n\t\t * or close.\n\t\t */\n\t\tonPasswordSubmit() {\n\t\t\tif (this.hasUnsavedPassword) {\n\t\t\t\tthis.share.password = this.share.newPassword.trim()\n\t\t\t\tthis.queueUpdate('password')\n\t\t\t}\n\t\t},\n\n\t\t/**\n\t\t * Update the password along with \"sendPasswordByTalk\".\n\t\t *\n\t\t * If the password was modified the new password is sent; otherwise\n\t\t * updating a mail share would fail, as in that case it is required that\n\t\t * a new password is set when enabling or disabling\n\t\t * \"sendPasswordByTalk\".\n\t\t */\n\t\tonPasswordProtectedByTalkChange() {\n\t\t\tif (this.hasUnsavedPassword) {\n\t\t\t\tthis.share.password = this.share.newPassword.trim()\n\t\t\t}\n\n\t\t\tthis.queueUpdate('sendPasswordByTalk', 'password')\n\t\t},\n\n\t\t/**\n\t\t * Save potential changed data on menu close\n\t\t */\n\t\tonMenuClose() {\n\t\t\tthis.onPasswordSubmit()\n\t\t\tthis.onNoteSubmit()\n\t\t},\n\n\t\t/**\n\t\t * Cancel the share creation\n\t\t * Used in the pending popover\n\t\t */\n\t\tonCancel() {\n\t\t\t// this.share already exists at this point,\n\t\t\t// but is incomplete as not pushed to server\n\t\t\t// YET. We can safely delete the share :)\n\t\t\tthis.$emit('remove:share', this.share)\n\t\t},\n\t},\n}\n</script>\n\n<style lang=\"scss\" scoped>\n.sharing-entry {\n\tdisplay: flex;\n\talign-items: center;\n\tmin-height: 44px;\n\n\t&__summary {\n\t\tpadding: 8px;\n\t\tpadding-left: 10px;\n\t\tdisplay: flex;\n\t\tjustify-content: space-between;\n\t\tflex: 1 0;\n\t\tmin-width: 0;\n\t}\n\n\t&__desc {\n\t\tdisplay: flex;\n\t\tflex-direction: column;\n\t\tline-height: 1.2em;\n\n\t\tp {\n\t\t\tcolor: var(--color-text-maxcontrast);\n\t\t}\n\n\t\t&__title {\n\t\t\ttext-overflow: ellipsis;\n\t\t\toverflow: hidden;\n\t\t\twhite-space: nowrap;\n\t\t}\n\t}\n\n\t&__copy {\n\n\t}\n\n\t&:not(.sharing-entry--share) &__actions {\n\t\t.new-share-link {\n\t\t\tborder-top: 1px solid var(--color-border);\n\t\t}\n\t}\n\n\t::v-deep .avatar-link-share {\n\t\tbackground-color: var(--color-primary-element);\n\t}\n\n\t.sharing-entry__action--public-upload {\n\t\tborder-bottom: 1px solid var(--color-border);\n\t}\n\n\t&__loading {\n\t\twidth: 44px;\n\t\theight: 44px;\n\t\tmargin: 0;\n\t\tpadding: 14px;\n\t\tmargin-left: auto;\n\t}\n\n\t// put menus to the left\n\t// but only the first one\n\t.action-item {\n\n\t\t~.action-item,\n\t\t~.sharing-entry__loading {\n\t\t\tmargin-left: 0;\n\t\t}\n\t}\n\n\t.icon-checkmark-color {\n\t\topacity: 1;\n\t\tcolor: var(--color-success);\n\t}\n}\n\n// styling for the qr-code container\n.qr-code-dialog {\n\tdisplay: flex;\n\twidth: 100%;\n\tjustify-content: center;\n\n\t&__img {\n\t\twidth: 100%;\n\t\theight: auto;\n\t}\n}\n</style>\n","import mod from \"-!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SharingEntryLink.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SharingEntryLink.vue?vue&type=script&lang=js\"","\n      import API from \"!../../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n      import domAPI from \"!../../../../node_modules/style-loader/dist/runtime/styleDomAPI.js\";\n      import insertFn from \"!../../../../node_modules/style-loader/dist/runtime/insertBySelector.js\";\n      import setAttributes from \"!../../../../node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js\";\n      import insertStyleElement from \"!../../../../node_modules/style-loader/dist/runtime/insertStyleElement.js\";\n      import styleTagTransformFn from \"!../../../../node_modules/style-loader/dist/runtime/styleTagTransform.js\";\n      import content, * as namedExport from \"!!../../../../node_modules/css-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/sass-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SharingEntryLink.vue?vue&type=style&index=0&id=6b41579b&prod&lang=scss&scoped=true\";\n      \n      \n\nvar options = {};\n\noptions.styleTagTransform = styleTagTransformFn;\noptions.setAttributes = setAttributes;\n\n      options.insert = insertFn.bind(null, \"head\");\n    \noptions.domAPI = domAPI;\noptions.insertStyleElement = insertStyleElement;\n\nvar update = API(content, options);\n\n\n\nexport * from \"!!../../../../node_modules/css-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/sass-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SharingEntryLink.vue?vue&type=style&index=0&id=6b41579b&prod&lang=scss&scoped=true\";\n       export default content && content.locals ? content.locals : undefined;\n","import { render, staticRenderFns } from \"./SharingEntryLink.vue?vue&type=template&id=6b41579b&scoped=true\"\nimport script from \"./SharingEntryLink.vue?vue&type=script&lang=js\"\nexport * from \"./SharingEntryLink.vue?vue&type=script&lang=js\"\nimport style0 from \"./SharingEntryLink.vue?vue&type=style&index=0&id=6b41579b&prod&lang=scss&scoped=true\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n  script,\n  render,\n  staticRenderFns,\n  false,\n  null,\n  \"6b41579b\",\n  null\n  \n)\n\nexport default component.exports","import mod from \"-!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SharingLinkList.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SharingLinkList.vue?vue&type=script&lang=js\"","<!--\n  - SPDX-FileCopyrightText: 2019 Nextcloud GmbH and Nextcloud contributors\n  - SPDX-License-Identifier: AGPL-3.0-or-later\n-->\n\n<template>\n\t<ul v-if=\"canLinkShare\" class=\"sharing-link-list\">\n\t\t<!-- If no link shares, show the add link default entry -->\n\t\t<SharingEntryLink v-if=\"!hasLinkShares && canReshare\"\n\t\t\t:can-reshare=\"canReshare\"\n\t\t\t:file-info=\"fileInfo\"\n\t\t\t@add:share=\"addShare\" />\n\n\t\t<!-- Else we display the list -->\n\t\t<template v-if=\"hasShares\">\n\t\t\t<!-- using shares[index] to work with .sync -->\n\t\t\t<SharingEntryLink v-for=\"(share, index) in shares\"\n\t\t\t\t:key=\"share.id\"\n\t\t\t\t:index=\"shares.length > 1 ? index + 1 : null\"\n\t\t\t\t:can-reshare=\"canReshare\"\n\t\t\t\t:share.sync=\"shares[index]\"\n\t\t\t\t:file-info=\"fileInfo\"\n\t\t\t\t@add:share=\"addShare(...arguments)\"\n\t\t\t\t@update:share=\"awaitForShare(...arguments)\"\n\t\t\t\t@remove:share=\"removeShare\"\n\t\t\t\t@open-sharing-details=\"openSharingDetails(share)\" />\n\t\t</template>\n\t</ul>\n</template>\n\n<script>\nimport { getCapabilities } from '@nextcloud/capabilities'\n\n// eslint-disable-next-line no-unused-vars\nimport Share from '../models/Share.js'\nimport ShareTypes from '../mixins/ShareTypes.js'\nimport SharingEntryLink from '../components/SharingEntryLink.vue'\nimport ShareDetails from '../mixins/ShareDetails.js'\n\nexport default {\n\tname: 'SharingLinkList',\n\n\tcomponents: {\n\t\tSharingEntryLink,\n\t},\n\n\tmixins: [ShareTypes, ShareDetails],\n\n\tprops: {\n\t\tfileInfo: {\n\t\t\ttype: Object,\n\t\t\tdefault: () => {},\n\t\t\trequired: true,\n\t\t},\n\t\tshares: {\n\t\t\ttype: Array,\n\t\t\tdefault: () => [],\n\t\t\trequired: true,\n\t\t},\n\t\tcanReshare: {\n\t\t\ttype: Boolean,\n\t\t\trequired: true,\n\t\t},\n\t},\n\n\tdata() {\n\t\treturn {\n\t\t\tcanLinkShare: getCapabilities().files_sharing.public.enabled,\n\t\t}\n\t},\n\n\tcomputed: {\n\t\t/**\n\t\t * Do we have link shares?\n\t\t * Using this to still show the `new link share`\n\t\t * button regardless of mail shares\n\t\t *\n\t\t * @return {Array}\n\t\t */\n\t\thasLinkShares() {\n\t\t\treturn this.shares.filter(share => share.type === this.SHARE_TYPES.SHARE_TYPE_LINK).length > 0\n\t\t},\n\n\t\t/**\n\t\t * Do we have any link or email shares?\n\t\t *\n\t\t * @return {boolean}\n\t\t */\n\t\thasShares() {\n\t\t\treturn this.shares.length > 0\n\t\t},\n\t},\n\n\tmethods: {\n\t\t/**\n\t\t * Add a new share into the link shares list\n\t\t * and return the newly created share component\n\t\t *\n\t\t * @param {Share} share the share to add to the array\n\t\t * @param {Function} resolve a function to run after the share is added and its component initialized\n\t\t */\n\t\taddShare(share, resolve) {\n\t\t\t// eslint-disable-next-line vue/no-mutating-props\n\t\t\tthis.shares.unshift(share)\n\t\t\tthis.awaitForShare(share, resolve)\n\t\t},\n\n\t\t/**\n\t\t * Await for next tick and render after the list updated\n\t\t * Then resolve with the matched vue component of the\n\t\t * provided share object\n\t\t *\n\t\t * @param {Share} share newly created share\n\t\t * @param {Function} resolve a function to execute after\n\t\t */\n\t\tawaitForShare(share, resolve) {\n\t\t\tthis.$nextTick(() => {\n\t\t\t\tconst newShare = this.$children.find(component => component.share === share)\n\t\t\t\tif (newShare) {\n\t\t\t\t\tresolve(newShare)\n\t\t\t\t}\n\t\t\t})\n\t\t},\n\n\t\t/**\n\t\t * Remove a share from the shares list\n\t\t *\n\t\t * @param {Share} share the share to remove\n\t\t */\n\t\tremoveShare(share) {\n\t\t\tconst index = this.shares.findIndex(item => item === share)\n\t\t\t// eslint-disable-next-line vue/no-mutating-props\n\t\t\tthis.shares.splice(index, 1)\n\t\t},\n\t},\n}\n</script>\n","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('li',{staticClass:\"sharing-entry sharing-entry__link\",class:{ 'sharing-entry--share': _vm.share }},[_c('NcAvatar',{staticClass:\"sharing-entry__avatar\",attrs:{\"is-no-user\":true,\"icon-class\":_vm.isEmailShareType ? 'avatar-link-share icon-mail-white' : 'avatar-link-share icon-public-white'}}),_vm._v(\" \"),_c('div',{staticClass:\"sharing-entry__summary\"},[_c('div',{staticClass:\"sharing-entry__desc\"},[_c('span',{staticClass:\"sharing-entry__title\",attrs:{\"title\":_vm.title}},[_vm._v(\"\\n\\t\\t\\t\\t\"+_vm._s(_vm.title)+\"\\n\\t\\t\\t\")]),_vm._v(\" \"),(_vm.subtitle)?_c('p',[_vm._v(\"\\n\\t\\t\\t\\t\"+_vm._s(_vm.subtitle)+\"\\n\\t\\t\\t\")]):_vm._e(),_vm._v(\" \"),(_vm.share && _vm.share.permissions !== undefined)?_c('SharingEntryQuickShareSelect',{attrs:{\"share\":_vm.share,\"file-info\":_vm.fileInfo},on:{\"open-sharing-details\":function($event){return _vm.openShareDetailsForCustomSettings(_vm.share)}}}):_vm._e()],1),_vm._v(\" \"),(_vm.share && !_vm.isEmailShareType && _vm.share.token)?_c('NcActions',{ref:\"copyButton\",staticClass:\"sharing-entry__copy\"},[_c('NcActionButton',{attrs:{\"title\":_vm.copyLinkTooltip,\"aria-label\":_vm.copyLinkTooltip},on:{\"click\":function($event){$event.preventDefault();return _vm.copyLink.apply(null, arguments)}},scopedSlots:_vm._u([{key:\"icon\",fn:function(){return [(_vm.copied && _vm.copySuccess)?_c('CheckIcon',{staticClass:\"icon-checkmark-color\",attrs:{\"size\":20}}):_c('ClipboardIcon',{attrs:{\"size\":20}})]},proxy:true}],null,false,4269614823)})],1):_vm._e()],1),_vm._v(\" \"),(!_vm.pending && (_vm.pendingPassword || _vm.pendingEnforcedPassword || _vm.pendingExpirationDate))?_c('NcActions',{staticClass:\"sharing-entry__actions\",attrs:{\"aria-label\":_vm.actionsTooltip,\"menu-align\":\"right\",\"open\":_vm.open},on:{\"update:open\":function($event){_vm.open=$event},\"close\":_vm.onCancel}},[(_vm.errors.pending)?_c('NcActionText',{staticClass:\"error\",scopedSlots:_vm._u([{key:\"icon\",fn:function(){return [_c('ErrorIcon',{attrs:{\"size\":20}})]},proxy:true}],null,false,1966124155)},[_vm._v(\"\\n\\t\\t\\t\"+_vm._s(_vm.errors.pending)+\"\\n\\t\\t\")]):_c('NcActionText',{attrs:{\"icon\":\"icon-info\"}},[_vm._v(\"\\n\\t\\t\\t\"+_vm._s(_vm.t('files_sharing', 'Please enter the following required information before creating the share'))+\"\\n\\t\\t\")]),_vm._v(\" \"),(_vm.pendingEnforcedPassword)?_c('NcActionText',[_c('LockIcon',{attrs:{\"size\":20}}),_vm._v(\"\\n\\t\\t\\t\"+_vm._s(_vm.t('files_sharing', 'Password protection (enforced)'))+\"\\n\\t\\t\")],1):(_vm.pendingPassword)?_c('NcActionCheckbox',{staticClass:\"share-link-password-checkbox\",attrs:{\"checked\":_vm.isPasswordProtected,\"disabled\":_vm.config.enforcePasswordForPublicLink || _vm.saving},on:{\"update:checked\":function($event){_vm.isPasswordProtected=$event},\"uncheck\":_vm.onPasswordDisable}},[_vm._v(\"\\n\\t\\t\\t\"+_vm._s(_vm.t('files_sharing', 'Password protection'))+\"\\n\\t\\t\")]):_vm._e(),_vm._v(\" \"),(_vm.pendingEnforcedPassword || _vm.share.password)?_c('NcActionInput',{staticClass:\"share-link-password\",attrs:{\"value\":_vm.share.password,\"disabled\":_vm.saving,\"required\":_vm.config.enableLinkPasswordByDefault || _vm.config.enforcePasswordForPublicLink,\"minlength\":_vm.isPasswordPolicyEnabled && _vm.config.passwordPolicy.minLength,\"icon\":\"\",\"autocomplete\":\"new-password\"},on:{\"update:value\":function($event){return _vm.$set(_vm.share, \"password\", $event)},\"submit\":_vm.onNewLinkShare}},[_vm._v(\"\\n\\t\\t\\t\"+_vm._s(_vm.t('files_sharing', 'Enter a password'))+\"\\n\\t\\t\")]):_vm._e(),_vm._v(\" \"),(_vm.pendingExpirationDate)?_c('NcActionText',{attrs:{\"icon\":\"icon-calendar-dark\"}},[_vm._v(\"\\n\\t\\t\\t\"+_vm._s(_vm.t('files_sharing', 'Expiration date (enforced)'))+\"\\n\\t\\t\")]):_vm._e(),_vm._v(\" \"),(_vm.pendingExpirationDate)?_c('NcActionInput',{staticClass:\"share-link-expire-date\",attrs:{\"disabled\":_vm.saving,\"is-native-picker\":true,\"hide-label\":true,\"value\":new Date(_vm.share.expireDate),\"type\":\"date\",\"min\":_vm.dateTomorrow,\"max\":_vm.maxExpirationDateEnforced},on:{\"input\":_vm.onExpirationChange}},[_vm._v(\"\\n\\t\\t\\t\"+_vm._s(_vm.t('files_sharing', 'Enter a date'))+\"\\n\\t\\t\")]):_vm._e(),_vm._v(\" \"),_c('NcActionButton',{on:{\"click\":function($event){$event.preventDefault();$event.stopPropagation();return _vm.onNewLinkShare.apply(null, arguments)}},scopedSlots:_vm._u([{key:\"icon\",fn:function(){return [_c('CheckIcon',{attrs:{\"size\":20}})]},proxy:true}],null,false,2630571749)},[_vm._v(\"\\n\\t\\t\\t\"+_vm._s(_vm.t('files_sharing', 'Create share'))+\"\\n\\t\\t\")]),_vm._v(\" \"),_c('NcActionButton',{on:{\"click\":function($event){$event.preventDefault();$event.stopPropagation();return _vm.onCancel.apply(null, arguments)}},scopedSlots:_vm._u([{key:\"icon\",fn:function(){return [_c('CloseIcon',{attrs:{\"size\":20}})]},proxy:true}],null,false,2428343285)},[_vm._v(\"\\n\\t\\t\\t\"+_vm._s(_vm.t('files_sharing', 'Cancel'))+\"\\n\\t\\t\")])],1):(!_vm.loading)?_c('NcActions',{staticClass:\"sharing-entry__actions\",attrs:{\"aria-label\":_vm.actionsTooltip,\"menu-align\":\"right\",\"open\":_vm.open},on:{\"update:open\":function($event){_vm.open=$event},\"close\":_vm.onMenuClose}},[(_vm.share)?[(_vm.share.canEdit && _vm.canReshare)?[_c('NcActionButton',{attrs:{\"disabled\":_vm.saving,\"close-after-click\":true},on:{\"click\":function($event){$event.preventDefault();return _vm.openSharingDetails.apply(null, arguments)}},scopedSlots:_vm._u([{key:\"icon\",fn:function(){return [_c('Tune',{attrs:{\"size\":20}})]},proxy:true}],null,false,1300586850)},[_vm._v(\"\\n\\t\\t\\t\\t\\t\"+_vm._s(_vm.t('files_sharing', 'Customize link'))+\"\\n\\t\\t\\t\\t\")])]:_vm._e(),_vm._v(\" \"),_c('NcActionButton',{attrs:{\"close-after-click\":true},on:{\"click\":function($event){$event.preventDefault();_vm.showQRCode = true}},scopedSlots:_vm._u([{key:\"icon\",fn:function(){return [_c('IconQr',{attrs:{\"size\":20}})]},proxy:true}],null,false,1082198240)},[_vm._v(\"\\n\\t\\t\\t\\t\"+_vm._s(_vm.t('files_sharing', 'Generate QR code'))+\"\\n\\t\\t\\t\")]),_vm._v(\" \"),_c('NcActionSeparator'),_vm._v(\" \"),_vm._l((_vm.externalLinkActions),function(action){return _c('ExternalShareAction',{key:action.id,attrs:{\"id\":action.id,\"action\":action,\"file-info\":_vm.fileInfo,\"share\":_vm.share}})}),_vm._v(\" \"),_vm._l((_vm.externalLegacyLinkActions),function({ icon, url, name },index){return _c('NcActionLink',{key:index,attrs:{\"href\":url(_vm.shareLink),\"icon\":icon,\"target\":\"_blank\"}},[_vm._v(\"\\n\\t\\t\\t\\t\"+_vm._s(name)+\"\\n\\t\\t\\t\")])}),_vm._v(\" \"),(!_vm.isEmailShareType && _vm.canReshare)?_c('NcActionButton',{staticClass:\"new-share-link\",on:{\"click\":function($event){$event.preventDefault();$event.stopPropagation();return _vm.onNewLinkShare.apply(null, arguments)}},scopedSlots:_vm._u([{key:\"icon\",fn:function(){return [_c('PlusIcon',{attrs:{\"size\":20}})]},proxy:true}],null,false,2953566425)},[_vm._v(\"\\n\\t\\t\\t\\t\"+_vm._s(_vm.t('files_sharing', 'Add another link'))+\"\\n\\t\\t\\t\")]):_vm._e(),_vm._v(\" \"),(_vm.share.canDelete)?_c('NcActionButton',{attrs:{\"disabled\":_vm.saving},on:{\"click\":function($event){$event.preventDefault();return _vm.onDelete.apply(null, arguments)}},scopedSlots:_vm._u([{key:\"icon\",fn:function(){return [_c('CloseIcon',{attrs:{\"size\":20}})]},proxy:true}],null,false,2428343285)},[_vm._v(\"\\n\\t\\t\\t\\t\"+_vm._s(_vm.t('files_sharing', 'Unshare'))+\"\\n\\t\\t\\t\")]):_vm._e()]:(_vm.canReshare)?_c('NcActionButton',{staticClass:\"new-share-link\",attrs:{\"title\":_vm.t('files_sharing', 'Create a new share link'),\"aria-label\":_vm.t('files_sharing', 'Create a new share link'),\"icon\":_vm.loading ? 'icon-loading-small' : 'icon-add'},on:{\"click\":function($event){$event.preventDefault();$event.stopPropagation();return _vm.onNewLinkShare.apply(null, arguments)}}}):_vm._e()],2):_c('div',{staticClass:\"icon-loading-small sharing-entry__loading\"}),_vm._v(\" \"),(_vm.showQRCode)?_c('NcDialog',{attrs:{\"size\":\"normal\",\"open\":_vm.showQRCode,\"name\":_vm.title,\"close-on-click-outside\":true},on:{\"update:open\":function($event){_vm.showQRCode=$event},\"close\":function($event){_vm.showQRCode = false}}},[_c('div',{staticClass:\"qr-code-dialog\"},[_c('VueQrcode',{staticClass:\"qr-code-dialog__img\",attrs:{\"tag\":\"img\",\"value\":_vm.shareLink}})],1)]):_vm._e()],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import { render, staticRenderFns } from \"./SharingLinkList.vue?vue&type=template&id=b04f9516\"\nimport script from \"./SharingLinkList.vue?vue&type=script&lang=js\"\nexport * from \"./SharingLinkList.vue?vue&type=script&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n  script,\n  render,\n  staticRenderFns,\n  false,\n  null,\n  null,\n  null\n  \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('ul',{staticClass:\"sharing-sharee-list\"},_vm._l((_vm.shares),function(share){return _c('SharingEntry',{key:share.id,attrs:{\"file-info\":_vm.fileInfo,\"share\":share,\"is-unique\":_vm.isUnique(share)},on:{\"open-sharing-details\":function($event){return _vm.openSharingDetails(share)}}})}),1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\n  <span v-bind=\"$attrs\"\n        :aria-hidden=\"title ? null : true\"\n        :aria-label=\"title\"\n        class=\"material-design-icon dots-horizontal-icon\"\n        role=\"img\"\n        @click=\"$emit('click', $event)\">\n    <svg :fill=\"fillColor\"\n         class=\"material-design-icon__svg\"\n         :width=\"size\"\n         :height=\"size\"\n         viewBox=\"0 0 24 24\">\n      <path d=\"M16,12A2,2 0 0,1 18,10A2,2 0 0,1 20,12A2,2 0 0,1 18,14A2,2 0 0,1 16,12M10,12A2,2 0 0,1 12,10A2,2 0 0,1 14,12A2,2 0 0,1 12,14A2,2 0 0,1 10,12M4,12A2,2 0 0,1 6,10A2,2 0 0,1 8,12A2,2 0 0,1 6,14A2,2 0 0,1 4,12Z\">\n        <title v-if=\"title\">{{ title }}</title>\n      </path>\n    </svg>\n  </span>\n</template>\n\n<script>\nexport default {\n  name: \"DotsHorizontalIcon\",\n  emits: ['click'],\n  props: {\n    title: {\n      type: String,\n    },\n    fillColor: {\n      type: String,\n      default: \"currentColor\"\n    },\n    size: {\n      type: Number,\n      default: 24\n    }\n  }\n}\n</script>","import mod from \"-!../vue-loader/lib/index.js??vue-loader-options!./DotsHorizontal.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../vue-loader/lib/index.js??vue-loader-options!./DotsHorizontal.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./DotsHorizontal.vue?vue&type=template&id=a4d4ab3e\"\nimport script from \"./DotsHorizontal.vue?vue&type=script&lang=js\"\nexport * from \"./DotsHorizontal.vue?vue&type=script&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n  script,\n  render,\n  staticRenderFns,\n  false,\n  null,\n  null,\n  null\n  \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('span',_vm._b({staticClass:\"material-design-icon dots-horizontal-icon\",attrs:{\"aria-hidden\":_vm.title ? null : true,\"aria-label\":_vm.title,\"role\":\"img\"},on:{\"click\":function($event){return _vm.$emit('click', $event)}}},'span',_vm.$attrs,false),[_c('svg',{staticClass:\"material-design-icon__svg\",attrs:{\"fill\":_vm.fillColor,\"width\":_vm.size,\"height\":_vm.size,\"viewBox\":\"0 0 24 24\"}},[_c('path',{attrs:{\"d\":\"M16,12A2,2 0 0,1 18,10A2,2 0 0,1 20,12A2,2 0 0,1 18,14A2,2 0 0,1 16,12M10,12A2,2 0 0,1 12,10A2,2 0 0,1 14,12A2,2 0 0,1 12,14A2,2 0 0,1 10,12M4,12A2,2 0 0,1 6,10A2,2 0 0,1 8,12A2,2 0 0,1 6,14A2,2 0 0,1 4,12Z\"}},[(_vm.title)?_c('title',[_vm._v(_vm._s(_vm.title))]):_vm._e()])])])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import mod from \"-!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SharingEntry.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SharingEntry.vue?vue&type=script&lang=js\"","<!--\n  - SPDX-FileCopyrightText: 2019 Nextcloud GmbH and Nextcloud contributors\n  - SPDX-License-Identifier: AGPL-3.0-or-later\n-->\n\n<template>\n\t<li class=\"sharing-entry\">\n\t\t<NcAvatar class=\"sharing-entry__avatar\"\n\t\t\t:is-no-user=\"share.type !== SHARE_TYPES.SHARE_TYPE_USER\"\n\t\t\t:user=\"share.shareWith\"\n\t\t\t:display-name=\"share.shareWithDisplayName\"\n\t\t\t:menu-position=\"'left'\"\n\t\t\t:url=\"share.shareWithAvatar\" />\n\n\t\t<div class=\"sharing-entry__summary\">\n\t\t\t<component :is=\"share.shareWithLink ? 'a' : 'div'\"\n\t\t\t\t:title=\"tooltip\"\n\t\t\t\t:aria-label=\"tooltip\"\n\t\t\t\t:href=\"share.shareWithLink\"\n\t\t\t\tclass=\"sharing-entry__summary__desc\">\n\t\t\t\t<span>{{ title }}\n\t\t\t\t\t<span v-if=\"!isUnique\" class=\"sharing-entry__summary__desc-unique\"> ({{\n\t\t\t\t\t\tshare.shareWithDisplayNameUnique }})</span>\n\t\t\t\t\t<small v-if=\"hasStatus && share.status.message\">({{ share.status.message }})</small>\n\t\t\t\t</span>\n\t\t\t</component>\n\t\t\t<SharingEntryQuickShareSelect :share=\"share\"\n\t\t\t\t:file-info=\"fileInfo\"\n\t\t\t\t@open-sharing-details=\"openShareDetailsForCustomSettings(share)\" />\n\t\t</div>\n\t\t<NcButton class=\"sharing-entry__action\"\n\t\t\tdata-cy-files-sharing-share-actions\n\t\t\t:aria-label=\"t('files_sharing', 'Open Sharing Details')\"\n\t\t\ttype=\"tertiary\"\n\t\t\t@click=\"openSharingDetails(share)\">\n\t\t\t<template #icon>\n\t\t\t\t<DotsHorizontalIcon :size=\"20\" />\n\t\t\t</template>\n\t\t</NcButton>\n\t</li>\n</template>\n\n<script>\nimport NcButton from '@nextcloud/vue/dist/Components/NcButton.js'\nimport NcSelect from '@nextcloud/vue/dist/Components/NcSelect.js'\nimport NcAvatar from '@nextcloud/vue/dist/Components/NcAvatar.js'\nimport DotsHorizontalIcon from 'vue-material-design-icons/DotsHorizontal.vue'\n\nimport SharingEntryQuickShareSelect from './SharingEntryQuickShareSelect.vue'\n\nimport SharesMixin from '../mixins/SharesMixin.js'\nimport ShareDetails from '../mixins/ShareDetails.js'\n\nexport default {\n\tname: 'SharingEntry',\n\n\tcomponents: {\n\t\tNcButton,\n\t\tNcAvatar,\n\t\tDotsHorizontalIcon,\n\t\tNcSelect,\n\t\tSharingEntryQuickShareSelect,\n\t},\n\n\tmixins: [SharesMixin, ShareDetails],\n\n\tcomputed: {\n\t\ttitle() {\n\t\t\tlet title = this.share.shareWithDisplayName\n\t\t\tif (this.share.type === this.SHARE_TYPES.SHARE_TYPE_GROUP) {\n\t\t\t\ttitle += ` (${t('files_sharing', 'group')})`\n\t\t\t} else if (this.share.type === this.SHARE_TYPES.SHARE_TYPE_ROOM) {\n\t\t\t\ttitle += ` (${t('files_sharing', 'conversation')})`\n\t\t\t} else if (this.share.type === this.SHARE_TYPES.SHARE_TYPE_REMOTE) {\n\t\t\t\ttitle += ` (${t('files_sharing', 'remote')})`\n\t\t\t} else if (this.share.type === this.SHARE_TYPES.SHARE_TYPE_REMOTE_GROUP) {\n\t\t\t\ttitle += ` (${t('files_sharing', 'remote group')})`\n\t\t\t} else if (this.share.type === this.SHARE_TYPES.SHARE_TYPE_GUEST) {\n\t\t\t\ttitle += ` (${t('files_sharing', 'guest')})`\n\t\t\t}\n\t\t\treturn title\n\t\t},\n\t\ttooltip() {\n\t\t\tif (this.share.owner !== this.share.uidFileOwner) {\n\t\t\t\tconst data = {\n\t\t\t\t\t// todo: strong or italic?\n\t\t\t\t\t// but the t function escape any html from the data :/\n\t\t\t\t\tuser: this.share.shareWithDisplayName,\n\t\t\t\t\towner: this.share.ownerDisplayName,\n\t\t\t\t}\n\t\t\t\tif (this.share.type === this.SHARE_TYPES.SHARE_TYPE_GROUP) {\n\t\t\t\t\treturn t('files_sharing', 'Shared with the group {user} by {owner}', data)\n\t\t\t\t} else if (this.share.type === this.SHARE_TYPES.SHARE_TYPE_ROOM) {\n\t\t\t\t\treturn t('files_sharing', 'Shared with the conversation {user} by {owner}', data)\n\t\t\t\t}\n\n\t\t\t\treturn t('files_sharing', 'Shared with {user} by {owner}', data)\n\t\t\t}\n\t\t\treturn null\n\t\t},\n\n\t\t/**\n\t\t * @return {boolean}\n\t\t */\n\t\thasStatus() {\n\t\t\tif (this.share.type !== this.SHARE_TYPES.SHARE_TYPE_USER) {\n\t\t\t\treturn false\n\t\t\t}\n\n\t\t\treturn (typeof this.share.status === 'object' && !Array.isArray(this.share.status))\n\t\t},\n\t},\n\n\tmethods: {\n\t\t/**\n\t\t * Save potential changed data on menu close\n\t\t */\n\t\tonMenuClose() {\n\t\t\tthis.onNoteSubmit()\n\t\t},\n\t},\n}\n</script>\n\n<style lang=\"scss\" scoped>\n.sharing-entry {\n\tdisplay: flex;\n\talign-items: center;\n\theight: 44px;\n\t&__summary {\n\t\tpadding: 8px;\n\t\tpadding-left: 10px;\n\t\tdisplay: flex;\n\t\tflex-direction: column;\n\t\tjustify-content: center;\n\t\talign-items: flex-start;\n\t\tflex: 1 0;\n\t\tmin-width: 0;\n\n\t\t&__desc {\n\t\t\tdisplay: inline-block;\n\t\t\tpadding-bottom: 0;\n\t\t\tline-height: 1.2em;\n\t\t\twhite-space: nowrap;\n\t\t\toverflow: hidden;\n\t\t\ttext-overflow: ellipsis;\n\n\t\t\tp,\n\t\t\tsmall {\n\t\t\t\tcolor: var(--color-text-maxcontrast);\n\t\t\t}\n\n\t\t\t&-unique {\n\t\t\t\tcolor: var(--color-text-maxcontrast);\n\t\t\t}\n\t\t}\n\t}\n\n}\n</style>\n","\n      import API from \"!../../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n      import domAPI from \"!../../../../node_modules/style-loader/dist/runtime/styleDomAPI.js\";\n      import insertFn from \"!../../../../node_modules/style-loader/dist/runtime/insertBySelector.js\";\n      import setAttributes from \"!../../../../node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js\";\n      import insertStyleElement from \"!../../../../node_modules/style-loader/dist/runtime/insertStyleElement.js\";\n      import styleTagTransformFn from \"!../../../../node_modules/style-loader/dist/runtime/styleTagTransform.js\";\n      import content, * as namedExport from \"!!../../../../node_modules/css-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/sass-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SharingEntry.vue?vue&type=style&index=0&id=756f491a&prod&lang=scss&scoped=true\";\n      \n      \n\nvar options = {};\n\noptions.styleTagTransform = styleTagTransformFn;\noptions.setAttributes = setAttributes;\n\n      options.insert = insertFn.bind(null, \"head\");\n    \noptions.domAPI = domAPI;\noptions.insertStyleElement = insertStyleElement;\n\nvar update = API(content, options);\n\n\n\nexport * from \"!!../../../../node_modules/css-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/sass-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SharingEntry.vue?vue&type=style&index=0&id=756f491a&prod&lang=scss&scoped=true\";\n       export default content && content.locals ? content.locals : undefined;\n","import { render, staticRenderFns } from \"./SharingEntry.vue?vue&type=template&id=756f491a&scoped=true\"\nimport script from \"./SharingEntry.vue?vue&type=script&lang=js\"\nexport * from \"./SharingEntry.vue?vue&type=script&lang=js\"\nimport style0 from \"./SharingEntry.vue?vue&type=style&index=0&id=756f491a&prod&lang=scss&scoped=true\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n  script,\n  render,\n  staticRenderFns,\n  false,\n  null,\n  \"756f491a\",\n  null\n  \n)\n\nexport default component.exports","import mod from \"-!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SharingList.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SharingList.vue?vue&type=script&lang=js\"","<!--\n  - SPDX-FileCopyrightText: 2019 Nextcloud GmbH and Nextcloud contributors\n  - SPDX-License-Identifier: AGPL-3.0-or-later\n-->\n\n<template>\n\t<ul class=\"sharing-sharee-list\">\n\t\t<SharingEntry v-for=\"share in shares\"\n\t\t\t:key=\"share.id\"\n\t\t\t:file-info=\"fileInfo\"\n\t\t\t:share=\"share\"\n\t\t\t:is-unique=\"isUnique(share)\"\n\t\t\t@open-sharing-details=\"openSharingDetails(share)\" />\n\t</ul>\n</template>\n\n<script>\n// eslint-disable-next-line no-unused-vars\nimport SharingEntry from '../components/SharingEntry.vue'\nimport ShareTypes from '../mixins/ShareTypes.js'\nimport ShareDetails from '../mixins/ShareDetails.js'\n\nexport default {\n\tname: 'SharingList',\n\n\tcomponents: {\n\t\tSharingEntry,\n\t},\n\n\tmixins: [ShareTypes, ShareDetails],\n\n\tprops: {\n\t\tfileInfo: {\n\t\t\ttype: Object,\n\t\t\tdefault: () => { },\n\t\t\trequired: true,\n\t\t},\n\t\tshares: {\n\t\t\ttype: Array,\n\t\t\tdefault: () => [],\n\t\t\trequired: true,\n\t\t},\n\t},\n\tcomputed: {\n\t\thasShares() {\n\t\t\treturn this.shares.length === 0\n\t\t},\n\t\tisUnique() {\n\t\t\treturn (share) => {\n\t\t\t\treturn [...this.shares].filter((item) => {\n\t\t\t\t\treturn share.type === this.SHARE_TYPES.SHARE_TYPE_USER && share.shareWithDisplayName === item.shareWithDisplayName\n\t\t\t\t}).length <= 1\n\t\t\t}\n\t\t},\n\t},\n}\n</script>\n","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('li',{staticClass:\"sharing-entry\"},[_c('NcAvatar',{staticClass:\"sharing-entry__avatar\",attrs:{\"is-no-user\":_vm.share.type !== _vm.SHARE_TYPES.SHARE_TYPE_USER,\"user\":_vm.share.shareWith,\"display-name\":_vm.share.shareWithDisplayName,\"menu-position\":'left',\"url\":_vm.share.shareWithAvatar}}),_vm._v(\" \"),_c('div',{staticClass:\"sharing-entry__summary\"},[_c(_vm.share.shareWithLink ? 'a' : 'div',{tag:\"component\",staticClass:\"sharing-entry__summary__desc\",attrs:{\"title\":_vm.tooltip,\"aria-label\":_vm.tooltip,\"href\":_vm.share.shareWithLink}},[_c('span',[_vm._v(_vm._s(_vm.title)+\"\\n\\t\\t\\t\\t\"),(!_vm.isUnique)?_c('span',{staticClass:\"sharing-entry__summary__desc-unique\"},[_vm._v(\" (\"+_vm._s(_vm.share.shareWithDisplayNameUnique)+\")\")]):_vm._e(),_vm._v(\" \"),(_vm.hasStatus && _vm.share.status.message)?_c('small',[_vm._v(\"(\"+_vm._s(_vm.share.status.message)+\")\")]):_vm._e()])]),_vm._v(\" \"),_c('SharingEntryQuickShareSelect',{attrs:{\"share\":_vm.share,\"file-info\":_vm.fileInfo},on:{\"open-sharing-details\":function($event){return _vm.openShareDetailsForCustomSettings(_vm.share)}}})],1),_vm._v(\" \"),_c('NcButton',{staticClass:\"sharing-entry__action\",attrs:{\"data-cy-files-sharing-share-actions\":\"\",\"aria-label\":_vm.t('files_sharing', 'Open Sharing Details'),\"type\":\"tertiary\"},on:{\"click\":function($event){return _vm.openSharingDetails(_vm.share)}},scopedSlots:_vm._u([{key:\"icon\",fn:function(){return [_c('DotsHorizontalIcon',{attrs:{\"size\":20}})]},proxy:true}])})],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import { render, staticRenderFns } from \"./SharingList.vue?vue&type=template&id=6508270d\"\nimport script from \"./SharingList.vue?vue&type=script&lang=js\"\nexport * from \"./SharingList.vue?vue&type=script&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n  script,\n  render,\n  staticRenderFns,\n  false,\n  null,\n  null,\n  null\n  \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',{staticClass:\"sharingTabDetailsView\"},[_c('div',{staticClass:\"sharingTabDetailsView__header\"},[_c('span',[(_vm.isUserShare)?_c('NcAvatar',{staticClass:\"sharing-entry__avatar\",attrs:{\"is-no-user\":_vm.share.shareType !== _vm.SHARE_TYPES.SHARE_TYPE_USER,\"user\":_vm.share.shareWith,\"display-name\":_vm.share.shareWithDisplayName,\"menu-position\":'left',\"url\":_vm.share.shareWithAvatar}}):_vm._e(),_vm._v(\" \"),_c(_vm.getShareTypeIcon(_vm.share.type),{tag:\"component\",attrs:{\"size\":32}})],1),_vm._v(\" \"),_c('span',[_c('h1',[_vm._v(_vm._s(_vm.title))])])]),_vm._v(\" \"),_c('div',{staticClass:\"sharingTabDetailsView__wrapper\"},[_c('div',{ref:\"quickPermissions\",staticClass:\"sharingTabDetailsView__quick-permissions\"},[_c('div',[_c('NcCheckboxRadioSwitch',{attrs:{\"button-variant\":true,\"data-cy-files-sharing-share-permissions-bundle\":\"read-only\",\"checked\":_vm.sharingPermission,\"value\":_vm.bundledPermissions.READ_ONLY.toString(),\"name\":\"sharing_permission_radio\",\"type\":\"radio\",\"button-variant-grouped\":\"vertical\"},on:{\"update:checked\":[function($event){_vm.sharingPermission=$event},_vm.toggleCustomPermissions]},scopedSlots:_vm._u([{key:\"icon\",fn:function(){return [_c('ViewIcon',{attrs:{\"size\":20}})]},proxy:true}])},[_vm._v(\"\\n\\t\\t\\t\\t\\t\"+_vm._s(_vm.t('files_sharing', 'View only'))+\"\\n\\t\\t\\t\\t\\t\")]),_vm._v(\" \"),_c('NcCheckboxRadioSwitch',{attrs:{\"button-variant\":true,\"data-cy-files-sharing-share-permissions-bundle\":\"upload-edit\",\"checked\":_vm.sharingPermission,\"value\":_vm.bundledPermissions.ALL.toString(),\"name\":\"sharing_permission_radio\",\"type\":\"radio\",\"button-variant-grouped\":\"vertical\"},on:{\"update:checked\":[function($event){_vm.sharingPermission=$event},_vm.toggleCustomPermissions]},scopedSlots:_vm._u([{key:\"icon\",fn:function(){return [_c('EditIcon',{attrs:{\"size\":20}})]},proxy:true}])},[(_vm.allowsFileDrop)?[_vm._v(\"\\n\\t\\t\\t\\t\\t\\t\"+_vm._s(_vm.t('files_sharing', 'Allow upload and editing'))+\"\\n\\t\\t\\t\\t\\t\")]:[_vm._v(\"\\n\\t\\t\\t\\t\\t\\t\"+_vm._s(_vm.t('files_sharing', 'Allow editing'))+\"\\n\\t\\t\\t\\t\\t\")]],2),_vm._v(\" \"),(_vm.allowsFileDrop)?_c('NcCheckboxRadioSwitch',{attrs:{\"data-cy-files-sharing-share-permissions-bundle\":\"file-drop\",\"button-variant\":true,\"checked\":_vm.sharingPermission,\"value\":_vm.bundledPermissions.FILE_DROP.toString(),\"name\":\"sharing_permission_radio\",\"type\":\"radio\",\"button-variant-grouped\":\"vertical\"},on:{\"update:checked\":[function($event){_vm.sharingPermission=$event},_vm.toggleCustomPermissions]},scopedSlots:_vm._u([{key:\"icon\",fn:function(){return [_c('UploadIcon',{attrs:{\"size\":20}})]},proxy:true}],null,false,1083194048)},[_vm._v(\"\\n\\t\\t\\t\\t\\t\"+_vm._s(_vm.t('files_sharing', 'File drop'))+\"\\n\\t\\t\\t\\t\\t\"),_c('small',{staticClass:\"subline\"},[_vm._v(_vm._s(_vm.t('files_sharing', 'Upload only')))])]):_vm._e(),_vm._v(\" \"),_c('NcCheckboxRadioSwitch',{attrs:{\"button-variant\":true,\"data-cy-files-sharing-share-permissions-bundle\":\"custom\",\"checked\":_vm.sharingPermission,\"value\":'custom',\"name\":\"sharing_permission_radio\",\"type\":\"radio\",\"button-variant-grouped\":\"vertical\"},on:{\"update:checked\":[function($event){_vm.sharingPermission=$event},_vm.expandCustomPermissions]},scopedSlots:_vm._u([{key:\"icon\",fn:function(){return [_c('DotsHorizontalIcon',{attrs:{\"size\":20}})]},proxy:true}])},[_vm._v(\"\\n\\t\\t\\t\\t\\t\"+_vm._s(_vm.t('files_sharing', 'Custom permissions'))+\"\\n\\t\\t\\t\\t\\t\"),_c('small',{staticClass:\"subline\"},[_vm._v(_vm._s(_vm.customPermissionsList))])])],1)]),_vm._v(\" \"),_c('div',{staticClass:\"sharingTabDetailsView__advanced-control\"},[_c('NcButton',{attrs:{\"id\":\"advancedSectionAccordionAdvancedControl\",\"type\":\"tertiary\",\"alignment\":\"end-reverse\",\"aria-controls\":\"advancedSectionAccordionAdvanced\",\"aria-expanded\":_vm.advancedControlExpandedValue},on:{\"click\":function($event){_vm.advancedSectionAccordionExpanded = !_vm.advancedSectionAccordionExpanded}},scopedSlots:_vm._u([{key:\"icon\",fn:function(){return [(!_vm.advancedSectionAccordionExpanded)?_c('MenuDownIcon'):_c('MenuUpIcon')]},proxy:true}])},[_vm._v(\"\\n\\t\\t\\t\\t\"+_vm._s(_vm.t('files_sharing', 'Advanced settings'))+\"\\n\\t\\t\\t\\t\")])],1),_vm._v(\" \"),(_vm.advancedSectionAccordionExpanded)?_c('div',{staticClass:\"sharingTabDetailsView__advanced\",attrs:{\"id\":\"advancedSectionAccordionAdvanced\",\"aria-labelledby\":\"advancedSectionAccordionAdvancedControl\",\"role\":\"region\"}},[_c('section',[(_vm.isPublicShare)?_c('NcInputField',{attrs:{\"autocomplete\":\"off\",\"label\":_vm.t('files_sharing', 'Share label'),\"value\":_vm.share.label},on:{\"update:value\":function($event){return _vm.$set(_vm.share, \"label\", $event)}}}):_vm._e(),_vm._v(\" \"),(_vm.isPublicShare)?[_c('NcCheckboxRadioSwitch',{attrs:{\"checked\":_vm.isPasswordProtected,\"disabled\":_vm.isPasswordEnforced},on:{\"update:checked\":function($event){_vm.isPasswordProtected=$event}}},[_vm._v(\"\\n\\t\\t\\t\\t\\t\\t\"+_vm._s(_vm.t('files_sharing', 'Set password'))+\"\\n\\t\\t\\t\\t\\t\")]),_vm._v(\" \"),(_vm.isPasswordProtected)?_c('NcPasswordField',{attrs:{\"autocomplete\":\"new-password\",\"value\":_vm.hasUnsavedPassword ? _vm.share.newPassword : '',\"error\":_vm.passwordError,\"helper-text\":_vm.errorPasswordLabel,\"required\":_vm.isPasswordEnforced,\"label\":_vm.t('files_sharing', 'Password')},on:{\"update:value\":_vm.onPasswordChange}}):_vm._e(),_vm._v(\" \"),(_vm.isEmailShareType && _vm.passwordExpirationTime)?_c('span',{attrs:{\"icon\":\"icon-info\"}},[_vm._v(\"\\n\\t\\t\\t\\t\\t\\t\"+_vm._s(_vm.t('files_sharing', 'Password expires {passwordExpirationTime}', { passwordExpirationTime: _vm.passwordExpirationTime }))+\"\\n\\t\\t\\t\\t\\t\")]):(_vm.isEmailShareType && _vm.passwordExpirationTime !== null)?_c('span',{attrs:{\"icon\":\"icon-error\"}},[_vm._v(\"\\n\\t\\t\\t\\t\\t\\t\"+_vm._s(_vm.t('files_sharing', 'Password expired'))+\"\\n\\t\\t\\t\\t\\t\")]):_vm._e()]:_vm._e(),_vm._v(\" \"),(_vm.canTogglePasswordProtectedByTalkAvailable)?_c('NcCheckboxRadioSwitch',{attrs:{\"checked\":_vm.isPasswordProtectedByTalk},on:{\"update:checked\":[function($event){_vm.isPasswordProtectedByTalk=$event},_vm.onPasswordProtectedByTalkChange]}},[_vm._v(\"\\n\\t\\t\\t\\t\\t\"+_vm._s(_vm.t('files_sharing', 'Video verification'))+\"\\n\\t\\t\\t\\t\")]):_vm._e(),_vm._v(\" \"),_c('NcCheckboxRadioSwitch',{attrs:{\"checked\":_vm.hasExpirationDate,\"disabled\":_vm.isExpiryDateEnforced},on:{\"update:checked\":function($event){_vm.hasExpirationDate=$event}}},[_vm._v(\"\\n\\t\\t\\t\\t\\t\"+_vm._s(_vm.isExpiryDateEnforced\n\t\t\t\t\t\t? _vm.t('files_sharing', 'Expiration date (enforced)')\n\t\t\t\t\t\t: _vm.t('files_sharing', 'Set expiration date'))+\"\\n\\t\\t\\t\\t\")]),_vm._v(\" \"),(_vm.hasExpirationDate)?_c('NcDateTimePickerNative',{attrs:{\"id\":\"share-date-picker\",\"value\":new Date(_vm.share.expireDate ?? _vm.dateTomorrow),\"min\":_vm.dateTomorrow,\"max\":_vm.maxExpirationDateEnforced,\"hide-label\":true,\"placeholder\":_vm.t('files_sharing', 'Expiration date'),\"type\":\"date\"},on:{\"input\":_vm.onExpirationChange}}):_vm._e(),_vm._v(\" \"),(_vm.isPublicShare)?_c('NcCheckboxRadioSwitch',{attrs:{\"disabled\":_vm.canChangeHideDownload,\"checked\":_vm.share.hideDownload},on:{\"update:checked\":[function($event){return _vm.$set(_vm.share, \"hideDownload\", $event)},function($event){return _vm.queueUpdate('hideDownload')}]}},[_vm._v(\"\\n\\t\\t\\t\\t\\t\"+_vm._s(_vm.t('files_sharing', 'Hide download'))+\"\\n\\t\\t\\t\\t\")]):_vm._e(),_vm._v(\" \"),(!_vm.isPublicShare)?_c('NcCheckboxRadioSwitch',{attrs:{\"disabled\":!_vm.canSetDownload,\"checked\":_vm.canDownload,\"data-cy-files-sharing-share-permissions-checkbox\":\"download\"},on:{\"update:checked\":function($event){_vm.canDownload=$event}}},[_vm._v(\"\\n\\t\\t\\t\\t\\t\"+_vm._s(_vm.t('files_sharing', 'Allow download'))+\"\\n\\t\\t\\t\\t\")]):_vm._e(),_vm._v(\" \"),_c('NcCheckboxRadioSwitch',{attrs:{\"checked\":_vm.writeNoteToRecipientIsChecked},on:{\"update:checked\":function($event){_vm.writeNoteToRecipientIsChecked=$event}}},[_vm._v(\"\\n\\t\\t\\t\\t\\t\"+_vm._s(_vm.t('files_sharing', 'Note to recipient'))+\"\\n\\t\\t\\t\\t\")]),_vm._v(\" \"),(_vm.writeNoteToRecipientIsChecked)?[_c('label',{attrs:{\"for\":\"share-note-textarea\"}},[_vm._v(\"\\n\\t\\t\\t\\t\\t\\t\"+_vm._s(_vm.t('files_sharing', 'Enter a note for the share recipient'))+\"\\n\\t\\t\\t\\t\\t\")]),_vm._v(\" \"),_c('textarea',{attrs:{\"id\":\"share-note-textarea\"},domProps:{\"value\":_vm.share.note},on:{\"input\":function($event){_vm.share.note = $event.target.value}}})]:_vm._e(),_vm._v(\" \"),_vm._l((_vm.externalLinkActions),function(action){return _c('ExternalShareAction',{key:action.id,ref:\"externalLinkActions\",refInFor:true,attrs:{\"id\":action.id,\"action\":action,\"file-info\":_vm.fileInfo,\"share\":_vm.share}})}),_vm._v(\" \"),_c('NcCheckboxRadioSwitch',{attrs:{\"checked\":_vm.setCustomPermissions},on:{\"update:checked\":function($event){_vm.setCustomPermissions=$event}}},[_vm._v(\"\\n\\t\\t\\t\\t\\t\"+_vm._s(_vm.t('files_sharing', 'Custom permissions'))+\"\\n\\t\\t\\t\\t\")]),_vm._v(\" \"),(_vm.setCustomPermissions)?_c('section',{staticClass:\"custom-permissions-group\"},[_c('NcCheckboxRadioSwitch',{attrs:{\"disabled\":!_vm.allowsFileDrop && _vm.share.type === _vm.SHARE_TYPES.SHARE_TYPE_LINK,\"checked\":_vm.hasRead,\"data-cy-files-sharing-share-permissions-checkbox\":\"read\"},on:{\"update:checked\":function($event){_vm.hasRead=$event}}},[_vm._v(\"\\n\\t\\t\\t\\t\\t\\t\"+_vm._s(_vm.t('files_sharing', 'Read'))+\"\\n\\t\\t\\t\\t\\t\")]),_vm._v(\" \"),(_vm.isFolder)?_c('NcCheckboxRadioSwitch',{attrs:{\"disabled\":!_vm.canSetCreate,\"checked\":_vm.canCreate,\"data-cy-files-sharing-share-permissions-checkbox\":\"create\"},on:{\"update:checked\":function($event){_vm.canCreate=$event}}},[_vm._v(\"\\n\\t\\t\\t\\t\\t\\t\"+_vm._s(_vm.t('files_sharing', 'Create'))+\"\\n\\t\\t\\t\\t\\t\")]):_vm._e(),_vm._v(\" \"),_c('NcCheckboxRadioSwitch',{attrs:{\"disabled\":!_vm.canSetEdit,\"checked\":_vm.canEdit,\"data-cy-files-sharing-share-permissions-checkbox\":\"update\"},on:{\"update:checked\":function($event){_vm.canEdit=$event}}},[_vm._v(\"\\n\\t\\t\\t\\t\\t\\t\"+_vm._s(_vm.t('files_sharing', 'Edit'))+\"\\n\\t\\t\\t\\t\\t\")]),_vm._v(\" \"),(_vm.config.isResharingAllowed && _vm.share.type !== _vm.SHARE_TYPES.SHARE_TYPE_LINK)?_c('NcCheckboxRadioSwitch',{attrs:{\"disabled\":!_vm.canSetReshare,\"checked\":_vm.canReshare,\"data-cy-files-sharing-share-permissions-checkbox\":\"share\"},on:{\"update:checked\":function($event){_vm.canReshare=$event}}},[_vm._v(\"\\n\\t\\t\\t\\t\\t\\t\"+_vm._s(_vm.t('files_sharing', 'Share'))+\"\\n\\t\\t\\t\\t\\t\")]):_vm._e(),_vm._v(\" \"),_c('NcCheckboxRadioSwitch',{attrs:{\"disabled\":!_vm.canSetDelete,\"checked\":_vm.canDelete,\"data-cy-files-sharing-share-permissions-checkbox\":\"delete\"},on:{\"update:checked\":function($event){_vm.canDelete=$event}}},[_vm._v(\"\\n\\t\\t\\t\\t\\t\\t\"+_vm._s(_vm.t('files_sharing', 'Delete'))+\"\\n\\t\\t\\t\\t\\t\")])],1):_vm._e(),_vm._v(\" \"),_c('div',{staticClass:\"sharingTabDetailsView__delete\"},[(!_vm.isNewShare)?_c('NcButton',{attrs:{\"aria-label\":_vm.t('files_sharing', 'Delete share'),\"disabled\":false,\"readonly\":false,\"type\":\"tertiary\"},on:{\"click\":function($event){$event.preventDefault();return _vm.removeShare.apply(null, arguments)}},scopedSlots:_vm._u([{key:\"icon\",fn:function(){return [_c('CloseIcon',{attrs:{\"size\":16}})]},proxy:true}],null,false,2746485232)},[_vm._v(\"\\n\\t\\t\\t\\t\\t\\t\"+_vm._s(_vm.t('files_sharing', 'Delete share'))+\"\\n\\t\\t\\t\\t\\t\")]):_vm._e()],1)],2)]):_vm._e()]),_vm._v(\" \"),_c('div',{staticClass:\"sharingTabDetailsView__footer\"},[_c('div',{staticClass:\"button-group\"},[_c('NcButton',{attrs:{\"data-cy-files-sharing-share-editor-action\":\"cancel\"},on:{\"click\":function($event){return _vm.$emit('close-sharing-details')}}},[_vm._v(\"\\n\\t\\t\\t\\t\"+_vm._s(_vm.t('files_sharing', 'Cancel'))+\"\\n\\t\\t\\t\")]),_vm._v(\" \"),_c('NcButton',{attrs:{\"type\":\"primary\",\"data-cy-files-sharing-share-editor-action\":\"save\"},on:{\"click\":_vm.saveShare},scopedSlots:_vm._u([(_vm.creating)?{key:\"icon\",fn:function(){return [_c('NcLoadingIcon')]},proxy:true}:null],null,true)},[_vm._v(\"\\n\\t\\t\\t\\t\"+_vm._s(_vm.shareButtonText)+\"\\n\\t\\t\\t\\t\")])],1)])])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\n  <span v-bind=\"$attrs\"\n        :aria-hidden=\"title ? null : true\"\n        :aria-label=\"title\"\n        class=\"material-design-icon circle-outline-icon\"\n        role=\"img\"\n        @click=\"$emit('click', $event)\">\n    <svg :fill=\"fillColor\"\n         class=\"material-design-icon__svg\"\n         :width=\"size\"\n         :height=\"size\"\n         viewBox=\"0 0 24 24\">\n      <path d=\"M12,20A8,8 0 0,1 4,12A8,8 0 0,1 12,4A8,8 0 0,1 20,12A8,8 0 0,1 12,20M12,2A10,10 0 0,0 2,12A10,10 0 0,0 12,22A10,10 0 0,0 22,12A10,10 0 0,0 12,2Z\">\n        <title v-if=\"title\">{{ title }}</title>\n      </path>\n    </svg>\n  </span>\n</template>\n\n<script>\nexport default {\n  name: \"CircleOutlineIcon\",\n  emits: ['click'],\n  props: {\n    title: {\n      type: String,\n    },\n    fillColor: {\n      type: String,\n      default: \"currentColor\"\n    },\n    size: {\n      type: Number,\n      default: 24\n    }\n  }\n}\n</script>","import mod from \"-!../vue-loader/lib/index.js??vue-loader-options!./CircleOutline.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../vue-loader/lib/index.js??vue-loader-options!./CircleOutline.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./CircleOutline.vue?vue&type=template&id=33494a74\"\nimport script from \"./CircleOutline.vue?vue&type=script&lang=js\"\nexport * from \"./CircleOutline.vue?vue&type=script&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n  script,\n  render,\n  staticRenderFns,\n  false,\n  null,\n  null,\n  null\n  \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('span',_vm._b({staticClass:\"material-design-icon circle-outline-icon\",attrs:{\"aria-hidden\":_vm.title ? null : true,\"aria-label\":_vm.title,\"role\":\"img\"},on:{\"click\":function($event){return _vm.$emit('click', $event)}}},'span',_vm.$attrs,false),[_c('svg',{staticClass:\"material-design-icon__svg\",attrs:{\"fill\":_vm.fillColor,\"width\":_vm.size,\"height\":_vm.size,\"viewBox\":\"0 0 24 24\"}},[_c('path',{attrs:{\"d\":\"M12,20A8,8 0 0,1 4,12A8,8 0 0,1 12,4A8,8 0 0,1 20,12A8,8 0 0,1 12,20M12,2A10,10 0 0,0 2,12A10,10 0 0,0 12,22A10,10 0 0,0 22,12A10,10 0 0,0 12,2Z\"}},[(_vm.title)?_c('title',[_vm._v(_vm._s(_vm.title))]):_vm._e()])])])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import mod from \"-!../vue-loader/lib/index.js??vue-loader-options!./Email.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../vue-loader/lib/index.js??vue-loader-options!./Email.vue?vue&type=script&lang=js\"","<template>\n  <span v-bind=\"$attrs\"\n        :aria-hidden=\"title ? null : true\"\n        :aria-label=\"title\"\n        class=\"material-design-icon email-icon\"\n        role=\"img\"\n        @click=\"$emit('click', $event)\">\n    <svg :fill=\"fillColor\"\n         class=\"material-design-icon__svg\"\n         :width=\"size\"\n         :height=\"size\"\n         viewBox=\"0 0 24 24\">\n      <path d=\"M20,8L12,13L4,8V6L12,11L20,6M20,4H4C2.89,4 2,4.89 2,6V18A2,2 0 0,0 4,20H20A2,2 0 0,0 22,18V6C22,4.89 21.1,4 20,4Z\">\n        <title v-if=\"title\">{{ title }}</title>\n      </path>\n    </svg>\n  </span>\n</template>\n\n<script>\nexport default {\n  name: \"EmailIcon\",\n  emits: ['click'],\n  props: {\n    title: {\n      type: String,\n    },\n    fillColor: {\n      type: String,\n      default: \"currentColor\"\n    },\n    size: {\n      type: Number,\n      default: 24\n    }\n  }\n}\n</script>","import { render, staticRenderFns } from \"./Email.vue?vue&type=template&id=ec4501a4\"\nimport script from \"./Email.vue?vue&type=script&lang=js\"\nexport * from \"./Email.vue?vue&type=script&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n  script,\n  render,\n  staticRenderFns,\n  false,\n  null,\n  null,\n  null\n  \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('span',_vm._b({staticClass:\"material-design-icon email-icon\",attrs:{\"aria-hidden\":_vm.title ? null : true,\"aria-label\":_vm.title,\"role\":\"img\"},on:{\"click\":function($event){return _vm.$emit('click', $event)}}},'span',_vm.$attrs,false),[_c('svg',{staticClass:\"material-design-icon__svg\",attrs:{\"fill\":_vm.fillColor,\"width\":_vm.size,\"height\":_vm.size,\"viewBox\":\"0 0 24 24\"}},[_c('path',{attrs:{\"d\":\"M20,8L12,13L4,8V6L12,11L20,6M20,4H4C2.89,4 2,4.89 2,6V18A2,2 0 0,0 4,20H20A2,2 0 0,0 22,18V6C22,4.89 21.1,4 20,4Z\"}},[(_vm.title)?_c('title',[_vm._v(_vm._s(_vm.title))]):_vm._e()])])])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\n  <span v-bind=\"$attrs\"\n        :aria-hidden=\"title ? null : true\"\n        :aria-label=\"title\"\n        class=\"material-design-icon share-circle-icon\"\n        role=\"img\"\n        @click=\"$emit('click', $event)\">\n    <svg :fill=\"fillColor\"\n         class=\"material-design-icon__svg\"\n         :width=\"size\"\n         :height=\"size\"\n         viewBox=\"0 0 24 24\">\n      <path d=\"M12 2C6.5 2 2 6.5 2 12S6.5 22 12 22 22 17.5 22 12 17.5 2 12 2M14 16V13C10.39 13 7.81 14.43 6 17C6.72 13.33 8.94 9.73 14 9V6L19 11L14 16Z\">\n        <title v-if=\"title\">{{ title }}</title>\n      </path>\n    </svg>\n  </span>\n</template>\n\n<script>\nexport default {\n  name: \"ShareCircleIcon\",\n  emits: ['click'],\n  props: {\n    title: {\n      type: String,\n    },\n    fillColor: {\n      type: String,\n      default: \"currentColor\"\n    },\n    size: {\n      type: Number,\n      default: 24\n    }\n  }\n}\n</script>","import mod from \"-!../vue-loader/lib/index.js??vue-loader-options!./ShareCircle.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../vue-loader/lib/index.js??vue-loader-options!./ShareCircle.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./ShareCircle.vue?vue&type=template&id=c22eb9fe\"\nimport script from \"./ShareCircle.vue?vue&type=script&lang=js\"\nexport * from \"./ShareCircle.vue?vue&type=script&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n  script,\n  render,\n  staticRenderFns,\n  false,\n  null,\n  null,\n  null\n  \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('span',_vm._b({staticClass:\"material-design-icon share-circle-icon\",attrs:{\"aria-hidden\":_vm.title ? null : true,\"aria-label\":_vm.title,\"role\":\"img\"},on:{\"click\":function($event){return _vm.$emit('click', $event)}}},'span',_vm.$attrs,false),[_c('svg',{staticClass:\"material-design-icon__svg\",attrs:{\"fill\":_vm.fillColor,\"width\":_vm.size,\"height\":_vm.size,\"viewBox\":\"0 0 24 24\"}},[_c('path',{attrs:{\"d\":\"M12 2C6.5 2 2 6.5 2 12S6.5 22 12 22 22 17.5 22 12 17.5 2 12 2M14 16V13C10.39 13 7.81 14.43 6 17C6.72 13.33 8.94 9.73 14 9V6L19 11L14 16Z\"}},[(_vm.title)?_c('title',[_vm._v(_vm._s(_vm.title))]):_vm._e()])])])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import mod from \"-!../vue-loader/lib/index.js??vue-loader-options!./AccountCircleOutline.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../vue-loader/lib/index.js??vue-loader-options!./AccountCircleOutline.vue?vue&type=script&lang=js\"","<template>\n  <span v-bind=\"$attrs\"\n        :aria-hidden=\"title ? null : true\"\n        :aria-label=\"title\"\n        class=\"material-design-icon account-circle-outline-icon\"\n        role=\"img\"\n        @click=\"$emit('click', $event)\">\n    <svg :fill=\"fillColor\"\n         class=\"material-design-icon__svg\"\n         :width=\"size\"\n         :height=\"size\"\n         viewBox=\"0 0 24 24\">\n      <path d=\"M12,2A10,10 0 0,0 2,12A10,10 0 0,0 12,22A10,10 0 0,0 22,12A10,10 0 0,0 12,2M7.07,18.28C7.5,17.38 10.12,16.5 12,16.5C13.88,16.5 16.5,17.38 16.93,18.28C15.57,19.36 13.86,20 12,20C10.14,20 8.43,19.36 7.07,18.28M18.36,16.83C16.93,15.09 13.46,14.5 12,14.5C10.54,14.5 7.07,15.09 5.64,16.83C4.62,15.5 4,13.82 4,12C4,7.59 7.59,4 12,4C16.41,4 20,7.59 20,12C20,13.82 19.38,15.5 18.36,16.83M12,6C10.06,6 8.5,7.56 8.5,9.5C8.5,11.44 10.06,13 12,13C13.94,13 15.5,11.44 15.5,9.5C15.5,7.56 13.94,6 12,6M12,11A1.5,1.5 0 0,1 10.5,9.5A1.5,1.5 0 0,1 12,8A1.5,1.5 0 0,1 13.5,9.5A1.5,1.5 0 0,1 12,11Z\">\n        <title v-if=\"title\">{{ title }}</title>\n      </path>\n    </svg>\n  </span>\n</template>\n\n<script>\nexport default {\n  name: \"AccountCircleOutlineIcon\",\n  emits: ['click'],\n  props: {\n    title: {\n      type: String,\n    },\n    fillColor: {\n      type: String,\n      default: \"currentColor\"\n    },\n    size: {\n      type: Number,\n      default: 24\n    }\n  }\n}\n</script>","import { render, staticRenderFns } from \"./AccountCircleOutline.vue?vue&type=template&id=59b2bccc\"\nimport script from \"./AccountCircleOutline.vue?vue&type=script&lang=js\"\nexport * from \"./AccountCircleOutline.vue?vue&type=script&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n  script,\n  render,\n  staticRenderFns,\n  false,\n  null,\n  null,\n  null\n  \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('span',_vm._b({staticClass:\"material-design-icon account-circle-outline-icon\",attrs:{\"aria-hidden\":_vm.title ? null : true,\"aria-label\":_vm.title,\"role\":\"img\"},on:{\"click\":function($event){return _vm.$emit('click', $event)}}},'span',_vm.$attrs,false),[_c('svg',{staticClass:\"material-design-icon__svg\",attrs:{\"fill\":_vm.fillColor,\"width\":_vm.size,\"height\":_vm.size,\"viewBox\":\"0 0 24 24\"}},[_c('path',{attrs:{\"d\":\"M12,2A10,10 0 0,0 2,12A10,10 0 0,0 12,22A10,10 0 0,0 22,12A10,10 0 0,0 12,2M7.07,18.28C7.5,17.38 10.12,16.5 12,16.5C13.88,16.5 16.5,17.38 16.93,18.28C15.57,19.36 13.86,20 12,20C10.14,20 8.43,19.36 7.07,18.28M18.36,16.83C16.93,15.09 13.46,14.5 12,14.5C10.54,14.5 7.07,15.09 5.64,16.83C4.62,15.5 4,13.82 4,12C4,7.59 7.59,4 12,4C16.41,4 20,7.59 20,12C20,13.82 19.38,15.5 18.36,16.83M12,6C10.06,6 8.5,7.56 8.5,9.5C8.5,11.44 10.06,13 12,13C13.94,13 15.5,11.44 15.5,9.5C15.5,7.56 13.94,6 12,6M12,11A1.5,1.5 0 0,1 10.5,9.5A1.5,1.5 0 0,1 12,8A1.5,1.5 0 0,1 13.5,9.5A1.5,1.5 0 0,1 12,11Z\"}},[(_vm.title)?_c('title',[_vm._v(_vm._s(_vm.title))]):_vm._e()])])])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import mod from \"-!../vue-loader/lib/index.js??vue-loader-options!./Eye.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../vue-loader/lib/index.js??vue-loader-options!./Eye.vue?vue&type=script&lang=js\"","<template>\n  <span v-bind=\"$attrs\"\n        :aria-hidden=\"title ? null : true\"\n        :aria-label=\"title\"\n        class=\"material-design-icon eye-icon\"\n        role=\"img\"\n        @click=\"$emit('click', $event)\">\n    <svg :fill=\"fillColor\"\n         class=\"material-design-icon__svg\"\n         :width=\"size\"\n         :height=\"size\"\n         viewBox=\"0 0 24 24\">\n      <path d=\"M12,9A3,3 0 0,0 9,12A3,3 0 0,0 12,15A3,3 0 0,0 15,12A3,3 0 0,0 12,9M12,17A5,5 0 0,1 7,12A5,5 0 0,1 12,7A5,5 0 0,1 17,12A5,5 0 0,1 12,17M12,4.5C7,4.5 2.73,7.61 1,12C2.73,16.39 7,19.5 12,19.5C17,19.5 21.27,16.39 23,12C21.27,7.61 17,4.5 12,4.5Z\">\n        <title v-if=\"title\">{{ title }}</title>\n      </path>\n    </svg>\n  </span>\n</template>\n\n<script>\nexport default {\n  name: \"EyeIcon\",\n  emits: ['click'],\n  props: {\n    title: {\n      type: String,\n    },\n    fillColor: {\n      type: String,\n      default: \"currentColor\"\n    },\n    size: {\n      type: Number,\n      default: 24\n    }\n  }\n}\n</script>","import { render, staticRenderFns } from \"./Eye.vue?vue&type=template&id=363a0196\"\nimport script from \"./Eye.vue?vue&type=script&lang=js\"\nexport * from \"./Eye.vue?vue&type=script&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n  script,\n  render,\n  staticRenderFns,\n  false,\n  null,\n  null,\n  null\n  \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('span',_vm._b({staticClass:\"material-design-icon eye-icon\",attrs:{\"aria-hidden\":_vm.title ? null : true,\"aria-label\":_vm.title,\"role\":\"img\"},on:{\"click\":function($event){return _vm.$emit('click', $event)}}},'span',_vm.$attrs,false),[_c('svg',{staticClass:\"material-design-icon__svg\",attrs:{\"fill\":_vm.fillColor,\"width\":_vm.size,\"height\":_vm.size,\"viewBox\":\"0 0 24 24\"}},[_c('path',{attrs:{\"d\":\"M12,9A3,3 0 0,0 9,12A3,3 0 0,0 12,15A3,3 0 0,0 15,12A3,3 0 0,0 12,9M12,17A5,5 0 0,1 7,12A5,5 0 0,1 12,7A5,5 0 0,1 17,12A5,5 0 0,1 12,17M12,4.5C7,4.5 2.73,7.61 1,12C2.73,16.39 7,19.5 12,19.5C17,19.5 21.27,16.39 23,12C21.27,7.61 17,4.5 12,4.5Z\"}},[(_vm.title)?_c('title',[_vm._v(_vm._s(_vm.title))]):_vm._e()])])])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<!--\n  - SPDX-FileCopyrightText: 2023 Nextcloud GmbH and Nextcloud contributors\n  - SPDX-License-Identifier: AGPL-3.0-or-later\n-->\n<template>\n\t<div class=\"sharingTabDetailsView\">\n\t\t<div class=\"sharingTabDetailsView__header\">\n\t\t\t<span>\n\t\t\t\t<NcAvatar v-if=\"isUserShare\"\n\t\t\t\t\tclass=\"sharing-entry__avatar\"\n\t\t\t\t\t:is-no-user=\"share.shareType !== SHARE_TYPES.SHARE_TYPE_USER\"\n\t\t\t\t\t:user=\"share.shareWith\"\n\t\t\t\t\t:display-name=\"share.shareWithDisplayName\"\n\t\t\t\t\t:menu-position=\"'left'\"\n\t\t\t\t\t:url=\"share.shareWithAvatar\" />\n\t\t\t\t<component :is=\"getShareTypeIcon(share.type)\" :size=\"32\" />\n\t\t\t</span>\n\t\t\t<span>\n\t\t\t\t<h1>{{ title }}</h1>\n\t\t\t</span>\n\t\t</div>\n\t\t<div class=\"sharingTabDetailsView__wrapper\">\n\t\t\t<div ref=\"quickPermissions\" class=\"sharingTabDetailsView__quick-permissions\">\n\t\t\t\t<div>\n\t\t\t\t\t<NcCheckboxRadioSwitch :button-variant=\"true\"\n\t\t\t\t\t\tdata-cy-files-sharing-share-permissions-bundle=\"read-only\"\n\t\t\t\t\t\t:checked.sync=\"sharingPermission\"\n\t\t\t\t\t\t:value=\"bundledPermissions.READ_ONLY.toString()\"\n\t\t\t\t\t\tname=\"sharing_permission_radio\"\n\t\t\t\t\t\ttype=\"radio\"\n\t\t\t\t\t\tbutton-variant-grouped=\"vertical\"\n\t\t\t\t\t\t@update:checked=\"toggleCustomPermissions\">\n\t\t\t\t\t\t{{ t('files_sharing', 'View only') }}\n\t\t\t\t\t\t<template #icon>\n\t\t\t\t\t\t\t<ViewIcon :size=\"20\" />\n\t\t\t\t\t\t</template>\n\t\t\t\t\t</NcCheckboxRadioSwitch>\n\t\t\t\t\t<NcCheckboxRadioSwitch :button-variant=\"true\"\n\t\t\t\t\t\tdata-cy-files-sharing-share-permissions-bundle=\"upload-edit\"\n\t\t\t\t\t\t:checked.sync=\"sharingPermission\"\n\t\t\t\t\t\t:value=\"bundledPermissions.ALL.toString()\"\n\t\t\t\t\t\tname=\"sharing_permission_radio\"\n\t\t\t\t\t\ttype=\"radio\"\n\t\t\t\t\t\tbutton-variant-grouped=\"vertical\"\n\t\t\t\t\t\t@update:checked=\"toggleCustomPermissions\">\n\t\t\t\t\t\t<template v-if=\"allowsFileDrop\">\n\t\t\t\t\t\t\t{{ t('files_sharing', 'Allow upload and editing') }}\n\t\t\t\t\t\t</template>\n\t\t\t\t\t\t<template v-else>\n\t\t\t\t\t\t\t{{ t('files_sharing', 'Allow editing') }}\n\t\t\t\t\t\t</template>\n\t\t\t\t\t\t<template #icon>\n\t\t\t\t\t\t\t<EditIcon :size=\"20\" />\n\t\t\t\t\t\t</template>\n\t\t\t\t\t</NcCheckboxRadioSwitch>\n\t\t\t\t\t<NcCheckboxRadioSwitch v-if=\"allowsFileDrop\"\n\t\t\t\t\t\tdata-cy-files-sharing-share-permissions-bundle=\"file-drop\"\n\t\t\t\t\t\t:button-variant=\"true\"\n\t\t\t\t\t\t:checked.sync=\"sharingPermission\"\n\t\t\t\t\t\t:value=\"bundledPermissions.FILE_DROP.toString()\"\n\t\t\t\t\t\tname=\"sharing_permission_radio\"\n\t\t\t\t\t\ttype=\"radio\"\n\t\t\t\t\t\tbutton-variant-grouped=\"vertical\"\n\t\t\t\t\t\t@update:checked=\"toggleCustomPermissions\">\n\t\t\t\t\t\t{{ t('files_sharing', 'File drop') }}\n\t\t\t\t\t\t<small class=\"subline\">{{ t('files_sharing', 'Upload only') }}</small>\n\t\t\t\t\t\t<template #icon>\n\t\t\t\t\t\t\t<UploadIcon :size=\"20\" />\n\t\t\t\t\t\t</template>\n\t\t\t\t\t</NcCheckboxRadioSwitch>\n\t\t\t\t\t<NcCheckboxRadioSwitch :button-variant=\"true\"\n\t\t\t\t\t\tdata-cy-files-sharing-share-permissions-bundle=\"custom\"\n\t\t\t\t\t\t:checked.sync=\"sharingPermission\"\n\t\t\t\t\t\t:value=\"'custom'\"\n\t\t\t\t\t\tname=\"sharing_permission_radio\"\n\t\t\t\t\t\ttype=\"radio\"\n\t\t\t\t\t\tbutton-variant-grouped=\"vertical\"\n\t\t\t\t\t\t@update:checked=\"expandCustomPermissions\">\n\t\t\t\t\t\t{{ t('files_sharing', 'Custom permissions') }}\n\t\t\t\t\t\t<small class=\"subline\">{{ customPermissionsList }}</small>\n\t\t\t\t\t\t<template #icon>\n\t\t\t\t\t\t\t<DotsHorizontalIcon :size=\"20\" />\n\t\t\t\t\t\t</template>\n\t\t\t\t\t</NcCheckboxRadioSwitch>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t\t<div class=\"sharingTabDetailsView__advanced-control\">\n\t\t\t\t<NcButton id=\"advancedSectionAccordionAdvancedControl\"\n\t\t\t\t\ttype=\"tertiary\"\n\t\t\t\t\talignment=\"end-reverse\"\n\t\t\t\t\taria-controls=\"advancedSectionAccordionAdvanced\"\n\t\t\t\t\t:aria-expanded=\"advancedControlExpandedValue\"\n\t\t\t\t\t@click=\"advancedSectionAccordionExpanded = !advancedSectionAccordionExpanded\">\n\t\t\t\t\t{{ t('files_sharing', 'Advanced settings') }}\n\t\t\t\t\t<template #icon>\n\t\t\t\t\t\t<MenuDownIcon v-if=\"!advancedSectionAccordionExpanded\" />\n\t\t\t\t\t\t<MenuUpIcon v-else />\n\t\t\t\t\t</template>\n\t\t\t\t</NcButton>\n\t\t\t</div>\n\t\t\t<div v-if=\"advancedSectionAccordionExpanded\"\n\t\t\t\tid=\"advancedSectionAccordionAdvanced\"\n\t\t\t\tclass=\"sharingTabDetailsView__advanced\"\n\t\t\t\taria-labelledby=\"advancedSectionAccordionAdvancedControl\"\n\t\t\t\trole=\"region\">\n\t\t\t\t<section>\n\t\t\t\t\t<NcInputField v-if=\"isPublicShare\"\n\t\t\t\t\t\tautocomplete=\"off\"\n\t\t\t\t\t\t:label=\"t('files_sharing', 'Share label')\"\n\t\t\t\t\t\t:value.sync=\"share.label\" />\n\t\t\t\t\t<template v-if=\"isPublicShare\">\n\t\t\t\t\t\t<NcCheckboxRadioSwitch :checked.sync=\"isPasswordProtected\" :disabled=\"isPasswordEnforced\">\n\t\t\t\t\t\t\t{{ t('files_sharing', 'Set password') }}\n\t\t\t\t\t\t</NcCheckboxRadioSwitch>\n\t\t\t\t\t\t<NcPasswordField v-if=\"isPasswordProtected\"\n\t\t\t\t\t\t\tautocomplete=\"new-password\"\n\t\t\t\t\t\t\t:value=\"hasUnsavedPassword ? share.newPassword : ''\"\n\t\t\t\t\t\t\t:error=\"passwordError\"\n\t\t\t\t\t\t\t:helper-text=\"errorPasswordLabel\"\n\t\t\t\t\t\t\t:required=\"isPasswordEnforced\"\n\t\t\t\t\t\t\t:label=\"t('files_sharing', 'Password')\"\n\t\t\t\t\t\t\t@update:value=\"onPasswordChange\" />\n\n\t\t\t\t\t\t<!-- Migrate icons and remote -> icon=\"icon-info\"-->\n\t\t\t\t\t\t<span v-if=\"isEmailShareType && passwordExpirationTime\" icon=\"icon-info\">\n\t\t\t\t\t\t\t{{ t('files_sharing', 'Password expires {passwordExpirationTime}', { passwordExpirationTime }) }}\n\t\t\t\t\t\t</span>\n\t\t\t\t\t\t<span v-else-if=\"isEmailShareType && passwordExpirationTime !== null\" icon=\"icon-error\">\n\t\t\t\t\t\t\t{{ t('files_sharing', 'Password expired') }}\n\t\t\t\t\t\t</span>\n\t\t\t\t\t</template>\n\t\t\t\t\t<NcCheckboxRadioSwitch v-if=\"canTogglePasswordProtectedByTalkAvailable\"\n\t\t\t\t\t\t:checked.sync=\"isPasswordProtectedByTalk\"\n\t\t\t\t\t\t@update:checked=\"onPasswordProtectedByTalkChange\">\n\t\t\t\t\t\t{{ t('files_sharing', 'Video verification') }}\n\t\t\t\t\t</NcCheckboxRadioSwitch>\n\t\t\t\t\t<NcCheckboxRadioSwitch :checked.sync=\"hasExpirationDate\" :disabled=\"isExpiryDateEnforced\">\n\t\t\t\t\t\t{{ isExpiryDateEnforced\n\t\t\t\t\t\t\t? t('files_sharing', 'Expiration date (enforced)')\n\t\t\t\t\t\t\t: t('files_sharing', 'Set expiration date') }}\n\t\t\t\t\t</NcCheckboxRadioSwitch>\n\t\t\t\t\t<NcDateTimePickerNative v-if=\"hasExpirationDate\"\n\t\t\t\t\t\tid=\"share-date-picker\"\n\t\t\t\t\t\t:value=\"new Date(share.expireDate ?? dateTomorrow)\"\n\t\t\t\t\t\t:min=\"dateTomorrow\"\n\t\t\t\t\t\t:max=\"maxExpirationDateEnforced\"\n\t\t\t\t\t\t:hide-label=\"true\"\n\t\t\t\t\t\t:placeholder=\"t('files_sharing', 'Expiration date')\"\n\t\t\t\t\t\ttype=\"date\"\n\t\t\t\t\t\t@input=\"onExpirationChange\" />\n\t\t\t\t\t<NcCheckboxRadioSwitch v-if=\"isPublicShare\"\n\t\t\t\t\t\t:disabled=\"canChangeHideDownload\"\n\t\t\t\t\t\t:checked.sync=\"share.hideDownload\"\n\t\t\t\t\t\t@update:checked=\"queueUpdate('hideDownload')\">\n\t\t\t\t\t\t{{ t('files_sharing', 'Hide download') }}\n\t\t\t\t\t</NcCheckboxRadioSwitch>\n\t\t\t\t\t<NcCheckboxRadioSwitch v-if=\"!isPublicShare\"\n\t\t\t\t\t\t:disabled=\"!canSetDownload\"\n\t\t\t\t\t\t:checked.sync=\"canDownload\"\n\t\t\t\t\t\tdata-cy-files-sharing-share-permissions-checkbox=\"download\">\n\t\t\t\t\t\t{{ t('files_sharing', 'Allow download') }}\n\t\t\t\t\t</NcCheckboxRadioSwitch>\n\t\t\t\t\t<NcCheckboxRadioSwitch :checked.sync=\"writeNoteToRecipientIsChecked\">\n\t\t\t\t\t\t{{ t('files_sharing', 'Note to recipient') }}\n\t\t\t\t\t</NcCheckboxRadioSwitch>\n\t\t\t\t\t<template v-if=\"writeNoteToRecipientIsChecked\">\n\t\t\t\t\t\t<label for=\"share-note-textarea\">\n\t\t\t\t\t\t\t{{ t('files_sharing', 'Enter a note for the share recipient') }}\n\t\t\t\t\t\t</label>\n\t\t\t\t\t\t<textarea id=\"share-note-textarea\" :value=\"share.note\" @input=\"share.note = $event.target.value\" />\n\t\t\t\t\t</template>\n\t\t\t\t\t<ExternalShareAction v-for=\"action in externalLinkActions\"\n\t\t\t\t\t\t:id=\"action.id\"\n\t\t\t\t\t\tref=\"externalLinkActions\"\n\t\t\t\t\t\t:key=\"action.id\"\n\t\t\t\t\t\t:action=\"action\"\n\t\t\t\t\t\t:file-info=\"fileInfo\"\n\t\t\t\t\t\t:share=\"share\" />\n\t\t\t\t\t<NcCheckboxRadioSwitch :checked.sync=\"setCustomPermissions\">\n\t\t\t\t\t\t{{ t('files_sharing', 'Custom permissions') }}\n\t\t\t\t\t</NcCheckboxRadioSwitch>\n\t\t\t\t\t<section v-if=\"setCustomPermissions\" class=\"custom-permissions-group\">\n\t\t\t\t\t\t<NcCheckboxRadioSwitch :disabled=\"!allowsFileDrop && share.type === SHARE_TYPES.SHARE_TYPE_LINK\"\n\t\t\t\t\t\t\t:checked.sync=\"hasRead\"\n\t\t\t\t\t\t\tdata-cy-files-sharing-share-permissions-checkbox=\"read\">\n\t\t\t\t\t\t\t{{ t('files_sharing', 'Read') }}\n\t\t\t\t\t\t</NcCheckboxRadioSwitch>\n\t\t\t\t\t\t<NcCheckboxRadioSwitch v-if=\"isFolder\"\n\t\t\t\t\t\t\t:disabled=\"!canSetCreate\"\n\t\t\t\t\t\t\t:checked.sync=\"canCreate\"\n\t\t\t\t\t\t\tdata-cy-files-sharing-share-permissions-checkbox=\"create\">\n\t\t\t\t\t\t\t{{ t('files_sharing', 'Create') }}\n\t\t\t\t\t\t</NcCheckboxRadioSwitch>\n\t\t\t\t\t\t<NcCheckboxRadioSwitch :disabled=\"!canSetEdit\"\n\t\t\t\t\t\t\t:checked.sync=\"canEdit\"\n\t\t\t\t\t\t\tdata-cy-files-sharing-share-permissions-checkbox=\"update\">\n\t\t\t\t\t\t\t{{ t('files_sharing', 'Edit') }}\n\t\t\t\t\t\t</NcCheckboxRadioSwitch>\n\t\t\t\t\t\t<NcCheckboxRadioSwitch v-if=\"config.isResharingAllowed && share.type !== SHARE_TYPES.SHARE_TYPE_LINK\"\n\t\t\t\t\t\t\t:disabled=\"!canSetReshare\"\n\t\t\t\t\t\t\t:checked.sync=\"canReshare\"\n\t\t\t\t\t\t\tdata-cy-files-sharing-share-permissions-checkbox=\"share\">\n\t\t\t\t\t\t\t{{ t('files_sharing', 'Share') }}\n\t\t\t\t\t\t</NcCheckboxRadioSwitch>\n\t\t\t\t\t\t<NcCheckboxRadioSwitch :disabled=\"!canSetDelete\"\n\t\t\t\t\t\t\t:checked.sync=\"canDelete\"\n\t\t\t\t\t\t\tdata-cy-files-sharing-share-permissions-checkbox=\"delete\">\n\t\t\t\t\t\t\t{{ t('files_sharing', 'Delete') }}\n\t\t\t\t\t\t</NcCheckboxRadioSwitch>\n\t\t\t\t\t</section>\n\t\t\t\t\t<div class=\"sharingTabDetailsView__delete\">\n\t\t\t\t\t\t<NcButton v-if=\"!isNewShare\"\n\t\t\t\t\t\t\t:aria-label=\"t('files_sharing', 'Delete share')\"\n\t\t\t\t\t\t\t:disabled=\"false\"\n\t\t\t\t\t\t\t:readonly=\"false\"\n\t\t\t\t\t\t\ttype=\"tertiary\"\n\t\t\t\t\t\t\t@click.prevent=\"removeShare\">\n\t\t\t\t\t\t\t<template #icon>\n\t\t\t\t\t\t\t\t<CloseIcon :size=\"16\" />\n\t\t\t\t\t\t\t</template>\n\t\t\t\t\t\t\t{{ t('files_sharing', 'Delete share') }}\n\t\t\t\t\t\t</NcButton>\n\t\t\t\t\t</div>\n\t\t\t\t</section>\n\t\t\t</div>\n\t\t</div>\n\n\t\t<div class=\"sharingTabDetailsView__footer\">\n\t\t\t<div class=\"button-group\">\n\t\t\t\t<NcButton data-cy-files-sharing-share-editor-action=\"cancel\"\n\t\t\t\t\t@click=\"$emit('close-sharing-details')\">\n\t\t\t\t\t{{ t('files_sharing', 'Cancel') }}\n\t\t\t\t</NcButton>\n\t\t\t\t<NcButton type=\"primary\"\n\t\t\t\t\tdata-cy-files-sharing-share-editor-action=\"save\"\n\t\t\t\t\t@click=\"saveShare\">\n\t\t\t\t\t{{ shareButtonText }}\n\t\t\t\t\t<template v-if=\"creating\" #icon>\n\t\t\t\t\t\t<NcLoadingIcon />\n\t\t\t\t\t</template>\n\t\t\t\t</NcButton>\n\t\t\t</div>\n\t\t</div>\n\t</div>\n</template>\n\n<script>\nimport { getLanguage } from '@nextcloud/l10n'\nimport { Type as ShareType } from '@nextcloud/sharing'\n\nimport NcButton from '@nextcloud/vue/dist/Components/NcButton.js'\nimport NcInputField from '@nextcloud/vue/dist/Components/NcInputField.js'\nimport NcPasswordField from '@nextcloud/vue/dist/Components/NcPasswordField.js'\nimport NcAvatar from '@nextcloud/vue/dist/Components/NcAvatar.js'\nimport NcDateTimePickerNative from '@nextcloud/vue/dist/Components/NcDateTimePickerNative.js'\nimport NcCheckboxRadioSwitch from '@nextcloud/vue/dist/Components/NcCheckboxRadioSwitch.js'\nimport NcLoadingIcon from '@nextcloud/vue/dist/Components/NcLoadingIcon.js'\nimport CircleIcon from 'vue-material-design-icons/CircleOutline.vue'\nimport CloseIcon from 'vue-material-design-icons/Close.vue'\nimport EditIcon from 'vue-material-design-icons/Pencil.vue'\nimport EmailIcon from 'vue-material-design-icons/Email.vue'\nimport LinkIcon from 'vue-material-design-icons/Link.vue'\nimport GroupIcon from 'vue-material-design-icons/AccountGroup.vue'\nimport ShareIcon from 'vue-material-design-icons/ShareCircle.vue'\nimport UserIcon from 'vue-material-design-icons/AccountCircleOutline.vue'\nimport ViewIcon from 'vue-material-design-icons/Eye.vue'\nimport UploadIcon from 'vue-material-design-icons/Upload.vue'\nimport MenuDownIcon from 'vue-material-design-icons/MenuDown.vue'\nimport MenuUpIcon from 'vue-material-design-icons/MenuUp.vue'\nimport DotsHorizontalIcon from 'vue-material-design-icons/DotsHorizontal.vue'\n\nimport ExternalShareAction from '../components/ExternalShareAction.vue'\n\nimport GeneratePassword from '../utils/GeneratePassword.js'\nimport Share from '../models/Share.js'\nimport ShareRequests from '../mixins/ShareRequests.js'\nimport ShareTypes from '../mixins/ShareTypes.js'\nimport SharesMixin from '../mixins/SharesMixin.js'\n\nimport {\n\tATOMIC_PERMISSIONS,\n\tBUNDLED_PERMISSIONS,\n\thasPermissions,\n} from '../lib/SharePermissionsToolBox.js'\n\nexport default {\n\tname: 'SharingDetailsTab',\n\tcomponents: {\n\t\tNcAvatar,\n\t\tNcButton,\n\t\tNcInputField,\n\t\tNcPasswordField,\n\t\tNcDateTimePickerNative,\n\t\tNcCheckboxRadioSwitch,\n\t\tNcLoadingIcon,\n\t\tCloseIcon,\n\t\tCircleIcon,\n\t\tEditIcon,\n\t\tExternalShareAction,\n\t\tLinkIcon,\n\t\tGroupIcon,\n\t\tShareIcon,\n\t\tUserIcon,\n\t\tUploadIcon,\n\t\tViewIcon,\n\t\tMenuDownIcon,\n\t\tMenuUpIcon,\n\t\tDotsHorizontalIcon,\n\t},\n\tmixins: [ShareTypes, ShareRequests, SharesMixin],\n\tprops: {\n\t\tshareRequestValue: {\n\t\t\ttype: Object,\n\t\t\trequired: false,\n\t\t},\n\t\tfileInfo: {\n\t\t\ttype: Object,\n\t\t\trequired: true,\n\t\t},\n\t\tshare: {\n\t\t\ttype: Object,\n\t\t\trequired: true,\n\t\t},\n\t},\n\tdata() {\n\t\treturn {\n\t\t\twriteNoteToRecipientIsChecked: false,\n\t\t\tsharingPermission: BUNDLED_PERMISSIONS.ALL.toString(),\n\t\t\trevertSharingPermission: BUNDLED_PERMISSIONS.ALL.toString(),\n\t\t\tsetCustomPermissions: false,\n\t\t\tpasswordError: false,\n\t\t\tadvancedSectionAccordionExpanded: false,\n\t\t\tbundledPermissions: BUNDLED_PERMISSIONS,\n\t\t\tisFirstComponentLoad: true,\n\t\t\ttest: false,\n\t\t\tcreating: false,\n\n\t\t\tExternalShareActions: OCA.Sharing.ExternalShareActions.state,\n\t\t}\n\t},\n\n\tcomputed: {\n\t\ttitle() {\n\t\t\tswitch (this.share.type) {\n\t\t\tcase this.SHARE_TYPES.SHARE_TYPE_USER:\n\t\t\t\treturn t('files_sharing', 'Share with {userName}', { userName: this.share.shareWithDisplayName })\n\t\t\tcase this.SHARE_TYPES.SHARE_TYPE_EMAIL:\n\t\t\t    return t('files_sharing', 'Share with email {email}', { email: this.share.shareWith })\n\t\t\tcase this.SHARE_TYPES.SHARE_TYPE_LINK:\n\t\t\t\treturn t('files_sharing', 'Share link')\n\t\t\tcase this.SHARE_TYPES.SHARE_TYPE_GROUP:\n\t\t\t\treturn t('files_sharing', 'Share with group')\n\t\t\tcase this.SHARE_TYPES.SHARE_TYPE_ROOM:\n\t\t\t\treturn t('files_sharing', 'Share in conversation')\n\t\t\tcase this.SHARE_TYPES.SHARE_TYPE_REMOTE: {\n\t\t\t\tconst [user, server] = this.share.shareWith.split('@')\n\t\t\t\treturn t('files_sharing', 'Share with {user} on remote server {server}', { user, server })\n\t\t\t}\n\t\t\tcase this.SHARE_TYPES.SHARE_TYPE_REMOTE_GROUP:\n\t\t\t\treturn t('files_sharing', 'Share with remote group')\n\t\t\tcase this.SHARE_TYPES.SHARE_TYPE_GUEST:\n\t\t\t\treturn t('files_sharing', 'Share with guest')\n\t\t\tdefault: {\n\t\t\t        if (this.share.id) {\n\t\t\t\t\t    // Share already exists\n\t\t\t\t\t    return t('files_sharing', 'Update share')\n\t\t\t\t    } else {\n\t\t\t\t\t    return t('files_sharing', 'Create share')\n\t\t\t\t    }\n\t\t\t}\n\t\t\t}\n\t\t},\n\t\t/**\n\t\t * Can the sharee edit the shared file ?\n\t\t */\n\t\tcanEdit: {\n\t\t\tget() {\n\t\t\t\treturn this.share.hasUpdatePermission\n\t\t\t},\n\t\t\tset(checked) {\n\t\t\t\tthis.updateAtomicPermissions({ isEditChecked: checked })\n\t\t\t},\n\t\t},\n\t\t/**\n\t\t * Can the sharee create the shared file ?\n\t\t */\n\t\tcanCreate: {\n\t\t\tget() {\n\t\t\t\treturn this.share.hasCreatePermission\n\t\t\t},\n\t\t\tset(checked) {\n\t\t\t\tthis.updateAtomicPermissions({ isCreateChecked: checked })\n\t\t\t},\n\t\t},\n\t\t/**\n\t\t * Can the sharee delete the shared file ?\n\t\t */\n\t\tcanDelete: {\n\t\t\tget() {\n\t\t\t\treturn this.share.hasDeletePermission\n\t\t\t},\n\t\t\tset(checked) {\n\t\t\t\tthis.updateAtomicPermissions({ isDeleteChecked: checked })\n\t\t\t},\n\t\t},\n\t\t/**\n\t\t * Can the sharee reshare the file ?\n\t\t */\n\t\tcanReshare: {\n\t\t\tget() {\n\t\t\t\treturn this.share.hasSharePermission\n\t\t\t},\n\t\t\tset(checked) {\n\t\t\t\tthis.updateAtomicPermissions({ isReshareChecked: checked })\n\t\t\t},\n\t\t},\n\t\t/**\n\t\t * Can the sharee download files or only view them ?\n\t\t */\n\t\tcanDownload: {\n\t\t\tget() {\n\t\t\t\treturn this.share.attributes.find(attr => attr.key === 'download')?.enabled || false\n\t\t\t},\n\t\t\tset(checked) {\n\t\t\t\t// Find the 'download' attribute and update its value\n\t\t\t\tconst downloadAttr = this.share.attributes.find(attr => attr.key === 'download')\n\t\t\t\tif (downloadAttr) {\n\t\t\t\t\tdownloadAttr.enabled = checked\n\t\t\t\t}\n\t\t\t},\n\t\t},\n\t\t/**\n\t\t * Is this share readable\n\t\t * Needed for some federated shares that might have been added from file drop links\n\t\t */\n\t\thasRead: {\n\t\t\tget() {\n\t\t\t\treturn this.share.hasReadPermission\n\t\t\t},\n\t\t\tset(checked) {\n\t\t\t\tthis.updateAtomicPermissions({ isReadChecked: checked })\n\t\t\t},\n\t\t},\n\t\t/**\n\t\t * Does the current share have an expiration date\n\t\t *\n\t\t * @return {boolean}\n\t\t */\n\t\thasExpirationDate: {\n\t\t\tget() {\n\t\t\t\treturn this.isValidShareAttribute(this.share.expireDate)\n\t\t\t},\n\t\t\tset(enabled) {\n\t\t\t\tthis.share.expireDate = enabled\n\t\t\t\t\t? this.formatDateToString(this.defaultExpiryDate)\n\t\t\t\t\t: ''\n\t\t\t},\n\t\t},\n\t\t/**\n\t\t * Is the current share password protected ?\n\t\t *\n\t\t * @return {boolean}\n\t\t */\n\t\tisPasswordProtected: {\n\t\t\tget() {\n\t\t\t\treturn this.config.enforcePasswordForPublicLink\n\t\t\t\t\t|| !!this.share.password\n\t\t\t},\n\t\t\tasync set(enabled) {\n\t\t\t\tif (enabled) {\n\t\t\t\t\tthis.share.password = await GeneratePassword()\n\t\t\t\t\tthis.$set(this.share, 'newPassword', this.share.password)\n\t\t\t\t} else {\n\t\t\t\t\tthis.share.password = ''\n\t\t\t\t\tthis.$delete(this.share, 'newPassword')\n\t\t\t\t}\n\t\t\t},\n\t\t},\n\t\t/**\n\t\t * Is the current share a folder ?\n\t\t *\n\t\t * @return {boolean}\n\t\t */\n\t\tisFolder() {\n\t\t\treturn this.fileInfo.type === 'dir'\n\t\t},\n\t\t/**\n\t\t * @return {boolean}\n\t\t */\n\t\tisSetDownloadButtonVisible() {\n\t\t\tconst allowedMimetypes = [\n\t\t\t\t// Office documents\n\t\t\t\t'application/msword',\n\t\t\t\t'application/vnd.openxmlformats-officedocument.wordprocessingml.document',\n\t\t\t\t'application/vnd.ms-powerpoint',\n\t\t\t\t'application/vnd.openxmlformats-officedocument.presentationml.presentation',\n\t\t\t\t'application/vnd.ms-excel',\n\t\t\t\t'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet',\n\t\t\t\t'application/vnd.oasis.opendocument.text',\n\t\t\t\t'application/vnd.oasis.opendocument.spreadsheet',\n\t\t\t\t'application/vnd.oasis.opendocument.presentation',\n\t\t\t]\n\n\t\t\treturn this.isFolder || allowedMimetypes.includes(this.fileInfo.mimetype)\n\t\t},\n\t\tisPasswordEnforced() {\n\t\t\treturn this.isPublicShare && this.config.enforcePasswordForPublicLink\n\t\t},\n\t\tdefaultExpiryDate() {\n\t\t\tif ((this.isGroupShare || this.isUserShare) && this.config.isDefaultInternalExpireDateEnabled) {\n\t\t\t\treturn new Date(this.config.defaultInternalExpirationDate)\n\t\t\t} else if (this.isRemoteShare && this.config.isDefaultRemoteExpireDateEnabled) {\n\t\t\t\treturn new Date(this.config.defaultRemoteExpireDateEnabled)\n\t\t\t} else if (this.isPublicShare && this.config.isDefaultExpireDateEnabled) {\n\t\t\t\treturn new Date(this.config.defaultExpirationDate)\n\t\t\t}\n\t\t\treturn new Date(new Date().setDate(new Date().getDate() + 1))\n\t\t},\n\t\tisUserShare() {\n\t\t\treturn this.share.type === this.SHARE_TYPES.SHARE_TYPE_USER\n\t\t},\n\t\tisGroupShare() {\n\t\t\treturn this.share.type === this.SHARE_TYPES.SHARE_TYPE_GROUP\n\t\t},\n\t\tisNewShare() {\n\t\t\treturn !this.share.id\n\t\t},\n\t\tallowsFileDrop() {\n\t\t\tif (this.isFolder && this.config.isPublicUploadEnabled) {\n\t\t\t\tif (this.share.type === this.SHARE_TYPES.SHARE_TYPE_LINK || this.share.type === this.SHARE_TYPES.SHARE_TYPE_EMAIL) {\n\t\t\t\t\treturn true\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn false\n\t\t},\n\t\thasFileDropPermissions() {\n\t\t\treturn this.share.permissions === this.bundledPermissions.FILE_DROP\n\t\t},\n\t\tshareButtonText() {\n\t\t\tif (this.isNewShare) {\n\t\t\t\treturn t('files_sharing', 'Save share')\n\t\t\t}\n\t\t\treturn t('files_sharing', 'Update share')\n\n\t\t},\n\t\t/**\n\t\t * Can the sharer set whether the sharee can edit the file ?\n\t\t *\n\t\t * @return {boolean}\n\t\t */\n\t\tcanSetEdit() {\n\t\t\t// If the owner revoked the permission after the resharer granted it\n\t\t\t// the share still has the permission, and the resharer is still\n\t\t\t// allowed to revoke it too (but not to grant it again).\n\t\t\treturn (this.fileInfo.sharePermissions & OC.PERMISSION_UPDATE) || this.canEdit\n\t\t},\n\n\t\t/**\n\t\t * Can the sharer set whether the sharee can create the file ?\n\t\t *\n\t\t * @return {boolean}\n\t\t */\n\t\tcanSetCreate() {\n\t\t\t// If the owner revoked the permission after the resharer granted it\n\t\t\t// the share still has the permission, and the resharer is still\n\t\t\t// allowed to revoke it too (but not to grant it again).\n\t\t\treturn (this.fileInfo.sharePermissions & OC.PERMISSION_CREATE) || this.canCreate\n\t\t},\n\n\t\t/**\n\t\t * Can the sharer set whether the sharee can delete the file ?\n\t\t *\n\t\t * @return {boolean}\n\t\t */\n\t\tcanSetDelete() {\n\t\t\t// If the owner revoked the permission after the resharer granted it\n\t\t\t// the share still has the permission, and the resharer is still\n\t\t\t// allowed to revoke it too (but not to grant it again).\n\t\t\treturn (this.fileInfo.sharePermissions & OC.PERMISSION_DELETE) || this.canDelete\n\t\t},\n\t\t/**\n\t\t * Can the sharer set whether the sharee can reshare the file ?\n\t\t *\n\t\t * @return {boolean}\n\t\t */\n\t\tcanSetReshare() {\n\t\t\t// If the owner revoked the permission after the resharer granted it\n\t\t\t// the share still has the permission, and the resharer is still\n\t\t\t// allowed to revoke it too (but not to grant it again).\n\t\t\treturn (this.fileInfo.sharePermissions & OC.PERMISSION_SHARE) || this.canReshare\n\t\t},\n\t\t/**\n\t\t * Can the sharer set whether the sharee can download the file ?\n\t\t *\n\t\t * @return {boolean}\n\t\t */\n\t\tcanSetDownload() {\n\t\t\t// If the owner revoked the permission after the resharer granted it\n\t\t\t// the share still has the permission, and the resharer is still\n\t\t\t// allowed to revoke it too (but not to grant it again).\n\t\t\treturn (this.fileInfo.canDownload() || this.canDownload)\n\t\t},\n\t\t// if newPassword exists, but is empty, it means\n\t\t// the user deleted the original password\n\t\thasUnsavedPassword() {\n\t\t\treturn this.share.newPassword !== undefined\n\t\t},\n\t\tpasswordExpirationTime() {\n\t\t\tif (!this.isValidShareAttribute(this.share.passwordExpirationTime)) {\n\t\t\t\treturn null\n\t\t\t}\n\n\t\t\tconst expirationTime = moment(this.share.passwordExpirationTime)\n\n\t\t\tif (expirationTime.diff(moment()) < 0) {\n\t\t\t\treturn false\n\t\t\t}\n\n\t\t\treturn expirationTime.fromNow()\n\t\t},\n\n\t\t/**\n\t\t * Is Talk enabled?\n\t\t *\n\t\t * @return {boolean}\n\t\t */\n\t\tisTalkEnabled() {\n\t\t\treturn OC.appswebroots.spreed !== undefined\n\t\t},\n\n\t\t/**\n\t\t * Is it possible to protect the password by Talk?\n\t\t *\n\t\t * @return {boolean}\n\t\t */\n\t\tisPasswordProtectedByTalkAvailable() {\n\t\t\treturn this.isPasswordProtected && this.isTalkEnabled\n\t\t},\n\t\t/**\n\t\t * Is the current share password protected by Talk?\n\t\t *\n\t\t * @return {boolean}\n\t\t */\n\t\tisPasswordProtectedByTalk: {\n\t\t\tget() {\n\t\t\t\treturn this.share.sendPasswordByTalk\n\t\t\t},\n\t\t\tasync set(enabled) {\n\t\t\t\tthis.share.sendPasswordByTalk = enabled\n\t\t\t},\n\t\t},\n\t\t/**\n\t\t * Is the current share an email share ?\n\t\t *\n\t\t * @return {boolean}\n\t\t */\n\t\tisEmailShareType() {\n\t\t\treturn this.share\n\t\t\t\t? this.share.type === this.SHARE_TYPES.SHARE_TYPE_EMAIL\n\t\t\t\t: false\n\t\t},\n\t\tcanTogglePasswordProtectedByTalkAvailable() {\n\t\t\tif (!this.isPublicShare || !this.isPasswordProtected) {\n\t\t\t\t// Makes no sense\n\t\t\t\treturn false\n\t\t\t} else if (this.isEmailShareType && !this.hasUnsavedPassword) {\n\t\t\t\t// For email shares we need a new password in order to enable or\n\t\t\t\t// disable\n\t\t\t\treturn false\n\t\t\t}\n\n\t\t\t// Is Talk enabled?\n\t\t\treturn OC.appswebroots.spreed !== undefined\n\t\t},\n\t\tcanChangeHideDownload() {\n\t\t\tconst hasDisabledDownload = (shareAttribute) => shareAttribute.key === 'download' && shareAttribute.scope === 'permissions' && shareAttribute.enabled === false\n\t\t\treturn this.fileInfo.shareAttributes.some(hasDisabledDownload)\n\t\t},\n\t\tcustomPermissionsList() {\n\t\t\t// Key order will be different, because ATOMIC_PERMISSIONS are numbers\n\t\t\tconst translatedPermissions = {\n\t\t\t\t[ATOMIC_PERMISSIONS.READ]: this.t('files_sharing', 'Read'),\n\t\t\t\t[ATOMIC_PERMISSIONS.CREATE]: this.t('files_sharing', 'Create'),\n\t\t\t\t[ATOMIC_PERMISSIONS.UPDATE]: this.t('files_sharing', 'Edit'),\n\t\t\t\t[ATOMIC_PERMISSIONS.SHARE]: this.t('files_sharing', 'Share'),\n\t\t\t\t[ATOMIC_PERMISSIONS.DELETE]: this.t('files_sharing', 'Delete'),\n\t\t\t}\n\n\t\t\treturn [ATOMIC_PERMISSIONS.READ, ATOMIC_PERMISSIONS.CREATE, ATOMIC_PERMISSIONS.UPDATE, ATOMIC_PERMISSIONS.SHARE, ATOMIC_PERMISSIONS.DELETE]\n\t\t\t\t.filter((permission) => hasPermissions(this.share.permissions, permission))\n\t\t\t\t.map((permission, index) => index === 0\n\t\t\t\t\t? translatedPermissions[permission]\n\t\t\t\t\t: translatedPermissions[permission].toLocaleLowerCase(getLanguage()))\n\t\t\t\t.join(', ')\n\t\t},\n\t\tadvancedControlExpandedValue() {\n\t\t\treturn this.advancedSectionAccordionExpanded ? 'true' : 'false'\n\t\t},\n\t\terrorPasswordLabel() {\n\t\t\tif (this.passwordError) {\n\t\t\t\treturn t('files_sharing', \"Password field can't be empty\")\n\t\t\t}\n\t\t\treturn undefined\n\t\t},\n\n\t\t/**\n\t\t * Additional actions for the menu\n\t\t *\n\t\t * @return {Array}\n\t\t */\n\t\texternalLinkActions() {\n\t\t\tconst filterValidAction = (action) => (action.shareType.includes(ShareType.SHARE_TYPE_LINK) || action.shareType.includes(ShareType.SHARE_TYPE_EMAIL)) && action.advanced\n\t\t\t// filter only the advanced registered actions for said link\n\t\t\treturn this.ExternalShareActions.actions\n\t\t\t\t.filter(filterValidAction)\n\t\t},\n\t},\n\twatch: {\n\t\tsetCustomPermissions(isChecked) {\n\t\t\tif (isChecked) {\n\t\t\t\tthis.sharingPermission = 'custom'\n\t\t\t} else {\n\t\t\t\tthis.sharingPermission = this.revertSharingPermission\n\t\t\t}\n\t\t},\n\t},\n\tbeforeMount() {\n\t\tthis.initializePermissions()\n\t\tthis.initializeAttributes()\n\t\tconsole.debug('shareSentIn', this.share)\n\t\tconsole.debug('config', this.config)\n\t},\n\n\tmounted() {\n\t\tthis.$refs.quickPermissions?.querySelector('input:checked')?.focus()\n\t},\n\n\tmethods: {\n\t\tupdateAtomicPermissions({\n\t\t\tisReadChecked = this.hasRead,\n\t\t\tisEditChecked = this.canEdit,\n\t\t\tisCreateChecked = this.canCreate,\n\t\t\tisDeleteChecked = this.canDelete,\n\t\t\tisReshareChecked = this.canReshare,\n\t\t} = {}) {\n\t\t\t// calc permissions if checked\n\t\t\tconst permissions = 0\n\t\t\t\t| (isReadChecked ? ATOMIC_PERMISSIONS.READ : 0)\n\t\t\t\t| (isCreateChecked ? ATOMIC_PERMISSIONS.CREATE : 0)\n\t\t\t\t| (isDeleteChecked ? ATOMIC_PERMISSIONS.DELETE : 0)\n\t\t\t\t| (isEditChecked ? ATOMIC_PERMISSIONS.UPDATE : 0)\n\t\t\t\t| (isReshareChecked ? ATOMIC_PERMISSIONS.SHARE : 0)\n\t\t\tthis.share.permissions = permissions\n\t\t},\n\t\texpandCustomPermissions() {\n\t\t\tif (!this.advancedSectionAccordionExpanded) {\n\t\t\t\tthis.advancedSectionAccordionExpanded = true\n\t\t\t}\n\t\t\tthis.toggleCustomPermissions()\n\t\t},\n\t\ttoggleCustomPermissions(selectedPermission) {\n\t\t\tconst isCustomPermissions = this.sharingPermission === 'custom'\n\t\t\tthis.revertSharingPermission = !isCustomPermissions ? selectedPermission : 'custom'\n\t\t\tthis.setCustomPermissions = isCustomPermissions\n\t\t},\n\t\tasync initializeAttributes() {\n\n\t\t\tif (this.isNewShare) {\n\t\t\t\tif (this.isPasswordEnforced && this.isPublicShare) {\n\t\t\t\t\tthis.$set(this.share, 'newPassword', await GeneratePassword())\n\t\t\t\t\tthis.advancedSectionAccordionExpanded = true\n\t\t\t\t}\n\t\t\t\t/* Set default expiration dates if configured */\n\t\t\t\tif (this.isPublicShare && this.config.isDefaultExpireDateEnabled) {\n\t\t\t\t\tthis.share.expireDate = this.config.defaultExpirationDate.toDateString()\n\t\t\t\t} else if (this.isRemoteShare && this.config.isDefaultRemoteExpireDateEnabled) {\n\t\t\t\t\tthis.share.expireDate = this.config.defaultRemoteExpirationDateString.toDateString()\n\t\t\t\t} else if (this.config.isDefaultInternalExpireDateEnabled) {\n\t\t\t\t\tthis.share.expireDate = this.config.defaultInternalExpirationDate.toDateString()\n\t\t\t\t}\n\n\t\t\t\tif (this.isValidShareAttribute(this.share.expireDate)) {\n\t\t\t\t\tthis.advancedSectionAccordionExpanded = true\n\t\t\t\t}\n\n\t\t\t\treturn\n\t\t\t}\n\n\t\t\t// If there is an enforced expiry date, then existing shares created before enforcement\n\t\t\t// have no expiry date, hence we set it here.\n\t\t\tif (!this.isValidShareAttribute(this.share.expireDate) && this.isExpiryDateEnforced) {\n\t\t\t\tthis.hasExpirationDate = true\n\t\t\t}\n\n\t\t\tif (\n\t\t\t\tthis.isValidShareAttribute(this.share.password)\n\t\t\t\t|| this.isValidShareAttribute(this.share.expireDate)\n\t\t\t\t|| this.isValidShareAttribute(this.share.label)\n\t\t\t) {\n\t\t\t\tthis.advancedSectionAccordionExpanded = true\n\t\t\t}\n\n\t\t},\n\t\thandleShareType() {\n\t\t\tif ('shareType' in this.share) {\n\t\t\t\tthis.share.type = this.share.shareType\n\t\t\t} else if (this.share.share_type) {\n\t\t\t\tthis.share.type = this.share.share_type\n\t\t\t}\n\t\t},\n\t\thandleDefaultPermissions() {\n\t\t\tif (this.isNewShare) {\n\t\t\t\tconst defaultPermissions = this.config.defaultPermissions\n\t\t\t\tif (defaultPermissions === BUNDLED_PERMISSIONS.READ_ONLY || defaultPermissions === BUNDLED_PERMISSIONS.ALL) {\n\t\t\t\t\tthis.sharingPermission = defaultPermissions.toString()\n\t\t\t\t} else {\n\t\t\t\t\tthis.sharingPermission = 'custom'\n\t\t\t\t\tthis.share.permissions = defaultPermissions\n\t\t\t\t\tthis.advancedSectionAccordionExpanded = true\n\t\t\t\t\tthis.setCustomPermissions = true\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t\thandleCustomPermissions() {\n\t\t\tif (!this.isNewShare && (this.hasCustomPermissions || this.share.setCustomPermissions)) {\n\t\t\t\tthis.sharingPermission = 'custom'\n\t\t\t\tthis.advancedSectionAccordionExpanded = true\n\t\t\t\tthis.setCustomPermissions = true\n\t\t\t} else if (this.share.permissions) {\n\t\t\t\tthis.sharingPermission = this.share.permissions.toString()\n\t\t\t}\n\t\t},\n\t\tinitializePermissions() {\n\t\t\tthis.handleShareType()\n\t\t\tthis.handleDefaultPermissions()\n\t\t\tthis.handleCustomPermissions()\n\t\t},\n\t\tasync saveShare() {\n\t\t\tconst permissionsAndAttributes = ['permissions', 'attributes', 'note', 'expireDate']\n\t\t\tconst publicShareAttributes = ['label', 'password', 'hideDownload']\n\t\t\tif (this.isPublicShare) {\n\t\t\t\tpermissionsAndAttributes.push(...publicShareAttributes)\n\t\t\t}\n\t\t\tconst sharePermissionsSet = parseInt(this.sharingPermission)\n\t\t\tif (this.setCustomPermissions) {\n\t\t\t\tthis.updateAtomicPermissions()\n\t\t\t} else {\n\t\t\t\tthis.share.permissions = sharePermissionsSet\n\t\t\t}\n\n\t\t\tif (!this.isFolder && this.share.permissions === BUNDLED_PERMISSIONS.ALL) {\n\t\t\t\t// It's not possible to create an existing file.\n\t\t\t\tthis.share.permissions = BUNDLED_PERMISSIONS.ALL_FILE\n\t\t\t}\n\t\t\tif (!this.writeNoteToRecipientIsChecked) {\n\t\t\t\tthis.share.note = ''\n\t\t\t}\n\t\t\tif (this.isPasswordProtected) {\n\t\t\t\tif (this.hasUnsavedPassword && this.isValidShareAttribute(this.share.newPassword)) {\n\t\t\t\t\tthis.share.password = this.share.newPassword\n\t\t\t\t\tthis.$delete(this.share, 'newPassword')\n\t\t\t\t} else if (this.isPasswordEnforced && !this.isValidShareAttribute(this.share.password)) {\n\t\t\t\t\tthis.passwordError = true\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tthis.share.password = ''\n\t\t\t}\n\n\t\t\tif (!this.hasExpirationDate) {\n\t\t\t\tthis.share.expireDate = ''\n\t\t\t}\n\n\t\t\tif (this.isNewShare) {\n\t\t\t\tconst incomingShare = {\n\t\t\t\t\tpermissions: this.share.permissions,\n\t\t\t\t\tshareType: this.share.type,\n\t\t\t\t\tshareWith: this.share.shareWith,\n\t\t\t\t\tattributes: this.share.attributes,\n\t\t\t\t\tnote: this.share.note,\n\t\t\t\t\tfileInfo: this.fileInfo,\n\t\t\t\t}\n\n\t\t\t\tincomingShare.expireDate = this.hasExpirationDate ? this.share.expireDate : ''\n\n\t\t\t\tif (this.isPasswordProtected) {\n\t\t\t\t\tincomingShare.password = this.share.password\n\t\t\t\t}\n\n\t\t\t\tthis.creating = true\n\t\t\t\tconst share = await this.addShare(incomingShare, this.fileInfo)\n\t\t\t\tthis.creating = false\n\t\t\t\tthis.share = share\n\t\t\t\tthis.$emit('add:share', this.share)\n\t\t\t} else {\n\t\t\t\tthis.queueUpdate(...permissionsAndAttributes)\n\t\t\t}\n\n\t\t\tif (this.$refs.externalLinkActions?.length > 0) {\n\t\t\t\tawait Promise.allSettled(this.$refs.externalLinkActions.map((action) => {\n\t\t\t\t\tif (typeof action.$children.at(0)?.onSave !== 'function') {\n\t\t\t\t\t\treturn Promise.resolve()\n\t\t\t\t\t}\n\t\t\t\t\treturn action.$children.at(0)?.onSave?.()\n\t\t\t\t}))\n\t\t\t}\n\n\t\t\tthis.$emit('close-sharing-details')\n\t\t},\n\t\t/**\n\t\t * Process the new share request\n\t\t *\n\t\t * @param {Share} share incoming share object\n\t\t * @param {object} fileInfo file data\n\t\t */\n\t\tasync addShare(share, fileInfo) {\n\t\t\tconsole.debug('Adding a new share from the input for', share)\n\t\t\ttry {\n\t\t\t\tconst path = (fileInfo.path + '/' + fileInfo.name).replace('//', '/')\n\t\t\t\tconst resultingShare = await this.createShare({\n\t\t\t\t\tpath,\n\t\t\t\t\tshareType: share.shareType,\n\t\t\t\t\tshareWith: share.shareWith,\n\t\t\t\t\tpermissions: share.permissions,\n\t\t\t\t\texpireDate: share.expireDate,\n\t\t\t\t\tattributes: JSON.stringify(share.attributes),\n\t\t\t\t\t...(share.note ? { note: share.note } : {}),\n\t\t\t\t\t...(share.password ? { password: share.password } : {}),\n\t\t\t\t})\n\t\t\t\treturn resultingShare\n\t\t\t} catch (error) {\n\t\t\t\tconsole.error('Error while adding new share', error)\n\t\t\t} finally {\n\t\t\t\t// this.loading = false // No loader here yet\n\t\t\t}\n\t\t},\n\t\tasync removeShare() {\n\t\t\tawait this.onDelete()\n\t\t\tthis.$emit('close-sharing-details')\n\t\t},\n\t\t/**\n\t\t * Update newPassword values\n\t\t * of share. If password is set but not newPassword\n\t\t * then the user did not changed the password\n\t\t * If both co-exists, the password have changed and\n\t\t * we show it in plain text.\n\t\t * Then on submit (or menu close), we sync it.\n\t\t *\n\t\t * @param {string} password the changed password\n\t\t */\n\t\tonPasswordChange(password) {\n\t\t\tthis.passwordError = !this.isValidShareAttribute(password)\n\t\t\tthis.$set(this.share, 'newPassword', password)\n\t\t},\n\t\t/**\n\t\t * Update the password along with \"sendPasswordByTalk\".\n\t\t *\n\t\t * If the password was modified the new password is sent; otherwise\n\t\t * updating a mail share would fail, as in that case it is required that\n\t\t * a new password is set when enabling or disabling\n\t\t * \"sendPasswordByTalk\".\n\t\t */\n\t\tonPasswordProtectedByTalkChange() {\n\t\t\tif (this.hasUnsavedPassword) {\n\t\t\t\tthis.share.password = this.share.newPassword.trim()\n\t\t\t}\n\n\t\t\tthis.queueUpdate('sendPasswordByTalk', 'password')\n\t\t},\n\t\tisValidShareAttribute(value) {\n\t\t\tif ([null, undefined].includes(value)) {\n\t\t\t\treturn false\n\t\t\t}\n\n\t\t\tif (!(value.trim().length > 0)) {\n\t\t\t\treturn false\n\t\t\t}\n\n\t\t\treturn true\n\t\t},\n\t\tgetShareTypeIcon(type) {\n\t\t\tswitch (type) {\n\t\t\tcase this.SHARE_TYPES.SHARE_TYPE_LINK:\n\t\t\t\treturn LinkIcon\n\t\t\tcase this.SHARE_TYPES.SHARE_TYPE_GUEST:\n\t\t\t\treturn UserIcon\n\t\t\tcase this.SHARE_TYPES.SHARE_TYPE_REMOTE_GROUP:\n\t\t\tcase this.SHARE_TYPES.SHARE_TYPE_GROUP:\n\t\t\t\treturn GroupIcon\n\t\t\tcase this.SHARE_TYPES.SHARE_TYPE_EMAIL:\n\t\t\t\treturn EmailIcon\n\t\t\tcase this.SHARE_TYPES.SHARE_TYPE_CIRCLE:\n\t\t\t\treturn CircleIcon\n\t\t\tcase this.SHARE_TYPES.SHARE_TYPE_ROOM:\n\t\t\t\treturn ShareIcon\n\t\t\tcase this.SHARE_TYPES.SHARE_TYPE_DECK:\n\t\t\t\treturn ShareIcon\n\t\t\tcase this.SHARE_TYPES.SHARE_TYPE_SCIENCEMESH:\n\t\t\t\treturn ShareIcon\n\t\t\tdefault:\n\t\t\t\treturn null // Or a default icon component if needed\n\t\t\t}\n\t\t},\n\t},\n}\n</script>\n\n<style lang=\"scss\" scoped>\n.sharingTabDetailsView {\n\tdisplay: flex;\n\tflex-direction: column;\n\twidth: 100%;\n\tmargin: 0 auto;\n\tposition: relative;\n\theight: 100%;\n\toverflow: hidden;\n\n\t&__header {\n\t\tdisplay: flex;\n\t\talign-items: center;\n\t\tbox-sizing: border-box;\n\t\tmargin: 0.2em;\n\n\t\tspan {\n\t\t\tdisplay: flex;\n\t\t\talign-items: center;\n\n\t\t\th1 {\n\t\t\t\tfont-size: 15px;\n\t\t\t\tpadding-left: 0.3em;\n\t\t\t}\n\n\t\t}\n\t}\n\n\t&__wrapper {\n\t\tposition: relative;\n\t\toverflow: scroll;\n\t\tflex-shrink: 1;\n\t\tpadding: 4px;\n\t\tpadding-right: 12px;\n\t}\n\n\t&__quick-permissions {\n\t\tdisplay: flex;\n\t\tjustify-content: center;\n\t\twidth: 100%;\n\t\tmargin: 0 auto;\n\t\tborder-radius: 0;\n\n\t\tdiv {\n\t\t\twidth: 100%;\n\n\t\t\tspan {\n\t\t\t\twidth: 100%;\n\n\t\t\t\tspan:nth-child(1) {\n\t\t\t\t\talign-items: center;\n\t\t\t\t\tjustify-content: center;\n\t\t\t\t\tpadding: 0.1em;\n\t\t\t\t}\n\n\t\t\t\t::v-deep label {\n\n\t\t\t\t\tspan {\n\t\t\t\t\t\tdisplay: flex;\n\t\t\t\t\t\tflex-direction: column;\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\t/* Target component based style in NcCheckboxRadioSwitch slot content*/\n\t\t\t\t:deep(span.checkbox-content__text.checkbox-radio-switch__text) {\n\t\t\t\t\tflex-wrap: wrap;\n\n\t\t\t\t\t.subline {\n\t\t\t\t\t\tdisplay: block;\n\t\t\t\t\t\tflex-basis: 100%;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\n\t\t}\n\t}\n\n\t&__advanced-control {\n\t\twidth: 100%;\n\n\t\tbutton {\n\t\t\tmargin-top: 0.5em;\n\t\t}\n\n\t}\n\n\t&__advanced {\n\t\twidth: 100%;\n\t\tmargin-bottom: 0.5em;\n\t\ttext-align: left;\n\t\tpadding-left: 0;\n\n\t\tsection {\n\n\t\t\ttextarea,\n\t\t\tdiv.mx-datepicker {\n\t\t\t\twidth: 100%;\n\t\t\t}\n\n\t\t\ttextarea {\n\t\t\t\theight: 80px;\n\t\t\t\tmargin: 0;\n\t\t\t}\n\n\t\t\t/*\n              The following style is applied out of the component's scope\n              to remove padding from the label.checkbox-radio-switch__label,\n              which is used to group radio checkbox items. The use of ::v-deep\n              ensures that the padding is modified without being affected by\n              the component's scoping.\n              Without this achieving left alignment for the checkboxes would not\n              be possible.\n            */\n\t\t\tspan {\n\t\t\t\t::v-deep label {\n\t\t\t\t\tpadding-left: 0 !important;\n\t\t\t\t\tbackground-color: initial !important;\n\t\t\t\t\tborder: none !important;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tsection.custom-permissions-group {\n\t\t\t\tpadding-left: 1.5em;\n\t\t\t}\n\t\t}\n\t}\n\n\t&__delete {\n\t\t>button:first-child {\n\t\t\tcolor: rgb(223, 7, 7);\n\t\t}\n\t}\n\n\t&__footer {\n\t\twidth: 100%;\n\t\tdisplay: flex;\n\t\tposition: sticky;\n\t\tbottom: 0;\n\t\tflex-direction: column;\n\t\tjustify-content: space-between;\n\t\talign-items: flex-start;\n\t\tbackground: linear-gradient(to bottom, rgba(255, 255, 255, 0), var(--color-main-background));\n\n\t\t.button-group {\n\t\t\tdisplay: flex;\n\t\t\tjustify-content: space-between;\n\t\t\twidth: 100%;\n\t\t\tmargin-top: 16px;\n\n\t\t\tbutton {\n\t\t\t\tmargin-left: 16px;\n\n\t\t\t\t&:first-child {\n\t\t\t\t\tmargin-left: 0;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n}\n</style>\n","import mod from \"-!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SharingDetailsTab.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SharingDetailsTab.vue?vue&type=script&lang=js\"","\n      import API from \"!../../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n      import domAPI from \"!../../../../node_modules/style-loader/dist/runtime/styleDomAPI.js\";\n      import insertFn from \"!../../../../node_modules/style-loader/dist/runtime/insertBySelector.js\";\n      import setAttributes from \"!../../../../node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js\";\n      import insertStyleElement from \"!../../../../node_modules/style-loader/dist/runtime/insertStyleElement.js\";\n      import styleTagTransformFn from \"!../../../../node_modules/style-loader/dist/runtime/styleTagTransform.js\";\n      import content, * as namedExport from \"!!../../../../node_modules/css-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/sass-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SharingDetailsTab.vue?vue&type=style&index=0&id=695269e6&prod&lang=scss&scoped=true\";\n      \n      \n\nvar options = {};\n\noptions.styleTagTransform = styleTagTransformFn;\noptions.setAttributes = setAttributes;\n\n      options.insert = insertFn.bind(null, \"head\");\n    \noptions.domAPI = domAPI;\noptions.insertStyleElement = insertStyleElement;\n\nvar update = API(content, options);\n\n\n\nexport * from \"!!../../../../node_modules/css-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/sass-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SharingDetailsTab.vue?vue&type=style&index=0&id=695269e6&prod&lang=scss&scoped=true\";\n       export default content && content.locals ? content.locals : undefined;\n","import { render, staticRenderFns } from \"./SharingDetailsTab.vue?vue&type=template&id=695269e6&scoped=true\"\nimport script from \"./SharingDetailsTab.vue?vue&type=script&lang=js\"\nexport * from \"./SharingDetailsTab.vue?vue&type=script&lang=js\"\nimport style0 from \"./SharingDetailsTab.vue?vue&type=style&index=0&id=695269e6&prod&lang=scss&scoped=true\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n  script,\n  render,\n  staticRenderFns,\n  false,\n  null,\n  \"695269e6\",\n  null\n  \n)\n\nexport default component.exports","<!--\n  - SPDX-FileCopyrightText: 2019 Nextcloud GmbH and Nextcloud contributors\n  - SPDX-License-Identifier: AGPL-3.0-or-later\n-->\n\n<template>\n\t<div class=\"sharingTab\" :class=\"{ 'icon-loading': loading }\">\n\t\t<!-- error message -->\n\t\t<div v-if=\"error\" class=\"emptycontent\" :class=\"{ emptyContentWithSections: sections.length > 0 }\">\n\t\t\t<div class=\"icon icon-error\" />\n\t\t\t<h2>{{ error }}</h2>\n\t\t</div>\n\n\t\t<!-- shares content -->\n\t\t<div v-show=\"!showSharingDetailsView\"\n\t\t\tclass=\"sharingTab__content\">\n\t\t\t<!-- shared with me information -->\n\t\t\t<ul>\n\t\t\t\t<SharingEntrySimple v-if=\"isSharedWithMe\" v-bind=\"sharedWithMe\" class=\"sharing-entry__reshare\">\n\t\t\t\t\t<template #avatar>\n\t\t\t\t\t\t<NcAvatar :user=\"sharedWithMe.user\"\n\t\t\t\t\t\t\t:display-name=\"sharedWithMe.displayName\"\n\t\t\t\t\t\t\tclass=\"sharing-entry__avatar\" />\n\t\t\t\t\t</template>\n\t\t\t\t</SharingEntrySimple>\n\t\t\t</ul>\n\n\t\t\t<!-- add new share input -->\n\t\t\t<SharingInput v-if=\"!loading\"\n\t\t\t\t:can-reshare=\"canReshare\"\n\t\t\t\t:file-info=\"fileInfo\"\n\t\t\t\t:link-shares=\"linkShares\"\n\t\t\t\t:reshare=\"reshare\"\n\t\t\t\t:shares=\"shares\"\n\t\t\t\t@open-sharing-details=\"toggleShareDetailsView\" />\n\n\t\t\t<!-- link shares list -->\n\t\t\t<SharingLinkList v-if=\"!loading\"\n\t\t\t\tref=\"linkShareList\"\n\t\t\t\t:can-reshare=\"canReshare\"\n\t\t\t\t:file-info=\"fileInfo\"\n\t\t\t\t:shares=\"linkShares\"\n\t\t\t\t@open-sharing-details=\"toggleShareDetailsView\" />\n\n\t\t\t<!-- other shares list -->\n\t\t\t<SharingList v-if=\"!loading\"\n\t\t\t\tref=\"shareList\"\n\t\t\t\t:shares=\"shares\"\n\t\t\t\t:file-info=\"fileInfo\"\n\t\t\t\t@open-sharing-details=\"toggleShareDetailsView\" />\n\n\t\t\t<!-- inherited shares -->\n\t\t\t<SharingInherited v-if=\"canReshare && !loading\" :file-info=\"fileInfo\" />\n\n\t\t\t<!-- internal link copy -->\n\t\t\t<SharingEntryInternal :file-info=\"fileInfo\" />\n\n\t\t\t<!-- projects -->\n\t\t\t<CollectionList v-if=\"projectsEnabled && fileInfo\"\n\t\t\t\t:id=\"`${fileInfo.id}`\"\n\t\t\t\ttype=\"file\"\n\t\t\t\t:name=\"fileInfo.name\" />\n\t\t</div>\n\n\t\t<!-- additional entries, use it with cautious -->\n\t\t<div v-for=\"(section, index) in sections\"\n\t\t\tv-show=\"!showSharingDetailsView\"\n\t\t\t:ref=\"'section-' + index\"\n\t\t\t:key=\"index\"\n\t\t\tclass=\"sharingTab__additionalContent\">\n\t\t\t<component :is=\"section($refs['section-'+index], fileInfo)\" :file-info=\"fileInfo\" />\n\t\t</div>\n\n\t\t<!-- share details -->\n\t\t<SharingDetailsTab v-if=\"showSharingDetailsView\"\n\t\t\t:file-info=\"shareDetailsData.fileInfo\"\n\t\t\t:share=\"shareDetailsData.share\"\n\t\t\t@close-sharing-details=\"toggleShareDetailsView\"\n\t\t\t@add:share=\"addShare\"\n\t\t\t@remove:share=\"removeShare\" />\n\t</div>\n</template>\n\n<script>\nimport { CollectionList } from 'nextcloud-vue-collections'\nimport { generateOcsUrl } from '@nextcloud/router'\nimport NcAvatar from '@nextcloud/vue/dist/Components/NcAvatar.js'\nimport axios from '@nextcloud/axios'\nimport { loadState } from '@nextcloud/initial-state'\n\nimport Config from '../services/ConfigService.js'\nimport { shareWithTitle } from '../utils/SharedWithMe.js'\nimport Share from '../models/Share.js'\nimport ShareTypes from '../mixins/ShareTypes.js'\nimport SharingEntryInternal from '../components/SharingEntryInternal.vue'\nimport SharingEntrySimple from '../components/SharingEntrySimple.vue'\nimport SharingInput from '../components/SharingInput.vue'\n\nimport SharingInherited from './SharingInherited.vue'\nimport SharingLinkList from './SharingLinkList.vue'\nimport SharingList from './SharingList.vue'\nimport SharingDetailsTab from './SharingDetailsTab.vue'\n\nexport default {\n\tname: 'SharingTab',\n\n\tcomponents: {\n\t\tNcAvatar,\n\t\tCollectionList,\n\t\tSharingEntryInternal,\n\t\tSharingEntrySimple,\n\t\tSharingInherited,\n\t\tSharingInput,\n\t\tSharingLinkList,\n\t\tSharingList,\n\t\tSharingDetailsTab,\n\t},\n\n\tmixins: [ShareTypes],\n\n\tdata() {\n\t\treturn {\n\t\t\tconfig: new Config(),\n\t\t\tdeleteEvent: null,\n\t\t\terror: '',\n\t\t\texpirationInterval: null,\n\t\t\tloading: true,\n\n\t\t\tfileInfo: null,\n\n\t\t\t// reshare Share object\n\t\t\treshare: null,\n\t\t\tsharedWithMe: {},\n\t\t\tshares: [],\n\t\t\tlinkShares: [],\n\n\t\t\tsections: OCA.Sharing.ShareTabSections.getSections(),\n\t\t\tprojectsEnabled: loadState('core', 'projects_enabled', false),\n\t\t\tshowSharingDetailsView: false,\n\t\t\tshareDetailsData: {},\n\t\t\treturnFocusElement: null,\n\t\t}\n\t},\n\n\tcomputed: {\n\t\t/**\n\t\t * Is this share shared with me?\n\t\t *\n\t\t * @return {boolean}\n\t\t */\n\t\tisSharedWithMe() {\n\t\t\treturn Object.keys(this.sharedWithMe).length > 0\n\t\t},\n\n\t\tcanReshare() {\n\t\t\treturn !!(this.fileInfo.permissions & OC.PERMISSION_SHARE)\n\t\t\t\t|| !!(this.reshare && this.reshare.hasSharePermission && this.config.isResharingAllowed)\n\t\t},\n\t},\n\n\tmethods: {\n\t\t/**\n\t\t * Update current fileInfo and fetch new data\n\t\t *\n\t\t * @param {object} fileInfo the current file FileInfo\n\t\t */\n\t\tasync update(fileInfo) {\n\t\t\tthis.fileInfo = fileInfo\n\t\t\tthis.resetState()\n\t\t\tthis.getShares()\n\t\t},\n\n\t\t/**\n\t\t * Get the existing shares infos\n\t\t */\n\t\tasync getShares() {\n\t\t\ttry {\n\t\t\t\tthis.loading = true\n\n\t\t\t\t// init params\n\t\t\t\tconst shareUrl = generateOcsUrl('apps/files_sharing/api/v1/shares')\n\t\t\t\tconst format = 'json'\n\t\t\t\t// TODO: replace with proper getFUllpath implementation of our own FileInfo model\n\t\t\t\tconst path = (this.fileInfo.path + '/' + this.fileInfo.name).replace('//', '/')\n\n\t\t\t\t// fetch shares\n\t\t\t\tconst fetchShares = axios.get(shareUrl, {\n\t\t\t\t\tparams: {\n\t\t\t\t\t\tformat,\n\t\t\t\t\t\tpath,\n\t\t\t\t\t\treshares: true,\n\t\t\t\t\t},\n\t\t\t\t})\n\t\t\t\tconst fetchSharedWithMe = axios.get(shareUrl, {\n\t\t\t\t\tparams: {\n\t\t\t\t\t\tformat,\n\t\t\t\t\t\tpath,\n\t\t\t\t\t\tshared_with_me: true,\n\t\t\t\t\t},\n\t\t\t\t})\n\n\t\t\t\t// wait for data\n\t\t\t\tconst [shares, sharedWithMe] = await Promise.all([fetchShares, fetchSharedWithMe])\n\t\t\t\tthis.loading = false\n\n\t\t\t\t// process results\n\t\t\t\tthis.processSharedWithMe(sharedWithMe)\n\t\t\t\tthis.processShares(shares)\n\t\t\t} catch (error) {\n\t\t\t\tif (error.response.data?.ocs?.meta?.message) {\n\t\t\t\t\tthis.error = error.response.data.ocs.meta.message\n\t\t\t\t} else {\n\t\t\t\t\tthis.error = t('files_sharing', 'Unable to load the shares list')\n\t\t\t\t}\n\t\t\t\tthis.loading = false\n\t\t\t\tconsole.error('Error loading the shares list', error)\n\t\t\t}\n\t\t},\n\n\t\t/**\n\t\t * Reset the current view to its default state\n\t\t */\n\t\tresetState() {\n\t\t\tclearInterval(this.expirationInterval)\n\t\t\tthis.loading = true\n\t\t\tthis.error = ''\n\t\t\tthis.sharedWithMe = {}\n\t\t\tthis.shares = []\n\t\t\tthis.linkShares = []\n\t\t\tthis.showSharingDetailsView = false\n\t\t\tthis.shareDetailsData = {}\n\t\t},\n\n\t\t/**\n\t\t * Update sharedWithMe.subtitle with the appropriate\n\t\t * expiration time left\n\t\t *\n\t\t * @param {Share} share the sharedWith Share object\n\t\t */\n\t\tupdateExpirationSubtitle(share) {\n\t\t\tconst expiration = moment(share.expireDate).unix()\n\t\t\tthis.$set(this.sharedWithMe, 'subtitle', t('files_sharing', 'Expires {relativetime}', {\n\t\t\t\trelativetime: OC.Util.relativeModifiedDate(expiration * 1000),\n\t\t\t}))\n\n\t\t\t// share have expired\n\t\t\tif (moment().unix() > expiration) {\n\t\t\t\tclearInterval(this.expirationInterval)\n\t\t\t\t// TODO: clear ui if share is expired\n\t\t\t\tthis.$set(this.sharedWithMe, 'subtitle', t('files_sharing', 'this share just expired.'))\n\t\t\t}\n\t\t},\n\n\t\t/**\n\t\t * Process the current shares data\n\t\t * and init shares[]\n\t\t *\n\t\t * @param {object} share the share ocs api request data\n\t\t * @param {object} share.data the request data\n\t\t */\n\t\tprocessShares({ data }) {\n\t\t\tif (data.ocs && data.ocs.data && data.ocs.data.length > 0) {\n\t\t\t\t// create Share objects and sort by newest\n\t\t\t\tconst shares = data.ocs.data\n\t\t\t\t\t.map(share => new Share(share))\n\t\t\t\t\t.sort((a, b) => b.createdTime - a.createdTime)\n\n\t\t\t\tthis.linkShares = shares.filter(share => share.type === this.SHARE_TYPES.SHARE_TYPE_LINK || share.type === this.SHARE_TYPES.SHARE_TYPE_EMAIL)\n\t\t\t\tthis.shares = shares.filter(share => share.type !== this.SHARE_TYPES.SHARE_TYPE_LINK && share.type !== this.SHARE_TYPES.SHARE_TYPE_EMAIL)\n\n\t\t\t\tconsole.debug('Processed', this.linkShares.length, 'link share(s)')\n\t\t\t\tconsole.debug('Processed', this.shares.length, 'share(s)')\n\t\t\t}\n\t\t},\n\n\t\t/**\n\t\t * Process the sharedWithMe share data\n\t\t * and init sharedWithMe\n\t\t *\n\t\t * @param {object} share the share ocs api request data\n\t\t * @param {object} share.data the request data\n\t\t */\n\t\tprocessSharedWithMe({ data }) {\n\t\t\tif (data.ocs && data.ocs.data && data.ocs.data[0]) {\n\t\t\t\tconst share = new Share(data)\n\t\t\t\tconst title = shareWithTitle(share)\n\t\t\t\tconst displayName = share.ownerDisplayName\n\t\t\t\tconst user = share.owner\n\n\t\t\t\tthis.sharedWithMe = {\n\t\t\t\t\tdisplayName,\n\t\t\t\t\ttitle,\n\t\t\t\t\tuser,\n\t\t\t\t}\n\t\t\t\tthis.reshare = share\n\n\t\t\t\t// If we have an expiration date, use it as subtitle\n\t\t\t\t// Refresh the status every 10s and clear if expired\n\t\t\t\tif (share.expireDate && moment(share.expireDate).unix() > moment().unix()) {\n\t\t\t\t\t// first update\n\t\t\t\t\tthis.updateExpirationSubtitle(share)\n\t\t\t\t\t// interval update\n\t\t\t\t\tthis.expirationInterval = setInterval(this.updateExpirationSubtitle, 10000, share)\n\t\t\t\t}\n\t\t\t} else if (this.fileInfo && this.fileInfo.shareOwnerId !== undefined ? this.fileInfo.shareOwnerId !== OC.currentUser : false) {\n\t\t\t\t// Fallback to compare owner and current user.\n\t\t\t\tthis.sharedWithMe = {\n\t\t\t\t\tdisplayName: this.fileInfo.shareOwner,\n\t\t\t\t\ttitle: t(\n\t\t\t\t\t\t'files_sharing',\n\t\t\t\t\t\t'Shared with you by {owner}',\n\t\t\t\t\t\t{ owner: this.fileInfo.shareOwner },\n\t\t\t\t\t\tundefined,\n\t\t\t\t\t\t{ escape: false },\n\t\t\t\t\t),\n\t\t\t\t\tuser: this.fileInfo.shareOwnerId,\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\n\t\t/**\n\t\t * Add a new share into the shares list\n\t\t * and return the newly created share component\n\t\t *\n\t\t * @param {Share} share the share to add to the array\n\t\t * @param {Function} [resolve] a function to run after the share is added and its component initialized\n\t\t */\n\t\taddShare(share, resolve = () => { }) {\n\t\t\t// only catching share type MAIL as link shares are added differently\n\t\t\t// meaning: not from the ShareInput\n\t\t\tif (share.type === this.SHARE_TYPES.SHARE_TYPE_EMAIL) {\n\t\t\t\tthis.linkShares.unshift(share)\n\t\t\t} else {\n\t\t\t\tthis.shares.unshift(share)\n\t\t\t}\n\t\t\tthis.awaitForShare(share, resolve)\n\t\t},\n\t\t/**\n\t\t * Remove a share from the shares list\n\t\t *\n\t\t * @param {Share} share the share to remove\n\t\t */\n\t\tremoveShare(share) {\n\t\t\t// Get reference for this.linkShares or this.shares\n\t\t\tconst shareList\n\t\t\t\t= share.type === this.SHARE_TYPES.SHARE_TYPE_EMAIL\n\t\t\t\t\t|| share.type === this.SHARE_TYPES.SHARE_TYPE_LINK\n\t\t\t\t\t? this.linkShares\n\t\t\t\t\t: this.shares\n\t\t\tconst index = shareList.findIndex(item => item.id === share.id)\n\t\t\tif (index !== -1) {\n\t\t\t\tshareList.splice(index, 1)\n\t\t\t}\n\t\t},\n\t\t/**\n\t\t * Await for next tick and render after the list updated\n\t\t * Then resolve with the matched vue component of the\n\t\t * provided share object\n\t\t *\n\t\t * @param {Share} share newly created share\n\t\t * @param {Function} resolve a function to execute after\n\t\t */\n\t\tawaitForShare(share, resolve) {\n\t\t\tthis.$nextTick(() => {\n\t\t\t\tlet listComponent = this.$refs.shareList\n\t\t\t\t// Only mail shares comes from the input, link shares\n\t\t\t\t// are managed internally in the SharingLinkList component\n\t\t\t\tif (share.type === this.SHARE_TYPES.SHARE_TYPE_EMAIL) {\n\t\t\t\t\tlistComponent = this.$refs.linkShareList\n\t\t\t\t}\n\t\t\t\tconst newShare = listComponent.$children.find(component => component.share === share)\n\t\t\t\tif (newShare) {\n\t\t\t\t\tresolve(newShare)\n\t\t\t\t}\n\t\t\t})\n\t\t},\n\n\t\ttoggleShareDetailsView(eventData) {\n\t\t\tif (!this.showSharingDetailsView) {\n\t\t\t\tconst isAction = Array.from(document.activeElement.classList)\n\t\t\t\t\t.some(className => className.startsWith('action-'))\n\t\t\t\tif (isAction) {\n\t\t\t\t\tconst menuId = document.activeElement.closest('[role=\"menu\"]')?.id\n\t\t\t\t\tthis.returnFocusElement = document.querySelector(`[aria-controls=\"${menuId}\"]`)\n\t\t\t\t} else {\n\t\t\t\t\tthis.returnFocusElement = document.activeElement\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tif (eventData) {\n\t\t\t\tthis.shareDetailsData = eventData\n\t\t\t}\n\n\t\t\tthis.showSharingDetailsView = !this.showSharingDetailsView\n\n\t\t\tif (!this.showSharingDetailsView) {\n\t\t\t\tthis.$nextTick(() => { // Wait for next tick as the element must be visible to be focused\n\t\t\t\t\tthis.returnFocusElement?.focus()\n\t\t\t\t\tthis.returnFocusElement = null\n\t\t\t\t})\n\t\t\t}\n\t\t},\n\t},\n}\n</script>\n\n<style scoped lang=\"scss\">\n.emptyContentWithSections {\n\tmargin: 1rem auto;\n}\n\n.sharingTab {\n\tposition: relative;\n\theight: 100%;\n\n\t&__content {\n\t\tpadding: 0 6px;\n\t}\n\n\t&__additionalContent {\n\t\tmargin: 44px 0;\n\t}\n}\n</style>\n","/**\n * SPDX-FileCopyrightText: 2019 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\n\nimport { Type as ShareTypes } from '@nextcloud/sharing'\n\nconst shareWithTitle = function(share) {\n\tif (share.type === ShareTypes.SHARE_TYPE_GROUP) {\n\t\treturn t(\n\t\t\t'files_sharing',\n\t\t\t'Shared with you and the group {group} by {owner}',\n\t\t\t{\n\t\t\t\tgroup: share.shareWithDisplayName,\n\t\t\t\towner: share.ownerDisplayName,\n\t\t\t},\n\t\t\tundefined,\n\t\t\t{ escape: false },\n\t\t)\n\t} else if (share.type === ShareTypes.SHARE_TYPE_CIRCLE) {\n\t\treturn t(\n\t\t\t'files_sharing',\n\t\t\t'Shared with you and {circle} by {owner}',\n\t\t\t{\n\t\t\t\tcircle: share.shareWithDisplayName,\n\t\t\t\towner: share.ownerDisplayName,\n\t\t\t},\n\t\t\tundefined,\n\t\t\t{ escape: false },\n\t\t)\n\t} else if (share.type === ShareTypes.SHARE_TYPE_ROOM) {\n\t\tif (share.shareWithDisplayName) {\n\t\t\treturn t(\n\t\t\t\t'files_sharing',\n\t\t\t\t'Shared with you and the conversation {conversation} by {owner}',\n\t\t\t\t{\n\t\t\t\t\tconversation: share.shareWithDisplayName,\n\t\t\t\t\towner: share.ownerDisplayName,\n\t\t\t\t},\n\t\t\t\tundefined,\n\t\t\t\t{ escape: false },\n\t\t\t)\n\t\t} else {\n\t\t\treturn t(\n\t\t\t\t'files_sharing',\n\t\t\t\t'Shared with you in a conversation by {owner}',\n\t\t\t\t{\n\t\t\t\t\towner: share.ownerDisplayName,\n\t\t\t\t},\n\t\t\t\tundefined,\n\t\t\t\t{ escape: false },\n\t\t\t)\n\t\t}\n\t} else {\n\t\treturn t(\n\t\t\t'files_sharing',\n\t\t\t'Shared with you by {owner}',\n\t\t\t{ owner: share.ownerDisplayName },\n\t\t\tundefined,\n\t\t\t{ escape: false },\n\t\t)\n\t}\n}\n\nexport { shareWithTitle }\n","import mod from \"-!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SharingTab.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SharingTab.vue?vue&type=script&lang=js\"","\n      import API from \"!../../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n      import domAPI from \"!../../../../node_modules/style-loader/dist/runtime/styleDomAPI.js\";\n      import insertFn from \"!../../../../node_modules/style-loader/dist/runtime/insertBySelector.js\";\n      import setAttributes from \"!../../../../node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js\";\n      import insertStyleElement from \"!../../../../node_modules/style-loader/dist/runtime/insertStyleElement.js\";\n      import styleTagTransformFn from \"!../../../../node_modules/style-loader/dist/runtime/styleTagTransform.js\";\n      import content, * as namedExport from \"!!../../../../node_modules/css-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/sass-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SharingTab.vue?vue&type=style&index=0&id=8986694e&prod&scoped=true&lang=scss\";\n      \n      \n\nvar options = {};\n\noptions.styleTagTransform = styleTagTransformFn;\noptions.setAttributes = setAttributes;\n\n      options.insert = insertFn.bind(null, \"head\");\n    \noptions.domAPI = domAPI;\noptions.insertStyleElement = insertStyleElement;\n\nvar update = API(content, options);\n\n\n\nexport * from \"!!../../../../node_modules/css-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/sass-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SharingTab.vue?vue&type=style&index=0&id=8986694e&prod&scoped=true&lang=scss\";\n       export default content && content.locals ? content.locals : undefined;\n","import { render, staticRenderFns } from \"./SharingTab.vue?vue&type=template&id=8986694e&scoped=true\"\nimport script from \"./SharingTab.vue?vue&type=script&lang=js\"\nexport * from \"./SharingTab.vue?vue&type=script&lang=js\"\nimport style0 from \"./SharingTab.vue?vue&type=style&index=0&id=8986694e&prod&scoped=true&lang=scss\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n  script,\n  render,\n  staticRenderFns,\n  false,\n  null,\n  \"8986694e\",\n  null\n  \n)\n\nexport default component.exports"],"names":["module","exports","commonjsRequire","Error","qrcode","fn","createCommonjsModule","f","r","e","n","t","o","i","u","a","code","p","call","length","require","Promise","prototype","then","getSymbolSize","getRowColCoords","version","posCount","Math","floor","size","intervals","ceil","positions","push","reverse","getPositions","coords","pos","posLength","j","Mode","ALPHA_NUM_CHARS","AlphanumericData","data","this","mode","ALPHANUMERIC","getBitsLength","getLength","write","bitBuffer","value","indexOf","put","BitBuffer","buffer","get","index","bufIndex","num","putBit","getLengthInBits","bit","BufferUtil","BitMatrix","alloc","reservedBit","set","row","col","reserved","xor","isReserved","ByteData","BYTE","from","l","ECLevel","EC_BLOCKS_TABLE","EC_CODEWORDS_TABLE","getBlocksCount","errorCorrectionLevel","L","M","Q","H","getTotalCodewordsCount","isValid","level","defaultValue","string","toLowerCase","fromString","Utils","G15_BCH","getBCHDigit","getEncodedBits","mask","d","EXP_TABLE","LOG_TABLE","x","log","exp","mul","y","KanjiData","KANJI","toSJIS","Patterns","PATTERN000","PATTERN001","PATTERN010","PATTERN011","PATTERN100","PATTERN101","PATTERN110","PATTERN111","PenaltyScores","getMaskAt","maskPattern","isNaN","parseInt","undefined","getPenaltyN1","points","sameCountCol","sameCountRow","lastCol","lastRow","getPenaltyN2","last","getPenaltyN3","bitsCol","bitsRow","getPenaltyN4","darkCount","modulesCount","abs","applyMask","pattern","getBestMask","setupFormatFunc","numPatterns","Object","keys","bestPattern","lowerPenalty","Infinity","penalty","VersionCheck","Regex","NUMERIC","id","ccBits","MIXED","getCharCountIndicator","getBestModeForData","dataStr","testNumeric","testAlphanumeric","testKanji","toString","NumericData","group","substr","remainingNum","GF","p1","p2","coeff","mod","divident","divisor","result","offset","slice","generateECPolynomial","degree","poly","AlignmentPattern","FinderPattern","MaskPattern","ECCode","ReedSolomonEncoder","Version","FormatInfo","Segments","isArray","setupFormatInfo","matrix","bits","createData","segments","forEach","dataTotalCodewordsBits","getSymbolTotalCodewords","remainingByte","totalCodewords","dataTotalCodewords","ecTotalBlocks","blocksInGroup1","totalCodewordsInGroup1","dataCodewordsInGroup1","dataCodewordsInGroup2","ecCount","rs","dcData","Array","ecData","maxDataSize","b","dataSize","encode","max","createCodewords","createSymbol","fromArray","estimatedVersion","rawSegments","rawSplit","getBestVersionForData","bestVersion","dataBits","moduleCount","modules","c","setupFinderPattern","setupTimingPattern","setupAlignmentPattern","setupVersionInfo","inc","bitIndex","byteIndex","dark","setupData","bind","create","options","toSJISFunc","setToSJISFunction","Polynomial","Buffer","genPoly","initialize","pad","paddedData","concat","remainder","start","buff","copy","numeric","kanji","byte","replace","RegExp","BYTE_KANJI","TEST_KANJI","TEST_NUMERIC","TEST_ALPHANUMERIC","str","test","dijkstra","getStringByteLength","unescape","encodeURIComponent","getSegments","regex","exec","getSegmentsFromString","byteSegs","kanjiSegs","numSegs","alphaNumSegs","isKanjiModeEnabled","sort","s1","s2","map","obj","getSegmentBitsLength","buildSingleSegment","modesHint","bestMode","array","reduce","acc","seg","graph","nodes","table","prevNodeIds","nodeGroup","currentNodeIds","node","key","lastCount","prevNodeId","buildGraph","segs","buildNodes","path","find_path","optimizedSegs","curr","prevSeg","toSJISFunction","CODEWORDS_COUNT","digit","G18_BCH","getReservedBitsCount","getTotalBitsFromDataArray","totalBits","reservedBits","getCapacity","usableBits","ecl","currentVersion","getBestVersionForMixedData","getBestVersionForDataLength","canPromise","QRCode","CanvasRenderer","SvgRenderer","renderCanvas","renderFunc","canvas","text","opts","cb","args","arguments","argsNum","isLastArgCb","getContext","resolve","reject","toCanvas","render","toDataURL","renderToDataURL","_","qrData","canvasEl","document","createElement","getCanvasElement","getOptions","getImageWidth","ctx","image","createImageData","qrToImageData","clearRect","width","height","style","clearCanvas","putImageData","type","rendererOpts","quality","getColorAttrib","color","attrib","alpha","hex","toFixed","svgCmd","cmd","qrcodesize","margin","bg","light","moveBy","newRow","lineLength","qrToPath","viewBox","svgTag","hex2rgba","hexCode","split","apply","hexValue","join","g","scale","getScale","qrSize","imgData","qr","symbolSize","scaledMargin","palette","posDst","pxColor","TYPED_ARRAY_SUPPORT","arr","Uint8Array","__proto__","foo","typedArraySupport","K_MAX_LENGTH","arg","allocUnsafe","that","TypeError","ArrayBuffer","byteOffset","byteLength","RangeError","buf","fromArrayLike","fromArrayBuffer","createBuffer","actual","isBuffer","len","checked","val","fromObject","utf8ToBytes","units","codePoint","leadSurrogate","bytes","charCodeAt","isView","Symbol","species","defineProperty","configurable","enumerable","writable","isFinite","remaining","src","dst","blitBuffer","utf8Write","end","newBuf","subarray","sliceLen","target","targetStart","fill","list","_isBuffer","b64","lens","getLens","validLen","placeHoldersLen","toByteArray","tmp","Arr","_byteLength","curByte","revLookup","fromByteArray","uint8","extraBytes","parts","maxChunkLength","len2","encodeChunk","lookup","output","base64","ieee754","customInspectSymbol","for","SlowBuffer","INSPECT_MAX_BYTES","setPrototypeOf","encodingOrOffset","encoding","isEncoding","isInstance","valueOf","numberIsNaN","toPrimitive","assertSize","mustMatch","loweredCase","base64ToBytes","slowToString","hexSlice","utf8Slice","asciiSlice","latin1Slice","base64Slice","utf16leSlice","swap","m","bidirectionalIndexOf","dir","arrayIndexOf","lastIndexOf","indexSize","arrLength","valLength","String","read","readUInt16BE","foundIndex","found","hexWrite","Number","strLen","parsed","asciiWrite","byteArray","asciiToBytes","latin1Write","base64Write","ucs2Write","hi","lo","utf16leToBytes","min","res","secondByte","thirdByte","fourthByte","tempCodePoint","firstByte","bytesPerSequence","codePoints","MAX_ARGUMENTS_LENGTH","fromCharCode","decodeCodePointsArray","kMaxLength","proto","console","error","poolSize","allocUnsafeSlow","compare","swap16","swap32","swap64","toLocaleString","equals","inspect","trim","thisStart","thisEnd","thisCopy","targetCopy","includes","toJSON","_arr","ret","out","hexSliceLookupTable","checkOffset","ext","checkInt","checkIEEE754","writeFloat","littleEndian","noAssert","writeDouble","readUIntLE","readUIntBE","readUInt8","readUInt16LE","readUInt32LE","readUInt32BE","readIntLE","pow","readIntBE","readInt8","readInt16LE","readInt16BE","readInt32LE","readInt32BE","readFloatLE","readFloatBE","readDoubleLE","readDoubleBE","writeUIntLE","writeUIntBE","writeUInt8","writeUInt16LE","writeUInt16BE","writeUInt32LE","writeUInt32BE","writeIntLE","limit","sub","writeIntBE","writeInt8","writeInt16LE","writeInt16BE","writeInt32LE","writeInt32BE","writeFloatLE","writeFloatBE","writeDoubleLE","writeDoubleBE","copyWithin","INVALID_BASE64_RE","base64clean","constructor","name","alphabet","i16","single_source_shortest_paths","s","predecessors","costs","closest","v","cost_of_s_to_u","adjacent_nodes","cost_of_s_to_u_plus_cost_of_e","cost_of_s_to_v","open","PriorityQueue","make","empty","pop","cost","hasOwnProperty","msg","extract_shortest_path_from_predecessor_list","T","queue","sorter","default_sorter","item","shift","isLE","mLen","nBytes","eLen","eMax","eBias","nBits","NaN","rt","LN2","props","tag","default","$slots","watch","$props","deep","immediate","handler","$el","generate","methods","_this","url","innerHTML","mounted","factory","___CSS_LOADER_EXPORT___","params","assign","ocsVersion","window","location","protocol","host","getRootUrl","_generateUrlPath","allOptions","escape","charAt","vars","webroot","_oc_webroot","pathname","self","ampersandTest","nativeURLSearchParams","URLSearchParams","isSupportObjectConstructor","decodesPlusesCorrectly","isSupportSize","__URLSearchParams__","encodesAmpersandsCorrectly","append","URLSearchParamsPolyfill","iterable","iterator","appendTo","dict","has","getAll","query","propValue","useProxy","Proxy","construct","Function","USPProto","polyfill","toStringTag","callback","thisArg","parseToDict","getOwnPropertyNames","k","values","items","makeIterator","entries","prev","cur","search","match","decode","decodeURIComponent","next","done","pairs","JSON","stringify","prop","styleTagTransform","setAttributes","insert","domAPI","insertStyleElement","locals","global","freeSelf","Date","now","reWhitespace","reTrimStart","objectProto","nativeObjectToString","symToStringTag","isOwn","unmasked","reIsBadHex","reIsBinary","reIsOctal","freeParseInt","other","isBinary","nativeMax","nativeMin","http","listCollection","collectionId","renameCollection","collectionName","ocs","getCollectionsByResource","resourceType","resourceId","createCollection","post","addResource","removeResource","delete","observable","collections","h","addCollections","addCollection","removeCollection","filter","updateCollection","findIndex","fetchCollectionsByResource","baseResourceType","baseResourceId","addResourceToCollection","resources","R","I","staticRenderFns","_compiled","functional","_scopeId","$vnode","ssrContext","parent","__VUE_SSR_CONTEXT__","_registeredComponents","add","_ssrRegister","$root","$options","shadowRoot","_injectStyles","N","C","beforeCreate","components","NcAvatar","NcActions","NcActionButton","collection","detailsOpen","newName","computed","getIcon","iconClass","typeClass","limitedResources","iconUrl","mimetype","OC","MimeType","getIconUrl","toggleDetails","showDetails","hideDetails","openRename","catch","$set","setTimeout","_self","_c","staticClass","attrs","title","on","click","_v","_s","class","shouldshake","rename","submit","preventDefault","directives","rawName","expression","autocomplete","autocapitalize","domProps","input","composing","_e","_l","href","link","icon","F","func","wait","lastArgs","lastThis","maxWait","timerId","lastCallTime","lastInvokeTime","leading","maxing","trailing","invokeFunc","time","shouldInvoke","timeSinceLastCall","timerExpired","trailingEdge","timeWaiting","remainingWait","debounced","isInvoking","leadingEdge","clearTimeout","cancel","flush","searchCollections","finally","CollectionListItem","NcSelect","isActive","Boolean","selectIsOpen","generatingCodes","codes","model","state","isSelectOpen","find","placeholder","OCP","Collaboration","getTypes","method","getLabel","action","trigger","select","setError","showSelect","$refs","focus","hideSelect","isVueComponent","_isVue","_m","ref","label","close","scopedSlots","_u","Config","_capabilities","getCapabilities","defaultPermissions","_this$_capabilities$f","files_sharing","default_permissions","isPublicUploadEnabled","_this$_capabilities$f2","public","upload","isShareWithLinkAllowed","getElementById","federatedShareDocLink","appConfig","core","federatedCloudShareDoc","defaultExpirationDate","isDefaultExpireDateEnabled","setDate","getDate","defaultExpireDate","defaultInternalExpirationDate","isDefaultInternalExpireDateEnabled","defaultInternalExpireDate","defaultRemoteExpirationDateString","isDefaultRemoteExpireDateEnabled","defaultRemoteExpireDate","enforcePasswordForPublicLink","enableLinkPasswordByDefault","isDefaultExpireDateEnforced","defaultExpireDateEnforced","defaultExpireDateEnabled","isDefaultInternalExpireDateEnforced","defaultInternalExpireDateEnforced","isDefaultRemoteExpireDateEnforced","defaultRemoteExpireDateEnforced","defaultInternalExpireDateEnabled","defaultRemoteExpireDateEnabled","isRemoteShareAllowed","remoteShareAllowed","isMailShareAllowed","_this$_capabilities","_this$_capabilities2","sharebymail","enabled","isResharingAllowed","resharingAllowed","isPasswordForMailSharesRequired","password","enforced","shouldAlwaysShowUnique","_this$_capabilities$f3","sharee","always_show_unique","allowGroupSharing","maxAutocompleteResults","config","minSearchStringLength","passwordPolicy","password_policy","Share","ocsData","_ocsData$attributes","hide_download","mail_send","attributes","parse","warn","_share","share_type","permissions","owner","uid_owner","ownerDisplayName","displayname_owner","shareWith","share_with","shareWithDisplayName","share_with_displayname","shareWithDisplayNameUnique","share_with_displayname_unique","shareWithLink","share_with_link","shareWithAvatar","share_with_avatar","uidFileOwner","uid_file_owner","displaynameFileOwner","displayname_file_owner","createdTime","stime","expireDate","expiration","date","token","note","_this$_share$label","mailSend","hideDownload","passwordExpirationTime","password_expiration_time","sendPasswordByTalk","send_password_by_talk","itemType","item_type","fileSource","file_source","fileTarget","file_target","fileParent","file_parent","hasReadPermission","PERMISSION_READ","hasCreatePermission","PERMISSION_CREATE","hasDeletePermission","PERMISSION_DELETE","hasUpdatePermission","PERMISSION_UPDATE","hasSharePermission","PERMISSION_SHARE","hasDownloadPermission","attr","scope","setAttribute","attrUpdate","splice","canEdit","can_edit","canDelete","can_delete","viaFileid","via_fileid","viaPath","via_path","storageId","storage_id","storage","itemSource","item_source","status","SHARE_TYPES","ShareTypes","emits","fillColor","_vm","_b","$event","$emit","$attrs","required","subtitle","isUnique","ariaExpanded","ariaExpandedValue","_t","SharingEntrySimple","CheckIcon","ClipboardIcon","fileInfo","copied","copySuccess","internalLink","generateUrl","copyLinkTooltip","internalLinkSubtitle","copyLink","navigator","clipboard","writeText","showSuccess","shareEntrySimple","actionsComponent","proxy","async","api","request","axios","info","showError","crypto","getRandomValues","passwordSet","shareUrl","generateOcsUrl","createShare","_ref","shareType","publicUpload","_request$data","share","emit","_error$response","errorMessage","response","meta","message","Notification","showTemporary","deleteShare","_request$data2","_error$response2","updateShare","properties","_request$data3","_error$response3","openSharingDetails","shareRequestObject","suggestions","mapShareRequestToShareObject","shareDetails","openShareDetailsForCustomSettings","setCustomPermissions","is_no_user","isNoUser","user","displayName","mixins","ShareRequests","ShareDetails","shares","linkShares","reshare","canReshare","loading","recommendations","ShareSearch","OCA","Sharing","externalResults","results","inputPlaceholder","allowRemoteSharing","isValidQuery","noResultText","getRecommendations","onSelected","option","asyncFind","debounceGetSuggestions","getSuggestions","query_lookup_default","SHARE_TYPE_USER","SHARE_TYPE_GROUP","SHARE_TYPE_REMOTE","SHARE_TYPE_REMOTE_GROUP","SHARE_TYPE_CIRCLE","SHARE_TYPE_ROOM","SHARE_TYPE_GUEST","SHARE_TYPE_DECK","SHARE_TYPE_SCIENCEMESH","SHARE_TYPE_EMAIL","format","perPage","exact","rawExactSuggestions","elem","rawSuggestions","exactSuggestions","filterOutExistingShares","formatForMultiselect","lookupEntry","lookupEnabled","condition","allSuggestions","nameCounts","desc","debounce","rawRecommendations","getCurrentUser","uid","sharesObj","shareTypeToIcon","iconTitle","_result$shareWithDisp","server","_result$shareWithDesc","shareWithDescription","uuid","addShare","$nextTick","$children","debug","GeneratePassword","sharePermissions","shareAttributes","newPassword","clear-search-on-blur","$$v","ATOMIC_PERMISSIONS","NONE","READ","UPDATE","CREATE","DELETE","SHARE","BUNDLED_PERMISSIONS","READ_ONLY","UPLOAD_AND_UPDATE","FILE_DROP","ALL","ALL_FILE","SharesRequests","_this$share","errors","saving","updateQueue","PQueue","concurrency","reactiveState","hasNote","dateTomorrow","lang","weekdaysShort","dayNamesShort","monthsShort","monthNamesShort","formatLocale","firstDayOfWeek","firstDay","weekdaysMin","monthFormat","isFolder","isPublicShare","_this$share$shareType","SHARE_TYPE_LINK","isRemoteShare","isShareOwner","isExpiryDateEnforced","hasCustomPermissions","maxExpirationDateEnforced","checkShare","expirationDate","parseDateString","_date$match","formatDateToString","UTC","getFullYear","getMonth","toISOString","onExpirationChange","onExpirationDisable","onNoteChange","onNoteSubmit","newNote","$delete","queueUpdate","onDelete","_len","propertyNames","_key","updatedShare","propertyName","onSyncError","property","propertyEl","focusable","querySelector","debounceQueueUpdate","NcActionLink","NcActionText","SharesMixin","viaFileTargetUrl","fileid","viaFolderName","basename","initiator","folder","SharingEntryInherited","loaded","showInheritedShares","showInheritedSharesIcon","mainTitle","subTitle","toggleTooltip","fullPath","resetState","toggleInheritedShares","fetchInheritedShares","removeShare","stopPropagation","DropdownIcon","selectedOption","ariaLabel","canViewText","canEditText","fileDropText","customPermissionsText","preSelectedOption","IconEyeOutline","IconPencil","supportsFileDrop","IconFileUpload","IconTune","_this$share$type","dropDownPermissionValue","created","selectOption","optionLabel","quickShareActions","menuButton","is","_g","handlers","ExternalShareAction","NcActionInput","NcActionSeparator","NcDialog","VueQrcode","Tune","IconQr","ErrorIcon","LockIcon","CloseIcon","PlusIcon","SharingEntryQuickShareSelect","pending","ExternalLegacyLinkActions","ExternalLinkActions","ExternalShareActions","showQRCode","isEmailShareType","isPasswordProtected","Vue","expirationTime","moment","diff","fromNow","isTalkEnabled","appswebroots","spreed","isPasswordProtectedByTalkAvailable","isPasswordProtectedByTalk","canTogglePasswordProtectedByTalkAvailable","hasUnsavedPassword","pendingPassword","pendingEnforcedPassword","pendingExpirationDate","shareLink","actionsTooltip","externalLegacyLinkActions","actions","externalLinkActions","advanced","isPasswordPolicyEnabled","canChangeHideDownload","some","shareAttribute","onNewLinkShare","shareDefaults","pushNewLinkShare","component","update","newShare","_data$response","copyButton","onPasswordChange","onPasswordDisable","onPasswordSubmit","onPasswordProtectedByTalkChange","onMenuClose","onCancel","SharingEntryLink","minLength","canLinkShare","hasLinkShares","hasShares","unshift","awaitForShare","NcButton","DotsHorizontalIcon","tooltip","hasStatus","SharingEntry","NcInputField","NcPasswordField","NcDateTimePickerNative","NcCheckboxRadioSwitch","NcLoadingIcon","CircleIcon","EditIcon","LinkIcon","GroupIcon","ShareIcon","UserIcon","UploadIcon","ViewIcon","MenuDownIcon","MenuUpIcon","shareRequestValue","writeNoteToRecipientIsChecked","sharingPermission","revertSharingPermission","passwordError","advancedSectionAccordionExpanded","bundledPermissions","isFirstComponentLoad","creating","userName","email","updateAtomicPermissions","isEditChecked","canCreate","isCreateChecked","isDeleteChecked","isReshareChecked","canDownload","_this$share$attribute","downloadAttr","hasRead","isReadChecked","hasExpirationDate","isValidShareAttribute","defaultExpiryDate","isSetDownloadButtonVisible","isPasswordEnforced","isGroupShare","isUserShare","isNewShare","allowsFileDrop","hasFileDropPermissions","shareButtonText","canSetEdit","canSetCreate","canSetDelete","canSetReshare","canSetDownload","customPermissionsList","translatedPermissions","permission","hasPermissions","initialPermissionSet","permissionsToCheck","toLocaleLowerCase","getLanguage","advancedControlExpandedValue","errorPasswordLabel","ShareType","isChecked","beforeMount","initializePermissions","initializeAttributes","_this$$refs$quickPerm","quickPermissions","expandCustomPermissions","toggleCustomPermissions","selectedPermission","isCustomPermissions","toDateString","handleShareType","handleDefaultPermissions","handleCustomPermissions","saveShare","_this$$refs$externalL","permissionsAndAttributes","sharePermissionsSet","incomingShare","allSettled","_action$$children$at","_action$$children$at2","_action$$children$at3","at","onSave","getShareTypeIcon","EmailIcon","_vm$share$expireDate","refInFor","CollectionList","SharingEntryInternal","SharingInherited","SharingInput","SharingLinkList","SharingList","SharingDetailsTab","deleteEvent","expirationInterval","sharedWithMe","sections","ShareTabSections","getSections","projectsEnabled","loadState","showSharingDetailsView","shareDetailsData","returnFocusElement","isSharedWithMe","getShares","fetchShares","reshares","fetchSharedWithMe","shared_with_me","all","processSharedWithMe","processShares","_error$response$data","clearInterval","updateExpirationSubtitle","unix","relativetime","Util","relativeModifiedDate","_ref2","circle","conversation","shareWithTitle","setInterval","shareOwnerId","currentUser","shareOwner","shareList","listComponent","linkShareList","toggleShareDetailsView","eventData","activeElement","classList","className","startsWith","_document$activeEleme","menuId","_this$returnFocusElem","emptyContentWithSections","section"],"sourceRoot":""}
\ No newline at end of file
index 450d22d6beba037a83ed27ab77465d07192b6ce5..50c44cc71a131830de7a9c988b488b7b88a2cc21 100644 (file)
@@ -1,3 +1,3 @@
-/*! For license information please see files_sharing-additionalScripts.js.license?v=3e49195337c23532cc25 */
-(()=>{var e,a={6651:(e,a,r)=>{"use strict";var i=r(70580),n=r.n(i),s=r(52129),o=r(87485);_.extend(OC.Files.Client,{PROPERTY_SHARE_TYPES:"{"+OC.Files.Client.NS_OWNCLOUD+"}share-types",PROPERTY_OWNER_ID:"{"+OC.Files.Client.NS_OWNCLOUD+"}owner-id",PROPERTY_OWNER_DISPLAY_NAME:"{"+OC.Files.Client.NS_OWNCLOUD+"}owner-display-name"}),OCA.Sharing||(OCA.Sharing={}),OCA.Sharing.Util={_REMOTE_OWNER_REGEXP:new RegExp("^(([^@]*)@(([^@^/\\s]*)@)?)((https://)?[^[\\s/]*)([/](.*))?$"),attach:function(e){var a;if(null!==(a=(0,o.F)().files_sharing)&&void 0!==a&&a.api_enabled&&"trashbin"!==e.id&&"files.public"!==e.id){var r=e.fileActions,i=e._createRow;e._createRow=function(e){var a=i.apply(this,arguments),t=OCA.Sharing.Util.getSharePermissions(e);return 0===e.permissions&&(delete r.actions.all.Comment,delete r.actions.all.Details,delete r.actions.all.Goto),_.isFunction(e.canDownload)&&!e.canDownload()&&(delete r.actions.all.Download,0==(e.permissions&OC.PERMISSION_UPDATE)&&delete r.actions.all.MoveCopy),a.attr("data-share-permissions",t),a.attr("data-share-attributes",JSON.stringify(e.shareAttributes)),e.shareOwner&&(a.attr("data-share-owner",e.shareOwner),a.attr("data-share-owner-id",e.shareOwnerId),"shared-root"===e.mountType&&a.attr("data-permissions",e.permissions|OC.PERMISSION_UPDATE)),e.recipientData&&!_.isEmpty(e.recipientData)&&a.attr("data-share-recipient-data",JSON.stringify(e.recipientData)),e.shareTypes&&a.attr("data-share-types",e.shareTypes.join(",")),a};var n=e.elementToFile;e.elementToFile=function(e){var a=n.apply(this,arguments);if(a.shareAttributes=JSON.parse(e.attr("data-share-attributes")||"[]"),a.sharePermissions=e.attr("data-share-permissions")||void 0,a.shareOwner=e.attr("data-share-owner")||void 0,a.shareOwnerId=e.attr("data-share-owner-id")||void 0,e.attr("data-share-types")&&(a.shareTypes=e.attr("data-share-types").split(",")),e.attr("data-expiration")){var r=parseInt(e.attr("data-expiration"));a.shares=[],a.shares.push({expiration:r})}return a};var l=e._getWebdavProperties;e._getWebdavProperties=function(){var e=l.apply(this,arguments);return e.push(OC.Files.Client.PROPERTY_OWNER_ID),e.push(OC.Files.Client.PROPERTY_OWNER_DISPLAY_NAME),e.push(OC.Files.Client.PROPERTY_SHARE_TYPES),e},e.filesClient.addFileInfoParser((function(e){var a={},r=e.propStat[0].properties,t=r[OC.Files.Client.PROPERTY_PERMISSIONS];t&&t.indexOf("S")>=0&&(a.shareOwner=r[OC.Files.Client.PROPERTY_OWNER_DISPLAY_NAME],a.shareOwnerId=r[OC.Files.Client.PROPERTY_OWNER_ID]);var i=r[OC.Files.Client.PROPERTY_SHARE_TYPES];return i&&(a.shareTypes=_.chain(i).filter((function(e){return e.namespaceURI===OC.Files.Client.NS_OWNCLOUD&&"share-type"===e.nodeName.split(":")[1]})).map((function(e){return parseInt(e.textContent||e.text,10)})).value()),a})),e.$el.on("fileActionsReady",(function(e){var a=e.$files;_.each(a,(function(e){var a=$(e),r=a.attr("data-share-types")||"",t=a.attr("data-share-owner");if(r||t){var i=!1,n=!1;_.each(r.split(",")||[],(function(e){let a=parseInt(e,10);a===s.Z.SHARE_TYPE_LINK||a===s.Z.SHARE_TYPE_EMAIL?i=!0:(a===s.Z.SHARE_TYPE_USER||a===s.Z.SHARE_TYPE_GROUP||a===s.Z.SHARE_TYPE_REMOTE||a===s.Z.SHARE_TYPE_REMOTE_GROUP||a===s.Z.SHARE_TYPE_CIRCLE||a===s.Z.SHARE_TYPE_ROOM||a===s.Z.SHARE_TYPE_DECK||a===s.Z.SHARE_TYPE_SCIENCEMESH)&&(n=!0)})),OCA.Sharing.Util._updateFileActionIcon(a,n,i)}}))})),e.$el.on("changeDirectory",(function(){OCA.Sharing.sharesLoaded=!1})),r.registerAction({name:"Share",displayName:function(e){if(e&&e.$file){var a=parseInt(e.$file.data("share-types"),10),r=e.$file.data("share-owner-id");if(a>=0||r)return t("files_sharing","Shared")}return t("files_sharing","Share")},altText:t("files_sharing","Share"),mime:"all",order:-150,permissions:OC.PERMISSION_ALL,iconClass:function(e,a){var r=parseInt(a.$file.data("share-types"),10);return r===s.Z.SHARE_TYPE_EMAIL||r===s.Z.SHARE_TYPE_LINK?"icon-public":"icon-shared"},icon:function(e,a){var r=a.$file.data("share-owner-id");if(r)return OC.generateUrl("/avatar/".concat(r,"/32"))},type:OCA.Files.FileActions.TYPE_INLINE,actionHandler:function(a,r){if(e._detailsView){var t=parseInt(r.$file.data("share-permissions"),10);(isNaN(t)||t>0)&&e.showDetailsView(a,"sharing")}},render:function(e,a,t){return 0!=(parseInt(t.$file.data("permissions"),10)&OC.PERMISSION_SHARE)||t.$file.attr("data-share-owner")?r._defaultRenderAction.call(r,e,a,t):null}});var d=new OCA.Sharing.ShareBreadCrumbView;e.registerBreadCrumbDetailView(d)}},_updateFileListDataAttributes:function(e,a,r){if("files"!==e.id)if(_.pluck(r.get("shares"),"share_with_displayname").length){var t=_.mapObject(r.get("shares"),(function(e){return{shareWith:e.share_with,shareWithDisplayName:e.share_with_displayname}}));a.attr("data-share-recipient-data",JSON.stringify(t))}else a.removeAttr("data-share-recipient-data")},_updateFileActionIcon:function(e,a,r){return!!(a||r||e.attr("data-share-recipient-data")||e.attr("data-share-owner"))&&(OCA.Sharing.Util._markFileAsShared(e,!0,r),!0)},_markFileAsShared:function(e,a,r){var i,n,s,o,l=e.find('.fileactions .action[data-action="Share"]'),d=e.data("type"),h=l.find(".icon"),c=e.attr("data-share-owner-id"),p=e.attr("data-share-owner"),u=e.attr("data-mounttype"),f="icon-shared";l.removeClass("shared-style");var m=e.attr("data-e2eencrypted");"dir"===d&&"true"===m?(o=OC.MimeType.getIconUrl("dir-encrypted"),e.attr("data-icon",o)):"dir"===d&&(a||r||c)?(o=void 0!==u&&"shared-root"!==u&&"shared"!==u?OC.MimeType.getIconUrl("dir-"+u):r?OC.MimeType.getIconUrl("dir-public"):OC.MimeType.getIconUrl("dir-shared"),e.find(".filename .thumbnail").css("background-image","url("+o+")"),e.attr("data-icon",o)):"dir"===d&&(u&&0===u.indexOf("external")?(o=OC.MimeType.getIconUrl("dir-external"),e.attr("data-icon",o)):(o=OC.MimeType.getIconUrl("dir"),e.removeAttr("data-icon")),e.find(".filename .thumbnail").css("background-image","url("+o+")")),a||c?(n=e.data("share-recipient-data"),l.addClass("shared-style"),s="<span>"+t("files_sharing","Shared")+"</span>",c?(i=t("files_sharing","Shared by"),s=OCA.Sharing.Util._formatRemoteShare(c,p,i)):n&&(s=OCA.Sharing.Util._formatShareList(n)),l.html(s).prepend(h),(c||n)&&l.find(".avatar").each((function(){$(this).avatar($(this).data("username"),32)}))):l.html('<span class="hidden-visually">'+t("files_sharing","Shared")+"</span>").prepend(h),r&&(f="icon-public"),h.removeClass("icon-shared icon-public").addClass(f)},_formatRemoteShare:function(e,a,r){var t=OCA.Sharing.Util._REMOTE_OWNER_REGEXP.exec(e);if(!t||!t[7])return'<span class="avatar" data-username="'+n()(e)+'" title="'+r+" "+n()(a)+'"></span><span class="hidden-visually">'+r+" "+n()(a)+"</span> ";var i=t[2],s=t[4],o=t[5],l=t[6],d=t[8]?t[7]:"",h=r+" "+i;s&&(h+="@"+s),o&&(h+="@"+o.replace(l,"")+d);var c='<span class="remoteAddress" title="'+n()(h)+'">';return c+='<span class="username">'+n()(i)+"</span>",s&&(c+='<span class="userDomain">@'+n()(s)+"</span>"),c+"</span> "},_formatShareList:function(e){var a=this;return(e=_.toArray(e)).sort((function(e,a){return e.shareWithDisplayName.localeCompare(a.shareWithDisplayName)})),$.map(e,(function(e){return a._formatRemoteShare(e.shareWith,e.shareWithDisplayName,t("files_sharing","Shared with"))}))},markFileAsShared:function(e,a,r){var i,n,s,o,l=e.find('.fileactions .action[data-action="Share"]'),d=e.data("type"),h=l.find(".icon"),c=e.attr("data-share-owner-id"),p=e.attr("data-share-owner"),u=e.attr("data-mounttype"),f="icon-shared";l.removeClass("shared-style"),"dir"===d&&(a||r||c)?(o=void 0!==u&&"shared-root"!==u&&"shared"!==u?OC.MimeType.getIconUrl("dir-"+u):r?OC.MimeType.getIconUrl("dir-public"):OC.MimeType.getIconUrl("dir-shared"),e.find(".filename .thumbnail").css("background-image","url("+o+")"),e.attr("data-icon",o)):"dir"===d&&("true"===e.attr("data-e2eencrypted")?(o=OC.MimeType.getIconUrl("dir-encrypted"),e.attr("data-icon",o)):u&&0===u.indexOf("external")?(o=OC.MimeType.getIconUrl("dir-external"),e.attr("data-icon",o)):(o=OC.MimeType.getIconUrl("dir"),e.removeAttr("data-icon")),e.find(".filename .thumbnail").css("background-image","url("+o+")")),a||c?(n=e.data("share-recipient-data"),l.addClass("shared-style"),s="<span>"+t("files_sharing","Shared")+"</span>",c?(i=t("files_sharing","Shared by"),s=this._formatRemoteShare(c,p,i)):n&&(s=this._formatShareList(n)),l.html(s).prepend(h),(c||n)&&l.find(".avatar").each((function(){$(this).avatar($(this).data("username"),32)}))):l.html('<span class="hidden-visually">'+t("files_sharing","Shared")+"</span>").prepend(h),r&&(f="icon-public"),h.removeClass("icon-shared icon-public").addClass(f)},getSharePermissions:function(e){return e.sharePermissions}},OC.Plugins.register("OCA.Files.FileList",OCA.Sharing.Util),function(){const e=OC.Backbone.View.extend({tagName:"span",events:{click:"_onClick"},_dirInfo:void 0,render(e){if(this._dirInfo=e.dirInfo||null,null===this._dirInfo||"/"===this._dirInfo.path&&""===this._dirInfo.name)this.$el.removeClass("shared icon-public icon-shared"),this.$el.hide();else{const a=e.dirInfo&&e.dirInfo.shareTypes&&e.dirInfo.shareTypes.length>0;this.$el.removeClass("shared icon-public icon-shared"),a?(this.$el.addClass("shared"),-1!==e.dirInfo.shareTypes.indexOf(s.Z.SHARE_TYPE_LINK)?this.$el.addClass("icon-public"):this.$el.addClass("icon-shared")):this.$el.addClass("icon-shared"),this.$el.show(),this.delegateEvents()}return this},_onClick(e){e.preventDefault(),e.stopPropagation();const a=new OCA.Files.FileInfoModel(this._dirInfo),r=this;a.on("change",(function(){r.render({dirInfo:r._dirInfo})}));const t=a.attributes.path+"/"+a.attributes.name;OCA.Files.Sidebar.open(t),OCA.Files.Sidebar.setActiveTab("sharing")}});OCA.Sharing.ShareBreadCrumbView=e}();var l=r(85072),d=r.n(l),h=r(97825),c=r.n(h),p=r(77659),u=r.n(p),f=r(55056),m=r.n(f),O=r(10540),C=r.n(O),A=r(41113),g=r.n(A),S=r(69844),y={};y.styleTagTransform=g(),y.setAttributes=m(),y.insert=u().bind(null,"head"),y.domAPI=c(),y.insertStyleElement=C(),d()(S.A,y),S.A&&S.A.locals&&S.A.locals,r(84033),r.nc=btoa(OC.requestToken),window.OCA.Sharing=OCA.Sharing},84033:(e,a,r)=>{r.nc=btoa(OC.requestToken),window.OCP.Collaboration.registerType("file",{action:()=>new Promise(((e,a)=>{OC.dialogs.filepicker(t("files_sharing","Link to a file"),(function(r){OC.Files.getClient().getFileInfo(r).then(((a,r)=>{e(r.id)})).fail((()=>{a(new Error("Cannot get fileinfo"))}))}),!1,null,!1,OC.dialogs.FILEPICKER_TYPE_CHOOSE,"",{allowDirectoryChooser:!0})})),typeString:t("files_sharing","Link to a file"),typeIconClass:"icon-files-dark"})},69844:(e,a,r)=>{"use strict";r.d(a,{A:()=>o});var t=r(71354),i=r.n(t),n=r(76314),s=r.n(n)()(i());s.push([e.id,"li.crumb span.icon-shared,li.crumb span.icon-public{display:inline-block;cursor:pointer;opacity:.2;margin-right:6px}li.crumb span.icon-shared.shared,li.crumb span.icon-public.shared{opacity:.7}","",{version:3,sources:["webpack://./apps/files_sharing/src/style/sharebreadcrumb.scss"],names:[],mappings:"AAsBA,oDAEC,oBAAA,CACA,cAAA,CACA,UAAA,CACA,gBAAA,CAGD,kEAEC,UAAA",sourcesContent:["/**\n * @copyright 2016 Christoph Wurst <christoph@winzerhof-wurst.at>\n *\n * @author 2016 Christoph Wurst <christoph@winzerhof-wurst.at>\n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program.  If not, see <http://www.gnu.org/licenses/>.\n *\n */\n\nli.crumb span.icon-shared,\nli.crumb span.icon-public {\n\tdisplay: inline-block;\n\tcursor: pointer;\n\topacity: 0.2;\n\tmargin-right: 6px;\n}\n\nli.crumb span.icon-shared.shared,\nli.crumb span.icon-public.shared {\n\topacity: 0.7;\n}\n"],sourceRoot:""}]);const o=s}},r={};function i(e){var t=r[e];if(void 0!==t)return t.exports;var n=r[e]={id:e,loaded:!1,exports:{}};return a[e].call(n.exports,n,n.exports,i),n.loaded=!0,n.exports}i.m=a,e=[],i.O=(a,r,t,n)=>{if(!r){var s=1/0;for(h=0;h<e.length;h++){r=e[h][0],t=e[h][1],n=e[h][2];for(var o=!0,l=0;l<r.length;l++)(!1&n||s>=n)&&Object.keys(i.O).every((e=>i.O[e](r[l])))?r.splice(l--,1):(o=!1,n<s&&(s=n));if(o){e.splice(h--,1);var d=t();void 0!==d&&(a=d)}}return a}n=n||0;for(var h=e.length;h>0&&e[h-1][2]>n;h--)e[h]=e[h-1];e[h]=[r,t,n]},i.n=e=>{var a=e&&e.__esModule?()=>e.default:()=>e;return i.d(a,{a}),a},i.d=(e,a)=>{for(var r in a)i.o(a,r)&&!i.o(e,r)&&Object.defineProperty(e,r,{enumerable:!0,get:a[r]})},i.e=()=>Promise.resolve(),i.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(e){if("object"==typeof window)return window}}(),i.o=(e,a)=>Object.prototype.hasOwnProperty.call(e,a),i.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},i.nmd=e=>(e.paths=[],e.children||(e.children=[]),e),i.j=9643,(()=>{i.b=document.baseURI||self.location.href;var e={9643:0,7541:0};i.O.j=a=>0===e[a];var a=(a,r)=>{var t,n,s=r[0],o=r[1],l=r[2],d=0;if(s.some((a=>0!==e[a]))){for(t in o)i.o(o,t)&&(i.m[t]=o[t]);if(l)var h=l(i)}for(a&&a(r);d<s.length;d++)n=s[d],i.o(e,n)&&e[n]&&e[n][0](),e[n]=0;return i.O(h)},r=self.webpackChunknextcloud=self.webpackChunknextcloud||[];r.forEach(a.bind(null,0)),r.push=a.bind(null,r.push.bind(r))})(),i.nc=void 0;var n=i.O(void 0,[4208],(()=>i(6651)));n=i.O(n)})();
-//# sourceMappingURL=files_sharing-additionalScripts.js.map?v=3e49195337c23532cc25
\ No newline at end of file
+/*! For license information please see files_sharing-additionalScripts.js.license?v=e6cad64b42db70708841 */
+(()=>{var e,a={6651:(e,a,r)=>{"use strict";var i=r(70580),n=r.n(i),s=r(52129),o=r(87485);_.extend(OC.Files.Client,{PROPERTY_SHARE_TYPES:"{"+OC.Files.Client.NS_OWNCLOUD+"}share-types",PROPERTY_OWNER_ID:"{"+OC.Files.Client.NS_OWNCLOUD+"}owner-id",PROPERTY_OWNER_DISPLAY_NAME:"{"+OC.Files.Client.NS_OWNCLOUD+"}owner-display-name"}),OCA.Sharing||(OCA.Sharing={}),OCA.Sharing.Util={_REMOTE_OWNER_REGEXP:new RegExp("^(([^@]*)@(([^@^/\\s]*)@)?)((https://)?[^[\\s/]*)([/](.*))?$"),attach:function(e){var a;if(null!==(a=(0,o.F)().files_sharing)&&void 0!==a&&a.api_enabled&&"trashbin"!==e.id&&"files.public"!==e.id){var r=e.fileActions,i=e._createRow;e._createRow=function(e){var a=i.apply(this,arguments),t=OCA.Sharing.Util.getSharePermissions(e);return 0===e.permissions&&(delete r.actions.all.Comment,delete r.actions.all.Details,delete r.actions.all.Goto),_.isFunction(e.canDownload)&&!e.canDownload()&&(delete r.actions.all.Download,0==(e.permissions&OC.PERMISSION_UPDATE)&&delete r.actions.all.MoveCopy),a.attr("data-share-permissions",t),a.attr("data-share-attributes",JSON.stringify(e.shareAttributes)),e.shareOwner&&(a.attr("data-share-owner",e.shareOwner),a.attr("data-share-owner-id",e.shareOwnerId),"shared-root"===e.mountType&&a.attr("data-permissions",e.permissions|OC.PERMISSION_UPDATE)),e.recipientData&&!_.isEmpty(e.recipientData)&&a.attr("data-share-recipient-data",JSON.stringify(e.recipientData)),e.shareTypes&&a.attr("data-share-types",e.shareTypes.join(",")),a};var n=e.elementToFile;e.elementToFile=function(e){var a=n.apply(this,arguments);if(a.shareAttributes=JSON.parse(e.attr("data-share-attributes")||"[]"),a.sharePermissions=e.attr("data-share-permissions")||void 0,a.shareOwner=e.attr("data-share-owner")||void 0,a.shareOwnerId=e.attr("data-share-owner-id")||void 0,e.attr("data-share-types")&&(a.shareTypes=e.attr("data-share-types").split(",")),e.attr("data-expiration")){var t=parseInt(e.attr("data-expiration"));a.shares=[],a.shares.push({expiration:t})}return a};var l=e._getWebdavProperties;e._getWebdavProperties=function(){var e=l.apply(this,arguments);return e.push(OC.Files.Client.PROPERTY_OWNER_ID),e.push(OC.Files.Client.PROPERTY_OWNER_DISPLAY_NAME),e.push(OC.Files.Client.PROPERTY_SHARE_TYPES),e},e.filesClient.addFileInfoParser((function(e){var a={},t=e.propStat[0].properties,r=t[OC.Files.Client.PROPERTY_PERMISSIONS];r&&r.indexOf("S")>=0&&(a.shareOwner=t[OC.Files.Client.PROPERTY_OWNER_DISPLAY_NAME],a.shareOwnerId=t[OC.Files.Client.PROPERTY_OWNER_ID]);var i=t[OC.Files.Client.PROPERTY_SHARE_TYPES];return i&&(a.shareTypes=_.chain(i).filter((function(e){return e.namespaceURI===OC.Files.Client.NS_OWNCLOUD&&"share-type"===e.nodeName.split(":")[1]})).map((function(e){return parseInt(e.textContent||e.text,10)})).value()),a})),e.$el.on("fileActionsReady",(function(e){var a=e.$files;_.each(a,(function(e){var a=$(e),t=a.attr("data-share-types")||"",r=a.attr("data-share-owner");if(t||r){var i=!1,n=!1;_.each(t.split(",")||[],(function(e){let a=parseInt(e,10);a===s.Z.SHARE_TYPE_LINK||a===s.Z.SHARE_TYPE_EMAIL?i=!0:(a===s.Z.SHARE_TYPE_USER||a===s.Z.SHARE_TYPE_GROUP||a===s.Z.SHARE_TYPE_REMOTE||a===s.Z.SHARE_TYPE_REMOTE_GROUP||a===s.Z.SHARE_TYPE_CIRCLE||a===s.Z.SHARE_TYPE_ROOM||a===s.Z.SHARE_TYPE_DECK||a===s.Z.SHARE_TYPE_SCIENCEMESH)&&(n=!0)})),OCA.Sharing.Util._updateFileActionIcon(a,n,i)}}))})),e.$el.on("changeDirectory",(function(){OCA.Sharing.sharesLoaded=!1})),r.registerAction({name:"Share",displayName:function(e){if(e&&e.$file){var a=parseInt(e.$file.data("share-types"),10),r=e.$file.data("share-owner-id");if(a>=0||r)return t("files_sharing","Shared")}return t("files_sharing","Share")},altText:t("files_sharing","Share"),mime:"all",order:-150,permissions:OC.PERMISSION_ALL,iconClass:function(e,a){var t=parseInt(a.$file.data("share-types"),10);return t===s.Z.SHARE_TYPE_EMAIL||t===s.Z.SHARE_TYPE_LINK?"icon-public":"icon-shared"},icon:function(e,a){var t=a.$file.data("share-owner-id");if(t)return OC.generateUrl("/avatar/".concat(t,"/32"))},type:OCA.Files.FileActions.TYPE_INLINE,actionHandler:function(a,t){if(e._detailsView){var r=parseInt(t.$file.data("share-permissions"),10);(isNaN(r)||r>0)&&e.showDetailsView(a,"sharing")}},render:function(e,a,t){return 0!=(parseInt(t.$file.data("permissions"),10)&OC.PERMISSION_SHARE)||t.$file.attr("data-share-owner")?r._defaultRenderAction.call(r,e,a,t):null}});var d=new OCA.Sharing.ShareBreadCrumbView;e.registerBreadCrumbDetailView(d)}},_updateFileListDataAttributes:function(e,a,t){if("files"!==e.id)if(_.pluck(t.get("shares"),"share_with_displayname").length){var r=_.mapObject(t.get("shares"),(function(e){return{shareWith:e.share_with,shareWithDisplayName:e.share_with_displayname}}));a.attr("data-share-recipient-data",JSON.stringify(r))}else a.removeAttr("data-share-recipient-data")},_updateFileActionIcon:function(e,a,t){return!!(a||t||e.attr("data-share-recipient-data")||e.attr("data-share-owner"))&&(OCA.Sharing.Util._markFileAsShared(e,!0,t),!0)},_markFileAsShared:function(e,a,r){var i,n,s,o,l=e.find('.fileactions .action[data-action="Share"]'),d=e.data("type"),h=l.find(".icon"),c=e.attr("data-share-owner-id"),p=e.attr("data-share-owner"),u=e.attr("data-mounttype"),f="icon-shared";l.removeClass("shared-style");var m=e.attr("data-e2eencrypted");"dir"===d&&"true"===m?(o=OC.MimeType.getIconUrl("dir-encrypted"),e.attr("data-icon",o)):"dir"===d&&(a||r||c)?(o=void 0!==u&&"shared-root"!==u&&"shared"!==u?OC.MimeType.getIconUrl("dir-"+u):r?OC.MimeType.getIconUrl("dir-public"):OC.MimeType.getIconUrl("dir-shared"),e.find(".filename .thumbnail").css("background-image","url("+o+")"),e.attr("data-icon",o)):"dir"===d&&(u&&0===u.indexOf("external")?(o=OC.MimeType.getIconUrl("dir-external"),e.attr("data-icon",o)):(o=OC.MimeType.getIconUrl("dir"),e.removeAttr("data-icon")),e.find(".filename .thumbnail").css("background-image","url("+o+")")),a||c?(n=e.data("share-recipient-data"),l.addClass("shared-style"),s="<span>"+t("files_sharing","Shared")+"</span>",c?(i=t("files_sharing","Shared by"),s=OCA.Sharing.Util._formatRemoteShare(c,p,i)):n&&(s=OCA.Sharing.Util._formatShareList(n)),l.html(s).prepend(h),(c||n)&&l.find(".avatar").each((function(){$(this).avatar($(this).data("username"),32)}))):l.html('<span class="hidden-visually">'+t("files_sharing","Shared")+"</span>").prepend(h),r&&(f="icon-public"),h.removeClass("icon-shared icon-public").addClass(f)},_formatRemoteShare:function(e,a,t){var r=OCA.Sharing.Util._REMOTE_OWNER_REGEXP.exec(e);if(!r||!r[7])return'<span class="avatar" data-username="'+n()(e)+'" title="'+t+" "+n()(a)+'"></span><span class="hidden-visually">'+t+" "+n()(a)+"</span> ";var i=r[2],s=r[4],o=r[5],l=r[6],d=r[8]?r[7]:"",h=t+" "+i;s&&(h+="@"+s),o&&(h+="@"+o.replace(l,"")+d);var c='<span class="remoteAddress" title="'+n()(h)+'">';return c+='<span class="username">'+n()(i)+"</span>",s&&(c+='<span class="userDomain">@'+n()(s)+"</span>"),c+"</span> "},_formatShareList:function(e){var a=this;return(e=_.toArray(e)).sort((function(e,a){return e.shareWithDisplayName.localeCompare(a.shareWithDisplayName)})),$.map(e,(function(e){return a._formatRemoteShare(e.shareWith,e.shareWithDisplayName,t("files_sharing","Shared with"))}))},markFileAsShared:function(e,a,r){var i,n,s,o,l=e.find('.fileactions .action[data-action="Share"]'),d=e.data("type"),h=l.find(".icon"),c=e.attr("data-share-owner-id"),p=e.attr("data-share-owner"),u=e.attr("data-mounttype"),f="icon-shared";l.removeClass("shared-style"),"dir"===d&&(a||r||c)?(o=void 0!==u&&"shared-root"!==u&&"shared"!==u?OC.MimeType.getIconUrl("dir-"+u):r?OC.MimeType.getIconUrl("dir-public"):OC.MimeType.getIconUrl("dir-shared"),e.find(".filename .thumbnail").css("background-image","url("+o+")"),e.attr("data-icon",o)):"dir"===d&&("true"===e.attr("data-e2eencrypted")?(o=OC.MimeType.getIconUrl("dir-encrypted"),e.attr("data-icon",o)):u&&0===u.indexOf("external")?(o=OC.MimeType.getIconUrl("dir-external"),e.attr("data-icon",o)):(o=OC.MimeType.getIconUrl("dir"),e.removeAttr("data-icon")),e.find(".filename .thumbnail").css("background-image","url("+o+")")),a||c?(n=e.data("share-recipient-data"),l.addClass("shared-style"),s="<span>"+t("files_sharing","Shared")+"</span>",c?(i=t("files_sharing","Shared by"),s=this._formatRemoteShare(c,p,i)):n&&(s=this._formatShareList(n)),l.html(s).prepend(h),(c||n)&&l.find(".avatar").each((function(){$(this).avatar($(this).data("username"),32)}))):l.html('<span class="hidden-visually">'+t("files_sharing","Shared")+"</span>").prepend(h),r&&(f="icon-public"),h.removeClass("icon-shared icon-public").addClass(f)},getSharePermissions:function(e){return e.sharePermissions}},OC.Plugins.register("OCA.Files.FileList",OCA.Sharing.Util),function(){const e=OC.Backbone.View.extend({tagName:"span",events:{click:"_onClick"},_dirInfo:void 0,render(e){if(this._dirInfo=e.dirInfo||null,null===this._dirInfo||"/"===this._dirInfo.path&&""===this._dirInfo.name)this.$el.removeClass("shared icon-public icon-shared"),this.$el.hide();else{const a=e.dirInfo&&e.dirInfo.shareTypes&&e.dirInfo.shareTypes.length>0;this.$el.removeClass("shared icon-public icon-shared"),a?(this.$el.addClass("shared"),-1!==e.dirInfo.shareTypes.indexOf(s.Z.SHARE_TYPE_LINK)?this.$el.addClass("icon-public"):this.$el.addClass("icon-shared")):this.$el.addClass("icon-shared"),this.$el.show(),this.delegateEvents()}return this},_onClick(e){e.preventDefault(),e.stopPropagation();const a=new OCA.Files.FileInfoModel(this._dirInfo),t=this;a.on("change",(function(){t.render({dirInfo:t._dirInfo})}));const r=a.attributes.path+"/"+a.attributes.name;OCA.Files.Sidebar.open(r),OCA.Files.Sidebar.setActiveTab("sharing")}});OCA.Sharing.ShareBreadCrumbView=e}();var l=r(85072),d=r.n(l),h=r(97825),c=r.n(h),p=r(77659),u=r.n(p),f=r(55056),m=r.n(f),O=r(10540),C=r.n(O),A=r(41113),S=r.n(A),g=r(69844),E={};E.styleTagTransform=S(),E.setAttributes=m(),E.insert=u().bind(null,"head"),E.domAPI=c(),E.insertStyleElement=C(),d()(g.A,E),g.A&&g.A.locals&&g.A.locals,r(84033),r.nc=btoa(OC.requestToken),window.OCA.Sharing=OCA.Sharing},84033:(e,a,r)=>{r.nc=btoa(OC.requestToken),window.OCP.Collaboration.registerType("file",{action:()=>new Promise(((e,a)=>{OC.dialogs.filepicker(t("files_sharing","Link to a file"),(function(t){OC.Files.getClient().getFileInfo(t).then(((a,t)=>{e(t.id)})).fail((()=>{a(new Error("Cannot get fileinfo"))}))}),!1,null,!1,OC.dialogs.FILEPICKER_TYPE_CHOOSE,"",{allowDirectoryChooser:!0})})),typeString:t("files_sharing","Link to a file"),typeIconClass:"icon-files-dark"})},69844:(e,a,t)=>{"use strict";t.d(a,{A:()=>o});var r=t(71354),i=t.n(r),n=t(76314),s=t.n(n)()(i());s.push([e.id,"/*!\n * SPDX-FileCopyrightText: 2016 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */li.crumb span.icon-shared,li.crumb span.icon-public{display:inline-block;cursor:pointer;opacity:.2;margin-right:6px}li.crumb span.icon-shared.shared,li.crumb span.icon-public.shared{opacity:.7}","",{version:3,sources:["webpack://./apps/files_sharing/src/style/sharebreadcrumb.scss"],names:[],mappings:"AAAA;;;EAAA,CAKA,oDAEC,oBAAA,CACA,cAAA,CACA,UAAA,CACA,gBAAA,CAGD,kEAEC,UAAA",sourcesContent:["/*!\n * SPDX-FileCopyrightText: 2016 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\n\nli.crumb span.icon-shared,\nli.crumb span.icon-public {\n\tdisplay: inline-block;\n\tcursor: pointer;\n\topacity: 0.2;\n\tmargin-right: 6px;\n}\n\nli.crumb span.icon-shared.shared,\nli.crumb span.icon-public.shared {\n\topacity: 0.7;\n}\n"],sourceRoot:""}]);const o=s}},r={};function i(e){var t=r[e];if(void 0!==t)return t.exports;var n=r[e]={id:e,loaded:!1,exports:{}};return a[e].call(n.exports,n,n.exports,i),n.loaded=!0,n.exports}i.m=a,e=[],i.O=(a,t,r,n)=>{if(!t){var s=1/0;for(h=0;h<e.length;h++){t=e[h][0],r=e[h][1],n=e[h][2];for(var o=!0,l=0;l<t.length;l++)(!1&n||s>=n)&&Object.keys(i.O).every((e=>i.O[e](t[l])))?t.splice(l--,1):(o=!1,n<s&&(s=n));if(o){e.splice(h--,1);var d=r();void 0!==d&&(a=d)}}return a}n=n||0;for(var h=e.length;h>0&&e[h-1][2]>n;h--)e[h]=e[h-1];e[h]=[t,r,n]},i.n=e=>{var a=e&&e.__esModule?()=>e.default:()=>e;return i.d(a,{a}),a},i.d=(e,a)=>{for(var t in a)i.o(a,t)&&!i.o(e,t)&&Object.defineProperty(e,t,{enumerable:!0,get:a[t]})},i.e=()=>Promise.resolve(),i.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(e){if("object"==typeof window)return window}}(),i.o=(e,a)=>Object.prototype.hasOwnProperty.call(e,a),i.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},i.nmd=e=>(e.paths=[],e.children||(e.children=[]),e),i.j=9643,(()=>{i.b=document.baseURI||self.location.href;var e={9643:0,7541:0};i.O.j=a=>0===e[a];var a=(a,t)=>{var r,n,s=t[0],o=t[1],l=t[2],d=0;if(s.some((a=>0!==e[a]))){for(r in o)i.o(o,r)&&(i.m[r]=o[r]);if(l)var h=l(i)}for(a&&a(t);d<s.length;d++)n=s[d],i.o(e,n)&&e[n]&&e[n][0](),e[n]=0;return i.O(h)},t=self.webpackChunknextcloud=self.webpackChunknextcloud||[];t.forEach(a.bind(null,0)),t.push=a.bind(null,t.push.bind(t))})(),i.nc=void 0;var n=i.O(void 0,[4208],(()=>i(6651)));n=i.O(n)})();
+//# sourceMappingURL=files_sharing-additionalScripts.js.map?v=e6cad64b42db70708841
\ No newline at end of file
index 12375e9bc2aefd73ce49e20e098381cd2fdbf1f2..bd5d3e5fb61501f43db90b99f786330aae490705 100644 (file)
@@ -1,70 +1,4 @@
 /**
- * @copyright 2016 Christoph Wurst <christoph@winzerhof-wurst.at>
- *
- * @author Christoph Wurst <christoph@winzerhof-wurst.at>
- * @author John Molakvoæ <skjnldsv@protonmail.com>
- * @author Roeland Jago Douma <roeland@famdouma.nl>
- *
- * @license AGPL-3.0-or-later
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU Affero General Public License as
- * published by the Free Software Foundation, either version 3 of the
- * License, or (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU Affero General Public License for more details.
- *
- * You should have received a copy of the GNU Affero General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- *
- */
-
-/**
- * @copyright Copyright (c) 2016 John Molakvoæ <skjnldsv@protonmail.com>
- *
- * @author John Molakvoæ <skjnldsv@protonmail.com>
- * @author Julius Härtl <jus@bitgrid.net>
- *
- * @license AGPL-3.0-or-later
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU Affero General Public License as
- * published by the Free Software Foundation, either version 3 of the
- * License, or (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU Affero General Public License for more details.
- *
- * You should have received a copy of the GNU Affero General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- *
- */
-
-/**
- * @copyright Copyright (c) 2016 Roeland Jago Douma <roeland@famdouma.nl>
- *
- * @author John Molakvoæ <skjnldsv@protonmail.com>
- * @author Julius Härtl <jus@bitgrid.net>
- * @author Roeland Jago Douma <roeland@famdouma.nl>
- *
- * @license AGPL-3.0-or-later
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU Affero General Public License as
- * published by the Free Software Foundation, either version 3 of the
- * License, or (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU Affero General Public License for more details.
- *
- * You should have received a copy of the GNU Affero General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- *
+ * SPDX-FileCopyrightText: 2016 Nextcloud GmbH and Nextcloud contributors
+ * SPDX-License-Identifier: AGPL-3.0-or-later
  */
index d226eeedf87f2139bc0cce31c8cb1a0efd38ba3f..db5c6137ef1cec3fbfabdae7a9c441c97c6a493f 100644 (file)
@@ -1 +1 @@
-{"version":3,"file":"files_sharing-additionalScripts.js?v=3e49195337c23532cc25","mappings":"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","sources":["webpack:///nextcloud/webpack/runtime/chunk loaded","webpack:///nextcloud/apps/files_sharing/src/share.js","webpack:///nextcloud/apps/files_sharing/src/sharebreadcrumbview.js","webpack://nextcloud/./apps/files_sharing/src/style/sharebreadcrumb.scss?a9a3","webpack:///nextcloud/apps/files_sharing/src/additionalScripts.js","webpack:///nextcloud/apps/files_sharing/src/collaborationresourceshandler.js","webpack:///nextcloud/apps/files_sharing/src/style/sharebreadcrumb.scss","webpack:///nextcloud/webpack/bootstrap","webpack:///nextcloud/webpack/runtime/compat get default export","webpack:///nextcloud/webpack/runtime/define property getters","webpack:///nextcloud/webpack/runtime/ensure chunk","webpack:///nextcloud/webpack/runtime/global","webpack:///nextcloud/webpack/runtime/hasOwnProperty shorthand","webpack:///nextcloud/webpack/runtime/make namespace object","webpack:///nextcloud/webpack/runtime/node module decorator","webpack:///nextcloud/webpack/runtime/runtimeId","webpack:///nextcloud/webpack/runtime/jsonp chunk loading","webpack:///nextcloud/webpack/runtime/nonce","webpack:///nextcloud/webpack/startup"],"sourcesContent":["var deferred = [];\n__webpack_require__.O = (result, chunkIds, fn, priority) => {\n\tif(chunkIds) {\n\t\tpriority = priority || 0;\n\t\tfor(var i = deferred.length; i > 0 && deferred[i - 1][2] > priority; i--) deferred[i] = deferred[i - 1];\n\t\tdeferred[i] = [chunkIds, fn, priority];\n\t\treturn;\n\t}\n\tvar notFulfilled = Infinity;\n\tfor (var i = 0; i < deferred.length; i++) {\n\t\tvar chunkIds = deferred[i][0];\n\t\tvar fn = deferred[i][1];\n\t\tvar priority = deferred[i][2];\n\t\tvar fulfilled = true;\n\t\tfor (var j = 0; j < chunkIds.length; j++) {\n\t\t\tif ((priority & 1 === 0 || notFulfilled >= priority) && Object.keys(__webpack_require__.O).every((key) => (__webpack_require__.O[key](chunkIds[j])))) {\n\t\t\t\tchunkIds.splice(j--, 1);\n\t\t\t} else {\n\t\t\t\tfulfilled = false;\n\t\t\t\tif(priority < notFulfilled) notFulfilled = priority;\n\t\t\t}\n\t\t}\n\t\tif(fulfilled) {\n\t\t\tdeferred.splice(i--, 1)\n\t\t\tvar r = fn();\n\t\t\tif (r !== undefined) result = r;\n\t\t}\n\t}\n\treturn result;\n};","/**\n * Copyright (c) 2014\n *\n * @author Arthur Schiwon <blizzz@arthur-schiwon.de>\n * @author Christoph Wurst <christoph@winzerhof-wurst.at>\n * @author Daniel Calviño Sánchez <danxuliu@gmail.com>\n * @author Joas Schilling <coding@schilljs.com>\n * @author John Molakvoæ <skjnldsv@protonmail.com>\n * @author Julius Härtl <jus@bitgrid.net>\n * @author Maxence Lange <maxence@nextcloud.com>\n * @author Michael Jobst <mjobst+github@tecratech.de>\n * @author Michael Jobst <mjobst@necls.com>\n * @author Morris Jobke <hey@morrisjobke.de>\n * @author Roeland Jago Douma <roeland@famdouma.nl>\n * @author Samuel <faust64@gmail.com>\n * @author Vincent Petry <vincent@nextcloud.com>\n *\n * @license AGPL-3.0-or-later\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */\n\n/* eslint-disable */\nimport escapeHTML from 'escape-html'\n\nimport { Type as ShareTypes } from '@nextcloud/sharing'\nimport { getCapabilities } from '@nextcloud/capabilities'\n\n(function() {\n\n\t_.extend(OC.Files.Client, {\n\t\tPROPERTY_SHARE_TYPES:\t'{' + OC.Files.Client.NS_OWNCLOUD + '}share-types',\n\t\tPROPERTY_OWNER_ID:\t'{' + OC.Files.Client.NS_OWNCLOUD + '}owner-id',\n\t\tPROPERTY_OWNER_DISPLAY_NAME:\t'{' + OC.Files.Client.NS_OWNCLOUD + '}owner-display-name'\n\t})\n\n\tif (!OCA.Sharing) {\n\t\tOCA.Sharing = {}\n\t}\n\n\t/**\n\t * @namespace\n\t */\n\tOCA.Sharing.Util = {\n\n\t\t/**\n\t\t * Regular expression for splitting parts of remote share owners:\n\t\t * \"user@example.com/\"\n\t\t * \"user@example.com/path/to/owncloud\"\n\t\t * \"user@anotherexample.com@example.com/path/to/owncloud\n\t\t */\n\t\t_REMOTE_OWNER_REGEXP: new RegExp('^(([^@]*)@(([^@^/\\\\s]*)@)?)((https://)?[^[\\\\s/]*)([/](.*))?$'),\n\n\t\t/**\n\t\t * Initialize the sharing plugin.\n\t\t *\n\t\t * Registers the \"Share\" file action and adds additional\n\t\t * DOM attributes for the sharing file info.\n\t\t *\n\t\t * @param {OCA.Files.FileList} fileList file list to be extended\n\t\t */\n\t\tattach: function(fileList) {\n\t\t\t// core sharing is disabled/not loaded\n\t\t\tif (!getCapabilities().files_sharing?.api_enabled) {\n\t\t\t\treturn\n\t\t\t}\n\t\t\tif (fileList.id === 'trashbin' || fileList.id === 'files.public') {\n\t\t\t\treturn\n\t\t\t}\n\t\t\tvar fileActions = fileList.fileActions\n\t\t\tvar oldCreateRow = fileList._createRow\n\t\t\tfileList._createRow = function(fileData) {\n\n\t\t\t\tvar tr = oldCreateRow.apply(this, arguments)\n\t\t\t\tvar sharePermissions = OCA.Sharing.Util.getSharePermissions(fileData)\n\n\t\t\t\tif (fileData.permissions === 0) {\n\t\t\t\t\t// no permission, disabling sidebar\n\t\t\t\t\tdelete fileActions.actions.all.Comment\n\t\t\t\t\tdelete fileActions.actions.all.Details\n\t\t\t\t\tdelete fileActions.actions.all.Goto\n\t\t\t\t}\n\t\t\t\tif (_.isFunction(fileData.canDownload) && !fileData.canDownload()) {\n\t\t\t\t\tdelete fileActions.actions.all.Download\n\t\t\t\t\tif ((fileData.permissions & OC.PERMISSION_UPDATE) === 0) {\n\t\t\t\t\t\t// neither move nor copy is allowed, remove the action completely\n\t\t\t\t\t\tdelete fileActions.actions.all.MoveCopy\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\ttr.attr('data-share-permissions', sharePermissions)\n\t\t\t\ttr.attr('data-share-attributes', JSON.stringify(fileData.shareAttributes))\n\t\t\t\tif (fileData.shareOwner) {\n\t\t\t\t\ttr.attr('data-share-owner', fileData.shareOwner)\n\t\t\t\t\ttr.attr('data-share-owner-id', fileData.shareOwnerId)\n\t\t\t\t\t// user should always be able to rename a mount point\n\t\t\t\t\tif (fileData.mountType === 'shared-root') {\n\t\t\t\t\t\ttr.attr('data-permissions', fileData.permissions | OC.PERMISSION_UPDATE)\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tif (fileData.recipientData && !_.isEmpty(fileData.recipientData)) {\n\t\t\t\t\ttr.attr('data-share-recipient-data', JSON.stringify(fileData.recipientData))\n\t\t\t\t}\n\t\t\t\tif (fileData.shareTypes) {\n\t\t\t\t\ttr.attr('data-share-types', fileData.shareTypes.join(','))\n\t\t\t\t}\n\t\t\t\treturn tr\n\t\t\t}\n\n\t\t\tvar oldElementToFile = fileList.elementToFile\n\t\t\tfileList.elementToFile = function($el) {\n\t\t\t\tvar fileInfo = oldElementToFile.apply(this, arguments)\n\t\t\t\tfileInfo.shareAttributes = JSON.parse($el.attr('data-share-attributes') || '[]')\n\t\t\t\tfileInfo.sharePermissions = $el.attr('data-share-permissions') || undefined\n\t\t\t\tfileInfo.shareOwner = $el.attr('data-share-owner') || undefined\n\t\t\t\tfileInfo.shareOwnerId = $el.attr('data-share-owner-id') || undefined\n\n\t\t\t\tif ($el.attr('data-share-types')) {\n\t\t\t\t\tfileInfo.shareTypes = $el.attr('data-share-types').split(',')\n\t\t\t\t}\n\n\t\t\t\tif ($el.attr('data-expiration')) {\n\t\t\t\t\tvar expirationTimestamp = parseInt($el.attr('data-expiration'))\n\t\t\t\t\tfileInfo.shares = []\n\t\t\t\t\tfileInfo.shares.push({ expiration: expirationTimestamp })\n\t\t\t\t}\n\n\t\t\t\treturn fileInfo\n\t\t\t}\n\n\t\t\tvar oldGetWebdavProperties = fileList._getWebdavProperties\n\t\t\tfileList._getWebdavProperties = function() {\n\t\t\t\tvar props = oldGetWebdavProperties.apply(this, arguments)\n\t\t\t\tprops.push(OC.Files.Client.PROPERTY_OWNER_ID)\n\t\t\t\tprops.push(OC.Files.Client.PROPERTY_OWNER_DISPLAY_NAME)\n\t\t\t\tprops.push(OC.Files.Client.PROPERTY_SHARE_TYPES)\n\t\t\t\treturn props\n\t\t\t}\n\n\t\t\tfileList.filesClient.addFileInfoParser(function(response) {\n\t\t\t\tvar data = {}\n\t\t\t\tvar props = response.propStat[0].properties\n\t\t\t\tvar permissionsProp = props[OC.Files.Client.PROPERTY_PERMISSIONS]\n\n\t\t\t\tif (permissionsProp && permissionsProp.indexOf('S') >= 0) {\n\t\t\t\t\tdata.shareOwner = props[OC.Files.Client.PROPERTY_OWNER_DISPLAY_NAME]\n\t\t\t\t\tdata.shareOwnerId = props[OC.Files.Client.PROPERTY_OWNER_ID]\n\t\t\t\t}\n\n\t\t\t\tvar shareTypesProp = props[OC.Files.Client.PROPERTY_SHARE_TYPES]\n\t\t\t\tif (shareTypesProp) {\n\t\t\t\t\tdata.shareTypes = _.chain(shareTypesProp).filter(function(xmlvalue) {\n\t\t\t\t\t\treturn (xmlvalue.namespaceURI === OC.Files.Client.NS_OWNCLOUD && xmlvalue.nodeName.split(':')[1] === 'share-type')\n\t\t\t\t\t}).map(function(xmlvalue) {\n\t\t\t\t\t\treturn parseInt(xmlvalue.textContent || xmlvalue.text, 10)\n\t\t\t\t\t}).value()\n\t\t\t\t}\n\n\t\t\t\treturn data\n\t\t\t})\n\n\t\t\t// use delegate to catch the case with multiple file lists\n\t\t\tfileList.$el.on('fileActionsReady', function(ev) {\n\t\t\t\tvar $files = ev.$files\n\n\t\t\t\t_.each($files, function(file) {\n\t\t\t\t\tvar $tr = $(file)\n\t\t\t\t\tvar shareTypesStr = $tr.attr('data-share-types') || ''\n\t\t\t\t\tvar shareOwner = $tr.attr('data-share-owner')\n\t\t\t\t\tif (shareTypesStr || shareOwner) {\n\t\t\t\t\t\tvar hasLink = false\n\t\t\t\t\t\tvar hasShares = false\n\t\t\t\t\t\t_.each(shareTypesStr.split(',') || [], function(shareTypeStr) {\n\t\t\t\t\t\t\tlet shareType = parseInt(shareTypeStr, 10)\n\t\t\t\t\t\t\tif (shareType === ShareTypes.SHARE_TYPE_LINK) {\n\t\t\t\t\t\t\t\thasLink = true\n\t\t\t\t\t\t\t} else if (shareType === ShareTypes.SHARE_TYPE_EMAIL) {\n\t\t\t\t\t\t\t\thasLink = true\n\t\t\t\t\t\t\t} else if (shareType === ShareTypes.SHARE_TYPE_USER) {\n\t\t\t\t\t\t\t\thasShares = true\n\t\t\t\t\t\t\t} else if (shareType === ShareTypes.SHARE_TYPE_GROUP) {\n\t\t\t\t\t\t\t\thasShares = true\n\t\t\t\t\t\t\t} else if (shareType === ShareTypes.SHARE_TYPE_REMOTE) {\n\t\t\t\t\t\t\t\thasShares = true\n\t\t\t\t\t\t\t} else if (shareType === ShareTypes.SHARE_TYPE_REMOTE_GROUP) {\n\t\t\t\t\t\t\t\thasShares = true\n\t\t\t\t\t\t\t} else if (shareType === ShareTypes.SHARE_TYPE_CIRCLE) {\n\t\t\t\t\t\t\t\thasShares = true\n\t\t\t\t\t\t\t} else if (shareType === ShareTypes.SHARE_TYPE_ROOM) {\n\t\t\t\t\t\t\t\thasShares = true\n\t\t\t\t\t\t\t} else if (shareType === ShareTypes.SHARE_TYPE_DECK) {\n\t\t\t\t\t\t\t\thasShares = true\n\t\t\t\t\t\t\t} else if (shareType === ShareTypes.SHARE_TYPE_SCIENCEMESH) {\n\t\t\t\t\t\t\t\thasShares = true\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t})\n\t\t\t\t\t\tOCA.Sharing.Util._updateFileActionIcon($tr, hasShares, hasLink)\n\t\t\t\t\t}\n\t\t\t\t})\n\t\t\t})\n\n\t\t\tfileList.$el.on('changeDirectory', function() {\n\t\t\t\tOCA.Sharing.sharesLoaded = false\n\t\t\t})\n\n\t\t\tfileActions.registerAction({\n\t\t\t\tname: 'Share',\n\t\t\t\tdisplayName: function(context) {\n\t\t\t\t\tif (context && context.$file) {\n\t\t\t\t\t\tvar shareType = parseInt(context.$file.data('share-types'), 10)\n\t\t\t\t\t\tvar shareOwner = context.$file.data('share-owner-id')\n\t\t\t\t\t\tif (shareType >= 0 || shareOwner) {\n\t\t\t\t\t\t\treturn t('files_sharing', 'Shared')\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t\treturn t('files_sharing', 'Share')\n\t\t\t\t},\n\t\t\t\taltText: t('files_sharing', 'Share'),\n\t\t\t\tmime: 'all',\n\t\t\t\torder: -150,\n\t\t\t\tpermissions: OC.PERMISSION_ALL,\n\t\t\t\ticonClass: function(fileName, context) {\n\t\t\t\t\tvar shareType = parseInt(context.$file.data('share-types'), 10)\n\t\t\t\t\tif (shareType === ShareTypes.SHARE_TYPE_EMAIL\n\t\t\t\t\t\t|| shareType === ShareTypes.SHARE_TYPE_LINK) {\n\t\t\t\t\t\treturn 'icon-public'\n\t\t\t\t\t}\n\t\t\t\t\treturn 'icon-shared'\n\t\t\t\t},\n\t\t\t\ticon: function(fileName, context) {\n\t\t\t\t\tvar shareOwner = context.$file.data('share-owner-id')\n\t\t\t\t\tif (shareOwner) {\n\t\t\t\t\t\treturn OC.generateUrl(`/avatar/${shareOwner}/32`)\n\t\t\t\t\t}\n\t\t\t\t},\n\t\t\t\ttype: OCA.Files.FileActions.TYPE_INLINE,\n\t\t\t\tactionHandler: function(fileName, context) {\n\t\t\t\t\t// details view disabled in some share lists\n\t\t\t\t\tif (!fileList._detailsView) {\n\t\t\t\t\t\treturn\n\t\t\t\t\t}\n\t\t\t\t\t// do not open sidebar if permission is set and equal to 0\n\t\t\t\t\tvar permissions = parseInt(context.$file.data('share-permissions'), 10)\n\t\t\t\t\tif (isNaN(permissions) || permissions > 0) {\n\t\t\t\t\t\tfileList.showDetailsView(fileName, 'sharing')\n\t\t\t\t\t}\n\t\t\t\t},\n\t\t\t\trender: function(actionSpec, isDefault, context) {\n\t\t\t\t\tvar permissions = parseInt(context.$file.data('permissions'), 10)\n\t\t\t\t\t// if no share permissions but share owner exists, still show the link\n\t\t\t\t\tif ((permissions & OC.PERMISSION_SHARE) !== 0 || context.$file.attr('data-share-owner')) {\n\t\t\t\t\t\treturn fileActions._defaultRenderAction.call(fileActions, actionSpec, isDefault, context)\n\t\t\t\t\t}\n\t\t\t\t\t// don't render anything\n\t\t\t\t\treturn null\n\t\t\t\t}\n\t\t\t})\n\n\t\t\t// register share breadcrumbs component\n\t\t\tvar breadCrumbSharingDetailView = new OCA.Sharing.ShareBreadCrumbView()\n\t\t\tfileList.registerBreadCrumbDetailView(breadCrumbSharingDetailView)\n\t\t},\n\n\t\t/**\n\t\t * Update file list data attributes\n\t\t */\n\t\t_updateFileListDataAttributes: function(fileList, $tr, shareModel) {\n\t\t\t// files app current cannot show recipients on load, so we don't update the\n\t\t\t// icon when changed for consistency\n\t\t\tif (fileList.id === 'files') {\n\t\t\t\treturn\n\t\t\t}\n\t\t\tvar recipients = _.pluck(shareModel.get('shares'), 'share_with_displayname')\n\t\t\t// note: we only update the data attribute because updateIcon()\n\t\t\tif (recipients.length) {\n\t\t\t\tvar recipientData = _.mapObject(shareModel.get('shares'), function(share) {\n\t\t\t\t\treturn { shareWith: share.share_with, shareWithDisplayName: share.share_with_displayname }\n\t\t\t\t})\n\t\t\t\t$tr.attr('data-share-recipient-data', JSON.stringify(recipientData))\n\t\t\t} else {\n\t\t\t\t$tr.removeAttr('data-share-recipient-data')\n\t\t\t}\n\t\t},\n\n\t\t/**\n\t\t * Update the file action share icon for the given file\n\t\t *\n\t\t * @param $tr file element of the file to update\n\t\t * @param {boolean} hasUserShares true if a user share exists\n\t\t * @param {boolean} hasLinkShares true if a link share exists\n\t\t *\n\t\t * @returns {boolean} true if the icon was set, false otherwise\n\t\t */\n\t\t_updateFileActionIcon: function($tr, hasUserShares, hasLinkShares) {\n\t\t\t// if the statuses are loaded already, use them for the icon\n\t\t\t// (needed when scrolling to the next page)\n\t\t\tif (hasUserShares || hasLinkShares || $tr.attr('data-share-recipient-data') || $tr.attr('data-share-owner')) {\n\t\t\t\tOCA.Sharing.Util._markFileAsShared($tr, true, hasLinkShares)\n\t\t\t\treturn true\n\t\t\t}\n\t\t\treturn false\n\t\t},\n\n\t\t/**\n\t\t * Marks/unmarks a given file as shared by changing its action icon\n\t\t * and folder icon.\n\t\t *\n\t\t * @param $tr file element to mark as shared\n\t\t * @param hasShares whether shares are available\n\t\t * @param hasLink whether link share is available\n\t\t */\n\t\t_markFileAsShared: function($tr, hasShares, hasLink) {\n\t\t\tvar action = $tr.find('.fileactions .action[data-action=\"Share\"]')\n\t\t\tvar type = $tr.data('type')\n\t\t\tvar icon = action.find('.icon')\n\t\t\tvar message, recipients, avatars\n\t\t\tvar ownerId = $tr.attr('data-share-owner-id')\n\t\t\tvar owner = $tr.attr('data-share-owner')\n\t\t\tvar mountType = $tr.attr('data-mounttype')\n\t\t\tvar shareFolderIcon\n\t\t\tvar iconClass = 'icon-shared'\n\t\t\taction.removeClass('shared-style')\n\t\t\t// update folder icon\n\t\t\tvar isEncrypted = $tr.attr('data-e2eencrypted')\n\t\t\tif (type === 'dir' && isEncrypted === 'true') {\n\t\t\t\tshareFolderIcon = OC.MimeType.getIconUrl('dir-encrypted')\n\t\t\t\t$tr.attr('data-icon', shareFolderIcon)\n\t\t\t} else if (type === 'dir' && (hasShares || hasLink || ownerId)) {\n\t\t\t\tif (typeof mountType !== 'undefined' && mountType !== 'shared-root' && mountType !== 'shared') {\n\t\t\t\t\tshareFolderIcon = OC.MimeType.getIconUrl('dir-' + mountType)\n\t\t\t\t} else if (hasLink) {\n\t\t\t\t\tshareFolderIcon = OC.MimeType.getIconUrl('dir-public')\n\t\t\t\t} else {\n\t\t\t\t\tshareFolderIcon = OC.MimeType.getIconUrl('dir-shared')\n\t\t\t\t}\n\t\t\t\t$tr.find('.filename .thumbnail').css('background-image', 'url(' + shareFolderIcon + ')')\n\t\t\t\t$tr.attr('data-icon', shareFolderIcon)\n\t\t\t} else if (type === 'dir') {\n\t\t\t\t// FIXME: duplicate of FileList._createRow logic for external folder,\n\t\t\t\t// need to refactor the icon logic into a single code path eventually\n\t\t\t\tif (mountType && mountType.indexOf('external') === 0) {\n\t\t\t\t\tshareFolderIcon = OC.MimeType.getIconUrl('dir-external')\n\t\t\t\t\t$tr.attr('data-icon', shareFolderIcon)\n\t\t\t\t} else {\n\t\t\t\t\tshareFolderIcon = OC.MimeType.getIconUrl('dir')\n\t\t\t\t\t// back to default\n\t\t\t\t\t$tr.removeAttr('data-icon')\n\t\t\t\t}\n\t\t\t\t$tr.find('.filename .thumbnail').css('background-image', 'url(' + shareFolderIcon + ')')\n\t\t\t}\n\t\t\t// update share action text / icon\n\t\t\tif (hasShares || ownerId) {\n\t\t\t\trecipients = $tr.data('share-recipient-data')\n\t\t\t\taction.addClass('shared-style')\n\n\t\t\t\tavatars = '<span>' + t('files_sharing', 'Shared') + '</span>'\n\t\t\t\t// even if reshared, only show \"Shared by\"\n\t\t\t\tif (ownerId) {\n\t\t\t\t\tmessage = t('files_sharing', 'Shared by')\n\t\t\t\t\tavatars = OCA.Sharing.Util._formatRemoteShare(ownerId, owner, message)\n\t\t\t\t} else if (recipients) {\n\t\t\t\t\tavatars = OCA.Sharing.Util._formatShareList(recipients)\n\t\t\t\t}\n\t\t\t\taction.html(avatars).prepend(icon)\n\n\t\t\t\tif (ownerId || recipients) {\n\t\t\t\t\tvar avatarElement = action.find('.avatar')\n\t\t\t\t\tavatarElement.each(function() {\n\t\t\t\t\t\t$(this).avatar($(this).data('username'), 32)\n\t\t\t\t\t})\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\taction.html('<span class=\"hidden-visually\">' + t('files_sharing', 'Shared') + '</span>').prepend(icon)\n\t\t\t}\n\t\t\tif (hasLink) {\n\t\t\t\ticonClass = 'icon-public'\n\t\t\t}\n\t\t\ticon.removeClass('icon-shared icon-public').addClass(iconClass)\n\t\t},\n\t\t/**\n\t\t * Format a remote address\n\t\t *\n\t\t * @param {String} shareWith userid, full remote share, or whatever\n\t\t * @param {String} shareWithDisplayName\n\t\t * @param {String} message\n\t\t * @returns {String} HTML code to display\n\t\t */\n\t\t_formatRemoteShare: function(shareWith, shareWithDisplayName, message) {\n\t\t\tvar parts = OCA.Sharing.Util._REMOTE_OWNER_REGEXP.exec(shareWith)\n\t\t\tif (!parts || !parts[7]) {\n\t\t\t\t// display avatar of the user\n\t\t\t\tvar avatar = '<span class=\"avatar\" data-username=\"' + escapeHTML(shareWith) + '\" title=\"' + message + ' ' + escapeHTML(shareWithDisplayName) + '\"></span>'\n\t\t\t\tvar hidden = '<span class=\"hidden-visually\">' + message + ' ' + escapeHTML(shareWithDisplayName) + '</span> '\n\t\t\t\treturn avatar + hidden\n\t\t\t}\n\n\t\t\tvar userName = parts[2]\n\t\t\tvar userDomain = parts[4]\n\t\t\tvar server = parts[5]\n\t\t\tvar protocol = parts[6]\n\t\t\tvar serverPath = parts[8] ? parts[7] : ''; // no trailing slash on root\n\n\t\t\tvar tooltip = message + ' ' + userName\n\t\t\tif (userDomain) {\n\t\t\t\ttooltip += '@' + userDomain\n\t\t\t}\n\t\t\tif (server) {\n\t\t\t\ttooltip += '@' + server.replace(protocol, '') + serverPath\n\t\t\t}\n\n\t\t\tvar html = '<span class=\"remoteAddress\" title=\"' + escapeHTML(tooltip) + '\">'\n\t\t\thtml += '<span class=\"username\">' + escapeHTML(userName) + '</span>'\n\t\t\tif (userDomain) {\n\t\t\t\thtml += '<span class=\"userDomain\">@' + escapeHTML(userDomain) + '</span>'\n\t\t\t}\n\t\t\thtml += '</span> '\n\t\t\treturn html\n\t\t},\n\t\t/**\n\t\t * Loop over all recipients in the list and format them using\n\t\t * all kind of fancy magic.\n\t\t *\n\t\t* @param {Object} recipients array of all the recipients\n\t\t* @returns {String[]} modified list of recipients\n\t\t*/\n\t\t_formatShareList: function(recipients) {\n\t\t\tvar _parent = this\n\t\t\trecipients = _.toArray(recipients)\n\t\t\trecipients.sort(function(a, b) {\n\t\t\t\treturn a.shareWithDisplayName.localeCompare(b.shareWithDisplayName)\n\t\t\t})\n\t\t\treturn $.map(recipients, function(recipient) {\n\t\t\t\treturn _parent._formatRemoteShare(recipient.shareWith, recipient.shareWithDisplayName, t('files_sharing', 'Shared with'))\n\t\t\t})\n\t\t},\n\n\t\t/**\n\t\t * Marks/unmarks a given file as shared by changing its action icon\n\t\t * and folder icon.\n\t\t *\n\t\t* @param $tr file element to mark as shared\n\t\t* @param hasShares whether shares are available\n\t\t* @param hasLink whether link share is available\n\t\t*/\n\t\tmarkFileAsShared: function($tr, hasShares, hasLink) {\n\t\t\tvar action = $tr.find('.fileactions .action[data-action=\"Share\"]')\n\t\t\tvar type = $tr.data('type')\n\t\t\tvar icon = action.find('.icon')\n\t\t\tvar message, recipients, avatars\n\t\t\tvar ownerId = $tr.attr('data-share-owner-id')\n\t\t\tvar owner = $tr.attr('data-share-owner')\n\t\t\tvar mountType = $tr.attr('data-mounttype')\n\t\t\tvar shareFolderIcon\n\t\t\tvar iconClass = 'icon-shared'\n\t\t\taction.removeClass('shared-style')\n\t\t\t// update folder icon\n\t\t\tif (type === 'dir' && (hasShares || hasLink || ownerId)) {\n\t\t\t\tif (typeof mountType !== 'undefined' && mountType !== 'shared-root' && mountType !== 'shared') {\n\t\t\t\t\tshareFolderIcon = OC.MimeType.getIconUrl('dir-' + mountType)\n\t\t\t\t} else if (hasLink) {\n\t\t\t\t\tshareFolderIcon = OC.MimeType.getIconUrl('dir-public')\n\t\t\t\t} else {\n\t\t\t\t\tshareFolderIcon = OC.MimeType.getIconUrl('dir-shared')\n\t\t\t\t}\n\t\t\t\t$tr.find('.filename .thumbnail').css('background-image', 'url(' + shareFolderIcon + ')')\n\t\t\t\t$tr.attr('data-icon', shareFolderIcon)\n\t\t\t} else if (type === 'dir') {\n\t\t\t\tvar isEncrypted = $tr.attr('data-e2eencrypted')\n\t\t\t\t// FIXME: duplicate of FileList._createRow logic for external folder,\n\t\t\t\t// need to refactor the icon logic into a single code path eventually\n\t\t\t\tif (isEncrypted === 'true') {\n\t\t\t\t\tshareFolderIcon = OC.MimeType.getIconUrl('dir-encrypted')\n\t\t\t\t\t$tr.attr('data-icon', shareFolderIcon)\n\t\t\t\t} else if (mountType && mountType.indexOf('external') === 0) {\n\t\t\t\t\tshareFolderIcon = OC.MimeType.getIconUrl('dir-external')\n\t\t\t\t\t$tr.attr('data-icon', shareFolderIcon)\n\t\t\t\t} else {\n\t\t\t\t\tshareFolderIcon = OC.MimeType.getIconUrl('dir')\n\t\t\t\t\t// back to default\n\t\t\t\t\t$tr.removeAttr('data-icon')\n\t\t\t\t}\n\t\t\t\t$tr.find('.filename .thumbnail').css('background-image', 'url(' + shareFolderIcon + ')')\n\t\t\t}\n\t\t\t// update share action text / icon\n\t\t\tif (hasShares || ownerId) {\n\t\t\t\trecipients = $tr.data('share-recipient-data')\n\t\t\t\taction.addClass('shared-style')\n\n\t\t\t\tavatars = '<span>' + t('files_sharing', 'Shared') + '</span>'\n\t\t\t\t// even if reshared, only show \"Shared by\"\n\t\t\t\tif (ownerId) {\n\t\t\t\t\tmessage = t('files_sharing', 'Shared by')\n\t\t\t\t\tavatars = this._formatRemoteShare(ownerId, owner, message)\n\t\t\t\t} else if (recipients) {\n\t\t\t\t\tavatars = this._formatShareList(recipients)\n\t\t\t\t}\n\t\t\t\taction.html(avatars).prepend(icon)\n\n\t\t\t\tif (ownerId || recipients) {\n\t\t\t\t\tvar avatarElement = action.find('.avatar')\n\t\t\t\t\tavatarElement.each(function() {\n\t\t\t\t\t\t$(this).avatar($(this).data('username'), 32)\n\t\t\t\t\t})\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\taction.html('<span class=\"hidden-visually\">' + t('files_sharing', 'Shared') + '</span>').prepend(icon)\n\t\t\t}\n\t\t\tif (hasLink) {\n\t\t\t\ticonClass = 'icon-public'\n\t\t\t}\n\t\t\ticon.removeClass('icon-shared icon-public').addClass(iconClass)\n\t\t},\n\n\t\t/**\n\t\t * @param {Array} fileData\n\t\t * @returns {String}\n\t\t */\n\t\tgetSharePermissions: function(fileData) {\n\t\t\treturn fileData.sharePermissions\n\t\t}\n\t}\n})()\n\nOC.Plugins.register('OCA.Files.FileList', OCA.Sharing.Util)\n","/**\n * @copyright 2016 Christoph Wurst <christoph@winzerhof-wurst.at>\n *\n * @author Christoph Wurst <christoph@winzerhof-wurst.at>\n * @author John Molakvoæ <skjnldsv@protonmail.com>\n * @author Roeland Jago Douma <roeland@famdouma.nl>\n *\n * @license AGPL-3.0-or-later\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */\n\nimport { Type as ShareTypes } from '@nextcloud/sharing'\n\n(function() {\n\t'use strict'\n\n\tconst BreadCrumbView = OC.Backbone.View.extend({\n\t\ttagName: 'span',\n\t\tevents: {\n\t\t\tclick: '_onClick',\n\t\t},\n\t\t_dirInfo: undefined,\n\n\t\trender(data) {\n\t\t\tthis._dirInfo = data.dirInfo || null\n\n\t\t\tif (this._dirInfo !== null && (this._dirInfo.path !== '/' || this._dirInfo.name !== '')) {\n\t\t\t\tconst isShared = data.dirInfo && data.dirInfo.shareTypes && data.dirInfo.shareTypes.length > 0\n\t\t\t\tthis.$el.removeClass('shared icon-public icon-shared')\n\t\t\t\tif (isShared) {\n\t\t\t\t\tthis.$el.addClass('shared')\n\t\t\t\t\tif (data.dirInfo.shareTypes.indexOf(ShareTypes.SHARE_TYPE_LINK) !== -1) {\n\t\t\t\t\t\tthis.$el.addClass('icon-public')\n\t\t\t\t\t} else {\n\t\t\t\t\t\tthis.$el.addClass('icon-shared')\n\t\t\t\t\t}\n\t\t\t\t} else {\n\t\t\t\t\tthis.$el.addClass('icon-shared')\n\t\t\t\t}\n\t\t\t\tthis.$el.show()\n\t\t\t\tthis.delegateEvents()\n\t\t\t} else {\n\t\t\t\tthis.$el.removeClass('shared icon-public icon-shared')\n\t\t\t\tthis.$el.hide()\n\t\t\t}\n\n\t\t\treturn this\n\t\t},\n\t\t_onClick(e) {\n\t\t\te.preventDefault()\n\t\t\te.stopPropagation()\n\n\t\t\tconst fileInfoModel = new OCA.Files.FileInfoModel(this._dirInfo)\n\t\t\tconst self = this\n\t\t\tfileInfoModel.on('change', function() {\n\t\t\t\tself.render({\n\t\t\t\t\tdirInfo: self._dirInfo,\n\t\t\t\t})\n\t\t\t})\n\n\t\t\tconst path = fileInfoModel.attributes.path + '/' + fileInfoModel.attributes.name\n\t\t\tOCA.Files.Sidebar.open(path)\n\t\t\tOCA.Files.Sidebar.setActiveTab('sharing')\n\t\t},\n\t})\n\n\tOCA.Sharing.ShareBreadCrumbView = BreadCrumbView\n})()\n","\n      import API from \"!../../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n      import domAPI from \"!../../../../node_modules/style-loader/dist/runtime/styleDomAPI.js\";\n      import insertFn from \"!../../../../node_modules/style-loader/dist/runtime/insertBySelector.js\";\n      import setAttributes from \"!../../../../node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js\";\n      import insertStyleElement from \"!../../../../node_modules/style-loader/dist/runtime/insertStyleElement.js\";\n      import styleTagTransformFn from \"!../../../../node_modules/style-loader/dist/runtime/styleTagTransform.js\";\n      import content, * as namedExport from \"!!../../../../node_modules/css-loader/dist/cjs.js!../../../../node_modules/sass-loader/dist/cjs.js!./sharebreadcrumb.scss\";\n      \n      \n\nvar options = {};\n\noptions.styleTagTransform = styleTagTransformFn;\noptions.setAttributes = setAttributes;\n\n      options.insert = insertFn.bind(null, \"head\");\n    \noptions.domAPI = domAPI;\noptions.insertStyleElement = insertStyleElement;\n\nvar update = API(content, options);\n\n\n\nexport * from \"!!../../../../node_modules/css-loader/dist/cjs.js!../../../../node_modules/sass-loader/dist/cjs.js!./sharebreadcrumb.scss\";\n       export default content && content.locals ? content.locals : undefined;\n","/**\n * @copyright Copyright (c) 2016 Roeland Jago Douma <roeland@famdouma.nl>\n *\n * @author John Molakvoæ <skjnldsv@protonmail.com>\n * @author Julius Härtl <jus@bitgrid.net>\n * @author Roeland Jago Douma <roeland@famdouma.nl>\n *\n * @license AGPL-3.0-or-later\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */\n\nimport './share.js'\nimport './sharebreadcrumbview.js'\nimport './style/sharebreadcrumb.scss'\nimport './collaborationresourceshandler.js'\n\n// eslint-disable-next-line camelcase\n__webpack_nonce__ = btoa(OC.requestToken)\n\nwindow.OCA.Sharing = OCA.Sharing\n","/**\n * @copyright Copyright (c) 2016 John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @author John Molakvoæ <skjnldsv@protonmail.com>\n * @author Julius Härtl <jus@bitgrid.net>\n *\n * @license AGPL-3.0-or-later\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */\n\n// eslint-disable-next-line camelcase\n__webpack_nonce__ = btoa(OC.requestToken)\n\nwindow.OCP.Collaboration.registerType('file', {\n\taction: () => {\n\t\treturn new Promise((resolve, reject) => {\n\t\t\tOC.dialogs.filepicker(t('files_sharing', 'Link to a file'), function(f) {\n\t\t\t\tconst client = OC.Files.getClient()\n\t\t\t\tclient.getFileInfo(f).then((status, fileInfo) => {\n\t\t\t\t\tresolve(fileInfo.id)\n\t\t\t\t}).fail(() => {\n\t\t\t\t\treject(new Error('Cannot get fileinfo'))\n\t\t\t\t})\n\t\t\t}, false, null, false, OC.dialogs.FILEPICKER_TYPE_CHOOSE, '', { allowDirectoryChooser: true })\n\t\t})\n\t},\n\ttypeString: t('files_sharing', 'Link to a file'),\n\ttypeIconClass: 'icon-files-dark',\n})\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `li.crumb span.icon-shared,li.crumb span.icon-public{display:inline-block;cursor:pointer;opacity:.2;margin-right:6px}li.crumb span.icon-shared.shared,li.crumb span.icon-public.shared{opacity:.7}`, \"\",{\"version\":3,\"sources\":[\"webpack://./apps/files_sharing/src/style/sharebreadcrumb.scss\"],\"names\":[],\"mappings\":\"AAsBA,oDAEC,oBAAA,CACA,cAAA,CACA,UAAA,CACA,gBAAA,CAGD,kEAEC,UAAA\",\"sourcesContent\":[\"/**\\n * @copyright 2016 Christoph Wurst <christoph@winzerhof-wurst.at>\\n *\\n * @author 2016 Christoph Wurst <christoph@winzerhof-wurst.at>\\n *\\n * @license GNU AGPL version 3 or any later version\\n *\\n * This program is free software: you can redistribute it and/or modify\\n * it under the terms of the GNU Affero General Public License as\\n * published by the Free Software Foundation, either version 3 of the\\n * License, or (at your option) any later version.\\n *\\n * This program is distributed in the hope that it will be useful,\\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\\n * GNU Affero General Public License for more details.\\n *\\n * You should have received a copy of the GNU Affero General Public License\\n * along with this program.  If not, see <http://www.gnu.org/licenses/>.\\n *\\n */\\n\\nli.crumb span.icon-shared,\\nli.crumb span.icon-public {\\n\\tdisplay: inline-block;\\n\\tcursor: pointer;\\n\\topacity: 0.2;\\n\\tmargin-right: 6px;\\n}\\n\\nli.crumb span.icon-shared.shared,\\nli.crumb span.icon-public.shared {\\n\\topacity: 0.7;\\n}\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// The module cache\nvar __webpack_module_cache__ = {};\n\n// The require function\nfunction __webpack_require__(moduleId) {\n\t// Check if module is in cache\n\tvar cachedModule = __webpack_module_cache__[moduleId];\n\tif (cachedModule !== undefined) {\n\t\treturn cachedModule.exports;\n\t}\n\t// Create a new module (and put it into the cache)\n\tvar module = __webpack_module_cache__[moduleId] = {\n\t\tid: moduleId,\n\t\tloaded: false,\n\t\texports: {}\n\t};\n\n\t// Execute the module function\n\t__webpack_modules__[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n\t// Flag the module as loaded\n\tmodule.loaded = true;\n\n\t// Return the exports of the module\n\treturn module.exports;\n}\n\n// expose the modules object (__webpack_modules__)\n__webpack_require__.m = __webpack_modules__;\n\n","// getDefaultExport function for compatibility with non-harmony modules\n__webpack_require__.n = (module) => {\n\tvar getter = module && module.__esModule ?\n\t\t() => (module['default']) :\n\t\t() => (module);\n\t__webpack_require__.d(getter, { a: getter });\n\treturn getter;\n};","// define getter functions for harmony exports\n__webpack_require__.d = (exports, definition) => {\n\tfor(var key in definition) {\n\t\tif(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n\t\t\tObject.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n\t\t}\n\t}\n};","// The chunk loading function for additional chunks\n// Since all referenced chunks are already included\n// in this file, this function is empty here.\n__webpack_require__.e = () => (Promise.resolve());","__webpack_require__.g = (function() {\n\tif (typeof globalThis === 'object') return globalThis;\n\ttry {\n\t\treturn this || new Function('return this')();\n\t} catch (e) {\n\t\tif (typeof window === 'object') return window;\n\t}\n})();","__webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop))","// define __esModule on exports\n__webpack_require__.r = (exports) => {\n\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n\t}\n\tObject.defineProperty(exports, '__esModule', { value: true });\n};","__webpack_require__.nmd = (module) => {\n\tmodule.paths = [];\n\tif (!module.children) module.children = [];\n\treturn module;\n};","__webpack_require__.j = 9643;","__webpack_require__.b = document.baseURI || self.location.href;\n\n// object to store loaded and loading chunks\n// undefined = chunk not loaded, null = chunk preloaded/prefetched\n// [resolve, reject, Promise] = chunk loading, 0 = chunk loaded\nvar installedChunks = {\n\t9643: 0,\n\t7541: 0\n};\n\n// no chunk on demand loading\n\n// no prefetching\n\n// no preloaded\n\n// no HMR\n\n// no HMR manifest\n\n__webpack_require__.O.j = (chunkId) => (installedChunks[chunkId] === 0);\n\n// install a JSONP callback for chunk loading\nvar webpackJsonpCallback = (parentChunkLoadingFunction, data) => {\n\tvar chunkIds = data[0];\n\tvar moreModules = data[1];\n\tvar runtime = data[2];\n\t// add \"moreModules\" to the modules object,\n\t// then flag all \"chunkIds\" as loaded and fire callback\n\tvar moduleId, chunkId, i = 0;\n\tif(chunkIds.some((id) => (installedChunks[id] !== 0))) {\n\t\tfor(moduleId in moreModules) {\n\t\t\tif(__webpack_require__.o(moreModules, moduleId)) {\n\t\t\t\t__webpack_require__.m[moduleId] = moreModules[moduleId];\n\t\t\t}\n\t\t}\n\t\tif(runtime) var result = runtime(__webpack_require__);\n\t}\n\tif(parentChunkLoadingFunction) parentChunkLoadingFunction(data);\n\tfor(;i < chunkIds.length; i++) {\n\t\tchunkId = chunkIds[i];\n\t\tif(__webpack_require__.o(installedChunks, chunkId) && installedChunks[chunkId]) {\n\t\t\tinstalledChunks[chunkId][0]();\n\t\t}\n\t\tinstalledChunks[chunkId] = 0;\n\t}\n\treturn __webpack_require__.O(result);\n}\n\nvar chunkLoadingGlobal = self[\"webpackChunknextcloud\"] = self[\"webpackChunknextcloud\"] || [];\nchunkLoadingGlobal.forEach(webpackJsonpCallback.bind(null, 0));\nchunkLoadingGlobal.push = webpackJsonpCallback.bind(null, chunkLoadingGlobal.push.bind(chunkLoadingGlobal));","__webpack_require__.nc = undefined;","// startup\n// Load entry module and return exports\n// This entry module depends on other loaded chunks and execution need to be delayed\nvar __webpack_exports__ = __webpack_require__.O(undefined, [4208], () => (__webpack_require__(6651)))\n__webpack_exports__ = __webpack_require__.O(__webpack_exports__);\n"],"names":["deferred","_","extend","OC","Files","Client","PROPERTY_SHARE_TYPES","NS_OWNCLOUD","PROPERTY_OWNER_ID","PROPERTY_OWNER_DISPLAY_NAME","OCA","Sharing","Util","_REMOTE_OWNER_REGEXP","RegExp","attach","fileList","_getCapabilities$file","getCapabilities","files_sharing","api_enabled","id","fileActions","oldCreateRow","_createRow","fileData","tr","apply","this","arguments","sharePermissions","getSharePermissions","permissions","actions","all","Comment","Details","Goto","isFunction","canDownload","Download","PERMISSION_UPDATE","MoveCopy","attr","JSON","stringify","shareAttributes","shareOwner","shareOwnerId","mountType","recipientData","isEmpty","shareTypes","join","oldElementToFile","elementToFile","$el","fileInfo","parse","undefined","split","expirationTimestamp","parseInt","shares","push","expiration","oldGetWebdavProperties","_getWebdavProperties","props","filesClient","addFileInfoParser","response","data","propStat","properties","permissionsProp","PROPERTY_PERMISSIONS","indexOf","shareTypesProp","chain","filter","xmlvalue","namespaceURI","nodeName","map","textContent","text","value","on","ev","$files","each","file","$tr","$","shareTypesStr","hasLink","hasShares","shareTypeStr","shareType","ShareTypes","SHARE_TYPE_LINK","SHARE_TYPE_EMAIL","SHARE_TYPE_USER","SHARE_TYPE_GROUP","SHARE_TYPE_REMOTE","SHARE_TYPE_REMOTE_GROUP","SHARE_TYPE_CIRCLE","SHARE_TYPE_ROOM","SHARE_TYPE_DECK","SHARE_TYPE_SCIENCEMESH","_updateFileActionIcon","sharesLoaded","registerAction","name","displayName","context","$file","t","altText","mime","order","PERMISSION_ALL","iconClass","fileName","icon","generateUrl","concat","type","FileActions","TYPE_INLINE","actionHandler","_detailsView","isNaN","showDetailsView","render","actionSpec","isDefault","PERMISSION_SHARE","_defaultRenderAction","call","breadCrumbSharingDetailView","ShareBreadCrumbView","registerBreadCrumbDetailView","_updateFileListDataAttributes","shareModel","pluck","get","length","mapObject","share","shareWith","share_with","shareWithDisplayName","share_with_displayname","removeAttr","hasUserShares","hasLinkShares","_markFileAsShared","message","recipients","avatars","shareFolderIcon","action","find","ownerId","owner","removeClass","isEncrypted","MimeType","getIconUrl","css","addClass","_formatRemoteShare","_formatShareList","html","prepend","avatar","parts","exec","escapeHTML","userName","userDomain","server","protocol","serverPath","tooltip","replace","_parent","toArray","sort","a","b","localeCompare","recipient","markFileAsShared","Plugins","register","BreadCrumbView","Backbone","View","tagName","events","click","_dirInfo","dirInfo","path","hide","isShared","show","delegateEvents","_onClick","e","preventDefault","stopPropagation","fileInfoModel","FileInfoModel","self","attributes","Sidebar","open","setActiveTab","options","styleTagTransform","setAttributes","insert","domAPI","insertStyleElement","locals","__webpack_nonce__","btoa","requestToken","window","OCP","Collaboration","registerType","Promise","resolve","reject","dialogs","filepicker","f","getClient","getFileInfo","then","status","fail","Error","FILEPICKER_TYPE_CHOOSE","allowDirectoryChooser","typeString","typeIconClass","___CSS_LOADER_EXPORT___","module","__webpack_module_cache__","__webpack_require__","moduleId","cachedModule","exports","loaded","__webpack_modules__","m","O","result","chunkIds","fn","priority","notFulfilled","Infinity","i","fulfilled","j","Object","keys","every","key","splice","r","n","getter","__esModule","d","definition","o","defineProperty","enumerable","g","globalThis","Function","obj","prop","prototype","hasOwnProperty","Symbol","toStringTag","nmd","paths","children","document","baseURI","location","href","installedChunks","chunkId","webpackJsonpCallback","parentChunkLoadingFunction","moreModules","runtime","some","chunkLoadingGlobal","forEach","bind","nc","__webpack_exports__"],"sourceRoot":""}
\ No newline at end of file
+{"version":3,"file":"files_sharing-additionalScripts.js?v=e6cad64b42db70708841","mappings":"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","sources":["webpack:///nextcloud/webpack/runtime/chunk loaded","webpack:///nextcloud/apps/files_sharing/src/share.js","webpack:///nextcloud/apps/files_sharing/src/sharebreadcrumbview.js","webpack://nextcloud/./apps/files_sharing/src/style/sharebreadcrumb.scss?a9a3","webpack:///nextcloud/apps/files_sharing/src/additionalScripts.js","webpack:///nextcloud/apps/files_sharing/src/collaborationresourceshandler.js","webpack:///nextcloud/apps/files_sharing/src/style/sharebreadcrumb.scss","webpack:///nextcloud/webpack/bootstrap","webpack:///nextcloud/webpack/runtime/compat get default export","webpack:///nextcloud/webpack/runtime/define property getters","webpack:///nextcloud/webpack/runtime/ensure chunk","webpack:///nextcloud/webpack/runtime/global","webpack:///nextcloud/webpack/runtime/hasOwnProperty shorthand","webpack:///nextcloud/webpack/runtime/make namespace object","webpack:///nextcloud/webpack/runtime/node module decorator","webpack:///nextcloud/webpack/runtime/runtimeId","webpack:///nextcloud/webpack/runtime/jsonp chunk loading","webpack:///nextcloud/webpack/runtime/nonce","webpack:///nextcloud/webpack/startup"],"sourcesContent":["var deferred = [];\n__webpack_require__.O = (result, chunkIds, fn, priority) => {\n\tif(chunkIds) {\n\t\tpriority = priority || 0;\n\t\tfor(var i = deferred.length; i > 0 && deferred[i - 1][2] > priority; i--) deferred[i] = deferred[i - 1];\n\t\tdeferred[i] = [chunkIds, fn, priority];\n\t\treturn;\n\t}\n\tvar notFulfilled = Infinity;\n\tfor (var i = 0; i < deferred.length; i++) {\n\t\tvar chunkIds = deferred[i][0];\n\t\tvar fn = deferred[i][1];\n\t\tvar priority = deferred[i][2];\n\t\tvar fulfilled = true;\n\t\tfor (var j = 0; j < chunkIds.length; j++) {\n\t\t\tif ((priority & 1 === 0 || notFulfilled >= priority) && Object.keys(__webpack_require__.O).every((key) => (__webpack_require__.O[key](chunkIds[j])))) {\n\t\t\t\tchunkIds.splice(j--, 1);\n\t\t\t} else {\n\t\t\t\tfulfilled = false;\n\t\t\t\tif(priority < notFulfilled) notFulfilled = priority;\n\t\t\t}\n\t\t}\n\t\tif(fulfilled) {\n\t\t\tdeferred.splice(i--, 1)\n\t\t\tvar r = fn();\n\t\t\tif (r !== undefined) result = r;\n\t\t}\n\t}\n\treturn result;\n};","/**\n * SPDX-FileCopyrightText: 2016-2024 Nextcloud GmbH and Nextcloud contributors\n * SPDX-FileCopyrightText: 2011-2016 ownCloud, Inc.\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\n\n/* eslint-disable */\nimport escapeHTML from 'escape-html'\n\nimport { Type as ShareTypes } from '@nextcloud/sharing'\nimport { getCapabilities } from '@nextcloud/capabilities'\n\n(function() {\n\n\t_.extend(OC.Files.Client, {\n\t\tPROPERTY_SHARE_TYPES:\t'{' + OC.Files.Client.NS_OWNCLOUD + '}share-types',\n\t\tPROPERTY_OWNER_ID:\t'{' + OC.Files.Client.NS_OWNCLOUD + '}owner-id',\n\t\tPROPERTY_OWNER_DISPLAY_NAME:\t'{' + OC.Files.Client.NS_OWNCLOUD + '}owner-display-name'\n\t})\n\n\tif (!OCA.Sharing) {\n\t\tOCA.Sharing = {}\n\t}\n\n\t/**\n\t * @namespace\n\t */\n\tOCA.Sharing.Util = {\n\n\t\t/**\n\t\t * Regular expression for splitting parts of remote share owners:\n\t\t * \"user@example.com/\"\n\t\t * \"user@example.com/path/to/owncloud\"\n\t\t * \"user@anotherexample.com@example.com/path/to/owncloud\n\t\t */\n\t\t_REMOTE_OWNER_REGEXP: new RegExp('^(([^@]*)@(([^@^/\\\\s]*)@)?)((https://)?[^[\\\\s/]*)([/](.*))?$'),\n\n\t\t/**\n\t\t * Initialize the sharing plugin.\n\t\t *\n\t\t * Registers the \"Share\" file action and adds additional\n\t\t * DOM attributes for the sharing file info.\n\t\t *\n\t\t * @param {OCA.Files.FileList} fileList file list to be extended\n\t\t */\n\t\tattach: function(fileList) {\n\t\t\t// core sharing is disabled/not loaded\n\t\t\tif (!getCapabilities().files_sharing?.api_enabled) {\n\t\t\t\treturn\n\t\t\t}\n\t\t\tif (fileList.id === 'trashbin' || fileList.id === 'files.public') {\n\t\t\t\treturn\n\t\t\t}\n\t\t\tvar fileActions = fileList.fileActions\n\t\t\tvar oldCreateRow = fileList._createRow\n\t\t\tfileList._createRow = function(fileData) {\n\n\t\t\t\tvar tr = oldCreateRow.apply(this, arguments)\n\t\t\t\tvar sharePermissions = OCA.Sharing.Util.getSharePermissions(fileData)\n\n\t\t\t\tif (fileData.permissions === 0) {\n\t\t\t\t\t// no permission, disabling sidebar\n\t\t\t\t\tdelete fileActions.actions.all.Comment\n\t\t\t\t\tdelete fileActions.actions.all.Details\n\t\t\t\t\tdelete fileActions.actions.all.Goto\n\t\t\t\t}\n\t\t\t\tif (_.isFunction(fileData.canDownload) && !fileData.canDownload()) {\n\t\t\t\t\tdelete fileActions.actions.all.Download\n\t\t\t\t\tif ((fileData.permissions & OC.PERMISSION_UPDATE) === 0) {\n\t\t\t\t\t\t// neither move nor copy is allowed, remove the action completely\n\t\t\t\t\t\tdelete fileActions.actions.all.MoveCopy\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\ttr.attr('data-share-permissions', sharePermissions)\n\t\t\t\ttr.attr('data-share-attributes', JSON.stringify(fileData.shareAttributes))\n\t\t\t\tif (fileData.shareOwner) {\n\t\t\t\t\ttr.attr('data-share-owner', fileData.shareOwner)\n\t\t\t\t\ttr.attr('data-share-owner-id', fileData.shareOwnerId)\n\t\t\t\t\t// user should always be able to rename a mount point\n\t\t\t\t\tif (fileData.mountType === 'shared-root') {\n\t\t\t\t\t\ttr.attr('data-permissions', fileData.permissions | OC.PERMISSION_UPDATE)\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tif (fileData.recipientData && !_.isEmpty(fileData.recipientData)) {\n\t\t\t\t\ttr.attr('data-share-recipient-data', JSON.stringify(fileData.recipientData))\n\t\t\t\t}\n\t\t\t\tif (fileData.shareTypes) {\n\t\t\t\t\ttr.attr('data-share-types', fileData.shareTypes.join(','))\n\t\t\t\t}\n\t\t\t\treturn tr\n\t\t\t}\n\n\t\t\tvar oldElementToFile = fileList.elementToFile\n\t\t\tfileList.elementToFile = function($el) {\n\t\t\t\tvar fileInfo = oldElementToFile.apply(this, arguments)\n\t\t\t\tfileInfo.shareAttributes = JSON.parse($el.attr('data-share-attributes') || '[]')\n\t\t\t\tfileInfo.sharePermissions = $el.attr('data-share-permissions') || undefined\n\t\t\t\tfileInfo.shareOwner = $el.attr('data-share-owner') || undefined\n\t\t\t\tfileInfo.shareOwnerId = $el.attr('data-share-owner-id') || undefined\n\n\t\t\t\tif ($el.attr('data-share-types')) {\n\t\t\t\t\tfileInfo.shareTypes = $el.attr('data-share-types').split(',')\n\t\t\t\t}\n\n\t\t\t\tif ($el.attr('data-expiration')) {\n\t\t\t\t\tvar expirationTimestamp = parseInt($el.attr('data-expiration'))\n\t\t\t\t\tfileInfo.shares = []\n\t\t\t\t\tfileInfo.shares.push({ expiration: expirationTimestamp })\n\t\t\t\t}\n\n\t\t\t\treturn fileInfo\n\t\t\t}\n\n\t\t\tvar oldGetWebdavProperties = fileList._getWebdavProperties\n\t\t\tfileList._getWebdavProperties = function() {\n\t\t\t\tvar props = oldGetWebdavProperties.apply(this, arguments)\n\t\t\t\tprops.push(OC.Files.Client.PROPERTY_OWNER_ID)\n\t\t\t\tprops.push(OC.Files.Client.PROPERTY_OWNER_DISPLAY_NAME)\n\t\t\t\tprops.push(OC.Files.Client.PROPERTY_SHARE_TYPES)\n\t\t\t\treturn props\n\t\t\t}\n\n\t\t\tfileList.filesClient.addFileInfoParser(function(response) {\n\t\t\t\tvar data = {}\n\t\t\t\tvar props = response.propStat[0].properties\n\t\t\t\tvar permissionsProp = props[OC.Files.Client.PROPERTY_PERMISSIONS]\n\n\t\t\t\tif (permissionsProp && permissionsProp.indexOf('S') >= 0) {\n\t\t\t\t\tdata.shareOwner = props[OC.Files.Client.PROPERTY_OWNER_DISPLAY_NAME]\n\t\t\t\t\tdata.shareOwnerId = props[OC.Files.Client.PROPERTY_OWNER_ID]\n\t\t\t\t}\n\n\t\t\t\tvar shareTypesProp = props[OC.Files.Client.PROPERTY_SHARE_TYPES]\n\t\t\t\tif (shareTypesProp) {\n\t\t\t\t\tdata.shareTypes = _.chain(shareTypesProp).filter(function(xmlvalue) {\n\t\t\t\t\t\treturn (xmlvalue.namespaceURI === OC.Files.Client.NS_OWNCLOUD && xmlvalue.nodeName.split(':')[1] === 'share-type')\n\t\t\t\t\t}).map(function(xmlvalue) {\n\t\t\t\t\t\treturn parseInt(xmlvalue.textContent || xmlvalue.text, 10)\n\t\t\t\t\t}).value()\n\t\t\t\t}\n\n\t\t\t\treturn data\n\t\t\t})\n\n\t\t\t// use delegate to catch the case with multiple file lists\n\t\t\tfileList.$el.on('fileActionsReady', function(ev) {\n\t\t\t\tvar $files = ev.$files\n\n\t\t\t\t_.each($files, function(file) {\n\t\t\t\t\tvar $tr = $(file)\n\t\t\t\t\tvar shareTypesStr = $tr.attr('data-share-types') || ''\n\t\t\t\t\tvar shareOwner = $tr.attr('data-share-owner')\n\t\t\t\t\tif (shareTypesStr || shareOwner) {\n\t\t\t\t\t\tvar hasLink = false\n\t\t\t\t\t\tvar hasShares = false\n\t\t\t\t\t\t_.each(shareTypesStr.split(',') || [], function(shareTypeStr) {\n\t\t\t\t\t\t\tlet shareType = parseInt(shareTypeStr, 10)\n\t\t\t\t\t\t\tif (shareType === ShareTypes.SHARE_TYPE_LINK) {\n\t\t\t\t\t\t\t\thasLink = true\n\t\t\t\t\t\t\t} else if (shareType === ShareTypes.SHARE_TYPE_EMAIL) {\n\t\t\t\t\t\t\t\thasLink = true\n\t\t\t\t\t\t\t} else if (shareType === ShareTypes.SHARE_TYPE_USER) {\n\t\t\t\t\t\t\t\thasShares = true\n\t\t\t\t\t\t\t} else if (shareType === ShareTypes.SHARE_TYPE_GROUP) {\n\t\t\t\t\t\t\t\thasShares = true\n\t\t\t\t\t\t\t} else if (shareType === ShareTypes.SHARE_TYPE_REMOTE) {\n\t\t\t\t\t\t\t\thasShares = true\n\t\t\t\t\t\t\t} else if (shareType === ShareTypes.SHARE_TYPE_REMOTE_GROUP) {\n\t\t\t\t\t\t\t\thasShares = true\n\t\t\t\t\t\t\t} else if (shareType === ShareTypes.SHARE_TYPE_CIRCLE) {\n\t\t\t\t\t\t\t\thasShares = true\n\t\t\t\t\t\t\t} else if (shareType === ShareTypes.SHARE_TYPE_ROOM) {\n\t\t\t\t\t\t\t\thasShares = true\n\t\t\t\t\t\t\t} else if (shareType === ShareTypes.SHARE_TYPE_DECK) {\n\t\t\t\t\t\t\t\thasShares = true\n\t\t\t\t\t\t\t} else if (shareType === ShareTypes.SHARE_TYPE_SCIENCEMESH) {\n\t\t\t\t\t\t\t\thasShares = true\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t})\n\t\t\t\t\t\tOCA.Sharing.Util._updateFileActionIcon($tr, hasShares, hasLink)\n\t\t\t\t\t}\n\t\t\t\t})\n\t\t\t})\n\n\t\t\tfileList.$el.on('changeDirectory', function() {\n\t\t\t\tOCA.Sharing.sharesLoaded = false\n\t\t\t})\n\n\t\t\tfileActions.registerAction({\n\t\t\t\tname: 'Share',\n\t\t\t\tdisplayName: function(context) {\n\t\t\t\t\tif (context && context.$file) {\n\t\t\t\t\t\tvar shareType = parseInt(context.$file.data('share-types'), 10)\n\t\t\t\t\t\tvar shareOwner = context.$file.data('share-owner-id')\n\t\t\t\t\t\tif (shareType >= 0 || shareOwner) {\n\t\t\t\t\t\t\treturn t('files_sharing', 'Shared')\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t\treturn t('files_sharing', 'Share')\n\t\t\t\t},\n\t\t\t\taltText: t('files_sharing', 'Share'),\n\t\t\t\tmime: 'all',\n\t\t\t\torder: -150,\n\t\t\t\tpermissions: OC.PERMISSION_ALL,\n\t\t\t\ticonClass: function(fileName, context) {\n\t\t\t\t\tvar shareType = parseInt(context.$file.data('share-types'), 10)\n\t\t\t\t\tif (shareType === ShareTypes.SHARE_TYPE_EMAIL\n\t\t\t\t\t\t|| shareType === ShareTypes.SHARE_TYPE_LINK) {\n\t\t\t\t\t\treturn 'icon-public'\n\t\t\t\t\t}\n\t\t\t\t\treturn 'icon-shared'\n\t\t\t\t},\n\t\t\t\ticon: function(fileName, context) {\n\t\t\t\t\tvar shareOwner = context.$file.data('share-owner-id')\n\t\t\t\t\tif (shareOwner) {\n\t\t\t\t\t\treturn OC.generateUrl(`/avatar/${shareOwner}/32`)\n\t\t\t\t\t}\n\t\t\t\t},\n\t\t\t\ttype: OCA.Files.FileActions.TYPE_INLINE,\n\t\t\t\tactionHandler: function(fileName, context) {\n\t\t\t\t\t// details view disabled in some share lists\n\t\t\t\t\tif (!fileList._detailsView) {\n\t\t\t\t\t\treturn\n\t\t\t\t\t}\n\t\t\t\t\t// do not open sidebar if permission is set and equal to 0\n\t\t\t\t\tvar permissions = parseInt(context.$file.data('share-permissions'), 10)\n\t\t\t\t\tif (isNaN(permissions) || permissions > 0) {\n\t\t\t\t\t\tfileList.showDetailsView(fileName, 'sharing')\n\t\t\t\t\t}\n\t\t\t\t},\n\t\t\t\trender: function(actionSpec, isDefault, context) {\n\t\t\t\t\tvar permissions = parseInt(context.$file.data('permissions'), 10)\n\t\t\t\t\t// if no share permissions but share owner exists, still show the link\n\t\t\t\t\tif ((permissions & OC.PERMISSION_SHARE) !== 0 || context.$file.attr('data-share-owner')) {\n\t\t\t\t\t\treturn fileActions._defaultRenderAction.call(fileActions, actionSpec, isDefault, context)\n\t\t\t\t\t}\n\t\t\t\t\t// don't render anything\n\t\t\t\t\treturn null\n\t\t\t\t}\n\t\t\t})\n\n\t\t\t// register share breadcrumbs component\n\t\t\tvar breadCrumbSharingDetailView = new OCA.Sharing.ShareBreadCrumbView()\n\t\t\tfileList.registerBreadCrumbDetailView(breadCrumbSharingDetailView)\n\t\t},\n\n\t\t/**\n\t\t * Update file list data attributes\n\t\t */\n\t\t_updateFileListDataAttributes: function(fileList, $tr, shareModel) {\n\t\t\t// files app current cannot show recipients on load, so we don't update the\n\t\t\t// icon when changed for consistency\n\t\t\tif (fileList.id === 'files') {\n\t\t\t\treturn\n\t\t\t}\n\t\t\tvar recipients = _.pluck(shareModel.get('shares'), 'share_with_displayname')\n\t\t\t// note: we only update the data attribute because updateIcon()\n\t\t\tif (recipients.length) {\n\t\t\t\tvar recipientData = _.mapObject(shareModel.get('shares'), function(share) {\n\t\t\t\t\treturn { shareWith: share.share_with, shareWithDisplayName: share.share_with_displayname }\n\t\t\t\t})\n\t\t\t\t$tr.attr('data-share-recipient-data', JSON.stringify(recipientData))\n\t\t\t} else {\n\t\t\t\t$tr.removeAttr('data-share-recipient-data')\n\t\t\t}\n\t\t},\n\n\t\t/**\n\t\t * Update the file action share icon for the given file\n\t\t *\n\t\t * @param $tr file element of the file to update\n\t\t * @param {boolean} hasUserShares true if a user share exists\n\t\t * @param {boolean} hasLinkShares true if a link share exists\n\t\t *\n\t\t * @returns {boolean} true if the icon was set, false otherwise\n\t\t */\n\t\t_updateFileActionIcon: function($tr, hasUserShares, hasLinkShares) {\n\t\t\t// if the statuses are loaded already, use them for the icon\n\t\t\t// (needed when scrolling to the next page)\n\t\t\tif (hasUserShares || hasLinkShares || $tr.attr('data-share-recipient-data') || $tr.attr('data-share-owner')) {\n\t\t\t\tOCA.Sharing.Util._markFileAsShared($tr, true, hasLinkShares)\n\t\t\t\treturn true\n\t\t\t}\n\t\t\treturn false\n\t\t},\n\n\t\t/**\n\t\t * Marks/unmarks a given file as shared by changing its action icon\n\t\t * and folder icon.\n\t\t *\n\t\t * @param $tr file element to mark as shared\n\t\t * @param hasShares whether shares are available\n\t\t * @param hasLink whether link share is available\n\t\t */\n\t\t_markFileAsShared: function($tr, hasShares, hasLink) {\n\t\t\tvar action = $tr.find('.fileactions .action[data-action=\"Share\"]')\n\t\t\tvar type = $tr.data('type')\n\t\t\tvar icon = action.find('.icon')\n\t\t\tvar message, recipients, avatars\n\t\t\tvar ownerId = $tr.attr('data-share-owner-id')\n\t\t\tvar owner = $tr.attr('data-share-owner')\n\t\t\tvar mountType = $tr.attr('data-mounttype')\n\t\t\tvar shareFolderIcon\n\t\t\tvar iconClass = 'icon-shared'\n\t\t\taction.removeClass('shared-style')\n\t\t\t// update folder icon\n\t\t\tvar isEncrypted = $tr.attr('data-e2eencrypted')\n\t\t\tif (type === 'dir' && isEncrypted === 'true') {\n\t\t\t\tshareFolderIcon = OC.MimeType.getIconUrl('dir-encrypted')\n\t\t\t\t$tr.attr('data-icon', shareFolderIcon)\n\t\t\t} else if (type === 'dir' && (hasShares || hasLink || ownerId)) {\n\t\t\t\tif (typeof mountType !== 'undefined' && mountType !== 'shared-root' && mountType !== 'shared') {\n\t\t\t\t\tshareFolderIcon = OC.MimeType.getIconUrl('dir-' + mountType)\n\t\t\t\t} else if (hasLink) {\n\t\t\t\t\tshareFolderIcon = OC.MimeType.getIconUrl('dir-public')\n\t\t\t\t} else {\n\t\t\t\t\tshareFolderIcon = OC.MimeType.getIconUrl('dir-shared')\n\t\t\t\t}\n\t\t\t\t$tr.find('.filename .thumbnail').css('background-image', 'url(' + shareFolderIcon + ')')\n\t\t\t\t$tr.attr('data-icon', shareFolderIcon)\n\t\t\t} else if (type === 'dir') {\n\t\t\t\t// FIXME: duplicate of FileList._createRow logic for external folder,\n\t\t\t\t// need to refactor the icon logic into a single code path eventually\n\t\t\t\tif (mountType && mountType.indexOf('external') === 0) {\n\t\t\t\t\tshareFolderIcon = OC.MimeType.getIconUrl('dir-external')\n\t\t\t\t\t$tr.attr('data-icon', shareFolderIcon)\n\t\t\t\t} else {\n\t\t\t\t\tshareFolderIcon = OC.MimeType.getIconUrl('dir')\n\t\t\t\t\t// back to default\n\t\t\t\t\t$tr.removeAttr('data-icon')\n\t\t\t\t}\n\t\t\t\t$tr.find('.filename .thumbnail').css('background-image', 'url(' + shareFolderIcon + ')')\n\t\t\t}\n\t\t\t// update share action text / icon\n\t\t\tif (hasShares || ownerId) {\n\t\t\t\trecipients = $tr.data('share-recipient-data')\n\t\t\t\taction.addClass('shared-style')\n\n\t\t\t\tavatars = '<span>' + t('files_sharing', 'Shared') + '</span>'\n\t\t\t\t// even if reshared, only show \"Shared by\"\n\t\t\t\tif (ownerId) {\n\t\t\t\t\tmessage = t('files_sharing', 'Shared by')\n\t\t\t\t\tavatars = OCA.Sharing.Util._formatRemoteShare(ownerId, owner, message)\n\t\t\t\t} else if (recipients) {\n\t\t\t\t\tavatars = OCA.Sharing.Util._formatShareList(recipients)\n\t\t\t\t}\n\t\t\t\taction.html(avatars).prepend(icon)\n\n\t\t\t\tif (ownerId || recipients) {\n\t\t\t\t\tvar avatarElement = action.find('.avatar')\n\t\t\t\t\tavatarElement.each(function() {\n\t\t\t\t\t\t$(this).avatar($(this).data('username'), 32)\n\t\t\t\t\t})\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\taction.html('<span class=\"hidden-visually\">' + t('files_sharing', 'Shared') + '</span>').prepend(icon)\n\t\t\t}\n\t\t\tif (hasLink) {\n\t\t\t\ticonClass = 'icon-public'\n\t\t\t}\n\t\t\ticon.removeClass('icon-shared icon-public').addClass(iconClass)\n\t\t},\n\t\t/**\n\t\t * Format a remote address\n\t\t *\n\t\t * @param {String} shareWith userid, full remote share, or whatever\n\t\t * @param {String} shareWithDisplayName\n\t\t * @param {String} message\n\t\t * @returns {String} HTML code to display\n\t\t */\n\t\t_formatRemoteShare: function(shareWith, shareWithDisplayName, message) {\n\t\t\tvar parts = OCA.Sharing.Util._REMOTE_OWNER_REGEXP.exec(shareWith)\n\t\t\tif (!parts || !parts[7]) {\n\t\t\t\t// display avatar of the user\n\t\t\t\tvar avatar = '<span class=\"avatar\" data-username=\"' + escapeHTML(shareWith) + '\" title=\"' + message + ' ' + escapeHTML(shareWithDisplayName) + '\"></span>'\n\t\t\t\tvar hidden = '<span class=\"hidden-visually\">' + message + ' ' + escapeHTML(shareWithDisplayName) + '</span> '\n\t\t\t\treturn avatar + hidden\n\t\t\t}\n\n\t\t\tvar userName = parts[2]\n\t\t\tvar userDomain = parts[4]\n\t\t\tvar server = parts[5]\n\t\t\tvar protocol = parts[6]\n\t\t\tvar serverPath = parts[8] ? parts[7] : ''; // no trailing slash on root\n\n\t\t\tvar tooltip = message + ' ' + userName\n\t\t\tif (userDomain) {\n\t\t\t\ttooltip += '@' + userDomain\n\t\t\t}\n\t\t\tif (server) {\n\t\t\t\ttooltip += '@' + server.replace(protocol, '') + serverPath\n\t\t\t}\n\n\t\t\tvar html = '<span class=\"remoteAddress\" title=\"' + escapeHTML(tooltip) + '\">'\n\t\t\thtml += '<span class=\"username\">' + escapeHTML(userName) + '</span>'\n\t\t\tif (userDomain) {\n\t\t\t\thtml += '<span class=\"userDomain\">@' + escapeHTML(userDomain) + '</span>'\n\t\t\t}\n\t\t\thtml += '</span> '\n\t\t\treturn html\n\t\t},\n\t\t/**\n\t\t * Loop over all recipients in the list and format them using\n\t\t * all kind of fancy magic.\n\t\t *\n\t\t* @param {Object} recipients array of all the recipients\n\t\t* @returns {String[]} modified list of recipients\n\t\t*/\n\t\t_formatShareList: function(recipients) {\n\t\t\tvar _parent = this\n\t\t\trecipients = _.toArray(recipients)\n\t\t\trecipients.sort(function(a, b) {\n\t\t\t\treturn a.shareWithDisplayName.localeCompare(b.shareWithDisplayName)\n\t\t\t})\n\t\t\treturn $.map(recipients, function(recipient) {\n\t\t\t\treturn _parent._formatRemoteShare(recipient.shareWith, recipient.shareWithDisplayName, t('files_sharing', 'Shared with'))\n\t\t\t})\n\t\t},\n\n\t\t/**\n\t\t * Marks/unmarks a given file as shared by changing its action icon\n\t\t * and folder icon.\n\t\t *\n\t\t* @param $tr file element to mark as shared\n\t\t* @param hasShares whether shares are available\n\t\t* @param hasLink whether link share is available\n\t\t*/\n\t\tmarkFileAsShared: function($tr, hasShares, hasLink) {\n\t\t\tvar action = $tr.find('.fileactions .action[data-action=\"Share\"]')\n\t\t\tvar type = $tr.data('type')\n\t\t\tvar icon = action.find('.icon')\n\t\t\tvar message, recipients, avatars\n\t\t\tvar ownerId = $tr.attr('data-share-owner-id')\n\t\t\tvar owner = $tr.attr('data-share-owner')\n\t\t\tvar mountType = $tr.attr('data-mounttype')\n\t\t\tvar shareFolderIcon\n\t\t\tvar iconClass = 'icon-shared'\n\t\t\taction.removeClass('shared-style')\n\t\t\t// update folder icon\n\t\t\tif (type === 'dir' && (hasShares || hasLink || ownerId)) {\n\t\t\t\tif (typeof mountType !== 'undefined' && mountType !== 'shared-root' && mountType !== 'shared') {\n\t\t\t\t\tshareFolderIcon = OC.MimeType.getIconUrl('dir-' + mountType)\n\t\t\t\t} else if (hasLink) {\n\t\t\t\t\tshareFolderIcon = OC.MimeType.getIconUrl('dir-public')\n\t\t\t\t} else {\n\t\t\t\t\tshareFolderIcon = OC.MimeType.getIconUrl('dir-shared')\n\t\t\t\t}\n\t\t\t\t$tr.find('.filename .thumbnail').css('background-image', 'url(' + shareFolderIcon + ')')\n\t\t\t\t$tr.attr('data-icon', shareFolderIcon)\n\t\t\t} else if (type === 'dir') {\n\t\t\t\tvar isEncrypted = $tr.attr('data-e2eencrypted')\n\t\t\t\t// FIXME: duplicate of FileList._createRow logic for external folder,\n\t\t\t\t// need to refactor the icon logic into a single code path eventually\n\t\t\t\tif (isEncrypted === 'true') {\n\t\t\t\t\tshareFolderIcon = OC.MimeType.getIconUrl('dir-encrypted')\n\t\t\t\t\t$tr.attr('data-icon', shareFolderIcon)\n\t\t\t\t} else if (mountType && mountType.indexOf('external') === 0) {\n\t\t\t\t\tshareFolderIcon = OC.MimeType.getIconUrl('dir-external')\n\t\t\t\t\t$tr.attr('data-icon', shareFolderIcon)\n\t\t\t\t} else {\n\t\t\t\t\tshareFolderIcon = OC.MimeType.getIconUrl('dir')\n\t\t\t\t\t// back to default\n\t\t\t\t\t$tr.removeAttr('data-icon')\n\t\t\t\t}\n\t\t\t\t$tr.find('.filename .thumbnail').css('background-image', 'url(' + shareFolderIcon + ')')\n\t\t\t}\n\t\t\t// update share action text / icon\n\t\t\tif (hasShares || ownerId) {\n\t\t\t\trecipients = $tr.data('share-recipient-data')\n\t\t\t\taction.addClass('shared-style')\n\n\t\t\t\tavatars = '<span>' + t('files_sharing', 'Shared') + '</span>'\n\t\t\t\t// even if reshared, only show \"Shared by\"\n\t\t\t\tif (ownerId) {\n\t\t\t\t\tmessage = t('files_sharing', 'Shared by')\n\t\t\t\t\tavatars = this._formatRemoteShare(ownerId, owner, message)\n\t\t\t\t} else if (recipients) {\n\t\t\t\t\tavatars = this._formatShareList(recipients)\n\t\t\t\t}\n\t\t\t\taction.html(avatars).prepend(icon)\n\n\t\t\t\tif (ownerId || recipients) {\n\t\t\t\t\tvar avatarElement = action.find('.avatar')\n\t\t\t\t\tavatarElement.each(function() {\n\t\t\t\t\t\t$(this).avatar($(this).data('username'), 32)\n\t\t\t\t\t})\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\taction.html('<span class=\"hidden-visually\">' + t('files_sharing', 'Shared') + '</span>').prepend(icon)\n\t\t\t}\n\t\t\tif (hasLink) {\n\t\t\t\ticonClass = 'icon-public'\n\t\t\t}\n\t\t\ticon.removeClass('icon-shared icon-public').addClass(iconClass)\n\t\t},\n\n\t\t/**\n\t\t * @param {Array} fileData\n\t\t * @returns {String}\n\t\t */\n\t\tgetSharePermissions: function(fileData) {\n\t\t\treturn fileData.sharePermissions\n\t\t}\n\t}\n})()\n\nOC.Plugins.register('OCA.Files.FileList', OCA.Sharing.Util)\n","/**\n * SPDX-FileCopyrightText: 2016 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\n\nimport { Type as ShareTypes } from '@nextcloud/sharing'\n\n(function() {\n\t'use strict'\n\n\tconst BreadCrumbView = OC.Backbone.View.extend({\n\t\ttagName: 'span',\n\t\tevents: {\n\t\t\tclick: '_onClick',\n\t\t},\n\t\t_dirInfo: undefined,\n\n\t\trender(data) {\n\t\t\tthis._dirInfo = data.dirInfo || null\n\n\t\t\tif (this._dirInfo !== null && (this._dirInfo.path !== '/' || this._dirInfo.name !== '')) {\n\t\t\t\tconst isShared = data.dirInfo && data.dirInfo.shareTypes && data.dirInfo.shareTypes.length > 0\n\t\t\t\tthis.$el.removeClass('shared icon-public icon-shared')\n\t\t\t\tif (isShared) {\n\t\t\t\t\tthis.$el.addClass('shared')\n\t\t\t\t\tif (data.dirInfo.shareTypes.indexOf(ShareTypes.SHARE_TYPE_LINK) !== -1) {\n\t\t\t\t\t\tthis.$el.addClass('icon-public')\n\t\t\t\t\t} else {\n\t\t\t\t\t\tthis.$el.addClass('icon-shared')\n\t\t\t\t\t}\n\t\t\t\t} else {\n\t\t\t\t\tthis.$el.addClass('icon-shared')\n\t\t\t\t}\n\t\t\t\tthis.$el.show()\n\t\t\t\tthis.delegateEvents()\n\t\t\t} else {\n\t\t\t\tthis.$el.removeClass('shared icon-public icon-shared')\n\t\t\t\tthis.$el.hide()\n\t\t\t}\n\n\t\t\treturn this\n\t\t},\n\t\t_onClick(e) {\n\t\t\te.preventDefault()\n\t\t\te.stopPropagation()\n\n\t\t\tconst fileInfoModel = new OCA.Files.FileInfoModel(this._dirInfo)\n\t\t\tconst self = this\n\t\t\tfileInfoModel.on('change', function() {\n\t\t\t\tself.render({\n\t\t\t\t\tdirInfo: self._dirInfo,\n\t\t\t\t})\n\t\t\t})\n\n\t\t\tconst path = fileInfoModel.attributes.path + '/' + fileInfoModel.attributes.name\n\t\t\tOCA.Files.Sidebar.open(path)\n\t\t\tOCA.Files.Sidebar.setActiveTab('sharing')\n\t\t},\n\t})\n\n\tOCA.Sharing.ShareBreadCrumbView = BreadCrumbView\n})()\n","\n      import API from \"!../../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n      import domAPI from \"!../../../../node_modules/style-loader/dist/runtime/styleDomAPI.js\";\n      import insertFn from \"!../../../../node_modules/style-loader/dist/runtime/insertBySelector.js\";\n      import setAttributes from \"!../../../../node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js\";\n      import insertStyleElement from \"!../../../../node_modules/style-loader/dist/runtime/insertStyleElement.js\";\n      import styleTagTransformFn from \"!../../../../node_modules/style-loader/dist/runtime/styleTagTransform.js\";\n      import content, * as namedExport from \"!!../../../../node_modules/css-loader/dist/cjs.js!../../../../node_modules/sass-loader/dist/cjs.js!./sharebreadcrumb.scss\";\n      \n      \n\nvar options = {};\n\noptions.styleTagTransform = styleTagTransformFn;\noptions.setAttributes = setAttributes;\n\n      options.insert = insertFn.bind(null, \"head\");\n    \noptions.domAPI = domAPI;\noptions.insertStyleElement = insertStyleElement;\n\nvar update = API(content, options);\n\n\n\nexport * from \"!!../../../../node_modules/css-loader/dist/cjs.js!../../../../node_modules/sass-loader/dist/cjs.js!./sharebreadcrumb.scss\";\n       export default content && content.locals ? content.locals : undefined;\n","/**\n * SPDX-FileCopyrightText: 2016 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\n\nimport './share.js'\nimport './sharebreadcrumbview.js'\nimport './style/sharebreadcrumb.scss'\nimport './collaborationresourceshandler.js'\n\n// eslint-disable-next-line camelcase\n__webpack_nonce__ = btoa(OC.requestToken)\n\nwindow.OCA.Sharing = OCA.Sharing\n","/**\n * SPDX-FileCopyrightText: 2016 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\n\n// eslint-disable-next-line camelcase\n__webpack_nonce__ = btoa(OC.requestToken)\n\nwindow.OCP.Collaboration.registerType('file', {\n\taction: () => {\n\t\treturn new Promise((resolve, reject) => {\n\t\t\tOC.dialogs.filepicker(t('files_sharing', 'Link to a file'), function(f) {\n\t\t\t\tconst client = OC.Files.getClient()\n\t\t\t\tclient.getFileInfo(f).then((status, fileInfo) => {\n\t\t\t\t\tresolve(fileInfo.id)\n\t\t\t\t}).fail(() => {\n\t\t\t\t\treject(new Error('Cannot get fileinfo'))\n\t\t\t\t})\n\t\t\t}, false, null, false, OC.dialogs.FILEPICKER_TYPE_CHOOSE, '', { allowDirectoryChooser: true })\n\t\t})\n\t},\n\ttypeString: t('files_sharing', 'Link to a file'),\n\ttypeIconClass: 'icon-files-dark',\n})\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `/*!\n * SPDX-FileCopyrightText: 2016 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */li.crumb span.icon-shared,li.crumb span.icon-public{display:inline-block;cursor:pointer;opacity:.2;margin-right:6px}li.crumb span.icon-shared.shared,li.crumb span.icon-public.shared{opacity:.7}`, \"\",{\"version\":3,\"sources\":[\"webpack://./apps/files_sharing/src/style/sharebreadcrumb.scss\"],\"names\":[],\"mappings\":\"AAAA;;;EAAA,CAKA,oDAEC,oBAAA,CACA,cAAA,CACA,UAAA,CACA,gBAAA,CAGD,kEAEC,UAAA\",\"sourcesContent\":[\"/*!\\n * SPDX-FileCopyrightText: 2016 Nextcloud GmbH and Nextcloud contributors\\n * SPDX-License-Identifier: AGPL-3.0-or-later\\n */\\n\\nli.crumb span.icon-shared,\\nli.crumb span.icon-public {\\n\\tdisplay: inline-block;\\n\\tcursor: pointer;\\n\\topacity: 0.2;\\n\\tmargin-right: 6px;\\n}\\n\\nli.crumb span.icon-shared.shared,\\nli.crumb span.icon-public.shared {\\n\\topacity: 0.7;\\n}\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// The module cache\nvar __webpack_module_cache__ = {};\n\n// The require function\nfunction __webpack_require__(moduleId) {\n\t// Check if module is in cache\n\tvar cachedModule = __webpack_module_cache__[moduleId];\n\tif (cachedModule !== undefined) {\n\t\treturn cachedModule.exports;\n\t}\n\t// Create a new module (and put it into the cache)\n\tvar module = __webpack_module_cache__[moduleId] = {\n\t\tid: moduleId,\n\t\tloaded: false,\n\t\texports: {}\n\t};\n\n\t// Execute the module function\n\t__webpack_modules__[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n\t// Flag the module as loaded\n\tmodule.loaded = true;\n\n\t// Return the exports of the module\n\treturn module.exports;\n}\n\n// expose the modules object (__webpack_modules__)\n__webpack_require__.m = __webpack_modules__;\n\n","// getDefaultExport function for compatibility with non-harmony modules\n__webpack_require__.n = (module) => {\n\tvar getter = module && module.__esModule ?\n\t\t() => (module['default']) :\n\t\t() => (module);\n\t__webpack_require__.d(getter, { a: getter });\n\treturn getter;\n};","// define getter functions for harmony exports\n__webpack_require__.d = (exports, definition) => {\n\tfor(var key in definition) {\n\t\tif(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n\t\t\tObject.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n\t\t}\n\t}\n};","// The chunk loading function for additional chunks\n// Since all referenced chunks are already included\n// in this file, this function is empty here.\n__webpack_require__.e = () => (Promise.resolve());","__webpack_require__.g = (function() {\n\tif (typeof globalThis === 'object') return globalThis;\n\ttry {\n\t\treturn this || new Function('return this')();\n\t} catch (e) {\n\t\tif (typeof window === 'object') return window;\n\t}\n})();","__webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop))","// define __esModule on exports\n__webpack_require__.r = (exports) => {\n\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n\t}\n\tObject.defineProperty(exports, '__esModule', { value: true });\n};","__webpack_require__.nmd = (module) => {\n\tmodule.paths = [];\n\tif (!module.children) module.children = [];\n\treturn module;\n};","__webpack_require__.j = 9643;","__webpack_require__.b = document.baseURI || self.location.href;\n\n// object to store loaded and loading chunks\n// undefined = chunk not loaded, null = chunk preloaded/prefetched\n// [resolve, reject, Promise] = chunk loading, 0 = chunk loaded\nvar installedChunks = {\n\t9643: 0,\n\t7541: 0\n};\n\n// no chunk on demand loading\n\n// no prefetching\n\n// no preloaded\n\n// no HMR\n\n// no HMR manifest\n\n__webpack_require__.O.j = (chunkId) => (installedChunks[chunkId] === 0);\n\n// install a JSONP callback for chunk loading\nvar webpackJsonpCallback = (parentChunkLoadingFunction, data) => {\n\tvar chunkIds = data[0];\n\tvar moreModules = data[1];\n\tvar runtime = data[2];\n\t// add \"moreModules\" to the modules object,\n\t// then flag all \"chunkIds\" as loaded and fire callback\n\tvar moduleId, chunkId, i = 0;\n\tif(chunkIds.some((id) => (installedChunks[id] !== 0))) {\n\t\tfor(moduleId in moreModules) {\n\t\t\tif(__webpack_require__.o(moreModules, moduleId)) {\n\t\t\t\t__webpack_require__.m[moduleId] = moreModules[moduleId];\n\t\t\t}\n\t\t}\n\t\tif(runtime) var result = runtime(__webpack_require__);\n\t}\n\tif(parentChunkLoadingFunction) parentChunkLoadingFunction(data);\n\tfor(;i < chunkIds.length; i++) {\n\t\tchunkId = chunkIds[i];\n\t\tif(__webpack_require__.o(installedChunks, chunkId) && installedChunks[chunkId]) {\n\t\t\tinstalledChunks[chunkId][0]();\n\t\t}\n\t\tinstalledChunks[chunkId] = 0;\n\t}\n\treturn __webpack_require__.O(result);\n}\n\nvar chunkLoadingGlobal = self[\"webpackChunknextcloud\"] = self[\"webpackChunknextcloud\"] || [];\nchunkLoadingGlobal.forEach(webpackJsonpCallback.bind(null, 0));\nchunkLoadingGlobal.push = webpackJsonpCallback.bind(null, chunkLoadingGlobal.push.bind(chunkLoadingGlobal));","__webpack_require__.nc = undefined;","// startup\n// Load entry module and return exports\n// This entry module depends on other loaded chunks and execution need to be delayed\nvar __webpack_exports__ = __webpack_require__.O(undefined, [4208], () => (__webpack_require__(6651)))\n__webpack_exports__ = __webpack_require__.O(__webpack_exports__);\n"],"names":["deferred","_","extend","OC","Files","Client","PROPERTY_SHARE_TYPES","NS_OWNCLOUD","PROPERTY_OWNER_ID","PROPERTY_OWNER_DISPLAY_NAME","OCA","Sharing","Util","_REMOTE_OWNER_REGEXP","RegExp","attach","fileList","_getCapabilities$file","getCapabilities","files_sharing","api_enabled","id","fileActions","oldCreateRow","_createRow","fileData","tr","apply","this","arguments","sharePermissions","getSharePermissions","permissions","actions","all","Comment","Details","Goto","isFunction","canDownload","Download","PERMISSION_UPDATE","MoveCopy","attr","JSON","stringify","shareAttributes","shareOwner","shareOwnerId","mountType","recipientData","isEmpty","shareTypes","join","oldElementToFile","elementToFile","$el","fileInfo","parse","undefined","split","expirationTimestamp","parseInt","shares","push","expiration","oldGetWebdavProperties","_getWebdavProperties","props","filesClient","addFileInfoParser","response","data","propStat","properties","permissionsProp","PROPERTY_PERMISSIONS","indexOf","shareTypesProp","chain","filter","xmlvalue","namespaceURI","nodeName","map","textContent","text","value","on","ev","$files","each","file","$tr","$","shareTypesStr","hasLink","hasShares","shareTypeStr","shareType","ShareTypes","SHARE_TYPE_LINK","SHARE_TYPE_EMAIL","SHARE_TYPE_USER","SHARE_TYPE_GROUP","SHARE_TYPE_REMOTE","SHARE_TYPE_REMOTE_GROUP","SHARE_TYPE_CIRCLE","SHARE_TYPE_ROOM","SHARE_TYPE_DECK","SHARE_TYPE_SCIENCEMESH","_updateFileActionIcon","sharesLoaded","registerAction","name","displayName","context","$file","t","altText","mime","order","PERMISSION_ALL","iconClass","fileName","icon","generateUrl","concat","type","FileActions","TYPE_INLINE","actionHandler","_detailsView","isNaN","showDetailsView","render","actionSpec","isDefault","PERMISSION_SHARE","_defaultRenderAction","call","breadCrumbSharingDetailView","ShareBreadCrumbView","registerBreadCrumbDetailView","_updateFileListDataAttributes","shareModel","pluck","get","length","mapObject","share","shareWith","share_with","shareWithDisplayName","share_with_displayname","removeAttr","hasUserShares","hasLinkShares","_markFileAsShared","message","recipients","avatars","shareFolderIcon","action","find","ownerId","owner","removeClass","isEncrypted","MimeType","getIconUrl","css","addClass","_formatRemoteShare","_formatShareList","html","prepend","avatar","parts","exec","escapeHTML","userName","userDomain","server","protocol","serverPath","tooltip","replace","_parent","toArray","sort","a","b","localeCompare","recipient","markFileAsShared","Plugins","register","BreadCrumbView","Backbone","View","tagName","events","click","_dirInfo","dirInfo","path","hide","isShared","show","delegateEvents","_onClick","e","preventDefault","stopPropagation","fileInfoModel","FileInfoModel","self","attributes","Sidebar","open","setActiveTab","options","styleTagTransform","setAttributes","insert","domAPI","insertStyleElement","locals","__webpack_nonce__","btoa","requestToken","window","OCP","Collaboration","registerType","Promise","resolve","reject","dialogs","filepicker","f","getClient","getFileInfo","then","status","fail","Error","FILEPICKER_TYPE_CHOOSE","allowDirectoryChooser","typeString","typeIconClass","___CSS_LOADER_EXPORT___","module","__webpack_module_cache__","__webpack_require__","moduleId","cachedModule","exports","loaded","__webpack_modules__","m","O","result","chunkIds","fn","priority","notFulfilled","Infinity","i","fulfilled","j","Object","keys","every","key","splice","r","n","getter","__esModule","d","definition","o","defineProperty","enumerable","g","globalThis","Function","obj","prop","prototype","hasOwnProperty","Symbol","toStringTag","nmd","paths","children","document","baseURI","location","href","installedChunks","chunkId","webpackJsonpCallback","parentChunkLoadingFunction","moreModules","runtime","some","chunkLoadingGlobal","forEach","bind","nc","__webpack_exports__"],"sourceRoot":""}
\ No newline at end of file
index 9354a0f7ece0f46e8f7a7c41012f1f38c686a377..978593be6755528f240afde9a71149e8a573bf42 100644 (file)
@@ -1 +1 @@
-{"version":3,"file":"files_sharing-collaboration.js?v=f799f63870ede0105298","mappings":"AAwBoBA,KAAKC,GAAGC,cAE5BC,OAAOC,IAAIC,cAAcC,aAAa,OAAQ,CAC7CC,OAAQA,IACA,IAAIC,SAAQ,CAACC,EAASC,KAC5BT,GAAGU,QAAQC,WAAWC,EAAE,gBAAiB,mBAAmB,SAASC,GACrDb,GAAGc,MAAMC,YACjBC,YAAYH,GAAGI,MAAK,CAACC,EAAQC,KACnCX,EAAQW,EAASC,GAAG,IAClBC,MAAK,KACPZ,EAAO,IAAIa,MAAM,uBAAuB,GAE1C,IAAG,EAAO,MAAM,EAAOtB,GAAGU,QAAQa,uBAAwB,GAAI,CAAEC,uBAAuB,GAAO,IAGhGC,WAAYb,EAAE,gBAAiB,kBAC/Bc,cAAe","sources":["webpack:///nextcloud/apps/files_sharing/src/collaborationresourceshandler.js"],"sourcesContent":["/**\n * @copyright Copyright (c) 2016 John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @author John Molakvoæ <skjnldsv@protonmail.com>\n * @author Julius Härtl <jus@bitgrid.net>\n *\n * @license AGPL-3.0-or-later\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */\n\n// eslint-disable-next-line camelcase\n__webpack_nonce__ = btoa(OC.requestToken)\n\nwindow.OCP.Collaboration.registerType('file', {\n\taction: () => {\n\t\treturn new Promise((resolve, reject) => {\n\t\t\tOC.dialogs.filepicker(t('files_sharing', 'Link to a file'), function(f) {\n\t\t\t\tconst client = OC.Files.getClient()\n\t\t\t\tclient.getFileInfo(f).then((status, fileInfo) => {\n\t\t\t\t\tresolve(fileInfo.id)\n\t\t\t\t}).fail(() => {\n\t\t\t\t\treject(new Error('Cannot get fileinfo'))\n\t\t\t\t})\n\t\t\t}, false, null, false, OC.dialogs.FILEPICKER_TYPE_CHOOSE, '', { allowDirectoryChooser: true })\n\t\t})\n\t},\n\ttypeString: t('files_sharing', 'Link to a file'),\n\ttypeIconClass: 'icon-files-dark',\n})\n"],"names":["btoa","OC","requestToken","window","OCP","Collaboration","registerType","action","Promise","resolve","reject","dialogs","filepicker","t","f","Files","getClient","getFileInfo","then","status","fileInfo","id","fail","Error","FILEPICKER_TYPE_CHOOSE","allowDirectoryChooser","typeString","typeIconClass"],"sourceRoot":""}
\ No newline at end of file
+{"version":3,"file":"files_sharing-collaboration.js?v=f799f63870ede0105298","mappings":"AAMoBA,KAAKC,GAAGC,cAE5BC,OAAOC,IAAIC,cAAcC,aAAa,OAAQ,CAC7CC,OAAQA,IACA,IAAIC,SAAQ,CAACC,EAASC,KAC5BT,GAAGU,QAAQC,WAAWC,EAAE,gBAAiB,mBAAmB,SAASC,GACrDb,GAAGc,MAAMC,YACjBC,YAAYH,GAAGI,MAAK,CAACC,EAAQC,KACnCX,EAAQW,EAASC,GAAG,IAClBC,MAAK,KACPZ,EAAO,IAAIa,MAAM,uBAAuB,GAE1C,IAAG,EAAO,MAAM,EAAOtB,GAAGU,QAAQa,uBAAwB,GAAI,CAAEC,uBAAuB,GAAO,IAGhGC,WAAYb,EAAE,gBAAiB,kBAC/Bc,cAAe","sources":["webpack:///nextcloud/apps/files_sharing/src/collaborationresourceshandler.js"],"sourcesContent":["/**\n * SPDX-FileCopyrightText: 2016 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\n\n// eslint-disable-next-line camelcase\n__webpack_nonce__ = btoa(OC.requestToken)\n\nwindow.OCP.Collaboration.registerType('file', {\n\taction: () => {\n\t\treturn new Promise((resolve, reject) => {\n\t\t\tOC.dialogs.filepicker(t('files_sharing', 'Link to a file'), function(f) {\n\t\t\t\tconst client = OC.Files.getClient()\n\t\t\t\tclient.getFileInfo(f).then((status, fileInfo) => {\n\t\t\t\t\tresolve(fileInfo.id)\n\t\t\t\t}).fail(() => {\n\t\t\t\t\treject(new Error('Cannot get fileinfo'))\n\t\t\t\t})\n\t\t\t}, false, null, false, OC.dialogs.FILEPICKER_TYPE_CHOOSE, '', { allowDirectoryChooser: true })\n\t\t})\n\t},\n\ttypeString: t('files_sharing', 'Link to a file'),\n\ttypeIconClass: 'icon-files-dark',\n})\n"],"names":["btoa","OC","requestToken","window","OCP","Collaboration","registerType","action","Promise","resolve","reject","dialogs","filepicker","t","f","Files","getClient","getFileInfo","then","status","fileInfo","id","fail","Error","FILEPICKER_TYPE_CHOOSE","allowDirectoryChooser","typeString","typeIconClass"],"sourceRoot":""}
\ No newline at end of file
index 8146e99b707c158a05884cf52e24589f2b3be7c0..5aac096fc2b7f240dc2e550f90b8bae659605d69 100644 (file)
@@ -1,3 +1,3 @@
-/*! For license information please see files_sharing-files_sharing_tab.js.license?v=e0e37afc269a076adaf7 */
-(()=>{"use strict";var e,t,r,i={69196:(e,t,r)=>{var i=r(85471),n=r(53334),a=r(21777),o=r(96763);var s=r(96763);var l=r(96763);r.nc=btoa((0,a.do)()),window.OCA.Sharing||(window.OCA.Sharing={}),Object.assign(window.OCA.Sharing,{ShareSearch:new class{constructor(){var e,t,r,i;e=this,r=void 0,(t="symbol"==typeof(i=function(e,t){if("object"!=typeof e||!e)return e;var r=e[Symbol.toPrimitive];if(void 0!==r){var i=r.call(e,"string");if("object"!=typeof i)return i;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(t="_state"))?i:String(i))in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,this._state={},this._state.results=[],o.debug("OCA.Sharing.ShareSearch initialized")}get state(){return this._state}addNewResult(e){return""!==e.displayName.trim()&&"function"==typeof e.handler?(this._state.results.push(e),!0):(o.error("Invalid search result provided",e),!1)}}}),Object.assign(window.OCA.Sharing,{ExternalLinkActions:new class{constructor(){var e,t,r,i;e=this,r=void 0,(t="symbol"==typeof(i=function(e,t){if("object"!=typeof e||!e)return e;var r=e[Symbol.toPrimitive];if(void 0!==r){var i=r.call(e,"string");if("object"!=typeof i)return i;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(t="_state"))?i:String(i))in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,this._state={},this._state.actions=[],s.debug("OCA.Sharing.ExternalLinkActions initialized")}get state(){return this._state}registerAction(e){return OC.debug&&s.warn("OCA.Sharing.ExternalLinkActions is deprecated, use OCA.Sharing.ExternalShareAction instead"),"object"==typeof e&&e.icon&&e.name&&e.url?(this._state.actions.push(e),!0):(s.error("Invalid action provided",e),!1)}}}),Object.assign(window.OCA.Sharing,{ExternalShareActions:new class{constructor(){var e,t,r,i;e=this,r=void 0,(t="symbol"==typeof(i=function(e,t){if("object"!=typeof e||!e)return e;var r=e[Symbol.toPrimitive];if(void 0!==r){var i=r.call(e,"string");if("object"!=typeof i)return i;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(t="_state"))?i:String(i))in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,this._state={},this._state.actions=[],l.debug("OCA.Sharing.ExternalShareActions initialized")}get state(){return this._state}registerAction(e){return"object"==typeof e&&"string"==typeof e.id&&"function"==typeof e.data&&Array.isArray(e.shareType)&&"object"==typeof e.handlers&&Object.values(e.handlers).every((e=>"function"==typeof e))?this._state.actions.findIndex((t=>t.id===e.id))>-1?(l.error("An action with the same id ".concat(e.id," already exists"),e),!1):(this._state.actions.push(e),!0):(l.error("Invalid action provided",e),!1)}}}),Object.assign(window.OCA.Sharing,{ShareTabSections:new class{constructor(){var e,t,r,i;e=this,r=void 0,(t="symbol"==typeof(i=function(e,t){if("object"!=typeof e||!e)return e;var r=e[Symbol.toPrimitive];if(void 0!==r){var i=r.call(e,"string");if("object"!=typeof i)return i;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(t="_sections"))?i:String(i))in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,this._sections=[]}registerSection(e){this._sections.push(e)}getSections(){return this._sections}}}),i.Ay.prototype.t=n.Tl,i.Ay.prototype.n=n.zw;let c=null;window.addEventListener("DOMContentLoaded",(function(){OCA.Files&&OCA.Files.Sidebar&&OCA.Files.Sidebar.registerTab(new OCA.Files.Sidebar.Tab({id:"sharing",name:(0,n.Tl)("files_sharing","Sharing"),iconSvg:'<svg xmlns="http://www.w3.org/2000/svg" id="mdi-share-variant" viewBox="0 0 24 24"><path d="M18,16.08C17.24,16.08 16.56,16.38 16.04,16.85L8.91,12.7C8.96,12.47 9,12.24 9,12C9,11.76 8.96,11.53 8.91,11.3L15.96,7.19C16.5,7.69 17.21,8 18,8A3,3 0 0,0 21,5A3,3 0 0,0 18,2A3,3 0 0,0 15,5C15,5.24 15.04,5.47 15.09,5.7L8.04,9.81C7.5,9.31 6.79,9 6,9A3,3 0 0,0 3,12A3,3 0 0,0 6,15C6.79,15 7.5,14.69 8.04,14.19L15.16,18.34C15.11,18.55 15.08,18.77 15.08,19C15.08,20.61 16.39,21.91 18,21.91C19.61,21.91 20.92,20.61 20.92,19A2.92,2.92 0 0,0 18,16.08Z" /></svg>',async mount(e,t,n){const a=(await Promise.all([r.e(4208),r.e(6364)]).then(r.bind(r,96998))).default,o=i.Ay.extend(a);c&&c.$destroy(),c=new o({parent:n}),await c.update(t),c.$mount(e)},update(e){c.update(e)},destroy(){c.$destroy(),c=null}}))}))}},n={};function a(e){var t=n[e];if(void 0!==t)return t.exports;var r=n[e]={id:e,loaded:!1,exports:{}};return i[e].call(r.exports,r,r.exports,a),r.loaded=!0,r.exports}a.m=i,e=[],a.O=(t,r,i,n)=>{if(!r){var o=1/0;for(u=0;u<e.length;u++){r=e[u][0],i=e[u][1],n=e[u][2];for(var s=!0,l=0;l<r.length;l++)(!1&n||o>=n)&&Object.keys(a.O).every((e=>a.O[e](r[l])))?r.splice(l--,1):(s=!1,n<o&&(o=n));if(s){e.splice(u--,1);var c=i();void 0!==c&&(t=c)}}return t}n=n||0;for(var u=e.length;u>0&&e[u-1][2]>n;u--)e[u]=e[u-1];e[u]=[r,i,n]},a.n=e=>{var t=e&&e.__esModule?()=>e.default:()=>e;return a.d(t,{a:t}),t},a.d=(e,t)=>{for(var r in t)a.o(t,r)&&!a.o(e,r)&&Object.defineProperty(e,r,{enumerable:!0,get:t[r]})},a.f={},a.e=e=>Promise.all(Object.keys(a.f).reduce(((t,r)=>(a.f[r](e,t),t)),[])),a.u=e=>e+"-"+e+".js?v="+{1110:"a5d6e6f59aa058840a1e",5455:"9cd46fa2e0b6ad206e92",6364:"557e590be224f11e3d58"}[e],a.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(e){if("object"==typeof window)return window}}(),a.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),t={},r="nextcloud:",a.l=(e,i,n,o)=>{if(t[e])t[e].push(i);else{var s,l;if(void 0!==n)for(var c=document.getElementsByTagName("script"),u=0;u<c.length;u++){var d=c[u];if(d.getAttribute("src")==e||d.getAttribute("data-webpack")==r+n){s=d;break}}s||(l=!0,(s=document.createElement("script")).charset="utf-8",s.timeout=120,a.nc&&s.setAttribute("nonce",a.nc),s.setAttribute("data-webpack",r+n),s.src=e),t[e]=[i];var f=(r,i)=>{s.onerror=s.onload=null,clearTimeout(p);var n=t[e];if(delete t[e],s.parentNode&&s.parentNode.removeChild(s),n&&n.forEach((e=>e(i))),r)return r(i)},p=setTimeout(f.bind(null,void 0,{type:"timeout",target:s}),12e4);s.onerror=f.bind(null,s.onerror),s.onload=f.bind(null,s.onload),l&&document.head.appendChild(s)}},a.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},a.nmd=e=>(e.paths=[],e.children||(e.children=[]),e),a.j=4958,(()=>{var e;a.g.importScripts&&(e=a.g.location+"");var t=a.g.document;if(!e&&t&&(t.currentScript&&(e=t.currentScript.src),!e)){var r=t.getElementsByTagName("script");if(r.length)for(var i=r.length-1;i>-1&&(!e||!/^http(s?):/.test(e));)e=r[i--].src}if(!e)throw new Error("Automatic publicPath is not supported in this browser");e=e.replace(/#.*$/,"").replace(/\?.*$/,"").replace(/\/[^\/]+$/,"/"),a.p=e})(),(()=>{a.b=document.baseURI||self.location.href;var e={4958:0};a.f.j=(t,r)=>{var i=a.o(e,t)?e[t]:void 0;if(0!==i)if(i)r.push(i[2]);else{var n=new Promise(((r,n)=>i=e[t]=[r,n]));r.push(i[2]=n);var o=a.p+a.u(t),s=new Error;a.l(o,(r=>{if(a.o(e,t)&&(0!==(i=e[t])&&(e[t]=void 0),i)){var n=r&&("load"===r.type?"missing":r.type),o=r&&r.target&&r.target.src;s.message="Loading chunk "+t+" failed.\n("+n+": "+o+")",s.name="ChunkLoadError",s.type=n,s.request=o,i[1](s)}}),"chunk-"+t,t)}},a.O.j=t=>0===e[t];var t=(t,r)=>{var i,n,o=r[0],s=r[1],l=r[2],c=0;if(o.some((t=>0!==e[t]))){for(i in s)a.o(s,i)&&(a.m[i]=s[i]);if(l)var u=l(a)}for(t&&t(r);c<o.length;c++)n=o[c],a.o(e,n)&&e[n]&&e[n][0](),e[n]=0;return a.O(u)},r=self.webpackChunknextcloud=self.webpackChunknextcloud||[];r.forEach(t.bind(null,0)),r.push=t.bind(null,r.push.bind(r))})(),a.nc=void 0;var o=a.O(void 0,[4208],(()=>a(69196)));o=a.O(o)})();
-//# sourceMappingURL=files_sharing-files_sharing_tab.js.map?v=e0e37afc269a076adaf7
\ No newline at end of file
+/*! For license information please see files_sharing-files_sharing_tab.js.license?v=34c73e5ce658313281c3 */
+(()=>{"use strict";var e,t,r,i={69196:(e,t,r)=>{var i=r(85471),n=r(53334),a=r(21777),o=r(96763);var s=r(96763);var l=r(96763);r.nc=btoa((0,a.do)()),window.OCA.Sharing||(window.OCA.Sharing={}),Object.assign(window.OCA.Sharing,{ShareSearch:new class{constructor(){var e,t,r,i;e=this,r=void 0,(t="symbol"==typeof(i=function(e,t){if("object"!=typeof e||!e)return e;var r=e[Symbol.toPrimitive];if(void 0!==r){var i=r.call(e,"string");if("object"!=typeof i)return i;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(t="_state"))?i:String(i))in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,this._state={},this._state.results=[],o.debug("OCA.Sharing.ShareSearch initialized")}get state(){return this._state}addNewResult(e){return""!==e.displayName.trim()&&"function"==typeof e.handler?(this._state.results.push(e),!0):(o.error("Invalid search result provided",e),!1)}}}),Object.assign(window.OCA.Sharing,{ExternalLinkActions:new class{constructor(){var e,t,r,i;e=this,r=void 0,(t="symbol"==typeof(i=function(e,t){if("object"!=typeof e||!e)return e;var r=e[Symbol.toPrimitive];if(void 0!==r){var i=r.call(e,"string");if("object"!=typeof i)return i;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(t="_state"))?i:String(i))in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,this._state={},this._state.actions=[],s.debug("OCA.Sharing.ExternalLinkActions initialized")}get state(){return this._state}registerAction(e){return OC.debug&&s.warn("OCA.Sharing.ExternalLinkActions is deprecated, use OCA.Sharing.ExternalShareAction instead"),"object"==typeof e&&e.icon&&e.name&&e.url?(this._state.actions.push(e),!0):(s.error("Invalid action provided",e),!1)}}}),Object.assign(window.OCA.Sharing,{ExternalShareActions:new class{constructor(){var e,t,r,i;e=this,r=void 0,(t="symbol"==typeof(i=function(e,t){if("object"!=typeof e||!e)return e;var r=e[Symbol.toPrimitive];if(void 0!==r){var i=r.call(e,"string");if("object"!=typeof i)return i;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(t="_state"))?i:String(i))in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,this._state={},this._state.actions=[],l.debug("OCA.Sharing.ExternalShareActions initialized")}get state(){return this._state}registerAction(e){return"object"==typeof e&&"string"==typeof e.id&&"function"==typeof e.data&&Array.isArray(e.shareType)&&"object"==typeof e.handlers&&Object.values(e.handlers).every((e=>"function"==typeof e))?this._state.actions.findIndex((t=>t.id===e.id))>-1?(l.error("An action with the same id ".concat(e.id," already exists"),e),!1):(this._state.actions.push(e),!0):(l.error("Invalid action provided",e),!1)}}}),Object.assign(window.OCA.Sharing,{ShareTabSections:new class{constructor(){var e,t,r,i;e=this,r=void 0,(t="symbol"==typeof(i=function(e,t){if("object"!=typeof e||!e)return e;var r=e[Symbol.toPrimitive];if(void 0!==r){var i=r.call(e,"string");if("object"!=typeof i)return i;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(t="_sections"))?i:String(i))in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,this._sections=[]}registerSection(e){this._sections.push(e)}getSections(){return this._sections}}}),i.Ay.prototype.t=n.Tl,i.Ay.prototype.n=n.zw;let c=null;window.addEventListener("DOMContentLoaded",(function(){OCA.Files&&OCA.Files.Sidebar&&OCA.Files.Sidebar.registerTab(new OCA.Files.Sidebar.Tab({id:"sharing",name:(0,n.Tl)("files_sharing","Sharing"),iconSvg:'<svg xmlns="http://www.w3.org/2000/svg" id="mdi-share-variant" viewBox="0 0 24 24"><path d="M18,16.08C17.24,16.08 16.56,16.38 16.04,16.85L8.91,12.7C8.96,12.47 9,12.24 9,12C9,11.76 8.96,11.53 8.91,11.3L15.96,7.19C16.5,7.69 17.21,8 18,8A3,3 0 0,0 21,5A3,3 0 0,0 18,2A3,3 0 0,0 15,5C15,5.24 15.04,5.47 15.09,5.7L8.04,9.81C7.5,9.31 6.79,9 6,9A3,3 0 0,0 3,12A3,3 0 0,0 6,15C6.79,15 7.5,14.69 8.04,14.19L15.16,18.34C15.11,18.55 15.08,18.77 15.08,19C15.08,20.61 16.39,21.91 18,21.91C19.61,21.91 20.92,20.61 20.92,19A2.92,2.92 0 0,0 18,16.08Z" /></svg>',async mount(e,t,n){const a=(await Promise.all([r.e(4208),r.e(8450)]).then(r.bind(r,34200))).default,o=i.Ay.extend(a);c&&c.$destroy(),c=new o({parent:n}),await c.update(t),c.$mount(e)},update(e){c.update(e)},destroy(){c.$destroy(),c=null}}))}))}},n={};function a(e){var t=n[e];if(void 0!==t)return t.exports;var r=n[e]={id:e,loaded:!1,exports:{}};return i[e].call(r.exports,r,r.exports,a),r.loaded=!0,r.exports}a.m=i,e=[],a.O=(t,r,i,n)=>{if(!r){var o=1/0;for(u=0;u<e.length;u++){r=e[u][0],i=e[u][1],n=e[u][2];for(var s=!0,l=0;l<r.length;l++)(!1&n||o>=n)&&Object.keys(a.O).every((e=>a.O[e](r[l])))?r.splice(l--,1):(s=!1,n<o&&(o=n));if(s){e.splice(u--,1);var c=i();void 0!==c&&(t=c)}}return t}n=n||0;for(var u=e.length;u>0&&e[u-1][2]>n;u--)e[u]=e[u-1];e[u]=[r,i,n]},a.n=e=>{var t=e&&e.__esModule?()=>e.default:()=>e;return a.d(t,{a:t}),t},a.d=(e,t)=>{for(var r in t)a.o(t,r)&&!a.o(e,r)&&Object.defineProperty(e,r,{enumerable:!0,get:t[r]})},a.f={},a.e=e=>Promise.all(Object.keys(a.f).reduce(((t,r)=>(a.f[r](e,t),t)),[])),a.u=e=>e+"-"+e+".js?v="+{1110:"a5d6e6f59aa058840a1e",5455:"9cd46fa2e0b6ad206e92",8450:"f6dcbf5e6f609e831644"}[e],a.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(e){if("object"==typeof window)return window}}(),a.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),t={},r="nextcloud:",a.l=(e,i,n,o)=>{if(t[e])t[e].push(i);else{var s,l;if(void 0!==n)for(var c=document.getElementsByTagName("script"),u=0;u<c.length;u++){var d=c[u];if(d.getAttribute("src")==e||d.getAttribute("data-webpack")==r+n){s=d;break}}s||(l=!0,(s=document.createElement("script")).charset="utf-8",s.timeout=120,a.nc&&s.setAttribute("nonce",a.nc),s.setAttribute("data-webpack",r+n),s.src=e),t[e]=[i];var f=(r,i)=>{s.onerror=s.onload=null,clearTimeout(p);var n=t[e];if(delete t[e],s.parentNode&&s.parentNode.removeChild(s),n&&n.forEach((e=>e(i))),r)return r(i)},p=setTimeout(f.bind(null,void 0,{type:"timeout",target:s}),12e4);s.onerror=f.bind(null,s.onerror),s.onload=f.bind(null,s.onload),l&&document.head.appendChild(s)}},a.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},a.nmd=e=>(e.paths=[],e.children||(e.children=[]),e),a.j=4958,(()=>{var e;a.g.importScripts&&(e=a.g.location+"");var t=a.g.document;if(!e&&t&&(t.currentScript&&(e=t.currentScript.src),!e)){var r=t.getElementsByTagName("script");if(r.length)for(var i=r.length-1;i>-1&&(!e||!/^http(s?):/.test(e));)e=r[i--].src}if(!e)throw new Error("Automatic publicPath is not supported in this browser");e=e.replace(/#.*$/,"").replace(/\?.*$/,"").replace(/\/[^\/]+$/,"/"),a.p=e})(),(()=>{a.b=document.baseURI||self.location.href;var e={4958:0};a.f.j=(t,r)=>{var i=a.o(e,t)?e[t]:void 0;if(0!==i)if(i)r.push(i[2]);else{var n=new Promise(((r,n)=>i=e[t]=[r,n]));r.push(i[2]=n);var o=a.p+a.u(t),s=new Error;a.l(o,(r=>{if(a.o(e,t)&&(0!==(i=e[t])&&(e[t]=void 0),i)){var n=r&&("load"===r.type?"missing":r.type),o=r&&r.target&&r.target.src;s.message="Loading chunk "+t+" failed.\n("+n+": "+o+")",s.name="ChunkLoadError",s.type=n,s.request=o,i[1](s)}}),"chunk-"+t,t)}},a.O.j=t=>0===e[t];var t=(t,r)=>{var i,n,o=r[0],s=r[1],l=r[2],c=0;if(o.some((t=>0!==e[t]))){for(i in s)a.o(s,i)&&(a.m[i]=s[i]);if(l)var u=l(a)}for(t&&t(r);c<o.length;c++)n=o[c],a.o(e,n)&&e[n]&&e[n][0](),e[n]=0;return a.O(u)},r=self.webpackChunknextcloud=self.webpackChunknextcloud||[];r.forEach(t.bind(null,0)),r.push=t.bind(null,r.push.bind(r))})(),a.nc=void 0;var o=a.O(void 0,[4208],(()=>a(69196)));o=a.O(o)})();
+//# sourceMappingURL=files_sharing-files_sharing_tab.js.map?v=34c73e5ce658313281c3
\ No newline at end of file
index 0ac3445c9e9a273caeb96a8bb72a0cda81ccdd08..c05672b8b94fa06f53edb77dc719dffa88e9df84 100644 (file)
@@ -1,66 +1,4 @@
 /**
- * @copyright Copyright (c) 2019 John Molakvoæ <skjnldsv@protonmail.com>
- *
- * @author John Molakvoæ <skjnldsv@protonmail.com>
- *
- * @license AGPL-3.0-or-later
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU Affero General Public License as
- * published by the Free Software Foundation, either version 3 of the
- * License, or (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU Affero General Public License for more details.
- *
- * You should have received a copy of the GNU Affero General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- *
- */
-
-/**
- * @copyright Copyright (c) 2019 John Molakvoæ <skjnldsv@protonmail.com>
- *
- * @author John Molakvoæ <skjnldsv@protonmail.com>
- * @author Julius Härtl <jus@bitgrid.net>
- *
- * @license AGPL-3.0-or-later
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU Affero General Public License as
- * published by the Free Software Foundation, either version 3 of the
- * License, or (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU Affero General Public License for more details.
- *
- * You should have received a copy of the GNU Affero General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- *
- */
-
-/**
- * @copyright Copyright (c) 2019 Julius Härtl <jus@bitgrid.net>
- *
- * @author Julius Härtl <jus@bitgrid.net>
- *
- * @license AGPL-3.0-or-later
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU Affero General Public License as
- * published by the Free Software Foundation, either version 3 of the
- * License, or (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU Affero General Public License for more details.
- *
- * You should have received a copy of the GNU Affero General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- *
+ * SPDX-FileCopyrightText: 2019 Nextcloud GmbH and Nextcloud contributors
+ * SPDX-License-Identifier: AGPL-3.0-or-later
  */
index 3cfb7e7f31e44c1dedbcebc0c0cfd12f3cbed803..e3e923f7886dfc1364121f02d26260078a31ee3a 100644 (file)
@@ -1 +1 @@
-{"version":3,"file":"files_sharing-files_sharing_tab.js?v=e0e37afc269a076adaf7","mappings":"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","sources":["webpack:///nextcloud/webpack/runtime/chunk loaded","webpack:///nextcloud/webpack/runtime/load script","webpack:///nextcloud/apps/files_sharing/src/files_sharing_tab.js","webpack:///nextcloud/apps/files_sharing/src/services/ShareSearch.js","webpack:///nextcloud/apps/files_sharing/src/services/ExternalLinkActions.js","webpack:///nextcloud/apps/files_sharing/src/services/ExternalShareActions.js","webpack:///nextcloud/apps/files_sharing/src/services/TabSections.js","webpack:///nextcloud/webpack/bootstrap","webpack:///nextcloud/webpack/runtime/compat get default export","webpack:///nextcloud/webpack/runtime/define property getters","webpack:///nextcloud/webpack/runtime/ensure chunk","webpack:///nextcloud/webpack/runtime/get javascript chunk filename","webpack:///nextcloud/webpack/runtime/global","webpack:///nextcloud/webpack/runtime/hasOwnProperty shorthand","webpack:///nextcloud/webpack/runtime/make namespace object","webpack:///nextcloud/webpack/runtime/node module decorator","webpack:///nextcloud/webpack/runtime/runtimeId","webpack:///nextcloud/webpack/runtime/publicPath","webpack:///nextcloud/webpack/runtime/jsonp chunk loading","webpack:///nextcloud/webpack/runtime/nonce","webpack:///nextcloud/webpack/startup"],"sourcesContent":["var deferred = [];\n__webpack_require__.O = (result, chunkIds, fn, priority) => {\n\tif(chunkIds) {\n\t\tpriority = priority || 0;\n\t\tfor(var i = deferred.length; i > 0 && deferred[i - 1][2] > priority; i--) deferred[i] = deferred[i - 1];\n\t\tdeferred[i] = [chunkIds, fn, priority];\n\t\treturn;\n\t}\n\tvar notFulfilled = Infinity;\n\tfor (var i = 0; i < deferred.length; i++) {\n\t\tvar chunkIds = deferred[i][0];\n\t\tvar fn = deferred[i][1];\n\t\tvar priority = deferred[i][2];\n\t\tvar fulfilled = true;\n\t\tfor (var j = 0; j < chunkIds.length; j++) {\n\t\t\tif ((priority & 1 === 0 || notFulfilled >= priority) && Object.keys(__webpack_require__.O).every((key) => (__webpack_require__.O[key](chunkIds[j])))) {\n\t\t\t\tchunkIds.splice(j--, 1);\n\t\t\t} else {\n\t\t\t\tfulfilled = false;\n\t\t\t\tif(priority < notFulfilled) notFulfilled = priority;\n\t\t\t}\n\t\t}\n\t\tif(fulfilled) {\n\t\t\tdeferred.splice(i--, 1)\n\t\t\tvar r = fn();\n\t\t\tif (r !== undefined) result = r;\n\t\t}\n\t}\n\treturn result;\n};","var inProgress = {};\nvar dataWebpackPrefix = \"nextcloud:\";\n// loadScript function to load a script via script tag\n__webpack_require__.l = (url, done, key, chunkId) => {\n\tif(inProgress[url]) { inProgress[url].push(done); return; }\n\tvar script, needAttach;\n\tif(key !== undefined) {\n\t\tvar scripts = document.getElementsByTagName(\"script\");\n\t\tfor(var i = 0; i < scripts.length; i++) {\n\t\t\tvar s = scripts[i];\n\t\t\tif(s.getAttribute(\"src\") == url || s.getAttribute(\"data-webpack\") == dataWebpackPrefix + key) { script = s; break; }\n\t\t}\n\t}\n\tif(!script) {\n\t\tneedAttach = true;\n\t\tscript = document.createElement('script');\n\n\t\tscript.charset = 'utf-8';\n\t\tscript.timeout = 120;\n\t\tif (__webpack_require__.nc) {\n\t\t\tscript.setAttribute(\"nonce\", __webpack_require__.nc);\n\t\t}\n\t\tscript.setAttribute(\"data-webpack\", dataWebpackPrefix + key);\n\n\t\tscript.src = url;\n\t}\n\tinProgress[url] = [done];\n\tvar onScriptComplete = (prev, event) => {\n\t\t// avoid mem leaks in IE.\n\t\tscript.onerror = script.onload = null;\n\t\tclearTimeout(timeout);\n\t\tvar doneFns = inProgress[url];\n\t\tdelete inProgress[url];\n\t\tscript.parentNode && script.parentNode.removeChild(script);\n\t\tdoneFns && doneFns.forEach((fn) => (fn(event)));\n\t\tif(prev) return prev(event);\n\t}\n\tvar timeout = setTimeout(onScriptComplete.bind(null, undefined, { type: 'timeout', target: script }), 120000);\n\tscript.onerror = onScriptComplete.bind(null, script.onerror);\n\tscript.onload = onScriptComplete.bind(null, script.onload);\n\tneedAttach && document.head.appendChild(script);\n};","/**\n * @copyright Copyright (c) 2019 John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @author John Molakvoæ <skjnldsv@protonmail.com>\n * @author Julius Härtl <jus@bitgrid.net>\n *\n * @license AGPL-3.0-or-later\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */\n\nimport Vue from 'vue'\nimport { translate as t, translatePlural as n } from '@nextcloud/l10n'\nimport { getRequestToken } from '@nextcloud/auth'\n\nimport ShareSearch from './services/ShareSearch.js'\nimport ExternalLinkActions from './services/ExternalLinkActions.js'\nimport ExternalShareActions from './services/ExternalShareActions.js'\nimport TabSections from './services/TabSections.js'\n\n// eslint-disable-next-line n/no-missing-import, import/no-unresolved\nimport ShareVariant from '@mdi/svg/svg/share-variant.svg?raw'\n\n// eslint-disable-next-line camelcase\n__webpack_nonce__ = btoa(getRequestToken())\n\n// Init Sharing Tab Service\nif (!window.OCA.Sharing) {\n\twindow.OCA.Sharing = {}\n}\nObject.assign(window.OCA.Sharing, { ShareSearch: new ShareSearch() })\nObject.assign(window.OCA.Sharing, { ExternalLinkActions: new ExternalLinkActions() })\nObject.assign(window.OCA.Sharing, { ExternalShareActions: new ExternalShareActions() })\nObject.assign(window.OCA.Sharing, { ShareTabSections: new TabSections() })\n\nVue.prototype.t = t\nVue.prototype.n = n\n\n// Init Sharing tab component\nlet TabInstance = null\n\nwindow.addEventListener('DOMContentLoaded', function() {\n\tif (OCA.Files && OCA.Files.Sidebar) {\n\t\tOCA.Files.Sidebar.registerTab(new OCA.Files.Sidebar.Tab({\n\t\t\tid: 'sharing',\n\t\t\tname: t('files_sharing', 'Sharing'),\n\t\t\ticonSvg: ShareVariant,\n\n\t\t\tasync mount(el, fileInfo, context) {\n\t\t\t\tconst SharingTab = (await import('./views/SharingTab.vue')).default\n\t\t\t\tconst View = Vue.extend(SharingTab)\n\n\t\t\t\tif (TabInstance) {\n\t\t\t\t\tTabInstance.$destroy()\n\t\t\t\t}\n\t\t\t\tTabInstance = new View({\n\t\t\t\t\t// Better integration with vue parent component\n\t\t\t\t\tparent: context,\n\t\t\t\t})\n\t\t\t\t// Only mount after we have all the info we need\n\t\t\t\tawait TabInstance.update(fileInfo)\n\t\t\t\tTabInstance.$mount(el)\n\t\t\t},\n\t\t\tupdate(fileInfo) {\n\t\t\t\tTabInstance.update(fileInfo)\n\t\t\t},\n\t\t\tdestroy() {\n\t\t\t\tTabInstance.$destroy()\n\t\t\t\tTabInstance = null\n\t\t\t},\n\t\t}))\n\t}\n})\n","/**\n * @copyright Copyright (c) 2019 John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @author John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @license AGPL-3.0-or-later\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */\n\nexport default class ShareSearch {\n\n\t_state\n\n\tconstructor() {\n\t\t// init empty state\n\t\tthis._state = {}\n\n\t\t// init default values\n\t\tthis._state.results = []\n\t\tconsole.debug('OCA.Sharing.ShareSearch initialized')\n\t}\n\n\t/**\n\t * Get the state\n\t *\n\t * @readonly\n\t * @memberof ShareSearch\n\t * @return {object} the data state\n\t */\n\tget state() {\n\t\treturn this._state\n\t}\n\n\t/**\n\t * Register a new result\n\t * Mostly used by the guests app.\n\t * We should consider deprecation and add results via php ?\n\t *\n\t * @param {object} result entry to append\n\t * @param {string} [result.user] entry user\n\t * @param {string} result.displayName entry first line\n\t * @param {string} [result.desc] entry second line\n\t * @param {string} [result.icon] entry icon\n\t * @param {Function} result.handler function to run on entry selection\n\t * @param {Function} [result.condition] condition to add entry or not\n\t * @return {boolean}\n\t */\n\taddNewResult(result) {\n\t\tif (result.displayName.trim() !== ''\n\t\t\t&& typeof result.handler === 'function') {\n\t\t\tthis._state.results.push(result)\n\t\t\treturn true\n\t\t}\n\t\tconsole.error('Invalid search result provided', result)\n\t\treturn false\n\t}\n\n}\n","/**\n * @copyright Copyright (c) 2019 John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @author John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @license AGPL-3.0-or-later\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */\n\nexport default class ExternalLinkActions {\n\n\t_state\n\n\tconstructor() {\n\t\t// init empty state\n\t\tthis._state = {}\n\n\t\t// init default values\n\t\tthis._state.actions = []\n\t\tconsole.debug('OCA.Sharing.ExternalLinkActions initialized')\n\t}\n\n\t/**\n\t * Get the state\n\t *\n\t * @readonly\n\t * @memberof ExternalLinkActions\n\t * @return {object} the data state\n\t */\n\tget state() {\n\t\treturn this._state\n\t}\n\n\t/**\n\t * Register a new action for the link share\n\t * Mostly used by the social sharing app.\n\t *\n\t * @param {object} action new action component to register\n\t * @return {boolean}\n\t */\n\tregisterAction(action) {\n\t\tOC.debug && console.warn('OCA.Sharing.ExternalLinkActions is deprecated, use OCA.Sharing.ExternalShareAction instead')\n\n\t\tif (typeof action === 'object' && action.icon && action.name && action.url) {\n\t\t\tthis._state.actions.push(action)\n\t\t\treturn true\n\t\t}\n\t\tconsole.error('Invalid action provided', action)\n\t\treturn false\n\t}\n\n}\n","/**\n * @copyright Copyright (c) 2019 John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @author John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @license AGPL-3.0-or-later\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */\n\nexport default class ExternalShareActions {\n\n\t_state\n\n\tconstructor() {\n\t\t// init empty state\n\t\tthis._state = {}\n\n\t\t// init default values\n\t\tthis._state.actions = []\n\t\tconsole.debug('OCA.Sharing.ExternalShareActions initialized')\n\t}\n\n\t/**\n\t * Get the state\n\t *\n\t * @readonly\n\t * @memberof ExternalLinkActions\n\t * @return {object} the data state\n\t */\n\tget state() {\n\t\treturn this._state\n\t}\n\n\t/**\n\t * @typedef ExternalShareActionData\n\t * @property {import('vue').Component} is Vue component to render, for advanced actions the `async onSave` method of the component will be called when saved\n\t */\n\n\t/**\n\t * Register a new option/entry for the a given share type\n\t *\n\t * @param {object} action new action component to register\n\t * @param {string} action.id unique action id\n\t * @param {(data: any) => ExternalShareActionData & Record<string, unknown>} action.data data to bind the component to\n\t * @param {Array} action.shareType list of \\@nextcloud/sharing.Types.SHARE_XXX to be mounted on\n\t * @param {boolean} action.advanced `true` if the action entry should be rendered within advanced settings\n\t * @param {object} action.handlers list of listeners\n\t * @return {boolean}\n\t */\n\tregisterAction(action) {\n\t\t// Validate action\n\t\tif (typeof action !== 'object'\n\t\t\t|| typeof action.id !== 'string'\n\t\t\t|| typeof action.data !== 'function' // () => {disabled: true}\n\t\t\t|| !Array.isArray(action.shareType) // [\\@nextcloud/sharing.Types.SHARE_TYPE_LINK, ...]\n\t\t\t|| typeof action.handlers !== 'object' // {click: () => {}, ...}\n\t\t\t|| !Object.values(action.handlers).every(handler => typeof handler === 'function')) {\n\t\t\tconsole.error('Invalid action provided', action)\n\t\t\treturn false\n\t\t}\n\n\t\t// Check duplicates\n\t\tconst hasDuplicate = this._state.actions.findIndex(check => check.id === action.id) > -1\n\t\tif (hasDuplicate) {\n\t\t\tconsole.error(`An action with the same id ${action.id} already exists`, action)\n\t\t\treturn false\n\t\t}\n\n\t\tthis._state.actions.push(action)\n\t\treturn true\n\t}\n\n}\n","/**\n * @copyright Copyright (c) 2019 Julius Härtl <jus@bitgrid.net>\n *\n * @author Julius Härtl <jus@bitgrid.net>\n *\n * @license AGPL-3.0-or-later\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */\n\nexport default class TabSections {\n\n\t_sections\n\n\tconstructor() {\n\t\tthis._sections = []\n\t}\n\n\t/**\n\t * @param {registerSectionCallback} section To be called to mount the section to the sharing sidebar\n\t */\n\tregisterSection(section) {\n\t\tthis._sections.push(section)\n\t}\n\n\tgetSections() {\n\t\treturn this._sections\n\t}\n\n}\n","// The module cache\nvar __webpack_module_cache__ = {};\n\n// The require function\nfunction __webpack_require__(moduleId) {\n\t// Check if module is in cache\n\tvar cachedModule = __webpack_module_cache__[moduleId];\n\tif (cachedModule !== undefined) {\n\t\treturn cachedModule.exports;\n\t}\n\t// Create a new module (and put it into the cache)\n\tvar module = __webpack_module_cache__[moduleId] = {\n\t\tid: moduleId,\n\t\tloaded: false,\n\t\texports: {}\n\t};\n\n\t// Execute the module function\n\t__webpack_modules__[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n\t// Flag the module as loaded\n\tmodule.loaded = true;\n\n\t// Return the exports of the module\n\treturn module.exports;\n}\n\n// expose the modules object (__webpack_modules__)\n__webpack_require__.m = __webpack_modules__;\n\n","// getDefaultExport function for compatibility with non-harmony modules\n__webpack_require__.n = (module) => {\n\tvar getter = module && module.__esModule ?\n\t\t() => (module['default']) :\n\t\t() => (module);\n\t__webpack_require__.d(getter, { a: getter });\n\treturn getter;\n};","// define getter functions for harmony exports\n__webpack_require__.d = (exports, definition) => {\n\tfor(var key in definition) {\n\t\tif(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n\t\t\tObject.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n\t\t}\n\t}\n};","__webpack_require__.f = {};\n// This file contains only the entry chunk.\n// The chunk loading function for additional chunks\n__webpack_require__.e = (chunkId) => {\n\treturn Promise.all(Object.keys(__webpack_require__.f).reduce((promises, key) => {\n\t\t__webpack_require__.f[key](chunkId, promises);\n\t\treturn promises;\n\t}, []));\n};","// This function allow to reference async chunks\n__webpack_require__.u = (chunkId) => {\n\t// return url for filenames based on template\n\treturn \"\" + chunkId + \"-\" + chunkId + \".js?v=\" + {\"1110\":\"a5d6e6f59aa058840a1e\",\"5455\":\"9cd46fa2e0b6ad206e92\",\"6364\":\"557e590be224f11e3d58\"}[chunkId] + \"\";\n};","__webpack_require__.g = (function() {\n\tif (typeof globalThis === 'object') return globalThis;\n\ttry {\n\t\treturn this || new Function('return this')();\n\t} catch (e) {\n\t\tif (typeof window === 'object') return window;\n\t}\n})();","__webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop))","// define __esModule on exports\n__webpack_require__.r = (exports) => {\n\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n\t}\n\tObject.defineProperty(exports, '__esModule', { value: true });\n};","__webpack_require__.nmd = (module) => {\n\tmodule.paths = [];\n\tif (!module.children) module.children = [];\n\treturn module;\n};","__webpack_require__.j = 4958;","var scriptUrl;\nif (__webpack_require__.g.importScripts) scriptUrl = __webpack_require__.g.location + \"\";\nvar document = __webpack_require__.g.document;\nif (!scriptUrl && document) {\n\tif (document.currentScript)\n\t\tscriptUrl = document.currentScript.src;\n\tif (!scriptUrl) {\n\t\tvar scripts = document.getElementsByTagName(\"script\");\n\t\tif(scripts.length) {\n\t\t\tvar i = scripts.length - 1;\n\t\t\twhile (i > -1 && (!scriptUrl || !/^http(s?):/.test(scriptUrl))) scriptUrl = scripts[i--].src;\n\t\t}\n\t}\n}\n// When supporting browsers where an automatic publicPath is not supported you must specify an output.publicPath manually via configuration\n// or pass an empty string (\"\") and set the __webpack_public_path__ variable from your code to use your own logic.\nif (!scriptUrl) throw new Error(\"Automatic publicPath is not supported in this browser\");\nscriptUrl = scriptUrl.replace(/#.*$/, \"\").replace(/\\?.*$/, \"\").replace(/\\/[^\\/]+$/, \"/\");\n__webpack_require__.p = scriptUrl;","__webpack_require__.b = document.baseURI || self.location.href;\n\n// object to store loaded and loading chunks\n// undefined = chunk not loaded, null = chunk preloaded/prefetched\n// [resolve, reject, Promise] = chunk loading, 0 = chunk loaded\nvar installedChunks = {\n\t4958: 0\n};\n\n__webpack_require__.f.j = (chunkId, promises) => {\n\t\t// JSONP chunk loading for javascript\n\t\tvar installedChunkData = __webpack_require__.o(installedChunks, chunkId) ? installedChunks[chunkId] : undefined;\n\t\tif(installedChunkData !== 0) { // 0 means \"already installed\".\n\n\t\t\t// a Promise means \"currently loading\".\n\t\t\tif(installedChunkData) {\n\t\t\t\tpromises.push(installedChunkData[2]);\n\t\t\t} else {\n\t\t\t\tif(true) { // all chunks have JS\n\t\t\t\t\t// setup Promise in chunk cache\n\t\t\t\t\tvar promise = new Promise((resolve, reject) => (installedChunkData = installedChunks[chunkId] = [resolve, reject]));\n\t\t\t\t\tpromises.push(installedChunkData[2] = promise);\n\n\t\t\t\t\t// start chunk loading\n\t\t\t\t\tvar url = __webpack_require__.p + __webpack_require__.u(chunkId);\n\t\t\t\t\t// create error before stack unwound to get useful stacktrace later\n\t\t\t\t\tvar error = new Error();\n\t\t\t\t\tvar loadingEnded = (event) => {\n\t\t\t\t\t\tif(__webpack_require__.o(installedChunks, chunkId)) {\n\t\t\t\t\t\t\tinstalledChunkData = installedChunks[chunkId];\n\t\t\t\t\t\t\tif(installedChunkData !== 0) installedChunks[chunkId] = undefined;\n\t\t\t\t\t\t\tif(installedChunkData) {\n\t\t\t\t\t\t\t\tvar errorType = event && (event.type === 'load' ? 'missing' : event.type);\n\t\t\t\t\t\t\t\tvar realSrc = event && event.target && event.target.src;\n\t\t\t\t\t\t\t\terror.message = 'Loading chunk ' + chunkId + ' failed.\\n(' + errorType + ': ' + realSrc + ')';\n\t\t\t\t\t\t\t\terror.name = 'ChunkLoadError';\n\t\t\t\t\t\t\t\terror.type = errorType;\n\t\t\t\t\t\t\t\terror.request = realSrc;\n\t\t\t\t\t\t\t\tinstalledChunkData[1](error);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t};\n\t\t\t\t\t__webpack_require__.l(url, loadingEnded, \"chunk-\" + chunkId, chunkId);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n};\n\n// no prefetching\n\n// no preloaded\n\n// no HMR\n\n// no HMR manifest\n\n__webpack_require__.O.j = (chunkId) => (installedChunks[chunkId] === 0);\n\n// install a JSONP callback for chunk loading\nvar webpackJsonpCallback = (parentChunkLoadingFunction, data) => {\n\tvar chunkIds = data[0];\n\tvar moreModules = data[1];\n\tvar runtime = data[2];\n\t// add \"moreModules\" to the modules object,\n\t// then flag all \"chunkIds\" as loaded and fire callback\n\tvar moduleId, chunkId, i = 0;\n\tif(chunkIds.some((id) => (installedChunks[id] !== 0))) {\n\t\tfor(moduleId in moreModules) {\n\t\t\tif(__webpack_require__.o(moreModules, moduleId)) {\n\t\t\t\t__webpack_require__.m[moduleId] = moreModules[moduleId];\n\t\t\t}\n\t\t}\n\t\tif(runtime) var result = runtime(__webpack_require__);\n\t}\n\tif(parentChunkLoadingFunction) parentChunkLoadingFunction(data);\n\tfor(;i < chunkIds.length; i++) {\n\t\tchunkId = chunkIds[i];\n\t\tif(__webpack_require__.o(installedChunks, chunkId) && installedChunks[chunkId]) {\n\t\t\tinstalledChunks[chunkId][0]();\n\t\t}\n\t\tinstalledChunks[chunkId] = 0;\n\t}\n\treturn __webpack_require__.O(result);\n}\n\nvar chunkLoadingGlobal = self[\"webpackChunknextcloud\"] = self[\"webpackChunknextcloud\"] || [];\nchunkLoadingGlobal.forEach(webpackJsonpCallback.bind(null, 0));\nchunkLoadingGlobal.push = webpackJsonpCallback.bind(null, chunkLoadingGlobal.push.bind(chunkLoadingGlobal));","__webpack_require__.nc = undefined;","// startup\n// Load entry module and return exports\n// This entry module depends on other loaded chunks and execution need to be delayed\nvar __webpack_exports__ = __webpack_require__.O(undefined, [4208], () => (__webpack_require__(69196)))\n__webpack_exports__ = __webpack_require__.O(__webpack_exports__);\n"],"names":["deferred","inProgress","dataWebpackPrefix","__webpack_nonce__","btoa","getRequestToken","window","OCA","Sharing","Object","assign","ShareSearch","constructor","this","_state","results","console","debug","state","addNewResult","result","displayName","trim","handler","push","error","ExternalLinkActions","actions","registerAction","action","OC","warn","icon","name","url","ExternalShareActions","id","data","Array","isArray","shareType","handlers","values","every","findIndex","check","concat","ShareTabSections","_sections","registerSection","section","getSections","Vue","prototype","t","n","TabInstance","addEventListener","Files","Sidebar","registerTab","Tab","iconSvg","mount","el","fileInfo","context","SharingTab","default","View","extend","$destroy","parent","update","$mount","destroy","__webpack_module_cache__","__webpack_require__","moduleId","cachedModule","undefined","exports","module","loaded","__webpack_modules__","call","m","O","chunkIds","fn","priority","notFulfilled","Infinity","i","length","fulfilled","j","keys","key","splice","r","getter","__esModule","d","a","definition","o","defineProperty","enumerable","get","f","e","chunkId","Promise","all","reduce","promises","u","g","globalThis","Function","obj","prop","hasOwnProperty","l","done","script","needAttach","scripts","document","getElementsByTagName","s","getAttribute","createElement","charset","timeout","nc","setAttribute","src","onScriptComplete","prev","event","onerror","onload","clearTimeout","doneFns","parentNode","removeChild","forEach","setTimeout","bind","type","target","head","appendChild","Symbol","toStringTag","value","nmd","paths","children","scriptUrl","importScripts","location","currentScript","test","Error","replace","p","b","baseURI","self","href","installedChunks","installedChunkData","promise","resolve","reject","errorType","realSrc","message","request","webpackJsonpCallback","parentChunkLoadingFunction","moreModules","runtime","some","chunkLoadingGlobal","__webpack_exports__"],"sourceRoot":""}
\ No newline at end of file
+{"version":3,"file":"files_sharing-files_sharing_tab.js?v=34c73e5ce658313281c3","mappings":"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","sources":["webpack:///nextcloud/webpack/runtime/chunk loaded","webpack:///nextcloud/webpack/runtime/load script","webpack:///nextcloud/apps/files_sharing/src/files_sharing_tab.js","webpack:///nextcloud/apps/files_sharing/src/services/ShareSearch.js","webpack:///nextcloud/apps/files_sharing/src/services/ExternalLinkActions.js","webpack:///nextcloud/apps/files_sharing/src/services/ExternalShareActions.js","webpack:///nextcloud/apps/files_sharing/src/services/TabSections.js","webpack:///nextcloud/webpack/bootstrap","webpack:///nextcloud/webpack/runtime/compat get default export","webpack:///nextcloud/webpack/runtime/define property getters","webpack:///nextcloud/webpack/runtime/ensure chunk","webpack:///nextcloud/webpack/runtime/get javascript chunk filename","webpack:///nextcloud/webpack/runtime/global","webpack:///nextcloud/webpack/runtime/hasOwnProperty shorthand","webpack:///nextcloud/webpack/runtime/make namespace object","webpack:///nextcloud/webpack/runtime/node module decorator","webpack:///nextcloud/webpack/runtime/runtimeId","webpack:///nextcloud/webpack/runtime/publicPath","webpack:///nextcloud/webpack/runtime/jsonp chunk loading","webpack:///nextcloud/webpack/runtime/nonce","webpack:///nextcloud/webpack/startup"],"sourcesContent":["var deferred = [];\n__webpack_require__.O = (result, chunkIds, fn, priority) => {\n\tif(chunkIds) {\n\t\tpriority = priority || 0;\n\t\tfor(var i = deferred.length; i > 0 && deferred[i - 1][2] > priority; i--) deferred[i] = deferred[i - 1];\n\t\tdeferred[i] = [chunkIds, fn, priority];\n\t\treturn;\n\t}\n\tvar notFulfilled = Infinity;\n\tfor (var i = 0; i < deferred.length; i++) {\n\t\tvar chunkIds = deferred[i][0];\n\t\tvar fn = deferred[i][1];\n\t\tvar priority = deferred[i][2];\n\t\tvar fulfilled = true;\n\t\tfor (var j = 0; j < chunkIds.length; j++) {\n\t\t\tif ((priority & 1 === 0 || notFulfilled >= priority) && Object.keys(__webpack_require__.O).every((key) => (__webpack_require__.O[key](chunkIds[j])))) {\n\t\t\t\tchunkIds.splice(j--, 1);\n\t\t\t} else {\n\t\t\t\tfulfilled = false;\n\t\t\t\tif(priority < notFulfilled) notFulfilled = priority;\n\t\t\t}\n\t\t}\n\t\tif(fulfilled) {\n\t\t\tdeferred.splice(i--, 1)\n\t\t\tvar r = fn();\n\t\t\tif (r !== undefined) result = r;\n\t\t}\n\t}\n\treturn result;\n};","var inProgress = {};\nvar dataWebpackPrefix = \"nextcloud:\";\n// loadScript function to load a script via script tag\n__webpack_require__.l = (url, done, key, chunkId) => {\n\tif(inProgress[url]) { inProgress[url].push(done); return; }\n\tvar script, needAttach;\n\tif(key !== undefined) {\n\t\tvar scripts = document.getElementsByTagName(\"script\");\n\t\tfor(var i = 0; i < scripts.length; i++) {\n\t\t\tvar s = scripts[i];\n\t\t\tif(s.getAttribute(\"src\") == url || s.getAttribute(\"data-webpack\") == dataWebpackPrefix + key) { script = s; break; }\n\t\t}\n\t}\n\tif(!script) {\n\t\tneedAttach = true;\n\t\tscript = document.createElement('script');\n\n\t\tscript.charset = 'utf-8';\n\t\tscript.timeout = 120;\n\t\tif (__webpack_require__.nc) {\n\t\t\tscript.setAttribute(\"nonce\", __webpack_require__.nc);\n\t\t}\n\t\tscript.setAttribute(\"data-webpack\", dataWebpackPrefix + key);\n\n\t\tscript.src = url;\n\t}\n\tinProgress[url] = [done];\n\tvar onScriptComplete = (prev, event) => {\n\t\t// avoid mem leaks in IE.\n\t\tscript.onerror = script.onload = null;\n\t\tclearTimeout(timeout);\n\t\tvar doneFns = inProgress[url];\n\t\tdelete inProgress[url];\n\t\tscript.parentNode && script.parentNode.removeChild(script);\n\t\tdoneFns && doneFns.forEach((fn) => (fn(event)));\n\t\tif(prev) return prev(event);\n\t}\n\tvar timeout = setTimeout(onScriptComplete.bind(null, undefined, { type: 'timeout', target: script }), 120000);\n\tscript.onerror = onScriptComplete.bind(null, script.onerror);\n\tscript.onload = onScriptComplete.bind(null, script.onload);\n\tneedAttach && document.head.appendChild(script);\n};","/**\n * SPDX-FileCopyrightText: 2019 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\n\nimport Vue from 'vue'\nimport { translate as t, translatePlural as n } from '@nextcloud/l10n'\nimport { getRequestToken } from '@nextcloud/auth'\n\nimport ShareSearch from './services/ShareSearch.js'\nimport ExternalLinkActions from './services/ExternalLinkActions.js'\nimport ExternalShareActions from './services/ExternalShareActions.js'\nimport TabSections from './services/TabSections.js'\n\n// eslint-disable-next-line n/no-missing-import, import/no-unresolved\nimport ShareVariant from '@mdi/svg/svg/share-variant.svg?raw'\n\n// eslint-disable-next-line camelcase\n__webpack_nonce__ = btoa(getRequestToken())\n\n// Init Sharing Tab Service\nif (!window.OCA.Sharing) {\n\twindow.OCA.Sharing = {}\n}\nObject.assign(window.OCA.Sharing, { ShareSearch: new ShareSearch() })\nObject.assign(window.OCA.Sharing, { ExternalLinkActions: new ExternalLinkActions() })\nObject.assign(window.OCA.Sharing, { ExternalShareActions: new ExternalShareActions() })\nObject.assign(window.OCA.Sharing, { ShareTabSections: new TabSections() })\n\nVue.prototype.t = t\nVue.prototype.n = n\n\n// Init Sharing tab component\nlet TabInstance = null\n\nwindow.addEventListener('DOMContentLoaded', function() {\n\tif (OCA.Files && OCA.Files.Sidebar) {\n\t\tOCA.Files.Sidebar.registerTab(new OCA.Files.Sidebar.Tab({\n\t\t\tid: 'sharing',\n\t\t\tname: t('files_sharing', 'Sharing'),\n\t\t\ticonSvg: ShareVariant,\n\n\t\t\tasync mount(el, fileInfo, context) {\n\t\t\t\tconst SharingTab = (await import('./views/SharingTab.vue')).default\n\t\t\t\tconst View = Vue.extend(SharingTab)\n\n\t\t\t\tif (TabInstance) {\n\t\t\t\t\tTabInstance.$destroy()\n\t\t\t\t}\n\t\t\t\tTabInstance = new View({\n\t\t\t\t\t// Better integration with vue parent component\n\t\t\t\t\tparent: context,\n\t\t\t\t})\n\t\t\t\t// Only mount after we have all the info we need\n\t\t\t\tawait TabInstance.update(fileInfo)\n\t\t\t\tTabInstance.$mount(el)\n\t\t\t},\n\t\t\tupdate(fileInfo) {\n\t\t\t\tTabInstance.update(fileInfo)\n\t\t\t},\n\t\t\tdestroy() {\n\t\t\t\tTabInstance.$destroy()\n\t\t\t\tTabInstance = null\n\t\t\t},\n\t\t}))\n\t}\n})\n","/**\n * SPDX-FileCopyrightText: 2019 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\n\nexport default class ShareSearch {\n\n\t_state\n\n\tconstructor() {\n\t\t// init empty state\n\t\tthis._state = {}\n\n\t\t// init default values\n\t\tthis._state.results = []\n\t\tconsole.debug('OCA.Sharing.ShareSearch initialized')\n\t}\n\n\t/**\n\t * Get the state\n\t *\n\t * @readonly\n\t * @memberof ShareSearch\n\t * @return {object} the data state\n\t */\n\tget state() {\n\t\treturn this._state\n\t}\n\n\t/**\n\t * Register a new result\n\t * Mostly used by the guests app.\n\t * We should consider deprecation and add results via php ?\n\t *\n\t * @param {object} result entry to append\n\t * @param {string} [result.user] entry user\n\t * @param {string} result.displayName entry first line\n\t * @param {string} [result.desc] entry second line\n\t * @param {string} [result.icon] entry icon\n\t * @param {Function} result.handler function to run on entry selection\n\t * @param {Function} [result.condition] condition to add entry or not\n\t * @return {boolean}\n\t */\n\taddNewResult(result) {\n\t\tif (result.displayName.trim() !== ''\n\t\t\t&& typeof result.handler === 'function') {\n\t\t\tthis._state.results.push(result)\n\t\t\treturn true\n\t\t}\n\t\tconsole.error('Invalid search result provided', result)\n\t\treturn false\n\t}\n\n}\n","/**\n * SPDX-FileCopyrightText: 2019 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\n\nexport default class ExternalLinkActions {\n\n\t_state\n\n\tconstructor() {\n\t\t// init empty state\n\t\tthis._state = {}\n\n\t\t// init default values\n\t\tthis._state.actions = []\n\t\tconsole.debug('OCA.Sharing.ExternalLinkActions initialized')\n\t}\n\n\t/**\n\t * Get the state\n\t *\n\t * @readonly\n\t * @memberof ExternalLinkActions\n\t * @return {object} the data state\n\t */\n\tget state() {\n\t\treturn this._state\n\t}\n\n\t/**\n\t * Register a new action for the link share\n\t * Mostly used by the social sharing app.\n\t *\n\t * @param {object} action new action component to register\n\t * @return {boolean}\n\t */\n\tregisterAction(action) {\n\t\tOC.debug && console.warn('OCA.Sharing.ExternalLinkActions is deprecated, use OCA.Sharing.ExternalShareAction instead')\n\n\t\tif (typeof action === 'object' && action.icon && action.name && action.url) {\n\t\t\tthis._state.actions.push(action)\n\t\t\treturn true\n\t\t}\n\t\tconsole.error('Invalid action provided', action)\n\t\treturn false\n\t}\n\n}\n","/**\n * SPDX-FileCopyrightText: 2019 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\n\nexport default class ExternalShareActions {\n\n\t_state\n\n\tconstructor() {\n\t\t// init empty state\n\t\tthis._state = {}\n\n\t\t// init default values\n\t\tthis._state.actions = []\n\t\tconsole.debug('OCA.Sharing.ExternalShareActions initialized')\n\t}\n\n\t/**\n\t * Get the state\n\t *\n\t * @readonly\n\t * @memberof ExternalLinkActions\n\t * @return {object} the data state\n\t */\n\tget state() {\n\t\treturn this._state\n\t}\n\n\t/**\n\t * @typedef ExternalShareActionData\n\t * @property {import('vue').Component} is Vue component to render, for advanced actions the `async onSave` method of the component will be called when saved\n\t */\n\n\t/**\n\t * Register a new option/entry for the a given share type\n\t *\n\t * @param {object} action new action component to register\n\t * @param {string} action.id unique action id\n\t * @param {(data: any) => ExternalShareActionData & Record<string, unknown>} action.data data to bind the component to\n\t * @param {Array} action.shareType list of \\@nextcloud/sharing.Types.SHARE_XXX to be mounted on\n\t * @param {boolean} action.advanced `true` if the action entry should be rendered within advanced settings\n\t * @param {object} action.handlers list of listeners\n\t * @return {boolean}\n\t */\n\tregisterAction(action) {\n\t\t// Validate action\n\t\tif (typeof action !== 'object'\n\t\t\t|| typeof action.id !== 'string'\n\t\t\t|| typeof action.data !== 'function' // () => {disabled: true}\n\t\t\t|| !Array.isArray(action.shareType) // [\\@nextcloud/sharing.Types.SHARE_TYPE_LINK, ...]\n\t\t\t|| typeof action.handlers !== 'object' // {click: () => {}, ...}\n\t\t\t|| !Object.values(action.handlers).every(handler => typeof handler === 'function')) {\n\t\t\tconsole.error('Invalid action provided', action)\n\t\t\treturn false\n\t\t}\n\n\t\t// Check duplicates\n\t\tconst hasDuplicate = this._state.actions.findIndex(check => check.id === action.id) > -1\n\t\tif (hasDuplicate) {\n\t\t\tconsole.error(`An action with the same id ${action.id} already exists`, action)\n\t\t\treturn false\n\t\t}\n\n\t\tthis._state.actions.push(action)\n\t\treturn true\n\t}\n\n}\n","/**\n * SPDX-FileCopyrightText: 2019 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\n\nexport default class TabSections {\n\n\t_sections\n\n\tconstructor() {\n\t\tthis._sections = []\n\t}\n\n\t/**\n\t * @param {registerSectionCallback} section To be called to mount the section to the sharing sidebar\n\t */\n\tregisterSection(section) {\n\t\tthis._sections.push(section)\n\t}\n\n\tgetSections() {\n\t\treturn this._sections\n\t}\n\n}\n","// The module cache\nvar __webpack_module_cache__ = {};\n\n// The require function\nfunction __webpack_require__(moduleId) {\n\t// Check if module is in cache\n\tvar cachedModule = __webpack_module_cache__[moduleId];\n\tif (cachedModule !== undefined) {\n\t\treturn cachedModule.exports;\n\t}\n\t// Create a new module (and put it into the cache)\n\tvar module = __webpack_module_cache__[moduleId] = {\n\t\tid: moduleId,\n\t\tloaded: false,\n\t\texports: {}\n\t};\n\n\t// Execute the module function\n\t__webpack_modules__[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n\t// Flag the module as loaded\n\tmodule.loaded = true;\n\n\t// Return the exports of the module\n\treturn module.exports;\n}\n\n// expose the modules object (__webpack_modules__)\n__webpack_require__.m = __webpack_modules__;\n\n","// getDefaultExport function for compatibility with non-harmony modules\n__webpack_require__.n = (module) => {\n\tvar getter = module && module.__esModule ?\n\t\t() => (module['default']) :\n\t\t() => (module);\n\t__webpack_require__.d(getter, { a: getter });\n\treturn getter;\n};","// define getter functions for harmony exports\n__webpack_require__.d = (exports, definition) => {\n\tfor(var key in definition) {\n\t\tif(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n\t\t\tObject.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n\t\t}\n\t}\n};","__webpack_require__.f = {};\n// This file contains only the entry chunk.\n// The chunk loading function for additional chunks\n__webpack_require__.e = (chunkId) => {\n\treturn Promise.all(Object.keys(__webpack_require__.f).reduce((promises, key) => {\n\t\t__webpack_require__.f[key](chunkId, promises);\n\t\treturn promises;\n\t}, []));\n};","// This function allow to reference async chunks\n__webpack_require__.u = (chunkId) => {\n\t// return url for filenames based on template\n\treturn \"\" + chunkId + \"-\" + chunkId + \".js?v=\" + {\"1110\":\"a5d6e6f59aa058840a1e\",\"5455\":\"9cd46fa2e0b6ad206e92\",\"8450\":\"f6dcbf5e6f609e831644\"}[chunkId] + \"\";\n};","__webpack_require__.g = (function() {\n\tif (typeof globalThis === 'object') return globalThis;\n\ttry {\n\t\treturn this || new Function('return this')();\n\t} catch (e) {\n\t\tif (typeof window === 'object') return window;\n\t}\n})();","__webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop))","// define __esModule on exports\n__webpack_require__.r = (exports) => {\n\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n\t}\n\tObject.defineProperty(exports, '__esModule', { value: true });\n};","__webpack_require__.nmd = (module) => {\n\tmodule.paths = [];\n\tif (!module.children) module.children = [];\n\treturn module;\n};","__webpack_require__.j = 4958;","var scriptUrl;\nif (__webpack_require__.g.importScripts) scriptUrl = __webpack_require__.g.location + \"\";\nvar document = __webpack_require__.g.document;\nif (!scriptUrl && document) {\n\tif (document.currentScript)\n\t\tscriptUrl = document.currentScript.src;\n\tif (!scriptUrl) {\n\t\tvar scripts = document.getElementsByTagName(\"script\");\n\t\tif(scripts.length) {\n\t\t\tvar i = scripts.length - 1;\n\t\t\twhile (i > -1 && (!scriptUrl || !/^http(s?):/.test(scriptUrl))) scriptUrl = scripts[i--].src;\n\t\t}\n\t}\n}\n// When supporting browsers where an automatic publicPath is not supported you must specify an output.publicPath manually via configuration\n// or pass an empty string (\"\") and set the __webpack_public_path__ variable from your code to use your own logic.\nif (!scriptUrl) throw new Error(\"Automatic publicPath is not supported in this browser\");\nscriptUrl = scriptUrl.replace(/#.*$/, \"\").replace(/\\?.*$/, \"\").replace(/\\/[^\\/]+$/, \"/\");\n__webpack_require__.p = scriptUrl;","__webpack_require__.b = document.baseURI || self.location.href;\n\n// object to store loaded and loading chunks\n// undefined = chunk not loaded, null = chunk preloaded/prefetched\n// [resolve, reject, Promise] = chunk loading, 0 = chunk loaded\nvar installedChunks = {\n\t4958: 0\n};\n\n__webpack_require__.f.j = (chunkId, promises) => {\n\t\t// JSONP chunk loading for javascript\n\t\tvar installedChunkData = __webpack_require__.o(installedChunks, chunkId) ? installedChunks[chunkId] : undefined;\n\t\tif(installedChunkData !== 0) { // 0 means \"already installed\".\n\n\t\t\t// a Promise means \"currently loading\".\n\t\t\tif(installedChunkData) {\n\t\t\t\tpromises.push(installedChunkData[2]);\n\t\t\t} else {\n\t\t\t\tif(true) { // all chunks have JS\n\t\t\t\t\t// setup Promise in chunk cache\n\t\t\t\t\tvar promise = new Promise((resolve, reject) => (installedChunkData = installedChunks[chunkId] = [resolve, reject]));\n\t\t\t\t\tpromises.push(installedChunkData[2] = promise);\n\n\t\t\t\t\t// start chunk loading\n\t\t\t\t\tvar url = __webpack_require__.p + __webpack_require__.u(chunkId);\n\t\t\t\t\t// create error before stack unwound to get useful stacktrace later\n\t\t\t\t\tvar error = new Error();\n\t\t\t\t\tvar loadingEnded = (event) => {\n\t\t\t\t\t\tif(__webpack_require__.o(installedChunks, chunkId)) {\n\t\t\t\t\t\t\tinstalledChunkData = installedChunks[chunkId];\n\t\t\t\t\t\t\tif(installedChunkData !== 0) installedChunks[chunkId] = undefined;\n\t\t\t\t\t\t\tif(installedChunkData) {\n\t\t\t\t\t\t\t\tvar errorType = event && (event.type === 'load' ? 'missing' : event.type);\n\t\t\t\t\t\t\t\tvar realSrc = event && event.target && event.target.src;\n\t\t\t\t\t\t\t\terror.message = 'Loading chunk ' + chunkId + ' failed.\\n(' + errorType + ': ' + realSrc + ')';\n\t\t\t\t\t\t\t\terror.name = 'ChunkLoadError';\n\t\t\t\t\t\t\t\terror.type = errorType;\n\t\t\t\t\t\t\t\terror.request = realSrc;\n\t\t\t\t\t\t\t\tinstalledChunkData[1](error);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t};\n\t\t\t\t\t__webpack_require__.l(url, loadingEnded, \"chunk-\" + chunkId, chunkId);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n};\n\n// no prefetching\n\n// no preloaded\n\n// no HMR\n\n// no HMR manifest\n\n__webpack_require__.O.j = (chunkId) => (installedChunks[chunkId] === 0);\n\n// install a JSONP callback for chunk loading\nvar webpackJsonpCallback = (parentChunkLoadingFunction, data) => {\n\tvar chunkIds = data[0];\n\tvar moreModules = data[1];\n\tvar runtime = data[2];\n\t// add \"moreModules\" to the modules object,\n\t// then flag all \"chunkIds\" as loaded and fire callback\n\tvar moduleId, chunkId, i = 0;\n\tif(chunkIds.some((id) => (installedChunks[id] !== 0))) {\n\t\tfor(moduleId in moreModules) {\n\t\t\tif(__webpack_require__.o(moreModules, moduleId)) {\n\t\t\t\t__webpack_require__.m[moduleId] = moreModules[moduleId];\n\t\t\t}\n\t\t}\n\t\tif(runtime) var result = runtime(__webpack_require__);\n\t}\n\tif(parentChunkLoadingFunction) parentChunkLoadingFunction(data);\n\tfor(;i < chunkIds.length; i++) {\n\t\tchunkId = chunkIds[i];\n\t\tif(__webpack_require__.o(installedChunks, chunkId) && installedChunks[chunkId]) {\n\t\t\tinstalledChunks[chunkId][0]();\n\t\t}\n\t\tinstalledChunks[chunkId] = 0;\n\t}\n\treturn __webpack_require__.O(result);\n}\n\nvar chunkLoadingGlobal = self[\"webpackChunknextcloud\"] = self[\"webpackChunknextcloud\"] || [];\nchunkLoadingGlobal.forEach(webpackJsonpCallback.bind(null, 0));\nchunkLoadingGlobal.push = webpackJsonpCallback.bind(null, chunkLoadingGlobal.push.bind(chunkLoadingGlobal));","__webpack_require__.nc = undefined;","// startup\n// Load entry module and return exports\n// This entry module depends on other loaded chunks and execution need to be delayed\nvar __webpack_exports__ = __webpack_require__.O(undefined, [4208], () => (__webpack_require__(69196)))\n__webpack_exports__ = __webpack_require__.O(__webpack_exports__);\n"],"names":["deferred","inProgress","dataWebpackPrefix","__webpack_nonce__","btoa","getRequestToken","window","OCA","Sharing","Object","assign","ShareSearch","constructor","this","_state","results","console","debug","state","addNewResult","result","displayName","trim","handler","push","error","ExternalLinkActions","actions","registerAction","action","OC","warn","icon","name","url","ExternalShareActions","id","data","Array","isArray","shareType","handlers","values","every","findIndex","check","concat","ShareTabSections","_sections","registerSection","section","getSections","Vue","prototype","t","n","TabInstance","addEventListener","Files","Sidebar","registerTab","Tab","iconSvg","mount","el","fileInfo","context","SharingTab","default","View","extend","$destroy","parent","update","$mount","destroy","__webpack_module_cache__","__webpack_require__","moduleId","cachedModule","undefined","exports","module","loaded","__webpack_modules__","call","m","O","chunkIds","fn","priority","notFulfilled","Infinity","i","length","fulfilled","j","keys","key","splice","r","getter","__esModule","d","a","definition","o","defineProperty","enumerable","get","f","e","chunkId","Promise","all","reduce","promises","u","g","globalThis","Function","obj","prop","hasOwnProperty","l","done","script","needAttach","scripts","document","getElementsByTagName","s","getAttribute","createElement","charset","timeout","nc","setAttribute","src","onScriptComplete","prev","event","onerror","onload","clearTimeout","doneFns","parentNode","removeChild","forEach","setTimeout","bind","type","target","head","appendChild","Symbol","toStringTag","value","nmd","paths","children","scriptUrl","importScripts","location","currentScript","test","Error","replace","p","b","baseURI","self","href","installedChunks","installedChunkData","promise","resolve","reject","errorType","realSrc","message","request","webpackJsonpCallback","parentChunkLoadingFunction","moreModules","runtime","some","chunkLoadingGlobal","__webpack_exports__"],"sourceRoot":""}
\ No newline at end of file
index 014ae79a47a9e6bfa9cbee47325d1e55308e52e2..73ec6cb10d172213a0b8317258ed4b9a6ddfc749 100644 (file)
@@ -1,3 +1,3 @@
-/*! For license information please see files_sharing-init.js.license?v=ffbd67251ead8a11cd46 */
-(()=>{"use strict";var e,t={5924:(e,t,i)=>{var n=i(21777),r=i(84697),s=i(43627),o=i(71089),a=i(63814);i(44719),i(36117),i(2568);const l=null===(u=(0,n.HW)())?(0,r.YK)().setApp("files").build():(0,r.YK)().setApp("files").setUid(u.uid).build();var u,d=(e=>(e.DEFAULT="default",e.HIDDEN="hidden",e))(d||{});class h{_action;constructor(e){this.validateAction(e),this._action=e}get id(){return this._action.id}get displayName(){return this._action.displayName}get title(){return this._action.title}get iconSvgInline(){return this._action.iconSvgInline}get enabled(){return this._action.enabled}get exec(){return this._action.exec}get execBatch(){return this._action.execBatch}get order(){return this._action.order}get parent(){return this._action.parent}get default(){return this._action.default}get inline(){return this._action.inline}get renderInline(){return this._action.renderInline}validateAction(e){if(!e.id||"string"!=typeof e.id)throw new Error("Invalid id");if(!e.displayName||"function"!=typeof e.displayName)throw new Error("Invalid displayName function");if("title"in e&&"function"!=typeof e.title)throw new Error("Invalid title function");if(!e.iconSvgInline||"function"!=typeof e.iconSvgInline)throw new Error("Invalid iconSvgInline function");if(!e.exec||"function"!=typeof e.exec)throw new Error("Invalid exec function");if("enabled"in e&&"function"!=typeof e.enabled)throw new Error("Invalid enabled function");if("execBatch"in e&&"function"!=typeof e.execBatch)throw new Error("Invalid execBatch function");if("order"in e&&"number"!=typeof e.order)throw new Error("Invalid order");if("parent"in e&&"string"!=typeof e.parent)throw new Error("Invalid parent");if(e.default&&!Object.values(d).includes(e.default))throw new Error("Invalid default");if("inline"in e&&"function"!=typeof e.inline)throw new Error("Invalid inline function");if("renderInline"in e&&"function"!=typeof e.renderInline)throw new Error("Invalid renderInline function")}}const c=function(e){void 0===window._nc_fileactions&&(window._nc_fileactions=[],l.debug("FileActions initialized")),window._nc_fileactions.find((t=>t.id===e.id))?l.error(`FileAction ${e.id} already registered`,{action:e}):window._nc_fileactions.push(e)};var p=(e=>(e[e.NONE=0]="NONE",e[e.CREATE=4]="CREATE",e[e.READ=1]="READ",e[e.UPDATE=2]="UPDATE",e[e.DELETE=8]="DELETE",e[e.SHARE=16]="SHARE",e[e.ALL=31]="ALL",e))(p||{});const f=["d:getcontentlength","d:getcontenttype","d:getetag","d:getlastmodified","d:quota-available-bytes","d:resourcetype","nc:has-preview","nc:is-encrypted","nc:mount-type","oc:comments-unread","oc:favorite","oc:fileid","oc:owner-display-name","oc:owner-id","oc:permissions","oc:size"],g={d:"DAV:",nc:"http://nextcloud.org/ns",oc:"http://owncloud.org/ns",ocs:"http://open-collaboration-services.org/ns"},m=function(e,t={nc:"http://nextcloud.org/ns"}){void 0===window._nc_dav_properties&&(window._nc_dav_properties=[...f],window._nc_dav_namespaces={...g});const i={...window._nc_dav_namespaces,...t};return window._nc_dav_properties.find((t=>t===e))?(l.warn(`${e} already registered`,{prop:e}),!1):e.startsWith("<")||2!==e.split(":").length?(l.error(`${e} is not valid. See example: 'oc:fileid'`,{prop:e}),!1):i[e.split(":")[0]]?(window._nc_dav_properties.push(e),window._nc_dav_namespaces=i,!0):(l.error(`${e} namespace unknown`,{prop:e,namespaces:i}),!1)};var w=(e=>(e.Folder="folder",e.File="file",e))(w||{});const v=function(e,t){return null!==e.match(t)},b=(e,t)=>{if(e.id&&"number"!=typeof e.id)throw new Error("Invalid id type of value");if(!e.source)throw new Error("Missing mandatory source");try{new URL(e.source)}catch(e){throw new Error("Invalid source format, source must be a valid URL")}if(!e.source.startsWith("http"))throw new Error("Invalid source format, only http(s) is supported");if(e.mtime&&!(e.mtime instanceof Date))throw new Error("Invalid mtime type");if(e.crtime&&!(e.crtime instanceof Date))throw new Error("Invalid crtime type");if(!e.mime||"string"!=typeof e.mime||!e.mime.match(/^[-\w.]+\/[-+\w.]+$/gi))throw new Error("Missing or invalid mandatory mime");if("size"in e&&"number"!=typeof e.size&&void 0!==e.size)throw new Error("Invalid size type");if("permissions"in e&&void 0!==e.permissions&&!("number"==typeof e.permissions&&e.permissions>=p.NONE&&e.permissions<=p.ALL))throw new Error("Invalid permissions");if(e.owner&&null!==e.owner&&"string"!=typeof e.owner)throw new Error("Invalid owner type");if(e.attributes&&"object"!=typeof e.attributes)throw new Error("Invalid attributes type");if(e.root&&"string"!=typeof e.root)throw new Error("Invalid root type");if(e.root&&!e.root.startsWith("/"))throw new Error("Root must start with a leading slash");if(e.root&&!e.source.includes(e.root))throw new Error("Root must be part of the source");if(e.root&&v(e.source,t)){const i=e.source.match(t)[0];if(!e.source.includes((0,s.join)(i,e.root)))throw new Error("The root must be relative to the service. e.g /files/emma")}if(e.status&&!Object.values(y).includes(e.status))throw new Error("Status must be a valid NodeStatus")};var y=(e=>(e.NEW="new",e.FAILED="failed",e.LOADING="loading",e.LOCKED="locked",e))(y||{});class x{_data;_attributes;_knownDavService=/(remote|public)\.php\/(web)?dav/i;readonlyAttributes=Object.entries(Object.getOwnPropertyDescriptors(x.prototype)).filter((e=>"function"==typeof e[1].get&&"__proto__"!==e[0])).map((e=>e[0]));handler={set:(e,t,i)=>!this.readonlyAttributes.includes(t)&&(this.updateMtime(),Reflect.set(e,t,i)),deleteProperty:(e,t)=>!this.readonlyAttributes.includes(t)&&(this.updateMtime(),Reflect.deleteProperty(e,t)),get:(e,t,i)=>this.readonlyAttributes.includes(t)?(l.warn(`Accessing "Node.attributes.${t}" is deprecated, access it directly on the Node instance.`),Reflect.get(this,t)):Reflect.get(e,t,i)};constructor(e,t){b(e,t||this._knownDavService),this._data={...e,attributes:{}},this._attributes=new Proxy(this._data.attributes,this.handler),this.update(e.attributes??{}),this._data.mtime=e.mtime,t&&(this._knownDavService=t)}get source(){return this._data.source.replace(/\/$/i,"")}get encodedSource(){const{origin:e}=new URL(this.source);return e+(0,o.O0)(this.source.slice(e.length))}get basename(){return(0,s.basename)(this.source)}get extension(){return(0,s.extname)(this.source)}get dirname(){if(this.root){let e=this.source;this.isDavRessource&&(e=e.split(this._knownDavService).pop());const t=e.indexOf(this.root),i=this.root.replace(/\/$/,"");return(0,s.dirname)(e.slice(t+i.length)||"/")}const e=new URL(this.source);return(0,s.dirname)(e.pathname)}get mime(){return this._data.mime}get mtime(){return this._data.mtime}get crtime(){return this._data.crtime}get size(){return this._data.size}set size(e){this.updateMtime(),this._data.size=e}get attributes(){return this._attributes}get permissions(){return null!==this.owner||this.isDavRessource?void 0!==this._data.permissions?this._data.permissions:p.NONE:p.READ}set permissions(e){this.updateMtime(),this._data.permissions=e}get owner(){return this.isDavRessource?this._data.owner:null}get isDavRessource(){return v(this.source,this._knownDavService)}get root(){return this._data.root?this._data.root.replace(/^(.+)\/$/,"$1"):this.isDavRessource&&(0,s.dirname)(this.source).split(this._knownDavService).pop()||null}get path(){if(this.root){let e=this.source;this.isDavRessource&&(e=e.split(this._knownDavService).pop());const t=e.indexOf(this.root),i=this.root.replace(/\/$/,"");return e.slice(t+i.length)||"/"}return(this.dirname+"/"+this.basename).replace(/\/\//g,"/")}get fileid(){return this._data?.id}get status(){return this._data?.status}set status(e){this._data.status=e}move(e){b({...this._data,source:e},this._knownDavService),this._data.source=e,this.updateMtime()}rename(e){if(e.includes("/"))throw new Error("Invalid basename");this.move((0,s.dirname)(this.source)+"/"+e)}updateMtime(){this._data.mtime&&(this._data.mtime=new Date)}update(e){for(const[t,i]of Object.entries(e))try{void 0===i?delete this.attributes[t]:this.attributes[t]=i}catch(e){if(e instanceof TypeError)continue;throw e}}}class _ extends x{get type(){return w.File}}class A extends x{constructor(e){super({...e,mime:"httpd/unix-directory"})}get type(){return w.Folder}get extension(){return null}get mime(){return"httpd/unix-directory"}}(0,a.dC)("dav"),window._oc_config,window._oc_config?.blacklist_files_regex&&new RegExp(window._oc_config.blacklist_files_regex);class N{_views=[];_currentView=null;register(e){if(this._views.find((t=>t.id===e.id)))throw new Error(`View id ${e.id} is already registered`);this._views.push(e)}remove(e){const t=this._views.findIndex((t=>t.id===e));-1!==t&&this._views.splice(t,1)}get views(){return this._views}setActive(e){this._currentView=e}get active(){return this._currentView}}const E=function(){return void 0===window._nc_navigation&&(window._nc_navigation=new N,l.debug("Navigation service initialized")),window._nc_navigation};class T{_column;constructor(e){C(e),this._column=e}get id(){return this._column.id}get title(){return this._column.title}get render(){return this._column.render}get sort(){return this._column.sort}get summary(){return this._column.summary}}const C=function(e){if(!e.id||"string"!=typeof e.id)throw new Error("A column id is required");if(!e.title||"string"!=typeof e.title)throw new Error("A column title is required");if(!e.render||"function"!=typeof e.render)throw new Error("A render function is required");if(e.sort&&"function"!=typeof e.sort)throw new Error("Column sortFunction must be a function");if(e.summary&&"function"!=typeof e.summary)throw new Error("Column summary must be a function");return!0};var O={},I={};!function(e){const t=":A-Za-z_\\u00C0-\\u00D6\\u00D8-\\u00F6\\u00F8-\\u02FF\\u0370-\\u037D\\u037F-\\u1FFF\\u200C-\\u200D\\u2070-\\u218F\\u2C00-\\u2FEF\\u3001-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFFD",i="["+t+"]["+t+"\\-.\\d\\u00B7\\u0300-\\u036F\\u203F-\\u2040]*",n=new RegExp("^"+i+"$");e.isExist=function(e){return void 0!==e},e.isEmptyObject=function(e){return 0===Object.keys(e).length},e.merge=function(e,t,i){if(t){const n=Object.keys(t),r=n.length;for(let s=0;s<r;s++)e[n[s]]="strict"===i?[t[n[s]]]:t[n[s]]}},e.getValue=function(t){return e.isExist(t)?t:""},e.isName=function(e){return!(null==n.exec(e))},e.getAllMatches=function(e,t){const i=[];let n=t.exec(e);for(;n;){const r=[];r.startIndex=t.lastIndex-n[0].length;const s=n.length;for(let e=0;e<s;e++)r.push(n[e]);i.push(r),n=t.exec(e)}return i},e.nameRegexp=i}(I);const P=I,S={allowBooleanAttributes:!1,unpairedTags:[]};function V(e){return" "===e||"\t"===e||"\n"===e||"\r"===e}function L(e,t){const i=t;for(;t<e.length;t++)if("?"!=e[t]&&" "!=e[t]);else{const n=e.substr(i,t-i);if(t>5&&"xml"===n)return B("InvalidXml","XML declaration allowed only at the start of the document.",U(e,t));if("?"==e[t]&&">"==e[t+1]){t++;break}}return t}function k(e,t){if(e.length>t+5&&"-"===e[t+1]&&"-"===e[t+2]){for(t+=3;t<e.length;t++)if("-"===e[t]&&"-"===e[t+1]&&">"===e[t+2]){t+=2;break}}else if(e.length>t+8&&"D"===e[t+1]&&"O"===e[t+2]&&"C"===e[t+3]&&"T"===e[t+4]&&"Y"===e[t+5]&&"P"===e[t+6]&&"E"===e[t+7]){let i=1;for(t+=8;t<e.length;t++)if("<"===e[t])i++;else if(">"===e[t]&&(i--,0===i))break}else if(e.length>t+9&&"["===e[t+1]&&"C"===e[t+2]&&"D"===e[t+3]&&"A"===e[t+4]&&"T"===e[t+5]&&"A"===e[t+6]&&"["===e[t+7])for(t+=8;t<e.length;t++)if("]"===e[t]&&"]"===e[t+1]&&">"===e[t+2]){t+=2;break}return t}O.validate=function(e,t){t=Object.assign({},S,t);const i=[];let n=!1,r=!1;"\ufeff"===e[0]&&(e=e.substr(1));for(let o=0;o<e.length;o++)if("<"===e[o]&&"?"===e[o+1]){if(o+=2,o=L(e,o),o.err)return o}else{if("<"!==e[o]){if(V(e[o]))continue;return B("InvalidChar","char '"+e[o]+"' is not expected.",U(e,o))}{let a=o;if(o++,"!"===e[o]){o=k(e,o);continue}{let l=!1;"/"===e[o]&&(l=!0,o++);let u="";for(;o<e.length&&">"!==e[o]&&" "!==e[o]&&"\t"!==e[o]&&"\n"!==e[o]&&"\r"!==e[o];o++)u+=e[o];if(u=u.trim(),"/"===u[u.length-1]&&(u=u.substring(0,u.length-1),o--),s=u,!P.isName(s)){let t;return t=0===u.trim().length?"Invalid space after '<'.":"Tag '"+u+"' is an invalid name.",B("InvalidTag",t,U(e,o))}const d=M(e,o);if(!1===d)return B("InvalidAttr","Attributes for '"+u+"' have open quote.",U(e,o));let h=d.value;if(o=d.index,"/"===h[h.length-1]){const i=o-h.length;h=h.substring(0,h.length-1);const r=H(h,t);if(!0!==r)return B(r.err.code,r.err.msg,U(e,i+r.err.line));n=!0}else if(l){if(!d.tagClosed)return B("InvalidTag","Closing tag '"+u+"' doesn't have proper closing.",U(e,o));if(h.trim().length>0)return B("InvalidTag","Closing tag '"+u+"' can't have attributes or invalid starting.",U(e,a));if(0===i.length)return B("InvalidTag","Closing tag '"+u+"' has not been opened.",U(e,a));{const t=i.pop();if(u!==t.tagName){let i=U(e,t.tagStartPos);return B("InvalidTag","Expected closing tag '"+t.tagName+"' (opened in line "+i.line+", col "+i.col+") instead of closing tag '"+u+"'.",U(e,a))}0==i.length&&(r=!0)}}else{const s=H(h,t);if(!0!==s)return B(s.err.code,s.err.msg,U(e,o-h.length+s.err.line));if(!0===r)return B("InvalidXml","Multiple possible root nodes found.",U(e,o));-1!==t.unpairedTags.indexOf(u)||i.push({tagName:u,tagStartPos:a}),n=!0}for(o++;o<e.length;o++)if("<"===e[o]){if("!"===e[o+1]){o++,o=k(e,o);continue}if("?"!==e[o+1])break;if(o=L(e,++o),o.err)return o}else if("&"===e[o]){const t=F(e,o);if(-1==t)return B("InvalidChar","char '&' is not expected.",U(e,o));o=t}else if(!0===r&&!V(e[o]))return B("InvalidXml","Extra text at the end",U(e,o));"<"===e[o]&&o--}}}var s;return n?1==i.length?B("InvalidTag","Unclosed tag '"+i[0].tagName+"'.",U(e,i[0].tagStartPos)):!(i.length>0)||B("InvalidXml","Invalid '"+JSON.stringify(i.map((e=>e.tagName)),null,4).replace(/\r?\n/g,"")+"' found.",{line:1,col:1}):B("InvalidXml","Start tag expected.",1)};const D='"',R="'";function M(e,t){let i="",n="",r=!1;for(;t<e.length;t++){if(e[t]===D||e[t]===R)""===n?n=e[t]:n!==e[t]||(n="");else if(">"===e[t]&&""===n){r=!0;break}i+=e[t]}return""===n&&{value:i,index:t,tagClosed:r}}const j=new RegExp("(\\s*)([^\\s=]+)(\\s*=)?(\\s*(['\"])(([\\s\\S])*?)\\5)?","g");function H(e,t){const i=P.getAllMatches(e,j),n={};for(let e=0;e<i.length;e++){if(0===i[e][1].length)return B("InvalidAttr","Attribute '"+i[e][2]+"' has no space in starting.",G(i[e]));if(void 0!==i[e][3]&&void 0===i[e][4])return B("InvalidAttr","Attribute '"+i[e][2]+"' is without value.",G(i[e]));if(void 0===i[e][3]&&!t.allowBooleanAttributes)return B("InvalidAttr","boolean attribute '"+i[e][2]+"' is not allowed.",G(i[e]));const r=i[e][2];if(!$(r))return B("InvalidAttr","Attribute '"+r+"' is an invalid name.",G(i[e]));if(n.hasOwnProperty(r))return B("InvalidAttr","Attribute '"+r+"' is repeated.",G(i[e]));n[r]=1}return!0}function F(e,t){if(";"===e[++t])return-1;if("#"===e[t])return function(e,t){let i=/\d/;for("x"===e[t]&&(t++,i=/[\da-fA-F]/);t<e.length;t++){if(";"===e[t])return t;if(!e[t].match(i))break}return-1}(e,++t);let i=0;for(;t<e.length;t++,i++)if(!(e[t].match(/\w/)&&i<20)){if(";"===e[t])break;return-1}return t}function B(e,t,i){return{err:{code:e,msg:t,line:i.line||i,col:i.col}}}function $(e){return P.isName(e)}function U(e,t){const i=e.substring(0,t).split(/\r?\n/);return{line:i.length,col:i[i.length-1].length+1}}function G(e){return e.startIndex+e[1].length}var Y={};const K={preserveOrder:!1,attributeNamePrefix:"@_",attributesGroupName:!1,textNodeName:"#text",ignoreAttributes:!0,removeNSPrefix:!1,allowBooleanAttributes:!1,parseTagValue:!0,parseAttributeValue:!1,trimValues:!0,cdataPropName:!1,numberParseOptions:{hex:!0,leadingZeros:!0,eNotation:!0},tagValueProcessor:function(e,t){return t},attributeValueProcessor:function(e,t){return t},stopNodes:[],alwaysCreateTextNode:!1,isArray:()=>!1,commentPropName:!1,unpairedTags:[],processEntities:!0,htmlEntities:!1,ignoreDeclaration:!1,ignorePiTags:!1,transformTagName:!1,transformAttributeName:!1,updateTag:function(e,t,i){return e}};Y.buildOptions=function(e){return Object.assign({},K,e)},Y.defaultOptions=K;const Z=I;function z(e,t){let i="";for(;t<e.length&&"'"!==e[t]&&'"'!==e[t];t++)i+=e[t];if(i=i.trim(),-1!==i.indexOf(" "))throw new Error("External entites are not supported");const n=e[t++];let r="";for(;t<e.length&&e[t]!==n;t++)r+=e[t];return[i,r,t]}function q(e,t){return"!"===e[t+1]&&"-"===e[t+2]&&"-"===e[t+3]}function W(e,t){return"!"===e[t+1]&&"E"===e[t+2]&&"N"===e[t+3]&&"T"===e[t+4]&&"I"===e[t+5]&&"T"===e[t+6]&&"Y"===e[t+7]}function X(e,t){return"!"===e[t+1]&&"E"===e[t+2]&&"L"===e[t+3]&&"E"===e[t+4]&&"M"===e[t+5]&&"E"===e[t+6]&&"N"===e[t+7]&&"T"===e[t+8]}function J(e,t){return"!"===e[t+1]&&"A"===e[t+2]&&"T"===e[t+3]&&"T"===e[t+4]&&"L"===e[t+5]&&"I"===e[t+6]&&"S"===e[t+7]&&"T"===e[t+8]}function Q(e,t){return"!"===e[t+1]&&"N"===e[t+2]&&"O"===e[t+3]&&"T"===e[t+4]&&"A"===e[t+5]&&"T"===e[t+6]&&"I"===e[t+7]&&"O"===e[t+8]&&"N"===e[t+9]}function ee(e){if(Z.isName(e))return e;throw new Error(`Invalid entity name ${e}`)}const te=/^[-+]?0x[a-fA-F0-9]+$/,ie=/^([\-\+])?(0*)(\.[0-9]+([eE]\-?[0-9]+)?|[0-9]+(\.[0-9]+([eE]\-?[0-9]+)?)?)$/;!Number.parseInt&&window.parseInt&&(Number.parseInt=window.parseInt),!Number.parseFloat&&window.parseFloat&&(Number.parseFloat=window.parseFloat);const ne={hex:!0,leadingZeros:!0,decimalPoint:".",eNotation:!0};const re=I,se=class{constructor(e){this.tagname=e,this.child=[],this[":@"]={}}add(e,t){"__proto__"===e&&(e="#__proto__"),this.child.push({[e]:t})}addChild(e){"__proto__"===e.tagname&&(e.tagname="#__proto__"),e[":@"]&&Object.keys(e[":@"]).length>0?this.child.push({[e.tagname]:e.child,":@":e[":@"]}):this.child.push({[e.tagname]:e.child})}},oe=function(e,t){const i={};if("O"!==e[t+3]||"C"!==e[t+4]||"T"!==e[t+5]||"Y"!==e[t+6]||"P"!==e[t+7]||"E"!==e[t+8])throw new Error("Invalid Tag instead of DOCTYPE");{t+=9;let n=1,r=!1,s=!1,o="";for(;t<e.length;t++)if("<"!==e[t]||s)if(">"===e[t]){if(s?"-"===e[t-1]&&"-"===e[t-2]&&(s=!1,n--):n--,0===n)break}else"["===e[t]?r=!0:o+=e[t];else{if(r&&W(e,t))t+=7,[entityName,val,t]=z(e,t+1),-1===val.indexOf("&")&&(i[ee(entityName)]={regx:RegExp(`&${entityName};`,"g"),val});else if(r&&X(e,t))t+=8;else if(r&&J(e,t))t+=8;else if(r&&Q(e,t))t+=9;else{if(!q)throw new Error("Invalid DOCTYPE");s=!0}n++,o=""}if(0!==n)throw new Error("Unclosed DOCTYPE")}return{entities:i,i:t}},ae=function(e,t={}){if(t=Object.assign({},ne,t),!e||"string"!=typeof e)return e;let i=e.trim();if(void 0!==t.skipLike&&t.skipLike.test(i))return e;if(t.hex&&te.test(i))return Number.parseInt(i,16);{const r=ie.exec(i);if(r){const s=r[1],o=r[2];let a=(n=r[3])&&-1!==n.indexOf(".")?("."===(n=n.replace(/0+$/,""))?n="0":"."===n[0]?n="0"+n:"."===n[n.length-1]&&(n=n.substr(0,n.length-1)),n):n;const l=r[4]||r[6];if(!t.leadingZeros&&o.length>0&&s&&"."!==i[2])return e;if(!t.leadingZeros&&o.length>0&&!s&&"."!==i[1])return e;{const n=Number(i),r=""+n;return-1!==r.search(/[eE]/)||l?t.eNotation?n:e:-1!==i.indexOf(".")?"0"===r&&""===a||r===a||s&&r==="-"+a?n:e:o?a===r||s+a===r?n:e:i===r||i===s+r?n:e}}return e}var n};function le(e){const t=Object.keys(e);for(let i=0;i<t.length;i++){const n=t[i];this.lastEntities[n]={regex:new RegExp("&"+n+";","g"),val:e[n]}}}function ue(e,t,i,n,r,s,o){if(void 0!==e&&(this.options.trimValues&&!n&&(e=e.trim()),e.length>0)){o||(e=this.replaceEntitiesValue(e));const n=this.options.tagValueProcessor(t,e,i,r,s);return null==n?e:typeof n!=typeof e||n!==e?n:this.options.trimValues||e.trim()===e?xe(e,this.options.parseTagValue,this.options.numberParseOptions):e}}function de(e){if(this.options.removeNSPrefix){const t=e.split(":"),i="/"===e.charAt(0)?"/":"";if("xmlns"===t[0])return"";2===t.length&&(e=i+t[1])}return e}const he=new RegExp("([^\\s=]+)\\s*(=\\s*(['\"])([\\s\\S]*?)\\3)?","gm");function ce(e,t,i){if(!this.options.ignoreAttributes&&"string"==typeof e){const i=re.getAllMatches(e,he),n=i.length,r={};for(let e=0;e<n;e++){const n=this.resolveNameSpace(i[e][1]);let s=i[e][4],o=this.options.attributeNamePrefix+n;if(n.length)if(this.options.transformAttributeName&&(o=this.options.transformAttributeName(o)),"__proto__"===o&&(o="#__proto__"),void 0!==s){this.options.trimValues&&(s=s.trim()),s=this.replaceEntitiesValue(s);const e=this.options.attributeValueProcessor(n,s,t);r[o]=null==e?s:typeof e!=typeof s||e!==s?e:xe(s,this.options.parseAttributeValue,this.options.numberParseOptions)}else this.options.allowBooleanAttributes&&(r[o]=!0)}if(!Object.keys(r).length)return;if(this.options.attributesGroupName){const e={};return e[this.options.attributesGroupName]=r,e}return r}}const pe=function(e){e=e.replace(/\r\n?/g,"\n");const t=new se("!xml");let i=t,n="",r="";for(let s=0;s<e.length;s++)if("<"===e[s])if("/"===e[s+1]){const t=ve(e,">",s,"Closing Tag is not closed.");let o=e.substring(s+2,t).trim();if(this.options.removeNSPrefix){const e=o.indexOf(":");-1!==e&&(o=o.substr(e+1))}this.options.transformTagName&&(o=this.options.transformTagName(o)),i&&(n=this.saveTextToParentTag(n,i,r));const a=r.substring(r.lastIndexOf(".")+1);if(o&&-1!==this.options.unpairedTags.indexOf(o))throw new Error(`Unpaired tag can not be used as closing tag: </${o}>`);let l=0;a&&-1!==this.options.unpairedTags.indexOf(a)?(l=r.lastIndexOf(".",r.lastIndexOf(".")-1),this.tagsNodeStack.pop()):l=r.lastIndexOf("."),r=r.substring(0,l),i=this.tagsNodeStack.pop(),n="",s=t}else if("?"===e[s+1]){let t=be(e,s,!1,"?>");if(!t)throw new Error("Pi Tag is not closed.");if(n=this.saveTextToParentTag(n,i,r),this.options.ignoreDeclaration&&"?xml"===t.tagName||this.options.ignorePiTags);else{const e=new se(t.tagName);e.add(this.options.textNodeName,""),t.tagName!==t.tagExp&&t.attrExpPresent&&(e[":@"]=this.buildAttributesMap(t.tagExp,r,t.tagName)),this.addChild(i,e,r)}s=t.closeIndex+1}else if("!--"===e.substr(s+1,3)){const t=ve(e,"--\x3e",s+4,"Comment is not closed.");if(this.options.commentPropName){const o=e.substring(s+4,t-2);n=this.saveTextToParentTag(n,i,r),i.add(this.options.commentPropName,[{[this.options.textNodeName]:o}])}s=t}else if("!D"===e.substr(s+1,2)){const t=oe(e,s);this.docTypeEntities=t.entities,s=t.i}else if("!["===e.substr(s+1,2)){const t=ve(e,"]]>",s,"CDATA is not closed.")-2,o=e.substring(s+9,t);n=this.saveTextToParentTag(n,i,r);let a=this.parseTextData(o,i.tagname,r,!0,!1,!0,!0);null==a&&(a=""),this.options.cdataPropName?i.add(this.options.cdataPropName,[{[this.options.textNodeName]:o}]):i.add(this.options.textNodeName,a),s=t+2}else{let o=be(e,s,this.options.removeNSPrefix),a=o.tagName;const l=o.rawTagName;let u=o.tagExp,d=o.attrExpPresent,h=o.closeIndex;this.options.transformTagName&&(a=this.options.transformTagName(a)),i&&n&&"!xml"!==i.tagname&&(n=this.saveTextToParentTag(n,i,r,!1));const c=i;if(c&&-1!==this.options.unpairedTags.indexOf(c.tagname)&&(i=this.tagsNodeStack.pop(),r=r.substring(0,r.lastIndexOf("."))),a!==t.tagname&&(r+=r?"."+a:a),this.isItStopNode(this.options.stopNodes,r,a)){let t="";if(u.length>0&&u.lastIndexOf("/")===u.length-1)"/"===a[a.length-1]?(a=a.substr(0,a.length-1),r=r.substr(0,r.length-1),u=a):u=u.substr(0,u.length-1),s=o.closeIndex;else if(-1!==this.options.unpairedTags.indexOf(a))s=o.closeIndex;else{const i=this.readStopNodeData(e,l,h+1);if(!i)throw new Error(`Unexpected end of ${l}`);s=i.i,t=i.tagContent}const n=new se(a);a!==u&&d&&(n[":@"]=this.buildAttributesMap(u,r,a)),t&&(t=this.parseTextData(t,a,r,!0,d,!0,!0)),r=r.substr(0,r.lastIndexOf(".")),n.add(this.options.textNodeName,t),this.addChild(i,n,r)}else{if(u.length>0&&u.lastIndexOf("/")===u.length-1){"/"===a[a.length-1]?(a=a.substr(0,a.length-1),r=r.substr(0,r.length-1),u=a):u=u.substr(0,u.length-1),this.options.transformTagName&&(a=this.options.transformTagName(a));const e=new se(a);a!==u&&d&&(e[":@"]=this.buildAttributesMap(u,r,a)),this.addChild(i,e,r),r=r.substr(0,r.lastIndexOf("."))}else{const e=new se(a);this.tagsNodeStack.push(i),a!==u&&d&&(e[":@"]=this.buildAttributesMap(u,r,a)),this.addChild(i,e,r),i=e}n="",s=h}}else n+=e[s];return t.child};function fe(e,t,i){const n=this.options.updateTag(t.tagname,i,t[":@"]);!1===n||("string"==typeof n?(t.tagname=n,e.addChild(t)):e.addChild(t))}const ge=function(e){if(this.options.processEntities){for(let t in this.docTypeEntities){const i=this.docTypeEntities[t];e=e.replace(i.regx,i.val)}for(let t in this.lastEntities){const i=this.lastEntities[t];e=e.replace(i.regex,i.val)}if(this.options.htmlEntities)for(let t in this.htmlEntities){const i=this.htmlEntities[t];e=e.replace(i.regex,i.val)}e=e.replace(this.ampEntity.regex,this.ampEntity.val)}return e};function me(e,t,i,n){return e&&(void 0===n&&(n=0===Object.keys(t.child).length),void 0!==(e=this.parseTextData(e,t.tagname,i,!1,!!t[":@"]&&0!==Object.keys(t[":@"]).length,n))&&""!==e&&t.add(this.options.textNodeName,e),e=""),e}function we(e,t,i){const n="*."+i;for(const i in e){const r=e[i];if(n===r||t===r)return!0}return!1}function ve(e,t,i,n){const r=e.indexOf(t,i);if(-1===r)throw new Error(n);return r+t.length-1}function be(e,t,i,n=">"){const r=function(e,t,i=">"){let n,r="";for(let s=t;s<e.length;s++){let t=e[s];if(n)t===n&&(n="");else if('"'===t||"'"===t)n=t;else if(t===i[0]){if(!i[1])return{data:r,index:s};if(e[s+1]===i[1])return{data:r,index:s}}else"\t"===t&&(t=" ");r+=t}}(e,t+1,n);if(!r)return;let s=r.data;const o=r.index,a=s.search(/\s/);let l=s,u=!0;-1!==a&&(l=s.substring(0,a),s=s.substring(a+1).trimStart());const d=l;if(i){const e=l.indexOf(":");-1!==e&&(l=l.substr(e+1),u=l!==r.data.substr(e+1))}return{tagName:l,tagExp:s,closeIndex:o,attrExpPresent:u,rawTagName:d}}function ye(e,t,i){const n=i;let r=1;for(;i<e.length;i++)if("<"===e[i])if("/"===e[i+1]){const s=ve(e,">",i,`${t} is not closed`);if(e.substring(i+2,s).trim()===t&&(r--,0===r))return{tagContent:e.substring(n,i),i:s};i=s}else if("?"===e[i+1])i=ve(e,"?>",i+1,"StopNode is not closed.");else if("!--"===e.substr(i+1,3))i=ve(e,"--\x3e",i+3,"StopNode is not closed.");else if("!["===e.substr(i+1,2))i=ve(e,"]]>",i,"StopNode is not closed.")-2;else{const n=be(e,i,">");n&&((n&&n.tagName)===t&&"/"!==n.tagExp[n.tagExp.length-1]&&r++,i=n.closeIndex)}}function xe(e,t,i){if(t&&"string"==typeof e){const t=e.trim();return"true"===t||"false"!==t&&ae(e,i)}return re.isExist(e)?e:""}var _e={};function Ae(e,t,i){let n;const r={};for(let s=0;s<e.length;s++){const o=e[s],a=Ne(o);let l="";if(l=void 0===i?a:i+"."+a,a===t.textNodeName)void 0===n?n=o[a]:n+=""+o[a];else{if(void 0===a)continue;if(o[a]){let e=Ae(o[a],t,l);const i=Te(e,t);o[":@"]?Ee(e,o[":@"],l,t):1!==Object.keys(e).length||void 0===e[t.textNodeName]||t.alwaysCreateTextNode?0===Object.keys(e).length&&(t.alwaysCreateTextNode?e[t.textNodeName]="":e=""):e=e[t.textNodeName],void 0!==r[a]&&r.hasOwnProperty(a)?(Array.isArray(r[a])||(r[a]=[r[a]]),r[a].push(e)):t.isArray(a,l,i)?r[a]=[e]:r[a]=e}}}return"string"==typeof n?n.length>0&&(r[t.textNodeName]=n):void 0!==n&&(r[t.textNodeName]=n),r}function Ne(e){const t=Object.keys(e);for(let e=0;e<t.length;e++){const i=t[e];if(":@"!==i)return i}}function Ee(e,t,i,n){if(t){const r=Object.keys(t),s=r.length;for(let o=0;o<s;o++){const s=r[o];n.isArray(s,i+"."+s,!0,!0)?e[s]=[t[s]]:e[s]=t[s]}}}function Te(e,t){const{textNodeName:i}=t,n=Object.keys(e).length;return 0===n||!(1!==n||!e[i]&&"boolean"!=typeof e[i]&&0!==e[i])}_e.prettify=function(e,t){return Ae(e,t)};const{buildOptions:Ce}=Y,Oe=class{constructor(e){this.options=e,this.currentNode=null,this.tagsNodeStack=[],this.docTypeEntities={},this.lastEntities={apos:{regex:/&(apos|#39|#x27);/g,val:"'"},gt:{regex:/&(gt|#62|#x3E);/g,val:">"},lt:{regex:/&(lt|#60|#x3C);/g,val:"<"},quot:{regex:/&(quot|#34|#x22);/g,val:'"'}},this.ampEntity={regex:/&(amp|#38|#x26);/g,val:"&"},this.htmlEntities={space:{regex:/&(nbsp|#160);/g,val:" "},cent:{regex:/&(cent|#162);/g,val:"¢"},pound:{regex:/&(pound|#163);/g,val:"£"},yen:{regex:/&(yen|#165);/g,val:"¥"},euro:{regex:/&(euro|#8364);/g,val:"€"},copyright:{regex:/&(copy|#169);/g,val:"©"},reg:{regex:/&(reg|#174);/g,val:"®"},inr:{regex:/&(inr|#8377);/g,val:"₹"},num_dec:{regex:/&#([0-9]{1,7});/g,val:(e,t)=>String.fromCharCode(Number.parseInt(t,10))},num_hex:{regex:/&#x([0-9a-fA-F]{1,6});/g,val:(e,t)=>String.fromCharCode(Number.parseInt(t,16))}},this.addExternalEntities=le,this.parseXml=pe,this.parseTextData=ue,this.resolveNameSpace=de,this.buildAttributesMap=ce,this.isItStopNode=we,this.replaceEntitiesValue=ge,this.readStopNodeData=ye,this.saveTextToParentTag=me,this.addChild=fe}},{prettify:Ie}=_e,Pe=O;function Se(e,t,i,n){let r="",s=!1;for(let o=0;o<e.length;o++){const a=e[o],l=Ve(a);if(void 0===l)continue;let u="";if(u=0===i.length?l:`${i}.${l}`,l===t.textNodeName){let e=a[l];ke(u,t)||(e=t.tagValueProcessor(l,e),e=De(e,t)),s&&(r+=n),r+=e,s=!1;continue}if(l===t.cdataPropName){s&&(r+=n),r+=`<![CDATA[${a[l][0][t.textNodeName]}]]>`,s=!1;continue}if(l===t.commentPropName){r+=n+`\x3c!--${a[l][0][t.textNodeName]}--\x3e`,s=!0;continue}if("?"===l[0]){const e=Le(a[":@"],t),i="?xml"===l?"":n;let o=a[l][0][t.textNodeName];o=0!==o.length?" "+o:"",r+=i+`<${l}${o}${e}?>`,s=!0;continue}let d=n;""!==d&&(d+=t.indentBy);const h=n+`<${l}${Le(a[":@"],t)}`,c=Se(a[l],t,u,d);-1!==t.unpairedTags.indexOf(l)?t.suppressUnpairedNode?r+=h+">":r+=h+"/>":c&&0!==c.length||!t.suppressEmptyNode?c&&c.endsWith(">")?r+=h+`>${c}${n}</${l}>`:(r+=h+">",c&&""!==n&&(c.includes("/>")||c.includes("</"))?r+=n+t.indentBy+c+n:r+=c,r+=`</${l}>`):r+=h+"/>",s=!0}return r}function Ve(e){const t=Object.keys(e);for(let i=0;i<t.length;i++){const n=t[i];if(e.hasOwnProperty(n)&&":@"!==n)return n}}function Le(e,t){let i="";if(e&&!t.ignoreAttributes)for(let n in e){if(!e.hasOwnProperty(n))continue;let r=t.attributeValueProcessor(n,e[n]);r=De(r,t),!0===r&&t.suppressBooleanAttributes?i+=` ${n.substr(t.attributeNamePrefix.length)}`:i+=` ${n.substr(t.attributeNamePrefix.length)}="${r}"`}return i}function ke(e,t){let i=(e=e.substr(0,e.length-t.textNodeName.length-1)).substr(e.lastIndexOf(".")+1);for(let n in t.stopNodes)if(t.stopNodes[n]===e||t.stopNodes[n]==="*."+i)return!0;return!1}function De(e,t){if(e&&e.length>0&&t.processEntities)for(let i=0;i<t.entities.length;i++){const n=t.entities[i];e=e.replace(n.regex,n.val)}return e}const Re=function(e,t){let i="";return t.format&&t.indentBy.length>0&&(i="\n"),Se(e,t,"",i)},Me={attributeNamePrefix:"@_",attributesGroupName:!1,textNodeName:"#text",ignoreAttributes:!0,cdataPropName:!1,format:!1,indentBy:"  ",suppressEmptyNode:!1,suppressUnpairedNode:!0,suppressBooleanAttributes:!0,tagValueProcessor:function(e,t){return t},attributeValueProcessor:function(e,t){return t},preserveOrder:!1,commentPropName:!1,unpairedTags:[],entities:[{regex:new RegExp("&","g"),val:"&amp;"},{regex:new RegExp(">","g"),val:"&gt;"},{regex:new RegExp("<","g"),val:"&lt;"},{regex:new RegExp("'","g"),val:"&apos;"},{regex:new RegExp('"',"g"),val:"&quot;"}],processEntities:!0,stopNodes:[],oneListGroup:!1};function je(e){this.options=Object.assign({},Me,e),this.options.ignoreAttributes||this.options.attributesGroupName?this.isAttribute=function(){return!1}:(this.attrPrefixLen=this.options.attributeNamePrefix.length,this.isAttribute=Be),this.processTextOrObjNode=He,this.options.format?(this.indentate=Fe,this.tagEndChar=">\n",this.newLine="\n"):(this.indentate=function(){return""},this.tagEndChar=">",this.newLine="")}function He(e,t,i){const n=this.j2x(e,i+1);return void 0!==e[this.options.textNodeName]&&1===Object.keys(e).length?this.buildTextValNode(e[this.options.textNodeName],t,n.attrStr,i):this.buildObjectNode(n.val,t,n.attrStr,i)}function Fe(e){return this.options.indentBy.repeat(e)}function Be(e){return!(!e.startsWith(this.options.attributeNamePrefix)||e===this.options.textNodeName)&&e.substr(this.attrPrefixLen)}je.prototype.build=function(e){return this.options.preserveOrder?Re(e,this.options):(Array.isArray(e)&&this.options.arrayNodeName&&this.options.arrayNodeName.length>1&&(e={[this.options.arrayNodeName]:e}),this.j2x(e,0).val)},je.prototype.j2x=function(e,t){let i="",n="";for(let r in e)if(Object.prototype.hasOwnProperty.call(e,r))if(void 0===e[r])this.isAttribute(r)&&(n+="");else if(null===e[r])this.isAttribute(r)?n+="":"?"===r[0]?n+=this.indentate(t)+"<"+r+"?"+this.tagEndChar:n+=this.indentate(t)+"<"+r+"/"+this.tagEndChar;else if(e[r]instanceof Date)n+=this.buildTextValNode(e[r],r,"",t);else if("object"!=typeof e[r]){const s=this.isAttribute(r);if(s)i+=this.buildAttrPairStr(s,""+e[r]);else if(r===this.options.textNodeName){let t=this.options.tagValueProcessor(r,""+e[r]);n+=this.replaceEntitiesValue(t)}else n+=this.buildTextValNode(e[r],r,"",t)}else if(Array.isArray(e[r])){const i=e[r].length;let s="";for(let o=0;o<i;o++){const i=e[r][o];void 0===i||(null===i?"?"===r[0]?n+=this.indentate(t)+"<"+r+"?"+this.tagEndChar:n+=this.indentate(t)+"<"+r+"/"+this.tagEndChar:"object"==typeof i?this.options.oneListGroup?s+=this.j2x(i,t+1).val:s+=this.processTextOrObjNode(i,r,t):s+=this.buildTextValNode(i,r,"",t))}this.options.oneListGroup&&(s=this.buildObjectNode(s,r,"",t)),n+=s}else if(this.options.attributesGroupName&&r===this.options.attributesGroupName){const t=Object.keys(e[r]),n=t.length;for(let s=0;s<n;s++)i+=this.buildAttrPairStr(t[s],""+e[r][t[s]])}else n+=this.processTextOrObjNode(e[r],r,t);return{attrStr:i,val:n}},je.prototype.buildAttrPairStr=function(e,t){return t=this.options.attributeValueProcessor(e,""+t),t=this.replaceEntitiesValue(t),this.options.suppressBooleanAttributes&&"true"===t?" "+e:" "+e+'="'+t+'"'},je.prototype.buildObjectNode=function(e,t,i,n){if(""===e)return"?"===t[0]?this.indentate(n)+"<"+t+i+"?"+this.tagEndChar:this.indentate(n)+"<"+t+i+this.closeTag(t)+this.tagEndChar;{let r="</"+t+this.tagEndChar,s="";return"?"===t[0]&&(s="?",r=""),!i&&""!==i||-1!==e.indexOf("<")?!1!==this.options.commentPropName&&t===this.options.commentPropName&&0===s.length?this.indentate(n)+`\x3c!--${e}--\x3e`+this.newLine:this.indentate(n)+"<"+t+i+s+this.tagEndChar+e+this.indentate(n)+r:this.indentate(n)+"<"+t+i+s+">"+e+r}},je.prototype.closeTag=function(e){let t="";return-1!==this.options.unpairedTags.indexOf(e)?this.options.suppressUnpairedNode||(t="/"):t=this.options.suppressEmptyNode?"/":`></${e}`,t},je.prototype.buildTextValNode=function(e,t,i,n){if(!1!==this.options.cdataPropName&&t===this.options.cdataPropName)return this.indentate(n)+`<![CDATA[${e}]]>`+this.newLine;if(!1!==this.options.commentPropName&&t===this.options.commentPropName)return this.indentate(n)+`\x3c!--${e}--\x3e`+this.newLine;if("?"===t[0])return this.indentate(n)+"<"+t+i+"?"+this.tagEndChar;{let r=this.options.tagValueProcessor(t,e);return r=this.replaceEntitiesValue(r),""===r?this.indentate(n)+"<"+t+i+this.closeTag(t)+this.tagEndChar:this.indentate(n)+"<"+t+i+">"+r+"</"+t+this.tagEndChar}},je.prototype.replaceEntitiesValue=function(e){if(e&&e.length>0&&this.options.processEntities)for(let t=0;t<this.options.entities.length;t++){const i=this.options.entities[t];e=e.replace(i.regex,i.val)}return e};var $e={XMLParser:class{constructor(e){this.externalEntities={},this.options=Ce(e)}parse(e,t){if("string"==typeof e);else{if(!e.toString)throw new Error("XML data is accepted in String or Bytes[] form.");e=e.toString()}if(t){!0===t&&(t={});const i=Pe.validate(e,t);if(!0!==i)throw Error(`${i.err.msg}:${i.err.line}:${i.err.col}`)}const i=new Oe(this.options);i.addExternalEntities(this.externalEntities);const n=i.parseXml(e);return this.options.preserveOrder||void 0===n?n:Ie(n,this.options)}addEntity(e,t){if(-1!==t.indexOf("&"))throw new Error("Entity value can't have '&'");if(-1!==e.indexOf("&")||-1!==e.indexOf(";"))throw new Error("An entity must be set without '&' and ';'. Eg. use '#xD' for '&#xD;'");if("&"===t)throw new Error("An entity with value '&' is not permitted");this.externalEntities[e]=t}},XMLValidator:O,XMLBuilder:je};class Ue{_view;constructor(e){Ge(e),this._view=e}get id(){return this._view.id}get name(){return this._view.name}get caption(){return this._view.caption}get emptyTitle(){return this._view.emptyTitle}get emptyCaption(){return this._view.emptyCaption}get getContents(){return this._view.getContents}get icon(){return this._view.icon}set icon(e){this._view.icon=e}get order(){return this._view.order}set order(e){this._view.order=e}get params(){return this._view.params}set params(e){this._view.params=e}get columns(){return this._view.columns}get emptyView(){return this._view.emptyView}get parent(){return this._view.parent}get sticky(){return this._view.sticky}get expanded(){return this._view.expanded}set expanded(e){this._view.expanded=e}get defaultSortKey(){return this._view.defaultSortKey}}const Ge=function(e){if(!e.id||"string"!=typeof e.id)throw new Error("View id is required and must be a string");if(!e.name||"string"!=typeof e.name)throw new Error("View name is required and must be a string");if(e.columns&&e.columns.length>0&&(!e.caption||"string"!=typeof e.caption))throw new Error("View caption is required for top-level views and must be a string");if(!e.getContents||"function"!=typeof e.getContents)throw new Error("View getContents is required and must be a function");if(!e.icon||"string"!=typeof e.icon||!function(e){if("string"!=typeof e)throw new TypeError(`Expected a \`string\`, got \`${typeof e}\``);if(0===(e=e.trim()).length)return!1;if(!0!==$e.XMLValidator.validate(e))return!1;let t;const i=new $e.XMLParser;try{t=i.parse(e)}catch{return!1}return!!t&&!!Object.keys(t).some((e=>"svg"===e.toLowerCase()))}(e.icon))throw new Error("View icon is required and must be a valid svg string");if(!("order"in e)||"number"!=typeof e.order)throw new Error("View order is required and must be a number");if(e.columns&&e.columns.forEach((e=>{if(!(e instanceof T))throw new Error("View columns must be an array of Column. Invalid column found")})),e.emptyView&&"function"!=typeof e.emptyView)throw new Error("View emptyView must be a function");if(e.parent&&"string"!=typeof e.parent)throw new Error("View parent must be a string");if("sticky"in e&&"boolean"!=typeof e.sticky)throw new Error("View sticky must be a boolean");if("expanded"in e&&"boolean"!=typeof e.expanded)throw new Error("View expanded must be a boolean");if(e.defaultSortKey&&"string"!=typeof e.defaultSortKey)throw new Error("View defaultSortKey must be a string");return!0};var Ye=i(53334);const Ke='<svg xmlns="http://www.w3.org/2000/svg" id="mdi-account-group" viewBox="0 0 24 24"><path d="M12,5.5A3.5,3.5 0 0,1 15.5,9A3.5,3.5 0 0,1 12,12.5A3.5,3.5 0 0,1 8.5,9A3.5,3.5 0 0,1 12,5.5M5,8C5.56,8 6.08,8.15 6.53,8.42C6.38,9.85 6.8,11.27 7.66,12.38C7.16,13.34 6.16,14 5,14A3,3 0 0,1 2,11A3,3 0 0,1 5,8M19,8A3,3 0 0,1 22,11A3,3 0 0,1 19,14C17.84,14 16.84,13.34 16.34,12.38C17.2,11.27 17.62,9.85 17.47,8.42C17.92,8.15 18.44,8 19,8M5.5,18.25C5.5,16.18 8.41,14.5 12,14.5C15.59,14.5 18.5,16.18 18.5,18.25V20H5.5V18.25M0,20V18.5C0,17.11 1.89,15.94 4.45,15.6C3.86,16.28 3.5,17.22 3.5,18.25V20H0M24,20H20.5V18.25C20.5,17.22 20.14,16.28 19.55,15.6C22.11,15.94 24,17.11 24,18.5V20Z" /></svg>',Ze='<svg xmlns="http://www.w3.org/2000/svg" id="mdi-account-plus" viewBox="0 0 24 24"><path d="M15,14C12.33,14 7,15.33 7,18V20H23V18C23,15.33 17.67,14 15,14M6,10V7H4V10H1V12H4V15H6V12H9V10M15,12A4,4 0 0,0 19,8A4,4 0 0,0 15,4A4,4 0 0,0 11,8A4,4 0 0,0 15,12Z" /></svg>',ze='<svg xmlns="http://www.w3.org/2000/svg" id="mdi-link" viewBox="0 0 24 24"><path d="M3.9,12C3.9,10.29 5.29,8.9 7,8.9H11V7H7A5,5 0 0,0 2,12A5,5 0 0,0 7,17H11V15.1H7C5.29,15.1 3.9,13.71 3.9,12M8,13H16V11H8V13M17,7H13V8.9H17C18.71,8.9 20.1,10.29 20.1,12C20.1,13.71 18.71,15.1 17,15.1H13V17H17A5,5 0 0,0 22,12A5,5 0 0,0 17,7Z" /></svg>';var qe=i(26287),We=i(53529);const Xe=(0,We.YK)().setApp("files_sharing").detectUser().build();var Je;const Qe="/files/".concat(null===(Je=(0,n.HW)())||void 0===Je?void 0:Je.uid),et={"Content-Type":"application/json"},tt=function(e){try{var t;const i="folder"===(null==e?void 0:e.item_type),n=!0===(null==e?void 0:e.has_preview),r=i?A:_,s=e.file_source,o=(null==e?void 0:e.path)||e.file_target,l=(0,a.dC)("dav/".concat(Qe,"/").concat(o).replaceAll(/\/\//gm,"/"));let u=null!=e&&e.item_mtime?new Date(1e3*e.item_mtime):void 0;return(null==e?void 0:e.stime)>((null==e?void 0:e.item_mtime)||0)&&(u=new Date(1e3*e.stime)),new r({id:s,source:l,owner:null==e?void 0:e.uid_owner,mime:null==e?void 0:e.mimetype,mtime:u,size:null==e?void 0:e.item_size,permissions:(null==e?void 0:e.item_permissions)||(null==e?void 0:e.permissions),root:Qe,attributes:{...e,"has-preview":n,"owner-id":null==e?void 0:e.uid_owner,"owner-display-name":null==e?void 0:e.displayname_owner,"share-types":null==e?void 0:e.share_type,favorite:null!=e&&null!==(t=e.tags)&&void 0!==t&&t.includes(window.OC.TAG_FAVORITE)?1:0}})}catch(e){return Xe.error("Error while parsing OCS entry",{error:e}),null}},it=function(){let e=arguments.length>0&&void 0!==arguments[0]&&arguments[0];const t=(0,a.KT)("apps/files_sharing/api/v1/shares");return qe.A.get(t,{headers:et,params:{shared_with_me:e,include_tags:!0}})},nt=async function(){var e;let t=!(arguments.length>1&&void 0!==arguments[1])||arguments[1],i=arguments.length>2&&void 0!==arguments[2]&&arguments[2],r=arguments.length>3&&void 0!==arguments[3]&&arguments[3],s=arguments.length>4&&void 0!==arguments[4]?arguments[4]:[];const o=[];(!(arguments.length>0&&void 0!==arguments[0])||arguments[0])&&o.push(it(!0),function(){const e=(0,a.KT)("apps/files_sharing/api/v1/remote_shares");return qe.A.get(e,{headers:et,params:{include_tags:!0}})}()),t&&o.push(it()),i&&o.push(function(){const e=(0,a.KT)("apps/files_sharing/api/v1/shares/pending");return qe.A.get(e,{headers:et,params:{include_tags:!0}})}(),function(){const e=(0,a.KT)("apps/files_sharing/api/v1/remote_shares/pending");return qe.A.get(e,{headers:et,params:{include_tags:!0}})}()),r&&o.push(function(){const e=(0,a.KT)("apps/files_sharing/api/v1/deletedshares");return qe.A.get(e,{headers:et,params:{include_tags:!0}})}());let l=(await Promise.all(o)).map((e=>e.data.ocs.data)).flat().map(tt).filter((e=>null!==e));var u,d;return s.length>0&&(l=l.filter((e=>{var t;return s.includes(null===(t=e.attributes)||void 0===t?void 0:t.share_type)}))),l=(u=l,d="source",Object.values(u.reduce((function(e,t){return(e[t[d]]=e[t[d]]||[]).push(t),e}),{}))).map((e=>{const t=e[0];return t.attributes["share-types"]=e.map((e=>e.attributes["share-types"])),t})),{folder:new A({id:0,source:(0,a.dC)("dav"+Qe),owner:(null===(e=(0,n.HW)())||void 0===e?void 0:e.uid)||null}),contents:l}},rt="shareoverview",st="sharingin",ot="sharingout",at="sharinglinks",lt="deletedshares",ut="pendingshares";var dt=i(61338);c(new h({id:"accept-share",displayName:e=>(0,Ye.zw)("files_sharing","Accept share","Accept shares",e.length),iconSvgInline:()=>'<svg xmlns="http://www.w3.org/2000/svg" id="mdi-check" viewBox="0 0 24 24"><path d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z" /></svg>',enabled:(e,t)=>e.length>0&&t.id===ut,async exec(e){try{const t=!!e.attributes.remote,i=(0,a.KT)("apps/files_sharing/api/v1/{shareBase}/pending/{id}",{shareBase:t?"remote_shares":"shares",id:e.attributes.id});return await qe.A.post(i),(0,dt.Ic)("files:node:deleted",e),!0}catch(e){return!1}},async execBatch(e,t,i){return Promise.all(e.map((e=>this.exec(e,t,i))))},order:1,inline:()=>!0})),c(new h({id:"open-in-files",displayName:()=>(0,Ye.Tl)("files","Open in Files"),iconSvgInline:()=>"",enabled:(e,t)=>[rt,st,ot,at].includes(t.id),exec:async e=>(window.OCP.Files.Router.goToRoute(null,{view:"files",fileid:e.fileid},{dir:e.dirname}),null),order:-1e3,default:d.HIDDEN})),c(new h({id:"reject-share",displayName:e=>(0,Ye.zw)("files_sharing","Reject share","Reject shares",e.length),iconSvgInline:()=>'<svg xmlns="http://www.w3.org/2000/svg" id="mdi-close" viewBox="0 0 24 24"><path d="M19,6.41L17.59,5L12,10.59L6.41,5L5,6.41L10.59,12L5,17.59L6.41,19L12,13.41L17.59,19L19,17.59L13.41,12L19,6.41Z" /></svg>',enabled:(e,t)=>t.id===ut&&0!==e.length&&!e.some((e=>e.attributes.remote_id&&e.attributes.share_type===window.OC.Share.SHARE_TYPE_REMOTE_GROUP)),async exec(e){try{const t=!!e.attributes.remote,i=(0,a.KT)("apps/files_sharing/api/v1/{shareBase}/{id}",{shareBase:t?"remote_shares":"shares",id:e.attributes.id});return await qe.A.delete(i),(0,dt.Ic)("files:node:deleted",e),!0}catch(e){return!1}},async execBatch(e,t,i){return Promise.all(e.map((e=>this.exec(e,t,i))))},order:2,inline:()=>!0})),c(new h({id:"restore-share",displayName:e=>(0,Ye.zw)("files_sharing","Restore share","Restore shares",e.length),iconSvgInline:()=>'<svg xmlns="http://www.w3.org/2000/svg" id="mdi-arrow-u-left-top" viewBox="0 0 24 24"><path d="M20 13.5C20 17.09 17.09 20 13.5 20H6V18H13.5C16 18 18 16 18 13.5S16 9 13.5 9H7.83L10.91 12.09L9.5 13.5L4 8L9.5 2.5L10.92 3.91L7.83 7H13.5C17.09 7 20 9.91 20 13.5Z" /></svg>',enabled:(e,t)=>e.length>0&&t.id===lt,async exec(e){try{const t=(0,a.KT)("apps/files_sharing/api/v1/deletedshares/{id}",{id:e.attributes.id});return await qe.A.post(t),(0,dt.Ic)("files:node:deleted",e),!0}catch(e){return!1}},async execBatch(e,t,i){return Promise.all(e.map((e=>this.exec(e,t,i))))},order:1,inline:()=>!0}));var ht=i(52129),ct=i(49981);const pt=(0,We.YK)().setApp("files").detectUser().build(),ft=new h({id:"details",displayName:()=>(0,Ye.Tl)("files","Open details"),iconSvgInline:()=>ct,enabled:e=>{var t,i,n;return 1===e.length&&!!e[0]&&!(null===(t=window)||void 0===t||null===(t=t.OCA)||void 0===t||null===(t=t.Files)||void 0===t||!t.Sidebar)&&null!==(i=(null===(n=e[0].root)||void 0===n?void 0:n.startsWith("/files/"))&&e[0].permissions!==p.NONE)&&void 0!==i&&i},async exec(e,t,i){try{return await window.OCA.Files.Sidebar.open(e.path),window.OCP.Files.Router.goToRoute(null,{view:t.id,fileid:e.fileid},{dir:i},!0),null}catch(e){return pt.error("Error while opening sidebar",{error:e}),!1}},order:-50});var gt=i(85072),mt=i.n(gt),wt=i(97825),vt=i.n(wt),bt=i(77659),yt=i.n(bt),xt=i(55056),_t=i.n(xt),At=i(10540),Nt=i.n(At),Et=i(41113),Tt=i.n(Et),Ct=i(8132),Ot={};Ot.styleTagTransform=Tt(),Ot.setAttributes=_t(),Ot.insert=yt().bind(null,"head"),Ot.domAPI=vt(),Ot.insertStyleElement=Nt(),mt()(Ct.A,Ot),Ct.A&&Ct.A.locals&&Ct.A.locals;const It=new h({id:"sharing-status",displayName(e){var t,i,r;const s=e[0],o=Object.values((null==s||null===(t=s.attributes)||void 0===t?void 0:t["share-types"])||{}).flat(),a=null==s||null===(i=s.attributes)||void 0===i?void 0:i["owner-id"];return o.length>0||a&&a!==(null===(r=(0,n.HW)())||void 0===r?void 0:r.uid)?(0,Ye.Tl)("files_sharing","Shared"):""},title(e){var t,i,r,s;const o=e[0],a=null==o||null===(t=o.attributes)||void 0===t?void 0:t["owner-id"],l=null==o||null===(i=o.attributes)||void 0===i?void 0:i["owner-display-name"];return Array.isArray(null===(r=o.attributes)||void 0===r?void 0:r["share-types"])?(0,Ye.Tl)("files_sharing","Shared multiple times with different people"):a&&a!==(null===(s=(0,n.HW)())||void 0===s?void 0:s.uid)?(0,Ye.Tl)("files_sharing","Shared by {ownerDisplayName}",{ownerDisplayName:l}):(0,Ye.Tl)("files_sharing","Show sharing options")},iconSvgInline(e){var t,i,r,s;const o=e[0],l=Object.values((null==o||null===(t=o.attributes)||void 0===t?void 0:t["share-types"])||{}).flat();if(Array.isArray(null===(i=o.attributes)||void 0===i?void 0:i["share-types"]))return Ze;if(l.includes(ht.Z.SHARE_TYPE_LINK)||l.includes(ht.Z.SHARE_TYPE_EMAIL))return ze;if(l.includes(ht.Z.SHARE_TYPE_GROUP)||l.includes(ht.Z.SHARE_TYPE_REMOTE_GROUP))return Ke;if(l.includes(ht.Z.SHARE_TYPE_CIRCLE))return'<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M12,5.5A3.5,3.5 0 0,1 15.5,9A3.5,3.5 0 0,1 12,12.5A3.5,3.5 0 0,1 8.5,9A3.5,3.5 0 0,1 12,5.5M5,8C5.56,8 6.08,8.15 6.53,8.42C6.38,9.85 6.8,11.27 7.66,12.38C7.16,13.34 6.16,14 5,14A3,3 0 0,1 2,11A3,3 0 0,1 5,8M19,8A3,3 0 0,1 22,11A3,3 0 0,1 19,14C17.84,14 16.84,13.34 16.34,12.38C17.2,11.27 17.62,9.85 17.47,8.42C17.92,8.15 18.44,8 19,8M5.5,18.25C5.5,16.18 8.41,14.5 12,14.5C15.59,14.5 18.5,16.18 18.5,18.25V20H5.5V18.25M0,20V18.5C0,17.11 1.89,15.94 4.45,15.6C3.86,16.28 3.5,17.22 3.5,18.25V20H0M24,20H20.5V18.25C20.5,17.22 20.14,16.28 19.55,15.6C22.11,15.94 24,17.11 24,18.5V20Z" /></svg>';const u=null==o||null===(r=o.attributes)||void 0===r?void 0:r["owner-id"];return u&&u!==(null===(s=(0,n.HW)())||void 0===s?void 0:s.uid)?(e=>{const t=(0,a.Jv)("/avatar/{userId}/32",{userId:e});return'<svg width="32" height="32" viewBox="0 0 32 32"\n\t\txmlns="http://www.w3.org/2000/svg" class="sharing-status__avatar">\n\t\t<image href="'.concat(t,'" height="32" width="32" />\n\t</svg>')})(u):Ze},enabled(e){var t,i,r;if(1!==e.length)return!1;const s=e[0],o=null==s||null===(t=s.attributes)||void 0===t?void 0:t["owner-id"];return!!Array.isArray(null===(i=s.attributes)||void 0===i?void 0:i["share-types"])||!(!o||o===(null===(r=(0,n.HW)())||void 0===r?void 0:r.uid))||0!=(s.permissions&p.SHARE)},async exec(e,t,i){var n,r;return 0!=(e.permissions&p.READ)?(null===(n=window.OCA)||void 0===n||null===(n=n.Files)||void 0===n||null===(n=n.Sidebar)||void 0===n||null===(r=n.setActiveTab)||void 0===r||r.call(n,"sharing"),ft.exec(e,t,i)):null},inline:()=>!0});c(It),(()=>{const e=E();e.register(new Ue({id:rt,name:(0,Ye.Tl)("files_sharing","Shares"),caption:(0,Ye.Tl)("files_sharing","Overview of shared files."),emptyTitle:(0,Ye.Tl)("files_sharing","No shares"),emptyCaption:(0,Ye.Tl)("files_sharing","Files and folders you shared or have been shared with you will show up here"),icon:Ze,order:20,columns:[],getContents:()=>nt()})),e.register(new Ue({id:st,name:(0,Ye.Tl)("files_sharing","Shared with you"),caption:(0,Ye.Tl)("files_sharing","List of files that are shared with you."),emptyTitle:(0,Ye.Tl)("files_sharing","Nothing shared with you yet"),emptyCaption:(0,Ye.Tl)("files_sharing","Files and folders others shared with you will show up here"),icon:'<svg xmlns="http://www.w3.org/2000/svg" id="mdi-account" viewBox="0 0 24 24"><path d="M12,4A4,4 0 0,1 16,8A4,4 0 0,1 12,12A4,4 0 0,1 8,8A4,4 0 0,1 12,4M12,14C16.42,14 20,15.79 20,18V20H4V18C4,15.79 7.58,14 12,14Z" /></svg>',order:1,parent:rt,columns:[],getContents:()=>nt(!0,!1,!1,!1)})),e.register(new Ue({id:ot,name:(0,Ye.Tl)("files_sharing","Shared with others"),caption:(0,Ye.Tl)("files_sharing","List of files that you shared with others."),emptyTitle:(0,Ye.Tl)("files_sharing","Nothing shared yet"),emptyCaption:(0,Ye.Tl)("files_sharing","Files and folders you shared will show up here"),icon:Ke,order:2,parent:rt,columns:[],getContents:()=>nt(!1,!0,!1,!1)})),e.register(new Ue({id:at,name:(0,Ye.Tl)("files_sharing","Shared by link"),caption:(0,Ye.Tl)("files_sharing","List of files that are shared by link."),emptyTitle:(0,Ye.Tl)("files_sharing","No shared links"),emptyCaption:(0,Ye.Tl)("files_sharing","Files and folders you shared by link will show up here"),icon:ze,order:3,parent:rt,columns:[],getContents:()=>nt(!1,!0,!1,!1,[window.OC.Share.SHARE_TYPE_LINK])})),e.register(new Ue({id:lt,name:(0,Ye.Tl)("files_sharing","Deleted shares"),caption:(0,Ye.Tl)("files_sharing","List of shares you left."),emptyTitle:(0,Ye.Tl)("files_sharing","No deleted shares"),emptyCaption:(0,Ye.Tl)("files_sharing","Shares you have left will show up here"),icon:'<svg xmlns="http://www.w3.org/2000/svg" id="mdi-delete" viewBox="0 0 24 24"><path d="M19,4H15.5L14.5,3H9.5L8.5,4H5V6H19M6,19A2,2 0 0,0 8,21H16A2,2 0 0,0 18,19V7H6V19Z" /></svg>',order:4,parent:rt,columns:[],getContents:()=>nt(!1,!1,!1,!0)})),e.register(new Ue({id:ut,name:(0,Ye.Tl)("files_sharing","Pending shares"),caption:(0,Ye.Tl)("files_sharing","List of unapproved shares."),emptyTitle:(0,Ye.Tl)("files_sharing","No pending shares"),emptyCaption:(0,Ye.Tl)("files_sharing","Shares you have received but not approved will show up here"),icon:'<svg xmlns="http://www.w3.org/2000/svg" id="mdi-account-clock" viewBox="0 0 24 24"><path d="M10.63,14.1C12.23,10.58 16.38,9.03 19.9,10.63C23.42,12.23 24.97,16.38 23.37,19.9C22.24,22.4 19.75,24 17,24C14.3,24 11.83,22.44 10.67,20H1V18C1.06,16.86 1.84,15.93 3.34,15.18C4.84,14.43 6.72,14.04 9,14C9.57,14 10.11,14.05 10.63,14.1V14.1M9,4C10.12,4.03 11.06,4.42 11.81,5.17C12.56,5.92 12.93,6.86 12.93,8C12.93,9.14 12.56,10.08 11.81,10.83C11.06,11.58 10.12,11.95 9,11.95C7.88,11.95 6.94,11.58 6.19,10.83C5.44,10.08 5.07,9.14 5.07,8C5.07,6.86 5.44,5.92 6.19,5.17C6.94,4.42 7.88,4.03 9,4M17,22A5,5 0 0,0 22,17A5,5 0 0,0 17,12A5,5 0 0,0 12,17A5,5 0 0,0 17,22M16,14H17.5V16.82L19.94,18.23L19.19,19.53L16,17.69V14Z" /></svg>',order:5,parent:rt,columns:[],getContents:()=>nt(!1,!1,!0,!1)}))})(),m("nc:share-attributes",{nc:"http://nextcloud.org/ns"}),m("oc:share-types",{oc:"http://owncloud.org/ns"}),m("ocs:share-permissions",{ocs:"http://open-collaboration-services.org/ns"})},8132:(e,t,i)=>{i.d(t,{A:()=>a});var n=i(71354),r=i.n(n),s=i(76314),o=i.n(s)()(r());o.push([e.id,".action-items>.files-list__row-action-sharing-status{direction:rtl;padding-right:0 !important}svg.sharing-status__avatar{height:32px !important;width:32px !important;max-height:32px !important;max-width:32px !important;border-radius:32px;overflow:hidden}","",{version:3,sources:["webpack://./apps/files_sharing/src/actions/sharingStatusAction.scss"],names:[],mappings:"AAsBA,qDAEC,aAAA,CAEG,0BAAA,CAGJ,2BACC,sBAAA,CACA,qBAAA,CACA,0BAAA,CACA,yBAAA,CACA,kBAAA,CACA,eAAA",sourcesContent:["/**\n * @copyright Copyright (c) 2023 John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @author John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @license AGPL-3.0-or-later\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */\n // Only when rendered inline, when not enough space, this is put in the menu\n.action-items > .files-list__row-action-sharing-status {\n\t// put icon at the end of the button\n\tdirection: rtl;\n\t// align icons with textless inline actions\n    padding-right: 0 !important;\n}\n\nsvg.sharing-status__avatar {\n\theight: 32px !important;\n\twidth: 32px !important;\n\tmax-height: 32px !important;\n\tmax-width: 32px !important;\n\tborder-radius: 32px;\n\toverflow: hidden;\n}\n"],sourceRoot:""}]);const a=o}},i={};function n(e){var r=i[e];if(void 0!==r)return r.exports;var s=i[e]={id:e,loaded:!1,exports:{}};return t[e].call(s.exports,s,s.exports,n),s.loaded=!0,s.exports}n.m=t,e=[],n.O=(t,i,r,s)=>{if(!i){var o=1/0;for(d=0;d<e.length;d++){i=e[d][0],r=e[d][1],s=e[d][2];for(var a=!0,l=0;l<i.length;l++)(!1&s||o>=s)&&Object.keys(n.O).every((e=>n.O[e](i[l])))?i.splice(l--,1):(a=!1,s<o&&(o=s));if(a){e.splice(d--,1);var u=r();void 0!==u&&(t=u)}}return t}s=s||0;for(var d=e.length;d>0&&e[d-1][2]>s;d--)e[d]=e[d-1];e[d]=[i,r,s]},n.n=e=>{var t=e&&e.__esModule?()=>e.default:()=>e;return n.d(t,{a:t}),t},n.d=(e,t)=>{for(var i in t)n.o(t,i)&&!n.o(e,i)&&Object.defineProperty(e,i,{enumerable:!0,get:t[i]})},n.e=()=>Promise.resolve(),n.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(e){if("object"==typeof window)return window}}(),n.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),n.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},n.nmd=e=>(e.paths=[],e.children||(e.children=[]),e),n.j=5928,(()=>{n.b=document.baseURI||self.location.href;var e={5928:0};n.O.j=t=>0===e[t];var t=(t,i)=>{var r,s,o=i[0],a=i[1],l=i[2],u=0;if(o.some((t=>0!==e[t]))){for(r in a)n.o(a,r)&&(n.m[r]=a[r]);if(l)var d=l(n)}for(t&&t(i);u<o.length;u++)s=o[u],n.o(e,s)&&e[s]&&e[s][0](),e[s]=0;return n.O(d)},i=self.webpackChunknextcloud=self.webpackChunknextcloud||[];i.forEach(t.bind(null,0)),i.push=t.bind(null,i.push.bind(i))})(),n.nc=void 0;var r=n.O(void 0,[4208],(()=>n(5924)));r=n.O(r)})();
-//# sourceMappingURL=files_sharing-init.js.map?v=ffbd67251ead8a11cd46
\ No newline at end of file
+/*! For license information please see files_sharing-init.js.license?v=606d53cecb3f2aff3207 */
+(()=>{"use strict";var t,e={5924:(t,e,i)=>{var n=i(21777),r=i(84697),s=i(43627),o=i(71089),a=i(63814);i(44719),i(36117),i(2568);const l=null===(d=(0,n.HW)())?(0,r.YK)().setApp("files").build():(0,r.YK)().setApp("files").setUid(d.uid).build();var d,u=(t=>(t.DEFAULT="default",t.HIDDEN="hidden",t))(u||{});class c{_action;constructor(t){this.validateAction(t),this._action=t}get id(){return this._action.id}get displayName(){return this._action.displayName}get title(){return this._action.title}get iconSvgInline(){return this._action.iconSvgInline}get enabled(){return this._action.enabled}get exec(){return this._action.exec}get execBatch(){return this._action.execBatch}get order(){return this._action.order}get parent(){return this._action.parent}get default(){return this._action.default}get inline(){return this._action.inline}get renderInline(){return this._action.renderInline}validateAction(t){if(!t.id||"string"!=typeof t.id)throw new Error("Invalid id");if(!t.displayName||"function"!=typeof t.displayName)throw new Error("Invalid displayName function");if("title"in t&&"function"!=typeof t.title)throw new Error("Invalid title function");if(!t.iconSvgInline||"function"!=typeof t.iconSvgInline)throw new Error("Invalid iconSvgInline function");if(!t.exec||"function"!=typeof t.exec)throw new Error("Invalid exec function");if("enabled"in t&&"function"!=typeof t.enabled)throw new Error("Invalid enabled function");if("execBatch"in t&&"function"!=typeof t.execBatch)throw new Error("Invalid execBatch function");if("order"in t&&"number"!=typeof t.order)throw new Error("Invalid order");if("parent"in t&&"string"!=typeof t.parent)throw new Error("Invalid parent");if(t.default&&!Object.values(u).includes(t.default))throw new Error("Invalid default");if("inline"in t&&"function"!=typeof t.inline)throw new Error("Invalid inline function");if("renderInline"in t&&"function"!=typeof t.renderInline)throw new Error("Invalid renderInline function")}}const h=function(t){void 0===window._nc_fileactions&&(window._nc_fileactions=[],l.debug("FileActions initialized")),window._nc_fileactions.find((e=>e.id===t.id))?l.error(`FileAction ${t.id} already registered`,{action:t}):window._nc_fileactions.push(t)};var p=(t=>(t[t.NONE=0]="NONE",t[t.CREATE=4]="CREATE",t[t.READ=1]="READ",t[t.UPDATE=2]="UPDATE",t[t.DELETE=8]="DELETE",t[t.SHARE=16]="SHARE",t[t.ALL=31]="ALL",t))(p||{});const g=["d:getcontentlength","d:getcontenttype","d:getetag","d:getlastmodified","d:quota-available-bytes","d:resourcetype","nc:has-preview","nc:is-encrypted","nc:mount-type","oc:comments-unread","oc:favorite","oc:fileid","oc:owner-display-name","oc:owner-id","oc:permissions","oc:size"],f={d:"DAV:",nc:"http://nextcloud.org/ns",oc:"http://owncloud.org/ns",ocs:"http://open-collaboration-services.org/ns"},m=function(t,e={nc:"http://nextcloud.org/ns"}){void 0===window._nc_dav_properties&&(window._nc_dav_properties=[...g],window._nc_dav_namespaces={...f});const i={...window._nc_dav_namespaces,...e};return window._nc_dav_properties.find((e=>e===t))?(l.warn(`${t} already registered`,{prop:t}),!1):t.startsWith("<")||2!==t.split(":").length?(l.error(`${t} is not valid. See example: 'oc:fileid'`,{prop:t}),!1):i[t.split(":")[0]]?(window._nc_dav_properties.push(t),window._nc_dav_namespaces=i,!0):(l.error(`${t} namespace unknown`,{prop:t,namespaces:i}),!1)};var w=(t=>(t.Folder="folder",t.File="file",t))(w||{});const v=function(t,e){return null!==t.match(e)},b=(t,e)=>{if(t.id&&"number"!=typeof t.id)throw new Error("Invalid id type of value");if(!t.source)throw new Error("Missing mandatory source");try{new URL(t.source)}catch(t){throw new Error("Invalid source format, source must be a valid URL")}if(!t.source.startsWith("http"))throw new Error("Invalid source format, only http(s) is supported");if(t.mtime&&!(t.mtime instanceof Date))throw new Error("Invalid mtime type");if(t.crtime&&!(t.crtime instanceof Date))throw new Error("Invalid crtime type");if(!t.mime||"string"!=typeof t.mime||!t.mime.match(/^[-\w.]+\/[-+\w.]+$/gi))throw new Error("Missing or invalid mandatory mime");if("size"in t&&"number"!=typeof t.size&&void 0!==t.size)throw new Error("Invalid size type");if("permissions"in t&&void 0!==t.permissions&&!("number"==typeof t.permissions&&t.permissions>=p.NONE&&t.permissions<=p.ALL))throw new Error("Invalid permissions");if(t.owner&&null!==t.owner&&"string"!=typeof t.owner)throw new Error("Invalid owner type");if(t.attributes&&"object"!=typeof t.attributes)throw new Error("Invalid attributes type");if(t.root&&"string"!=typeof t.root)throw new Error("Invalid root type");if(t.root&&!t.root.startsWith("/"))throw new Error("Root must start with a leading slash");if(t.root&&!t.source.includes(t.root))throw new Error("Root must be part of the source");if(t.root&&v(t.source,e)){const i=t.source.match(e)[0];if(!t.source.includes((0,s.join)(i,t.root)))throw new Error("The root must be relative to the service. e.g /files/emma")}if(t.status&&!Object.values(x).includes(t.status))throw new Error("Status must be a valid NodeStatus")};var x=(t=>(t.NEW="new",t.FAILED="failed",t.LOADING="loading",t.LOCKED="locked",t))(x||{});class y{_data;_attributes;_knownDavService=/(remote|public)\.php\/(web)?dav/i;readonlyAttributes=Object.entries(Object.getOwnPropertyDescriptors(y.prototype)).filter((t=>"function"==typeof t[1].get&&"__proto__"!==t[0])).map((t=>t[0]));handler={set:(t,e,i)=>!this.readonlyAttributes.includes(e)&&(this.updateMtime(),Reflect.set(t,e,i)),deleteProperty:(t,e)=>!this.readonlyAttributes.includes(e)&&(this.updateMtime(),Reflect.deleteProperty(t,e)),get:(t,e,i)=>this.readonlyAttributes.includes(e)?(l.warn(`Accessing "Node.attributes.${e}" is deprecated, access it directly on the Node instance.`),Reflect.get(this,e)):Reflect.get(t,e,i)};constructor(t,e){b(t,e||this._knownDavService),this._data={...t,attributes:{}},this._attributes=new Proxy(this._data.attributes,this.handler),this.update(t.attributes??{}),this._data.mtime=t.mtime,e&&(this._knownDavService=e)}get source(){return this._data.source.replace(/\/$/i,"")}get encodedSource(){const{origin:t}=new URL(this.source);return t+(0,o.O0)(this.source.slice(t.length))}get basename(){return(0,s.basename)(this.source)}get extension(){return(0,s.extname)(this.source)}get dirname(){if(this.root){let t=this.source;this.isDavRessource&&(t=t.split(this._knownDavService).pop());const e=t.indexOf(this.root),i=this.root.replace(/\/$/,"");return(0,s.dirname)(t.slice(e+i.length)||"/")}const t=new URL(this.source);return(0,s.dirname)(t.pathname)}get mime(){return this._data.mime}get mtime(){return this._data.mtime}get crtime(){return this._data.crtime}get size(){return this._data.size}set size(t){this.updateMtime(),this._data.size=t}get attributes(){return this._attributes}get permissions(){return null!==this.owner||this.isDavRessource?void 0!==this._data.permissions?this._data.permissions:p.NONE:p.READ}set permissions(t){this.updateMtime(),this._data.permissions=t}get owner(){return this.isDavRessource?this._data.owner:null}get isDavRessource(){return v(this.source,this._knownDavService)}get root(){return this._data.root?this._data.root.replace(/^(.+)\/$/,"$1"):this.isDavRessource&&(0,s.dirname)(this.source).split(this._knownDavService).pop()||null}get path(){if(this.root){let t=this.source;this.isDavRessource&&(t=t.split(this._knownDavService).pop());const e=t.indexOf(this.root),i=this.root.replace(/\/$/,"");return t.slice(e+i.length)||"/"}return(this.dirname+"/"+this.basename).replace(/\/\//g,"/")}get fileid(){return this._data?.id}get status(){return this._data?.status}set status(t){this._data.status=t}move(t){b({...this._data,source:t},this._knownDavService),this._data.source=t,this.updateMtime()}rename(t){if(t.includes("/"))throw new Error("Invalid basename");this.move((0,s.dirname)(this.source)+"/"+t)}updateMtime(){this._data.mtime&&(this._data.mtime=new Date)}update(t){for(const[e,i]of Object.entries(t))try{void 0===i?delete this.attributes[e]:this.attributes[e]=i}catch(t){if(t instanceof TypeError)continue;throw t}}}class _ extends y{get type(){return w.File}}class A extends y{constructor(t){super({...t,mime:"httpd/unix-directory"})}get type(){return w.Folder}get extension(){return null}get mime(){return"httpd/unix-directory"}}(0,a.dC)("dav"),window._oc_config,window._oc_config?.blacklist_files_regex&&new RegExp(window._oc_config.blacklist_files_regex);class E{_views=[];_currentView=null;register(t){if(this._views.find((e=>e.id===t.id)))throw new Error(`View id ${t.id} is already registered`);this._views.push(t)}remove(t){const e=this._views.findIndex((e=>e.id===t));-1!==e&&this._views.splice(e,1)}get views(){return this._views}setActive(t){this._currentView=t}get active(){return this._currentView}}const N=function(){return void 0===window._nc_navigation&&(window._nc_navigation=new E,l.debug("Navigation service initialized")),window._nc_navigation};class T{_column;constructor(t){C(t),this._column=t}get id(){return this._column.id}get title(){return this._column.title}get render(){return this._column.render}get sort(){return this._column.sort}get summary(){return this._column.summary}}const C=function(t){if(!t.id||"string"!=typeof t.id)throw new Error("A column id is required");if(!t.title||"string"!=typeof t.title)throw new Error("A column title is required");if(!t.render||"function"!=typeof t.render)throw new Error("A render function is required");if(t.sort&&"function"!=typeof t.sort)throw new Error("Column sortFunction must be a function");if(t.summary&&"function"!=typeof t.summary)throw new Error("Column summary must be a function");return!0};var O={},I={};!function(t){const e=":A-Za-z_\\u00C0-\\u00D6\\u00D8-\\u00F6\\u00F8-\\u02FF\\u0370-\\u037D\\u037F-\\u1FFF\\u200C-\\u200D\\u2070-\\u218F\\u2C00-\\u2FEF\\u3001-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFFD",i="["+e+"]["+e+"\\-.\\d\\u00B7\\u0300-\\u036F\\u203F-\\u2040]*",n=new RegExp("^"+i+"$");t.isExist=function(t){return void 0!==t},t.isEmptyObject=function(t){return 0===Object.keys(t).length},t.merge=function(t,e,i){if(e){const n=Object.keys(e),r=n.length;for(let s=0;s<r;s++)t[n[s]]="strict"===i?[e[n[s]]]:e[n[s]]}},t.getValue=function(e){return t.isExist(e)?e:""},t.isName=function(t){return!(null==n.exec(t))},t.getAllMatches=function(t,e){const i=[];let n=e.exec(t);for(;n;){const r=[];r.startIndex=e.lastIndex-n[0].length;const s=n.length;for(let t=0;t<s;t++)r.push(n[t]);i.push(r),n=e.exec(t)}return i},t.nameRegexp=i}(I);const P=I,S={allowBooleanAttributes:!1,unpairedTags:[]};function V(t){return" "===t||"\t"===t||"\n"===t||"\r"===t}function L(t,e){const i=e;for(;e<t.length;e++)if("?"!=t[e]&&" "!=t[e]);else{const n=t.substr(i,e-i);if(e>5&&"xml"===n)return B("InvalidXml","XML declaration allowed only at the start of the document.",K(t,e));if("?"==t[e]&&">"==t[e+1]){e++;break}}return e}function D(t,e){if(t.length>e+5&&"-"===t[e+1]&&"-"===t[e+2]){for(e+=3;e<t.length;e++)if("-"===t[e]&&"-"===t[e+1]&&">"===t[e+2]){e+=2;break}}else if(t.length>e+8&&"D"===t[e+1]&&"O"===t[e+2]&&"C"===t[e+3]&&"T"===t[e+4]&&"Y"===t[e+5]&&"P"===t[e+6]&&"E"===t[e+7]){let i=1;for(e+=8;e<t.length;e++)if("<"===t[e])i++;else if(">"===t[e]&&(i--,0===i))break}else if(t.length>e+9&&"["===t[e+1]&&"C"===t[e+2]&&"D"===t[e+3]&&"A"===t[e+4]&&"T"===t[e+5]&&"A"===t[e+6]&&"["===t[e+7])for(e+=8;e<t.length;e++)if("]"===t[e]&&"]"===t[e+1]&&">"===t[e+2]){e+=2;break}return e}O.validate=function(t,e){e=Object.assign({},S,e);const i=[];let n=!1,r=!1;"\ufeff"===t[0]&&(t=t.substr(1));for(let o=0;o<t.length;o++)if("<"===t[o]&&"?"===t[o+1]){if(o+=2,o=L(t,o),o.err)return o}else{if("<"!==t[o]){if(V(t[o]))continue;return B("InvalidChar","char '"+t[o]+"' is not expected.",K(t,o))}{let a=o;if(o++,"!"===t[o]){o=D(t,o);continue}{let l=!1;"/"===t[o]&&(l=!0,o++);let d="";for(;o<t.length&&">"!==t[o]&&" "!==t[o]&&"\t"!==t[o]&&"\n"!==t[o]&&"\r"!==t[o];o++)d+=t[o];if(d=d.trim(),"/"===d[d.length-1]&&(d=d.substring(0,d.length-1),o--),s=d,!P.isName(s)){let e;return e=0===d.trim().length?"Invalid space after '<'.":"Tag '"+d+"' is an invalid name.",B("InvalidTag",e,K(t,o))}const u=M(t,o);if(!1===u)return B("InvalidAttr","Attributes for '"+d+"' have open quote.",K(t,o));let c=u.value;if(o=u.index,"/"===c[c.length-1]){const i=o-c.length;c=c.substring(0,c.length-1);const r=H(c,e);if(!0!==r)return B(r.err.code,r.err.msg,K(t,i+r.err.line));n=!0}else if(l){if(!u.tagClosed)return B("InvalidTag","Closing tag '"+d+"' doesn't have proper closing.",K(t,o));if(c.trim().length>0)return B("InvalidTag","Closing tag '"+d+"' can't have attributes or invalid starting.",K(t,a));if(0===i.length)return B("InvalidTag","Closing tag '"+d+"' has not been opened.",K(t,a));{const e=i.pop();if(d!==e.tagName){let i=K(t,e.tagStartPos);return B("InvalidTag","Expected closing tag '"+e.tagName+"' (opened in line "+i.line+", col "+i.col+") instead of closing tag '"+d+"'.",K(t,a))}0==i.length&&(r=!0)}}else{const s=H(c,e);if(!0!==s)return B(s.err.code,s.err.msg,K(t,o-c.length+s.err.line));if(!0===r)return B("InvalidXml","Multiple possible root nodes found.",K(t,o));-1!==e.unpairedTags.indexOf(d)||i.push({tagName:d,tagStartPos:a}),n=!0}for(o++;o<t.length;o++)if("<"===t[o]){if("!"===t[o+1]){o++,o=D(t,o);continue}if("?"!==t[o+1])break;if(o=L(t,++o),o.err)return o}else if("&"===t[o]){const e=F(t,o);if(-1==e)return B("InvalidChar","char '&' is not expected.",K(t,o));o=e}else if(!0===r&&!V(t[o]))return B("InvalidXml","Extra text at the end",K(t,o));"<"===t[o]&&o--}}}var s;return n?1==i.length?B("InvalidTag","Unclosed tag '"+i[0].tagName+"'.",K(t,i[0].tagStartPos)):!(i.length>0)||B("InvalidXml","Invalid '"+JSON.stringify(i.map((t=>t.tagName)),null,4).replace(/\r?\n/g,"")+"' found.",{line:1,col:1}):B("InvalidXml","Start tag expected.",1)};const k='"',R="'";function M(t,e){let i="",n="",r=!1;for(;e<t.length;e++){if(t[e]===k||t[e]===R)""===n?n=t[e]:n!==t[e]||(n="");else if(">"===t[e]&&""===n){r=!0;break}i+=t[e]}return""===n&&{value:i,index:e,tagClosed:r}}const j=new RegExp("(\\s*)([^\\s=]+)(\\s*=)?(\\s*(['\"])(([\\s\\S])*?)\\5)?","g");function H(t,e){const i=P.getAllMatches(t,j),n={};for(let t=0;t<i.length;t++){if(0===i[t][1].length)return B("InvalidAttr","Attribute '"+i[t][2]+"' has no space in starting.",U(i[t]));if(void 0!==i[t][3]&&void 0===i[t][4])return B("InvalidAttr","Attribute '"+i[t][2]+"' is without value.",U(i[t]));if(void 0===i[t][3]&&!e.allowBooleanAttributes)return B("InvalidAttr","boolean attribute '"+i[t][2]+"' is not allowed.",U(i[t]));const r=i[t][2];if(!$(r))return B("InvalidAttr","Attribute '"+r+"' is an invalid name.",U(i[t]));if(n.hasOwnProperty(r))return B("InvalidAttr","Attribute '"+r+"' is repeated.",U(i[t]));n[r]=1}return!0}function F(t,e){if(";"===t[++e])return-1;if("#"===t[e])return function(t,e){let i=/\d/;for("x"===t[e]&&(e++,i=/[\da-fA-F]/);e<t.length;e++){if(";"===t[e])return e;if(!t[e].match(i))break}return-1}(t,++e);let i=0;for(;e<t.length;e++,i++)if(!(t[e].match(/\w/)&&i<20)){if(";"===t[e])break;return-1}return e}function B(t,e,i){return{err:{code:t,msg:e,line:i.line||i,col:i.col}}}function $(t){return P.isName(t)}function K(t,e){const i=t.substring(0,e).split(/\r?\n/);return{line:i.length,col:i[i.length-1].length+1}}function U(t){return t.startIndex+t[1].length}var Z={};const G={preserveOrder:!1,attributeNamePrefix:"@_",attributesGroupName:!1,textNodeName:"#text",ignoreAttributes:!0,removeNSPrefix:!1,allowBooleanAttributes:!1,parseTagValue:!0,parseAttributeValue:!1,trimValues:!0,cdataPropName:!1,numberParseOptions:{hex:!0,leadingZeros:!0,eNotation:!0},tagValueProcessor:function(t,e){return e},attributeValueProcessor:function(t,e){return e},stopNodes:[],alwaysCreateTextNode:!1,isArray:()=>!1,commentPropName:!1,unpairedTags:[],processEntities:!0,htmlEntities:!1,ignoreDeclaration:!1,ignorePiTags:!1,transformTagName:!1,transformAttributeName:!1,updateTag:function(t,e,i){return t}};Z.buildOptions=function(t){return Object.assign({},G,t)},Z.defaultOptions=G;const z=I;function Y(t,e){let i="";for(;e<t.length&&"'"!==t[e]&&'"'!==t[e];e++)i+=t[e];if(i=i.trim(),-1!==i.indexOf(" "))throw new Error("External entites are not supported");const n=t[e++];let r="";for(;e<t.length&&t[e]!==n;e++)r+=t[e];return[i,r,e]}function q(t,e){return"!"===t[e+1]&&"-"===t[e+2]&&"-"===t[e+3]}function X(t,e){return"!"===t[e+1]&&"E"===t[e+2]&&"N"===t[e+3]&&"T"===t[e+4]&&"I"===t[e+5]&&"T"===t[e+6]&&"Y"===t[e+7]}function W(t,e){return"!"===t[e+1]&&"E"===t[e+2]&&"L"===t[e+3]&&"E"===t[e+4]&&"M"===t[e+5]&&"E"===t[e+6]&&"N"===t[e+7]&&"T"===t[e+8]}function J(t,e){return"!"===t[e+1]&&"A"===t[e+2]&&"T"===t[e+3]&&"T"===t[e+4]&&"L"===t[e+5]&&"I"===t[e+6]&&"S"===t[e+7]&&"T"===t[e+8]}function Q(t,e){return"!"===t[e+1]&&"N"===t[e+2]&&"O"===t[e+3]&&"T"===t[e+4]&&"A"===t[e+5]&&"T"===t[e+6]&&"I"===t[e+7]&&"O"===t[e+8]&&"N"===t[e+9]}function tt(t){if(z.isName(t))return t;throw new Error(`Invalid entity name ${t}`)}const et=/^[-+]?0x[a-fA-F0-9]+$/,it=/^([\-\+])?(0*)(\.[0-9]+([eE]\-?[0-9]+)?|[0-9]+(\.[0-9]+([eE]\-?[0-9]+)?)?)$/;!Number.parseInt&&window.parseInt&&(Number.parseInt=window.parseInt),!Number.parseFloat&&window.parseFloat&&(Number.parseFloat=window.parseFloat);const nt={hex:!0,leadingZeros:!0,decimalPoint:".",eNotation:!0};const rt=I,st=class{constructor(t){this.tagname=t,this.child=[],this[":@"]={}}add(t,e){"__proto__"===t&&(t="#__proto__"),this.child.push({[t]:e})}addChild(t){"__proto__"===t.tagname&&(t.tagname="#__proto__"),t[":@"]&&Object.keys(t[":@"]).length>0?this.child.push({[t.tagname]:t.child,":@":t[":@"]}):this.child.push({[t.tagname]:t.child})}},ot=function(t,e){const i={};if("O"!==t[e+3]||"C"!==t[e+4]||"T"!==t[e+5]||"Y"!==t[e+6]||"P"!==t[e+7]||"E"!==t[e+8])throw new Error("Invalid Tag instead of DOCTYPE");{e+=9;let n=1,r=!1,s=!1,o="";for(;e<t.length;e++)if("<"!==t[e]||s)if(">"===t[e]){if(s?"-"===t[e-1]&&"-"===t[e-2]&&(s=!1,n--):n--,0===n)break}else"["===t[e]?r=!0:o+=t[e];else{if(r&&X(t,e))e+=7,[entityName,val,e]=Y(t,e+1),-1===val.indexOf("&")&&(i[tt(entityName)]={regx:RegExp(`&${entityName};`,"g"),val});else if(r&&W(t,e))e+=8;else if(r&&J(t,e))e+=8;else if(r&&Q(t,e))e+=9;else{if(!q)throw new Error("Invalid DOCTYPE");s=!0}n++,o=""}if(0!==n)throw new Error("Unclosed DOCTYPE")}return{entities:i,i:e}},at=function(t,e={}){if(e=Object.assign({},nt,e),!t||"string"!=typeof t)return t;let i=t.trim();if(void 0!==e.skipLike&&e.skipLike.test(i))return t;if(e.hex&&et.test(i))return Number.parseInt(i,16);{const r=it.exec(i);if(r){const s=r[1],o=r[2];let a=(n=r[3])&&-1!==n.indexOf(".")?("."===(n=n.replace(/0+$/,""))?n="0":"."===n[0]?n="0"+n:"."===n[n.length-1]&&(n=n.substr(0,n.length-1)),n):n;const l=r[4]||r[6];if(!e.leadingZeros&&o.length>0&&s&&"."!==i[2])return t;if(!e.leadingZeros&&o.length>0&&!s&&"."!==i[1])return t;{const n=Number(i),r=""+n;return-1!==r.search(/[eE]/)||l?e.eNotation?n:t:-1!==i.indexOf(".")?"0"===r&&""===a||r===a||s&&r==="-"+a?n:t:o?a===r||s+a===r?n:t:i===r||i===s+r?n:t}}return t}var n};function lt(t){const e=Object.keys(t);for(let i=0;i<e.length;i++){const n=e[i];this.lastEntities[n]={regex:new RegExp("&"+n+";","g"),val:t[n]}}}function dt(t,e,i,n,r,s,o){if(void 0!==t&&(this.options.trimValues&&!n&&(t=t.trim()),t.length>0)){o||(t=this.replaceEntitiesValue(t));const n=this.options.tagValueProcessor(e,t,i,r,s);return null==n?t:typeof n!=typeof t||n!==t?n:this.options.trimValues||t.trim()===t?yt(t,this.options.parseTagValue,this.options.numberParseOptions):t}}function ut(t){if(this.options.removeNSPrefix){const e=t.split(":"),i="/"===t.charAt(0)?"/":"";if("xmlns"===e[0])return"";2===e.length&&(t=i+e[1])}return t}const ct=new RegExp("([^\\s=]+)\\s*(=\\s*(['\"])([\\s\\S]*?)\\3)?","gm");function ht(t,e,i){if(!this.options.ignoreAttributes&&"string"==typeof t){const i=rt.getAllMatches(t,ct),n=i.length,r={};for(let t=0;t<n;t++){const n=this.resolveNameSpace(i[t][1]);let s=i[t][4],o=this.options.attributeNamePrefix+n;if(n.length)if(this.options.transformAttributeName&&(o=this.options.transformAttributeName(o)),"__proto__"===o&&(o="#__proto__"),void 0!==s){this.options.trimValues&&(s=s.trim()),s=this.replaceEntitiesValue(s);const t=this.options.attributeValueProcessor(n,s,e);r[o]=null==t?s:typeof t!=typeof s||t!==s?t:yt(s,this.options.parseAttributeValue,this.options.numberParseOptions)}else this.options.allowBooleanAttributes&&(r[o]=!0)}if(!Object.keys(r).length)return;if(this.options.attributesGroupName){const t={};return t[this.options.attributesGroupName]=r,t}return r}}const pt=function(t){t=t.replace(/\r\n?/g,"\n");const e=new st("!xml");let i=e,n="",r="";for(let s=0;s<t.length;s++)if("<"===t[s])if("/"===t[s+1]){const e=vt(t,">",s,"Closing Tag is not closed.");let o=t.substring(s+2,e).trim();if(this.options.removeNSPrefix){const t=o.indexOf(":");-1!==t&&(o=o.substr(t+1))}this.options.transformTagName&&(o=this.options.transformTagName(o)),i&&(n=this.saveTextToParentTag(n,i,r));const a=r.substring(r.lastIndexOf(".")+1);if(o&&-1!==this.options.unpairedTags.indexOf(o))throw new Error(`Unpaired tag can not be used as closing tag: </${o}>`);let l=0;a&&-1!==this.options.unpairedTags.indexOf(a)?(l=r.lastIndexOf(".",r.lastIndexOf(".")-1),this.tagsNodeStack.pop()):l=r.lastIndexOf("."),r=r.substring(0,l),i=this.tagsNodeStack.pop(),n="",s=e}else if("?"===t[s+1]){let e=bt(t,s,!1,"?>");if(!e)throw new Error("Pi Tag is not closed.");if(n=this.saveTextToParentTag(n,i,r),this.options.ignoreDeclaration&&"?xml"===e.tagName||this.options.ignorePiTags);else{const t=new st(e.tagName);t.add(this.options.textNodeName,""),e.tagName!==e.tagExp&&e.attrExpPresent&&(t[":@"]=this.buildAttributesMap(e.tagExp,r,e.tagName)),this.addChild(i,t,r)}s=e.closeIndex+1}else if("!--"===t.substr(s+1,3)){const e=vt(t,"--\x3e",s+4,"Comment is not closed.");if(this.options.commentPropName){const o=t.substring(s+4,e-2);n=this.saveTextToParentTag(n,i,r),i.add(this.options.commentPropName,[{[this.options.textNodeName]:o}])}s=e}else if("!D"===t.substr(s+1,2)){const e=ot(t,s);this.docTypeEntities=e.entities,s=e.i}else if("!["===t.substr(s+1,2)){const e=vt(t,"]]>",s,"CDATA is not closed.")-2,o=t.substring(s+9,e);n=this.saveTextToParentTag(n,i,r);let a=this.parseTextData(o,i.tagname,r,!0,!1,!0,!0);null==a&&(a=""),this.options.cdataPropName?i.add(this.options.cdataPropName,[{[this.options.textNodeName]:o}]):i.add(this.options.textNodeName,a),s=e+2}else{let o=bt(t,s,this.options.removeNSPrefix),a=o.tagName;const l=o.rawTagName;let d=o.tagExp,u=o.attrExpPresent,c=o.closeIndex;this.options.transformTagName&&(a=this.options.transformTagName(a)),i&&n&&"!xml"!==i.tagname&&(n=this.saveTextToParentTag(n,i,r,!1));const h=i;if(h&&-1!==this.options.unpairedTags.indexOf(h.tagname)&&(i=this.tagsNodeStack.pop(),r=r.substring(0,r.lastIndexOf("."))),a!==e.tagname&&(r+=r?"."+a:a),this.isItStopNode(this.options.stopNodes,r,a)){let e="";if(d.length>0&&d.lastIndexOf("/")===d.length-1)"/"===a[a.length-1]?(a=a.substr(0,a.length-1),r=r.substr(0,r.length-1),d=a):d=d.substr(0,d.length-1),s=o.closeIndex;else if(-1!==this.options.unpairedTags.indexOf(a))s=o.closeIndex;else{const i=this.readStopNodeData(t,l,c+1);if(!i)throw new Error(`Unexpected end of ${l}`);s=i.i,e=i.tagContent}const n=new st(a);a!==d&&u&&(n[":@"]=this.buildAttributesMap(d,r,a)),e&&(e=this.parseTextData(e,a,r,!0,u,!0,!0)),r=r.substr(0,r.lastIndexOf(".")),n.add(this.options.textNodeName,e),this.addChild(i,n,r)}else{if(d.length>0&&d.lastIndexOf("/")===d.length-1){"/"===a[a.length-1]?(a=a.substr(0,a.length-1),r=r.substr(0,r.length-1),d=a):d=d.substr(0,d.length-1),this.options.transformTagName&&(a=this.options.transformTagName(a));const t=new st(a);a!==d&&u&&(t[":@"]=this.buildAttributesMap(d,r,a)),this.addChild(i,t,r),r=r.substr(0,r.lastIndexOf("."))}else{const t=new st(a);this.tagsNodeStack.push(i),a!==d&&u&&(t[":@"]=this.buildAttributesMap(d,r,a)),this.addChild(i,t,r),i=t}n="",s=c}}else n+=t[s];return e.child};function gt(t,e,i){const n=this.options.updateTag(e.tagname,i,e[":@"]);!1===n||("string"==typeof n?(e.tagname=n,t.addChild(e)):t.addChild(e))}const ft=function(t){if(this.options.processEntities){for(let e in this.docTypeEntities){const i=this.docTypeEntities[e];t=t.replace(i.regx,i.val)}for(let e in this.lastEntities){const i=this.lastEntities[e];t=t.replace(i.regex,i.val)}if(this.options.htmlEntities)for(let e in this.htmlEntities){const i=this.htmlEntities[e];t=t.replace(i.regex,i.val)}t=t.replace(this.ampEntity.regex,this.ampEntity.val)}return t};function mt(t,e,i,n){return t&&(void 0===n&&(n=0===Object.keys(e.child).length),void 0!==(t=this.parseTextData(t,e.tagname,i,!1,!!e[":@"]&&0!==Object.keys(e[":@"]).length,n))&&""!==t&&e.add(this.options.textNodeName,t),t=""),t}function wt(t,e,i){const n="*."+i;for(const i in t){const r=t[i];if(n===r||e===r)return!0}return!1}function vt(t,e,i,n){const r=t.indexOf(e,i);if(-1===r)throw new Error(n);return r+e.length-1}function bt(t,e,i,n=">"){const r=function(t,e,i=">"){let n,r="";for(let s=e;s<t.length;s++){let e=t[s];if(n)e===n&&(n="");else if('"'===e||"'"===e)n=e;else if(e===i[0]){if(!i[1])return{data:r,index:s};if(t[s+1]===i[1])return{data:r,index:s}}else"\t"===e&&(e=" ");r+=e}}(t,e+1,n);if(!r)return;let s=r.data;const o=r.index,a=s.search(/\s/);let l=s,d=!0;-1!==a&&(l=s.substring(0,a),s=s.substring(a+1).trimStart());const u=l;if(i){const t=l.indexOf(":");-1!==t&&(l=l.substr(t+1),d=l!==r.data.substr(t+1))}return{tagName:l,tagExp:s,closeIndex:o,attrExpPresent:d,rawTagName:u}}function xt(t,e,i){const n=i;let r=1;for(;i<t.length;i++)if("<"===t[i])if("/"===t[i+1]){const s=vt(t,">",i,`${e} is not closed`);if(t.substring(i+2,s).trim()===e&&(r--,0===r))return{tagContent:t.substring(n,i),i:s};i=s}else if("?"===t[i+1])i=vt(t,"?>",i+1,"StopNode is not closed.");else if("!--"===t.substr(i+1,3))i=vt(t,"--\x3e",i+3,"StopNode is not closed.");else if("!["===t.substr(i+1,2))i=vt(t,"]]>",i,"StopNode is not closed.")-2;else{const n=bt(t,i,">");n&&((n&&n.tagName)===e&&"/"!==n.tagExp[n.tagExp.length-1]&&r++,i=n.closeIndex)}}function yt(t,e,i){if(e&&"string"==typeof t){const e=t.trim();return"true"===e||"false"!==e&&at(t,i)}return rt.isExist(t)?t:""}var _t={};function At(t,e,i){let n;const r={};for(let s=0;s<t.length;s++){const o=t[s],a=Et(o);let l="";if(l=void 0===i?a:i+"."+a,a===e.textNodeName)void 0===n?n=o[a]:n+=""+o[a];else{if(void 0===a)continue;if(o[a]){let t=At(o[a],e,l);const i=Tt(t,e);o[":@"]?Nt(t,o[":@"],l,e):1!==Object.keys(t).length||void 0===t[e.textNodeName]||e.alwaysCreateTextNode?0===Object.keys(t).length&&(e.alwaysCreateTextNode?t[e.textNodeName]="":t=""):t=t[e.textNodeName],void 0!==r[a]&&r.hasOwnProperty(a)?(Array.isArray(r[a])||(r[a]=[r[a]]),r[a].push(t)):e.isArray(a,l,i)?r[a]=[t]:r[a]=t}}}return"string"==typeof n?n.length>0&&(r[e.textNodeName]=n):void 0!==n&&(r[e.textNodeName]=n),r}function Et(t){const e=Object.keys(t);for(let t=0;t<e.length;t++){const i=e[t];if(":@"!==i)return i}}function Nt(t,e,i,n){if(e){const r=Object.keys(e),s=r.length;for(let o=0;o<s;o++){const s=r[o];n.isArray(s,i+"."+s,!0,!0)?t[s]=[e[s]]:t[s]=e[s]}}}function Tt(t,e){const{textNodeName:i}=e,n=Object.keys(t).length;return 0===n||!(1!==n||!t[i]&&"boolean"!=typeof t[i]&&0!==t[i])}_t.prettify=function(t,e){return At(t,e)};const{buildOptions:Ct}=Z,Ot=class{constructor(t){this.options=t,this.currentNode=null,this.tagsNodeStack=[],this.docTypeEntities={},this.lastEntities={apos:{regex:/&(apos|#39|#x27);/g,val:"'"},gt:{regex:/&(gt|#62|#x3E);/g,val:">"},lt:{regex:/&(lt|#60|#x3C);/g,val:"<"},quot:{regex:/&(quot|#34|#x22);/g,val:'"'}},this.ampEntity={regex:/&(amp|#38|#x26);/g,val:"&"},this.htmlEntities={space:{regex:/&(nbsp|#160);/g,val:" "},cent:{regex:/&(cent|#162);/g,val:"¢"},pound:{regex:/&(pound|#163);/g,val:"£"},yen:{regex:/&(yen|#165);/g,val:"¥"},euro:{regex:/&(euro|#8364);/g,val:"€"},copyright:{regex:/&(copy|#169);/g,val:"©"},reg:{regex:/&(reg|#174);/g,val:"®"},inr:{regex:/&(inr|#8377);/g,val:"₹"},num_dec:{regex:/&#([0-9]{1,7});/g,val:(t,e)=>String.fromCharCode(Number.parseInt(e,10))},num_hex:{regex:/&#x([0-9a-fA-F]{1,6});/g,val:(t,e)=>String.fromCharCode(Number.parseInt(e,16))}},this.addExternalEntities=lt,this.parseXml=pt,this.parseTextData=dt,this.resolveNameSpace=ut,this.buildAttributesMap=ht,this.isItStopNode=wt,this.replaceEntitiesValue=ft,this.readStopNodeData=xt,this.saveTextToParentTag=mt,this.addChild=gt}},{prettify:It}=_t,Pt=O;function St(t,e,i,n){let r="",s=!1;for(let o=0;o<t.length;o++){const a=t[o],l=Vt(a);if(void 0===l)continue;let d="";if(d=0===i.length?l:`${i}.${l}`,l===e.textNodeName){let t=a[l];Dt(d,e)||(t=e.tagValueProcessor(l,t),t=kt(t,e)),s&&(r+=n),r+=t,s=!1;continue}if(l===e.cdataPropName){s&&(r+=n),r+=`<![CDATA[${a[l][0][e.textNodeName]}]]>`,s=!1;continue}if(l===e.commentPropName){r+=n+`\x3c!--${a[l][0][e.textNodeName]}--\x3e`,s=!0;continue}if("?"===l[0]){const t=Lt(a[":@"],e),i="?xml"===l?"":n;let o=a[l][0][e.textNodeName];o=0!==o.length?" "+o:"",r+=i+`<${l}${o}${t}?>`,s=!0;continue}let u=n;""!==u&&(u+=e.indentBy);const c=n+`<${l}${Lt(a[":@"],e)}`,h=St(a[l],e,d,u);-1!==e.unpairedTags.indexOf(l)?e.suppressUnpairedNode?r+=c+">":r+=c+"/>":h&&0!==h.length||!e.suppressEmptyNode?h&&h.endsWith(">")?r+=c+`>${h}${n}</${l}>`:(r+=c+">",h&&""!==n&&(h.includes("/>")||h.includes("</"))?r+=n+e.indentBy+h+n:r+=h,r+=`</${l}>`):r+=c+"/>",s=!0}return r}function Vt(t){const e=Object.keys(t);for(let i=0;i<e.length;i++){const n=e[i];if(t.hasOwnProperty(n)&&":@"!==n)return n}}function Lt(t,e){let i="";if(t&&!e.ignoreAttributes)for(let n in t){if(!t.hasOwnProperty(n))continue;let r=e.attributeValueProcessor(n,t[n]);r=kt(r,e),!0===r&&e.suppressBooleanAttributes?i+=` ${n.substr(e.attributeNamePrefix.length)}`:i+=` ${n.substr(e.attributeNamePrefix.length)}="${r}"`}return i}function Dt(t,e){let i=(t=t.substr(0,t.length-e.textNodeName.length-1)).substr(t.lastIndexOf(".")+1);for(let n in e.stopNodes)if(e.stopNodes[n]===t||e.stopNodes[n]==="*."+i)return!0;return!1}function kt(t,e){if(t&&t.length>0&&e.processEntities)for(let i=0;i<e.entities.length;i++){const n=e.entities[i];t=t.replace(n.regex,n.val)}return t}const Rt=function(t,e){let i="";return e.format&&e.indentBy.length>0&&(i="\n"),St(t,e,"",i)},Mt={attributeNamePrefix:"@_",attributesGroupName:!1,textNodeName:"#text",ignoreAttributes:!0,cdataPropName:!1,format:!1,indentBy:"  ",suppressEmptyNode:!1,suppressUnpairedNode:!0,suppressBooleanAttributes:!0,tagValueProcessor:function(t,e){return e},attributeValueProcessor:function(t,e){return e},preserveOrder:!1,commentPropName:!1,unpairedTags:[],entities:[{regex:new RegExp("&","g"),val:"&amp;"},{regex:new RegExp(">","g"),val:"&gt;"},{regex:new RegExp("<","g"),val:"&lt;"},{regex:new RegExp("'","g"),val:"&apos;"},{regex:new RegExp('"',"g"),val:"&quot;"}],processEntities:!0,stopNodes:[],oneListGroup:!1};function jt(t){this.options=Object.assign({},Mt,t),this.options.ignoreAttributes||this.options.attributesGroupName?this.isAttribute=function(){return!1}:(this.attrPrefixLen=this.options.attributeNamePrefix.length,this.isAttribute=Bt),this.processTextOrObjNode=Ht,this.options.format?(this.indentate=Ft,this.tagEndChar=">\n",this.newLine="\n"):(this.indentate=function(){return""},this.tagEndChar=">",this.newLine="")}function Ht(t,e,i){const n=this.j2x(t,i+1);return void 0!==t[this.options.textNodeName]&&1===Object.keys(t).length?this.buildTextValNode(t[this.options.textNodeName],e,n.attrStr,i):this.buildObjectNode(n.val,e,n.attrStr,i)}function Ft(t){return this.options.indentBy.repeat(t)}function Bt(t){return!(!t.startsWith(this.options.attributeNamePrefix)||t===this.options.textNodeName)&&t.substr(this.attrPrefixLen)}jt.prototype.build=function(t){return this.options.preserveOrder?Rt(t,this.options):(Array.isArray(t)&&this.options.arrayNodeName&&this.options.arrayNodeName.length>1&&(t={[this.options.arrayNodeName]:t}),this.j2x(t,0).val)},jt.prototype.j2x=function(t,e){let i="",n="";for(let r in t)if(Object.prototype.hasOwnProperty.call(t,r))if(void 0===t[r])this.isAttribute(r)&&(n+="");else if(null===t[r])this.isAttribute(r)?n+="":"?"===r[0]?n+=this.indentate(e)+"<"+r+"?"+this.tagEndChar:n+=this.indentate(e)+"<"+r+"/"+this.tagEndChar;else if(t[r]instanceof Date)n+=this.buildTextValNode(t[r],r,"",e);else if("object"!=typeof t[r]){const s=this.isAttribute(r);if(s)i+=this.buildAttrPairStr(s,""+t[r]);else if(r===this.options.textNodeName){let e=this.options.tagValueProcessor(r,""+t[r]);n+=this.replaceEntitiesValue(e)}else n+=this.buildTextValNode(t[r],r,"",e)}else if(Array.isArray(t[r])){const i=t[r].length;let s="";for(let o=0;o<i;o++){const i=t[r][o];void 0===i||(null===i?"?"===r[0]?n+=this.indentate(e)+"<"+r+"?"+this.tagEndChar:n+=this.indentate(e)+"<"+r+"/"+this.tagEndChar:"object"==typeof i?this.options.oneListGroup?s+=this.j2x(i,e+1).val:s+=this.processTextOrObjNode(i,r,e):s+=this.buildTextValNode(i,r,"",e))}this.options.oneListGroup&&(s=this.buildObjectNode(s,r,"",e)),n+=s}else if(this.options.attributesGroupName&&r===this.options.attributesGroupName){const e=Object.keys(t[r]),n=e.length;for(let s=0;s<n;s++)i+=this.buildAttrPairStr(e[s],""+t[r][e[s]])}else n+=this.processTextOrObjNode(t[r],r,e);return{attrStr:i,val:n}},jt.prototype.buildAttrPairStr=function(t,e){return e=this.options.attributeValueProcessor(t,""+e),e=this.replaceEntitiesValue(e),this.options.suppressBooleanAttributes&&"true"===e?" "+t:" "+t+'="'+e+'"'},jt.prototype.buildObjectNode=function(t,e,i,n){if(""===t)return"?"===e[0]?this.indentate(n)+"<"+e+i+"?"+this.tagEndChar:this.indentate(n)+"<"+e+i+this.closeTag(e)+this.tagEndChar;{let r="</"+e+this.tagEndChar,s="";return"?"===e[0]&&(s="?",r=""),!i&&""!==i||-1!==t.indexOf("<")?!1!==this.options.commentPropName&&e===this.options.commentPropName&&0===s.length?this.indentate(n)+`\x3c!--${t}--\x3e`+this.newLine:this.indentate(n)+"<"+e+i+s+this.tagEndChar+t+this.indentate(n)+r:this.indentate(n)+"<"+e+i+s+">"+t+r}},jt.prototype.closeTag=function(t){let e="";return-1!==this.options.unpairedTags.indexOf(t)?this.options.suppressUnpairedNode||(e="/"):e=this.options.suppressEmptyNode?"/":`></${t}`,e},jt.prototype.buildTextValNode=function(t,e,i,n){if(!1!==this.options.cdataPropName&&e===this.options.cdataPropName)return this.indentate(n)+`<![CDATA[${t}]]>`+this.newLine;if(!1!==this.options.commentPropName&&e===this.options.commentPropName)return this.indentate(n)+`\x3c!--${t}--\x3e`+this.newLine;if("?"===e[0])return this.indentate(n)+"<"+e+i+"?"+this.tagEndChar;{let r=this.options.tagValueProcessor(e,t);return r=this.replaceEntitiesValue(r),""===r?this.indentate(n)+"<"+e+i+this.closeTag(e)+this.tagEndChar:this.indentate(n)+"<"+e+i+">"+r+"</"+e+this.tagEndChar}},jt.prototype.replaceEntitiesValue=function(t){if(t&&t.length>0&&this.options.processEntities)for(let e=0;e<this.options.entities.length;e++){const i=this.options.entities[e];t=t.replace(i.regex,i.val)}return t};var $t={XMLParser:class{constructor(t){this.externalEntities={},this.options=Ct(t)}parse(t,e){if("string"==typeof t);else{if(!t.toString)throw new Error("XML data is accepted in String or Bytes[] form.");t=t.toString()}if(e){!0===e&&(e={});const i=Pt.validate(t,e);if(!0!==i)throw Error(`${i.err.msg}:${i.err.line}:${i.err.col}`)}const i=new Ot(this.options);i.addExternalEntities(this.externalEntities);const n=i.parseXml(t);return this.options.preserveOrder||void 0===n?n:It(n,this.options)}addEntity(t,e){if(-1!==e.indexOf("&"))throw new Error("Entity value can't have '&'");if(-1!==t.indexOf("&")||-1!==t.indexOf(";"))throw new Error("An entity must be set without '&' and ';'. Eg. use '#xD' for '&#xD;'");if("&"===e)throw new Error("An entity with value '&' is not permitted");this.externalEntities[t]=e}},XMLValidator:O,XMLBuilder:jt};class Kt{_view;constructor(t){Ut(t),this._view=t}get id(){return this._view.id}get name(){return this._view.name}get caption(){return this._view.caption}get emptyTitle(){return this._view.emptyTitle}get emptyCaption(){return this._view.emptyCaption}get getContents(){return this._view.getContents}get icon(){return this._view.icon}set icon(t){this._view.icon=t}get order(){return this._view.order}set order(t){this._view.order=t}get params(){return this._view.params}set params(t){this._view.params=t}get columns(){return this._view.columns}get emptyView(){return this._view.emptyView}get parent(){return this._view.parent}get sticky(){return this._view.sticky}get expanded(){return this._view.expanded}set expanded(t){this._view.expanded=t}get defaultSortKey(){return this._view.defaultSortKey}}const Ut=function(t){if(!t.id||"string"!=typeof t.id)throw new Error("View id is required and must be a string");if(!t.name||"string"!=typeof t.name)throw new Error("View name is required and must be a string");if(t.columns&&t.columns.length>0&&(!t.caption||"string"!=typeof t.caption))throw new Error("View caption is required for top-level views and must be a string");if(!t.getContents||"function"!=typeof t.getContents)throw new Error("View getContents is required and must be a function");if(!t.icon||"string"!=typeof t.icon||!function(t){if("string"!=typeof t)throw new TypeError(`Expected a \`string\`, got \`${typeof t}\``);if(0===(t=t.trim()).length)return!1;if(!0!==$t.XMLValidator.validate(t))return!1;let e;const i=new $t.XMLParser;try{e=i.parse(t)}catch{return!1}return!!e&&!!Object.keys(e).some((t=>"svg"===t.toLowerCase()))}(t.icon))throw new Error("View icon is required and must be a valid svg string");if(!("order"in t)||"number"!=typeof t.order)throw new Error("View order is required and must be a number");if(t.columns&&t.columns.forEach((t=>{if(!(t instanceof T))throw new Error("View columns must be an array of Column. Invalid column found")})),t.emptyView&&"function"!=typeof t.emptyView)throw new Error("View emptyView must be a function");if(t.parent&&"string"!=typeof t.parent)throw new Error("View parent must be a string");if("sticky"in t&&"boolean"!=typeof t.sticky)throw new Error("View sticky must be a boolean");if("expanded"in t&&"boolean"!=typeof t.expanded)throw new Error("View expanded must be a boolean");if(t.defaultSortKey&&"string"!=typeof t.defaultSortKey)throw new Error("View defaultSortKey must be a string");return!0};var Zt=i(53334);const Gt='<svg xmlns="http://www.w3.org/2000/svg" id="mdi-account-group" viewBox="0 0 24 24"><path d="M12,5.5A3.5,3.5 0 0,1 15.5,9A3.5,3.5 0 0,1 12,12.5A3.5,3.5 0 0,1 8.5,9A3.5,3.5 0 0,1 12,5.5M5,8C5.56,8 6.08,8.15 6.53,8.42C6.38,9.85 6.8,11.27 7.66,12.38C7.16,13.34 6.16,14 5,14A3,3 0 0,1 2,11A3,3 0 0,1 5,8M19,8A3,3 0 0,1 22,11A3,3 0 0,1 19,14C17.84,14 16.84,13.34 16.34,12.38C17.2,11.27 17.62,9.85 17.47,8.42C17.92,8.15 18.44,8 19,8M5.5,18.25C5.5,16.18 8.41,14.5 12,14.5C15.59,14.5 18.5,16.18 18.5,18.25V20H5.5V18.25M0,20V18.5C0,17.11 1.89,15.94 4.45,15.6C3.86,16.28 3.5,17.22 3.5,18.25V20H0M24,20H20.5V18.25C20.5,17.22 20.14,16.28 19.55,15.6C22.11,15.94 24,17.11 24,18.5V20Z" /></svg>',zt='<svg xmlns="http://www.w3.org/2000/svg" id="mdi-account-plus" viewBox="0 0 24 24"><path d="M15,14C12.33,14 7,15.33 7,18V20H23V18C23,15.33 17.67,14 15,14M6,10V7H4V10H1V12H4V15H6V12H9V10M15,12A4,4 0 0,0 19,8A4,4 0 0,0 15,4A4,4 0 0,0 11,8A4,4 0 0,0 15,12Z" /></svg>',Yt='<svg xmlns="http://www.w3.org/2000/svg" id="mdi-link" viewBox="0 0 24 24"><path d="M3.9,12C3.9,10.29 5.29,8.9 7,8.9H11V7H7A5,5 0 0,0 2,12A5,5 0 0,0 7,17H11V15.1H7C5.29,15.1 3.9,13.71 3.9,12M8,13H16V11H8V13M17,7H13V8.9H17C18.71,8.9 20.1,10.29 20.1,12C20.1,13.71 18.71,15.1 17,15.1H13V17H17A5,5 0 0,0 22,12A5,5 0 0,0 17,7Z" /></svg>';var qt=i(26287),Xt=i(53529);const Wt=(0,Xt.YK)().setApp("files_sharing").detectUser().build();var Jt;const Qt="/files/".concat(null===(Jt=(0,n.HW)())||void 0===Jt?void 0:Jt.uid),te={"Content-Type":"application/json"},ee=function(t){try{var e;const i="folder"===(null==t?void 0:t.item_type),n=!0===(null==t?void 0:t.has_preview),r=i?A:_,s=t.file_source,o=(null==t?void 0:t.path)||t.file_target,l=(0,a.dC)("dav/".concat(Qt,"/").concat(o).replaceAll(/\/\//gm,"/"));let d=null!=t&&t.item_mtime?new Date(1e3*t.item_mtime):void 0;return(null==t?void 0:t.stime)>((null==t?void 0:t.item_mtime)||0)&&(d=new Date(1e3*t.stime)),new r({id:s,source:l,owner:null==t?void 0:t.uid_owner,mime:null==t?void 0:t.mimetype,mtime:d,size:null==t?void 0:t.item_size,permissions:(null==t?void 0:t.item_permissions)||(null==t?void 0:t.permissions),root:Qt,attributes:{...t,"has-preview":n,"owner-id":null==t?void 0:t.uid_owner,"owner-display-name":null==t?void 0:t.displayname_owner,"share-types":null==t?void 0:t.share_type,favorite:null!=t&&null!==(e=t.tags)&&void 0!==e&&e.includes(window.OC.TAG_FAVORITE)?1:0}})}catch(t){return Wt.error("Error while parsing OCS entry",{error:t}),null}},ie=function(){let t=arguments.length>0&&void 0!==arguments[0]&&arguments[0];const e=(0,a.KT)("apps/files_sharing/api/v1/shares");return qt.A.get(e,{headers:te,params:{shared_with_me:t,include_tags:!0}})},ne=async function(){var t;let e=!(arguments.length>1&&void 0!==arguments[1])||arguments[1],i=arguments.length>2&&void 0!==arguments[2]&&arguments[2],r=arguments.length>3&&void 0!==arguments[3]&&arguments[3],s=arguments.length>4&&void 0!==arguments[4]?arguments[4]:[];const o=[];(!(arguments.length>0&&void 0!==arguments[0])||arguments[0])&&o.push(ie(!0),function(){const t=(0,a.KT)("apps/files_sharing/api/v1/remote_shares");return qt.A.get(t,{headers:te,params:{include_tags:!0}})}()),e&&o.push(ie()),i&&o.push(function(){const t=(0,a.KT)("apps/files_sharing/api/v1/shares/pending");return qt.A.get(t,{headers:te,params:{include_tags:!0}})}(),function(){const t=(0,a.KT)("apps/files_sharing/api/v1/remote_shares/pending");return qt.A.get(t,{headers:te,params:{include_tags:!0}})}()),r&&o.push(function(){const t=(0,a.KT)("apps/files_sharing/api/v1/deletedshares");return qt.A.get(t,{headers:te,params:{include_tags:!0}})}());let l=(await Promise.all(o)).map((t=>t.data.ocs.data)).flat().map(ee).filter((t=>null!==t));var d,u;return s.length>0&&(l=l.filter((t=>{var e;return s.includes(null===(e=t.attributes)||void 0===e?void 0:e.share_type)}))),l=(d=l,u="source",Object.values(d.reduce((function(t,e){return(t[e[u]]=t[e[u]]||[]).push(e),t}),{}))).map((t=>{const e=t[0];return e.attributes["share-types"]=t.map((t=>t.attributes["share-types"])),e})),{folder:new A({id:0,source:(0,a.dC)("dav"+Qt),owner:(null===(t=(0,n.HW)())||void 0===t?void 0:t.uid)||null}),contents:l}},re="shareoverview",se="sharingin",oe="sharingout",ae="sharinglinks",le="deletedshares",de="pendingshares";var ue=i(61338);h(new c({id:"accept-share",displayName:t=>(0,Zt.zw)("files_sharing","Accept share","Accept shares",t.length),iconSvgInline:()=>'<svg xmlns="http://www.w3.org/2000/svg" id="mdi-check" viewBox="0 0 24 24"><path d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z" /></svg>',enabled:(t,e)=>t.length>0&&e.id===de,async exec(t){try{const e=!!t.attributes.remote,i=(0,a.KT)("apps/files_sharing/api/v1/{shareBase}/pending/{id}",{shareBase:e?"remote_shares":"shares",id:t.attributes.id});return await qt.A.post(i),(0,ue.Ic)("files:node:deleted",t),!0}catch(t){return!1}},async execBatch(t,e,i){return Promise.all(t.map((t=>this.exec(t,e,i))))},order:1,inline:()=>!0})),h(new c({id:"open-in-files",displayName:()=>(0,Zt.Tl)("files","Open in Files"),iconSvgInline:()=>"",enabled:(t,e)=>[re,se,oe,ae].includes(e.id),exec:async t=>(window.OCP.Files.Router.goToRoute(null,{view:"files",fileid:t.fileid},{dir:t.dirname}),null),order:-1e3,default:u.HIDDEN})),h(new c({id:"reject-share",displayName:t=>(0,Zt.zw)("files_sharing","Reject share","Reject shares",t.length),iconSvgInline:()=>'<svg xmlns="http://www.w3.org/2000/svg" id="mdi-close" viewBox="0 0 24 24"><path d="M19,6.41L17.59,5L12,10.59L6.41,5L5,6.41L10.59,12L5,17.59L6.41,19L12,13.41L17.59,19L19,17.59L13.41,12L19,6.41Z" /></svg>',enabled:(t,e)=>e.id===de&&0!==t.length&&!t.some((t=>t.attributes.remote_id&&t.attributes.share_type===window.OC.Share.SHARE_TYPE_REMOTE_GROUP)),async exec(t){try{const e=!!t.attributes.remote,i=(0,a.KT)("apps/files_sharing/api/v1/{shareBase}/{id}",{shareBase:e?"remote_shares":"shares",id:t.attributes.id});return await qt.A.delete(i),(0,ue.Ic)("files:node:deleted",t),!0}catch(t){return!1}},async execBatch(t,e,i){return Promise.all(t.map((t=>this.exec(t,e,i))))},order:2,inline:()=>!0})),h(new c({id:"restore-share",displayName:t=>(0,Zt.zw)("files_sharing","Restore share","Restore shares",t.length),iconSvgInline:()=>'<svg xmlns="http://www.w3.org/2000/svg" id="mdi-arrow-u-left-top" viewBox="0 0 24 24"><path d="M20 13.5C20 17.09 17.09 20 13.5 20H6V18H13.5C16 18 18 16 18 13.5S16 9 13.5 9H7.83L10.91 12.09L9.5 13.5L4 8L9.5 2.5L10.92 3.91L7.83 7H13.5C17.09 7 20 9.91 20 13.5Z" /></svg>',enabled:(t,e)=>t.length>0&&e.id===le,async exec(t){try{const e=(0,a.KT)("apps/files_sharing/api/v1/deletedshares/{id}",{id:t.attributes.id});return await qt.A.post(e),(0,ue.Ic)("files:node:deleted",t),!0}catch(t){return!1}},async execBatch(t,e,i){return Promise.all(t.map((t=>this.exec(t,e,i))))},order:1,inline:()=>!0}));var ce=i(52129),he=i(49981);const pe=(0,Xt.YK)().setApp("files").detectUser().build(),ge=new c({id:"details",displayName:()=>(0,Zt.Tl)("files","Open details"),iconSvgInline:()=>he,enabled:t=>{var e,i,n;return 1===t.length&&!!t[0]&&!(null===(e=window)||void 0===e||null===(e=e.OCA)||void 0===e||null===(e=e.Files)||void 0===e||!e.Sidebar)&&null!==(i=(null===(n=t[0].root)||void 0===n?void 0:n.startsWith("/files/"))&&t[0].permissions!==p.NONE)&&void 0!==i&&i},async exec(t,e,i){try{return await window.OCA.Files.Sidebar.open(t.path),window.OCP.Files.Router.goToRoute(null,{view:e.id,fileid:t.fileid},{dir:i},!0),null}catch(t){return pe.error("Error while opening sidebar",{error:t}),!1}},order:-50});var fe=i(85072),me=i.n(fe),we=i(97825),ve=i.n(we),be=i(77659),xe=i.n(be),ye=i(55056),_e=i.n(ye),Ae=i(10540),Ee=i.n(Ae),Ne=i(41113),Te=i.n(Ne),Ce=i(8132),Oe={};Oe.styleTagTransform=Te(),Oe.setAttributes=_e(),Oe.insert=xe().bind(null,"head"),Oe.domAPI=ve(),Oe.insertStyleElement=Ee(),me()(Ce.A,Oe),Ce.A&&Ce.A.locals&&Ce.A.locals;const Ie=new c({id:"sharing-status",displayName(t){var e,i,r;const s=t[0],o=Object.values((null==s||null===(e=s.attributes)||void 0===e?void 0:e["share-types"])||{}).flat(),a=null==s||null===(i=s.attributes)||void 0===i?void 0:i["owner-id"];return o.length>0||a&&a!==(null===(r=(0,n.HW)())||void 0===r?void 0:r.uid)?(0,Zt.Tl)("files_sharing","Shared"):""},title(t){var e,i,r,s;const o=t[0],a=null==o||null===(e=o.attributes)||void 0===e?void 0:e["owner-id"],l=null==o||null===(i=o.attributes)||void 0===i?void 0:i["owner-display-name"];return Array.isArray(null===(r=o.attributes)||void 0===r?void 0:r["share-types"])?(0,Zt.Tl)("files_sharing","Shared multiple times with different people"):a&&a!==(null===(s=(0,n.HW)())||void 0===s?void 0:s.uid)?(0,Zt.Tl)("files_sharing","Shared by {ownerDisplayName}",{ownerDisplayName:l}):(0,Zt.Tl)("files_sharing","Show sharing options")},iconSvgInline(t){var e,i,r,s;const o=t[0],l=Object.values((null==o||null===(e=o.attributes)||void 0===e?void 0:e["share-types"])||{}).flat();if(Array.isArray(null===(i=o.attributes)||void 0===i?void 0:i["share-types"]))return zt;if(l.includes(ce.Z.SHARE_TYPE_LINK)||l.includes(ce.Z.SHARE_TYPE_EMAIL))return Yt;if(l.includes(ce.Z.SHARE_TYPE_GROUP)||l.includes(ce.Z.SHARE_TYPE_REMOTE_GROUP))return Gt;if(l.includes(ce.Z.SHARE_TYPE_CIRCLE))return'<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M12,5.5A3.5,3.5 0 0,1 15.5,9A3.5,3.5 0 0,1 12,12.5A3.5,3.5 0 0,1 8.5,9A3.5,3.5 0 0,1 12,5.5M5,8C5.56,8 6.08,8.15 6.53,8.42C6.38,9.85 6.8,11.27 7.66,12.38C7.16,13.34 6.16,14 5,14A3,3 0 0,1 2,11A3,3 0 0,1 5,8M19,8A3,3 0 0,1 22,11A3,3 0 0,1 19,14C17.84,14 16.84,13.34 16.34,12.38C17.2,11.27 17.62,9.85 17.47,8.42C17.92,8.15 18.44,8 19,8M5.5,18.25C5.5,16.18 8.41,14.5 12,14.5C15.59,14.5 18.5,16.18 18.5,18.25V20H5.5V18.25M0,20V18.5C0,17.11 1.89,15.94 4.45,15.6C3.86,16.28 3.5,17.22 3.5,18.25V20H0M24,20H20.5V18.25C20.5,17.22 20.14,16.28 19.55,15.6C22.11,15.94 24,17.11 24,18.5V20Z" /></svg>';const d=null==o||null===(r=o.attributes)||void 0===r?void 0:r["owner-id"];return d&&d!==(null===(s=(0,n.HW)())||void 0===s?void 0:s.uid)?(t=>{const e=(0,a.Jv)("/avatar/{userId}/32",{userId:t});return'<svg width="32" height="32" viewBox="0 0 32 32"\n\t\txmlns="http://www.w3.org/2000/svg" class="sharing-status__avatar">\n\t\t<image href="'.concat(e,'" height="32" width="32" />\n\t</svg>')})(d):zt},enabled(t){var e,i,r;if(1!==t.length)return!1;const s=t[0],o=null==s||null===(e=s.attributes)||void 0===e?void 0:e["owner-id"];return!!Array.isArray(null===(i=s.attributes)||void 0===i?void 0:i["share-types"])||!(!o||o===(null===(r=(0,n.HW)())||void 0===r?void 0:r.uid))||0!=(s.permissions&p.SHARE)},async exec(t,e,i){var n,r;return 0!=(t.permissions&p.READ)?(null===(n=window.OCA)||void 0===n||null===(n=n.Files)||void 0===n||null===(n=n.Sidebar)||void 0===n||null===(r=n.setActiveTab)||void 0===r||r.call(n,"sharing"),ge.exec(t,e,i)):null},inline:()=>!0});h(Ie),(()=>{const t=N();t.register(new Kt({id:re,name:(0,Zt.Tl)("files_sharing","Shares"),caption:(0,Zt.Tl)("files_sharing","Overview of shared files."),emptyTitle:(0,Zt.Tl)("files_sharing","No shares"),emptyCaption:(0,Zt.Tl)("files_sharing","Files and folders you shared or have been shared with you will show up here"),icon:zt,order:20,columns:[],getContents:()=>ne()})),t.register(new Kt({id:se,name:(0,Zt.Tl)("files_sharing","Shared with you"),caption:(0,Zt.Tl)("files_sharing","List of files that are shared with you."),emptyTitle:(0,Zt.Tl)("files_sharing","Nothing shared with you yet"),emptyCaption:(0,Zt.Tl)("files_sharing","Files and folders others shared with you will show up here"),icon:'<svg xmlns="http://www.w3.org/2000/svg" id="mdi-account" viewBox="0 0 24 24"><path d="M12,4A4,4 0 0,1 16,8A4,4 0 0,1 12,12A4,4 0 0,1 8,8A4,4 0 0,1 12,4M12,14C16.42,14 20,15.79 20,18V20H4V18C4,15.79 7.58,14 12,14Z" /></svg>',order:1,parent:re,columns:[],getContents:()=>ne(!0,!1,!1,!1)})),t.register(new Kt({id:oe,name:(0,Zt.Tl)("files_sharing","Shared with others"),caption:(0,Zt.Tl)("files_sharing","List of files that you shared with others."),emptyTitle:(0,Zt.Tl)("files_sharing","Nothing shared yet"),emptyCaption:(0,Zt.Tl)("files_sharing","Files and folders you shared will show up here"),icon:Gt,order:2,parent:re,columns:[],getContents:()=>ne(!1,!0,!1,!1)})),t.register(new Kt({id:ae,name:(0,Zt.Tl)("files_sharing","Shared by link"),caption:(0,Zt.Tl)("files_sharing","List of files that are shared by link."),emptyTitle:(0,Zt.Tl)("files_sharing","No shared links"),emptyCaption:(0,Zt.Tl)("files_sharing","Files and folders you shared by link will show up here"),icon:Yt,order:3,parent:re,columns:[],getContents:()=>ne(!1,!0,!1,!1,[window.OC.Share.SHARE_TYPE_LINK])})),t.register(new Kt({id:le,name:(0,Zt.Tl)("files_sharing","Deleted shares"),caption:(0,Zt.Tl)("files_sharing","List of shares you left."),emptyTitle:(0,Zt.Tl)("files_sharing","No deleted shares"),emptyCaption:(0,Zt.Tl)("files_sharing","Shares you have left will show up here"),icon:'<svg xmlns="http://www.w3.org/2000/svg" id="mdi-delete" viewBox="0 0 24 24"><path d="M19,4H15.5L14.5,3H9.5L8.5,4H5V6H19M6,19A2,2 0 0,0 8,21H16A2,2 0 0,0 18,19V7H6V19Z" /></svg>',order:4,parent:re,columns:[],getContents:()=>ne(!1,!1,!1,!0)})),t.register(new Kt({id:de,name:(0,Zt.Tl)("files_sharing","Pending shares"),caption:(0,Zt.Tl)("files_sharing","List of unapproved shares."),emptyTitle:(0,Zt.Tl)("files_sharing","No pending shares"),emptyCaption:(0,Zt.Tl)("files_sharing","Shares you have received but not approved will show up here"),icon:'<svg xmlns="http://www.w3.org/2000/svg" id="mdi-account-clock" viewBox="0 0 24 24"><path d="M10.63,14.1C12.23,10.58 16.38,9.03 19.9,10.63C23.42,12.23 24.97,16.38 23.37,19.9C22.24,22.4 19.75,24 17,24C14.3,24 11.83,22.44 10.67,20H1V18C1.06,16.86 1.84,15.93 3.34,15.18C4.84,14.43 6.72,14.04 9,14C9.57,14 10.11,14.05 10.63,14.1V14.1M9,4C10.12,4.03 11.06,4.42 11.81,5.17C12.56,5.92 12.93,6.86 12.93,8C12.93,9.14 12.56,10.08 11.81,10.83C11.06,11.58 10.12,11.95 9,11.95C7.88,11.95 6.94,11.58 6.19,10.83C5.44,10.08 5.07,9.14 5.07,8C5.07,6.86 5.44,5.92 6.19,5.17C6.94,4.42 7.88,4.03 9,4M17,22A5,5 0 0,0 22,17A5,5 0 0,0 17,12A5,5 0 0,0 12,17A5,5 0 0,0 17,22M16,14H17.5V16.82L19.94,18.23L19.19,19.53L16,17.69V14Z" /></svg>',order:5,parent:re,columns:[],getContents:()=>ne(!1,!1,!0,!1)}))})(),m("nc:share-attributes",{nc:"http://nextcloud.org/ns"}),m("oc:share-types",{oc:"http://owncloud.org/ns"}),m("ocs:share-permissions",{ocs:"http://open-collaboration-services.org/ns"})},8132:(t,e,i)=>{i.d(e,{A:()=>a});var n=i(71354),r=i.n(n),s=i(76314),o=i.n(s)()(r());o.push([t.id,".action-items>.files-list__row-action-sharing-status{direction:rtl;padding-right:0 !important}svg.sharing-status__avatar{height:32px !important;width:32px !important;max-height:32px !important;max-width:32px !important;border-radius:32px;overflow:hidden}","",{version:3,sources:["webpack://./apps/files_sharing/src/actions/sharingStatusAction.scss"],names:[],mappings:"AAKA,qDAEC,aAAA,CAEG,0BAAA,CAGJ,2BACC,sBAAA,CACA,qBAAA,CACA,0BAAA,CACA,yBAAA,CACA,kBAAA,CACA,eAAA",sourcesContent:["/**\n * SPDX-FileCopyrightText: 2023 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\n // Only when rendered inline, when not enough space, this is put in the menu\n.action-items > .files-list__row-action-sharing-status {\n\t// put icon at the end of the button\n\tdirection: rtl;\n\t// align icons with textless inline actions\n    padding-right: 0 !important;\n}\n\nsvg.sharing-status__avatar {\n\theight: 32px !important;\n\twidth: 32px !important;\n\tmax-height: 32px !important;\n\tmax-width: 32px !important;\n\tborder-radius: 32px;\n\toverflow: hidden;\n}\n"],sourceRoot:""}]);const a=o}},i={};function n(t){var r=i[t];if(void 0!==r)return r.exports;var s=i[t]={id:t,loaded:!1,exports:{}};return e[t].call(s.exports,s,s.exports,n),s.loaded=!0,s.exports}n.m=e,t=[],n.O=(e,i,r,s)=>{if(!i){var o=1/0;for(u=0;u<t.length;u++){i=t[u][0],r=t[u][1],s=t[u][2];for(var a=!0,l=0;l<i.length;l++)(!1&s||o>=s)&&Object.keys(n.O).every((t=>n.O[t](i[l])))?i.splice(l--,1):(a=!1,s<o&&(o=s));if(a){t.splice(u--,1);var d=r();void 0!==d&&(e=d)}}return e}s=s||0;for(var u=t.length;u>0&&t[u-1][2]>s;u--)t[u]=t[u-1];t[u]=[i,r,s]},n.n=t=>{var e=t&&t.__esModule?()=>t.default:()=>t;return n.d(e,{a:e}),e},n.d=(t,e)=>{for(var i in e)n.o(e,i)&&!n.o(t,i)&&Object.defineProperty(t,i,{enumerable:!0,get:e[i]})},n.e=()=>Promise.resolve(),n.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(t){if("object"==typeof window)return window}}(),n.o=(t,e)=>Object.prototype.hasOwnProperty.call(t,e),n.r=t=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})},n.nmd=t=>(t.paths=[],t.children||(t.children=[]),t),n.j=5928,(()=>{n.b=document.baseURI||self.location.href;var t={5928:0};n.O.j=e=>0===t[e];var e=(e,i)=>{var r,s,o=i[0],a=i[1],l=i[2],d=0;if(o.some((e=>0!==t[e]))){for(r in a)n.o(a,r)&&(n.m[r]=a[r]);if(l)var u=l(n)}for(e&&e(i);d<o.length;d++)s=o[d],n.o(t,s)&&t[s]&&t[s][0](),t[s]=0;return n.O(u)},i=self.webpackChunknextcloud=self.webpackChunknextcloud||[];i.forEach(e.bind(null,0)),i.push=e.bind(null,i.push.bind(i))})(),n.nc=void 0;var r=n.O(void 0,[4208],(()=>n(5924)));r=n.O(r)})();
+//# sourceMappingURL=files_sharing-init.js.map?v=606d53cecb3f2aff3207
\ No newline at end of file
index fc22d0fb5d4f35413387ea2a171d9dc0e621b078..431265c6fa9d9c06ab2e216a8affaf8f00d108de 100644 (file)
  *
  */
 
-/**
- * @copyright Copyright (c) 2019 John Molakvoæ <skjnldsv@protonmail.com>
- *
- * @author John Molakvoæ <skjnldsv@protonmail.com>
- * @author Julius Härtl <jus@bitgrid.net>
- *
- * @license AGPL-3.0-or-later
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU Affero General Public License as
- * published by the Free Software Foundation, either version 3 of the
- * License, or (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU Affero General Public License for more details.
- *
- * You should have received a copy of the GNU Affero General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- *
- */
-
 /**
  * @copyright Copyright (c) 2022 John Molakvoæ <skjnldsv@protonmail.com>
  *
  *
  */
 
+/**
+ * SPDX-FileCopyrightText: 2019 Nextcloud GmbH and Nextcloud contributors
+ * SPDX-License-Identifier: AGPL-3.0-or-later
+ */
+
 /**
  * SPDX-FileCopyrightText: 2022 Nextcloud GmbH and Nextcloud contributors
  * SPDX-License-Identifier: AGPL-3.0-or-later
index 0e4e389e469222f99fad5f5f84a071d51a85a175..ce5f1061b1bfb54656a82677477da0b03c42cfcd 100644 (file)
@@ -1 +1 @@
-{"version":3,"file":"files_sharing-init.js?v=ffbd67251ead8a11cd46","mappings":"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","sources":["webpack:///nextcloud/webpack/runtime/chunk loaded","webpack:///nextcloud/node_modules/@nextcloud/files/dist/index.mjs","webpack:///nextcloud/apps/files_sharing/src/services/logger.ts","webpack:///nextcloud/apps/files_sharing/src/services/SharingService.ts","webpack:///nextcloud/apps/files_sharing/src/views/shares.ts","webpack:///nextcloud/apps/files_sharing/src/actions/acceptShareAction.ts","webpack:///nextcloud/apps/files_sharing/src/actions/openInFilesAction.ts","webpack:///nextcloud/apps/files_sharing/src/actions/rejectShareAction.ts","webpack:///nextcloud/apps/files_sharing/src/actions/restoreShareAction.ts","webpack:///nextcloud/apps/files/src/logger.js","webpack:///nextcloud/apps/files/src/actions/sidebarAction.ts","webpack://nextcloud/./apps/files_sharing/src/actions/sharingStatusAction.scss?3ea7","webpack:///nextcloud/apps/files_sharing/src/actions/sharingStatusAction.ts","webpack:///nextcloud/apps/files_sharing/src/init.ts","webpack:///nextcloud/apps/files_sharing/src/actions/sharingStatusAction.scss","webpack:///nextcloud/webpack/bootstrap","webpack:///nextcloud/webpack/runtime/compat get default export","webpack:///nextcloud/webpack/runtime/define property getters","webpack:///nextcloud/webpack/runtime/ensure chunk","webpack:///nextcloud/webpack/runtime/global","webpack:///nextcloud/webpack/runtime/hasOwnProperty shorthand","webpack:///nextcloud/webpack/runtime/make namespace object","webpack:///nextcloud/webpack/runtime/node module decorator","webpack:///nextcloud/webpack/runtime/runtimeId","webpack:///nextcloud/webpack/runtime/jsonp chunk loading","webpack:///nextcloud/webpack/runtime/nonce","webpack:///nextcloud/webpack/startup"],"sourcesContent":["var deferred = [];\n__webpack_require__.O = (result, chunkIds, fn, priority) => {\n\tif(chunkIds) {\n\t\tpriority = priority || 0;\n\t\tfor(var i = deferred.length; i > 0 && deferred[i - 1][2] > priority; i--) deferred[i] = deferred[i - 1];\n\t\tdeferred[i] = [chunkIds, fn, priority];\n\t\treturn;\n\t}\n\tvar notFulfilled = Infinity;\n\tfor (var i = 0; i < deferred.length; i++) {\n\t\tvar chunkIds = deferred[i][0];\n\t\tvar fn = deferred[i][1];\n\t\tvar priority = deferred[i][2];\n\t\tvar fulfilled = true;\n\t\tfor (var j = 0; j < chunkIds.length; j++) {\n\t\t\tif ((priority & 1 === 0 || notFulfilled >= priority) && Object.keys(__webpack_require__.O).every((key) => (__webpack_require__.O[key](chunkIds[j])))) {\n\t\t\t\tchunkIds.splice(j--, 1);\n\t\t\t} else {\n\t\t\t\tfulfilled = false;\n\t\t\t\tif(priority < notFulfilled) notFulfilled = priority;\n\t\t\t}\n\t\t}\n\t\tif(fulfilled) {\n\t\t\tdeferred.splice(i--, 1)\n\t\t\tvar r = fn();\n\t\t\tif (r !== undefined) result = r;\n\t\t}\n\t}\n\treturn result;\n};","import { getCurrentUser, onRequestTokenUpdate, getRequestToken } from \"@nextcloud/auth\";\nimport { getLoggerBuilder } from \"@nextcloud/logger\";\nimport { join, basename, extname, dirname } from \"path\";\nimport { encodePath } from \"@nextcloud/paths\";\nimport { generateRemoteUrl } from \"@nextcloud/router\";\nimport { createClient, getPatcher } from \"webdav\";\nimport { CancelablePromise } from \"cancelable-promise\";\nimport { getCanonicalLocale, getLanguage } from \"@nextcloud/l10n\";\n/**\n * @copyright 2019 Christoph Wurst <christoph@winzerhof-wurst.at>\n *\n * @author Christoph Wurst <christoph@winzerhof-wurst.at>\n *\n * @license AGPL-3.0-or-later\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */\nconst getLogger = (user) => {\n  if (user === null) {\n    return getLoggerBuilder().setApp(\"files\").build();\n  }\n  return getLoggerBuilder().setApp(\"files\").setUid(user.uid).build();\n};\nconst logger = getLogger(getCurrentUser());\n/**\n * @copyright Copyright (c) 2021 John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @author John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @license AGPL-3.0-or-later\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */\nvar NewMenuEntryCategory = /* @__PURE__ */ ((NewMenuEntryCategory2) => {\n  NewMenuEntryCategory2[NewMenuEntryCategory2[\"UploadFromDevice\"] = 0] = \"UploadFromDevice\";\n  NewMenuEntryCategory2[NewMenuEntryCategory2[\"CreateNew\"] = 1] = \"CreateNew\";\n  NewMenuEntryCategory2[NewMenuEntryCategory2[\"Other\"] = 2] = \"Other\";\n  return NewMenuEntryCategory2;\n})(NewMenuEntryCategory || {});\nclass NewFileMenu {\n  _entries = [];\n  registerEntry(entry) {\n    this.validateEntry(entry);\n    entry.category = entry.category ?? 1;\n    this._entries.push(entry);\n  }\n  unregisterEntry(entry) {\n    const entryIndex = typeof entry === \"string\" ? this.getEntryIndex(entry) : this.getEntryIndex(entry.id);\n    if (entryIndex === -1) {\n      logger.warn(\"Entry not found, nothing removed\", { entry, entries: this.getEntries() });\n      return;\n    }\n    this._entries.splice(entryIndex, 1);\n  }\n  /**\n   * Get the list of registered entries\n   *\n   * @param {Folder} context the creation context. Usually the current folder\n   */\n  getEntries(context) {\n    if (context) {\n      return this._entries.filter((entry) => typeof entry.enabled === \"function\" ? entry.enabled(context) : true);\n    }\n    return this._entries;\n  }\n  getEntryIndex(id) {\n    return this._entries.findIndex((entry) => entry.id === id);\n  }\n  validateEntry(entry) {\n    if (!entry.id || !entry.displayName || !(entry.iconSvgInline || entry.iconClass) || !entry.handler) {\n      throw new Error(\"Invalid entry\");\n    }\n    if (typeof entry.id !== \"string\" || typeof entry.displayName !== \"string\") {\n      throw new Error(\"Invalid id or displayName property\");\n    }\n    if (entry.iconClass && typeof entry.iconClass !== \"string\" || entry.iconSvgInline && typeof entry.iconSvgInline !== \"string\") {\n      throw new Error(\"Invalid icon provided\");\n    }\n    if (entry.enabled !== void 0 && typeof entry.enabled !== \"function\") {\n      throw new Error(\"Invalid enabled property\");\n    }\n    if (typeof entry.handler !== \"function\") {\n      throw new Error(\"Invalid handler property\");\n    }\n    if (\"order\" in entry && typeof entry.order !== \"number\") {\n      throw new Error(\"Invalid order property\");\n    }\n    if (this.getEntryIndex(entry.id) !== -1) {\n      throw new Error(\"Duplicate entry\");\n    }\n  }\n}\nconst getNewFileMenu = function() {\n  if (typeof window._nc_newfilemenu === \"undefined\") {\n    window._nc_newfilemenu = new NewFileMenu();\n    logger.debug(\"NewFileMenu initialized\");\n  }\n  return window._nc_newfilemenu;\n};\n/**\n * @copyright Copyright (c) 2023 John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @author John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @license AGPL-3.0-or-later\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */\nvar DefaultType = /* @__PURE__ */ ((DefaultType2) => {\n  DefaultType2[\"DEFAULT\"] = \"default\";\n  DefaultType2[\"HIDDEN\"] = \"hidden\";\n  return DefaultType2;\n})(DefaultType || {});\nclass FileAction {\n  _action;\n  constructor(action) {\n    this.validateAction(action);\n    this._action = action;\n  }\n  get id() {\n    return this._action.id;\n  }\n  get displayName() {\n    return this._action.displayName;\n  }\n  get title() {\n    return this._action.title;\n  }\n  get iconSvgInline() {\n    return this._action.iconSvgInline;\n  }\n  get enabled() {\n    return this._action.enabled;\n  }\n  get exec() {\n    return this._action.exec;\n  }\n  get execBatch() {\n    return this._action.execBatch;\n  }\n  get order() {\n    return this._action.order;\n  }\n  get parent() {\n    return this._action.parent;\n  }\n  get default() {\n    return this._action.default;\n  }\n  get inline() {\n    return this._action.inline;\n  }\n  get renderInline() {\n    return this._action.renderInline;\n  }\n  validateAction(action) {\n    if (!action.id || typeof action.id !== \"string\") {\n      throw new Error(\"Invalid id\");\n    }\n    if (!action.displayName || typeof action.displayName !== \"function\") {\n      throw new Error(\"Invalid displayName function\");\n    }\n    if (\"title\" in action && typeof action.title !== \"function\") {\n      throw new Error(\"Invalid title function\");\n    }\n    if (!action.iconSvgInline || typeof action.iconSvgInline !== \"function\") {\n      throw new Error(\"Invalid iconSvgInline function\");\n    }\n    if (!action.exec || typeof action.exec !== \"function\") {\n      throw new Error(\"Invalid exec function\");\n    }\n    if (\"enabled\" in action && typeof action.enabled !== \"function\") {\n      throw new Error(\"Invalid enabled function\");\n    }\n    if (\"execBatch\" in action && typeof action.execBatch !== \"function\") {\n      throw new Error(\"Invalid execBatch function\");\n    }\n    if (\"order\" in action && typeof action.order !== \"number\") {\n      throw new Error(\"Invalid order\");\n    }\n    if (\"parent\" in action && typeof action.parent !== \"string\") {\n      throw new Error(\"Invalid parent\");\n    }\n    if (action.default && !Object.values(DefaultType).includes(action.default)) {\n      throw new Error(\"Invalid default\");\n    }\n    if (\"inline\" in action && typeof action.inline !== \"function\") {\n      throw new Error(\"Invalid inline function\");\n    }\n    if (\"renderInline\" in action && typeof action.renderInline !== \"function\") {\n      throw new Error(\"Invalid renderInline function\");\n    }\n  }\n}\nconst registerFileAction = function(action) {\n  if (typeof window._nc_fileactions === \"undefined\") {\n    window._nc_fileactions = [];\n    logger.debug(\"FileActions initialized\");\n  }\n  if (window._nc_fileactions.find((search) => search.id === action.id)) {\n    logger.error(`FileAction ${action.id} already registered`, { action });\n    return;\n  }\n  window._nc_fileactions.push(action);\n};\nconst getFileActions = function() {\n  if (typeof window._nc_fileactions === \"undefined\") {\n    window._nc_fileactions = [];\n    logger.debug(\"FileActions initialized\");\n  }\n  return window._nc_fileactions;\n};\n/**\n * @copyright Copyright (c) 2023 John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @author John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @license AGPL-3.0-or-later\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */\nclass Header {\n  _header;\n  constructor(header) {\n    this.validateHeader(header);\n    this._header = header;\n  }\n  get id() {\n    return this._header.id;\n  }\n  get order() {\n    return this._header.order;\n  }\n  get enabled() {\n    return this._header.enabled;\n  }\n  get render() {\n    return this._header.render;\n  }\n  get updated() {\n    return this._header.updated;\n  }\n  validateHeader(header) {\n    if (!header.id || !header.render || !header.updated) {\n      throw new Error(\"Invalid header: id, render and updated are required\");\n    }\n    if (typeof header.id !== \"string\") {\n      throw new Error(\"Invalid id property\");\n    }\n    if (header.enabled !== void 0 && typeof header.enabled !== \"function\") {\n      throw new Error(\"Invalid enabled property\");\n    }\n    if (header.render && typeof header.render !== \"function\") {\n      throw new Error(\"Invalid render property\");\n    }\n    if (header.updated && typeof header.updated !== \"function\") {\n      throw new Error(\"Invalid updated property\");\n    }\n  }\n}\nconst registerFileListHeaders = function(header) {\n  if (typeof window._nc_filelistheader === \"undefined\") {\n    window._nc_filelistheader = [];\n    logger.debug(\"FileListHeaders initialized\");\n  }\n  if (window._nc_filelistheader.find((search) => search.id === header.id)) {\n    logger.error(`Header ${header.id} already registered`, { header });\n    return;\n  }\n  window._nc_filelistheader.push(header);\n};\nconst getFileListHeaders = function() {\n  if (typeof window._nc_filelistheader === \"undefined\") {\n    window._nc_filelistheader = [];\n    logger.debug(\"FileListHeaders initialized\");\n  }\n  return window._nc_filelistheader;\n};\n/**\n * @copyright Copyright (c) 2022 John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @author John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @license AGPL-3.0-or-later\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */\nvar Permission = /* @__PURE__ */ ((Permission2) => {\n  Permission2[Permission2[\"NONE\"] = 0] = \"NONE\";\n  Permission2[Permission2[\"CREATE\"] = 4] = \"CREATE\";\n  Permission2[Permission2[\"READ\"] = 1] = \"READ\";\n  Permission2[Permission2[\"UPDATE\"] = 2] = \"UPDATE\";\n  Permission2[Permission2[\"DELETE\"] = 8] = \"DELETE\";\n  Permission2[Permission2[\"SHARE\"] = 16] = \"SHARE\";\n  Permission2[Permission2[\"ALL\"] = 31] = \"ALL\";\n  return Permission2;\n})(Permission || {});\n/**\n * @copyright Copyright (c) 2023 John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @author John Molakvoæ <skjnldsv@protonmail.com>\n * @author Ferdinand Thiessen <opensource@fthiessen.de>\n *\n * @license AGPL-3.0-or-later\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */\nconst defaultDavProperties = [\n  \"d:getcontentlength\",\n  \"d:getcontenttype\",\n  \"d:getetag\",\n  \"d:getlastmodified\",\n  \"d:quota-available-bytes\",\n  \"d:resourcetype\",\n  \"nc:has-preview\",\n  \"nc:is-encrypted\",\n  \"nc:mount-type\",\n  \"oc:comments-unread\",\n  \"oc:favorite\",\n  \"oc:fileid\",\n  \"oc:owner-display-name\",\n  \"oc:owner-id\",\n  \"oc:permissions\",\n  \"oc:size\"\n];\nconst defaultDavNamespaces = {\n  d: \"DAV:\",\n  nc: \"http://nextcloud.org/ns\",\n  oc: \"http://owncloud.org/ns\",\n  ocs: \"http://open-collaboration-services.org/ns\"\n};\nconst registerDavProperty = function(prop, namespace = { nc: \"http://nextcloud.org/ns\" }) {\n  if (typeof window._nc_dav_properties === \"undefined\") {\n    window._nc_dav_properties = [...defaultDavProperties];\n    window._nc_dav_namespaces = { ...defaultDavNamespaces };\n  }\n  const namespaces = { ...window._nc_dav_namespaces, ...namespace };\n  if (window._nc_dav_properties.find((search) => search === prop)) {\n    logger.warn(`${prop} already registered`, { prop });\n    return false;\n  }\n  if (prop.startsWith(\"<\") || prop.split(\":\").length !== 2) {\n    logger.error(`${prop} is not valid. See example: 'oc:fileid'`, { prop });\n    return false;\n  }\n  const ns = prop.split(\":\")[0];\n  if (!namespaces[ns]) {\n    logger.error(`${prop} namespace unknown`, { prop, namespaces });\n    return false;\n  }\n  window._nc_dav_properties.push(prop);\n  window._nc_dav_namespaces = namespaces;\n  return true;\n};\nconst getDavProperties = function() {\n  if (typeof window._nc_dav_properties === \"undefined\") {\n    window._nc_dav_properties = [...defaultDavProperties];\n  }\n  return window._nc_dav_properties.map((prop) => `<${prop} />`).join(\" \");\n};\nconst getDavNameSpaces = function() {\n  if (typeof window._nc_dav_namespaces === \"undefined\") {\n    window._nc_dav_namespaces = { ...defaultDavNamespaces };\n  }\n  return Object.keys(window._nc_dav_namespaces).map((ns) => `xmlns:${ns}=\"${window._nc_dav_namespaces?.[ns]}\"`).join(\" \");\n};\nconst davGetDefaultPropfind = function() {\n  return `<?xml version=\"1.0\"?>\n\t\t<d:propfind ${getDavNameSpaces()}>\n\t\t\t<d:prop>\n\t\t\t\t${getDavProperties()}\n\t\t\t</d:prop>\n\t\t</d:propfind>`;\n};\nconst davGetFavoritesReport = function() {\n  return `<?xml version=\"1.0\"?>\n\t\t<oc:filter-files ${getDavNameSpaces()}>\n\t\t\t<d:prop>\n\t\t\t\t${getDavProperties()}\n\t\t\t</d:prop>\n\t\t\t<oc:filter-rules>\n\t\t\t\t<oc:favorite>1</oc:favorite>\n\t\t\t</oc:filter-rules>\n\t\t</oc:filter-files>`;\n};\nconst davGetRecentSearch = function(lastModified) {\n  return `<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<d:searchrequest ${getDavNameSpaces()}\n\txmlns:ns=\"https://github.com/icewind1991/SearchDAV/ns\">\n\t<d:basicsearch>\n\t\t<d:select>\n\t\t\t<d:prop>\n\t\t\t\t${getDavProperties()}\n\t\t\t</d:prop>\n\t\t</d:select>\n\t\t<d:from>\n\t\t\t<d:scope>\n\t\t\t\t<d:href>/files/${getCurrentUser()?.uid}/</d:href>\n\t\t\t\t<d:depth>infinity</d:depth>\n\t\t\t</d:scope>\n\t\t</d:from>\n\t\t<d:where>\n\t\t\t<d:and>\n\t\t\t\t<d:or>\n\t\t\t\t\t<d:not>\n\t\t\t\t\t\t<d:eq>\n\t\t\t\t\t\t\t<d:prop>\n\t\t\t\t\t\t\t\t<d:getcontenttype/>\n\t\t\t\t\t\t\t</d:prop>\n\t\t\t\t\t\t\t<d:literal>httpd/unix-directory</d:literal>\n\t\t\t\t\t\t</d:eq>\n\t\t\t\t\t</d:not>\n\t\t\t\t\t<d:eq>\n\t\t\t\t\t\t<d:prop>\n\t\t\t\t\t\t\t<oc:size/>\n\t\t\t\t\t\t</d:prop>\n\t\t\t\t\t\t<d:literal>0</d:literal>\n\t\t\t\t\t</d:eq>\n\t\t\t\t</d:or>\n\t\t\t\t<d:gt>\n\t\t\t\t\t<d:prop>\n\t\t\t\t\t\t<d:getlastmodified/>\n\t\t\t\t\t</d:prop>\n\t\t\t\t\t<d:literal>${lastModified}</d:literal>\n\t\t\t\t</d:gt>\n\t\t\t</d:and>\n\t\t</d:where>\n\t\t<d:orderby>\n\t\t\t<d:order>\n\t\t\t\t<d:prop>\n\t\t\t\t\t<d:getlastmodified/>\n\t\t\t\t</d:prop>\n\t\t\t\t<d:descending/>\n\t\t\t</d:order>\n\t\t</d:orderby>\n\t\t<d:limit>\n\t\t\t<d:nresults>100</d:nresults>\n\t\t\t<ns:firstresult>0</ns:firstresult>\n\t\t</d:limit>\n\t</d:basicsearch>\n</d:searchrequest>`;\n};\n/**\n * @copyright Copyright (c) 2023 John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @author John Molakvoæ <skjnldsv@protonmail.com>\n * @author Ferdinand Thiessen <opensource@fthiessen.de>\n *\n * @license AGPL-3.0-or-later\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */\nconst davParsePermissions = function(permString = \"\") {\n  let permissions = Permission.NONE;\n  if (!permString) {\n    return permissions;\n  }\n  if (permString.includes(\"C\") || permString.includes(\"K\")) {\n    permissions |= Permission.CREATE;\n  }\n  if (permString.includes(\"G\")) {\n    permissions |= Permission.READ;\n  }\n  if (permString.includes(\"W\") || permString.includes(\"N\") || permString.includes(\"V\")) {\n    permissions |= Permission.UPDATE;\n  }\n  if (permString.includes(\"D\")) {\n    permissions |= Permission.DELETE;\n  }\n  if (permString.includes(\"R\")) {\n    permissions |= Permission.SHARE;\n  }\n  return permissions;\n};\n/**\n * @copyright Copyright (c) 2022 John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @author John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @license AGPL-3.0-or-later\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */\nvar FileType = /* @__PURE__ */ ((FileType2) => {\n  FileType2[\"Folder\"] = \"folder\";\n  FileType2[\"File\"] = \"file\";\n  return FileType2;\n})(FileType || {});\n/**\n * @copyright Copyright (c) 2022 John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @author John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @license AGPL-3.0-or-later\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */\nconst isDavRessource = function(source, davService) {\n  return source.match(davService) !== null;\n};\nconst validateData = (data, davService) => {\n  if (data.id && typeof data.id !== \"number\") {\n    throw new Error(\"Invalid id type of value\");\n  }\n  if (!data.source) {\n    throw new Error(\"Missing mandatory source\");\n  }\n  try {\n    new URL(data.source);\n  } catch (e) {\n    throw new Error(\"Invalid source format, source must be a valid URL\");\n  }\n  if (!data.source.startsWith(\"http\")) {\n    throw new Error(\"Invalid source format, only http(s) is supported\");\n  }\n  if (data.mtime && !(data.mtime instanceof Date)) {\n    throw new Error(\"Invalid mtime type\");\n  }\n  if (data.crtime && !(data.crtime instanceof Date)) {\n    throw new Error(\"Invalid crtime type\");\n  }\n  if (!data.mime || typeof data.mime !== \"string\" || !data.mime.match(/^[-\\w.]+\\/[-+\\w.]+$/gi)) {\n    throw new Error(\"Missing or invalid mandatory mime\");\n  }\n  if (\"size\" in data && typeof data.size !== \"number\" && data.size !== void 0) {\n    throw new Error(\"Invalid size type\");\n  }\n  if (\"permissions\" in data && data.permissions !== void 0 && !(typeof data.permissions === \"number\" && data.permissions >= Permission.NONE && data.permissions <= Permission.ALL)) {\n    throw new Error(\"Invalid permissions\");\n  }\n  if (data.owner && data.owner !== null && typeof data.owner !== \"string\") {\n    throw new Error(\"Invalid owner type\");\n  }\n  if (data.attributes && typeof data.attributes !== \"object\") {\n    throw new Error(\"Invalid attributes type\");\n  }\n  if (data.root && typeof data.root !== \"string\") {\n    throw new Error(\"Invalid root type\");\n  }\n  if (data.root && !data.root.startsWith(\"/\")) {\n    throw new Error(\"Root must start with a leading slash\");\n  }\n  if (data.root && !data.source.includes(data.root)) {\n    throw new Error(\"Root must be part of the source\");\n  }\n  if (data.root && isDavRessource(data.source, davService)) {\n    const service = data.source.match(davService)[0];\n    if (!data.source.includes(join(service, data.root))) {\n      throw new Error(\"The root must be relative to the service. e.g /files/emma\");\n    }\n  }\n  if (data.status && !Object.values(NodeStatus).includes(data.status)) {\n    throw new Error(\"Status must be a valid NodeStatus\");\n  }\n};\n/**\n * @copyright Copyright (c) 2022 John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @author John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @license AGPL-3.0-or-later\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */\nvar NodeStatus = /* @__PURE__ */ ((NodeStatus2) => {\n  NodeStatus2[\"NEW\"] = \"new\";\n  NodeStatus2[\"FAILED\"] = \"failed\";\n  NodeStatus2[\"LOADING\"] = \"loading\";\n  NodeStatus2[\"LOCKED\"] = \"locked\";\n  return NodeStatus2;\n})(NodeStatus || {});\nclass Node {\n  _data;\n  _attributes;\n  _knownDavService = /(remote|public)\\.php\\/(web)?dav/i;\n  readonlyAttributes = Object.entries(Object.getOwnPropertyDescriptors(Node.prototype)).filter((e) => typeof e[1].get === \"function\" && e[0] !== \"__proto__\").map((e) => e[0]);\n  handler = {\n    set: (target, prop, value) => {\n      if (this.readonlyAttributes.includes(prop)) {\n        return false;\n      }\n      this.updateMtime();\n      return Reflect.set(target, prop, value);\n    },\n    deleteProperty: (target, prop) => {\n      if (this.readonlyAttributes.includes(prop)) {\n        return false;\n      }\n      this.updateMtime();\n      return Reflect.deleteProperty(target, prop);\n    },\n    // TODO: This is deprecated and only needed for files v3\n    get: (target, prop, receiver) => {\n      if (this.readonlyAttributes.includes(prop)) {\n        logger.warn(`Accessing \"Node.attributes.${prop}\" is deprecated, access it directly on the Node instance.`);\n        return Reflect.get(this, prop);\n      }\n      return Reflect.get(target, prop, receiver);\n    }\n  };\n  constructor(data, davService) {\n    validateData(data, davService || this._knownDavService);\n    this._data = { ...data, attributes: {} };\n    this._attributes = new Proxy(this._data.attributes, this.handler);\n    this.update(data.attributes ?? {});\n    this._data.mtime = data.mtime;\n    if (davService) {\n      this._knownDavService = davService;\n    }\n  }\n  /**\n   * Get the source url to this object\n   * There is no setter as the source is not meant to be changed manually.\n   * You can use the rename or move method to change the source.\n   */\n  get source() {\n    return this._data.source.replace(/\\/$/i, \"\");\n  }\n  /**\n   * Get the encoded source url to this object for requests purposes\n   */\n  get encodedSource() {\n    const { origin } = new URL(this.source);\n    return origin + encodePath(this.source.slice(origin.length));\n  }\n  /**\n   * Get this object name\n   * There is no setter as the source is not meant to be changed manually.\n   * You can use the rename or move method to change the source.\n   */\n  get basename() {\n    return basename(this.source);\n  }\n  /**\n   * Get this object's extension\n   * There is no setter as the source is not meant to be changed manually.\n   * You can use the rename or move method to change the source.\n   */\n  get extension() {\n    return extname(this.source);\n  }\n  /**\n   * Get the directory path leading to this object\n   * Will use the relative path to root if available\n   *\n   * There is no setter as the source is not meant to be changed manually.\n   * You can use the rename or move method to change the source.\n   */\n  get dirname() {\n    if (this.root) {\n      let source = this.source;\n      if (this.isDavRessource) {\n        source = source.split(this._knownDavService).pop();\n      }\n      const firstMatch = source.indexOf(this.root);\n      const root = this.root.replace(/\\/$/, \"\");\n      return dirname(source.slice(firstMatch + root.length) || \"/\");\n    }\n    const url = new URL(this.source);\n    return dirname(url.pathname);\n  }\n  /**\n   * Get the file mime\n   * There is no setter as the mime is not meant to be changed\n   */\n  get mime() {\n    return this._data.mime;\n  }\n  /**\n   * Get the file modification time\n   * There is no setter as the modification time is not meant to be changed manually.\n   * It will be automatically updated when the attributes are changed.\n   */\n  get mtime() {\n    return this._data.mtime;\n  }\n  /**\n   * Get the file creation time\n   * There is no setter as the creation time is not meant to be changed\n   */\n  get crtime() {\n    return this._data.crtime;\n  }\n  /**\n   * Get the file size\n   */\n  get size() {\n    return this._data.size;\n  }\n  /**\n   * Set the file size\n   */\n  set size(size) {\n    this.updateMtime();\n    this._data.size = size;\n  }\n  /**\n   * Get the file attribute\n   * This contains all additional attributes not provided by the Node class\n   */\n  get attributes() {\n    return this._attributes;\n  }\n  /**\n   * Get the file permissions\n   */\n  get permissions() {\n    if (this.owner === null && !this.isDavRessource) {\n      return Permission.READ;\n    }\n    return this._data.permissions !== void 0 ? this._data.permissions : Permission.NONE;\n  }\n  /**\n   * Set the file permissions\n   */\n  set permissions(permissions) {\n    this.updateMtime();\n    this._data.permissions = permissions;\n  }\n  /**\n   * Get the file owner\n   * There is no setter as the owner is not meant to be changed\n   */\n  get owner() {\n    if (!this.isDavRessource) {\n      return null;\n    }\n    return this._data.owner;\n  }\n  /**\n   * Is this a dav-related ressource ?\n   */\n  get isDavRessource() {\n    return isDavRessource(this.source, this._knownDavService);\n  }\n  /**\n   * Get the dav root of this object\n   * There is no setter as the root is not meant to be changed\n   */\n  get root() {\n    if (this._data.root) {\n      return this._data.root.replace(/^(.+)\\/$/, \"$1\");\n    }\n    if (this.isDavRessource) {\n      const root = dirname(this.source);\n      return root.split(this._knownDavService).pop() || null;\n    }\n    return null;\n  }\n  /**\n   * Get the absolute path of this object relative to the root\n   */\n  get path() {\n    if (this.root) {\n      let source = this.source;\n      if (this.isDavRessource) {\n        source = source.split(this._knownDavService).pop();\n      }\n      const firstMatch = source.indexOf(this.root);\n      const root = this.root.replace(/\\/$/, \"\");\n      return source.slice(firstMatch + root.length) || \"/\";\n    }\n    return (this.dirname + \"/\" + this.basename).replace(/\\/\\//g, \"/\");\n  }\n  /**\n   * Get the node id if defined.\n   * There is no setter as the fileid is not meant to be changed\n   */\n  get fileid() {\n    return this._data?.id;\n  }\n  /**\n   * Get the node status.\n   */\n  get status() {\n    return this._data?.status;\n  }\n  /**\n   * Set the node status.\n   */\n  set status(status) {\n    this._data.status = status;\n  }\n  /**\n   * Move the node to a new destination\n   *\n   * @param {string} destination the new source.\n   * e.g. https://cloud.domain.com/remote.php/dav/files/emma/Photos/picture.jpg\n   */\n  move(destination) {\n    validateData({ ...this._data, source: destination }, this._knownDavService);\n    this._data.source = destination;\n    this.updateMtime();\n  }\n  /**\n   * Rename the node\n   * This aliases the move method for easier usage\n   *\n   * @param basename The new name of the node\n   */\n  rename(basename2) {\n    if (basename2.includes(\"/\")) {\n      throw new Error(\"Invalid basename\");\n    }\n    this.move(dirname(this.source) + \"/\" + basename2);\n  }\n  /**\n   * Update the mtime if exists.\n   */\n  updateMtime() {\n    if (this._data.mtime) {\n      this._data.mtime = /* @__PURE__ */ new Date();\n    }\n  }\n  /**\n   * Update the attributes of the node\n   *\n   * @param attributes The new attributes to update on the Node attributes\n   */\n  update(attributes) {\n    for (const [name, value] of Object.entries(attributes)) {\n      try {\n        if (value === void 0) {\n          delete this.attributes[name];\n        } else {\n          this.attributes[name] = value;\n        }\n      } catch (e) {\n        if (e instanceof TypeError) {\n          continue;\n        }\n        throw e;\n      }\n    }\n  }\n}\n/**\n * @copyright Copyright (c) 2022 John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @author John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @license AGPL-3.0-or-later\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */\nclass File extends Node {\n  get type() {\n    return FileType.File;\n  }\n}\n/**\n * @copyright Copyright (c) 2022 John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @author John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @license AGPL-3.0-or-later\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */\nclass Folder extends Node {\n  constructor(data) {\n    super({\n      ...data,\n      mime: \"httpd/unix-directory\"\n    });\n  }\n  get type() {\n    return FileType.Folder;\n  }\n  get extension() {\n    return null;\n  }\n  get mime() {\n    return \"httpd/unix-directory\";\n  }\n}\n/**\n * @copyright Copyright (c) 2023 John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @author John Molakvoæ <skjnldsv@protonmail.com>\n * @author Ferdinand Thiessen <opensource@fthiessen.de>\n *\n * @license AGPL-3.0-or-later\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */\nconst davRootPath = `/files/${getCurrentUser()?.uid}`;\nconst davRemoteURL = generateRemoteUrl(\"dav\");\nconst davGetClient = function(remoteURL = davRemoteURL, headers = {}) {\n  const client = createClient(remoteURL, { headers });\n  function setHeaders(token) {\n    client.setHeaders({\n      ...headers,\n      // Add this so the server knows it is an request from the browser\n      \"X-Requested-With\": \"XMLHttpRequest\",\n      // Inject user auth\n      requesttoken: token ?? \"\"\n    });\n  }\n  onRequestTokenUpdate(setHeaders);\n  setHeaders(getRequestToken());\n  const patcher = getPatcher();\n  patcher.patch(\"fetch\", (url, options) => {\n    const headers2 = options.headers;\n    if (headers2?.method) {\n      options.method = headers2.method;\n      delete headers2.method;\n    }\n    return fetch(url, options);\n  });\n  return client;\n};\nconst getFavoriteNodes = (davClient, path = \"/\", davRoot = davRootPath) => {\n  const controller = new AbortController();\n  return new CancelablePromise(async (resolve, reject, onCancel) => {\n    onCancel(() => controller.abort());\n    try {\n      const contentsResponse = await davClient.getDirectoryContents(`${davRoot}${path}`, {\n        signal: controller.signal,\n        details: true,\n        data: davGetFavoritesReport(),\n        headers: {\n          // see davGetClient for patched webdav client\n          method: \"REPORT\"\n        },\n        includeSelf: true\n      });\n      const nodes = contentsResponse.data.filter((node) => node.filename !== path).map((result) => davResultToNode(result, davRoot));\n      resolve(nodes);\n    } catch (error) {\n      reject(error);\n    }\n  });\n};\nconst davResultToNode = function(node, filesRoot = davRootPath, remoteURL = davRemoteURL) {\n  let userId = getCurrentUser()?.uid;\n  const isPublic = document.querySelector(\"input#isPublic\")?.value;\n  if (isPublic) {\n    userId = userId ?? document.querySelector(\"input#sharingUserId\")?.value;\n    userId = userId ?? \"anonymous\";\n  } else if (!userId) {\n    throw new Error(\"No user id found\");\n  }\n  const props = node.props;\n  const permissions = davParsePermissions(props?.permissions);\n  const owner = String(props?.[\"owner-id\"] || userId);\n  const nodeData = {\n    id: props?.fileid || 0,\n    source: `${remoteURL}${node.filename}`,\n    mtime: new Date(Date.parse(node.lastmod)),\n    mime: node.mime || \"application/octet-stream\",\n    size: props?.size || Number.parseInt(props.getcontentlength || \"0\"),\n    permissions,\n    owner,\n    root: filesRoot,\n    attributes: {\n      ...node,\n      ...props,\n      hasPreview: props?.[\"has-preview\"]\n    }\n  };\n  delete nodeData.attributes?.props;\n  return node.type === \"file\" ? new File(nodeData) : new Folder(nodeData);\n};\nconst forbiddenCharacters = window._oc_config?.forbidden_filenames_characters ?? [\"/\", \"\\\\\"];\nconst forbiddenFilenameRegex = window._oc_config?.blacklist_files_regex ? new RegExp(window._oc_config.blacklist_files_regex) : null;\nfunction isFilenameValid(filename) {\n  if (forbiddenCharacters.some((character) => filename.includes(character))) {\n    return false;\n  }\n  if (forbiddenFilenameRegex !== null && filename.match(forbiddenFilenameRegex)) {\n    return false;\n  }\n  return true;\n}\n/**\n * @copyright 2019 Christoph Wurst <christoph@winzerhof-wurst.at>\n *\n * @author Christoph Wurst <christoph@winzerhof-wurst.at>\n * @author John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @license AGPL-3.0-or-later\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */\nconst humanList = [\"B\", \"KB\", \"MB\", \"GB\", \"TB\", \"PB\"];\nconst humanListBinary = [\"B\", \"KiB\", \"MiB\", \"GiB\", \"TiB\", \"PiB\"];\nfunction formatFileSize(size, skipSmallSizes = false, binaryPrefixes = false, base1000 = false) {\n  binaryPrefixes = binaryPrefixes && !base1000;\n  if (typeof size === \"string\") {\n    size = Number(size);\n  }\n  let order = size > 0 ? Math.floor(Math.log(size) / Math.log(base1000 ? 1e3 : 1024)) : 0;\n  order = Math.min((binaryPrefixes ? humanListBinary.length : humanList.length) - 1, order);\n  const readableFormat = binaryPrefixes ? humanListBinary[order] : humanList[order];\n  let relativeSize = (size / Math.pow(base1000 ? 1e3 : 1024, order)).toFixed(1);\n  if (skipSmallSizes === true && order === 0) {\n    return (relativeSize !== \"0.0\" ? \"< 1 \" : \"0 \") + (binaryPrefixes ? humanListBinary[1] : humanList[1]);\n  }\n  if (order < 2) {\n    relativeSize = parseFloat(relativeSize).toFixed(0);\n  } else {\n    relativeSize = parseFloat(relativeSize).toLocaleString(getCanonicalLocale());\n  }\n  return relativeSize + \" \" + readableFormat;\n}\nfunction parseFileSize(value, forceBinary = false) {\n  try {\n    value = `${value}`.toLocaleLowerCase().replaceAll(/\\s+/g, \"\").replaceAll(\",\", \".\");\n  } catch (e) {\n    return null;\n  }\n  const match = value.match(/^([0-9]*(\\.[0-9]*)?)([kmgtp]?)(i?)b?$/);\n  if (match === null || match[1] === \".\" || match[1] === \"\") {\n    return null;\n  }\n  const bytesArray = {\n    \"\": 0,\n    k: 1,\n    m: 2,\n    g: 3,\n    t: 4,\n    p: 5,\n    e: 6\n  };\n  const decimalString = `${match[1]}`;\n  const base = match[4] === \"i\" || forceBinary ? 1024 : 1e3;\n  return Math.round(Number.parseFloat(decimalString) * base ** bytesArray[match[3]]);\n}\nfunction stringify(value) {\n  if (value instanceof Date) {\n    return value.toISOString();\n  }\n  return String(value);\n}\nfunction orderBy(collection, identifiers, orders) {\n  identifiers = identifiers ?? [(value) => value];\n  orders = orders ?? [];\n  const sorting = identifiers.map((_, index) => (orders[index] ?? \"asc\") === \"asc\" ? 1 : -1);\n  const collator = Intl.Collator(\n    [getLanguage(), getCanonicalLocale()],\n    {\n      // handle 10 as ten and not as one-zero\n      numeric: true,\n      usage: \"sort\"\n    }\n  );\n  return [...collection].sort((a, b) => {\n    for (const [index, identifier] of identifiers.entries()) {\n      const value = collator.compare(stringify(identifier(a)), stringify(identifier(b)));\n      if (value !== 0) {\n        return value * sorting[index];\n      }\n    }\n    return 0;\n  });\n}\nvar FilesSortingMode = /* @__PURE__ */ ((FilesSortingMode2) => {\n  FilesSortingMode2[\"Name\"] = \"basename\";\n  FilesSortingMode2[\"Modified\"] = \"mtime\";\n  FilesSortingMode2[\"Size\"] = \"size\";\n  return FilesSortingMode2;\n})(FilesSortingMode || {});\nfunction sortNodes(nodes, options = {}) {\n  const sortingOptions = {\n    // Default to sort by name\n    sortingMode: \"basename\",\n    // Default to sort ascending\n    sortingOrder: \"asc\",\n    ...options\n  };\n  const identifiers = [\n    // 1: Sort favorites first if enabled\n    ...sortingOptions.sortFavoritesFirst ? [(v) => v.attributes?.favorite !== 1] : [],\n    // 2: Sort folders first if sorting by name\n    ...sortingOptions.sortFoldersFirst ? [(v) => v.type !== \"folder\"] : [],\n    // 3: Use sorting mode if NOT basename (to be able to use displayName too)\n    ...sortingOptions.sortingMode !== \"basename\" ? [(v) => v[sortingOptions.sortingMode]] : [],\n    // 4: Use displayName if available, fallback to name\n    (v) => v.attributes?.displayName || v.basename,\n    // 5: Finally, use basename if all previous sorting methods failed\n    (v) => v.basename\n  ];\n  const orders = [\n    // (for 1): always sort favorites before normal files\n    ...sortingOptions.sortFavoritesFirst ? [\"asc\"] : [],\n    // (for 2): always sort folders before files\n    ...sortingOptions.sortFoldersFirst ? [\"asc\"] : [],\n    // (for 3): Reverse if sorting by mtime as mtime higher means edited more recent -> lower\n    ...sortingOptions.sortingMode === \"mtime\" ? [sortingOptions.sortingOrder === \"asc\" ? \"desc\" : \"asc\"] : [],\n    // (also for 3 so make sure not to conflict with 2 and 3)\n    ...sortingOptions.sortingMode !== \"mtime\" && sortingOptions.sortingMode !== \"basename\" ? [sortingOptions.sortingOrder] : [],\n    // for 4: use configured sorting direction\n    sortingOptions.sortingOrder,\n    // for 5: use configured sorting direction\n    sortingOptions.sortingOrder\n  ];\n  return orderBy(nodes, identifiers, orders);\n}\n/**\n * @copyright Copyright (c) 2022 John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @author John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @license AGPL-3.0-or-later\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */\nclass Navigation {\n  _views = [];\n  _currentView = null;\n  register(view) {\n    if (this._views.find((search) => search.id === view.id)) {\n      throw new Error(`View id ${view.id} is already registered`);\n    }\n    this._views.push(view);\n  }\n  remove(id) {\n    const index = this._views.findIndex((view) => view.id === id);\n    if (index !== -1) {\n      this._views.splice(index, 1);\n    }\n  }\n  get views() {\n    return this._views;\n  }\n  setActive(view) {\n    this._currentView = view;\n  }\n  get active() {\n    return this._currentView;\n  }\n}\nconst getNavigation = function() {\n  if (typeof window._nc_navigation === \"undefined\") {\n    window._nc_navigation = new Navigation();\n    logger.debug(\"Navigation service initialized\");\n  }\n  return window._nc_navigation;\n};\n/**\n * @copyright Copyright (c) 2022 John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @author John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @license AGPL-3.0-or-later\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */\nclass Column {\n  _column;\n  constructor(column) {\n    isValidColumn(column);\n    this._column = column;\n  }\n  get id() {\n    return this._column.id;\n  }\n  get title() {\n    return this._column.title;\n  }\n  get render() {\n    return this._column.render;\n  }\n  get sort() {\n    return this._column.sort;\n  }\n  get summary() {\n    return this._column.summary;\n  }\n}\nconst isValidColumn = function(column) {\n  if (!column.id || typeof column.id !== \"string\") {\n    throw new Error(\"A column id is required\");\n  }\n  if (!column.title || typeof column.title !== \"string\") {\n    throw new Error(\"A column title is required\");\n  }\n  if (!column.render || typeof column.render !== \"function\") {\n    throw new Error(\"A render function is required\");\n  }\n  if (column.sort && typeof column.sort !== \"function\") {\n    throw new Error(\"Column sortFunction must be a function\");\n  }\n  if (column.summary && typeof column.summary !== \"function\") {\n    throw new Error(\"Column summary must be a function\");\n  }\n  return true;\n};\nvar validator$2 = {};\nvar util$3 = {};\n(function(exports) {\n  const nameStartChar = \":A-Za-z_\\\\u00C0-\\\\u00D6\\\\u00D8-\\\\u00F6\\\\u00F8-\\\\u02FF\\\\u0370-\\\\u037D\\\\u037F-\\\\u1FFF\\\\u200C-\\\\u200D\\\\u2070-\\\\u218F\\\\u2C00-\\\\u2FEF\\\\u3001-\\\\uD7FF\\\\uF900-\\\\uFDCF\\\\uFDF0-\\\\uFFFD\";\n  const nameChar = nameStartChar + \"\\\\-.\\\\d\\\\u00B7\\\\u0300-\\\\u036F\\\\u203F-\\\\u2040\";\n  const nameRegexp = \"[\" + nameStartChar + \"][\" + nameChar + \"]*\";\n  const regexName = new RegExp(\"^\" + nameRegexp + \"$\");\n  const getAllMatches = function(string, regex) {\n    const matches = [];\n    let match = regex.exec(string);\n    while (match) {\n      const allmatches = [];\n      allmatches.startIndex = regex.lastIndex - match[0].length;\n      const len = match.length;\n      for (let index = 0; index < len; index++) {\n        allmatches.push(match[index]);\n      }\n      matches.push(allmatches);\n      match = regex.exec(string);\n    }\n    return matches;\n  };\n  const isName = function(string) {\n    const match = regexName.exec(string);\n    return !(match === null || typeof match === \"undefined\");\n  };\n  exports.isExist = function(v) {\n    return typeof v !== \"undefined\";\n  };\n  exports.isEmptyObject = function(obj) {\n    return Object.keys(obj).length === 0;\n  };\n  exports.merge = function(target, a, arrayMode) {\n    if (a) {\n      const keys = Object.keys(a);\n      const len = keys.length;\n      for (let i = 0; i < len; i++) {\n        if (arrayMode === \"strict\") {\n          target[keys[i]] = [a[keys[i]]];\n        } else {\n          target[keys[i]] = a[keys[i]];\n        }\n      }\n    }\n  };\n  exports.getValue = function(v) {\n    if (exports.isExist(v)) {\n      return v;\n    } else {\n      return \"\";\n    }\n  };\n  exports.isName = isName;\n  exports.getAllMatches = getAllMatches;\n  exports.nameRegexp = nameRegexp;\n})(util$3);\nconst util$2 = util$3;\nconst defaultOptions$2 = {\n  allowBooleanAttributes: false,\n  //A tag can have attributes without any value\n  unpairedTags: []\n};\nvalidator$2.validate = function(xmlData, options) {\n  options = Object.assign({}, defaultOptions$2, options);\n  const tags = [];\n  let tagFound = false;\n  let reachedRoot = false;\n  if (xmlData[0] === \"\\uFEFF\") {\n    xmlData = xmlData.substr(1);\n  }\n  for (let i = 0; i < xmlData.length; i++) {\n    if (xmlData[i] === \"<\" && xmlData[i + 1] === \"?\") {\n      i += 2;\n      i = readPI(xmlData, i);\n      if (i.err)\n        return i;\n    } else if (xmlData[i] === \"<\") {\n      let tagStartPos = i;\n      i++;\n      if (xmlData[i] === \"!\") {\n        i = readCommentAndCDATA(xmlData, i);\n        continue;\n      } else {\n        let closingTag = false;\n        if (xmlData[i] === \"/\") {\n          closingTag = true;\n          i++;\n        }\n        let tagName = \"\";\n        for (; i < xmlData.length && xmlData[i] !== \">\" && xmlData[i] !== \" \" && xmlData[i] !== \"\t\" && xmlData[i] !== \"\\n\" && xmlData[i] !== \"\\r\"; i++) {\n          tagName += xmlData[i];\n        }\n        tagName = tagName.trim();\n        if (tagName[tagName.length - 1] === \"/\") {\n          tagName = tagName.substring(0, tagName.length - 1);\n          i--;\n        }\n        if (!validateTagName(tagName)) {\n          let msg;\n          if (tagName.trim().length === 0) {\n            msg = \"Invalid space after '<'.\";\n          } else {\n            msg = \"Tag '\" + tagName + \"' is an invalid name.\";\n          }\n          return getErrorObject(\"InvalidTag\", msg, getLineNumberForPosition(xmlData, i));\n        }\n        const result = readAttributeStr(xmlData, i);\n        if (result === false) {\n          return getErrorObject(\"InvalidAttr\", \"Attributes for '\" + tagName + \"' have open quote.\", getLineNumberForPosition(xmlData, i));\n        }\n        let attrStr = result.value;\n        i = result.index;\n        if (attrStr[attrStr.length - 1] === \"/\") {\n          const attrStrStart = i - attrStr.length;\n          attrStr = attrStr.substring(0, attrStr.length - 1);\n          const isValid = validateAttributeString(attrStr, options);\n          if (isValid === true) {\n            tagFound = true;\n          } else {\n            return getErrorObject(isValid.err.code, isValid.err.msg, getLineNumberForPosition(xmlData, attrStrStart + isValid.err.line));\n          }\n        } else if (closingTag) {\n          if (!result.tagClosed) {\n            return getErrorObject(\"InvalidTag\", \"Closing tag '\" + tagName + \"' doesn't have proper closing.\", getLineNumberForPosition(xmlData, i));\n          } else if (attrStr.trim().length > 0) {\n            return getErrorObject(\"InvalidTag\", \"Closing tag '\" + tagName + \"' can't have attributes or invalid starting.\", getLineNumberForPosition(xmlData, tagStartPos));\n          } else if (tags.length === 0) {\n            return getErrorObject(\"InvalidTag\", \"Closing tag '\" + tagName + \"' has not been opened.\", getLineNumberForPosition(xmlData, tagStartPos));\n          } else {\n            const otg = tags.pop();\n            if (tagName !== otg.tagName) {\n              let openPos = getLineNumberForPosition(xmlData, otg.tagStartPos);\n              return getErrorObject(\n                \"InvalidTag\",\n                \"Expected closing tag '\" + otg.tagName + \"' (opened in line \" + openPos.line + \", col \" + openPos.col + \") instead of closing tag '\" + tagName + \"'.\",\n                getLineNumberForPosition(xmlData, tagStartPos)\n              );\n            }\n            if (tags.length == 0) {\n              reachedRoot = true;\n            }\n          }\n        } else {\n          const isValid = validateAttributeString(attrStr, options);\n          if (isValid !== true) {\n            return getErrorObject(isValid.err.code, isValid.err.msg, getLineNumberForPosition(xmlData, i - attrStr.length + isValid.err.line));\n          }\n          if (reachedRoot === true) {\n            return getErrorObject(\"InvalidXml\", \"Multiple possible root nodes found.\", getLineNumberForPosition(xmlData, i));\n          } else if (options.unpairedTags.indexOf(tagName) !== -1)\n            ;\n          else {\n            tags.push({ tagName, tagStartPos });\n          }\n          tagFound = true;\n        }\n        for (i++; i < xmlData.length; i++) {\n          if (xmlData[i] === \"<\") {\n            if (xmlData[i + 1] === \"!\") {\n              i++;\n              i = readCommentAndCDATA(xmlData, i);\n              continue;\n            } else if (xmlData[i + 1] === \"?\") {\n              i = readPI(xmlData, ++i);\n              if (i.err)\n                return i;\n            } else {\n              break;\n            }\n          } else if (xmlData[i] === \"&\") {\n            const afterAmp = validateAmpersand(xmlData, i);\n            if (afterAmp == -1)\n              return getErrorObject(\"InvalidChar\", \"char '&' is not expected.\", getLineNumberForPosition(xmlData, i));\n            i = afterAmp;\n          } else {\n            if (reachedRoot === true && !isWhiteSpace(xmlData[i])) {\n              return getErrorObject(\"InvalidXml\", \"Extra text at the end\", getLineNumberForPosition(xmlData, i));\n            }\n          }\n        }\n        if (xmlData[i] === \"<\") {\n          i--;\n        }\n      }\n    } else {\n      if (isWhiteSpace(xmlData[i])) {\n        continue;\n      }\n      return getErrorObject(\"InvalidChar\", \"char '\" + xmlData[i] + \"' is not expected.\", getLineNumberForPosition(xmlData, i));\n    }\n  }\n  if (!tagFound) {\n    return getErrorObject(\"InvalidXml\", \"Start tag expected.\", 1);\n  } else if (tags.length == 1) {\n    return getErrorObject(\"InvalidTag\", \"Unclosed tag '\" + tags[0].tagName + \"'.\", getLineNumberForPosition(xmlData, tags[0].tagStartPos));\n  } else if (tags.length > 0) {\n    return getErrorObject(\"InvalidXml\", \"Invalid '\" + JSON.stringify(tags.map((t) => t.tagName), null, 4).replace(/\\r?\\n/g, \"\") + \"' found.\", { line: 1, col: 1 });\n  }\n  return true;\n};\nfunction isWhiteSpace(char) {\n  return char === \" \" || char === \"\t\" || char === \"\\n\" || char === \"\\r\";\n}\nfunction readPI(xmlData, i) {\n  const start = i;\n  for (; i < xmlData.length; i++) {\n    if (xmlData[i] == \"?\" || xmlData[i] == \" \") {\n      const tagname = xmlData.substr(start, i - start);\n      if (i > 5 && tagname === \"xml\") {\n        return getErrorObject(\"InvalidXml\", \"XML declaration allowed only at the start of the document.\", getLineNumberForPosition(xmlData, i));\n      } else if (xmlData[i] == \"?\" && xmlData[i + 1] == \">\") {\n        i++;\n        break;\n      } else {\n        continue;\n      }\n    }\n  }\n  return i;\n}\nfunction readCommentAndCDATA(xmlData, i) {\n  if (xmlData.length > i + 5 && xmlData[i + 1] === \"-\" && xmlData[i + 2] === \"-\") {\n    for (i += 3; i < xmlData.length; i++) {\n      if (xmlData[i] === \"-\" && xmlData[i + 1] === \"-\" && xmlData[i + 2] === \">\") {\n        i += 2;\n        break;\n      }\n    }\n  } else if (xmlData.length > i + 8 && xmlData[i + 1] === \"D\" && xmlData[i + 2] === \"O\" && xmlData[i + 3] === \"C\" && xmlData[i + 4] === \"T\" && xmlData[i + 5] === \"Y\" && xmlData[i + 6] === \"P\" && xmlData[i + 7] === \"E\") {\n    let angleBracketsCount = 1;\n    for (i += 8; i < xmlData.length; i++) {\n      if (xmlData[i] === \"<\") {\n        angleBracketsCount++;\n      } else if (xmlData[i] === \">\") {\n        angleBracketsCount--;\n        if (angleBracketsCount === 0) {\n          break;\n        }\n      }\n    }\n  } else if (xmlData.length > i + 9 && xmlData[i + 1] === \"[\" && xmlData[i + 2] === \"C\" && xmlData[i + 3] === \"D\" && xmlData[i + 4] === \"A\" && xmlData[i + 5] === \"T\" && xmlData[i + 6] === \"A\" && xmlData[i + 7] === \"[\") {\n    for (i += 8; i < xmlData.length; i++) {\n      if (xmlData[i] === \"]\" && xmlData[i + 1] === \"]\" && xmlData[i + 2] === \">\") {\n        i += 2;\n        break;\n      }\n    }\n  }\n  return i;\n}\nconst doubleQuote = '\"';\nconst singleQuote = \"'\";\nfunction readAttributeStr(xmlData, i) {\n  let attrStr = \"\";\n  let startChar = \"\";\n  let tagClosed = false;\n  for (; i < xmlData.length; i++) {\n    if (xmlData[i] === doubleQuote || xmlData[i] === singleQuote) {\n      if (startChar === \"\") {\n        startChar = xmlData[i];\n      } else if (startChar !== xmlData[i])\n        ;\n      else {\n        startChar = \"\";\n      }\n    } else if (xmlData[i] === \">\") {\n      if (startChar === \"\") {\n        tagClosed = true;\n        break;\n      }\n    }\n    attrStr += xmlData[i];\n  }\n  if (startChar !== \"\") {\n    return false;\n  }\n  return {\n    value: attrStr,\n    index: i,\n    tagClosed\n  };\n}\nconst validAttrStrRegxp = new RegExp(`(\\\\s*)([^\\\\s=]+)(\\\\s*=)?(\\\\s*(['\"])(([\\\\s\\\\S])*?)\\\\5)?`, \"g\");\nfunction validateAttributeString(attrStr, options) {\n  const matches = util$2.getAllMatches(attrStr, validAttrStrRegxp);\n  const attrNames = {};\n  for (let i = 0; i < matches.length; i++) {\n    if (matches[i][1].length === 0) {\n      return getErrorObject(\"InvalidAttr\", \"Attribute '\" + matches[i][2] + \"' has no space in starting.\", getPositionFromMatch(matches[i]));\n    } else if (matches[i][3] !== void 0 && matches[i][4] === void 0) {\n      return getErrorObject(\"InvalidAttr\", \"Attribute '\" + matches[i][2] + \"' is without value.\", getPositionFromMatch(matches[i]));\n    } else if (matches[i][3] === void 0 && !options.allowBooleanAttributes) {\n      return getErrorObject(\"InvalidAttr\", \"boolean attribute '\" + matches[i][2] + \"' is not allowed.\", getPositionFromMatch(matches[i]));\n    }\n    const attrName = matches[i][2];\n    if (!validateAttrName(attrName)) {\n      return getErrorObject(\"InvalidAttr\", \"Attribute '\" + attrName + \"' is an invalid name.\", getPositionFromMatch(matches[i]));\n    }\n    if (!attrNames.hasOwnProperty(attrName)) {\n      attrNames[attrName] = 1;\n    } else {\n      return getErrorObject(\"InvalidAttr\", \"Attribute '\" + attrName + \"' is repeated.\", getPositionFromMatch(matches[i]));\n    }\n  }\n  return true;\n}\nfunction validateNumberAmpersand(xmlData, i) {\n  let re = /\\d/;\n  if (xmlData[i] === \"x\") {\n    i++;\n    re = /[\\da-fA-F]/;\n  }\n  for (; i < xmlData.length; i++) {\n    if (xmlData[i] === \";\")\n      return i;\n    if (!xmlData[i].match(re))\n      break;\n  }\n  return -1;\n}\nfunction validateAmpersand(xmlData, i) {\n  i++;\n  if (xmlData[i] === \";\")\n    return -1;\n  if (xmlData[i] === \"#\") {\n    i++;\n    return validateNumberAmpersand(xmlData, i);\n  }\n  let count = 0;\n  for (; i < xmlData.length; i++, count++) {\n    if (xmlData[i].match(/\\w/) && count < 20)\n      continue;\n    if (xmlData[i] === \";\")\n      break;\n    return -1;\n  }\n  return i;\n}\nfunction getErrorObject(code, message, lineNumber) {\n  return {\n    err: {\n      code,\n      msg: message,\n      line: lineNumber.line || lineNumber,\n      col: lineNumber.col\n    }\n  };\n}\nfunction validateAttrName(attrName) {\n  return util$2.isName(attrName);\n}\nfunction validateTagName(tagname) {\n  return util$2.isName(tagname);\n}\nfunction getLineNumberForPosition(xmlData, index) {\n  const lines = xmlData.substring(0, index).split(/\\r?\\n/);\n  return {\n    line: lines.length,\n    // column number is last line's length + 1, because column numbering starts at 1:\n    col: lines[lines.length - 1].length + 1\n  };\n}\nfunction getPositionFromMatch(match) {\n  return match.startIndex + match[1].length;\n}\nvar OptionsBuilder = {};\nconst defaultOptions$1 = {\n  preserveOrder: false,\n  attributeNamePrefix: \"@_\",\n  attributesGroupName: false,\n  textNodeName: \"#text\",\n  ignoreAttributes: true,\n  removeNSPrefix: false,\n  // remove NS from tag name or attribute name if true\n  allowBooleanAttributes: false,\n  //a tag can have attributes without any value\n  //ignoreRootElement : false,\n  parseTagValue: true,\n  parseAttributeValue: false,\n  trimValues: true,\n  //Trim string values of tag and attributes\n  cdataPropName: false,\n  numberParseOptions: {\n    hex: true,\n    leadingZeros: true,\n    eNotation: true\n  },\n  tagValueProcessor: function(tagName, val2) {\n    return val2;\n  },\n  attributeValueProcessor: function(attrName, val2) {\n    return val2;\n  },\n  stopNodes: [],\n  //nested tags will not be parsed even for errors\n  alwaysCreateTextNode: false,\n  isArray: () => false,\n  commentPropName: false,\n  unpairedTags: [],\n  processEntities: true,\n  htmlEntities: false,\n  ignoreDeclaration: false,\n  ignorePiTags: false,\n  transformTagName: false,\n  transformAttributeName: false,\n  updateTag: function(tagName, jPath, attrs) {\n    return tagName;\n  }\n  // skipEmptyListItem: false\n};\nconst buildOptions$1 = function(options) {\n  return Object.assign({}, defaultOptions$1, options);\n};\nOptionsBuilder.buildOptions = buildOptions$1;\nOptionsBuilder.defaultOptions = defaultOptions$1;\nclass XmlNode {\n  constructor(tagname) {\n    this.tagname = tagname;\n    this.child = [];\n    this[\":@\"] = {};\n  }\n  add(key, val2) {\n    if (key === \"__proto__\")\n      key = \"#__proto__\";\n    this.child.push({ [key]: val2 });\n  }\n  addChild(node) {\n    if (node.tagname === \"__proto__\")\n      node.tagname = \"#__proto__\";\n    if (node[\":@\"] && Object.keys(node[\":@\"]).length > 0) {\n      this.child.push({ [node.tagname]: node.child, [\":@\"]: node[\":@\"] });\n    } else {\n      this.child.push({ [node.tagname]: node.child });\n    }\n  }\n}\nvar xmlNode$1 = XmlNode;\nconst util$1 = util$3;\nfunction readDocType$1(xmlData, i) {\n  const entities = {};\n  if (xmlData[i + 3] === \"O\" && xmlData[i + 4] === \"C\" && xmlData[i + 5] === \"T\" && xmlData[i + 6] === \"Y\" && xmlData[i + 7] === \"P\" && xmlData[i + 8] === \"E\") {\n    i = i + 9;\n    let angleBracketsCount = 1;\n    let hasBody = false, comment = false;\n    let exp = \"\";\n    for (; i < xmlData.length; i++) {\n      if (xmlData[i] === \"<\" && !comment) {\n        if (hasBody && isEntity(xmlData, i)) {\n          i += 7;\n          [entityName, val, i] = readEntityExp(xmlData, i + 1);\n          if (val.indexOf(\"&\") === -1)\n            entities[validateEntityName(entityName)] = {\n              regx: RegExp(`&${entityName};`, \"g\"),\n              val\n            };\n        } else if (hasBody && isElement(xmlData, i))\n          i += 8;\n        else if (hasBody && isAttlist(xmlData, i))\n          i += 8;\n        else if (hasBody && isNotation(xmlData, i))\n          i += 9;\n        else if (isComment)\n          comment = true;\n        else\n          throw new Error(\"Invalid DOCTYPE\");\n        angleBracketsCount++;\n        exp = \"\";\n      } else if (xmlData[i] === \">\") {\n        if (comment) {\n          if (xmlData[i - 1] === \"-\" && xmlData[i - 2] === \"-\") {\n            comment = false;\n            angleBracketsCount--;\n          }\n        } else {\n          angleBracketsCount--;\n        }\n        if (angleBracketsCount === 0) {\n          break;\n        }\n      } else if (xmlData[i] === \"[\") {\n        hasBody = true;\n      } else {\n        exp += xmlData[i];\n      }\n    }\n    if (angleBracketsCount !== 0) {\n      throw new Error(`Unclosed DOCTYPE`);\n    }\n  } else {\n    throw new Error(`Invalid Tag instead of DOCTYPE`);\n  }\n  return { entities, i };\n}\nfunction readEntityExp(xmlData, i) {\n  let entityName2 = \"\";\n  for (; i < xmlData.length && (xmlData[i] !== \"'\" && xmlData[i] !== '\"'); i++) {\n    entityName2 += xmlData[i];\n  }\n  entityName2 = entityName2.trim();\n  if (entityName2.indexOf(\" \") !== -1)\n    throw new Error(\"External entites are not supported\");\n  const startChar = xmlData[i++];\n  let val2 = \"\";\n  for (; i < xmlData.length && xmlData[i] !== startChar; i++) {\n    val2 += xmlData[i];\n  }\n  return [entityName2, val2, i];\n}\nfunction isComment(xmlData, i) {\n  if (xmlData[i + 1] === \"!\" && xmlData[i + 2] === \"-\" && xmlData[i + 3] === \"-\")\n    return true;\n  return false;\n}\nfunction isEntity(xmlData, i) {\n  if (xmlData[i + 1] === \"!\" && xmlData[i + 2] === \"E\" && xmlData[i + 3] === \"N\" && xmlData[i + 4] === \"T\" && xmlData[i + 5] === \"I\" && xmlData[i + 6] === \"T\" && xmlData[i + 7] === \"Y\")\n    return true;\n  return false;\n}\nfunction isElement(xmlData, i) {\n  if (xmlData[i + 1] === \"!\" && xmlData[i + 2] === \"E\" && xmlData[i + 3] === \"L\" && xmlData[i + 4] === \"E\" && xmlData[i + 5] === \"M\" && xmlData[i + 6] === \"E\" && xmlData[i + 7] === \"N\" && xmlData[i + 8] === \"T\")\n    return true;\n  return false;\n}\nfunction isAttlist(xmlData, i) {\n  if (xmlData[i + 1] === \"!\" && xmlData[i + 2] === \"A\" && xmlData[i + 3] === \"T\" && xmlData[i + 4] === \"T\" && xmlData[i + 5] === \"L\" && xmlData[i + 6] === \"I\" && xmlData[i + 7] === \"S\" && xmlData[i + 8] === \"T\")\n    return true;\n  return false;\n}\nfunction isNotation(xmlData, i) {\n  if (xmlData[i + 1] === \"!\" && xmlData[i + 2] === \"N\" && xmlData[i + 3] === \"O\" && xmlData[i + 4] === \"T\" && xmlData[i + 5] === \"A\" && xmlData[i + 6] === \"T\" && xmlData[i + 7] === \"I\" && xmlData[i + 8] === \"O\" && xmlData[i + 9] === \"N\")\n    return true;\n  return false;\n}\nfunction validateEntityName(name) {\n  if (util$1.isName(name))\n    return name;\n  else\n    throw new Error(`Invalid entity name ${name}`);\n}\nvar DocTypeReader = readDocType$1;\nconst hexRegex = /^[-+]?0x[a-fA-F0-9]+$/;\nconst numRegex = /^([\\-\\+])?(0*)(\\.[0-9]+([eE]\\-?[0-9]+)?|[0-9]+(\\.[0-9]+([eE]\\-?[0-9]+)?)?)$/;\nif (!Number.parseInt && window.parseInt) {\n  Number.parseInt = window.parseInt;\n}\nif (!Number.parseFloat && window.parseFloat) {\n  Number.parseFloat = window.parseFloat;\n}\nconst consider = {\n  hex: true,\n  leadingZeros: true,\n  decimalPoint: \".\",\n  eNotation: true\n  //skipLike: /regex/\n};\nfunction toNumber$1(str, options = {}) {\n  options = Object.assign({}, consider, options);\n  if (!str || typeof str !== \"string\")\n    return str;\n  let trimmedStr = str.trim();\n  if (options.skipLike !== void 0 && options.skipLike.test(trimmedStr))\n    return str;\n  else if (options.hex && hexRegex.test(trimmedStr)) {\n    return Number.parseInt(trimmedStr, 16);\n  } else {\n    const match = numRegex.exec(trimmedStr);\n    if (match) {\n      const sign = match[1];\n      const leadingZeros = match[2];\n      let numTrimmedByZeros = trimZeros(match[3]);\n      const eNotation = match[4] || match[6];\n      if (!options.leadingZeros && leadingZeros.length > 0 && sign && trimmedStr[2] !== \".\")\n        return str;\n      else if (!options.leadingZeros && leadingZeros.length > 0 && !sign && trimmedStr[1] !== \".\")\n        return str;\n      else {\n        const num = Number(trimmedStr);\n        const numStr = \"\" + num;\n        if (numStr.search(/[eE]/) !== -1) {\n          if (options.eNotation)\n            return num;\n          else\n            return str;\n        } else if (eNotation) {\n          if (options.eNotation)\n            return num;\n          else\n            return str;\n        } else if (trimmedStr.indexOf(\".\") !== -1) {\n          if (numStr === \"0\" && numTrimmedByZeros === \"\")\n            return num;\n          else if (numStr === numTrimmedByZeros)\n            return num;\n          else if (sign && numStr === \"-\" + numTrimmedByZeros)\n            return num;\n          else\n            return str;\n        }\n        if (leadingZeros) {\n          if (numTrimmedByZeros === numStr)\n            return num;\n          else if (sign + numTrimmedByZeros === numStr)\n            return num;\n          else\n            return str;\n        }\n        if (trimmedStr === numStr)\n          return num;\n        else if (trimmedStr === sign + numStr)\n          return num;\n        return str;\n      }\n    } else {\n      return str;\n    }\n  }\n}\nfunction trimZeros(numStr) {\n  if (numStr && numStr.indexOf(\".\") !== -1) {\n    numStr = numStr.replace(/0+$/, \"\");\n    if (numStr === \".\")\n      numStr = \"0\";\n    else if (numStr[0] === \".\")\n      numStr = \"0\" + numStr;\n    else if (numStr[numStr.length - 1] === \".\")\n      numStr = numStr.substr(0, numStr.length - 1);\n    return numStr;\n  }\n  return numStr;\n}\nvar strnum = toNumber$1;\nconst util = util$3;\nconst xmlNode = xmlNode$1;\nconst readDocType = DocTypeReader;\nconst toNumber = strnum;\nlet OrderedObjParser$1 = class OrderedObjParser {\n  constructor(options) {\n    this.options = options;\n    this.currentNode = null;\n    this.tagsNodeStack = [];\n    this.docTypeEntities = {};\n    this.lastEntities = {\n      \"apos\": { regex: /&(apos|#39|#x27);/g, val: \"'\" },\n      \"gt\": { regex: /&(gt|#62|#x3E);/g, val: \">\" },\n      \"lt\": { regex: /&(lt|#60|#x3C);/g, val: \"<\" },\n      \"quot\": { regex: /&(quot|#34|#x22);/g, val: '\"' }\n    };\n    this.ampEntity = { regex: /&(amp|#38|#x26);/g, val: \"&\" };\n    this.htmlEntities = {\n      \"space\": { regex: /&(nbsp|#160);/g, val: \" \" },\n      // \"lt\" : { regex: /&(lt|#60);/g, val: \"<\" },\n      // \"gt\" : { regex: /&(gt|#62);/g, val: \">\" },\n      // \"amp\" : { regex: /&(amp|#38);/g, val: \"&\" },\n      // \"quot\" : { regex: /&(quot|#34);/g, val: \"\\\"\" },\n      // \"apos\" : { regex: /&(apos|#39);/g, val: \"'\" },\n      \"cent\": { regex: /&(cent|#162);/g, val: \"¢\" },\n      \"pound\": { regex: /&(pound|#163);/g, val: \"£\" },\n      \"yen\": { regex: /&(yen|#165);/g, val: \"¥\" },\n      \"euro\": { regex: /&(euro|#8364);/g, val: \"€\" },\n      \"copyright\": { regex: /&(copy|#169);/g, val: \"©\" },\n      \"reg\": { regex: /&(reg|#174);/g, val: \"®\" },\n      \"inr\": { regex: /&(inr|#8377);/g, val: \"₹\" },\n      \"num_dec\": { regex: /&#([0-9]{1,7});/g, val: (_, str) => String.fromCharCode(Number.parseInt(str, 10)) },\n      \"num_hex\": { regex: /&#x([0-9a-fA-F]{1,6});/g, val: (_, str) => String.fromCharCode(Number.parseInt(str, 16)) }\n    };\n    this.addExternalEntities = addExternalEntities;\n    this.parseXml = parseXml;\n    this.parseTextData = parseTextData;\n    this.resolveNameSpace = resolveNameSpace;\n    this.buildAttributesMap = buildAttributesMap;\n    this.isItStopNode = isItStopNode;\n    this.replaceEntitiesValue = replaceEntitiesValue$1;\n    this.readStopNodeData = readStopNodeData;\n    this.saveTextToParentTag = saveTextToParentTag;\n    this.addChild = addChild;\n  }\n};\nfunction addExternalEntities(externalEntities) {\n  const entKeys = Object.keys(externalEntities);\n  for (let i = 0; i < entKeys.length; i++) {\n    const ent = entKeys[i];\n    this.lastEntities[ent] = {\n      regex: new RegExp(\"&\" + ent + \";\", \"g\"),\n      val: externalEntities[ent]\n    };\n  }\n}\nfunction parseTextData(val2, tagName, jPath, dontTrim, hasAttributes, isLeafNode, escapeEntities) {\n  if (val2 !== void 0) {\n    if (this.options.trimValues && !dontTrim) {\n      val2 = val2.trim();\n    }\n    if (val2.length > 0) {\n      if (!escapeEntities)\n        val2 = this.replaceEntitiesValue(val2);\n      const newval = this.options.tagValueProcessor(tagName, val2, jPath, hasAttributes, isLeafNode);\n      if (newval === null || newval === void 0) {\n        return val2;\n      } else if (typeof newval !== typeof val2 || newval !== val2) {\n        return newval;\n      } else if (this.options.trimValues) {\n        return parseValue(val2, this.options.parseTagValue, this.options.numberParseOptions);\n      } else {\n        const trimmedVal = val2.trim();\n        if (trimmedVal === val2) {\n          return parseValue(val2, this.options.parseTagValue, this.options.numberParseOptions);\n        } else {\n          return val2;\n        }\n      }\n    }\n  }\n}\nfunction resolveNameSpace(tagname) {\n  if (this.options.removeNSPrefix) {\n    const tags = tagname.split(\":\");\n    const prefix = tagname.charAt(0) === \"/\" ? \"/\" : \"\";\n    if (tags[0] === \"xmlns\") {\n      return \"\";\n    }\n    if (tags.length === 2) {\n      tagname = prefix + tags[1];\n    }\n  }\n  return tagname;\n}\nconst attrsRegx = new RegExp(`([^\\\\s=]+)\\\\s*(=\\\\s*(['\"])([\\\\s\\\\S]*?)\\\\3)?`, \"gm\");\nfunction buildAttributesMap(attrStr, jPath, tagName) {\n  if (!this.options.ignoreAttributes && typeof attrStr === \"string\") {\n    const matches = util.getAllMatches(attrStr, attrsRegx);\n    const len = matches.length;\n    const attrs = {};\n    for (let i = 0; i < len; i++) {\n      const attrName = this.resolveNameSpace(matches[i][1]);\n      let oldVal = matches[i][4];\n      let aName = this.options.attributeNamePrefix + attrName;\n      if (attrName.length) {\n        if (this.options.transformAttributeName) {\n          aName = this.options.transformAttributeName(aName);\n        }\n        if (aName === \"__proto__\")\n          aName = \"#__proto__\";\n        if (oldVal !== void 0) {\n          if (this.options.trimValues) {\n            oldVal = oldVal.trim();\n          }\n          oldVal = this.replaceEntitiesValue(oldVal);\n          const newVal = this.options.attributeValueProcessor(attrName, oldVal, jPath);\n          if (newVal === null || newVal === void 0) {\n            attrs[aName] = oldVal;\n          } else if (typeof newVal !== typeof oldVal || newVal !== oldVal) {\n            attrs[aName] = newVal;\n          } else {\n            attrs[aName] = parseValue(\n              oldVal,\n              this.options.parseAttributeValue,\n              this.options.numberParseOptions\n            );\n          }\n        } else if (this.options.allowBooleanAttributes) {\n          attrs[aName] = true;\n        }\n      }\n    }\n    if (!Object.keys(attrs).length) {\n      return;\n    }\n    if (this.options.attributesGroupName) {\n      const attrCollection = {};\n      attrCollection[this.options.attributesGroupName] = attrs;\n      return attrCollection;\n    }\n    return attrs;\n  }\n}\nconst parseXml = function(xmlData) {\n  xmlData = xmlData.replace(/\\r\\n?/g, \"\\n\");\n  const xmlObj = new xmlNode(\"!xml\");\n  let currentNode = xmlObj;\n  let textData = \"\";\n  let jPath = \"\";\n  for (let i = 0; i < xmlData.length; i++) {\n    const ch = xmlData[i];\n    if (ch === \"<\") {\n      if (xmlData[i + 1] === \"/\") {\n        const closeIndex = findClosingIndex(xmlData, \">\", i, \"Closing Tag is not closed.\");\n        let tagName = xmlData.substring(i + 2, closeIndex).trim();\n        if (this.options.removeNSPrefix) {\n          const colonIndex = tagName.indexOf(\":\");\n          if (colonIndex !== -1) {\n            tagName = tagName.substr(colonIndex + 1);\n          }\n        }\n        if (this.options.transformTagName) {\n          tagName = this.options.transformTagName(tagName);\n        }\n        if (currentNode) {\n          textData = this.saveTextToParentTag(textData, currentNode, jPath);\n        }\n        const lastTagName = jPath.substring(jPath.lastIndexOf(\".\") + 1);\n        if (tagName && this.options.unpairedTags.indexOf(tagName) !== -1) {\n          throw new Error(`Unpaired tag can not be used as closing tag: </${tagName}>`);\n        }\n        let propIndex = 0;\n        if (lastTagName && this.options.unpairedTags.indexOf(lastTagName) !== -1) {\n          propIndex = jPath.lastIndexOf(\".\", jPath.lastIndexOf(\".\") - 1);\n          this.tagsNodeStack.pop();\n        } else {\n          propIndex = jPath.lastIndexOf(\".\");\n        }\n        jPath = jPath.substring(0, propIndex);\n        currentNode = this.tagsNodeStack.pop();\n        textData = \"\";\n        i = closeIndex;\n      } else if (xmlData[i + 1] === \"?\") {\n        let tagData = readTagExp(xmlData, i, false, \"?>\");\n        if (!tagData)\n          throw new Error(\"Pi Tag is not closed.\");\n        textData = this.saveTextToParentTag(textData, currentNode, jPath);\n        if (this.options.ignoreDeclaration && tagData.tagName === \"?xml\" || this.options.ignorePiTags)\n          ;\n        else {\n          const childNode = new xmlNode(tagData.tagName);\n          childNode.add(this.options.textNodeName, \"\");\n          if (tagData.tagName !== tagData.tagExp && tagData.attrExpPresent) {\n            childNode[\":@\"] = this.buildAttributesMap(tagData.tagExp, jPath, tagData.tagName);\n          }\n          this.addChild(currentNode, childNode, jPath);\n        }\n        i = tagData.closeIndex + 1;\n      } else if (xmlData.substr(i + 1, 3) === \"!--\") {\n        const endIndex = findClosingIndex(xmlData, \"-->\", i + 4, \"Comment is not closed.\");\n        if (this.options.commentPropName) {\n          const comment = xmlData.substring(i + 4, endIndex - 2);\n          textData = this.saveTextToParentTag(textData, currentNode, jPath);\n          currentNode.add(this.options.commentPropName, [{ [this.options.textNodeName]: comment }]);\n        }\n        i = endIndex;\n      } else if (xmlData.substr(i + 1, 2) === \"!D\") {\n        const result = readDocType(xmlData, i);\n        this.docTypeEntities = result.entities;\n        i = result.i;\n      } else if (xmlData.substr(i + 1, 2) === \"![\") {\n        const closeIndex = findClosingIndex(xmlData, \"]]>\", i, \"CDATA is not closed.\") - 2;\n        const tagExp = xmlData.substring(i + 9, closeIndex);\n        textData = this.saveTextToParentTag(textData, currentNode, jPath);\n        let val2 = this.parseTextData(tagExp, currentNode.tagname, jPath, true, false, true, true);\n        if (val2 == void 0)\n          val2 = \"\";\n        if (this.options.cdataPropName) {\n          currentNode.add(this.options.cdataPropName, [{ [this.options.textNodeName]: tagExp }]);\n        } else {\n          currentNode.add(this.options.textNodeName, val2);\n        }\n        i = closeIndex + 2;\n      } else {\n        let result = readTagExp(xmlData, i, this.options.removeNSPrefix);\n        let tagName = result.tagName;\n        const rawTagName = result.rawTagName;\n        let tagExp = result.tagExp;\n        let attrExpPresent = result.attrExpPresent;\n        let closeIndex = result.closeIndex;\n        if (this.options.transformTagName) {\n          tagName = this.options.transformTagName(tagName);\n        }\n        if (currentNode && textData) {\n          if (currentNode.tagname !== \"!xml\") {\n            textData = this.saveTextToParentTag(textData, currentNode, jPath, false);\n          }\n        }\n        const lastTag = currentNode;\n        if (lastTag && this.options.unpairedTags.indexOf(lastTag.tagname) !== -1) {\n          currentNode = this.tagsNodeStack.pop();\n          jPath = jPath.substring(0, jPath.lastIndexOf(\".\"));\n        }\n        if (tagName !== xmlObj.tagname) {\n          jPath += jPath ? \".\" + tagName : tagName;\n        }\n        if (this.isItStopNode(this.options.stopNodes, jPath, tagName)) {\n          let tagContent = \"\";\n          if (tagExp.length > 0 && tagExp.lastIndexOf(\"/\") === tagExp.length - 1) {\n            if (tagName[tagName.length - 1] === \"/\") {\n              tagName = tagName.substr(0, tagName.length - 1);\n              jPath = jPath.substr(0, jPath.length - 1);\n              tagExp = tagName;\n            } else {\n              tagExp = tagExp.substr(0, tagExp.length - 1);\n            }\n            i = result.closeIndex;\n          } else if (this.options.unpairedTags.indexOf(tagName) !== -1) {\n            i = result.closeIndex;\n          } else {\n            const result2 = this.readStopNodeData(xmlData, rawTagName, closeIndex + 1);\n            if (!result2)\n              throw new Error(`Unexpected end of ${rawTagName}`);\n            i = result2.i;\n            tagContent = result2.tagContent;\n          }\n          const childNode = new xmlNode(tagName);\n          if (tagName !== tagExp && attrExpPresent) {\n            childNode[\":@\"] = this.buildAttributesMap(tagExp, jPath, tagName);\n          }\n          if (tagContent) {\n            tagContent = this.parseTextData(tagContent, tagName, jPath, true, attrExpPresent, true, true);\n          }\n          jPath = jPath.substr(0, jPath.lastIndexOf(\".\"));\n          childNode.add(this.options.textNodeName, tagContent);\n          this.addChild(currentNode, childNode, jPath);\n        } else {\n          if (tagExp.length > 0 && tagExp.lastIndexOf(\"/\") === tagExp.length - 1) {\n            if (tagName[tagName.length - 1] === \"/\") {\n              tagName = tagName.substr(0, tagName.length - 1);\n              jPath = jPath.substr(0, jPath.length - 1);\n              tagExp = tagName;\n            } else {\n              tagExp = tagExp.substr(0, tagExp.length - 1);\n            }\n            if (this.options.transformTagName) {\n              tagName = this.options.transformTagName(tagName);\n            }\n            const childNode = new xmlNode(tagName);\n            if (tagName !== tagExp && attrExpPresent) {\n              childNode[\":@\"] = this.buildAttributesMap(tagExp, jPath, tagName);\n            }\n            this.addChild(currentNode, childNode, jPath);\n            jPath = jPath.substr(0, jPath.lastIndexOf(\".\"));\n          } else {\n            const childNode = new xmlNode(tagName);\n            this.tagsNodeStack.push(currentNode);\n            if (tagName !== tagExp && attrExpPresent) {\n              childNode[\":@\"] = this.buildAttributesMap(tagExp, jPath, tagName);\n            }\n            this.addChild(currentNode, childNode, jPath);\n            currentNode = childNode;\n          }\n          textData = \"\";\n          i = closeIndex;\n        }\n      }\n    } else {\n      textData += xmlData[i];\n    }\n  }\n  return xmlObj.child;\n};\nfunction addChild(currentNode, childNode, jPath) {\n  const result = this.options.updateTag(childNode.tagname, jPath, childNode[\":@\"]);\n  if (result === false)\n    ;\n  else if (typeof result === \"string\") {\n    childNode.tagname = result;\n    currentNode.addChild(childNode);\n  } else {\n    currentNode.addChild(childNode);\n  }\n}\nconst replaceEntitiesValue$1 = function(val2) {\n  if (this.options.processEntities) {\n    for (let entityName2 in this.docTypeEntities) {\n      const entity = this.docTypeEntities[entityName2];\n      val2 = val2.replace(entity.regx, entity.val);\n    }\n    for (let entityName2 in this.lastEntities) {\n      const entity = this.lastEntities[entityName2];\n      val2 = val2.replace(entity.regex, entity.val);\n    }\n    if (this.options.htmlEntities) {\n      for (let entityName2 in this.htmlEntities) {\n        const entity = this.htmlEntities[entityName2];\n        val2 = val2.replace(entity.regex, entity.val);\n      }\n    }\n    val2 = val2.replace(this.ampEntity.regex, this.ampEntity.val);\n  }\n  return val2;\n};\nfunction saveTextToParentTag(textData, currentNode, jPath, isLeafNode) {\n  if (textData) {\n    if (isLeafNode === void 0)\n      isLeafNode = Object.keys(currentNode.child).length === 0;\n    textData = this.parseTextData(\n      textData,\n      currentNode.tagname,\n      jPath,\n      false,\n      currentNode[\":@\"] ? Object.keys(currentNode[\":@\"]).length !== 0 : false,\n      isLeafNode\n    );\n    if (textData !== void 0 && textData !== \"\")\n      currentNode.add(this.options.textNodeName, textData);\n    textData = \"\";\n  }\n  return textData;\n}\nfunction isItStopNode(stopNodes, jPath, currentTagName) {\n  const allNodesExp = \"*.\" + currentTagName;\n  for (const stopNodePath in stopNodes) {\n    const stopNodeExp = stopNodes[stopNodePath];\n    if (allNodesExp === stopNodeExp || jPath === stopNodeExp)\n      return true;\n  }\n  return false;\n}\nfunction tagExpWithClosingIndex(xmlData, i, closingChar = \">\") {\n  let attrBoundary;\n  let tagExp = \"\";\n  for (let index = i; index < xmlData.length; index++) {\n    let ch = xmlData[index];\n    if (attrBoundary) {\n      if (ch === attrBoundary)\n        attrBoundary = \"\";\n    } else if (ch === '\"' || ch === \"'\") {\n      attrBoundary = ch;\n    } else if (ch === closingChar[0]) {\n      if (closingChar[1]) {\n        if (xmlData[index + 1] === closingChar[1]) {\n          return {\n            data: tagExp,\n            index\n          };\n        }\n      } else {\n        return {\n          data: tagExp,\n          index\n        };\n      }\n    } else if (ch === \"\t\") {\n      ch = \" \";\n    }\n    tagExp += ch;\n  }\n}\nfunction findClosingIndex(xmlData, str, i, errMsg) {\n  const closingIndex = xmlData.indexOf(str, i);\n  if (closingIndex === -1) {\n    throw new Error(errMsg);\n  } else {\n    return closingIndex + str.length - 1;\n  }\n}\nfunction readTagExp(xmlData, i, removeNSPrefix, closingChar = \">\") {\n  const result = tagExpWithClosingIndex(xmlData, i + 1, closingChar);\n  if (!result)\n    return;\n  let tagExp = result.data;\n  const closeIndex = result.index;\n  const separatorIndex = tagExp.search(/\\s/);\n  let tagName = tagExp;\n  let attrExpPresent = true;\n  if (separatorIndex !== -1) {\n    tagName = tagExp.substring(0, separatorIndex);\n    tagExp = tagExp.substring(separatorIndex + 1).trimStart();\n  }\n  const rawTagName = tagName;\n  if (removeNSPrefix) {\n    const colonIndex = tagName.indexOf(\":\");\n    if (colonIndex !== -1) {\n      tagName = tagName.substr(colonIndex + 1);\n      attrExpPresent = tagName !== result.data.substr(colonIndex + 1);\n    }\n  }\n  return {\n    tagName,\n    tagExp,\n    closeIndex,\n    attrExpPresent,\n    rawTagName\n  };\n}\nfunction readStopNodeData(xmlData, tagName, i) {\n  const startIndex = i;\n  let openTagCount = 1;\n  for (; i < xmlData.length; i++) {\n    if (xmlData[i] === \"<\") {\n      if (xmlData[i + 1] === \"/\") {\n        const closeIndex = findClosingIndex(xmlData, \">\", i, `${tagName} is not closed`);\n        let closeTagName = xmlData.substring(i + 2, closeIndex).trim();\n        if (closeTagName === tagName) {\n          openTagCount--;\n          if (openTagCount === 0) {\n            return {\n              tagContent: xmlData.substring(startIndex, i),\n              i: closeIndex\n            };\n          }\n        }\n        i = closeIndex;\n      } else if (xmlData[i + 1] === \"?\") {\n        const closeIndex = findClosingIndex(xmlData, \"?>\", i + 1, \"StopNode is not closed.\");\n        i = closeIndex;\n      } else if (xmlData.substr(i + 1, 3) === \"!--\") {\n        const closeIndex = findClosingIndex(xmlData, \"-->\", i + 3, \"StopNode is not closed.\");\n        i = closeIndex;\n      } else if (xmlData.substr(i + 1, 2) === \"![\") {\n        const closeIndex = findClosingIndex(xmlData, \"]]>\", i, \"StopNode is not closed.\") - 2;\n        i = closeIndex;\n      } else {\n        const tagData = readTagExp(xmlData, i, \">\");\n        if (tagData) {\n          const openTagName = tagData && tagData.tagName;\n          if (openTagName === tagName && tagData.tagExp[tagData.tagExp.length - 1] !== \"/\") {\n            openTagCount++;\n          }\n          i = tagData.closeIndex;\n        }\n      }\n    }\n  }\n}\nfunction parseValue(val2, shouldParse, options) {\n  if (shouldParse && typeof val2 === \"string\") {\n    const newval = val2.trim();\n    if (newval === \"true\")\n      return true;\n    else if (newval === \"false\")\n      return false;\n    else\n      return toNumber(val2, options);\n  } else {\n    if (util.isExist(val2)) {\n      return val2;\n    } else {\n      return \"\";\n    }\n  }\n}\nvar OrderedObjParser_1 = OrderedObjParser$1;\nvar node2json = {};\nfunction prettify$1(node, options) {\n  return compress(node, options);\n}\nfunction compress(arr, options, jPath) {\n  let text;\n  const compressedObj = {};\n  for (let i = 0; i < arr.length; i++) {\n    const tagObj = arr[i];\n    const property = propName$1(tagObj);\n    let newJpath = \"\";\n    if (jPath === void 0)\n      newJpath = property;\n    else\n      newJpath = jPath + \".\" + property;\n    if (property === options.textNodeName) {\n      if (text === void 0)\n        text = tagObj[property];\n      else\n        text += \"\" + tagObj[property];\n    } else if (property === void 0) {\n      continue;\n    } else if (tagObj[property]) {\n      let val2 = compress(tagObj[property], options, newJpath);\n      const isLeaf = isLeafTag(val2, options);\n      if (tagObj[\":@\"]) {\n        assignAttributes(val2, tagObj[\":@\"], newJpath, options);\n      } else if (Object.keys(val2).length === 1 && val2[options.textNodeName] !== void 0 && !options.alwaysCreateTextNode) {\n        val2 = val2[options.textNodeName];\n      } else if (Object.keys(val2).length === 0) {\n        if (options.alwaysCreateTextNode)\n          val2[options.textNodeName] = \"\";\n        else\n          val2 = \"\";\n      }\n      if (compressedObj[property] !== void 0 && compressedObj.hasOwnProperty(property)) {\n        if (!Array.isArray(compressedObj[property])) {\n          compressedObj[property] = [compressedObj[property]];\n        }\n        compressedObj[property].push(val2);\n      } else {\n        if (options.isArray(property, newJpath, isLeaf)) {\n          compressedObj[property] = [val2];\n        } else {\n          compressedObj[property] = val2;\n        }\n      }\n    }\n  }\n  if (typeof text === \"string\") {\n    if (text.length > 0)\n      compressedObj[options.textNodeName] = text;\n  } else if (text !== void 0)\n    compressedObj[options.textNodeName] = text;\n  return compressedObj;\n}\nfunction propName$1(obj) {\n  const keys = Object.keys(obj);\n  for (let i = 0; i < keys.length; i++) {\n    const key = keys[i];\n    if (key !== \":@\")\n      return key;\n  }\n}\nfunction assignAttributes(obj, attrMap, jpath, options) {\n  if (attrMap) {\n    const keys = Object.keys(attrMap);\n    const len = keys.length;\n    for (let i = 0; i < len; i++) {\n      const atrrName = keys[i];\n      if (options.isArray(atrrName, jpath + \".\" + atrrName, true, true)) {\n        obj[atrrName] = [attrMap[atrrName]];\n      } else {\n        obj[atrrName] = attrMap[atrrName];\n      }\n    }\n  }\n}\nfunction isLeafTag(obj, options) {\n  const { textNodeName } = options;\n  const propCount = Object.keys(obj).length;\n  if (propCount === 0) {\n    return true;\n  }\n  if (propCount === 1 && (obj[textNodeName] || typeof obj[textNodeName] === \"boolean\" || obj[textNodeName] === 0)) {\n    return true;\n  }\n  return false;\n}\nnode2json.prettify = prettify$1;\nconst { buildOptions } = OptionsBuilder;\nconst OrderedObjParser2 = OrderedObjParser_1;\nconst { prettify } = node2json;\nconst validator$1 = validator$2;\nlet XMLParser$1 = class XMLParser {\n  constructor(options) {\n    this.externalEntities = {};\n    this.options = buildOptions(options);\n  }\n  /**\n   * Parse XML dats to JS object \n   * @param {string|Buffer} xmlData \n   * @param {boolean|Object} validationOption \n   */\n  parse(xmlData, validationOption) {\n    if (typeof xmlData === \"string\")\n      ;\n    else if (xmlData.toString) {\n      xmlData = xmlData.toString();\n    } else {\n      throw new Error(\"XML data is accepted in String or Bytes[] form.\");\n    }\n    if (validationOption) {\n      if (validationOption === true)\n        validationOption = {};\n      const result = validator$1.validate(xmlData, validationOption);\n      if (result !== true) {\n        throw Error(`${result.err.msg}:${result.err.line}:${result.err.col}`);\n      }\n    }\n    const orderedObjParser = new OrderedObjParser2(this.options);\n    orderedObjParser.addExternalEntities(this.externalEntities);\n    const orderedResult = orderedObjParser.parseXml(xmlData);\n    if (this.options.preserveOrder || orderedResult === void 0)\n      return orderedResult;\n    else\n      return prettify(orderedResult, this.options);\n  }\n  /**\n   * Add Entity which is not by default supported by this library\n   * @param {string} key \n   * @param {string} value \n   */\n  addEntity(key, value) {\n    if (value.indexOf(\"&\") !== -1) {\n      throw new Error(\"Entity value can't have '&'\");\n    } else if (key.indexOf(\"&\") !== -1 || key.indexOf(\";\") !== -1) {\n      throw new Error(\"An entity must be set without '&' and ';'. Eg. use '#xD' for '&#xD;'\");\n    } else if (value === \"&\") {\n      throw new Error(\"An entity with value '&' is not permitted\");\n    } else {\n      this.externalEntities[key] = value;\n    }\n  }\n};\nvar XMLParser_1 = XMLParser$1;\nconst EOL = \"\\n\";\nfunction toXml(jArray, options) {\n  let indentation = \"\";\n  if (options.format && options.indentBy.length > 0) {\n    indentation = EOL;\n  }\n  return arrToStr(jArray, options, \"\", indentation);\n}\nfunction arrToStr(arr, options, jPath, indentation) {\n  let xmlStr = \"\";\n  let isPreviousElementTag = false;\n  for (let i = 0; i < arr.length; i++) {\n    const tagObj = arr[i];\n    const tagName = propName(tagObj);\n    if (tagName === void 0)\n      continue;\n    let newJPath = \"\";\n    if (jPath.length === 0)\n      newJPath = tagName;\n    else\n      newJPath = `${jPath}.${tagName}`;\n    if (tagName === options.textNodeName) {\n      let tagText = tagObj[tagName];\n      if (!isStopNode(newJPath, options)) {\n        tagText = options.tagValueProcessor(tagName, tagText);\n        tagText = replaceEntitiesValue(tagText, options);\n      }\n      if (isPreviousElementTag) {\n        xmlStr += indentation;\n      }\n      xmlStr += tagText;\n      isPreviousElementTag = false;\n      continue;\n    } else if (tagName === options.cdataPropName) {\n      if (isPreviousElementTag) {\n        xmlStr += indentation;\n      }\n      xmlStr += `<![CDATA[${tagObj[tagName][0][options.textNodeName]}]]>`;\n      isPreviousElementTag = false;\n      continue;\n    } else if (tagName === options.commentPropName) {\n      xmlStr += indentation + `<!--${tagObj[tagName][0][options.textNodeName]}-->`;\n      isPreviousElementTag = true;\n      continue;\n    } else if (tagName[0] === \"?\") {\n      const attStr2 = attr_to_str(tagObj[\":@\"], options);\n      const tempInd = tagName === \"?xml\" ? \"\" : indentation;\n      let piTextNodeName = tagObj[tagName][0][options.textNodeName];\n      piTextNodeName = piTextNodeName.length !== 0 ? \" \" + piTextNodeName : \"\";\n      xmlStr += tempInd + `<${tagName}${piTextNodeName}${attStr2}?>`;\n      isPreviousElementTag = true;\n      continue;\n    }\n    let newIdentation = indentation;\n    if (newIdentation !== \"\") {\n      newIdentation += options.indentBy;\n    }\n    const attStr = attr_to_str(tagObj[\":@\"], options);\n    const tagStart = indentation + `<${tagName}${attStr}`;\n    const tagValue = arrToStr(tagObj[tagName], options, newJPath, newIdentation);\n    if (options.unpairedTags.indexOf(tagName) !== -1) {\n      if (options.suppressUnpairedNode)\n        xmlStr += tagStart + \">\";\n      else\n        xmlStr += tagStart + \"/>\";\n    } else if ((!tagValue || tagValue.length === 0) && options.suppressEmptyNode) {\n      xmlStr += tagStart + \"/>\";\n    } else if (tagValue && tagValue.endsWith(\">\")) {\n      xmlStr += tagStart + `>${tagValue}${indentation}</${tagName}>`;\n    } else {\n      xmlStr += tagStart + \">\";\n      if (tagValue && indentation !== \"\" && (tagValue.includes(\"/>\") || tagValue.includes(\"</\"))) {\n        xmlStr += indentation + options.indentBy + tagValue + indentation;\n      } else {\n        xmlStr += tagValue;\n      }\n      xmlStr += `</${tagName}>`;\n    }\n    isPreviousElementTag = true;\n  }\n  return xmlStr;\n}\nfunction propName(obj) {\n  const keys = Object.keys(obj);\n  for (let i = 0; i < keys.length; i++) {\n    const key = keys[i];\n    if (!obj.hasOwnProperty(key))\n      continue;\n    if (key !== \":@\")\n      return key;\n  }\n}\nfunction attr_to_str(attrMap, options) {\n  let attrStr = \"\";\n  if (attrMap && !options.ignoreAttributes) {\n    for (let attr in attrMap) {\n      if (!attrMap.hasOwnProperty(attr))\n        continue;\n      let attrVal = options.attributeValueProcessor(attr, attrMap[attr]);\n      attrVal = replaceEntitiesValue(attrVal, options);\n      if (attrVal === true && options.suppressBooleanAttributes) {\n        attrStr += ` ${attr.substr(options.attributeNamePrefix.length)}`;\n      } else {\n        attrStr += ` ${attr.substr(options.attributeNamePrefix.length)}=\"${attrVal}\"`;\n      }\n    }\n  }\n  return attrStr;\n}\nfunction isStopNode(jPath, options) {\n  jPath = jPath.substr(0, jPath.length - options.textNodeName.length - 1);\n  let tagName = jPath.substr(jPath.lastIndexOf(\".\") + 1);\n  for (let index in options.stopNodes) {\n    if (options.stopNodes[index] === jPath || options.stopNodes[index] === \"*.\" + tagName)\n      return true;\n  }\n  return false;\n}\nfunction replaceEntitiesValue(textValue, options) {\n  if (textValue && textValue.length > 0 && options.processEntities) {\n    for (let i = 0; i < options.entities.length; i++) {\n      const entity = options.entities[i];\n      textValue = textValue.replace(entity.regex, entity.val);\n    }\n  }\n  return textValue;\n}\nvar orderedJs2Xml = toXml;\nconst buildFromOrderedJs = orderedJs2Xml;\nconst defaultOptions = {\n  attributeNamePrefix: \"@_\",\n  attributesGroupName: false,\n  textNodeName: \"#text\",\n  ignoreAttributes: true,\n  cdataPropName: false,\n  format: false,\n  indentBy: \"  \",\n  suppressEmptyNode: false,\n  suppressUnpairedNode: true,\n  suppressBooleanAttributes: true,\n  tagValueProcessor: function(key, a) {\n    return a;\n  },\n  attributeValueProcessor: function(attrName, a) {\n    return a;\n  },\n  preserveOrder: false,\n  commentPropName: false,\n  unpairedTags: [],\n  entities: [\n    { regex: new RegExp(\"&\", \"g\"), val: \"&amp;\" },\n    //it must be on top\n    { regex: new RegExp(\">\", \"g\"), val: \"&gt;\" },\n    { regex: new RegExp(\"<\", \"g\"), val: \"&lt;\" },\n    { regex: new RegExp(\"'\", \"g\"), val: \"&apos;\" },\n    { regex: new RegExp('\"', \"g\"), val: \"&quot;\" }\n  ],\n  processEntities: true,\n  stopNodes: [],\n  // transformTagName: false,\n  // transformAttributeName: false,\n  oneListGroup: false\n};\nfunction Builder(options) {\n  this.options = Object.assign({}, defaultOptions, options);\n  if (this.options.ignoreAttributes || this.options.attributesGroupName) {\n    this.isAttribute = function() {\n      return false;\n    };\n  } else {\n    this.attrPrefixLen = this.options.attributeNamePrefix.length;\n    this.isAttribute = isAttribute;\n  }\n  this.processTextOrObjNode = processTextOrObjNode;\n  if (this.options.format) {\n    this.indentate = indentate;\n    this.tagEndChar = \">\\n\";\n    this.newLine = \"\\n\";\n  } else {\n    this.indentate = function() {\n      return \"\";\n    };\n    this.tagEndChar = \">\";\n    this.newLine = \"\";\n  }\n}\nBuilder.prototype.build = function(jObj) {\n  if (this.options.preserveOrder) {\n    return buildFromOrderedJs(jObj, this.options);\n  } else {\n    if (Array.isArray(jObj) && this.options.arrayNodeName && this.options.arrayNodeName.length > 1) {\n      jObj = {\n        [this.options.arrayNodeName]: jObj\n      };\n    }\n    return this.j2x(jObj, 0).val;\n  }\n};\nBuilder.prototype.j2x = function(jObj, level) {\n  let attrStr = \"\";\n  let val2 = \"\";\n  for (let key in jObj) {\n    if (!Object.prototype.hasOwnProperty.call(jObj, key))\n      continue;\n    if (typeof jObj[key] === \"undefined\") {\n      if (this.isAttribute(key)) {\n        val2 += \"\";\n      }\n    } else if (jObj[key] === null) {\n      if (this.isAttribute(key)) {\n        val2 += \"\";\n      } else if (key[0] === \"?\") {\n        val2 += this.indentate(level) + \"<\" + key + \"?\" + this.tagEndChar;\n      } else {\n        val2 += this.indentate(level) + \"<\" + key + \"/\" + this.tagEndChar;\n      }\n    } else if (jObj[key] instanceof Date) {\n      val2 += this.buildTextValNode(jObj[key], key, \"\", level);\n    } else if (typeof jObj[key] !== \"object\") {\n      const attr = this.isAttribute(key);\n      if (attr) {\n        attrStr += this.buildAttrPairStr(attr, \"\" + jObj[key]);\n      } else {\n        if (key === this.options.textNodeName) {\n          let newval = this.options.tagValueProcessor(key, \"\" + jObj[key]);\n          val2 += this.replaceEntitiesValue(newval);\n        } else {\n          val2 += this.buildTextValNode(jObj[key], key, \"\", level);\n        }\n      }\n    } else if (Array.isArray(jObj[key])) {\n      const arrLen = jObj[key].length;\n      let listTagVal = \"\";\n      for (let j = 0; j < arrLen; j++) {\n        const item = jObj[key][j];\n        if (typeof item === \"undefined\")\n          ;\n        else if (item === null) {\n          if (key[0] === \"?\")\n            val2 += this.indentate(level) + \"<\" + key + \"?\" + this.tagEndChar;\n          else\n            val2 += this.indentate(level) + \"<\" + key + \"/\" + this.tagEndChar;\n        } else if (typeof item === \"object\") {\n          if (this.options.oneListGroup) {\n            listTagVal += this.j2x(item, level + 1).val;\n          } else {\n            listTagVal += this.processTextOrObjNode(item, key, level);\n          }\n        } else {\n          listTagVal += this.buildTextValNode(item, key, \"\", level);\n        }\n      }\n      if (this.options.oneListGroup) {\n        listTagVal = this.buildObjectNode(listTagVal, key, \"\", level);\n      }\n      val2 += listTagVal;\n    } else {\n      if (this.options.attributesGroupName && key === this.options.attributesGroupName) {\n        const Ks = Object.keys(jObj[key]);\n        const L = Ks.length;\n        for (let j = 0; j < L; j++) {\n          attrStr += this.buildAttrPairStr(Ks[j], \"\" + jObj[key][Ks[j]]);\n        }\n      } else {\n        val2 += this.processTextOrObjNode(jObj[key], key, level);\n      }\n    }\n  }\n  return { attrStr, val: val2 };\n};\nBuilder.prototype.buildAttrPairStr = function(attrName, val2) {\n  val2 = this.options.attributeValueProcessor(attrName, \"\" + val2);\n  val2 = this.replaceEntitiesValue(val2);\n  if (this.options.suppressBooleanAttributes && val2 === \"true\") {\n    return \" \" + attrName;\n  } else\n    return \" \" + attrName + '=\"' + val2 + '\"';\n};\nfunction processTextOrObjNode(object, key, level) {\n  const result = this.j2x(object, level + 1);\n  if (object[this.options.textNodeName] !== void 0 && Object.keys(object).length === 1) {\n    return this.buildTextValNode(object[this.options.textNodeName], key, result.attrStr, level);\n  } else {\n    return this.buildObjectNode(result.val, key, result.attrStr, level);\n  }\n}\nBuilder.prototype.buildObjectNode = function(val2, key, attrStr, level) {\n  if (val2 === \"\") {\n    if (key[0] === \"?\")\n      return this.indentate(level) + \"<\" + key + attrStr + \"?\" + this.tagEndChar;\n    else {\n      return this.indentate(level) + \"<\" + key + attrStr + this.closeTag(key) + this.tagEndChar;\n    }\n  } else {\n    let tagEndExp = \"</\" + key + this.tagEndChar;\n    let piClosingChar = \"\";\n    if (key[0] === \"?\") {\n      piClosingChar = \"?\";\n      tagEndExp = \"\";\n    }\n    if ((attrStr || attrStr === \"\") && val2.indexOf(\"<\") === -1) {\n      return this.indentate(level) + \"<\" + key + attrStr + piClosingChar + \">\" + val2 + tagEndExp;\n    } else if (this.options.commentPropName !== false && key === this.options.commentPropName && piClosingChar.length === 0) {\n      return this.indentate(level) + `<!--${val2}-->` + this.newLine;\n    } else {\n      return this.indentate(level) + \"<\" + key + attrStr + piClosingChar + this.tagEndChar + val2 + this.indentate(level) + tagEndExp;\n    }\n  }\n};\nBuilder.prototype.closeTag = function(key) {\n  let closeTag = \"\";\n  if (this.options.unpairedTags.indexOf(key) !== -1) {\n    if (!this.options.suppressUnpairedNode)\n      closeTag = \"/\";\n  } else if (this.options.suppressEmptyNode) {\n    closeTag = \"/\";\n  } else {\n    closeTag = `></${key}`;\n  }\n  return closeTag;\n};\nBuilder.prototype.buildTextValNode = function(val2, key, attrStr, level) {\n  if (this.options.cdataPropName !== false && key === this.options.cdataPropName) {\n    return this.indentate(level) + `<![CDATA[${val2}]]>` + this.newLine;\n  } else if (this.options.commentPropName !== false && key === this.options.commentPropName) {\n    return this.indentate(level) + `<!--${val2}-->` + this.newLine;\n  } else if (key[0] === \"?\") {\n    return this.indentate(level) + \"<\" + key + attrStr + \"?\" + this.tagEndChar;\n  } else {\n    let textValue = this.options.tagValueProcessor(key, val2);\n    textValue = this.replaceEntitiesValue(textValue);\n    if (textValue === \"\") {\n      return this.indentate(level) + \"<\" + key + attrStr + this.closeTag(key) + this.tagEndChar;\n    } else {\n      return this.indentate(level) + \"<\" + key + attrStr + \">\" + textValue + \"</\" + key + this.tagEndChar;\n    }\n  }\n};\nBuilder.prototype.replaceEntitiesValue = function(textValue) {\n  if (textValue && textValue.length > 0 && this.options.processEntities) {\n    for (let i = 0; i < this.options.entities.length; i++) {\n      const entity = this.options.entities[i];\n      textValue = textValue.replace(entity.regex, entity.val);\n    }\n  }\n  return textValue;\n};\nfunction indentate(level) {\n  return this.options.indentBy.repeat(level);\n}\nfunction isAttribute(name) {\n  if (name.startsWith(this.options.attributeNamePrefix) && name !== this.options.textNodeName) {\n    return name.substr(this.attrPrefixLen);\n  } else {\n    return false;\n  }\n}\nvar json2xml = Builder;\nconst validator = validator$2;\nconst XMLParser2 = XMLParser_1;\nconst XMLBuilder = json2xml;\nvar fxp = {\n  XMLParser: XMLParser2,\n  XMLValidator: validator,\n  XMLBuilder\n};\nfunction isSvg(string) {\n  if (typeof string !== \"string\") {\n    throw new TypeError(`Expected a \\`string\\`, got \\`${typeof string}\\``);\n  }\n  string = string.trim();\n  if (string.length === 0) {\n    return false;\n  }\n  if (fxp.XMLValidator.validate(string) !== true) {\n    return false;\n  }\n  let jsonObject;\n  const parser = new fxp.XMLParser();\n  try {\n    jsonObject = parser.parse(string);\n  } catch {\n    return false;\n  }\n  if (!jsonObject) {\n    return false;\n  }\n  if (!Object.keys(jsonObject).some((x) => x.toLowerCase() === \"svg\")) {\n    return false;\n  }\n  return true;\n}\n/**\n * @copyright Copyright (c) 2022 John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @author John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @license AGPL-3.0-or-later\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */\nclass View {\n  _view;\n  constructor(view) {\n    isValidView(view);\n    this._view = view;\n  }\n  get id() {\n    return this._view.id;\n  }\n  get name() {\n    return this._view.name;\n  }\n  get caption() {\n    return this._view.caption;\n  }\n  get emptyTitle() {\n    return this._view.emptyTitle;\n  }\n  get emptyCaption() {\n    return this._view.emptyCaption;\n  }\n  get getContents() {\n    return this._view.getContents;\n  }\n  get icon() {\n    return this._view.icon;\n  }\n  set icon(icon) {\n    this._view.icon = icon;\n  }\n  get order() {\n    return this._view.order;\n  }\n  set order(order) {\n    this._view.order = order;\n  }\n  get params() {\n    return this._view.params;\n  }\n  set params(params) {\n    this._view.params = params;\n  }\n  get columns() {\n    return this._view.columns;\n  }\n  get emptyView() {\n    return this._view.emptyView;\n  }\n  get parent() {\n    return this._view.parent;\n  }\n  get sticky() {\n    return this._view.sticky;\n  }\n  get expanded() {\n    return this._view.expanded;\n  }\n  set expanded(expanded) {\n    this._view.expanded = expanded;\n  }\n  get defaultSortKey() {\n    return this._view.defaultSortKey;\n  }\n}\nconst isValidView = function(view) {\n  if (!view.id || typeof view.id !== \"string\") {\n    throw new Error(\"View id is required and must be a string\");\n  }\n  if (!view.name || typeof view.name !== \"string\") {\n    throw new Error(\"View name is required and must be a string\");\n  }\n  if (view.columns && view.columns.length > 0 && (!view.caption || typeof view.caption !== \"string\")) {\n    throw new Error(\"View caption is required for top-level views and must be a string\");\n  }\n  if (!view.getContents || typeof view.getContents !== \"function\") {\n    throw new Error(\"View getContents is required and must be a function\");\n  }\n  if (!view.icon || typeof view.icon !== \"string\" || !isSvg(view.icon)) {\n    throw new Error(\"View icon is required and must be a valid svg string\");\n  }\n  if (!(\"order\" in view) || typeof view.order !== \"number\") {\n    throw new Error(\"View order is required and must be a number\");\n  }\n  if (view.columns) {\n    view.columns.forEach((column) => {\n      if (!(column instanceof Column)) {\n        throw new Error(\"View columns must be an array of Column. Invalid column found\");\n      }\n    });\n  }\n  if (view.emptyView && typeof view.emptyView !== \"function\") {\n    throw new Error(\"View emptyView must be a function\");\n  }\n  if (view.parent && typeof view.parent !== \"string\") {\n    throw new Error(\"View parent must be a string\");\n  }\n  if (\"sticky\" in view && typeof view.sticky !== \"boolean\") {\n    throw new Error(\"View sticky must be a boolean\");\n  }\n  if (\"expanded\" in view && typeof view.expanded !== \"boolean\") {\n    throw new Error(\"View expanded must be a boolean\");\n  }\n  if (view.defaultSortKey && typeof view.defaultSortKey !== \"string\") {\n    throw new Error(\"View defaultSortKey must be a string\");\n  }\n  return true;\n};\n/**\n * @copyright 2019 Christoph Wurst <christoph@winzerhof-wurst.at>\n *\n * @author Christoph Wurst <christoph@winzerhof-wurst.at>\n * @author John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @license AGPL-3.0-or-later\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */\nconst addNewFileMenuEntry = function(entry) {\n  const newFileMenu = getNewFileMenu();\n  return newFileMenu.registerEntry(entry);\n};\nconst removeNewFileMenuEntry = function(entry) {\n  const newFileMenu = getNewFileMenu();\n  return newFileMenu.unregisterEntry(entry);\n};\nconst getNewFileMenuEntries = function(context) {\n  const newFileMenu = getNewFileMenu();\n  return newFileMenu.getEntries(context).sort((a, b) => {\n    if (a.order !== void 0 && b.order !== void 0 && a.order !== b.order) {\n      return a.order - b.order;\n    }\n    return a.displayName.localeCompare(b.displayName, void 0, { numeric: true, sensitivity: \"base\" });\n  });\n};\nexport {\n  Column,\n  DefaultType,\n  File,\n  FileAction,\n  FileType,\n  FilesSortingMode,\n  Folder,\n  Header,\n  Navigation,\n  NewMenuEntryCategory,\n  Node,\n  NodeStatus,\n  Permission,\n  View,\n  addNewFileMenuEntry,\n  davGetClient,\n  davGetDefaultPropfind,\n  davGetFavoritesReport,\n  davGetRecentSearch,\n  davParsePermissions,\n  davRemoteURL,\n  davResultToNode,\n  davRootPath,\n  defaultDavNamespaces,\n  defaultDavProperties,\n  formatFileSize,\n  getDavNameSpaces,\n  getDavProperties,\n  getFavoriteNodes,\n  getFileActions,\n  getFileListHeaders,\n  getNavigation,\n  getNewFileMenuEntries,\n  isFilenameValid,\n  orderBy,\n  parseFileSize,\n  registerDavProperty,\n  registerFileAction,\n  registerFileListHeaders,\n  removeNewFileMenuEntry,\n  sortNodes\n};\n","/**\n * @copyright Copyright (c) 2022 John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @author John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @license AGPL-3.0-or-later\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */\nimport { getLoggerBuilder } from '@nextcloud/logger';\nexport default getLoggerBuilder()\n    .setApp('files_sharing')\n    .detectUser()\n    .build();\n","import { Folder, File } from '@nextcloud/files';\nimport { generateOcsUrl, generateRemoteUrl } from '@nextcloud/router';\nimport { getCurrentUser } from '@nextcloud/auth';\nimport axios from '@nextcloud/axios';\nimport logger from './logger';\nexport const rootPath = `/files/${getCurrentUser()?.uid}`;\nconst headers = {\n    'Content-Type': 'application/json',\n};\nconst ocsEntryToNode = function (ocsEntry) {\n    try {\n        const isFolder = ocsEntry?.item_type === 'folder';\n        const hasPreview = ocsEntry?.has_preview === true;\n        const Node = isFolder ? Folder : File;\n        const fileid = ocsEntry.file_source;\n        // Generate path and strip double slashes\n        const path = ocsEntry?.path || ocsEntry.file_target;\n        const source = generateRemoteUrl(`dav/${rootPath}/${path}`.replaceAll(/\\/\\//gm, '/'));\n        // Prefer share time if more recent than item mtime\n        let mtime = ocsEntry?.item_mtime ? new Date((ocsEntry.item_mtime) * 1000) : undefined;\n        if (ocsEntry?.stime > (ocsEntry?.item_mtime || 0)) {\n            mtime = new Date((ocsEntry.stime) * 1000);\n        }\n        return new Node({\n            id: fileid,\n            source,\n            owner: ocsEntry?.uid_owner,\n            mime: ocsEntry?.mimetype,\n            mtime,\n            size: ocsEntry?.item_size,\n            permissions: ocsEntry?.item_permissions || ocsEntry?.permissions,\n            root: rootPath,\n            attributes: {\n                ...ocsEntry,\n                'has-preview': hasPreview,\n                // Also check the sharingStatusAction.ts code\n                'owner-id': ocsEntry?.uid_owner,\n                'owner-display-name': ocsEntry?.displayname_owner,\n                'share-types': ocsEntry?.share_type,\n                favorite: ocsEntry?.tags?.includes(window.OC.TAG_FAVORITE) ? 1 : 0,\n            },\n        });\n    }\n    catch (error) {\n        logger.error('Error while parsing OCS entry', { error });\n        return null;\n    }\n};\nconst getShares = function (shared_with_me = false) {\n    const url = generateOcsUrl('apps/files_sharing/api/v1/shares');\n    return axios.get(url, {\n        headers,\n        params: {\n            shared_with_me,\n            include_tags: true,\n        },\n    });\n};\nconst getSharedWithYou = function () {\n    return getShares(true);\n};\nconst getSharedWithOthers = function () {\n    return getShares();\n};\nconst getRemoteShares = function () {\n    const url = generateOcsUrl('apps/files_sharing/api/v1/remote_shares');\n    return axios.get(url, {\n        headers,\n        params: {\n            include_tags: true,\n        },\n    });\n};\nconst getPendingShares = function () {\n    const url = generateOcsUrl('apps/files_sharing/api/v1/shares/pending');\n    return axios.get(url, {\n        headers,\n        params: {\n            include_tags: true,\n        },\n    });\n};\nconst getRemotePendingShares = function () {\n    const url = generateOcsUrl('apps/files_sharing/api/v1/remote_shares/pending');\n    return axios.get(url, {\n        headers,\n        params: {\n            include_tags: true,\n        },\n    });\n};\nconst getDeletedShares = function () {\n    const url = generateOcsUrl('apps/files_sharing/api/v1/deletedshares');\n    return axios.get(url, {\n        headers,\n        params: {\n            include_tags: true,\n        },\n    });\n};\n/**\n * Group an array of objects (here Nodes) by a key\n * and return an array of arrays of them.\n */\nconst groupBy = function (nodes, key) {\n    return Object.values(nodes.reduce(function (acc, curr) {\n        (acc[curr[key]] = acc[curr[key]] || []).push(curr);\n        return acc;\n    }, {}));\n};\nexport const getContents = async (sharedWithYou = true, sharedWithOthers = true, pendingShares = false, deletedshares = false, filterTypes = []) => {\n    const promises = [];\n    if (sharedWithYou) {\n        promises.push(getSharedWithYou(), getRemoteShares());\n    }\n    if (sharedWithOthers) {\n        promises.push(getSharedWithOthers());\n    }\n    if (pendingShares) {\n        promises.push(getPendingShares(), getRemotePendingShares());\n    }\n    if (deletedshares) {\n        promises.push(getDeletedShares());\n    }\n    const responses = await Promise.all(promises);\n    const data = responses.map((response) => response.data.ocs.data).flat();\n    let contents = data.map(ocsEntryToNode)\n        .filter((node) => node !== null);\n    if (filterTypes.length > 0) {\n        contents = contents.filter((node) => filterTypes.includes(node.attributes?.share_type));\n    }\n    // Merge duplicate shares and group their attributes\n    // Also check the sharingStatusAction.ts code\n    contents = groupBy(contents, 'source').map((nodes) => {\n        const node = nodes[0];\n        node.attributes['share-types'] = nodes.map(node => node.attributes['share-types']);\n        return node;\n    });\n    return {\n        folder: new Folder({\n            id: 0,\n            source: generateRemoteUrl('dav' + rootPath),\n            owner: getCurrentUser()?.uid || null,\n        }),\n        contents,\n    };\n};\n","/**\n * @copyright Copyright (c) 2023 John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @author John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @license AGPL-3.0-or-later\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */\nimport { translate as t } from '@nextcloud/l10n';\nimport { View, getNavigation } from '@nextcloud/files';\nimport AccountClockSvg from '@mdi/svg/svg/account-clock.svg?raw';\nimport AccountGroupSvg from '@mdi/svg/svg/account-group.svg?raw';\nimport AccountPlusSvg from '@mdi/svg/svg/account-plus.svg?raw';\nimport AccountSvg from '@mdi/svg/svg/account.svg?raw';\nimport DeleteSvg from '@mdi/svg/svg/delete.svg?raw';\nimport LinkSvg from '@mdi/svg/svg/link.svg?raw';\nimport { getContents } from '../services/SharingService';\nexport const sharesViewId = 'shareoverview';\nexport const sharedWithYouViewId = 'sharingin';\nexport const sharedWithOthersViewId = 'sharingout';\nexport const sharingByLinksViewId = 'sharinglinks';\nexport const deletedSharesViewId = 'deletedshares';\nexport const pendingSharesViewId = 'pendingshares';\nexport default () => {\n    const Navigation = getNavigation();\n    Navigation.register(new View({\n        id: sharesViewId,\n        name: t('files_sharing', 'Shares'),\n        caption: t('files_sharing', 'Overview of shared files.'),\n        emptyTitle: t('files_sharing', 'No shares'),\n        emptyCaption: t('files_sharing', 'Files and folders you shared or have been shared with you will show up here'),\n        icon: AccountPlusSvg,\n        order: 20,\n        columns: [],\n        getContents: () => getContents(),\n    }));\n    Navigation.register(new View({\n        id: sharedWithYouViewId,\n        name: t('files_sharing', 'Shared with you'),\n        caption: t('files_sharing', 'List of files that are shared with you.'),\n        emptyTitle: t('files_sharing', 'Nothing shared with you yet'),\n        emptyCaption: t('files_sharing', 'Files and folders others shared with you will show up here'),\n        icon: AccountSvg,\n        order: 1,\n        parent: sharesViewId,\n        columns: [],\n        getContents: () => getContents(true, false, false, false),\n    }));\n    Navigation.register(new View({\n        id: sharedWithOthersViewId,\n        name: t('files_sharing', 'Shared with others'),\n        caption: t('files_sharing', 'List of files that you shared with others.'),\n        emptyTitle: t('files_sharing', 'Nothing shared yet'),\n        emptyCaption: t('files_sharing', 'Files and folders you shared will show up here'),\n        icon: AccountGroupSvg,\n        order: 2,\n        parent: sharesViewId,\n        columns: [],\n        getContents: () => getContents(false, true, false, false),\n    }));\n    Navigation.register(new View({\n        id: sharingByLinksViewId,\n        name: t('files_sharing', 'Shared by link'),\n        caption: t('files_sharing', 'List of files that are shared by link.'),\n        emptyTitle: t('files_sharing', 'No shared links'),\n        emptyCaption: t('files_sharing', 'Files and folders you shared by link will show up here'),\n        icon: LinkSvg,\n        order: 3,\n        parent: sharesViewId,\n        columns: [],\n        getContents: () => getContents(false, true, false, false, [window.OC.Share.SHARE_TYPE_LINK]),\n    }));\n    Navigation.register(new View({\n        id: deletedSharesViewId,\n        name: t('files_sharing', 'Deleted shares'),\n        caption: t('files_sharing', 'List of shares you left.'),\n        emptyTitle: t('files_sharing', 'No deleted shares'),\n        emptyCaption: t('files_sharing', 'Shares you have left will show up here'),\n        icon: DeleteSvg,\n        order: 4,\n        parent: sharesViewId,\n        columns: [],\n        getContents: () => getContents(false, false, false, true),\n    }));\n    Navigation.register(new View({\n        id: pendingSharesViewId,\n        name: t('files_sharing', 'Pending shares'),\n        caption: t('files_sharing', 'List of unapproved shares.'),\n        emptyTitle: t('files_sharing', 'No pending shares'),\n        emptyCaption: t('files_sharing', 'Shares you have received but not approved will show up here'),\n        icon: AccountClockSvg,\n        order: 5,\n        parent: sharesViewId,\n        columns: [],\n        getContents: () => getContents(false, false, true, false),\n    }));\n};\n","import { emit } from '@nextcloud/event-bus';\nimport { generateOcsUrl } from '@nextcloud/router';\nimport { registerFileAction, FileAction } from '@nextcloud/files';\nimport { translatePlural as n } from '@nextcloud/l10n';\nimport axios from '@nextcloud/axios';\nimport CheckSvg from '@mdi/svg/svg/check.svg?raw';\nimport { pendingSharesViewId } from '../views/shares';\nexport const action = new FileAction({\n    id: 'accept-share',\n    displayName: (nodes) => n('files_sharing', 'Accept share', 'Accept shares', nodes.length),\n    iconSvgInline: () => CheckSvg,\n    enabled: (nodes, view) => nodes.length > 0 && view.id === pendingSharesViewId,\n    async exec(node) {\n        try {\n            const isRemote = !!node.attributes.remote;\n            const url = generateOcsUrl('apps/files_sharing/api/v1/{shareBase}/pending/{id}', {\n                shareBase: isRemote ? 'remote_shares' : 'shares',\n                id: node.attributes.id,\n            });\n            await axios.post(url);\n            // Remove from current view\n            emit('files:node:deleted', node);\n            return true;\n        }\n        catch (error) {\n            return false;\n        }\n    },\n    async execBatch(nodes, view, dir) {\n        return Promise.all(nodes.map(node => this.exec(node, view, dir)));\n    },\n    order: 1,\n    inline: () => true,\n});\nregisterFileAction(action);\n","import { registerFileAction, FileAction, DefaultType } from '@nextcloud/files';\nimport { translate as t } from '@nextcloud/l10n';\nimport { sharesViewId, sharedWithYouViewId, sharedWithOthersViewId, sharingByLinksViewId } from '../views/shares';\nexport const action = new FileAction({\n    id: 'open-in-files',\n    displayName: () => t('files', 'Open in Files'),\n    iconSvgInline: () => '',\n    enabled: (nodes, view) => [\n        sharesViewId,\n        sharedWithYouViewId,\n        sharedWithOthersViewId,\n        sharingByLinksViewId,\n        // Deleted and pending shares are not\n        // accessible in the files app.\n    ].includes(view.id),\n    async exec(node) {\n        window.OCP.Files.Router.goToRoute(null, // use default route\n        { view: 'files', fileid: node.fileid }, { dir: node.dirname });\n        return null;\n    },\n    // Before openFolderAction\n    order: -1000,\n    default: DefaultType.HIDDEN,\n});\nregisterFileAction(action);\n","import { emit } from '@nextcloud/event-bus';\nimport { generateOcsUrl } from '@nextcloud/router';\nimport { registerFileAction, FileAction } from '@nextcloud/files';\nimport { translatePlural as n } from '@nextcloud/l10n';\nimport axios from '@nextcloud/axios';\nimport CloseSvg from '@mdi/svg/svg/close.svg?raw';\nimport { pendingSharesViewId } from '../views/shares';\nexport const action = new FileAction({\n    id: 'reject-share',\n    displayName: (nodes) => n('files_sharing', 'Reject share', 'Reject shares', nodes.length),\n    iconSvgInline: () => CloseSvg,\n    enabled: (nodes, view) => {\n        if (view.id !== pendingSharesViewId) {\n            return false;\n        }\n        if (nodes.length === 0) {\n            return false;\n        }\n        // disable rejecting group shares from the pending list because they anyway\n        // land back into that same list after rejecting them\n        if (nodes.some(node => node.attributes.remote_id\n            && node.attributes.share_type === window.OC.Share.SHARE_TYPE_REMOTE_GROUP)) {\n            return false;\n        }\n        return true;\n    },\n    async exec(node) {\n        try {\n            const isRemote = !!node.attributes.remote;\n            const url = generateOcsUrl('apps/files_sharing/api/v1/{shareBase}/{id}', {\n                shareBase: isRemote ? 'remote_shares' : 'shares',\n                id: node.attributes.id,\n            });\n            await axios.delete(url);\n            // Remove from current view\n            emit('files:node:deleted', node);\n            return true;\n        }\n        catch (error) {\n            return false;\n        }\n    },\n    async execBatch(nodes, view, dir) {\n        return Promise.all(nodes.map(node => this.exec(node, view, dir)));\n    },\n    order: 2,\n    inline: () => true,\n});\nregisterFileAction(action);\n","import { emit } from '@nextcloud/event-bus';\nimport { FileAction, registerFileAction } from '@nextcloud/files';\nimport { generateOcsUrl } from '@nextcloud/router';\nimport { translatePlural as n } from '@nextcloud/l10n';\nimport ArrowULeftTopSvg from '@mdi/svg/svg/arrow-u-left-top.svg?raw';\nimport axios from '@nextcloud/axios';\nimport { deletedSharesViewId } from '../views/shares';\nexport const action = new FileAction({\n    id: 'restore-share',\n    displayName: (nodes) => n('files_sharing', 'Restore share', 'Restore shares', nodes.length),\n    iconSvgInline: () => ArrowULeftTopSvg,\n    enabled: (nodes, view) => nodes.length > 0 && view.id === deletedSharesViewId,\n    async exec(node) {\n        try {\n            const url = generateOcsUrl('apps/files_sharing/api/v1/deletedshares/{id}', {\n                id: node.attributes.id,\n            });\n            await axios.post(url);\n            // Remove from current view\n            emit('files:node:deleted', node);\n            return true;\n        }\n        catch (error) {\n            return false;\n        }\n    },\n    async execBatch(nodes, view, dir) {\n        return Promise.all(nodes.map(node => this.exec(node, view, dir)));\n    },\n    order: 1,\n    inline: () => true,\n});\nregisterFileAction(action);\n","/**\n * SPDX-FileCopyrightText: 2022 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\nimport { getLoggerBuilder } from '@nextcloud/logger'\n\nexport default getLoggerBuilder()\n\t.setApp('files')\n\t.detectUser()\n\t.build()\n","/**\n * SPDX-FileCopyrightText: 2023 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\nimport { Permission, View, FileAction, FileType } from '@nextcloud/files';\nimport { translate as t } from '@nextcloud/l10n';\nimport InformationSvg from '@mdi/svg/svg/information-variant.svg?raw';\nimport logger from '../logger.js';\nexport const ACTION_DETAILS = 'details';\nexport const action = new FileAction({\n    id: ACTION_DETAILS,\n    displayName: () => t('files', 'Open details'),\n    iconSvgInline: () => InformationSvg,\n    // Sidebar currently supports user folder only, /files/USER\n    enabled: (nodes) => {\n        // Only works on single node\n        if (nodes.length !== 1) {\n            return false;\n        }\n        if (!nodes[0]) {\n            return false;\n        }\n        // Only work if the sidebar is available\n        if (!window?.OCA?.Files?.Sidebar) {\n            return false;\n        }\n        return (nodes[0].root?.startsWith('/files/') && nodes[0].permissions !== Permission.NONE) ?? false;\n    },\n    async exec(node, view, dir) {\n        try {\n            // TODO: migrate Sidebar to use a Node instead\n            await window.OCA.Files.Sidebar.open(node.path);\n            // Silently update current fileid\n            window.OCP.Files.Router.goToRoute(null, { view: view.id, fileid: node.fileid }, { dir }, true);\n            return null;\n        }\n        catch (error) {\n            logger.error('Error while opening sidebar', { error });\n            return false;\n        }\n    },\n    order: -50,\n});\n","\n      import API from \"!../../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n      import domAPI from \"!../../../../node_modules/style-loader/dist/runtime/styleDomAPI.js\";\n      import insertFn from \"!../../../../node_modules/style-loader/dist/runtime/insertBySelector.js\";\n      import setAttributes from \"!../../../../node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js\";\n      import insertStyleElement from \"!../../../../node_modules/style-loader/dist/runtime/insertStyleElement.js\";\n      import styleTagTransformFn from \"!../../../../node_modules/style-loader/dist/runtime/styleTagTransform.js\";\n      import content, * as namedExport from \"!!../../../../node_modules/css-loader/dist/cjs.js!../../../../node_modules/sass-loader/dist/cjs.js!./sharingStatusAction.scss\";\n      \n      \n\nvar options = {};\n\noptions.styleTagTransform = styleTagTransformFn;\noptions.setAttributes = setAttributes;\n\n      options.insert = insertFn.bind(null, \"head\");\n    \noptions.domAPI = domAPI;\noptions.insertStyleElement = insertStyleElement;\n\nvar update = API(content, options);\n\n\n\nexport * from \"!!../../../../node_modules/css-loader/dist/cjs.js!../../../../node_modules/sass-loader/dist/cjs.js!./sharingStatusAction.scss\";\n       export default content && content.locals ? content.locals : undefined;\n","/**\n * @copyright Copyright (c) 2023 John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @author John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @license AGPL-3.0-or-later\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */\nimport { Node, View, registerFileAction, FileAction, Permission } from '@nextcloud/files';\nimport { translate as t } from '@nextcloud/l10n';\nimport { Type } from '@nextcloud/sharing';\nimport AccountGroupSvg from '@mdi/svg/svg/account-group.svg?raw';\nimport AccountPlusSvg from '@mdi/svg/svg/account-plus.svg?raw';\nimport LinkSvg from '@mdi/svg/svg/link.svg?raw';\nimport CircleSvg from '../../../../core/img/apps/circles.svg?raw';\nimport { action as sidebarAction } from '../../../files/src/actions/sidebarAction';\nimport { generateUrl } from '@nextcloud/router';\nimport { getCurrentUser } from '@nextcloud/auth';\nimport './sharingStatusAction.scss';\nconst generateAvatarSvg = (userId) => {\n    const avatarUrl = generateUrl('/avatar/{userId}/32', { userId });\n    return `<svg width=\"32\" height=\"32\" viewBox=\"0 0 32 32\"\n\t\txmlns=\"http://www.w3.org/2000/svg\" class=\"sharing-status__avatar\">\n\t\t<image href=\"${avatarUrl}\" height=\"32\" width=\"32\" />\n\t</svg>`;\n};\nexport const action = new FileAction({\n    id: 'sharing-status',\n    displayName(nodes) {\n        const node = nodes[0];\n        const shareTypes = Object.values(node?.attributes?.['share-types'] || {}).flat();\n        const ownerId = node?.attributes?.['owner-id'];\n        if (shareTypes.length > 0\n            || (ownerId && ownerId !== getCurrentUser()?.uid)) {\n            return t('files_sharing', 'Shared');\n        }\n        return '';\n    },\n    title(nodes) {\n        const node = nodes[0];\n        const ownerId = node?.attributes?.['owner-id'];\n        const ownerDisplayName = node?.attributes?.['owner-display-name'];\n        // Mixed share types\n        if (Array.isArray(node.attributes?.['share-types'])) {\n            return t('files_sharing', 'Shared multiple times with different people');\n        }\n        if (ownerId && ownerId !== getCurrentUser()?.uid) {\n            return t('files_sharing', 'Shared by {ownerDisplayName}', { ownerDisplayName });\n        }\n        return t('files_sharing', 'Show sharing options');\n    },\n    iconSvgInline(nodes) {\n        const node = nodes[0];\n        const shareTypes = Object.values(node?.attributes?.['share-types'] || {}).flat();\n        // Mixed share types\n        if (Array.isArray(node.attributes?.['share-types'])) {\n            return AccountPlusSvg;\n        }\n        // Link shares\n        if (shareTypes.includes(Type.SHARE_TYPE_LINK)\n            || shareTypes.includes(Type.SHARE_TYPE_EMAIL)) {\n            return LinkSvg;\n        }\n        // Group shares\n        if (shareTypes.includes(Type.SHARE_TYPE_GROUP)\n            || shareTypes.includes(Type.SHARE_TYPE_REMOTE_GROUP)) {\n            return AccountGroupSvg;\n        }\n        // Circle shares\n        if (shareTypes.includes(Type.SHARE_TYPE_CIRCLE)) {\n            return CircleSvg;\n        }\n        const ownerId = node?.attributes?.['owner-id'];\n        if (ownerId && ownerId !== getCurrentUser()?.uid) {\n            return generateAvatarSvg(ownerId);\n        }\n        return AccountPlusSvg;\n    },\n    enabled(nodes) {\n        if (nodes.length !== 1) {\n            return false;\n        }\n        const node = nodes[0];\n        const ownerId = node?.attributes?.['owner-id'];\n        const isMixed = Array.isArray(node.attributes?.['share-types']);\n        // If the node is shared multiple times with\n        // different share types to the current user\n        if (isMixed) {\n            return true;\n        }\n        // If the node is shared by someone else\n        if (ownerId && ownerId !== getCurrentUser()?.uid) {\n            return true;\n        }\n        return (node.permissions & Permission.SHARE) !== 0;\n    },\n    async exec(node, view, dir) {\n        // You need read permissions to see the sidebar\n        if ((node.permissions & Permission.READ) !== 0) {\n            window.OCA?.Files?.Sidebar?.setActiveTab?.('sharing');\n            return sidebarAction.exec(node, view, dir);\n        }\n        return null;\n    },\n    inline: () => true,\n});\nregisterFileAction(action);\n","/**\n * @copyright Copyright (c) 2019 John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @author John Molakvoæ <skjnldsv@protonmail.com>\n * @author Julius Härtl <jus@bitgrid.net>\n *\n * @license AGPL-3.0-or-later\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */\nimport { registerDavProperty } from '@nextcloud/files';\nimport registerSharingViews from './views/shares';\nimport './actions/acceptShareAction';\nimport './actions/openInFilesAction';\nimport './actions/rejectShareAction';\nimport './actions/restoreShareAction';\nimport './actions/sharingStatusAction';\nregisterSharingViews();\nregisterDavProperty('nc:share-attributes', { nc: 'http://nextcloud.org/ns' });\nregisterDavProperty('oc:share-types', { oc: 'http://owncloud.org/ns' });\nregisterDavProperty('ocs:share-permissions', { ocs: 'http://open-collaboration-services.org/ns' });\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `.action-items>.files-list__row-action-sharing-status{direction:rtl;padding-right:0 !important}svg.sharing-status__avatar{height:32px !important;width:32px !important;max-height:32px !important;max-width:32px !important;border-radius:32px;overflow:hidden}`, \"\",{\"version\":3,\"sources\":[\"webpack://./apps/files_sharing/src/actions/sharingStatusAction.scss\"],\"names\":[],\"mappings\":\"AAsBA,qDAEC,aAAA,CAEG,0BAAA,CAGJ,2BACC,sBAAA,CACA,qBAAA,CACA,0BAAA,CACA,yBAAA,CACA,kBAAA,CACA,eAAA\",\"sourcesContent\":[\"/**\\n * @copyright Copyright (c) 2023 John Molakvoæ <skjnldsv@protonmail.com>\\n *\\n * @author John Molakvoæ <skjnldsv@protonmail.com>\\n *\\n * @license AGPL-3.0-or-later\\n *\\n * This program is free software: you can redistribute it and/or modify\\n * it under the terms of the GNU Affero General Public License as\\n * published by the Free Software Foundation, either version 3 of the\\n * License, or (at your option) any later version.\\n *\\n * This program is distributed in the hope that it will be useful,\\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\\n * GNU Affero General Public License for more details.\\n *\\n * You should have received a copy of the GNU Affero General Public License\\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\\n *\\n */\\n // Only when rendered inline, when not enough space, this is put in the menu\\n.action-items > .files-list__row-action-sharing-status {\\n\\t// put icon at the end of the button\\n\\tdirection: rtl;\\n\\t// align icons with textless inline actions\\n    padding-right: 0 !important;\\n}\\n\\nsvg.sharing-status__avatar {\\n\\theight: 32px !important;\\n\\twidth: 32px !important;\\n\\tmax-height: 32px !important;\\n\\tmax-width: 32px !important;\\n\\tborder-radius: 32px;\\n\\toverflow: hidden;\\n}\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// The module cache\nvar __webpack_module_cache__ = {};\n\n// The require function\nfunction __webpack_require__(moduleId) {\n\t// Check if module is in cache\n\tvar cachedModule = __webpack_module_cache__[moduleId];\n\tif (cachedModule !== undefined) {\n\t\treturn cachedModule.exports;\n\t}\n\t// Create a new module (and put it into the cache)\n\tvar module = __webpack_module_cache__[moduleId] = {\n\t\tid: moduleId,\n\t\tloaded: false,\n\t\texports: {}\n\t};\n\n\t// Execute the module function\n\t__webpack_modules__[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n\t// Flag the module as loaded\n\tmodule.loaded = true;\n\n\t// Return the exports of the module\n\treturn module.exports;\n}\n\n// expose the modules object (__webpack_modules__)\n__webpack_require__.m = __webpack_modules__;\n\n","// getDefaultExport function for compatibility with non-harmony modules\n__webpack_require__.n = (module) => {\n\tvar getter = module && module.__esModule ?\n\t\t() => (module['default']) :\n\t\t() => (module);\n\t__webpack_require__.d(getter, { a: getter });\n\treturn getter;\n};","// define getter functions for harmony exports\n__webpack_require__.d = (exports, definition) => {\n\tfor(var key in definition) {\n\t\tif(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n\t\t\tObject.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n\t\t}\n\t}\n};","// The chunk loading function for additional chunks\n// Since all referenced chunks are already included\n// in this file, this function is empty here.\n__webpack_require__.e = () => (Promise.resolve());","__webpack_require__.g = (function() {\n\tif (typeof globalThis === 'object') return globalThis;\n\ttry {\n\t\treturn this || new Function('return this')();\n\t} catch (e) {\n\t\tif (typeof window === 'object') return window;\n\t}\n})();","__webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop))","// define __esModule on exports\n__webpack_require__.r = (exports) => {\n\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n\t}\n\tObject.defineProperty(exports, '__esModule', { value: true });\n};","__webpack_require__.nmd = (module) => {\n\tmodule.paths = [];\n\tif (!module.children) module.children = [];\n\treturn module;\n};","__webpack_require__.j = 5928;","__webpack_require__.b = document.baseURI || self.location.href;\n\n// object to store loaded and loading chunks\n// undefined = chunk not loaded, null = chunk preloaded/prefetched\n// [resolve, reject, Promise] = chunk loading, 0 = chunk loaded\nvar installedChunks = {\n\t5928: 0\n};\n\n// no chunk on demand loading\n\n// no prefetching\n\n// no preloaded\n\n// no HMR\n\n// no HMR manifest\n\n__webpack_require__.O.j = (chunkId) => (installedChunks[chunkId] === 0);\n\n// install a JSONP callback for chunk loading\nvar webpackJsonpCallback = (parentChunkLoadingFunction, data) => {\n\tvar chunkIds = data[0];\n\tvar moreModules = data[1];\n\tvar runtime = data[2];\n\t// add \"moreModules\" to the modules object,\n\t// then flag all \"chunkIds\" as loaded and fire callback\n\tvar moduleId, chunkId, i = 0;\n\tif(chunkIds.some((id) => (installedChunks[id] !== 0))) {\n\t\tfor(moduleId in moreModules) {\n\t\t\tif(__webpack_require__.o(moreModules, moduleId)) {\n\t\t\t\t__webpack_require__.m[moduleId] = moreModules[moduleId];\n\t\t\t}\n\t\t}\n\t\tif(runtime) var result = runtime(__webpack_require__);\n\t}\n\tif(parentChunkLoadingFunction) parentChunkLoadingFunction(data);\n\tfor(;i < chunkIds.length; i++) {\n\t\tchunkId = chunkIds[i];\n\t\tif(__webpack_require__.o(installedChunks, chunkId) && installedChunks[chunkId]) {\n\t\t\tinstalledChunks[chunkId][0]();\n\t\t}\n\t\tinstalledChunks[chunkId] = 0;\n\t}\n\treturn __webpack_require__.O(result);\n}\n\nvar chunkLoadingGlobal = self[\"webpackChunknextcloud\"] = self[\"webpackChunknextcloud\"] || [];\nchunkLoadingGlobal.forEach(webpackJsonpCallback.bind(null, 0));\nchunkLoadingGlobal.push = webpackJsonpCallback.bind(null, chunkLoadingGlobal.push.bind(chunkLoadingGlobal));","__webpack_require__.nc = undefined;","// startup\n// Load entry module and return exports\n// This entry module depends on other loaded chunks and execution need to be delayed\nvar __webpack_exports__ = __webpack_require__.O(undefined, [4208], () => (__webpack_require__(5924)))\n__webpack_exports__ = __webpack_require__.O(__webpack_exports__);\n"],"names":["deferred","logger","user","setApp","build","setUid","uid","DefaultType","DefaultType2","FileAction","_action","constructor","action","this","validateAction","id","displayName","title","iconSvgInline","enabled","exec","execBatch","order","parent","default","inline","renderInline","Error","Object","values","includes","registerFileAction","window","_nc_fileactions","debug","find","search","error","push","Permission","Permission2","defaultDavProperties","defaultDavNamespaces","d","nc","oc","ocs","registerDavProperty","prop","namespace","_nc_dav_properties","_nc_dav_namespaces","namespaces","warn","startsWith","split","length","FileType","FileType2","isDavRessource","source","davService","match","validateData","data","URL","e","mtime","Date","crtime","mime","size","permissions","NONE","ALL","owner","attributes","root","service","join","status","NodeStatus","NodeStatus2","Node","_data","_attributes","_knownDavService","readonlyAttributes","entries","getOwnPropertyDescriptors","prototype","filter","get","map","handler","set","target","value","updateMtime","Reflect","deleteProperty","receiver","Proxy","update","replace","encodedSource","origin","slice","basename","extension","extname","dirname","pop","firstMatch","indexOf","url","pathname","READ","path","fileid","move","destination","rename","basename2","name","TypeError","File","type","Folder","super","_oc_config","blacklist_files_regex","RegExp","Navigation","_views","_currentView","register","view","remove","index","findIndex","splice","views","setActive","active","getNavigation","_nc_navigation","Column","_column","column","isValidColumn","render","sort","summary","validator$2","util$3","exports","nameStartChar","nameRegexp","regexName","isExist","v","isEmptyObject","obj","keys","merge","a","arrayMode","len","i","getValue","isName","string","getAllMatches","regex","matches","allmatches","startIndex","lastIndex","util$2","defaultOptions$2","allowBooleanAttributes","unpairedTags","isWhiteSpace","char","readPI","xmlData","start","tagname","substr","getErrorObject","getLineNumberForPosition","readCommentAndCDATA","angleBracketsCount","validate","options","assign","tags","tagFound","reachedRoot","err","tagStartPos","closingTag","tagName","trim","substring","msg","result","readAttributeStr","attrStr","attrStrStart","isValid","validateAttributeString","code","line","tagClosed","otg","openPos","col","afterAmp","validateAmpersand","JSON","stringify","t","doubleQuote","singleQuote","startChar","validAttrStrRegxp","attrNames","getPositionFromMatch","attrName","validateAttrName","hasOwnProperty","re","validateNumberAmpersand","count","message","lineNumber","lines","OptionsBuilder","defaultOptions$1","preserveOrder","attributeNamePrefix","attributesGroupName","textNodeName","ignoreAttributes","removeNSPrefix","parseTagValue","parseAttributeValue","trimValues","cdataPropName","numberParseOptions","hex","leadingZeros","eNotation","tagValueProcessor","val2","attributeValueProcessor","stopNodes","alwaysCreateTextNode","isArray","commentPropName","processEntities","htmlEntities","ignoreDeclaration","ignorePiTags","transformTagName","transformAttributeName","updateTag","jPath","attrs","buildOptions","defaultOptions","util$1","readEntityExp","entityName2","isComment","isEntity","isElement","isAttlist","isNotation","validateEntityName","hexRegex","numRegex","Number","parseInt","parseFloat","consider","decimalPoint","util","xmlNode","child","add","key","addChild","node","readDocType","entities","hasBody","comment","exp","entityName","val","regx","toNumber","str","trimmedStr","skipLike","test","sign","numTrimmedByZeros","numStr","num","addExternalEntities","externalEntities","entKeys","ent","lastEntities","parseTextData","dontTrim","hasAttributes","isLeafNode","escapeEntities","replaceEntitiesValue","newval","parseValue","resolveNameSpace","prefix","charAt","attrsRegx","buildAttributesMap","oldVal","aName","newVal","attrCollection","parseXml","xmlObj","currentNode","textData","closeIndex","findClosingIndex","colonIndex","saveTextToParentTag","lastTagName","lastIndexOf","propIndex","tagsNodeStack","tagData","readTagExp","childNode","tagExp","attrExpPresent","endIndex","docTypeEntities","rawTagName","lastTag","isItStopNode","tagContent","result2","readStopNodeData","replaceEntitiesValue$1","entity","ampEntity","currentTagName","allNodesExp","stopNodePath","stopNodeExp","errMsg","closingIndex","closingChar","attrBoundary","ch","tagExpWithClosingIndex","separatorIndex","trimStart","openTagCount","shouldParse","node2json","compress","arr","text","compressedObj","tagObj","property","propName$1","newJpath","isLeaf","isLeafTag","assignAttributes","Array","attrMap","jpath","atrrName","propCount","prettify","OrderedObjParser2","_","String","fromCharCode","validator$1","arrToStr","indentation","xmlStr","isPreviousElementTag","propName","newJPath","tagText","isStopNode","attStr2","attr_to_str","tempInd","piTextNodeName","newIdentation","indentBy","tagStart","tagValue","suppressUnpairedNode","suppressEmptyNode","endsWith","attr","attrVal","suppressBooleanAttributes","textValue","buildFromOrderedJs","jArray","format","oneListGroup","Builder","isAttribute","attrPrefixLen","processTextOrObjNode","indentate","tagEndChar","newLine","object","level","j2x","buildTextValNode","buildObjectNode","repeat","jObj","arrayNodeName","call","buildAttrPairStr","arrLen","listTagVal","j","item","Ks","L","closeTag","tagEndExp","piClosingChar","fxp","XMLParser","parse","validationOption","toString","orderedObjParser","orderedResult","addEntity","XMLValidator","XMLBuilder","View","_view","isValidView","caption","emptyTitle","emptyCaption","getContents","icon","params","columns","emptyView","sticky","expanded","defaultSortKey","jsonObject","parser","some","x","toLowerCase","isSvg","forEach","getLoggerBuilder","detectUser","rootPath","concat","_getCurrentUser","getCurrentUser","headers","ocsEntryToNode","ocsEntry","_ocsEntry$tags","isFolder","item_type","hasPreview","has_preview","file_source","file_target","generateRemoteUrl","replaceAll","item_mtime","undefined","stime","uid_owner","mimetype","item_size","item_permissions","displayname_owner","share_type","favorite","OC","TAG_FAVORITE","getShares","shared_with_me","arguments","generateOcsUrl","axios","include_tags","async","_getCurrentUser2","sharedWithOthers","pendingShares","deletedshares","filterTypes","promises","getRemoteShares","getPendingShares","getRemotePendingShares","getDeletedShares","contents","Promise","all","response","flat","nodes","_node$attributes","reduce","acc","curr","folder","sharesViewId","sharedWithYouViewId","sharedWithOthersViewId","sharingByLinksViewId","deletedSharesViewId","pendingSharesViewId","n","isRemote","remote","shareBase","post","emit","dir","OCP","Files","Router","goToRoute","HIDDEN","remote_id","Share","SHARE_TYPE_REMOTE_GROUP","delete","InformationSvg","_window","_ref","_nodes$0$root","OCA","Sidebar","open","styleTagTransform","setAttributes","insert","domAPI","insertStyleElement","locals","_node$attributes2","shareTypes","ownerId","_node$attributes3","_node$attributes4","_node$attributes5","ownerDisplayName","_node$attributes6","_node$attributes7","_node$attributes8","_getCurrentUser3","AccountPlusSvg","Type","SHARE_TYPE_LINK","SHARE_TYPE_EMAIL","LinkSvg","SHARE_TYPE_GROUP","AccountGroupSvg","SHARE_TYPE_CIRCLE","userId","avatarUrl","generateUrl","generateAvatarSvg","_node$attributes9","_node$attributes10","_getCurrentUser4","SHARE","_window$OCA","_window$OCA$setActive","setActiveTab","sidebarAction","registerSharingViews","___CSS_LOADER_EXPORT___","module","__webpack_module_cache__","__webpack_require__","moduleId","cachedModule","loaded","__webpack_modules__","m","O","chunkIds","fn","priority","notFulfilled","Infinity","fulfilled","every","r","getter","__esModule","definition","o","defineProperty","enumerable","resolve","g","globalThis","Function","Symbol","toStringTag","nmd","paths","children","b","document","baseURI","self","location","href","installedChunks","chunkId","webpackJsonpCallback","parentChunkLoadingFunction","moreModules","runtime","chunkLoadingGlobal","bind","__webpack_exports__"],"sourceRoot":""}
\ No newline at end of file
+{"version":3,"file":"files_sharing-init.js?v=606d53cecb3f2aff3207","mappings":"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","sources":["webpack:///nextcloud/webpack/runtime/chunk loaded","webpack:///nextcloud/node_modules/@nextcloud/files/dist/index.mjs","webpack:///nextcloud/apps/files_sharing/src/services/logger.ts","webpack:///nextcloud/apps/files_sharing/src/services/SharingService.ts","webpack:///nextcloud/apps/files_sharing/src/views/shares.ts","webpack:///nextcloud/apps/files_sharing/src/actions/acceptShareAction.ts","webpack:///nextcloud/apps/files_sharing/src/actions/openInFilesAction.ts","webpack:///nextcloud/apps/files_sharing/src/actions/rejectShareAction.ts","webpack:///nextcloud/apps/files_sharing/src/actions/restoreShareAction.ts","webpack:///nextcloud/apps/files/src/logger.js","webpack:///nextcloud/apps/files/src/actions/sidebarAction.ts","webpack://nextcloud/./apps/files_sharing/src/actions/sharingStatusAction.scss?3ea7","webpack:///nextcloud/apps/files_sharing/src/actions/sharingStatusAction.ts","webpack:///nextcloud/apps/files_sharing/src/init.ts","webpack:///nextcloud/apps/files_sharing/src/actions/sharingStatusAction.scss","webpack:///nextcloud/webpack/bootstrap","webpack:///nextcloud/webpack/runtime/compat get default export","webpack:///nextcloud/webpack/runtime/define property getters","webpack:///nextcloud/webpack/runtime/ensure chunk","webpack:///nextcloud/webpack/runtime/global","webpack:///nextcloud/webpack/runtime/hasOwnProperty shorthand","webpack:///nextcloud/webpack/runtime/make namespace object","webpack:///nextcloud/webpack/runtime/node module decorator","webpack:///nextcloud/webpack/runtime/runtimeId","webpack:///nextcloud/webpack/runtime/jsonp chunk loading","webpack:///nextcloud/webpack/runtime/nonce","webpack:///nextcloud/webpack/startup"],"sourcesContent":["var deferred = [];\n__webpack_require__.O = (result, chunkIds, fn, priority) => {\n\tif(chunkIds) {\n\t\tpriority = priority || 0;\n\t\tfor(var i = deferred.length; i > 0 && deferred[i - 1][2] > priority; i--) deferred[i] = deferred[i - 1];\n\t\tdeferred[i] = [chunkIds, fn, priority];\n\t\treturn;\n\t}\n\tvar notFulfilled = Infinity;\n\tfor (var i = 0; i < deferred.length; i++) {\n\t\tvar chunkIds = deferred[i][0];\n\t\tvar fn = deferred[i][1];\n\t\tvar priority = deferred[i][2];\n\t\tvar fulfilled = true;\n\t\tfor (var j = 0; j < chunkIds.length; j++) {\n\t\t\tif ((priority & 1 === 0 || notFulfilled >= priority) && Object.keys(__webpack_require__.O).every((key) => (__webpack_require__.O[key](chunkIds[j])))) {\n\t\t\t\tchunkIds.splice(j--, 1);\n\t\t\t} else {\n\t\t\t\tfulfilled = false;\n\t\t\t\tif(priority < notFulfilled) notFulfilled = priority;\n\t\t\t}\n\t\t}\n\t\tif(fulfilled) {\n\t\t\tdeferred.splice(i--, 1)\n\t\t\tvar r = fn();\n\t\t\tif (r !== undefined) result = r;\n\t\t}\n\t}\n\treturn result;\n};","import { getCurrentUser, onRequestTokenUpdate, getRequestToken } from \"@nextcloud/auth\";\nimport { getLoggerBuilder } from \"@nextcloud/logger\";\nimport { join, basename, extname, dirname } from \"path\";\nimport { encodePath } from \"@nextcloud/paths\";\nimport { generateRemoteUrl } from \"@nextcloud/router\";\nimport { createClient, getPatcher } from \"webdav\";\nimport { CancelablePromise } from \"cancelable-promise\";\nimport { getCanonicalLocale, getLanguage } from \"@nextcloud/l10n\";\n/**\n * @copyright 2019 Christoph Wurst <christoph@winzerhof-wurst.at>\n *\n * @author Christoph Wurst <christoph@winzerhof-wurst.at>\n *\n * @license AGPL-3.0-or-later\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */\nconst getLogger = (user) => {\n  if (user === null) {\n    return getLoggerBuilder().setApp(\"files\").build();\n  }\n  return getLoggerBuilder().setApp(\"files\").setUid(user.uid).build();\n};\nconst logger = getLogger(getCurrentUser());\n/**\n * @copyright Copyright (c) 2021 John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @author John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @license AGPL-3.0-or-later\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */\nvar NewMenuEntryCategory = /* @__PURE__ */ ((NewMenuEntryCategory2) => {\n  NewMenuEntryCategory2[NewMenuEntryCategory2[\"UploadFromDevice\"] = 0] = \"UploadFromDevice\";\n  NewMenuEntryCategory2[NewMenuEntryCategory2[\"CreateNew\"] = 1] = \"CreateNew\";\n  NewMenuEntryCategory2[NewMenuEntryCategory2[\"Other\"] = 2] = \"Other\";\n  return NewMenuEntryCategory2;\n})(NewMenuEntryCategory || {});\nclass NewFileMenu {\n  _entries = [];\n  registerEntry(entry) {\n    this.validateEntry(entry);\n    entry.category = entry.category ?? 1;\n    this._entries.push(entry);\n  }\n  unregisterEntry(entry) {\n    const entryIndex = typeof entry === \"string\" ? this.getEntryIndex(entry) : this.getEntryIndex(entry.id);\n    if (entryIndex === -1) {\n      logger.warn(\"Entry not found, nothing removed\", { entry, entries: this.getEntries() });\n      return;\n    }\n    this._entries.splice(entryIndex, 1);\n  }\n  /**\n   * Get the list of registered entries\n   *\n   * @param {Folder} context the creation context. Usually the current folder\n   */\n  getEntries(context) {\n    if (context) {\n      return this._entries.filter((entry) => typeof entry.enabled === \"function\" ? entry.enabled(context) : true);\n    }\n    return this._entries;\n  }\n  getEntryIndex(id) {\n    return this._entries.findIndex((entry) => entry.id === id);\n  }\n  validateEntry(entry) {\n    if (!entry.id || !entry.displayName || !(entry.iconSvgInline || entry.iconClass) || !entry.handler) {\n      throw new Error(\"Invalid entry\");\n    }\n    if (typeof entry.id !== \"string\" || typeof entry.displayName !== \"string\") {\n      throw new Error(\"Invalid id or displayName property\");\n    }\n    if (entry.iconClass && typeof entry.iconClass !== \"string\" || entry.iconSvgInline && typeof entry.iconSvgInline !== \"string\") {\n      throw new Error(\"Invalid icon provided\");\n    }\n    if (entry.enabled !== void 0 && typeof entry.enabled !== \"function\") {\n      throw new Error(\"Invalid enabled property\");\n    }\n    if (typeof entry.handler !== \"function\") {\n      throw new Error(\"Invalid handler property\");\n    }\n    if (\"order\" in entry && typeof entry.order !== \"number\") {\n      throw new Error(\"Invalid order property\");\n    }\n    if (this.getEntryIndex(entry.id) !== -1) {\n      throw new Error(\"Duplicate entry\");\n    }\n  }\n}\nconst getNewFileMenu = function() {\n  if (typeof window._nc_newfilemenu === \"undefined\") {\n    window._nc_newfilemenu = new NewFileMenu();\n    logger.debug(\"NewFileMenu initialized\");\n  }\n  return window._nc_newfilemenu;\n};\n/**\n * @copyright Copyright (c) 2023 John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @author John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @license AGPL-3.0-or-later\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */\nvar DefaultType = /* @__PURE__ */ ((DefaultType2) => {\n  DefaultType2[\"DEFAULT\"] = \"default\";\n  DefaultType2[\"HIDDEN\"] = \"hidden\";\n  return DefaultType2;\n})(DefaultType || {});\nclass FileAction {\n  _action;\n  constructor(action) {\n    this.validateAction(action);\n    this._action = action;\n  }\n  get id() {\n    return this._action.id;\n  }\n  get displayName() {\n    return this._action.displayName;\n  }\n  get title() {\n    return this._action.title;\n  }\n  get iconSvgInline() {\n    return this._action.iconSvgInline;\n  }\n  get enabled() {\n    return this._action.enabled;\n  }\n  get exec() {\n    return this._action.exec;\n  }\n  get execBatch() {\n    return this._action.execBatch;\n  }\n  get order() {\n    return this._action.order;\n  }\n  get parent() {\n    return this._action.parent;\n  }\n  get default() {\n    return this._action.default;\n  }\n  get inline() {\n    return this._action.inline;\n  }\n  get renderInline() {\n    return this._action.renderInline;\n  }\n  validateAction(action) {\n    if (!action.id || typeof action.id !== \"string\") {\n      throw new Error(\"Invalid id\");\n    }\n    if (!action.displayName || typeof action.displayName !== \"function\") {\n      throw new Error(\"Invalid displayName function\");\n    }\n    if (\"title\" in action && typeof action.title !== \"function\") {\n      throw new Error(\"Invalid title function\");\n    }\n    if (!action.iconSvgInline || typeof action.iconSvgInline !== \"function\") {\n      throw new Error(\"Invalid iconSvgInline function\");\n    }\n    if (!action.exec || typeof action.exec !== \"function\") {\n      throw new Error(\"Invalid exec function\");\n    }\n    if (\"enabled\" in action && typeof action.enabled !== \"function\") {\n      throw new Error(\"Invalid enabled function\");\n    }\n    if (\"execBatch\" in action && typeof action.execBatch !== \"function\") {\n      throw new Error(\"Invalid execBatch function\");\n    }\n    if (\"order\" in action && typeof action.order !== \"number\") {\n      throw new Error(\"Invalid order\");\n    }\n    if (\"parent\" in action && typeof action.parent !== \"string\") {\n      throw new Error(\"Invalid parent\");\n    }\n    if (action.default && !Object.values(DefaultType).includes(action.default)) {\n      throw new Error(\"Invalid default\");\n    }\n    if (\"inline\" in action && typeof action.inline !== \"function\") {\n      throw new Error(\"Invalid inline function\");\n    }\n    if (\"renderInline\" in action && typeof action.renderInline !== \"function\") {\n      throw new Error(\"Invalid renderInline function\");\n    }\n  }\n}\nconst registerFileAction = function(action) {\n  if (typeof window._nc_fileactions === \"undefined\") {\n    window._nc_fileactions = [];\n    logger.debug(\"FileActions initialized\");\n  }\n  if (window._nc_fileactions.find((search) => search.id === action.id)) {\n    logger.error(`FileAction ${action.id} already registered`, { action });\n    return;\n  }\n  window._nc_fileactions.push(action);\n};\nconst getFileActions = function() {\n  if (typeof window._nc_fileactions === \"undefined\") {\n    window._nc_fileactions = [];\n    logger.debug(\"FileActions initialized\");\n  }\n  return window._nc_fileactions;\n};\n/**\n * @copyright Copyright (c) 2023 John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @author John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @license AGPL-3.0-or-later\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */\nclass Header {\n  _header;\n  constructor(header) {\n    this.validateHeader(header);\n    this._header = header;\n  }\n  get id() {\n    return this._header.id;\n  }\n  get order() {\n    return this._header.order;\n  }\n  get enabled() {\n    return this._header.enabled;\n  }\n  get render() {\n    return this._header.render;\n  }\n  get updated() {\n    return this._header.updated;\n  }\n  validateHeader(header) {\n    if (!header.id || !header.render || !header.updated) {\n      throw new Error(\"Invalid header: id, render and updated are required\");\n    }\n    if (typeof header.id !== \"string\") {\n      throw new Error(\"Invalid id property\");\n    }\n    if (header.enabled !== void 0 && typeof header.enabled !== \"function\") {\n      throw new Error(\"Invalid enabled property\");\n    }\n    if (header.render && typeof header.render !== \"function\") {\n      throw new Error(\"Invalid render property\");\n    }\n    if (header.updated && typeof header.updated !== \"function\") {\n      throw new Error(\"Invalid updated property\");\n    }\n  }\n}\nconst registerFileListHeaders = function(header) {\n  if (typeof window._nc_filelistheader === \"undefined\") {\n    window._nc_filelistheader = [];\n    logger.debug(\"FileListHeaders initialized\");\n  }\n  if (window._nc_filelistheader.find((search) => search.id === header.id)) {\n    logger.error(`Header ${header.id} already registered`, { header });\n    return;\n  }\n  window._nc_filelistheader.push(header);\n};\nconst getFileListHeaders = function() {\n  if (typeof window._nc_filelistheader === \"undefined\") {\n    window._nc_filelistheader = [];\n    logger.debug(\"FileListHeaders initialized\");\n  }\n  return window._nc_filelistheader;\n};\n/**\n * @copyright Copyright (c) 2022 John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @author John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @license AGPL-3.0-or-later\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */\nvar Permission = /* @__PURE__ */ ((Permission2) => {\n  Permission2[Permission2[\"NONE\"] = 0] = \"NONE\";\n  Permission2[Permission2[\"CREATE\"] = 4] = \"CREATE\";\n  Permission2[Permission2[\"READ\"] = 1] = \"READ\";\n  Permission2[Permission2[\"UPDATE\"] = 2] = \"UPDATE\";\n  Permission2[Permission2[\"DELETE\"] = 8] = \"DELETE\";\n  Permission2[Permission2[\"SHARE\"] = 16] = \"SHARE\";\n  Permission2[Permission2[\"ALL\"] = 31] = \"ALL\";\n  return Permission2;\n})(Permission || {});\n/**\n * @copyright Copyright (c) 2023 John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @author John Molakvoæ <skjnldsv@protonmail.com>\n * @author Ferdinand Thiessen <opensource@fthiessen.de>\n *\n * @license AGPL-3.0-or-later\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */\nconst defaultDavProperties = [\n  \"d:getcontentlength\",\n  \"d:getcontenttype\",\n  \"d:getetag\",\n  \"d:getlastmodified\",\n  \"d:quota-available-bytes\",\n  \"d:resourcetype\",\n  \"nc:has-preview\",\n  \"nc:is-encrypted\",\n  \"nc:mount-type\",\n  \"oc:comments-unread\",\n  \"oc:favorite\",\n  \"oc:fileid\",\n  \"oc:owner-display-name\",\n  \"oc:owner-id\",\n  \"oc:permissions\",\n  \"oc:size\"\n];\nconst defaultDavNamespaces = {\n  d: \"DAV:\",\n  nc: \"http://nextcloud.org/ns\",\n  oc: \"http://owncloud.org/ns\",\n  ocs: \"http://open-collaboration-services.org/ns\"\n};\nconst registerDavProperty = function(prop, namespace = { nc: \"http://nextcloud.org/ns\" }) {\n  if (typeof window._nc_dav_properties === \"undefined\") {\n    window._nc_dav_properties = [...defaultDavProperties];\n    window._nc_dav_namespaces = { ...defaultDavNamespaces };\n  }\n  const namespaces = { ...window._nc_dav_namespaces, ...namespace };\n  if (window._nc_dav_properties.find((search) => search === prop)) {\n    logger.warn(`${prop} already registered`, { prop });\n    return false;\n  }\n  if (prop.startsWith(\"<\") || prop.split(\":\").length !== 2) {\n    logger.error(`${prop} is not valid. See example: 'oc:fileid'`, { prop });\n    return false;\n  }\n  const ns = prop.split(\":\")[0];\n  if (!namespaces[ns]) {\n    logger.error(`${prop} namespace unknown`, { prop, namespaces });\n    return false;\n  }\n  window._nc_dav_properties.push(prop);\n  window._nc_dav_namespaces = namespaces;\n  return true;\n};\nconst getDavProperties = function() {\n  if (typeof window._nc_dav_properties === \"undefined\") {\n    window._nc_dav_properties = [...defaultDavProperties];\n  }\n  return window._nc_dav_properties.map((prop) => `<${prop} />`).join(\" \");\n};\nconst getDavNameSpaces = function() {\n  if (typeof window._nc_dav_namespaces === \"undefined\") {\n    window._nc_dav_namespaces = { ...defaultDavNamespaces };\n  }\n  return Object.keys(window._nc_dav_namespaces).map((ns) => `xmlns:${ns}=\"${window._nc_dav_namespaces?.[ns]}\"`).join(\" \");\n};\nconst davGetDefaultPropfind = function() {\n  return `<?xml version=\"1.0\"?>\n\t\t<d:propfind ${getDavNameSpaces()}>\n\t\t\t<d:prop>\n\t\t\t\t${getDavProperties()}\n\t\t\t</d:prop>\n\t\t</d:propfind>`;\n};\nconst davGetFavoritesReport = function() {\n  return `<?xml version=\"1.0\"?>\n\t\t<oc:filter-files ${getDavNameSpaces()}>\n\t\t\t<d:prop>\n\t\t\t\t${getDavProperties()}\n\t\t\t</d:prop>\n\t\t\t<oc:filter-rules>\n\t\t\t\t<oc:favorite>1</oc:favorite>\n\t\t\t</oc:filter-rules>\n\t\t</oc:filter-files>`;\n};\nconst davGetRecentSearch = function(lastModified) {\n  return `<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<d:searchrequest ${getDavNameSpaces()}\n\txmlns:ns=\"https://github.com/icewind1991/SearchDAV/ns\">\n\t<d:basicsearch>\n\t\t<d:select>\n\t\t\t<d:prop>\n\t\t\t\t${getDavProperties()}\n\t\t\t</d:prop>\n\t\t</d:select>\n\t\t<d:from>\n\t\t\t<d:scope>\n\t\t\t\t<d:href>/files/${getCurrentUser()?.uid}/</d:href>\n\t\t\t\t<d:depth>infinity</d:depth>\n\t\t\t</d:scope>\n\t\t</d:from>\n\t\t<d:where>\n\t\t\t<d:and>\n\t\t\t\t<d:or>\n\t\t\t\t\t<d:not>\n\t\t\t\t\t\t<d:eq>\n\t\t\t\t\t\t\t<d:prop>\n\t\t\t\t\t\t\t\t<d:getcontenttype/>\n\t\t\t\t\t\t\t</d:prop>\n\t\t\t\t\t\t\t<d:literal>httpd/unix-directory</d:literal>\n\t\t\t\t\t\t</d:eq>\n\t\t\t\t\t</d:not>\n\t\t\t\t\t<d:eq>\n\t\t\t\t\t\t<d:prop>\n\t\t\t\t\t\t\t<oc:size/>\n\t\t\t\t\t\t</d:prop>\n\t\t\t\t\t\t<d:literal>0</d:literal>\n\t\t\t\t\t</d:eq>\n\t\t\t\t</d:or>\n\t\t\t\t<d:gt>\n\t\t\t\t\t<d:prop>\n\t\t\t\t\t\t<d:getlastmodified/>\n\t\t\t\t\t</d:prop>\n\t\t\t\t\t<d:literal>${lastModified}</d:literal>\n\t\t\t\t</d:gt>\n\t\t\t</d:and>\n\t\t</d:where>\n\t\t<d:orderby>\n\t\t\t<d:order>\n\t\t\t\t<d:prop>\n\t\t\t\t\t<d:getlastmodified/>\n\t\t\t\t</d:prop>\n\t\t\t\t<d:descending/>\n\t\t\t</d:order>\n\t\t</d:orderby>\n\t\t<d:limit>\n\t\t\t<d:nresults>100</d:nresults>\n\t\t\t<ns:firstresult>0</ns:firstresult>\n\t\t</d:limit>\n\t</d:basicsearch>\n</d:searchrequest>`;\n};\n/**\n * @copyright Copyright (c) 2023 John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @author John Molakvoæ <skjnldsv@protonmail.com>\n * @author Ferdinand Thiessen <opensource@fthiessen.de>\n *\n * @license AGPL-3.0-or-later\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */\nconst davParsePermissions = function(permString = \"\") {\n  let permissions = Permission.NONE;\n  if (!permString) {\n    return permissions;\n  }\n  if (permString.includes(\"C\") || permString.includes(\"K\")) {\n    permissions |= Permission.CREATE;\n  }\n  if (permString.includes(\"G\")) {\n    permissions |= Permission.READ;\n  }\n  if (permString.includes(\"W\") || permString.includes(\"N\") || permString.includes(\"V\")) {\n    permissions |= Permission.UPDATE;\n  }\n  if (permString.includes(\"D\")) {\n    permissions |= Permission.DELETE;\n  }\n  if (permString.includes(\"R\")) {\n    permissions |= Permission.SHARE;\n  }\n  return permissions;\n};\n/**\n * @copyright Copyright (c) 2022 John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @author John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @license AGPL-3.0-or-later\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */\nvar FileType = /* @__PURE__ */ ((FileType2) => {\n  FileType2[\"Folder\"] = \"folder\";\n  FileType2[\"File\"] = \"file\";\n  return FileType2;\n})(FileType || {});\n/**\n * @copyright Copyright (c) 2022 John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @author John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @license AGPL-3.0-or-later\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */\nconst isDavRessource = function(source, davService) {\n  return source.match(davService) !== null;\n};\nconst validateData = (data, davService) => {\n  if (data.id && typeof data.id !== \"number\") {\n    throw new Error(\"Invalid id type of value\");\n  }\n  if (!data.source) {\n    throw new Error(\"Missing mandatory source\");\n  }\n  try {\n    new URL(data.source);\n  } catch (e) {\n    throw new Error(\"Invalid source format, source must be a valid URL\");\n  }\n  if (!data.source.startsWith(\"http\")) {\n    throw new Error(\"Invalid source format, only http(s) is supported\");\n  }\n  if (data.mtime && !(data.mtime instanceof Date)) {\n    throw new Error(\"Invalid mtime type\");\n  }\n  if (data.crtime && !(data.crtime instanceof Date)) {\n    throw new Error(\"Invalid crtime type\");\n  }\n  if (!data.mime || typeof data.mime !== \"string\" || !data.mime.match(/^[-\\w.]+\\/[-+\\w.]+$/gi)) {\n    throw new Error(\"Missing or invalid mandatory mime\");\n  }\n  if (\"size\" in data && typeof data.size !== \"number\" && data.size !== void 0) {\n    throw new Error(\"Invalid size type\");\n  }\n  if (\"permissions\" in data && data.permissions !== void 0 && !(typeof data.permissions === \"number\" && data.permissions >= Permission.NONE && data.permissions <= Permission.ALL)) {\n    throw new Error(\"Invalid permissions\");\n  }\n  if (data.owner && data.owner !== null && typeof data.owner !== \"string\") {\n    throw new Error(\"Invalid owner type\");\n  }\n  if (data.attributes && typeof data.attributes !== \"object\") {\n    throw new Error(\"Invalid attributes type\");\n  }\n  if (data.root && typeof data.root !== \"string\") {\n    throw new Error(\"Invalid root type\");\n  }\n  if (data.root && !data.root.startsWith(\"/\")) {\n    throw new Error(\"Root must start with a leading slash\");\n  }\n  if (data.root && !data.source.includes(data.root)) {\n    throw new Error(\"Root must be part of the source\");\n  }\n  if (data.root && isDavRessource(data.source, davService)) {\n    const service = data.source.match(davService)[0];\n    if (!data.source.includes(join(service, data.root))) {\n      throw new Error(\"The root must be relative to the service. e.g /files/emma\");\n    }\n  }\n  if (data.status && !Object.values(NodeStatus).includes(data.status)) {\n    throw new Error(\"Status must be a valid NodeStatus\");\n  }\n};\n/**\n * @copyright Copyright (c) 2022 John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @author John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @license AGPL-3.0-or-later\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */\nvar NodeStatus = /* @__PURE__ */ ((NodeStatus2) => {\n  NodeStatus2[\"NEW\"] = \"new\";\n  NodeStatus2[\"FAILED\"] = \"failed\";\n  NodeStatus2[\"LOADING\"] = \"loading\";\n  NodeStatus2[\"LOCKED\"] = \"locked\";\n  return NodeStatus2;\n})(NodeStatus || {});\nclass Node {\n  _data;\n  _attributes;\n  _knownDavService = /(remote|public)\\.php\\/(web)?dav/i;\n  readonlyAttributes = Object.entries(Object.getOwnPropertyDescriptors(Node.prototype)).filter((e) => typeof e[1].get === \"function\" && e[0] !== \"__proto__\").map((e) => e[0]);\n  handler = {\n    set: (target, prop, value) => {\n      if (this.readonlyAttributes.includes(prop)) {\n        return false;\n      }\n      this.updateMtime();\n      return Reflect.set(target, prop, value);\n    },\n    deleteProperty: (target, prop) => {\n      if (this.readonlyAttributes.includes(prop)) {\n        return false;\n      }\n      this.updateMtime();\n      return Reflect.deleteProperty(target, prop);\n    },\n    // TODO: This is deprecated and only needed for files v3\n    get: (target, prop, receiver) => {\n      if (this.readonlyAttributes.includes(prop)) {\n        logger.warn(`Accessing \"Node.attributes.${prop}\" is deprecated, access it directly on the Node instance.`);\n        return Reflect.get(this, prop);\n      }\n      return Reflect.get(target, prop, receiver);\n    }\n  };\n  constructor(data, davService) {\n    validateData(data, davService || this._knownDavService);\n    this._data = { ...data, attributes: {} };\n    this._attributes = new Proxy(this._data.attributes, this.handler);\n    this.update(data.attributes ?? {});\n    this._data.mtime = data.mtime;\n    if (davService) {\n      this._knownDavService = davService;\n    }\n  }\n  /**\n   * Get the source url to this object\n   * There is no setter as the source is not meant to be changed manually.\n   * You can use the rename or move method to change the source.\n   */\n  get source() {\n    return this._data.source.replace(/\\/$/i, \"\");\n  }\n  /**\n   * Get the encoded source url to this object for requests purposes\n   */\n  get encodedSource() {\n    const { origin } = new URL(this.source);\n    return origin + encodePath(this.source.slice(origin.length));\n  }\n  /**\n   * Get this object name\n   * There is no setter as the source is not meant to be changed manually.\n   * You can use the rename or move method to change the source.\n   */\n  get basename() {\n    return basename(this.source);\n  }\n  /**\n   * Get this object's extension\n   * There is no setter as the source is not meant to be changed manually.\n   * You can use the rename or move method to change the source.\n   */\n  get extension() {\n    return extname(this.source);\n  }\n  /**\n   * Get the directory path leading to this object\n   * Will use the relative path to root if available\n   *\n   * There is no setter as the source is not meant to be changed manually.\n   * You can use the rename or move method to change the source.\n   */\n  get dirname() {\n    if (this.root) {\n      let source = this.source;\n      if (this.isDavRessource) {\n        source = source.split(this._knownDavService).pop();\n      }\n      const firstMatch = source.indexOf(this.root);\n      const root = this.root.replace(/\\/$/, \"\");\n      return dirname(source.slice(firstMatch + root.length) || \"/\");\n    }\n    const url = new URL(this.source);\n    return dirname(url.pathname);\n  }\n  /**\n   * Get the file mime\n   * There is no setter as the mime is not meant to be changed\n   */\n  get mime() {\n    return this._data.mime;\n  }\n  /**\n   * Get the file modification time\n   * There is no setter as the modification time is not meant to be changed manually.\n   * It will be automatically updated when the attributes are changed.\n   */\n  get mtime() {\n    return this._data.mtime;\n  }\n  /**\n   * Get the file creation time\n   * There is no setter as the creation time is not meant to be changed\n   */\n  get crtime() {\n    return this._data.crtime;\n  }\n  /**\n   * Get the file size\n   */\n  get size() {\n    return this._data.size;\n  }\n  /**\n   * Set the file size\n   */\n  set size(size) {\n    this.updateMtime();\n    this._data.size = size;\n  }\n  /**\n   * Get the file attribute\n   * This contains all additional attributes not provided by the Node class\n   */\n  get attributes() {\n    return this._attributes;\n  }\n  /**\n   * Get the file permissions\n   */\n  get permissions() {\n    if (this.owner === null && !this.isDavRessource) {\n      return Permission.READ;\n    }\n    return this._data.permissions !== void 0 ? this._data.permissions : Permission.NONE;\n  }\n  /**\n   * Set the file permissions\n   */\n  set permissions(permissions) {\n    this.updateMtime();\n    this._data.permissions = permissions;\n  }\n  /**\n   * Get the file owner\n   * There is no setter as the owner is not meant to be changed\n   */\n  get owner() {\n    if (!this.isDavRessource) {\n      return null;\n    }\n    return this._data.owner;\n  }\n  /**\n   * Is this a dav-related ressource ?\n   */\n  get isDavRessource() {\n    return isDavRessource(this.source, this._knownDavService);\n  }\n  /**\n   * Get the dav root of this object\n   * There is no setter as the root is not meant to be changed\n   */\n  get root() {\n    if (this._data.root) {\n      return this._data.root.replace(/^(.+)\\/$/, \"$1\");\n    }\n    if (this.isDavRessource) {\n      const root = dirname(this.source);\n      return root.split(this._knownDavService).pop() || null;\n    }\n    return null;\n  }\n  /**\n   * Get the absolute path of this object relative to the root\n   */\n  get path() {\n    if (this.root) {\n      let source = this.source;\n      if (this.isDavRessource) {\n        source = source.split(this._knownDavService).pop();\n      }\n      const firstMatch = source.indexOf(this.root);\n      const root = this.root.replace(/\\/$/, \"\");\n      return source.slice(firstMatch + root.length) || \"/\";\n    }\n    return (this.dirname + \"/\" + this.basename).replace(/\\/\\//g, \"/\");\n  }\n  /**\n   * Get the node id if defined.\n   * There is no setter as the fileid is not meant to be changed\n   */\n  get fileid() {\n    return this._data?.id;\n  }\n  /**\n   * Get the node status.\n   */\n  get status() {\n    return this._data?.status;\n  }\n  /**\n   * Set the node status.\n   */\n  set status(status) {\n    this._data.status = status;\n  }\n  /**\n   * Move the node to a new destination\n   *\n   * @param {string} destination the new source.\n   * e.g. https://cloud.domain.com/remote.php/dav/files/emma/Photos/picture.jpg\n   */\n  move(destination) {\n    validateData({ ...this._data, source: destination }, this._knownDavService);\n    this._data.source = destination;\n    this.updateMtime();\n  }\n  /**\n   * Rename the node\n   * This aliases the move method for easier usage\n   *\n   * @param basename The new name of the node\n   */\n  rename(basename2) {\n    if (basename2.includes(\"/\")) {\n      throw new Error(\"Invalid basename\");\n    }\n    this.move(dirname(this.source) + \"/\" + basename2);\n  }\n  /**\n   * Update the mtime if exists.\n   */\n  updateMtime() {\n    if (this._data.mtime) {\n      this._data.mtime = /* @__PURE__ */ new Date();\n    }\n  }\n  /**\n   * Update the attributes of the node\n   *\n   * @param attributes The new attributes to update on the Node attributes\n   */\n  update(attributes) {\n    for (const [name, value] of Object.entries(attributes)) {\n      try {\n        if (value === void 0) {\n          delete this.attributes[name];\n        } else {\n          this.attributes[name] = value;\n        }\n      } catch (e) {\n        if (e instanceof TypeError) {\n          continue;\n        }\n        throw e;\n      }\n    }\n  }\n}\n/**\n * @copyright Copyright (c) 2022 John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @author John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @license AGPL-3.0-or-later\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */\nclass File extends Node {\n  get type() {\n    return FileType.File;\n  }\n}\n/**\n * @copyright Copyright (c) 2022 John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @author John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @license AGPL-3.0-or-later\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */\nclass Folder extends Node {\n  constructor(data) {\n    super({\n      ...data,\n      mime: \"httpd/unix-directory\"\n    });\n  }\n  get type() {\n    return FileType.Folder;\n  }\n  get extension() {\n    return null;\n  }\n  get mime() {\n    return \"httpd/unix-directory\";\n  }\n}\n/**\n * @copyright Copyright (c) 2023 John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @author John Molakvoæ <skjnldsv@protonmail.com>\n * @author Ferdinand Thiessen <opensource@fthiessen.de>\n *\n * @license AGPL-3.0-or-later\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */\nconst davRootPath = `/files/${getCurrentUser()?.uid}`;\nconst davRemoteURL = generateRemoteUrl(\"dav\");\nconst davGetClient = function(remoteURL = davRemoteURL, headers = {}) {\n  const client = createClient(remoteURL, { headers });\n  function setHeaders(token) {\n    client.setHeaders({\n      ...headers,\n      // Add this so the server knows it is an request from the browser\n      \"X-Requested-With\": \"XMLHttpRequest\",\n      // Inject user auth\n      requesttoken: token ?? \"\"\n    });\n  }\n  onRequestTokenUpdate(setHeaders);\n  setHeaders(getRequestToken());\n  const patcher = getPatcher();\n  patcher.patch(\"fetch\", (url, options) => {\n    const headers2 = options.headers;\n    if (headers2?.method) {\n      options.method = headers2.method;\n      delete headers2.method;\n    }\n    return fetch(url, options);\n  });\n  return client;\n};\nconst getFavoriteNodes = (davClient, path = \"/\", davRoot = davRootPath) => {\n  const controller = new AbortController();\n  return new CancelablePromise(async (resolve, reject, onCancel) => {\n    onCancel(() => controller.abort());\n    try {\n      const contentsResponse = await davClient.getDirectoryContents(`${davRoot}${path}`, {\n        signal: controller.signal,\n        details: true,\n        data: davGetFavoritesReport(),\n        headers: {\n          // see davGetClient for patched webdav client\n          method: \"REPORT\"\n        },\n        includeSelf: true\n      });\n      const nodes = contentsResponse.data.filter((node) => node.filename !== path).map((result) => davResultToNode(result, davRoot));\n      resolve(nodes);\n    } catch (error) {\n      reject(error);\n    }\n  });\n};\nconst davResultToNode = function(node, filesRoot = davRootPath, remoteURL = davRemoteURL) {\n  let userId = getCurrentUser()?.uid;\n  const isPublic = document.querySelector(\"input#isPublic\")?.value;\n  if (isPublic) {\n    userId = userId ?? document.querySelector(\"input#sharingUserId\")?.value;\n    userId = userId ?? \"anonymous\";\n  } else if (!userId) {\n    throw new Error(\"No user id found\");\n  }\n  const props = node.props;\n  const permissions = davParsePermissions(props?.permissions);\n  const owner = String(props?.[\"owner-id\"] || userId);\n  const nodeData = {\n    id: props?.fileid || 0,\n    source: `${remoteURL}${node.filename}`,\n    mtime: new Date(Date.parse(node.lastmod)),\n    mime: node.mime || \"application/octet-stream\",\n    size: props?.size || Number.parseInt(props.getcontentlength || \"0\"),\n    permissions,\n    owner,\n    root: filesRoot,\n    attributes: {\n      ...node,\n      ...props,\n      hasPreview: props?.[\"has-preview\"]\n    }\n  };\n  delete nodeData.attributes?.props;\n  return node.type === \"file\" ? new File(nodeData) : new Folder(nodeData);\n};\nconst forbiddenCharacters = window._oc_config?.forbidden_filenames_characters ?? [\"/\", \"\\\\\"];\nconst forbiddenFilenameRegex = window._oc_config?.blacklist_files_regex ? new RegExp(window._oc_config.blacklist_files_regex) : null;\nfunction isFilenameValid(filename) {\n  if (forbiddenCharacters.some((character) => filename.includes(character))) {\n    return false;\n  }\n  if (forbiddenFilenameRegex !== null && filename.match(forbiddenFilenameRegex)) {\n    return false;\n  }\n  return true;\n}\n/**\n * @copyright 2019 Christoph Wurst <christoph@winzerhof-wurst.at>\n *\n * @author Christoph Wurst <christoph@winzerhof-wurst.at>\n * @author John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @license AGPL-3.0-or-later\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */\nconst humanList = [\"B\", \"KB\", \"MB\", \"GB\", \"TB\", \"PB\"];\nconst humanListBinary = [\"B\", \"KiB\", \"MiB\", \"GiB\", \"TiB\", \"PiB\"];\nfunction formatFileSize(size, skipSmallSizes = false, binaryPrefixes = false, base1000 = false) {\n  binaryPrefixes = binaryPrefixes && !base1000;\n  if (typeof size === \"string\") {\n    size = Number(size);\n  }\n  let order = size > 0 ? Math.floor(Math.log(size) / Math.log(base1000 ? 1e3 : 1024)) : 0;\n  order = Math.min((binaryPrefixes ? humanListBinary.length : humanList.length) - 1, order);\n  const readableFormat = binaryPrefixes ? humanListBinary[order] : humanList[order];\n  let relativeSize = (size / Math.pow(base1000 ? 1e3 : 1024, order)).toFixed(1);\n  if (skipSmallSizes === true && order === 0) {\n    return (relativeSize !== \"0.0\" ? \"< 1 \" : \"0 \") + (binaryPrefixes ? humanListBinary[1] : humanList[1]);\n  }\n  if (order < 2) {\n    relativeSize = parseFloat(relativeSize).toFixed(0);\n  } else {\n    relativeSize = parseFloat(relativeSize).toLocaleString(getCanonicalLocale());\n  }\n  return relativeSize + \" \" + readableFormat;\n}\nfunction parseFileSize(value, forceBinary = false) {\n  try {\n    value = `${value}`.toLocaleLowerCase().replaceAll(/\\s+/g, \"\").replaceAll(\",\", \".\");\n  } catch (e) {\n    return null;\n  }\n  const match = value.match(/^([0-9]*(\\.[0-9]*)?)([kmgtp]?)(i?)b?$/);\n  if (match === null || match[1] === \".\" || match[1] === \"\") {\n    return null;\n  }\n  const bytesArray = {\n    \"\": 0,\n    k: 1,\n    m: 2,\n    g: 3,\n    t: 4,\n    p: 5,\n    e: 6\n  };\n  const decimalString = `${match[1]}`;\n  const base = match[4] === \"i\" || forceBinary ? 1024 : 1e3;\n  return Math.round(Number.parseFloat(decimalString) * base ** bytesArray[match[3]]);\n}\nfunction stringify(value) {\n  if (value instanceof Date) {\n    return value.toISOString();\n  }\n  return String(value);\n}\nfunction orderBy(collection, identifiers, orders) {\n  identifiers = identifiers ?? [(value) => value];\n  orders = orders ?? [];\n  const sorting = identifiers.map((_, index) => (orders[index] ?? \"asc\") === \"asc\" ? 1 : -1);\n  const collator = Intl.Collator(\n    [getLanguage(), getCanonicalLocale()],\n    {\n      // handle 10 as ten and not as one-zero\n      numeric: true,\n      usage: \"sort\"\n    }\n  );\n  return [...collection].sort((a, b) => {\n    for (const [index, identifier] of identifiers.entries()) {\n      const value = collator.compare(stringify(identifier(a)), stringify(identifier(b)));\n      if (value !== 0) {\n        return value * sorting[index];\n      }\n    }\n    return 0;\n  });\n}\nvar FilesSortingMode = /* @__PURE__ */ ((FilesSortingMode2) => {\n  FilesSortingMode2[\"Name\"] = \"basename\";\n  FilesSortingMode2[\"Modified\"] = \"mtime\";\n  FilesSortingMode2[\"Size\"] = \"size\";\n  return FilesSortingMode2;\n})(FilesSortingMode || {});\nfunction sortNodes(nodes, options = {}) {\n  const sortingOptions = {\n    // Default to sort by name\n    sortingMode: \"basename\",\n    // Default to sort ascending\n    sortingOrder: \"asc\",\n    ...options\n  };\n  const identifiers = [\n    // 1: Sort favorites first if enabled\n    ...sortingOptions.sortFavoritesFirst ? [(v) => v.attributes?.favorite !== 1] : [],\n    // 2: Sort folders first if sorting by name\n    ...sortingOptions.sortFoldersFirst ? [(v) => v.type !== \"folder\"] : [],\n    // 3: Use sorting mode if NOT basename (to be able to use displayName too)\n    ...sortingOptions.sortingMode !== \"basename\" ? [(v) => v[sortingOptions.sortingMode]] : [],\n    // 4: Use displayName if available, fallback to name\n    (v) => v.attributes?.displayName || v.basename,\n    // 5: Finally, use basename if all previous sorting methods failed\n    (v) => v.basename\n  ];\n  const orders = [\n    // (for 1): always sort favorites before normal files\n    ...sortingOptions.sortFavoritesFirst ? [\"asc\"] : [],\n    // (for 2): always sort folders before files\n    ...sortingOptions.sortFoldersFirst ? [\"asc\"] : [],\n    // (for 3): Reverse if sorting by mtime as mtime higher means edited more recent -> lower\n    ...sortingOptions.sortingMode === \"mtime\" ? [sortingOptions.sortingOrder === \"asc\" ? \"desc\" : \"asc\"] : [],\n    // (also for 3 so make sure not to conflict with 2 and 3)\n    ...sortingOptions.sortingMode !== \"mtime\" && sortingOptions.sortingMode !== \"basename\" ? [sortingOptions.sortingOrder] : [],\n    // for 4: use configured sorting direction\n    sortingOptions.sortingOrder,\n    // for 5: use configured sorting direction\n    sortingOptions.sortingOrder\n  ];\n  return orderBy(nodes, identifiers, orders);\n}\n/**\n * @copyright Copyright (c) 2022 John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @author John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @license AGPL-3.0-or-later\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */\nclass Navigation {\n  _views = [];\n  _currentView = null;\n  register(view) {\n    if (this._views.find((search) => search.id === view.id)) {\n      throw new Error(`View id ${view.id} is already registered`);\n    }\n    this._views.push(view);\n  }\n  remove(id) {\n    const index = this._views.findIndex((view) => view.id === id);\n    if (index !== -1) {\n      this._views.splice(index, 1);\n    }\n  }\n  get views() {\n    return this._views;\n  }\n  setActive(view) {\n    this._currentView = view;\n  }\n  get active() {\n    return this._currentView;\n  }\n}\nconst getNavigation = function() {\n  if (typeof window._nc_navigation === \"undefined\") {\n    window._nc_navigation = new Navigation();\n    logger.debug(\"Navigation service initialized\");\n  }\n  return window._nc_navigation;\n};\n/**\n * @copyright Copyright (c) 2022 John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @author John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @license AGPL-3.0-or-later\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */\nclass Column {\n  _column;\n  constructor(column) {\n    isValidColumn(column);\n    this._column = column;\n  }\n  get id() {\n    return this._column.id;\n  }\n  get title() {\n    return this._column.title;\n  }\n  get render() {\n    return this._column.render;\n  }\n  get sort() {\n    return this._column.sort;\n  }\n  get summary() {\n    return this._column.summary;\n  }\n}\nconst isValidColumn = function(column) {\n  if (!column.id || typeof column.id !== \"string\") {\n    throw new Error(\"A column id is required\");\n  }\n  if (!column.title || typeof column.title !== \"string\") {\n    throw new Error(\"A column title is required\");\n  }\n  if (!column.render || typeof column.render !== \"function\") {\n    throw new Error(\"A render function is required\");\n  }\n  if (column.sort && typeof column.sort !== \"function\") {\n    throw new Error(\"Column sortFunction must be a function\");\n  }\n  if (column.summary && typeof column.summary !== \"function\") {\n    throw new Error(\"Column summary must be a function\");\n  }\n  return true;\n};\nvar validator$2 = {};\nvar util$3 = {};\n(function(exports) {\n  const nameStartChar = \":A-Za-z_\\\\u00C0-\\\\u00D6\\\\u00D8-\\\\u00F6\\\\u00F8-\\\\u02FF\\\\u0370-\\\\u037D\\\\u037F-\\\\u1FFF\\\\u200C-\\\\u200D\\\\u2070-\\\\u218F\\\\u2C00-\\\\u2FEF\\\\u3001-\\\\uD7FF\\\\uF900-\\\\uFDCF\\\\uFDF0-\\\\uFFFD\";\n  const nameChar = nameStartChar + \"\\\\-.\\\\d\\\\u00B7\\\\u0300-\\\\u036F\\\\u203F-\\\\u2040\";\n  const nameRegexp = \"[\" + nameStartChar + \"][\" + nameChar + \"]*\";\n  const regexName = new RegExp(\"^\" + nameRegexp + \"$\");\n  const getAllMatches = function(string, regex) {\n    const matches = [];\n    let match = regex.exec(string);\n    while (match) {\n      const allmatches = [];\n      allmatches.startIndex = regex.lastIndex - match[0].length;\n      const len = match.length;\n      for (let index = 0; index < len; index++) {\n        allmatches.push(match[index]);\n      }\n      matches.push(allmatches);\n      match = regex.exec(string);\n    }\n    return matches;\n  };\n  const isName = function(string) {\n    const match = regexName.exec(string);\n    return !(match === null || typeof match === \"undefined\");\n  };\n  exports.isExist = function(v) {\n    return typeof v !== \"undefined\";\n  };\n  exports.isEmptyObject = function(obj) {\n    return Object.keys(obj).length === 0;\n  };\n  exports.merge = function(target, a, arrayMode) {\n    if (a) {\n      const keys = Object.keys(a);\n      const len = keys.length;\n      for (let i = 0; i < len; i++) {\n        if (arrayMode === \"strict\") {\n          target[keys[i]] = [a[keys[i]]];\n        } else {\n          target[keys[i]] = a[keys[i]];\n        }\n      }\n    }\n  };\n  exports.getValue = function(v) {\n    if (exports.isExist(v)) {\n      return v;\n    } else {\n      return \"\";\n    }\n  };\n  exports.isName = isName;\n  exports.getAllMatches = getAllMatches;\n  exports.nameRegexp = nameRegexp;\n})(util$3);\nconst util$2 = util$3;\nconst defaultOptions$2 = {\n  allowBooleanAttributes: false,\n  //A tag can have attributes without any value\n  unpairedTags: []\n};\nvalidator$2.validate = function(xmlData, options) {\n  options = Object.assign({}, defaultOptions$2, options);\n  const tags = [];\n  let tagFound = false;\n  let reachedRoot = false;\n  if (xmlData[0] === \"\\uFEFF\") {\n    xmlData = xmlData.substr(1);\n  }\n  for (let i = 0; i < xmlData.length; i++) {\n    if (xmlData[i] === \"<\" && xmlData[i + 1] === \"?\") {\n      i += 2;\n      i = readPI(xmlData, i);\n      if (i.err)\n        return i;\n    } else if (xmlData[i] === \"<\") {\n      let tagStartPos = i;\n      i++;\n      if (xmlData[i] === \"!\") {\n        i = readCommentAndCDATA(xmlData, i);\n        continue;\n      } else {\n        let closingTag = false;\n        if (xmlData[i] === \"/\") {\n          closingTag = true;\n          i++;\n        }\n        let tagName = \"\";\n        for (; i < xmlData.length && xmlData[i] !== \">\" && xmlData[i] !== \" \" && xmlData[i] !== \"\t\" && xmlData[i] !== \"\\n\" && xmlData[i] !== \"\\r\"; i++) {\n          tagName += xmlData[i];\n        }\n        tagName = tagName.trim();\n        if (tagName[tagName.length - 1] === \"/\") {\n          tagName = tagName.substring(0, tagName.length - 1);\n          i--;\n        }\n        if (!validateTagName(tagName)) {\n          let msg;\n          if (tagName.trim().length === 0) {\n            msg = \"Invalid space after '<'.\";\n          } else {\n            msg = \"Tag '\" + tagName + \"' is an invalid name.\";\n          }\n          return getErrorObject(\"InvalidTag\", msg, getLineNumberForPosition(xmlData, i));\n        }\n        const result = readAttributeStr(xmlData, i);\n        if (result === false) {\n          return getErrorObject(\"InvalidAttr\", \"Attributes for '\" + tagName + \"' have open quote.\", getLineNumberForPosition(xmlData, i));\n        }\n        let attrStr = result.value;\n        i = result.index;\n        if (attrStr[attrStr.length - 1] === \"/\") {\n          const attrStrStart = i - attrStr.length;\n          attrStr = attrStr.substring(0, attrStr.length - 1);\n          const isValid = validateAttributeString(attrStr, options);\n          if (isValid === true) {\n            tagFound = true;\n          } else {\n            return getErrorObject(isValid.err.code, isValid.err.msg, getLineNumberForPosition(xmlData, attrStrStart + isValid.err.line));\n          }\n        } else if (closingTag) {\n          if (!result.tagClosed) {\n            return getErrorObject(\"InvalidTag\", \"Closing tag '\" + tagName + \"' doesn't have proper closing.\", getLineNumberForPosition(xmlData, i));\n          } else if (attrStr.trim().length > 0) {\n            return getErrorObject(\"InvalidTag\", \"Closing tag '\" + tagName + \"' can't have attributes or invalid starting.\", getLineNumberForPosition(xmlData, tagStartPos));\n          } else if (tags.length === 0) {\n            return getErrorObject(\"InvalidTag\", \"Closing tag '\" + tagName + \"' has not been opened.\", getLineNumberForPosition(xmlData, tagStartPos));\n          } else {\n            const otg = tags.pop();\n            if (tagName !== otg.tagName) {\n              let openPos = getLineNumberForPosition(xmlData, otg.tagStartPos);\n              return getErrorObject(\n                \"InvalidTag\",\n                \"Expected closing tag '\" + otg.tagName + \"' (opened in line \" + openPos.line + \", col \" + openPos.col + \") instead of closing tag '\" + tagName + \"'.\",\n                getLineNumberForPosition(xmlData, tagStartPos)\n              );\n            }\n            if (tags.length == 0) {\n              reachedRoot = true;\n            }\n          }\n        } else {\n          const isValid = validateAttributeString(attrStr, options);\n          if (isValid !== true) {\n            return getErrorObject(isValid.err.code, isValid.err.msg, getLineNumberForPosition(xmlData, i - attrStr.length + isValid.err.line));\n          }\n          if (reachedRoot === true) {\n            return getErrorObject(\"InvalidXml\", \"Multiple possible root nodes found.\", getLineNumberForPosition(xmlData, i));\n          } else if (options.unpairedTags.indexOf(tagName) !== -1)\n            ;\n          else {\n            tags.push({ tagName, tagStartPos });\n          }\n          tagFound = true;\n        }\n        for (i++; i < xmlData.length; i++) {\n          if (xmlData[i] === \"<\") {\n            if (xmlData[i + 1] === \"!\") {\n              i++;\n              i = readCommentAndCDATA(xmlData, i);\n              continue;\n            } else if (xmlData[i + 1] === \"?\") {\n              i = readPI(xmlData, ++i);\n              if (i.err)\n                return i;\n            } else {\n              break;\n            }\n          } else if (xmlData[i] === \"&\") {\n            const afterAmp = validateAmpersand(xmlData, i);\n            if (afterAmp == -1)\n              return getErrorObject(\"InvalidChar\", \"char '&' is not expected.\", getLineNumberForPosition(xmlData, i));\n            i = afterAmp;\n          } else {\n            if (reachedRoot === true && !isWhiteSpace(xmlData[i])) {\n              return getErrorObject(\"InvalidXml\", \"Extra text at the end\", getLineNumberForPosition(xmlData, i));\n            }\n          }\n        }\n        if (xmlData[i] === \"<\") {\n          i--;\n        }\n      }\n    } else {\n      if (isWhiteSpace(xmlData[i])) {\n        continue;\n      }\n      return getErrorObject(\"InvalidChar\", \"char '\" + xmlData[i] + \"' is not expected.\", getLineNumberForPosition(xmlData, i));\n    }\n  }\n  if (!tagFound) {\n    return getErrorObject(\"InvalidXml\", \"Start tag expected.\", 1);\n  } else if (tags.length == 1) {\n    return getErrorObject(\"InvalidTag\", \"Unclosed tag '\" + tags[0].tagName + \"'.\", getLineNumberForPosition(xmlData, tags[0].tagStartPos));\n  } else if (tags.length > 0) {\n    return getErrorObject(\"InvalidXml\", \"Invalid '\" + JSON.stringify(tags.map((t) => t.tagName), null, 4).replace(/\\r?\\n/g, \"\") + \"' found.\", { line: 1, col: 1 });\n  }\n  return true;\n};\nfunction isWhiteSpace(char) {\n  return char === \" \" || char === \"\t\" || char === \"\\n\" || char === \"\\r\";\n}\nfunction readPI(xmlData, i) {\n  const start = i;\n  for (; i < xmlData.length; i++) {\n    if (xmlData[i] == \"?\" || xmlData[i] == \" \") {\n      const tagname = xmlData.substr(start, i - start);\n      if (i > 5 && tagname === \"xml\") {\n        return getErrorObject(\"InvalidXml\", \"XML declaration allowed only at the start of the document.\", getLineNumberForPosition(xmlData, i));\n      } else if (xmlData[i] == \"?\" && xmlData[i + 1] == \">\") {\n        i++;\n        break;\n      } else {\n        continue;\n      }\n    }\n  }\n  return i;\n}\nfunction readCommentAndCDATA(xmlData, i) {\n  if (xmlData.length > i + 5 && xmlData[i + 1] === \"-\" && xmlData[i + 2] === \"-\") {\n    for (i += 3; i < xmlData.length; i++) {\n      if (xmlData[i] === \"-\" && xmlData[i + 1] === \"-\" && xmlData[i + 2] === \">\") {\n        i += 2;\n        break;\n      }\n    }\n  } else if (xmlData.length > i + 8 && xmlData[i + 1] === \"D\" && xmlData[i + 2] === \"O\" && xmlData[i + 3] === \"C\" && xmlData[i + 4] === \"T\" && xmlData[i + 5] === \"Y\" && xmlData[i + 6] === \"P\" && xmlData[i + 7] === \"E\") {\n    let angleBracketsCount = 1;\n    for (i += 8; i < xmlData.length; i++) {\n      if (xmlData[i] === \"<\") {\n        angleBracketsCount++;\n      } else if (xmlData[i] === \">\") {\n        angleBracketsCount--;\n        if (angleBracketsCount === 0) {\n          break;\n        }\n      }\n    }\n  } else if (xmlData.length > i + 9 && xmlData[i + 1] === \"[\" && xmlData[i + 2] === \"C\" && xmlData[i + 3] === \"D\" && xmlData[i + 4] === \"A\" && xmlData[i + 5] === \"T\" && xmlData[i + 6] === \"A\" && xmlData[i + 7] === \"[\") {\n    for (i += 8; i < xmlData.length; i++) {\n      if (xmlData[i] === \"]\" && xmlData[i + 1] === \"]\" && xmlData[i + 2] === \">\") {\n        i += 2;\n        break;\n      }\n    }\n  }\n  return i;\n}\nconst doubleQuote = '\"';\nconst singleQuote = \"'\";\nfunction readAttributeStr(xmlData, i) {\n  let attrStr = \"\";\n  let startChar = \"\";\n  let tagClosed = false;\n  for (; i < xmlData.length; i++) {\n    if (xmlData[i] === doubleQuote || xmlData[i] === singleQuote) {\n      if (startChar === \"\") {\n        startChar = xmlData[i];\n      } else if (startChar !== xmlData[i])\n        ;\n      else {\n        startChar = \"\";\n      }\n    } else if (xmlData[i] === \">\") {\n      if (startChar === \"\") {\n        tagClosed = true;\n        break;\n      }\n    }\n    attrStr += xmlData[i];\n  }\n  if (startChar !== \"\") {\n    return false;\n  }\n  return {\n    value: attrStr,\n    index: i,\n    tagClosed\n  };\n}\nconst validAttrStrRegxp = new RegExp(`(\\\\s*)([^\\\\s=]+)(\\\\s*=)?(\\\\s*(['\"])(([\\\\s\\\\S])*?)\\\\5)?`, \"g\");\nfunction validateAttributeString(attrStr, options) {\n  const matches = util$2.getAllMatches(attrStr, validAttrStrRegxp);\n  const attrNames = {};\n  for (let i = 0; i < matches.length; i++) {\n    if (matches[i][1].length === 0) {\n      return getErrorObject(\"InvalidAttr\", \"Attribute '\" + matches[i][2] + \"' has no space in starting.\", getPositionFromMatch(matches[i]));\n    } else if (matches[i][3] !== void 0 && matches[i][4] === void 0) {\n      return getErrorObject(\"InvalidAttr\", \"Attribute '\" + matches[i][2] + \"' is without value.\", getPositionFromMatch(matches[i]));\n    } else if (matches[i][3] === void 0 && !options.allowBooleanAttributes) {\n      return getErrorObject(\"InvalidAttr\", \"boolean attribute '\" + matches[i][2] + \"' is not allowed.\", getPositionFromMatch(matches[i]));\n    }\n    const attrName = matches[i][2];\n    if (!validateAttrName(attrName)) {\n      return getErrorObject(\"InvalidAttr\", \"Attribute '\" + attrName + \"' is an invalid name.\", getPositionFromMatch(matches[i]));\n    }\n    if (!attrNames.hasOwnProperty(attrName)) {\n      attrNames[attrName] = 1;\n    } else {\n      return getErrorObject(\"InvalidAttr\", \"Attribute '\" + attrName + \"' is repeated.\", getPositionFromMatch(matches[i]));\n    }\n  }\n  return true;\n}\nfunction validateNumberAmpersand(xmlData, i) {\n  let re = /\\d/;\n  if (xmlData[i] === \"x\") {\n    i++;\n    re = /[\\da-fA-F]/;\n  }\n  for (; i < xmlData.length; i++) {\n    if (xmlData[i] === \";\")\n      return i;\n    if (!xmlData[i].match(re))\n      break;\n  }\n  return -1;\n}\nfunction validateAmpersand(xmlData, i) {\n  i++;\n  if (xmlData[i] === \";\")\n    return -1;\n  if (xmlData[i] === \"#\") {\n    i++;\n    return validateNumberAmpersand(xmlData, i);\n  }\n  let count = 0;\n  for (; i < xmlData.length; i++, count++) {\n    if (xmlData[i].match(/\\w/) && count < 20)\n      continue;\n    if (xmlData[i] === \";\")\n      break;\n    return -1;\n  }\n  return i;\n}\nfunction getErrorObject(code, message, lineNumber) {\n  return {\n    err: {\n      code,\n      msg: message,\n      line: lineNumber.line || lineNumber,\n      col: lineNumber.col\n    }\n  };\n}\nfunction validateAttrName(attrName) {\n  return util$2.isName(attrName);\n}\nfunction validateTagName(tagname) {\n  return util$2.isName(tagname);\n}\nfunction getLineNumberForPosition(xmlData, index) {\n  const lines = xmlData.substring(0, index).split(/\\r?\\n/);\n  return {\n    line: lines.length,\n    // column number is last line's length + 1, because column numbering starts at 1:\n    col: lines[lines.length - 1].length + 1\n  };\n}\nfunction getPositionFromMatch(match) {\n  return match.startIndex + match[1].length;\n}\nvar OptionsBuilder = {};\nconst defaultOptions$1 = {\n  preserveOrder: false,\n  attributeNamePrefix: \"@_\",\n  attributesGroupName: false,\n  textNodeName: \"#text\",\n  ignoreAttributes: true,\n  removeNSPrefix: false,\n  // remove NS from tag name or attribute name if true\n  allowBooleanAttributes: false,\n  //a tag can have attributes without any value\n  //ignoreRootElement : false,\n  parseTagValue: true,\n  parseAttributeValue: false,\n  trimValues: true,\n  //Trim string values of tag and attributes\n  cdataPropName: false,\n  numberParseOptions: {\n    hex: true,\n    leadingZeros: true,\n    eNotation: true\n  },\n  tagValueProcessor: function(tagName, val2) {\n    return val2;\n  },\n  attributeValueProcessor: function(attrName, val2) {\n    return val2;\n  },\n  stopNodes: [],\n  //nested tags will not be parsed even for errors\n  alwaysCreateTextNode: false,\n  isArray: () => false,\n  commentPropName: false,\n  unpairedTags: [],\n  processEntities: true,\n  htmlEntities: false,\n  ignoreDeclaration: false,\n  ignorePiTags: false,\n  transformTagName: false,\n  transformAttributeName: false,\n  updateTag: function(tagName, jPath, attrs) {\n    return tagName;\n  }\n  // skipEmptyListItem: false\n};\nconst buildOptions$1 = function(options) {\n  return Object.assign({}, defaultOptions$1, options);\n};\nOptionsBuilder.buildOptions = buildOptions$1;\nOptionsBuilder.defaultOptions = defaultOptions$1;\nclass XmlNode {\n  constructor(tagname) {\n    this.tagname = tagname;\n    this.child = [];\n    this[\":@\"] = {};\n  }\n  add(key, val2) {\n    if (key === \"__proto__\")\n      key = \"#__proto__\";\n    this.child.push({ [key]: val2 });\n  }\n  addChild(node) {\n    if (node.tagname === \"__proto__\")\n      node.tagname = \"#__proto__\";\n    if (node[\":@\"] && Object.keys(node[\":@\"]).length > 0) {\n      this.child.push({ [node.tagname]: node.child, [\":@\"]: node[\":@\"] });\n    } else {\n      this.child.push({ [node.tagname]: node.child });\n    }\n  }\n}\nvar xmlNode$1 = XmlNode;\nconst util$1 = util$3;\nfunction readDocType$1(xmlData, i) {\n  const entities = {};\n  if (xmlData[i + 3] === \"O\" && xmlData[i + 4] === \"C\" && xmlData[i + 5] === \"T\" && xmlData[i + 6] === \"Y\" && xmlData[i + 7] === \"P\" && xmlData[i + 8] === \"E\") {\n    i = i + 9;\n    let angleBracketsCount = 1;\n    let hasBody = false, comment = false;\n    let exp = \"\";\n    for (; i < xmlData.length; i++) {\n      if (xmlData[i] === \"<\" && !comment) {\n        if (hasBody && isEntity(xmlData, i)) {\n          i += 7;\n          [entityName, val, i] = readEntityExp(xmlData, i + 1);\n          if (val.indexOf(\"&\") === -1)\n            entities[validateEntityName(entityName)] = {\n              regx: RegExp(`&${entityName};`, \"g\"),\n              val\n            };\n        } else if (hasBody && isElement(xmlData, i))\n          i += 8;\n        else if (hasBody && isAttlist(xmlData, i))\n          i += 8;\n        else if (hasBody && isNotation(xmlData, i))\n          i += 9;\n        else if (isComment)\n          comment = true;\n        else\n          throw new Error(\"Invalid DOCTYPE\");\n        angleBracketsCount++;\n        exp = \"\";\n      } else if (xmlData[i] === \">\") {\n        if (comment) {\n          if (xmlData[i - 1] === \"-\" && xmlData[i - 2] === \"-\") {\n            comment = false;\n            angleBracketsCount--;\n          }\n        } else {\n          angleBracketsCount--;\n        }\n        if (angleBracketsCount === 0) {\n          break;\n        }\n      } else if (xmlData[i] === \"[\") {\n        hasBody = true;\n      } else {\n        exp += xmlData[i];\n      }\n    }\n    if (angleBracketsCount !== 0) {\n      throw new Error(`Unclosed DOCTYPE`);\n    }\n  } else {\n    throw new Error(`Invalid Tag instead of DOCTYPE`);\n  }\n  return { entities, i };\n}\nfunction readEntityExp(xmlData, i) {\n  let entityName2 = \"\";\n  for (; i < xmlData.length && (xmlData[i] !== \"'\" && xmlData[i] !== '\"'); i++) {\n    entityName2 += xmlData[i];\n  }\n  entityName2 = entityName2.trim();\n  if (entityName2.indexOf(\" \") !== -1)\n    throw new Error(\"External entites are not supported\");\n  const startChar = xmlData[i++];\n  let val2 = \"\";\n  for (; i < xmlData.length && xmlData[i] !== startChar; i++) {\n    val2 += xmlData[i];\n  }\n  return [entityName2, val2, i];\n}\nfunction isComment(xmlData, i) {\n  if (xmlData[i + 1] === \"!\" && xmlData[i + 2] === \"-\" && xmlData[i + 3] === \"-\")\n    return true;\n  return false;\n}\nfunction isEntity(xmlData, i) {\n  if (xmlData[i + 1] === \"!\" && xmlData[i + 2] === \"E\" && xmlData[i + 3] === \"N\" && xmlData[i + 4] === \"T\" && xmlData[i + 5] === \"I\" && xmlData[i + 6] === \"T\" && xmlData[i + 7] === \"Y\")\n    return true;\n  return false;\n}\nfunction isElement(xmlData, i) {\n  if (xmlData[i + 1] === \"!\" && xmlData[i + 2] === \"E\" && xmlData[i + 3] === \"L\" && xmlData[i + 4] === \"E\" && xmlData[i + 5] === \"M\" && xmlData[i + 6] === \"E\" && xmlData[i + 7] === \"N\" && xmlData[i + 8] === \"T\")\n    return true;\n  return false;\n}\nfunction isAttlist(xmlData, i) {\n  if (xmlData[i + 1] === \"!\" && xmlData[i + 2] === \"A\" && xmlData[i + 3] === \"T\" && xmlData[i + 4] === \"T\" && xmlData[i + 5] === \"L\" && xmlData[i + 6] === \"I\" && xmlData[i + 7] === \"S\" && xmlData[i + 8] === \"T\")\n    return true;\n  return false;\n}\nfunction isNotation(xmlData, i) {\n  if (xmlData[i + 1] === \"!\" && xmlData[i + 2] === \"N\" && xmlData[i + 3] === \"O\" && xmlData[i + 4] === \"T\" && xmlData[i + 5] === \"A\" && xmlData[i + 6] === \"T\" && xmlData[i + 7] === \"I\" && xmlData[i + 8] === \"O\" && xmlData[i + 9] === \"N\")\n    return true;\n  return false;\n}\nfunction validateEntityName(name) {\n  if (util$1.isName(name))\n    return name;\n  else\n    throw new Error(`Invalid entity name ${name}`);\n}\nvar DocTypeReader = readDocType$1;\nconst hexRegex = /^[-+]?0x[a-fA-F0-9]+$/;\nconst numRegex = /^([\\-\\+])?(0*)(\\.[0-9]+([eE]\\-?[0-9]+)?|[0-9]+(\\.[0-9]+([eE]\\-?[0-9]+)?)?)$/;\nif (!Number.parseInt && window.parseInt) {\n  Number.parseInt = window.parseInt;\n}\nif (!Number.parseFloat && window.parseFloat) {\n  Number.parseFloat = window.parseFloat;\n}\nconst consider = {\n  hex: true,\n  leadingZeros: true,\n  decimalPoint: \".\",\n  eNotation: true\n  //skipLike: /regex/\n};\nfunction toNumber$1(str, options = {}) {\n  options = Object.assign({}, consider, options);\n  if (!str || typeof str !== \"string\")\n    return str;\n  let trimmedStr = str.trim();\n  if (options.skipLike !== void 0 && options.skipLike.test(trimmedStr))\n    return str;\n  else if (options.hex && hexRegex.test(trimmedStr)) {\n    return Number.parseInt(trimmedStr, 16);\n  } else {\n    const match = numRegex.exec(trimmedStr);\n    if (match) {\n      const sign = match[1];\n      const leadingZeros = match[2];\n      let numTrimmedByZeros = trimZeros(match[3]);\n      const eNotation = match[4] || match[6];\n      if (!options.leadingZeros && leadingZeros.length > 0 && sign && trimmedStr[2] !== \".\")\n        return str;\n      else if (!options.leadingZeros && leadingZeros.length > 0 && !sign && trimmedStr[1] !== \".\")\n        return str;\n      else {\n        const num = Number(trimmedStr);\n        const numStr = \"\" + num;\n        if (numStr.search(/[eE]/) !== -1) {\n          if (options.eNotation)\n            return num;\n          else\n            return str;\n        } else if (eNotation) {\n          if (options.eNotation)\n            return num;\n          else\n            return str;\n        } else if (trimmedStr.indexOf(\".\") !== -1) {\n          if (numStr === \"0\" && numTrimmedByZeros === \"\")\n            return num;\n          else if (numStr === numTrimmedByZeros)\n            return num;\n          else if (sign && numStr === \"-\" + numTrimmedByZeros)\n            return num;\n          else\n            return str;\n        }\n        if (leadingZeros) {\n          if (numTrimmedByZeros === numStr)\n            return num;\n          else if (sign + numTrimmedByZeros === numStr)\n            return num;\n          else\n            return str;\n        }\n        if (trimmedStr === numStr)\n          return num;\n        else if (trimmedStr === sign + numStr)\n          return num;\n        return str;\n      }\n    } else {\n      return str;\n    }\n  }\n}\nfunction trimZeros(numStr) {\n  if (numStr && numStr.indexOf(\".\") !== -1) {\n    numStr = numStr.replace(/0+$/, \"\");\n    if (numStr === \".\")\n      numStr = \"0\";\n    else if (numStr[0] === \".\")\n      numStr = \"0\" + numStr;\n    else if (numStr[numStr.length - 1] === \".\")\n      numStr = numStr.substr(0, numStr.length - 1);\n    return numStr;\n  }\n  return numStr;\n}\nvar strnum = toNumber$1;\nconst util = util$3;\nconst xmlNode = xmlNode$1;\nconst readDocType = DocTypeReader;\nconst toNumber = strnum;\nlet OrderedObjParser$1 = class OrderedObjParser {\n  constructor(options) {\n    this.options = options;\n    this.currentNode = null;\n    this.tagsNodeStack = [];\n    this.docTypeEntities = {};\n    this.lastEntities = {\n      \"apos\": { regex: /&(apos|#39|#x27);/g, val: \"'\" },\n      \"gt\": { regex: /&(gt|#62|#x3E);/g, val: \">\" },\n      \"lt\": { regex: /&(lt|#60|#x3C);/g, val: \"<\" },\n      \"quot\": { regex: /&(quot|#34|#x22);/g, val: '\"' }\n    };\n    this.ampEntity = { regex: /&(amp|#38|#x26);/g, val: \"&\" };\n    this.htmlEntities = {\n      \"space\": { regex: /&(nbsp|#160);/g, val: \" \" },\n      // \"lt\" : { regex: /&(lt|#60);/g, val: \"<\" },\n      // \"gt\" : { regex: /&(gt|#62);/g, val: \">\" },\n      // \"amp\" : { regex: /&(amp|#38);/g, val: \"&\" },\n      // \"quot\" : { regex: /&(quot|#34);/g, val: \"\\\"\" },\n      // \"apos\" : { regex: /&(apos|#39);/g, val: \"'\" },\n      \"cent\": { regex: /&(cent|#162);/g, val: \"¢\" },\n      \"pound\": { regex: /&(pound|#163);/g, val: \"£\" },\n      \"yen\": { regex: /&(yen|#165);/g, val: \"¥\" },\n      \"euro\": { regex: /&(euro|#8364);/g, val: \"€\" },\n      \"copyright\": { regex: /&(copy|#169);/g, val: \"©\" },\n      \"reg\": { regex: /&(reg|#174);/g, val: \"®\" },\n      \"inr\": { regex: /&(inr|#8377);/g, val: \"₹\" },\n      \"num_dec\": { regex: /&#([0-9]{1,7});/g, val: (_, str) => String.fromCharCode(Number.parseInt(str, 10)) },\n      \"num_hex\": { regex: /&#x([0-9a-fA-F]{1,6});/g, val: (_, str) => String.fromCharCode(Number.parseInt(str, 16)) }\n    };\n    this.addExternalEntities = addExternalEntities;\n    this.parseXml = parseXml;\n    this.parseTextData = parseTextData;\n    this.resolveNameSpace = resolveNameSpace;\n    this.buildAttributesMap = buildAttributesMap;\n    this.isItStopNode = isItStopNode;\n    this.replaceEntitiesValue = replaceEntitiesValue$1;\n    this.readStopNodeData = readStopNodeData;\n    this.saveTextToParentTag = saveTextToParentTag;\n    this.addChild = addChild;\n  }\n};\nfunction addExternalEntities(externalEntities) {\n  const entKeys = Object.keys(externalEntities);\n  for (let i = 0; i < entKeys.length; i++) {\n    const ent = entKeys[i];\n    this.lastEntities[ent] = {\n      regex: new RegExp(\"&\" + ent + \";\", \"g\"),\n      val: externalEntities[ent]\n    };\n  }\n}\nfunction parseTextData(val2, tagName, jPath, dontTrim, hasAttributes, isLeafNode, escapeEntities) {\n  if (val2 !== void 0) {\n    if (this.options.trimValues && !dontTrim) {\n      val2 = val2.trim();\n    }\n    if (val2.length > 0) {\n      if (!escapeEntities)\n        val2 = this.replaceEntitiesValue(val2);\n      const newval = this.options.tagValueProcessor(tagName, val2, jPath, hasAttributes, isLeafNode);\n      if (newval === null || newval === void 0) {\n        return val2;\n      } else if (typeof newval !== typeof val2 || newval !== val2) {\n        return newval;\n      } else if (this.options.trimValues) {\n        return parseValue(val2, this.options.parseTagValue, this.options.numberParseOptions);\n      } else {\n        const trimmedVal = val2.trim();\n        if (trimmedVal === val2) {\n          return parseValue(val2, this.options.parseTagValue, this.options.numberParseOptions);\n        } else {\n          return val2;\n        }\n      }\n    }\n  }\n}\nfunction resolveNameSpace(tagname) {\n  if (this.options.removeNSPrefix) {\n    const tags = tagname.split(\":\");\n    const prefix = tagname.charAt(0) === \"/\" ? \"/\" : \"\";\n    if (tags[0] === \"xmlns\") {\n      return \"\";\n    }\n    if (tags.length === 2) {\n      tagname = prefix + tags[1];\n    }\n  }\n  return tagname;\n}\nconst attrsRegx = new RegExp(`([^\\\\s=]+)\\\\s*(=\\\\s*(['\"])([\\\\s\\\\S]*?)\\\\3)?`, \"gm\");\nfunction buildAttributesMap(attrStr, jPath, tagName) {\n  if (!this.options.ignoreAttributes && typeof attrStr === \"string\") {\n    const matches = util.getAllMatches(attrStr, attrsRegx);\n    const len = matches.length;\n    const attrs = {};\n    for (let i = 0; i < len; i++) {\n      const attrName = this.resolveNameSpace(matches[i][1]);\n      let oldVal = matches[i][4];\n      let aName = this.options.attributeNamePrefix + attrName;\n      if (attrName.length) {\n        if (this.options.transformAttributeName) {\n          aName = this.options.transformAttributeName(aName);\n        }\n        if (aName === \"__proto__\")\n          aName = \"#__proto__\";\n        if (oldVal !== void 0) {\n          if (this.options.trimValues) {\n            oldVal = oldVal.trim();\n          }\n          oldVal = this.replaceEntitiesValue(oldVal);\n          const newVal = this.options.attributeValueProcessor(attrName, oldVal, jPath);\n          if (newVal === null || newVal === void 0) {\n            attrs[aName] = oldVal;\n          } else if (typeof newVal !== typeof oldVal || newVal !== oldVal) {\n            attrs[aName] = newVal;\n          } else {\n            attrs[aName] = parseValue(\n              oldVal,\n              this.options.parseAttributeValue,\n              this.options.numberParseOptions\n            );\n          }\n        } else if (this.options.allowBooleanAttributes) {\n          attrs[aName] = true;\n        }\n      }\n    }\n    if (!Object.keys(attrs).length) {\n      return;\n    }\n    if (this.options.attributesGroupName) {\n      const attrCollection = {};\n      attrCollection[this.options.attributesGroupName] = attrs;\n      return attrCollection;\n    }\n    return attrs;\n  }\n}\nconst parseXml = function(xmlData) {\n  xmlData = xmlData.replace(/\\r\\n?/g, \"\\n\");\n  const xmlObj = new xmlNode(\"!xml\");\n  let currentNode = xmlObj;\n  let textData = \"\";\n  let jPath = \"\";\n  for (let i = 0; i < xmlData.length; i++) {\n    const ch = xmlData[i];\n    if (ch === \"<\") {\n      if (xmlData[i + 1] === \"/\") {\n        const closeIndex = findClosingIndex(xmlData, \">\", i, \"Closing Tag is not closed.\");\n        let tagName = xmlData.substring(i + 2, closeIndex).trim();\n        if (this.options.removeNSPrefix) {\n          const colonIndex = tagName.indexOf(\":\");\n          if (colonIndex !== -1) {\n            tagName = tagName.substr(colonIndex + 1);\n          }\n        }\n        if (this.options.transformTagName) {\n          tagName = this.options.transformTagName(tagName);\n        }\n        if (currentNode) {\n          textData = this.saveTextToParentTag(textData, currentNode, jPath);\n        }\n        const lastTagName = jPath.substring(jPath.lastIndexOf(\".\") + 1);\n        if (tagName && this.options.unpairedTags.indexOf(tagName) !== -1) {\n          throw new Error(`Unpaired tag can not be used as closing tag: </${tagName}>`);\n        }\n        let propIndex = 0;\n        if (lastTagName && this.options.unpairedTags.indexOf(lastTagName) !== -1) {\n          propIndex = jPath.lastIndexOf(\".\", jPath.lastIndexOf(\".\") - 1);\n          this.tagsNodeStack.pop();\n        } else {\n          propIndex = jPath.lastIndexOf(\".\");\n        }\n        jPath = jPath.substring(0, propIndex);\n        currentNode = this.tagsNodeStack.pop();\n        textData = \"\";\n        i = closeIndex;\n      } else if (xmlData[i + 1] === \"?\") {\n        let tagData = readTagExp(xmlData, i, false, \"?>\");\n        if (!tagData)\n          throw new Error(\"Pi Tag is not closed.\");\n        textData = this.saveTextToParentTag(textData, currentNode, jPath);\n        if (this.options.ignoreDeclaration && tagData.tagName === \"?xml\" || this.options.ignorePiTags)\n          ;\n        else {\n          const childNode = new xmlNode(tagData.tagName);\n          childNode.add(this.options.textNodeName, \"\");\n          if (tagData.tagName !== tagData.tagExp && tagData.attrExpPresent) {\n            childNode[\":@\"] = this.buildAttributesMap(tagData.tagExp, jPath, tagData.tagName);\n          }\n          this.addChild(currentNode, childNode, jPath);\n        }\n        i = tagData.closeIndex + 1;\n      } else if (xmlData.substr(i + 1, 3) === \"!--\") {\n        const endIndex = findClosingIndex(xmlData, \"-->\", i + 4, \"Comment is not closed.\");\n        if (this.options.commentPropName) {\n          const comment = xmlData.substring(i + 4, endIndex - 2);\n          textData = this.saveTextToParentTag(textData, currentNode, jPath);\n          currentNode.add(this.options.commentPropName, [{ [this.options.textNodeName]: comment }]);\n        }\n        i = endIndex;\n      } else if (xmlData.substr(i + 1, 2) === \"!D\") {\n        const result = readDocType(xmlData, i);\n        this.docTypeEntities = result.entities;\n        i = result.i;\n      } else if (xmlData.substr(i + 1, 2) === \"![\") {\n        const closeIndex = findClosingIndex(xmlData, \"]]>\", i, \"CDATA is not closed.\") - 2;\n        const tagExp = xmlData.substring(i + 9, closeIndex);\n        textData = this.saveTextToParentTag(textData, currentNode, jPath);\n        let val2 = this.parseTextData(tagExp, currentNode.tagname, jPath, true, false, true, true);\n        if (val2 == void 0)\n          val2 = \"\";\n        if (this.options.cdataPropName) {\n          currentNode.add(this.options.cdataPropName, [{ [this.options.textNodeName]: tagExp }]);\n        } else {\n          currentNode.add(this.options.textNodeName, val2);\n        }\n        i = closeIndex + 2;\n      } else {\n        let result = readTagExp(xmlData, i, this.options.removeNSPrefix);\n        let tagName = result.tagName;\n        const rawTagName = result.rawTagName;\n        let tagExp = result.tagExp;\n        let attrExpPresent = result.attrExpPresent;\n        let closeIndex = result.closeIndex;\n        if (this.options.transformTagName) {\n          tagName = this.options.transformTagName(tagName);\n        }\n        if (currentNode && textData) {\n          if (currentNode.tagname !== \"!xml\") {\n            textData = this.saveTextToParentTag(textData, currentNode, jPath, false);\n          }\n        }\n        const lastTag = currentNode;\n        if (lastTag && this.options.unpairedTags.indexOf(lastTag.tagname) !== -1) {\n          currentNode = this.tagsNodeStack.pop();\n          jPath = jPath.substring(0, jPath.lastIndexOf(\".\"));\n        }\n        if (tagName !== xmlObj.tagname) {\n          jPath += jPath ? \".\" + tagName : tagName;\n        }\n        if (this.isItStopNode(this.options.stopNodes, jPath, tagName)) {\n          let tagContent = \"\";\n          if (tagExp.length > 0 && tagExp.lastIndexOf(\"/\") === tagExp.length - 1) {\n            if (tagName[tagName.length - 1] === \"/\") {\n              tagName = tagName.substr(0, tagName.length - 1);\n              jPath = jPath.substr(0, jPath.length - 1);\n              tagExp = tagName;\n            } else {\n              tagExp = tagExp.substr(0, tagExp.length - 1);\n            }\n            i = result.closeIndex;\n          } else if (this.options.unpairedTags.indexOf(tagName) !== -1) {\n            i = result.closeIndex;\n          } else {\n            const result2 = this.readStopNodeData(xmlData, rawTagName, closeIndex + 1);\n            if (!result2)\n              throw new Error(`Unexpected end of ${rawTagName}`);\n            i = result2.i;\n            tagContent = result2.tagContent;\n          }\n          const childNode = new xmlNode(tagName);\n          if (tagName !== tagExp && attrExpPresent) {\n            childNode[\":@\"] = this.buildAttributesMap(tagExp, jPath, tagName);\n          }\n          if (tagContent) {\n            tagContent = this.parseTextData(tagContent, tagName, jPath, true, attrExpPresent, true, true);\n          }\n          jPath = jPath.substr(0, jPath.lastIndexOf(\".\"));\n          childNode.add(this.options.textNodeName, tagContent);\n          this.addChild(currentNode, childNode, jPath);\n        } else {\n          if (tagExp.length > 0 && tagExp.lastIndexOf(\"/\") === tagExp.length - 1) {\n            if (tagName[tagName.length - 1] === \"/\") {\n              tagName = tagName.substr(0, tagName.length - 1);\n              jPath = jPath.substr(0, jPath.length - 1);\n              tagExp = tagName;\n            } else {\n              tagExp = tagExp.substr(0, tagExp.length - 1);\n            }\n            if (this.options.transformTagName) {\n              tagName = this.options.transformTagName(tagName);\n            }\n            const childNode = new xmlNode(tagName);\n            if (tagName !== tagExp && attrExpPresent) {\n              childNode[\":@\"] = this.buildAttributesMap(tagExp, jPath, tagName);\n            }\n            this.addChild(currentNode, childNode, jPath);\n            jPath = jPath.substr(0, jPath.lastIndexOf(\".\"));\n          } else {\n            const childNode = new xmlNode(tagName);\n            this.tagsNodeStack.push(currentNode);\n            if (tagName !== tagExp && attrExpPresent) {\n              childNode[\":@\"] = this.buildAttributesMap(tagExp, jPath, tagName);\n            }\n            this.addChild(currentNode, childNode, jPath);\n            currentNode = childNode;\n          }\n          textData = \"\";\n          i = closeIndex;\n        }\n      }\n    } else {\n      textData += xmlData[i];\n    }\n  }\n  return xmlObj.child;\n};\nfunction addChild(currentNode, childNode, jPath) {\n  const result = this.options.updateTag(childNode.tagname, jPath, childNode[\":@\"]);\n  if (result === false)\n    ;\n  else if (typeof result === \"string\") {\n    childNode.tagname = result;\n    currentNode.addChild(childNode);\n  } else {\n    currentNode.addChild(childNode);\n  }\n}\nconst replaceEntitiesValue$1 = function(val2) {\n  if (this.options.processEntities) {\n    for (let entityName2 in this.docTypeEntities) {\n      const entity = this.docTypeEntities[entityName2];\n      val2 = val2.replace(entity.regx, entity.val);\n    }\n    for (let entityName2 in this.lastEntities) {\n      const entity = this.lastEntities[entityName2];\n      val2 = val2.replace(entity.regex, entity.val);\n    }\n    if (this.options.htmlEntities) {\n      for (let entityName2 in this.htmlEntities) {\n        const entity = this.htmlEntities[entityName2];\n        val2 = val2.replace(entity.regex, entity.val);\n      }\n    }\n    val2 = val2.replace(this.ampEntity.regex, this.ampEntity.val);\n  }\n  return val2;\n};\nfunction saveTextToParentTag(textData, currentNode, jPath, isLeafNode) {\n  if (textData) {\n    if (isLeafNode === void 0)\n      isLeafNode = Object.keys(currentNode.child).length === 0;\n    textData = this.parseTextData(\n      textData,\n      currentNode.tagname,\n      jPath,\n      false,\n      currentNode[\":@\"] ? Object.keys(currentNode[\":@\"]).length !== 0 : false,\n      isLeafNode\n    );\n    if (textData !== void 0 && textData !== \"\")\n      currentNode.add(this.options.textNodeName, textData);\n    textData = \"\";\n  }\n  return textData;\n}\nfunction isItStopNode(stopNodes, jPath, currentTagName) {\n  const allNodesExp = \"*.\" + currentTagName;\n  for (const stopNodePath in stopNodes) {\n    const stopNodeExp = stopNodes[stopNodePath];\n    if (allNodesExp === stopNodeExp || jPath === stopNodeExp)\n      return true;\n  }\n  return false;\n}\nfunction tagExpWithClosingIndex(xmlData, i, closingChar = \">\") {\n  let attrBoundary;\n  let tagExp = \"\";\n  for (let index = i; index < xmlData.length; index++) {\n    let ch = xmlData[index];\n    if (attrBoundary) {\n      if (ch === attrBoundary)\n        attrBoundary = \"\";\n    } else if (ch === '\"' || ch === \"'\") {\n      attrBoundary = ch;\n    } else if (ch === closingChar[0]) {\n      if (closingChar[1]) {\n        if (xmlData[index + 1] === closingChar[1]) {\n          return {\n            data: tagExp,\n            index\n          };\n        }\n      } else {\n        return {\n          data: tagExp,\n          index\n        };\n      }\n    } else if (ch === \"\t\") {\n      ch = \" \";\n    }\n    tagExp += ch;\n  }\n}\nfunction findClosingIndex(xmlData, str, i, errMsg) {\n  const closingIndex = xmlData.indexOf(str, i);\n  if (closingIndex === -1) {\n    throw new Error(errMsg);\n  } else {\n    return closingIndex + str.length - 1;\n  }\n}\nfunction readTagExp(xmlData, i, removeNSPrefix, closingChar = \">\") {\n  const result = tagExpWithClosingIndex(xmlData, i + 1, closingChar);\n  if (!result)\n    return;\n  let tagExp = result.data;\n  const closeIndex = result.index;\n  const separatorIndex = tagExp.search(/\\s/);\n  let tagName = tagExp;\n  let attrExpPresent = true;\n  if (separatorIndex !== -1) {\n    tagName = tagExp.substring(0, separatorIndex);\n    tagExp = tagExp.substring(separatorIndex + 1).trimStart();\n  }\n  const rawTagName = tagName;\n  if (removeNSPrefix) {\n    const colonIndex = tagName.indexOf(\":\");\n    if (colonIndex !== -1) {\n      tagName = tagName.substr(colonIndex + 1);\n      attrExpPresent = tagName !== result.data.substr(colonIndex + 1);\n    }\n  }\n  return {\n    tagName,\n    tagExp,\n    closeIndex,\n    attrExpPresent,\n    rawTagName\n  };\n}\nfunction readStopNodeData(xmlData, tagName, i) {\n  const startIndex = i;\n  let openTagCount = 1;\n  for (; i < xmlData.length; i++) {\n    if (xmlData[i] === \"<\") {\n      if (xmlData[i + 1] === \"/\") {\n        const closeIndex = findClosingIndex(xmlData, \">\", i, `${tagName} is not closed`);\n        let closeTagName = xmlData.substring(i + 2, closeIndex).trim();\n        if (closeTagName === tagName) {\n          openTagCount--;\n          if (openTagCount === 0) {\n            return {\n              tagContent: xmlData.substring(startIndex, i),\n              i: closeIndex\n            };\n          }\n        }\n        i = closeIndex;\n      } else if (xmlData[i + 1] === \"?\") {\n        const closeIndex = findClosingIndex(xmlData, \"?>\", i + 1, \"StopNode is not closed.\");\n        i = closeIndex;\n      } else if (xmlData.substr(i + 1, 3) === \"!--\") {\n        const closeIndex = findClosingIndex(xmlData, \"-->\", i + 3, \"StopNode is not closed.\");\n        i = closeIndex;\n      } else if (xmlData.substr(i + 1, 2) === \"![\") {\n        const closeIndex = findClosingIndex(xmlData, \"]]>\", i, \"StopNode is not closed.\") - 2;\n        i = closeIndex;\n      } else {\n        const tagData = readTagExp(xmlData, i, \">\");\n        if (tagData) {\n          const openTagName = tagData && tagData.tagName;\n          if (openTagName === tagName && tagData.tagExp[tagData.tagExp.length - 1] !== \"/\") {\n            openTagCount++;\n          }\n          i = tagData.closeIndex;\n        }\n      }\n    }\n  }\n}\nfunction parseValue(val2, shouldParse, options) {\n  if (shouldParse && typeof val2 === \"string\") {\n    const newval = val2.trim();\n    if (newval === \"true\")\n      return true;\n    else if (newval === \"false\")\n      return false;\n    else\n      return toNumber(val2, options);\n  } else {\n    if (util.isExist(val2)) {\n      return val2;\n    } else {\n      return \"\";\n    }\n  }\n}\nvar OrderedObjParser_1 = OrderedObjParser$1;\nvar node2json = {};\nfunction prettify$1(node, options) {\n  return compress(node, options);\n}\nfunction compress(arr, options, jPath) {\n  let text;\n  const compressedObj = {};\n  for (let i = 0; i < arr.length; i++) {\n    const tagObj = arr[i];\n    const property = propName$1(tagObj);\n    let newJpath = \"\";\n    if (jPath === void 0)\n      newJpath = property;\n    else\n      newJpath = jPath + \".\" + property;\n    if (property === options.textNodeName) {\n      if (text === void 0)\n        text = tagObj[property];\n      else\n        text += \"\" + tagObj[property];\n    } else if (property === void 0) {\n      continue;\n    } else if (tagObj[property]) {\n      let val2 = compress(tagObj[property], options, newJpath);\n      const isLeaf = isLeafTag(val2, options);\n      if (tagObj[\":@\"]) {\n        assignAttributes(val2, tagObj[\":@\"], newJpath, options);\n      } else if (Object.keys(val2).length === 1 && val2[options.textNodeName] !== void 0 && !options.alwaysCreateTextNode) {\n        val2 = val2[options.textNodeName];\n      } else if (Object.keys(val2).length === 0) {\n        if (options.alwaysCreateTextNode)\n          val2[options.textNodeName] = \"\";\n        else\n          val2 = \"\";\n      }\n      if (compressedObj[property] !== void 0 && compressedObj.hasOwnProperty(property)) {\n        if (!Array.isArray(compressedObj[property])) {\n          compressedObj[property] = [compressedObj[property]];\n        }\n        compressedObj[property].push(val2);\n      } else {\n        if (options.isArray(property, newJpath, isLeaf)) {\n          compressedObj[property] = [val2];\n        } else {\n          compressedObj[property] = val2;\n        }\n      }\n    }\n  }\n  if (typeof text === \"string\") {\n    if (text.length > 0)\n      compressedObj[options.textNodeName] = text;\n  } else if (text !== void 0)\n    compressedObj[options.textNodeName] = text;\n  return compressedObj;\n}\nfunction propName$1(obj) {\n  const keys = Object.keys(obj);\n  for (let i = 0; i < keys.length; i++) {\n    const key = keys[i];\n    if (key !== \":@\")\n      return key;\n  }\n}\nfunction assignAttributes(obj, attrMap, jpath, options) {\n  if (attrMap) {\n    const keys = Object.keys(attrMap);\n    const len = keys.length;\n    for (let i = 0; i < len; i++) {\n      const atrrName = keys[i];\n      if (options.isArray(atrrName, jpath + \".\" + atrrName, true, true)) {\n        obj[atrrName] = [attrMap[atrrName]];\n      } else {\n        obj[atrrName] = attrMap[atrrName];\n      }\n    }\n  }\n}\nfunction isLeafTag(obj, options) {\n  const { textNodeName } = options;\n  const propCount = Object.keys(obj).length;\n  if (propCount === 0) {\n    return true;\n  }\n  if (propCount === 1 && (obj[textNodeName] || typeof obj[textNodeName] === \"boolean\" || obj[textNodeName] === 0)) {\n    return true;\n  }\n  return false;\n}\nnode2json.prettify = prettify$1;\nconst { buildOptions } = OptionsBuilder;\nconst OrderedObjParser2 = OrderedObjParser_1;\nconst { prettify } = node2json;\nconst validator$1 = validator$2;\nlet XMLParser$1 = class XMLParser {\n  constructor(options) {\n    this.externalEntities = {};\n    this.options = buildOptions(options);\n  }\n  /**\n   * Parse XML dats to JS object \n   * @param {string|Buffer} xmlData \n   * @param {boolean|Object} validationOption \n   */\n  parse(xmlData, validationOption) {\n    if (typeof xmlData === \"string\")\n      ;\n    else if (xmlData.toString) {\n      xmlData = xmlData.toString();\n    } else {\n      throw new Error(\"XML data is accepted in String or Bytes[] form.\");\n    }\n    if (validationOption) {\n      if (validationOption === true)\n        validationOption = {};\n      const result = validator$1.validate(xmlData, validationOption);\n      if (result !== true) {\n        throw Error(`${result.err.msg}:${result.err.line}:${result.err.col}`);\n      }\n    }\n    const orderedObjParser = new OrderedObjParser2(this.options);\n    orderedObjParser.addExternalEntities(this.externalEntities);\n    const orderedResult = orderedObjParser.parseXml(xmlData);\n    if (this.options.preserveOrder || orderedResult === void 0)\n      return orderedResult;\n    else\n      return prettify(orderedResult, this.options);\n  }\n  /**\n   * Add Entity which is not by default supported by this library\n   * @param {string} key \n   * @param {string} value \n   */\n  addEntity(key, value) {\n    if (value.indexOf(\"&\") !== -1) {\n      throw new Error(\"Entity value can't have '&'\");\n    } else if (key.indexOf(\"&\") !== -1 || key.indexOf(\";\") !== -1) {\n      throw new Error(\"An entity must be set without '&' and ';'. Eg. use '#xD' for '&#xD;'\");\n    } else if (value === \"&\") {\n      throw new Error(\"An entity with value '&' is not permitted\");\n    } else {\n      this.externalEntities[key] = value;\n    }\n  }\n};\nvar XMLParser_1 = XMLParser$1;\nconst EOL = \"\\n\";\nfunction toXml(jArray, options) {\n  let indentation = \"\";\n  if (options.format && options.indentBy.length > 0) {\n    indentation = EOL;\n  }\n  return arrToStr(jArray, options, \"\", indentation);\n}\nfunction arrToStr(arr, options, jPath, indentation) {\n  let xmlStr = \"\";\n  let isPreviousElementTag = false;\n  for (let i = 0; i < arr.length; i++) {\n    const tagObj = arr[i];\n    const tagName = propName(tagObj);\n    if (tagName === void 0)\n      continue;\n    let newJPath = \"\";\n    if (jPath.length === 0)\n      newJPath = tagName;\n    else\n      newJPath = `${jPath}.${tagName}`;\n    if (tagName === options.textNodeName) {\n      let tagText = tagObj[tagName];\n      if (!isStopNode(newJPath, options)) {\n        tagText = options.tagValueProcessor(tagName, tagText);\n        tagText = replaceEntitiesValue(tagText, options);\n      }\n      if (isPreviousElementTag) {\n        xmlStr += indentation;\n      }\n      xmlStr += tagText;\n      isPreviousElementTag = false;\n      continue;\n    } else if (tagName === options.cdataPropName) {\n      if (isPreviousElementTag) {\n        xmlStr += indentation;\n      }\n      xmlStr += `<![CDATA[${tagObj[tagName][0][options.textNodeName]}]]>`;\n      isPreviousElementTag = false;\n      continue;\n    } else if (tagName === options.commentPropName) {\n      xmlStr += indentation + `<!--${tagObj[tagName][0][options.textNodeName]}-->`;\n      isPreviousElementTag = true;\n      continue;\n    } else if (tagName[0] === \"?\") {\n      const attStr2 = attr_to_str(tagObj[\":@\"], options);\n      const tempInd = tagName === \"?xml\" ? \"\" : indentation;\n      let piTextNodeName = tagObj[tagName][0][options.textNodeName];\n      piTextNodeName = piTextNodeName.length !== 0 ? \" \" + piTextNodeName : \"\";\n      xmlStr += tempInd + `<${tagName}${piTextNodeName}${attStr2}?>`;\n      isPreviousElementTag = true;\n      continue;\n    }\n    let newIdentation = indentation;\n    if (newIdentation !== \"\") {\n      newIdentation += options.indentBy;\n    }\n    const attStr = attr_to_str(tagObj[\":@\"], options);\n    const tagStart = indentation + `<${tagName}${attStr}`;\n    const tagValue = arrToStr(tagObj[tagName], options, newJPath, newIdentation);\n    if (options.unpairedTags.indexOf(tagName) !== -1) {\n      if (options.suppressUnpairedNode)\n        xmlStr += tagStart + \">\";\n      else\n        xmlStr += tagStart + \"/>\";\n    } else if ((!tagValue || tagValue.length === 0) && options.suppressEmptyNode) {\n      xmlStr += tagStart + \"/>\";\n    } else if (tagValue && tagValue.endsWith(\">\")) {\n      xmlStr += tagStart + `>${tagValue}${indentation}</${tagName}>`;\n    } else {\n      xmlStr += tagStart + \">\";\n      if (tagValue && indentation !== \"\" && (tagValue.includes(\"/>\") || tagValue.includes(\"</\"))) {\n        xmlStr += indentation + options.indentBy + tagValue + indentation;\n      } else {\n        xmlStr += tagValue;\n      }\n      xmlStr += `</${tagName}>`;\n    }\n    isPreviousElementTag = true;\n  }\n  return xmlStr;\n}\nfunction propName(obj) {\n  const keys = Object.keys(obj);\n  for (let i = 0; i < keys.length; i++) {\n    const key = keys[i];\n    if (!obj.hasOwnProperty(key))\n      continue;\n    if (key !== \":@\")\n      return key;\n  }\n}\nfunction attr_to_str(attrMap, options) {\n  let attrStr = \"\";\n  if (attrMap && !options.ignoreAttributes) {\n    for (let attr in attrMap) {\n      if (!attrMap.hasOwnProperty(attr))\n        continue;\n      let attrVal = options.attributeValueProcessor(attr, attrMap[attr]);\n      attrVal = replaceEntitiesValue(attrVal, options);\n      if (attrVal === true && options.suppressBooleanAttributes) {\n        attrStr += ` ${attr.substr(options.attributeNamePrefix.length)}`;\n      } else {\n        attrStr += ` ${attr.substr(options.attributeNamePrefix.length)}=\"${attrVal}\"`;\n      }\n    }\n  }\n  return attrStr;\n}\nfunction isStopNode(jPath, options) {\n  jPath = jPath.substr(0, jPath.length - options.textNodeName.length - 1);\n  let tagName = jPath.substr(jPath.lastIndexOf(\".\") + 1);\n  for (let index in options.stopNodes) {\n    if (options.stopNodes[index] === jPath || options.stopNodes[index] === \"*.\" + tagName)\n      return true;\n  }\n  return false;\n}\nfunction replaceEntitiesValue(textValue, options) {\n  if (textValue && textValue.length > 0 && options.processEntities) {\n    for (let i = 0; i < options.entities.length; i++) {\n      const entity = options.entities[i];\n      textValue = textValue.replace(entity.regex, entity.val);\n    }\n  }\n  return textValue;\n}\nvar orderedJs2Xml = toXml;\nconst buildFromOrderedJs = orderedJs2Xml;\nconst defaultOptions = {\n  attributeNamePrefix: \"@_\",\n  attributesGroupName: false,\n  textNodeName: \"#text\",\n  ignoreAttributes: true,\n  cdataPropName: false,\n  format: false,\n  indentBy: \"  \",\n  suppressEmptyNode: false,\n  suppressUnpairedNode: true,\n  suppressBooleanAttributes: true,\n  tagValueProcessor: function(key, a) {\n    return a;\n  },\n  attributeValueProcessor: function(attrName, a) {\n    return a;\n  },\n  preserveOrder: false,\n  commentPropName: false,\n  unpairedTags: [],\n  entities: [\n    { regex: new RegExp(\"&\", \"g\"), val: \"&amp;\" },\n    //it must be on top\n    { regex: new RegExp(\">\", \"g\"), val: \"&gt;\" },\n    { regex: new RegExp(\"<\", \"g\"), val: \"&lt;\" },\n    { regex: new RegExp(\"'\", \"g\"), val: \"&apos;\" },\n    { regex: new RegExp('\"', \"g\"), val: \"&quot;\" }\n  ],\n  processEntities: true,\n  stopNodes: [],\n  // transformTagName: false,\n  // transformAttributeName: false,\n  oneListGroup: false\n};\nfunction Builder(options) {\n  this.options = Object.assign({}, defaultOptions, options);\n  if (this.options.ignoreAttributes || this.options.attributesGroupName) {\n    this.isAttribute = function() {\n      return false;\n    };\n  } else {\n    this.attrPrefixLen = this.options.attributeNamePrefix.length;\n    this.isAttribute = isAttribute;\n  }\n  this.processTextOrObjNode = processTextOrObjNode;\n  if (this.options.format) {\n    this.indentate = indentate;\n    this.tagEndChar = \">\\n\";\n    this.newLine = \"\\n\";\n  } else {\n    this.indentate = function() {\n      return \"\";\n    };\n    this.tagEndChar = \">\";\n    this.newLine = \"\";\n  }\n}\nBuilder.prototype.build = function(jObj) {\n  if (this.options.preserveOrder) {\n    return buildFromOrderedJs(jObj, this.options);\n  } else {\n    if (Array.isArray(jObj) && this.options.arrayNodeName && this.options.arrayNodeName.length > 1) {\n      jObj = {\n        [this.options.arrayNodeName]: jObj\n      };\n    }\n    return this.j2x(jObj, 0).val;\n  }\n};\nBuilder.prototype.j2x = function(jObj, level) {\n  let attrStr = \"\";\n  let val2 = \"\";\n  for (let key in jObj) {\n    if (!Object.prototype.hasOwnProperty.call(jObj, key))\n      continue;\n    if (typeof jObj[key] === \"undefined\") {\n      if (this.isAttribute(key)) {\n        val2 += \"\";\n      }\n    } else if (jObj[key] === null) {\n      if (this.isAttribute(key)) {\n        val2 += \"\";\n      } else if (key[0] === \"?\") {\n        val2 += this.indentate(level) + \"<\" + key + \"?\" + this.tagEndChar;\n      } else {\n        val2 += this.indentate(level) + \"<\" + key + \"/\" + this.tagEndChar;\n      }\n    } else if (jObj[key] instanceof Date) {\n      val2 += this.buildTextValNode(jObj[key], key, \"\", level);\n    } else if (typeof jObj[key] !== \"object\") {\n      const attr = this.isAttribute(key);\n      if (attr) {\n        attrStr += this.buildAttrPairStr(attr, \"\" + jObj[key]);\n      } else {\n        if (key === this.options.textNodeName) {\n          let newval = this.options.tagValueProcessor(key, \"\" + jObj[key]);\n          val2 += this.replaceEntitiesValue(newval);\n        } else {\n          val2 += this.buildTextValNode(jObj[key], key, \"\", level);\n        }\n      }\n    } else if (Array.isArray(jObj[key])) {\n      const arrLen = jObj[key].length;\n      let listTagVal = \"\";\n      for (let j = 0; j < arrLen; j++) {\n        const item = jObj[key][j];\n        if (typeof item === \"undefined\")\n          ;\n        else if (item === null) {\n          if (key[0] === \"?\")\n            val2 += this.indentate(level) + \"<\" + key + \"?\" + this.tagEndChar;\n          else\n            val2 += this.indentate(level) + \"<\" + key + \"/\" + this.tagEndChar;\n        } else if (typeof item === \"object\") {\n          if (this.options.oneListGroup) {\n            listTagVal += this.j2x(item, level + 1).val;\n          } else {\n            listTagVal += this.processTextOrObjNode(item, key, level);\n          }\n        } else {\n          listTagVal += this.buildTextValNode(item, key, \"\", level);\n        }\n      }\n      if (this.options.oneListGroup) {\n        listTagVal = this.buildObjectNode(listTagVal, key, \"\", level);\n      }\n      val2 += listTagVal;\n    } else {\n      if (this.options.attributesGroupName && key === this.options.attributesGroupName) {\n        const Ks = Object.keys(jObj[key]);\n        const L = Ks.length;\n        for (let j = 0; j < L; j++) {\n          attrStr += this.buildAttrPairStr(Ks[j], \"\" + jObj[key][Ks[j]]);\n        }\n      } else {\n        val2 += this.processTextOrObjNode(jObj[key], key, level);\n      }\n    }\n  }\n  return { attrStr, val: val2 };\n};\nBuilder.prototype.buildAttrPairStr = function(attrName, val2) {\n  val2 = this.options.attributeValueProcessor(attrName, \"\" + val2);\n  val2 = this.replaceEntitiesValue(val2);\n  if (this.options.suppressBooleanAttributes && val2 === \"true\") {\n    return \" \" + attrName;\n  } else\n    return \" \" + attrName + '=\"' + val2 + '\"';\n};\nfunction processTextOrObjNode(object, key, level) {\n  const result = this.j2x(object, level + 1);\n  if (object[this.options.textNodeName] !== void 0 && Object.keys(object).length === 1) {\n    return this.buildTextValNode(object[this.options.textNodeName], key, result.attrStr, level);\n  } else {\n    return this.buildObjectNode(result.val, key, result.attrStr, level);\n  }\n}\nBuilder.prototype.buildObjectNode = function(val2, key, attrStr, level) {\n  if (val2 === \"\") {\n    if (key[0] === \"?\")\n      return this.indentate(level) + \"<\" + key + attrStr + \"?\" + this.tagEndChar;\n    else {\n      return this.indentate(level) + \"<\" + key + attrStr + this.closeTag(key) + this.tagEndChar;\n    }\n  } else {\n    let tagEndExp = \"</\" + key + this.tagEndChar;\n    let piClosingChar = \"\";\n    if (key[0] === \"?\") {\n      piClosingChar = \"?\";\n      tagEndExp = \"\";\n    }\n    if ((attrStr || attrStr === \"\") && val2.indexOf(\"<\") === -1) {\n      return this.indentate(level) + \"<\" + key + attrStr + piClosingChar + \">\" + val2 + tagEndExp;\n    } else if (this.options.commentPropName !== false && key === this.options.commentPropName && piClosingChar.length === 0) {\n      return this.indentate(level) + `<!--${val2}-->` + this.newLine;\n    } else {\n      return this.indentate(level) + \"<\" + key + attrStr + piClosingChar + this.tagEndChar + val2 + this.indentate(level) + tagEndExp;\n    }\n  }\n};\nBuilder.prototype.closeTag = function(key) {\n  let closeTag = \"\";\n  if (this.options.unpairedTags.indexOf(key) !== -1) {\n    if (!this.options.suppressUnpairedNode)\n      closeTag = \"/\";\n  } else if (this.options.suppressEmptyNode) {\n    closeTag = \"/\";\n  } else {\n    closeTag = `></${key}`;\n  }\n  return closeTag;\n};\nBuilder.prototype.buildTextValNode = function(val2, key, attrStr, level) {\n  if (this.options.cdataPropName !== false && key === this.options.cdataPropName) {\n    return this.indentate(level) + `<![CDATA[${val2}]]>` + this.newLine;\n  } else if (this.options.commentPropName !== false && key === this.options.commentPropName) {\n    return this.indentate(level) + `<!--${val2}-->` + this.newLine;\n  } else if (key[0] === \"?\") {\n    return this.indentate(level) + \"<\" + key + attrStr + \"?\" + this.tagEndChar;\n  } else {\n    let textValue = this.options.tagValueProcessor(key, val2);\n    textValue = this.replaceEntitiesValue(textValue);\n    if (textValue === \"\") {\n      return this.indentate(level) + \"<\" + key + attrStr + this.closeTag(key) + this.tagEndChar;\n    } else {\n      return this.indentate(level) + \"<\" + key + attrStr + \">\" + textValue + \"</\" + key + this.tagEndChar;\n    }\n  }\n};\nBuilder.prototype.replaceEntitiesValue = function(textValue) {\n  if (textValue && textValue.length > 0 && this.options.processEntities) {\n    for (let i = 0; i < this.options.entities.length; i++) {\n      const entity = this.options.entities[i];\n      textValue = textValue.replace(entity.regex, entity.val);\n    }\n  }\n  return textValue;\n};\nfunction indentate(level) {\n  return this.options.indentBy.repeat(level);\n}\nfunction isAttribute(name) {\n  if (name.startsWith(this.options.attributeNamePrefix) && name !== this.options.textNodeName) {\n    return name.substr(this.attrPrefixLen);\n  } else {\n    return false;\n  }\n}\nvar json2xml = Builder;\nconst validator = validator$2;\nconst XMLParser2 = XMLParser_1;\nconst XMLBuilder = json2xml;\nvar fxp = {\n  XMLParser: XMLParser2,\n  XMLValidator: validator,\n  XMLBuilder\n};\nfunction isSvg(string) {\n  if (typeof string !== \"string\") {\n    throw new TypeError(`Expected a \\`string\\`, got \\`${typeof string}\\``);\n  }\n  string = string.trim();\n  if (string.length === 0) {\n    return false;\n  }\n  if (fxp.XMLValidator.validate(string) !== true) {\n    return false;\n  }\n  let jsonObject;\n  const parser = new fxp.XMLParser();\n  try {\n    jsonObject = parser.parse(string);\n  } catch {\n    return false;\n  }\n  if (!jsonObject) {\n    return false;\n  }\n  if (!Object.keys(jsonObject).some((x) => x.toLowerCase() === \"svg\")) {\n    return false;\n  }\n  return true;\n}\n/**\n * @copyright Copyright (c) 2022 John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @author John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @license AGPL-3.0-or-later\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */\nclass View {\n  _view;\n  constructor(view) {\n    isValidView(view);\n    this._view = view;\n  }\n  get id() {\n    return this._view.id;\n  }\n  get name() {\n    return this._view.name;\n  }\n  get caption() {\n    return this._view.caption;\n  }\n  get emptyTitle() {\n    return this._view.emptyTitle;\n  }\n  get emptyCaption() {\n    return this._view.emptyCaption;\n  }\n  get getContents() {\n    return this._view.getContents;\n  }\n  get icon() {\n    return this._view.icon;\n  }\n  set icon(icon) {\n    this._view.icon = icon;\n  }\n  get order() {\n    return this._view.order;\n  }\n  set order(order) {\n    this._view.order = order;\n  }\n  get params() {\n    return this._view.params;\n  }\n  set params(params) {\n    this._view.params = params;\n  }\n  get columns() {\n    return this._view.columns;\n  }\n  get emptyView() {\n    return this._view.emptyView;\n  }\n  get parent() {\n    return this._view.parent;\n  }\n  get sticky() {\n    return this._view.sticky;\n  }\n  get expanded() {\n    return this._view.expanded;\n  }\n  set expanded(expanded) {\n    this._view.expanded = expanded;\n  }\n  get defaultSortKey() {\n    return this._view.defaultSortKey;\n  }\n}\nconst isValidView = function(view) {\n  if (!view.id || typeof view.id !== \"string\") {\n    throw new Error(\"View id is required and must be a string\");\n  }\n  if (!view.name || typeof view.name !== \"string\") {\n    throw new Error(\"View name is required and must be a string\");\n  }\n  if (view.columns && view.columns.length > 0 && (!view.caption || typeof view.caption !== \"string\")) {\n    throw new Error(\"View caption is required for top-level views and must be a string\");\n  }\n  if (!view.getContents || typeof view.getContents !== \"function\") {\n    throw new Error(\"View getContents is required and must be a function\");\n  }\n  if (!view.icon || typeof view.icon !== \"string\" || !isSvg(view.icon)) {\n    throw new Error(\"View icon is required and must be a valid svg string\");\n  }\n  if (!(\"order\" in view) || typeof view.order !== \"number\") {\n    throw new Error(\"View order is required and must be a number\");\n  }\n  if (view.columns) {\n    view.columns.forEach((column) => {\n      if (!(column instanceof Column)) {\n        throw new Error(\"View columns must be an array of Column. Invalid column found\");\n      }\n    });\n  }\n  if (view.emptyView && typeof view.emptyView !== \"function\") {\n    throw new Error(\"View emptyView must be a function\");\n  }\n  if (view.parent && typeof view.parent !== \"string\") {\n    throw new Error(\"View parent must be a string\");\n  }\n  if (\"sticky\" in view && typeof view.sticky !== \"boolean\") {\n    throw new Error(\"View sticky must be a boolean\");\n  }\n  if (\"expanded\" in view && typeof view.expanded !== \"boolean\") {\n    throw new Error(\"View expanded must be a boolean\");\n  }\n  if (view.defaultSortKey && typeof view.defaultSortKey !== \"string\") {\n    throw new Error(\"View defaultSortKey must be a string\");\n  }\n  return true;\n};\n/**\n * @copyright 2019 Christoph Wurst <christoph@winzerhof-wurst.at>\n *\n * @author Christoph Wurst <christoph@winzerhof-wurst.at>\n * @author John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @license AGPL-3.0-or-later\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */\nconst addNewFileMenuEntry = function(entry) {\n  const newFileMenu = getNewFileMenu();\n  return newFileMenu.registerEntry(entry);\n};\nconst removeNewFileMenuEntry = function(entry) {\n  const newFileMenu = getNewFileMenu();\n  return newFileMenu.unregisterEntry(entry);\n};\nconst getNewFileMenuEntries = function(context) {\n  const newFileMenu = getNewFileMenu();\n  return newFileMenu.getEntries(context).sort((a, b) => {\n    if (a.order !== void 0 && b.order !== void 0 && a.order !== b.order) {\n      return a.order - b.order;\n    }\n    return a.displayName.localeCompare(b.displayName, void 0, { numeric: true, sensitivity: \"base\" });\n  });\n};\nexport {\n  Column,\n  DefaultType,\n  File,\n  FileAction,\n  FileType,\n  FilesSortingMode,\n  Folder,\n  Header,\n  Navigation,\n  NewMenuEntryCategory,\n  Node,\n  NodeStatus,\n  Permission,\n  View,\n  addNewFileMenuEntry,\n  davGetClient,\n  davGetDefaultPropfind,\n  davGetFavoritesReport,\n  davGetRecentSearch,\n  davParsePermissions,\n  davRemoteURL,\n  davResultToNode,\n  davRootPath,\n  defaultDavNamespaces,\n  defaultDavProperties,\n  formatFileSize,\n  getDavNameSpaces,\n  getDavProperties,\n  getFavoriteNodes,\n  getFileActions,\n  getFileListHeaders,\n  getNavigation,\n  getNewFileMenuEntries,\n  isFilenameValid,\n  orderBy,\n  parseFileSize,\n  registerDavProperty,\n  registerFileAction,\n  registerFileListHeaders,\n  removeNewFileMenuEntry,\n  sortNodes\n};\n","/**\n * SPDX-FileCopyrightText: 2022 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\nimport { getLoggerBuilder } from '@nextcloud/logger';\nexport default getLoggerBuilder()\n    .setApp('files_sharing')\n    .detectUser()\n    .build();\n","import { Folder, File } from '@nextcloud/files';\nimport { generateOcsUrl, generateRemoteUrl } from '@nextcloud/router';\nimport { getCurrentUser } from '@nextcloud/auth';\nimport axios from '@nextcloud/axios';\nimport logger from './logger';\nexport const rootPath = `/files/${getCurrentUser()?.uid}`;\nconst headers = {\n    'Content-Type': 'application/json',\n};\nconst ocsEntryToNode = function (ocsEntry) {\n    try {\n        const isFolder = ocsEntry?.item_type === 'folder';\n        const hasPreview = ocsEntry?.has_preview === true;\n        const Node = isFolder ? Folder : File;\n        const fileid = ocsEntry.file_source;\n        // Generate path and strip double slashes\n        const path = ocsEntry?.path || ocsEntry.file_target;\n        const source = generateRemoteUrl(`dav/${rootPath}/${path}`.replaceAll(/\\/\\//gm, '/'));\n        // Prefer share time if more recent than item mtime\n        let mtime = ocsEntry?.item_mtime ? new Date((ocsEntry.item_mtime) * 1000) : undefined;\n        if (ocsEntry?.stime > (ocsEntry?.item_mtime || 0)) {\n            mtime = new Date((ocsEntry.stime) * 1000);\n        }\n        return new Node({\n            id: fileid,\n            source,\n            owner: ocsEntry?.uid_owner,\n            mime: ocsEntry?.mimetype,\n            mtime,\n            size: ocsEntry?.item_size,\n            permissions: ocsEntry?.item_permissions || ocsEntry?.permissions,\n            root: rootPath,\n            attributes: {\n                ...ocsEntry,\n                'has-preview': hasPreview,\n                // Also check the sharingStatusAction.ts code\n                'owner-id': ocsEntry?.uid_owner,\n                'owner-display-name': ocsEntry?.displayname_owner,\n                'share-types': ocsEntry?.share_type,\n                favorite: ocsEntry?.tags?.includes(window.OC.TAG_FAVORITE) ? 1 : 0,\n            },\n        });\n    }\n    catch (error) {\n        logger.error('Error while parsing OCS entry', { error });\n        return null;\n    }\n};\nconst getShares = function (shared_with_me = false) {\n    const url = generateOcsUrl('apps/files_sharing/api/v1/shares');\n    return axios.get(url, {\n        headers,\n        params: {\n            shared_with_me,\n            include_tags: true,\n        },\n    });\n};\nconst getSharedWithYou = function () {\n    return getShares(true);\n};\nconst getSharedWithOthers = function () {\n    return getShares();\n};\nconst getRemoteShares = function () {\n    const url = generateOcsUrl('apps/files_sharing/api/v1/remote_shares');\n    return axios.get(url, {\n        headers,\n        params: {\n            include_tags: true,\n        },\n    });\n};\nconst getPendingShares = function () {\n    const url = generateOcsUrl('apps/files_sharing/api/v1/shares/pending');\n    return axios.get(url, {\n        headers,\n        params: {\n            include_tags: true,\n        },\n    });\n};\nconst getRemotePendingShares = function () {\n    const url = generateOcsUrl('apps/files_sharing/api/v1/remote_shares/pending');\n    return axios.get(url, {\n        headers,\n        params: {\n            include_tags: true,\n        },\n    });\n};\nconst getDeletedShares = function () {\n    const url = generateOcsUrl('apps/files_sharing/api/v1/deletedshares');\n    return axios.get(url, {\n        headers,\n        params: {\n            include_tags: true,\n        },\n    });\n};\n/**\n * Group an array of objects (here Nodes) by a key\n * and return an array of arrays of them.\n */\nconst groupBy = function (nodes, key) {\n    return Object.values(nodes.reduce(function (acc, curr) {\n        (acc[curr[key]] = acc[curr[key]] || []).push(curr);\n        return acc;\n    }, {}));\n};\nexport const getContents = async (sharedWithYou = true, sharedWithOthers = true, pendingShares = false, deletedshares = false, filterTypes = []) => {\n    const promises = [];\n    if (sharedWithYou) {\n        promises.push(getSharedWithYou(), getRemoteShares());\n    }\n    if (sharedWithOthers) {\n        promises.push(getSharedWithOthers());\n    }\n    if (pendingShares) {\n        promises.push(getPendingShares(), getRemotePendingShares());\n    }\n    if (deletedshares) {\n        promises.push(getDeletedShares());\n    }\n    const responses = await Promise.all(promises);\n    const data = responses.map((response) => response.data.ocs.data).flat();\n    let contents = data.map(ocsEntryToNode)\n        .filter((node) => node !== null);\n    if (filterTypes.length > 0) {\n        contents = contents.filter((node) => filterTypes.includes(node.attributes?.share_type));\n    }\n    // Merge duplicate shares and group their attributes\n    // Also check the sharingStatusAction.ts code\n    contents = groupBy(contents, 'source').map((nodes) => {\n        const node = nodes[0];\n        node.attributes['share-types'] = nodes.map(node => node.attributes['share-types']);\n        return node;\n    });\n    return {\n        folder: new Folder({\n            id: 0,\n            source: generateRemoteUrl('dav' + rootPath),\n            owner: getCurrentUser()?.uid || null,\n        }),\n        contents,\n    };\n};\n","/**\n * SPDX-FileCopyrightText: 2023 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\nimport { translate as t } from '@nextcloud/l10n';\nimport { View, getNavigation } from '@nextcloud/files';\nimport AccountClockSvg from '@mdi/svg/svg/account-clock.svg?raw';\nimport AccountGroupSvg from '@mdi/svg/svg/account-group.svg?raw';\nimport AccountPlusSvg from '@mdi/svg/svg/account-plus.svg?raw';\nimport AccountSvg from '@mdi/svg/svg/account.svg?raw';\nimport DeleteSvg from '@mdi/svg/svg/delete.svg?raw';\nimport LinkSvg from '@mdi/svg/svg/link.svg?raw';\nimport { getContents } from '../services/SharingService';\nexport const sharesViewId = 'shareoverview';\nexport const sharedWithYouViewId = 'sharingin';\nexport const sharedWithOthersViewId = 'sharingout';\nexport const sharingByLinksViewId = 'sharinglinks';\nexport const deletedSharesViewId = 'deletedshares';\nexport const pendingSharesViewId = 'pendingshares';\nexport default () => {\n    const Navigation = getNavigation();\n    Navigation.register(new View({\n        id: sharesViewId,\n        name: t('files_sharing', 'Shares'),\n        caption: t('files_sharing', 'Overview of shared files.'),\n        emptyTitle: t('files_sharing', 'No shares'),\n        emptyCaption: t('files_sharing', 'Files and folders you shared or have been shared with you will show up here'),\n        icon: AccountPlusSvg,\n        order: 20,\n        columns: [],\n        getContents: () => getContents(),\n    }));\n    Navigation.register(new View({\n        id: sharedWithYouViewId,\n        name: t('files_sharing', 'Shared with you'),\n        caption: t('files_sharing', 'List of files that are shared with you.'),\n        emptyTitle: t('files_sharing', 'Nothing shared with you yet'),\n        emptyCaption: t('files_sharing', 'Files and folders others shared with you will show up here'),\n        icon: AccountSvg,\n        order: 1,\n        parent: sharesViewId,\n        columns: [],\n        getContents: () => getContents(true, false, false, false),\n    }));\n    Navigation.register(new View({\n        id: sharedWithOthersViewId,\n        name: t('files_sharing', 'Shared with others'),\n        caption: t('files_sharing', 'List of files that you shared with others.'),\n        emptyTitle: t('files_sharing', 'Nothing shared yet'),\n        emptyCaption: t('files_sharing', 'Files and folders you shared will show up here'),\n        icon: AccountGroupSvg,\n        order: 2,\n        parent: sharesViewId,\n        columns: [],\n        getContents: () => getContents(false, true, false, false),\n    }));\n    Navigation.register(new View({\n        id: sharingByLinksViewId,\n        name: t('files_sharing', 'Shared by link'),\n        caption: t('files_sharing', 'List of files that are shared by link.'),\n        emptyTitle: t('files_sharing', 'No shared links'),\n        emptyCaption: t('files_sharing', 'Files and folders you shared by link will show up here'),\n        icon: LinkSvg,\n        order: 3,\n        parent: sharesViewId,\n        columns: [],\n        getContents: () => getContents(false, true, false, false, [window.OC.Share.SHARE_TYPE_LINK]),\n    }));\n    Navigation.register(new View({\n        id: deletedSharesViewId,\n        name: t('files_sharing', 'Deleted shares'),\n        caption: t('files_sharing', 'List of shares you left.'),\n        emptyTitle: t('files_sharing', 'No deleted shares'),\n        emptyCaption: t('files_sharing', 'Shares you have left will show up here'),\n        icon: DeleteSvg,\n        order: 4,\n        parent: sharesViewId,\n        columns: [],\n        getContents: () => getContents(false, false, false, true),\n    }));\n    Navigation.register(new View({\n        id: pendingSharesViewId,\n        name: t('files_sharing', 'Pending shares'),\n        caption: t('files_sharing', 'List of unapproved shares.'),\n        emptyTitle: t('files_sharing', 'No pending shares'),\n        emptyCaption: t('files_sharing', 'Shares you have received but not approved will show up here'),\n        icon: AccountClockSvg,\n        order: 5,\n        parent: sharesViewId,\n        columns: [],\n        getContents: () => getContents(false, false, true, false),\n    }));\n};\n","import { emit } from '@nextcloud/event-bus';\nimport { generateOcsUrl } from '@nextcloud/router';\nimport { registerFileAction, FileAction } from '@nextcloud/files';\nimport { translatePlural as n } from '@nextcloud/l10n';\nimport axios from '@nextcloud/axios';\nimport CheckSvg from '@mdi/svg/svg/check.svg?raw';\nimport { pendingSharesViewId } from '../views/shares';\nexport const action = new FileAction({\n    id: 'accept-share',\n    displayName: (nodes) => n('files_sharing', 'Accept share', 'Accept shares', nodes.length),\n    iconSvgInline: () => CheckSvg,\n    enabled: (nodes, view) => nodes.length > 0 && view.id === pendingSharesViewId,\n    async exec(node) {\n        try {\n            const isRemote = !!node.attributes.remote;\n            const url = generateOcsUrl('apps/files_sharing/api/v1/{shareBase}/pending/{id}', {\n                shareBase: isRemote ? 'remote_shares' : 'shares',\n                id: node.attributes.id,\n            });\n            await axios.post(url);\n            // Remove from current view\n            emit('files:node:deleted', node);\n            return true;\n        }\n        catch (error) {\n            return false;\n        }\n    },\n    async execBatch(nodes, view, dir) {\n        return Promise.all(nodes.map(node => this.exec(node, view, dir)));\n    },\n    order: 1,\n    inline: () => true,\n});\nregisterFileAction(action);\n","import { registerFileAction, FileAction, DefaultType } from '@nextcloud/files';\nimport { translate as t } from '@nextcloud/l10n';\nimport { sharesViewId, sharedWithYouViewId, sharedWithOthersViewId, sharingByLinksViewId } from '../views/shares';\nexport const action = new FileAction({\n    id: 'open-in-files',\n    displayName: () => t('files', 'Open in Files'),\n    iconSvgInline: () => '',\n    enabled: (nodes, view) => [\n        sharesViewId,\n        sharedWithYouViewId,\n        sharedWithOthersViewId,\n        sharingByLinksViewId,\n        // Deleted and pending shares are not\n        // accessible in the files app.\n    ].includes(view.id),\n    async exec(node) {\n        window.OCP.Files.Router.goToRoute(null, // use default route\n        { view: 'files', fileid: node.fileid }, { dir: node.dirname });\n        return null;\n    },\n    // Before openFolderAction\n    order: -1000,\n    default: DefaultType.HIDDEN,\n});\nregisterFileAction(action);\n","import { emit } from '@nextcloud/event-bus';\nimport { generateOcsUrl } from '@nextcloud/router';\nimport { registerFileAction, FileAction } from '@nextcloud/files';\nimport { translatePlural as n } from '@nextcloud/l10n';\nimport axios from '@nextcloud/axios';\nimport CloseSvg from '@mdi/svg/svg/close.svg?raw';\nimport { pendingSharesViewId } from '../views/shares';\nexport const action = new FileAction({\n    id: 'reject-share',\n    displayName: (nodes) => n('files_sharing', 'Reject share', 'Reject shares', nodes.length),\n    iconSvgInline: () => CloseSvg,\n    enabled: (nodes, view) => {\n        if (view.id !== pendingSharesViewId) {\n            return false;\n        }\n        if (nodes.length === 0) {\n            return false;\n        }\n        // disable rejecting group shares from the pending list because they anyway\n        // land back into that same list after rejecting them\n        if (nodes.some(node => node.attributes.remote_id\n            && node.attributes.share_type === window.OC.Share.SHARE_TYPE_REMOTE_GROUP)) {\n            return false;\n        }\n        return true;\n    },\n    async exec(node) {\n        try {\n            const isRemote = !!node.attributes.remote;\n            const url = generateOcsUrl('apps/files_sharing/api/v1/{shareBase}/{id}', {\n                shareBase: isRemote ? 'remote_shares' : 'shares',\n                id: node.attributes.id,\n            });\n            await axios.delete(url);\n            // Remove from current view\n            emit('files:node:deleted', node);\n            return true;\n        }\n        catch (error) {\n            return false;\n        }\n    },\n    async execBatch(nodes, view, dir) {\n        return Promise.all(nodes.map(node => this.exec(node, view, dir)));\n    },\n    order: 2,\n    inline: () => true,\n});\nregisterFileAction(action);\n","import { emit } from '@nextcloud/event-bus';\nimport { FileAction, registerFileAction } from '@nextcloud/files';\nimport { generateOcsUrl } from '@nextcloud/router';\nimport { translatePlural as n } from '@nextcloud/l10n';\nimport ArrowULeftTopSvg from '@mdi/svg/svg/arrow-u-left-top.svg?raw';\nimport axios from '@nextcloud/axios';\nimport { deletedSharesViewId } from '../views/shares';\nexport const action = new FileAction({\n    id: 'restore-share',\n    displayName: (nodes) => n('files_sharing', 'Restore share', 'Restore shares', nodes.length),\n    iconSvgInline: () => ArrowULeftTopSvg,\n    enabled: (nodes, view) => nodes.length > 0 && view.id === deletedSharesViewId,\n    async exec(node) {\n        try {\n            const url = generateOcsUrl('apps/files_sharing/api/v1/deletedshares/{id}', {\n                id: node.attributes.id,\n            });\n            await axios.post(url);\n            // Remove from current view\n            emit('files:node:deleted', node);\n            return true;\n        }\n        catch (error) {\n            return false;\n        }\n    },\n    async execBatch(nodes, view, dir) {\n        return Promise.all(nodes.map(node => this.exec(node, view, dir)));\n    },\n    order: 1,\n    inline: () => true,\n});\nregisterFileAction(action);\n","/**\n * SPDX-FileCopyrightText: 2022 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\nimport { getLoggerBuilder } from '@nextcloud/logger'\n\nexport default getLoggerBuilder()\n\t.setApp('files')\n\t.detectUser()\n\t.build()\n","/**\n * SPDX-FileCopyrightText: 2023 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\nimport { Permission, View, FileAction, FileType } from '@nextcloud/files';\nimport { translate as t } from '@nextcloud/l10n';\nimport InformationSvg from '@mdi/svg/svg/information-variant.svg?raw';\nimport logger from '../logger.js';\nexport const ACTION_DETAILS = 'details';\nexport const action = new FileAction({\n    id: ACTION_DETAILS,\n    displayName: () => t('files', 'Open details'),\n    iconSvgInline: () => InformationSvg,\n    // Sidebar currently supports user folder only, /files/USER\n    enabled: (nodes) => {\n        // Only works on single node\n        if (nodes.length !== 1) {\n            return false;\n        }\n        if (!nodes[0]) {\n            return false;\n        }\n        // Only work if the sidebar is available\n        if (!window?.OCA?.Files?.Sidebar) {\n            return false;\n        }\n        return (nodes[0].root?.startsWith('/files/') && nodes[0].permissions !== Permission.NONE) ?? false;\n    },\n    async exec(node, view, dir) {\n        try {\n            // TODO: migrate Sidebar to use a Node instead\n            await window.OCA.Files.Sidebar.open(node.path);\n            // Silently update current fileid\n            window.OCP.Files.Router.goToRoute(null, { view: view.id, fileid: node.fileid }, { dir }, true);\n            return null;\n        }\n        catch (error) {\n            logger.error('Error while opening sidebar', { error });\n            return false;\n        }\n    },\n    order: -50,\n});\n","\n      import API from \"!../../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n      import domAPI from \"!../../../../node_modules/style-loader/dist/runtime/styleDomAPI.js\";\n      import insertFn from \"!../../../../node_modules/style-loader/dist/runtime/insertBySelector.js\";\n      import setAttributes from \"!../../../../node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js\";\n      import insertStyleElement from \"!../../../../node_modules/style-loader/dist/runtime/insertStyleElement.js\";\n      import styleTagTransformFn from \"!../../../../node_modules/style-loader/dist/runtime/styleTagTransform.js\";\n      import content, * as namedExport from \"!!../../../../node_modules/css-loader/dist/cjs.js!../../../../node_modules/sass-loader/dist/cjs.js!./sharingStatusAction.scss\";\n      \n      \n\nvar options = {};\n\noptions.styleTagTransform = styleTagTransformFn;\noptions.setAttributes = setAttributes;\n\n      options.insert = insertFn.bind(null, \"head\");\n    \noptions.domAPI = domAPI;\noptions.insertStyleElement = insertStyleElement;\n\nvar update = API(content, options);\n\n\n\nexport * from \"!!../../../../node_modules/css-loader/dist/cjs.js!../../../../node_modules/sass-loader/dist/cjs.js!./sharingStatusAction.scss\";\n       export default content && content.locals ? content.locals : undefined;\n","/**\n * SPDX-FileCopyrightText: 2023 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\nimport { Node, View, registerFileAction, FileAction, Permission } from '@nextcloud/files';\nimport { translate as t } from '@nextcloud/l10n';\nimport { Type } from '@nextcloud/sharing';\nimport AccountGroupSvg from '@mdi/svg/svg/account-group.svg?raw';\nimport AccountPlusSvg from '@mdi/svg/svg/account-plus.svg?raw';\nimport LinkSvg from '@mdi/svg/svg/link.svg?raw';\nimport CircleSvg from '../../../../core/img/apps/circles.svg?raw';\nimport { action as sidebarAction } from '../../../files/src/actions/sidebarAction';\nimport { generateUrl } from '@nextcloud/router';\nimport { getCurrentUser } from '@nextcloud/auth';\nimport './sharingStatusAction.scss';\nconst generateAvatarSvg = (userId) => {\n    const avatarUrl = generateUrl('/avatar/{userId}/32', { userId });\n    return `<svg width=\"32\" height=\"32\" viewBox=\"0 0 32 32\"\n\t\txmlns=\"http://www.w3.org/2000/svg\" class=\"sharing-status__avatar\">\n\t\t<image href=\"${avatarUrl}\" height=\"32\" width=\"32\" />\n\t</svg>`;\n};\nexport const action = new FileAction({\n    id: 'sharing-status',\n    displayName(nodes) {\n        const node = nodes[0];\n        const shareTypes = Object.values(node?.attributes?.['share-types'] || {}).flat();\n        const ownerId = node?.attributes?.['owner-id'];\n        if (shareTypes.length > 0\n            || (ownerId && ownerId !== getCurrentUser()?.uid)) {\n            return t('files_sharing', 'Shared');\n        }\n        return '';\n    },\n    title(nodes) {\n        const node = nodes[0];\n        const ownerId = node?.attributes?.['owner-id'];\n        const ownerDisplayName = node?.attributes?.['owner-display-name'];\n        // Mixed share types\n        if (Array.isArray(node.attributes?.['share-types'])) {\n            return t('files_sharing', 'Shared multiple times with different people');\n        }\n        if (ownerId && ownerId !== getCurrentUser()?.uid) {\n            return t('files_sharing', 'Shared by {ownerDisplayName}', { ownerDisplayName });\n        }\n        return t('files_sharing', 'Show sharing options');\n    },\n    iconSvgInline(nodes) {\n        const node = nodes[0];\n        const shareTypes = Object.values(node?.attributes?.['share-types'] || {}).flat();\n        // Mixed share types\n        if (Array.isArray(node.attributes?.['share-types'])) {\n            return AccountPlusSvg;\n        }\n        // Link shares\n        if (shareTypes.includes(Type.SHARE_TYPE_LINK)\n            || shareTypes.includes(Type.SHARE_TYPE_EMAIL)) {\n            return LinkSvg;\n        }\n        // Group shares\n        if (shareTypes.includes(Type.SHARE_TYPE_GROUP)\n            || shareTypes.includes(Type.SHARE_TYPE_REMOTE_GROUP)) {\n            return AccountGroupSvg;\n        }\n        // Circle shares\n        if (shareTypes.includes(Type.SHARE_TYPE_CIRCLE)) {\n            return CircleSvg;\n        }\n        const ownerId = node?.attributes?.['owner-id'];\n        if (ownerId && ownerId !== getCurrentUser()?.uid) {\n            return generateAvatarSvg(ownerId);\n        }\n        return AccountPlusSvg;\n    },\n    enabled(nodes) {\n        if (nodes.length !== 1) {\n            return false;\n        }\n        const node = nodes[0];\n        const ownerId = node?.attributes?.['owner-id'];\n        const isMixed = Array.isArray(node.attributes?.['share-types']);\n        // If the node is shared multiple times with\n        // different share types to the current user\n        if (isMixed) {\n            return true;\n        }\n        // If the node is shared by someone else\n        if (ownerId && ownerId !== getCurrentUser()?.uid) {\n            return true;\n        }\n        return (node.permissions & Permission.SHARE) !== 0;\n    },\n    async exec(node, view, dir) {\n        // You need read permissions to see the sidebar\n        if ((node.permissions & Permission.READ) !== 0) {\n            window.OCA?.Files?.Sidebar?.setActiveTab?.('sharing');\n            return sidebarAction.exec(node, view, dir);\n        }\n        return null;\n    },\n    inline: () => true,\n});\nregisterFileAction(action);\n","/**\n * SPDX-FileCopyrightText: 2019 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\nimport { registerDavProperty } from '@nextcloud/files';\nimport registerSharingViews from './views/shares';\nimport './actions/acceptShareAction';\nimport './actions/openInFilesAction';\nimport './actions/rejectShareAction';\nimport './actions/restoreShareAction';\nimport './actions/sharingStatusAction';\nregisterSharingViews();\nregisterDavProperty('nc:share-attributes', { nc: 'http://nextcloud.org/ns' });\nregisterDavProperty('oc:share-types', { oc: 'http://owncloud.org/ns' });\nregisterDavProperty('ocs:share-permissions', { ocs: 'http://open-collaboration-services.org/ns' });\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `.action-items>.files-list__row-action-sharing-status{direction:rtl;padding-right:0 !important}svg.sharing-status__avatar{height:32px !important;width:32px !important;max-height:32px !important;max-width:32px !important;border-radius:32px;overflow:hidden}`, \"\",{\"version\":3,\"sources\":[\"webpack://./apps/files_sharing/src/actions/sharingStatusAction.scss\"],\"names\":[],\"mappings\":\"AAKA,qDAEC,aAAA,CAEG,0BAAA,CAGJ,2BACC,sBAAA,CACA,qBAAA,CACA,0BAAA,CACA,yBAAA,CACA,kBAAA,CACA,eAAA\",\"sourcesContent\":[\"/**\\n * SPDX-FileCopyrightText: 2023 Nextcloud GmbH and Nextcloud contributors\\n * SPDX-License-Identifier: AGPL-3.0-or-later\\n */\\n // Only when rendered inline, when not enough space, this is put in the menu\\n.action-items > .files-list__row-action-sharing-status {\\n\\t// put icon at the end of the button\\n\\tdirection: rtl;\\n\\t// align icons with textless inline actions\\n    padding-right: 0 !important;\\n}\\n\\nsvg.sharing-status__avatar {\\n\\theight: 32px !important;\\n\\twidth: 32px !important;\\n\\tmax-height: 32px !important;\\n\\tmax-width: 32px !important;\\n\\tborder-radius: 32px;\\n\\toverflow: hidden;\\n}\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// The module cache\nvar __webpack_module_cache__ = {};\n\n// The require function\nfunction __webpack_require__(moduleId) {\n\t// Check if module is in cache\n\tvar cachedModule = __webpack_module_cache__[moduleId];\n\tif (cachedModule !== undefined) {\n\t\treturn cachedModule.exports;\n\t}\n\t// Create a new module (and put it into the cache)\n\tvar module = __webpack_module_cache__[moduleId] = {\n\t\tid: moduleId,\n\t\tloaded: false,\n\t\texports: {}\n\t};\n\n\t// Execute the module function\n\t__webpack_modules__[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n\t// Flag the module as loaded\n\tmodule.loaded = true;\n\n\t// Return the exports of the module\n\treturn module.exports;\n}\n\n// expose the modules object (__webpack_modules__)\n__webpack_require__.m = __webpack_modules__;\n\n","// getDefaultExport function for compatibility with non-harmony modules\n__webpack_require__.n = (module) => {\n\tvar getter = module && module.__esModule ?\n\t\t() => (module['default']) :\n\t\t() => (module);\n\t__webpack_require__.d(getter, { a: getter });\n\treturn getter;\n};","// define getter functions for harmony exports\n__webpack_require__.d = (exports, definition) => {\n\tfor(var key in definition) {\n\t\tif(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n\t\t\tObject.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n\t\t}\n\t}\n};","// The chunk loading function for additional chunks\n// Since all referenced chunks are already included\n// in this file, this function is empty here.\n__webpack_require__.e = () => (Promise.resolve());","__webpack_require__.g = (function() {\n\tif (typeof globalThis === 'object') return globalThis;\n\ttry {\n\t\treturn this || new Function('return this')();\n\t} catch (e) {\n\t\tif (typeof window === 'object') return window;\n\t}\n})();","__webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop))","// define __esModule on exports\n__webpack_require__.r = (exports) => {\n\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n\t}\n\tObject.defineProperty(exports, '__esModule', { value: true });\n};","__webpack_require__.nmd = (module) => {\n\tmodule.paths = [];\n\tif (!module.children) module.children = [];\n\treturn module;\n};","__webpack_require__.j = 5928;","__webpack_require__.b = document.baseURI || self.location.href;\n\n// object to store loaded and loading chunks\n// undefined = chunk not loaded, null = chunk preloaded/prefetched\n// [resolve, reject, Promise] = chunk loading, 0 = chunk loaded\nvar installedChunks = {\n\t5928: 0\n};\n\n// no chunk on demand loading\n\n// no prefetching\n\n// no preloaded\n\n// no HMR\n\n// no HMR manifest\n\n__webpack_require__.O.j = (chunkId) => (installedChunks[chunkId] === 0);\n\n// install a JSONP callback for chunk loading\nvar webpackJsonpCallback = (parentChunkLoadingFunction, data) => {\n\tvar chunkIds = data[0];\n\tvar moreModules = data[1];\n\tvar runtime = data[2];\n\t// add \"moreModules\" to the modules object,\n\t// then flag all \"chunkIds\" as loaded and fire callback\n\tvar moduleId, chunkId, i = 0;\n\tif(chunkIds.some((id) => (installedChunks[id] !== 0))) {\n\t\tfor(moduleId in moreModules) {\n\t\t\tif(__webpack_require__.o(moreModules, moduleId)) {\n\t\t\t\t__webpack_require__.m[moduleId] = moreModules[moduleId];\n\t\t\t}\n\t\t}\n\t\tif(runtime) var result = runtime(__webpack_require__);\n\t}\n\tif(parentChunkLoadingFunction) parentChunkLoadingFunction(data);\n\tfor(;i < chunkIds.length; i++) {\n\t\tchunkId = chunkIds[i];\n\t\tif(__webpack_require__.o(installedChunks, chunkId) && installedChunks[chunkId]) {\n\t\t\tinstalledChunks[chunkId][0]();\n\t\t}\n\t\tinstalledChunks[chunkId] = 0;\n\t}\n\treturn __webpack_require__.O(result);\n}\n\nvar chunkLoadingGlobal = self[\"webpackChunknextcloud\"] = self[\"webpackChunknextcloud\"] || [];\nchunkLoadingGlobal.forEach(webpackJsonpCallback.bind(null, 0));\nchunkLoadingGlobal.push = webpackJsonpCallback.bind(null, chunkLoadingGlobal.push.bind(chunkLoadingGlobal));","__webpack_require__.nc = undefined;","// startup\n// Load entry module and return exports\n// This entry module depends on other loaded chunks and execution need to be delayed\nvar __webpack_exports__ = __webpack_require__.O(undefined, [4208], () => (__webpack_require__(5924)))\n__webpack_exports__ = __webpack_require__.O(__webpack_exports__);\n"],"names":["deferred","logger","user","setApp","build","setUid","uid","DefaultType","DefaultType2","FileAction","_action","constructor","action","this","validateAction","id","displayName","title","iconSvgInline","enabled","exec","execBatch","order","parent","default","inline","renderInline","Error","Object","values","includes","registerFileAction","window","_nc_fileactions","debug","find","search","error","push","Permission","Permission2","defaultDavProperties","defaultDavNamespaces","d","nc","oc","ocs","registerDavProperty","prop","namespace","_nc_dav_properties","_nc_dav_namespaces","namespaces","warn","startsWith","split","length","FileType","FileType2","isDavRessource","source","davService","match","validateData","data","URL","e","mtime","Date","crtime","mime","size","permissions","NONE","ALL","owner","attributes","root","service","join","status","NodeStatus","NodeStatus2","Node","_data","_attributes","_knownDavService","readonlyAttributes","entries","getOwnPropertyDescriptors","prototype","filter","get","map","handler","set","target","value","updateMtime","Reflect","deleteProperty","receiver","Proxy","update","replace","encodedSource","origin","slice","basename","extension","extname","dirname","pop","firstMatch","indexOf","url","pathname","READ","path","fileid","move","destination","rename","basename2","name","TypeError","File","type","Folder","super","_oc_config","blacklist_files_regex","RegExp","Navigation","_views","_currentView","register","view","remove","index","findIndex","splice","views","setActive","active","getNavigation","_nc_navigation","Column","_column","column","isValidColumn","render","sort","summary","validator$2","util$3","exports","nameStartChar","nameRegexp","regexName","isExist","v","isEmptyObject","obj","keys","merge","a","arrayMode","len","i","getValue","isName","string","getAllMatches","regex","matches","allmatches","startIndex","lastIndex","util$2","defaultOptions$2","allowBooleanAttributes","unpairedTags","isWhiteSpace","char","readPI","xmlData","start","tagname","substr","getErrorObject","getLineNumberForPosition","readCommentAndCDATA","angleBracketsCount","validate","options","assign","tags","tagFound","reachedRoot","err","tagStartPos","closingTag","tagName","trim","substring","msg","result","readAttributeStr","attrStr","attrStrStart","isValid","validateAttributeString","code","line","tagClosed","otg","openPos","col","afterAmp","validateAmpersand","JSON","stringify","t","doubleQuote","singleQuote","startChar","validAttrStrRegxp","attrNames","getPositionFromMatch","attrName","validateAttrName","hasOwnProperty","re","validateNumberAmpersand","count","message","lineNumber","lines","OptionsBuilder","defaultOptions$1","preserveOrder","attributeNamePrefix","attributesGroupName","textNodeName","ignoreAttributes","removeNSPrefix","parseTagValue","parseAttributeValue","trimValues","cdataPropName","numberParseOptions","hex","leadingZeros","eNotation","tagValueProcessor","val2","attributeValueProcessor","stopNodes","alwaysCreateTextNode","isArray","commentPropName","processEntities","htmlEntities","ignoreDeclaration","ignorePiTags","transformTagName","transformAttributeName","updateTag","jPath","attrs","buildOptions","defaultOptions","util$1","readEntityExp","entityName2","isComment","isEntity","isElement","isAttlist","isNotation","validateEntityName","hexRegex","numRegex","Number","parseInt","parseFloat","consider","decimalPoint","util","xmlNode","child","add","key","addChild","node","readDocType","entities","hasBody","comment","exp","entityName","val","regx","toNumber","str","trimmedStr","skipLike","test","sign","numTrimmedByZeros","numStr","num","addExternalEntities","externalEntities","entKeys","ent","lastEntities","parseTextData","dontTrim","hasAttributes","isLeafNode","escapeEntities","replaceEntitiesValue","newval","parseValue","resolveNameSpace","prefix","charAt","attrsRegx","buildAttributesMap","oldVal","aName","newVal","attrCollection","parseXml","xmlObj","currentNode","textData","closeIndex","findClosingIndex","colonIndex","saveTextToParentTag","lastTagName","lastIndexOf","propIndex","tagsNodeStack","tagData","readTagExp","childNode","tagExp","attrExpPresent","endIndex","docTypeEntities","rawTagName","lastTag","isItStopNode","tagContent","result2","readStopNodeData","replaceEntitiesValue$1","entity","ampEntity","currentTagName","allNodesExp","stopNodePath","stopNodeExp","errMsg","closingIndex","closingChar","attrBoundary","ch","tagExpWithClosingIndex","separatorIndex","trimStart","openTagCount","shouldParse","node2json","compress","arr","text","compressedObj","tagObj","property","propName$1","newJpath","isLeaf","isLeafTag","assignAttributes","Array","attrMap","jpath","atrrName","propCount","prettify","OrderedObjParser2","_","String","fromCharCode","validator$1","arrToStr","indentation","xmlStr","isPreviousElementTag","propName","newJPath","tagText","isStopNode","attStr2","attr_to_str","tempInd","piTextNodeName","newIdentation","indentBy","tagStart","tagValue","suppressUnpairedNode","suppressEmptyNode","endsWith","attr","attrVal","suppressBooleanAttributes","textValue","buildFromOrderedJs","jArray","format","oneListGroup","Builder","isAttribute","attrPrefixLen","processTextOrObjNode","indentate","tagEndChar","newLine","object","level","j2x","buildTextValNode","buildObjectNode","repeat","jObj","arrayNodeName","call","buildAttrPairStr","arrLen","listTagVal","j","item","Ks","L","closeTag","tagEndExp","piClosingChar","fxp","XMLParser","parse","validationOption","toString","orderedObjParser","orderedResult","addEntity","XMLValidator","XMLBuilder","View","_view","isValidView","caption","emptyTitle","emptyCaption","getContents","icon","params","columns","emptyView","sticky","expanded","defaultSortKey","jsonObject","parser","some","x","toLowerCase","isSvg","forEach","getLoggerBuilder","detectUser","rootPath","concat","_getCurrentUser","getCurrentUser","headers","ocsEntryToNode","ocsEntry","_ocsEntry$tags","isFolder","item_type","hasPreview","has_preview","file_source","file_target","generateRemoteUrl","replaceAll","item_mtime","undefined","stime","uid_owner","mimetype","item_size","item_permissions","displayname_owner","share_type","favorite","OC","TAG_FAVORITE","getShares","shared_with_me","arguments","generateOcsUrl","axios","include_tags","async","_getCurrentUser2","sharedWithOthers","pendingShares","deletedshares","filterTypes","promises","getRemoteShares","getPendingShares","getRemotePendingShares","getDeletedShares","contents","Promise","all","response","flat","nodes","_node$attributes","reduce","acc","curr","folder","sharesViewId","sharedWithYouViewId","sharedWithOthersViewId","sharingByLinksViewId","deletedSharesViewId","pendingSharesViewId","n","isRemote","remote","shareBase","post","emit","dir","OCP","Files","Router","goToRoute","HIDDEN","remote_id","Share","SHARE_TYPE_REMOTE_GROUP","delete","InformationSvg","_window","_ref","_nodes$0$root","OCA","Sidebar","open","styleTagTransform","setAttributes","insert","domAPI","insertStyleElement","locals","_node$attributes2","shareTypes","ownerId","_node$attributes3","_node$attributes4","_node$attributes5","ownerDisplayName","_node$attributes6","_node$attributes7","_node$attributes8","_getCurrentUser3","AccountPlusSvg","Type","SHARE_TYPE_LINK","SHARE_TYPE_EMAIL","LinkSvg","SHARE_TYPE_GROUP","AccountGroupSvg","SHARE_TYPE_CIRCLE","userId","avatarUrl","generateUrl","generateAvatarSvg","_node$attributes9","_node$attributes10","_getCurrentUser4","SHARE","_window$OCA","_window$OCA$setActive","setActiveTab","sidebarAction","registerSharingViews","___CSS_LOADER_EXPORT___","module","__webpack_module_cache__","__webpack_require__","moduleId","cachedModule","loaded","__webpack_modules__","m","O","chunkIds","fn","priority","notFulfilled","Infinity","fulfilled","every","r","getter","__esModule","definition","o","defineProperty","enumerable","resolve","g","globalThis","Function","Symbol","toStringTag","nmd","paths","children","b","document","baseURI","self","location","href","installedChunks","chunkId","webpackJsonpCallback","parentChunkLoadingFunction","moreModules","runtime","chunkLoadingGlobal","bind","__webpack_exports__"],"sourceRoot":""}
\ No newline at end of file
index e0b0971e95a621b24482909be8f1add4eef7ef74..c05672b8b94fa06f53edb77dc719dffa88e9df84 100644 (file)
@@ -1,22 +1,4 @@
 /**
- * @copyright Copyright (c) 2019 John Molakvoæ <skjnldsv@protonmail.com>
- *
- * @author John Molakvoæ <skjnldsv@protonmail.com>
- * @author Julius Härtl <jus@bitgrid.net>
- *
- * @license AGPL-3.0-or-later
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU Affero General Public License as
- * published by the Free Software Foundation, either version 3 of the
- * License, or (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU Affero General Public License for more details.
- *
- * You should have received a copy of the GNU Affero General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- *
+ * SPDX-FileCopyrightText: 2019 Nextcloud GmbH and Nextcloud contributors
+ * SPDX-License-Identifier: AGPL-3.0-or-later
  */
index aac3ccd25e95998bb78c0d3ef29c371e0aeab0a5..5233c3fc5c59237fb647481b3a11f3f28854a4e9 100644 (file)
@@ -1 +1 @@
-{"version":3,"file":"files_sharing-main.js?v=e15d4888af7f7f47d891","mappings":";mBAwBKA,OAAOC,KACRD,OAAOC,GAAK,CAAC,GAEjBC,OAAOC,OAAOH,OAAOC,GAAI,CACrBG,MAAO,CACHC,gBAAiB,EACjBC,iBAAkB,EAClBC,gBAAiB,EACjBC,iBAAkB,EAClBC,kBAAmB,EACnBC,kBAAmB,EACnBC,iBAAkB,EAClBC,wBAAyB,EACzBC,gBAAiB,GACjBC,gBAAiB,GACjBC,uBAAwB","sources":["webpack:///nextcloud/apps/files_sharing/src/main.ts"],"sourcesContent":["\"use strict\";\n/**\n * @copyright Copyright (c) 2019 John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @author John Molakvoæ <skjnldsv@protonmail.com>\n * @author Julius Härtl <jus@bitgrid.net>\n *\n * @license AGPL-3.0-or-later\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */\n// register default shares types\nif (!window.OC) {\n    window.OC = {};\n}\nObject.assign(window.OC, {\n    Share: {\n        SHARE_TYPE_USER: 0,\n        SHARE_TYPE_GROUP: 1,\n        SHARE_TYPE_LINK: 3,\n        SHARE_TYPE_EMAIL: 4,\n        SHARE_TYPE_REMOTE: 6,\n        SHARE_TYPE_CIRCLE: 7,\n        SHARE_TYPE_GUEST: 8,\n        SHARE_TYPE_REMOTE_GROUP: 9,\n        SHARE_TYPE_ROOM: 10,\n        SHARE_TYPE_DECK: 12,\n        SHARE_TYPE_SCIENCEMESH: 15,\n    },\n});\n"],"names":["window","OC","Object","assign","Share","SHARE_TYPE_USER","SHARE_TYPE_GROUP","SHARE_TYPE_LINK","SHARE_TYPE_EMAIL","SHARE_TYPE_REMOTE","SHARE_TYPE_CIRCLE","SHARE_TYPE_GUEST","SHARE_TYPE_REMOTE_GROUP","SHARE_TYPE_ROOM","SHARE_TYPE_DECK","SHARE_TYPE_SCIENCEMESH"],"sourceRoot":""}
\ No newline at end of file
+{"version":3,"file":"files_sharing-main.js?v=e15d4888af7f7f47d891","mappings":";mBAMKA,OAAOC,KACRD,OAAOC,GAAK,CAAC,GAEjBC,OAAOC,OAAOH,OAAOC,GAAI,CACrBG,MAAO,CACHC,gBAAiB,EACjBC,iBAAkB,EAClBC,gBAAiB,EACjBC,iBAAkB,EAClBC,kBAAmB,EACnBC,kBAAmB,EACnBC,iBAAkB,EAClBC,wBAAyB,EACzBC,gBAAiB,GACjBC,gBAAiB,GACjBC,uBAAwB","sources":["webpack:///nextcloud/apps/files_sharing/src/main.ts"],"sourcesContent":["\"use strict\";\n/**\n * SPDX-FileCopyrightText: 2019 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\n// register default shares types\nif (!window.OC) {\n    window.OC = {};\n}\nObject.assign(window.OC, {\n    Share: {\n        SHARE_TYPE_USER: 0,\n        SHARE_TYPE_GROUP: 1,\n        SHARE_TYPE_LINK: 3,\n        SHARE_TYPE_EMAIL: 4,\n        SHARE_TYPE_REMOTE: 6,\n        SHARE_TYPE_CIRCLE: 7,\n        SHARE_TYPE_GUEST: 8,\n        SHARE_TYPE_REMOTE_GROUP: 9,\n        SHARE_TYPE_ROOM: 10,\n        SHARE_TYPE_DECK: 12,\n        SHARE_TYPE_SCIENCEMESH: 15,\n    },\n});\n"],"names":["window","OC","Object","assign","Share","SHARE_TYPE_USER","SHARE_TYPE_GROUP","SHARE_TYPE_LINK","SHARE_TYPE_EMAIL","SHARE_TYPE_REMOTE","SHARE_TYPE_CIRCLE","SHARE_TYPE_GUEST","SHARE_TYPE_REMOTE_GROUP","SHARE_TYPE_ROOM","SHARE_TYPE_DECK","SHARE_TYPE_SCIENCEMESH"],"sourceRoot":""}
\ No newline at end of file
index 08990c24c388fe78187c96031dab5c3c43ccee25..0dfcdfda2ad9665a0efd50e75f4157caed60239a 100644 (file)
@@ -1,3 +1,3 @@
-/*! For license information please see files_sharing-personal-settings.js.license?v=0cbd98c194846c9a7411 */
-(()=>{"use strict";var e,r,a,n={1036:(e,r,a)=>{var n=a(85471),o=a(21777),s=a(63814),i=a(38613),l=a(85168),c=a(26287),d=a(43627),p=a.n(d),u=a(82182);const f=(0,i.C)("files_sharing","default_share_folder","/"),h=(0,i.C)("files_sharing","share_folder",f),g={name:"SelectShareFolderDialogue",components:{NcTextField:u.A},data:()=>({directory:h,defaultDirectory:f}),computed:{readableDirectory(){return this.directory?this.directory:"/"}},methods:{async pickFolder(){const e=(0,l.a1)(t("files","Choose a default folder for accepted shares")).startAt(this.readableDirectory).setMultiSelect(!1).setType(1).setMimeTypeFilter(["httpd/unix-directory"]).allowDirectories().build();try{const r=await e.pick()||"/";if(!r.startsWith("/"))throw new Error(t("files","Invalid path selected"));this.directory=p().normalize(r),await c.A.put((0,s.Jv)("/apps/files_sharing/settings/shareFolder"),{shareFolder:this.directory})}catch(e){(0,l.Qg)(e.message||t("files","Unknown error"))}},resetFolder(){this.directory=this.defaultDirectory,c.A.delete((0,s.Jv)("/apps/files_sharing/settings/shareFolder"))}}};var A=a(85072),m=a.n(A),v=a(97825),b=a.n(v),y=a(77659),_=a.n(y),C=a(55056),w=a.n(C),k=a(10540),x=a.n(k),S=a(41113),D=a.n(S),T=a(57294),E={};E.styleTagTransform=D(),E.setAttributes=w(),E.insert=_().bind(null,"head"),E.domAPI=b(),E.insertStyleElement=x(),m()(T.A,E),T.A&&T.A.locals&&T.A.locals;var F=a(14486);const O=(0,F.A)(g,(function(){var e=this,t=e._self._c;return t("div",{staticClass:"share-folder"},[t("form",{staticClass:"share-folder__form",on:{reset:function(t){return t.preventDefault(),t.stopPropagation(),e.resetFolder.apply(null,arguments)}}},[t("NcTextField",{staticClass:"share-folder__picker",attrs:{type:"text",label:e.t("files_sharing","Set default folder for accepted shares"),value:e.readableDirectory},on:{click:function(t){return t.preventDefault(),e.pickFolder.apply(null,arguments)}}}),e._v(" "),e.readableDirectory!==e.defaultDirectory?t("input",{staticClass:"share-folder__reset",attrs:{type:"reset","aria-label":e.t("files_sharing","Reset folder to system default")},domProps:{value:e.t("files_sharing","Reset")}}):e._e()],1)])}),[],!1,null,"920d6d5a",null).exports;var P=a(96763);const j={name:"PersonalSettings",components:{SelectShareFolderDialogue:O},data:()=>({accepting:(0,i.C)("files_sharing","accept_default"),enforceAcceptShares:(0,i.C)("files_sharing","enforce_accept"),allowCustomDirectory:(0,i.C)("files_sharing","allow_custom_share_folder")}),methods:{async toggleEnabled(){try{await c.A.put((0,s.Jv)("/apps/files_sharing/settings/defaultAccept"),{accept:this.accepting})}catch(e){(0,l.Qg)(t("files_sharing","Error while toggling options")),P.error(e)}}}};var B=a(47904),N={};N.styleTagTransform=D(),N.setAttributes=w(),N.insert=_().bind(null,"head"),N.domAPI=b(),N.insertStyleElement=x(),m()(B.A,N),B.A&&B.A.locals&&B.A.locals;const M=(0,F.A)(j,(function(){var e=this,t=e._self._c;return!e.enforceAcceptShares||e.allowCustomDirectory?t("div",{staticClass:"section",attrs:{id:"files-sharing-personal-settings"}},[t("h2",[e._v(e._s(e.t("files_sharing","Sharing")))]),e._v(" "),e.enforceAcceptShares?e._e():t("p",[t("input",{directives:[{name:"model",rawName:"v-model",value:e.accepting,expression:"accepting"}],staticClass:"checkbox",attrs:{id:"files-sharing-personal-settings-accept",type:"checkbox"},domProps:{checked:Array.isArray(e.accepting)?e._i(e.accepting,null)>-1:e.accepting},on:{change:[function(t){var r=e.accepting,a=t.target,n=!!a.checked;if(Array.isArray(r)){var o=e._i(r,null);a.checked?o<0&&(e.accepting=r.concat([null])):o>-1&&(e.accepting=r.slice(0,o).concat(r.slice(o+1)))}else e.accepting=n},e.toggleEnabled]}}),e._v(" "),t("label",{attrs:{for:"files-sharing-personal-settings-accept"}},[e._v(e._s(e.t("files_sharing","Accept shares from other accounts and groups by default")))])]),e._v(" "),e.allowCustomDirectory?t("p",[t("SelectShareFolderDialogue")],1):e._e()]):e._e()}),[],!1,null,"2affcb23",null).exports;a.nc=btoa((0,o.do)()),n.Ay.prototype.t=t,(new(n.Ay.extend(M))).$mount("#files-sharing-personal-settings")},47904:(e,t,r)=>{r.d(t,{A:()=>i});var a=r(71354),n=r.n(a),o=r(76314),s=r.n(o)()(n());s.push([e.id,"p[data-v-2affcb23]{margin-top:12px;margin-bottom:12px}","",{version:3,sources:["webpack://./apps/files_sharing/src/components/PersonalSettings.vue"],names:[],mappings:"AACA,mBACC,eAAA,CACA,kBAAA",sourcesContent:["\np {\n\tmargin-top: 12px;\n\tmargin-bottom: 12px;\n}\n"],sourceRoot:""}]);const i=s},57294:(e,t,r)=>{r.d(t,{A:()=>i});var a=r(71354),n=r.n(a),o=r(76314),s=r.n(o)()(n());s.push([e.id,".share-folder__form[data-v-920d6d5a]{display:flex}.share-folder__picker[data-v-920d6d5a]{cursor:pointer;max-width:300px}.share-folder__reset[data-v-920d6d5a]{background-color:rgba(0,0,0,0);border:none;font-weight:normal;text-decoration:underline;font-size:inherit}","",{version:3,sources:["webpack://./apps/files_sharing/src/components/SelectShareFolderDialogue.vue"],names:[],mappings:"AAEC,qCACC,YAAA,CAGD,uCACC,cAAA,CACA,eAAA,CAID,sCACC,8BAAA,CACA,WAAA,CACA,kBAAA,CACA,yBAAA,CACA,iBAAA",sourcesContent:["\n.share-folder {\n\t&__form {\n\t\tdisplay: flex;\n\t}\n\n\t&__picker {\n\t\tcursor: pointer;\n\t\tmax-width: 300px;\n\t}\n\n\t// Make the reset button looks like text\n\t&__reset {\n\t\tbackground-color: transparent;\n\t\tborder: none;\n\t\tfont-weight: normal;\n\t\ttext-decoration: underline;\n\t\tfont-size: inherit;\n\t}\n}\n"],sourceRoot:""}]);const i=s}},o={};function s(e){var t=o[e];if(void 0!==t)return t.exports;var r=o[e]={id:e,loaded:!1,exports:{}};return n[e].call(r.exports,r,r.exports,s),r.loaded=!0,r.exports}s.m=n,e=[],s.O=(t,r,a,n)=>{if(!r){var o=1/0;for(d=0;d<e.length;d++){r=e[d][0],a=e[d][1],n=e[d][2];for(var i=!0,l=0;l<r.length;l++)(!1&n||o>=n)&&Object.keys(s.O).every((e=>s.O[e](r[l])))?r.splice(l--,1):(i=!1,n<o&&(o=n));if(i){e.splice(d--,1);var c=a();void 0!==c&&(t=c)}}return t}n=n||0;for(var d=e.length;d>0&&e[d-1][2]>n;d--)e[d]=e[d-1];e[d]=[r,a,n]},s.n=e=>{var t=e&&e.__esModule?()=>e.default:()=>e;return s.d(t,{a:t}),t},s.d=(e,t)=>{for(var r in t)s.o(t,r)&&!s.o(e,r)&&Object.defineProperty(e,r,{enumerable:!0,get:t[r]})},s.f={},s.e=e=>Promise.all(Object.keys(s.f).reduce(((t,r)=>(s.f[r](e,t),t)),[])),s.u=e=>e+"-"+e+".js?v="+{1110:"a5d6e6f59aa058840a1e",5455:"9cd46fa2e0b6ad206e92"}[e],s.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(e){if("object"==typeof window)return window}}(),s.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),r={},a="nextcloud:",s.l=(e,t,n,o)=>{if(r[e])r[e].push(t);else{var i,l;if(void 0!==n)for(var c=document.getElementsByTagName("script"),d=0;d<c.length;d++){var p=c[d];if(p.getAttribute("src")==e||p.getAttribute("data-webpack")==a+n){i=p;break}}i||(l=!0,(i=document.createElement("script")).charset="utf-8",i.timeout=120,s.nc&&i.setAttribute("nonce",s.nc),i.setAttribute("data-webpack",a+n),i.src=e),r[e]=[t];var u=(t,a)=>{i.onerror=i.onload=null,clearTimeout(f);var n=r[e];if(delete r[e],i.parentNode&&i.parentNode.removeChild(i),n&&n.forEach((e=>e(a))),t)return t(a)},f=setTimeout(u.bind(null,void 0,{type:"timeout",target:i}),12e4);i.onerror=u.bind(null,i.onerror),i.onload=u.bind(null,i.onload),l&&document.head.appendChild(i)}},s.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},s.nmd=e=>(e.paths=[],e.children||(e.children=[]),e),s.j=1376,(()=>{var e;s.g.importScripts&&(e=s.g.location+"");var t=s.g.document;if(!e&&t&&(t.currentScript&&(e=t.currentScript.src),!e)){var r=t.getElementsByTagName("script");if(r.length)for(var a=r.length-1;a>-1&&(!e||!/^http(s?):/.test(e));)e=r[a--].src}if(!e)throw new Error("Automatic publicPath is not supported in this browser");e=e.replace(/#.*$/,"").replace(/\?.*$/,"").replace(/\/[^\/]+$/,"/"),s.p=e})(),(()=>{s.b=document.baseURI||self.location.href;var e={1376:0};s.f.j=(t,r)=>{var a=s.o(e,t)?e[t]:void 0;if(0!==a)if(a)r.push(a[2]);else{var n=new Promise(((r,n)=>a=e[t]=[r,n]));r.push(a[2]=n);var o=s.p+s.u(t),i=new Error;s.l(o,(r=>{if(s.o(e,t)&&(0!==(a=e[t])&&(e[t]=void 0),a)){var n=r&&("load"===r.type?"missing":r.type),o=r&&r.target&&r.target.src;i.message="Loading chunk "+t+" failed.\n("+n+": "+o+")",i.name="ChunkLoadError",i.type=n,i.request=o,a[1](i)}}),"chunk-"+t,t)}},s.O.j=t=>0===e[t];var t=(t,r)=>{var a,n,o=r[0],i=r[1],l=r[2],c=0;if(o.some((t=>0!==e[t]))){for(a in i)s.o(i,a)&&(s.m[a]=i[a]);if(l)var d=l(s)}for(t&&t(r);c<o.length;c++)n=o[c],s.o(e,n)&&e[n]&&e[n][0](),e[n]=0;return s.O(d)},r=self.webpackChunknextcloud=self.webpackChunknextcloud||[];r.forEach(t.bind(null,0)),r.push=t.bind(null,r.push.bind(r))})(),s.nc=void 0;var i=s.O(void 0,[4208],(()=>s(1036)));i=s.O(i)})();
-//# sourceMappingURL=files_sharing-personal-settings.js.map?v=0cbd98c194846c9a7411
\ No newline at end of file
+/*! For license information please see files_sharing-personal-settings.js.license?v=28619904c598c421313e */
+(()=>{"use strict";var e,r,a,n={57529:(e,r,a)=>{var n=a(85471),o=a(21777),s=a(63814),i=a(38613),l=a(85168),c=a(26287),d=a(43627),p=a.n(d),u=a(82182);const f=(0,i.C)("files_sharing","default_share_folder","/"),h=(0,i.C)("files_sharing","share_folder",f),g={name:"SelectShareFolderDialogue",components:{NcTextField:u.A},data:()=>({directory:h,defaultDirectory:f}),computed:{readableDirectory(){return this.directory?this.directory:"/"}},methods:{async pickFolder(){const e=(0,l.a1)(t("files","Choose a default folder for accepted shares")).startAt(this.readableDirectory).setMultiSelect(!1).setType(1).setMimeTypeFilter(["httpd/unix-directory"]).allowDirectories().build();try{const r=await e.pick()||"/";if(!r.startsWith("/"))throw new Error(t("files","Invalid path selected"));this.directory=p().normalize(r),await c.A.put((0,s.Jv)("/apps/files_sharing/settings/shareFolder"),{shareFolder:this.directory})}catch(e){(0,l.Qg)(e.message||t("files","Unknown error"))}},resetFolder(){this.directory=this.defaultDirectory,c.A.delete((0,s.Jv)("/apps/files_sharing/settings/shareFolder"))}}};var A=a(85072),m=a.n(A),v=a(97825),b=a.n(v),y=a(77659),_=a.n(y),C=a(55056),w=a.n(C),k=a(10540),x=a.n(k),S=a(41113),D=a.n(S),T=a(20612),E={};E.styleTagTransform=D(),E.setAttributes=w(),E.insert=_().bind(null,"head"),E.domAPI=b(),E.insertStyleElement=x(),m()(T.A,E),T.A&&T.A.locals&&T.A.locals;var F=a(14486);const O=(0,F.A)(g,(function(){var e=this,t=e._self._c;return t("div",{staticClass:"share-folder"},[t("form",{staticClass:"share-folder__form",on:{reset:function(t){return t.preventDefault(),t.stopPropagation(),e.resetFolder.apply(null,arguments)}}},[t("NcTextField",{staticClass:"share-folder__picker",attrs:{type:"text",label:e.t("files_sharing","Set default folder for accepted shares"),value:e.readableDirectory},on:{click:function(t){return t.preventDefault(),e.pickFolder.apply(null,arguments)}}}),e._v(" "),e.readableDirectory!==e.defaultDirectory?t("input",{staticClass:"share-folder__reset",attrs:{type:"reset","aria-label":e.t("files_sharing","Reset folder to system default")},domProps:{value:e.t("files_sharing","Reset")}}):e._e()],1)])}),[],!1,null,"127ebb06",null).exports;var P=a(96763);const j={name:"PersonalSettings",components:{SelectShareFolderDialogue:O},data:()=>({accepting:(0,i.C)("files_sharing","accept_default"),enforceAcceptShares:(0,i.C)("files_sharing","enforce_accept"),allowCustomDirectory:(0,i.C)("files_sharing","allow_custom_share_folder")}),methods:{async toggleEnabled(){try{await c.A.put((0,s.Jv)("/apps/files_sharing/settings/defaultAccept"),{accept:this.accepting})}catch(e){(0,l.Qg)(t("files_sharing","Error while toggling options")),P.error(e)}}}};var B=a(21281),N={};N.styleTagTransform=D(),N.setAttributes=w(),N.insert=_().bind(null,"head"),N.domAPI=b(),N.insertStyleElement=x(),m()(B.A,N),B.A&&B.A.locals&&B.A.locals;const M=(0,F.A)(j,(function(){var e=this,t=e._self._c;return!e.enforceAcceptShares||e.allowCustomDirectory?t("div",{staticClass:"section",attrs:{id:"files-sharing-personal-settings"}},[t("h2",[e._v(e._s(e.t("files_sharing","Sharing")))]),e._v(" "),e.enforceAcceptShares?e._e():t("p",[t("input",{directives:[{name:"model",rawName:"v-model",value:e.accepting,expression:"accepting"}],staticClass:"checkbox",attrs:{id:"files-sharing-personal-settings-accept",type:"checkbox"},domProps:{checked:Array.isArray(e.accepting)?e._i(e.accepting,null)>-1:e.accepting},on:{change:[function(t){var r=e.accepting,a=t.target,n=!!a.checked;if(Array.isArray(r)){var o=e._i(r,null);a.checked?o<0&&(e.accepting=r.concat([null])):o>-1&&(e.accepting=r.slice(0,o).concat(r.slice(o+1)))}else e.accepting=n},e.toggleEnabled]}}),e._v(" "),t("label",{attrs:{for:"files-sharing-personal-settings-accept"}},[e._v(e._s(e.t("files_sharing","Accept shares from other accounts and groups by default")))])]),e._v(" "),e.allowCustomDirectory?t("p",[t("SelectShareFolderDialogue")],1):e._e()]):e._e()}),[],!1,null,"c1026fac",null).exports;a.nc=btoa((0,o.do)()),n.Ay.prototype.t=t,(new(n.Ay.extend(M))).$mount("#files-sharing-personal-settings")},21281:(e,t,r)=>{r.d(t,{A:()=>i});var a=r(71354),n=r.n(a),o=r(76314),s=r.n(o)()(n());s.push([e.id,"p[data-v-c1026fac]{margin-top:12px;margin-bottom:12px}","",{version:3,sources:["webpack://./apps/files_sharing/src/components/PersonalSettings.vue"],names:[],mappings:"AACA,mBACC,eAAA,CACA,kBAAA",sourcesContent:["\np {\n\tmargin-top: 12px;\n\tmargin-bottom: 12px;\n}\n"],sourceRoot:""}]);const i=s},20612:(e,t,r)=>{r.d(t,{A:()=>i});var a=r(71354),n=r.n(a),o=r(76314),s=r.n(o)()(n());s.push([e.id,".share-folder__form[data-v-127ebb06]{display:flex}.share-folder__picker[data-v-127ebb06]{cursor:pointer;max-width:300px}.share-folder__reset[data-v-127ebb06]{background-color:rgba(0,0,0,0);border:none;font-weight:normal;text-decoration:underline;font-size:inherit}","",{version:3,sources:["webpack://./apps/files_sharing/src/components/SelectShareFolderDialogue.vue"],names:[],mappings:"AAEC,qCACC,YAAA,CAGD,uCACC,cAAA,CACA,eAAA,CAID,sCACC,8BAAA,CACA,WAAA,CACA,kBAAA,CACA,yBAAA,CACA,iBAAA",sourcesContent:["\n.share-folder {\n\t&__form {\n\t\tdisplay: flex;\n\t}\n\n\t&__picker {\n\t\tcursor: pointer;\n\t\tmax-width: 300px;\n\t}\n\n\t// Make the reset button looks like text\n\t&__reset {\n\t\tbackground-color: transparent;\n\t\tborder: none;\n\t\tfont-weight: normal;\n\t\ttext-decoration: underline;\n\t\tfont-size: inherit;\n\t}\n}\n"],sourceRoot:""}]);const i=s}},o={};function s(e){var t=o[e];if(void 0!==t)return t.exports;var r=o[e]={id:e,loaded:!1,exports:{}};return n[e].call(r.exports,r,r.exports,s),r.loaded=!0,r.exports}s.m=n,e=[],s.O=(t,r,a,n)=>{if(!r){var o=1/0;for(d=0;d<e.length;d++){r=e[d][0],a=e[d][1],n=e[d][2];for(var i=!0,l=0;l<r.length;l++)(!1&n||o>=n)&&Object.keys(s.O).every((e=>s.O[e](r[l])))?r.splice(l--,1):(i=!1,n<o&&(o=n));if(i){e.splice(d--,1);var c=a();void 0!==c&&(t=c)}}return t}n=n||0;for(var d=e.length;d>0&&e[d-1][2]>n;d--)e[d]=e[d-1];e[d]=[r,a,n]},s.n=e=>{var t=e&&e.__esModule?()=>e.default:()=>e;return s.d(t,{a:t}),t},s.d=(e,t)=>{for(var r in t)s.o(t,r)&&!s.o(e,r)&&Object.defineProperty(e,r,{enumerable:!0,get:t[r]})},s.f={},s.e=e=>Promise.all(Object.keys(s.f).reduce(((t,r)=>(s.f[r](e,t),t)),[])),s.u=e=>e+"-"+e+".js?v="+{1110:"a5d6e6f59aa058840a1e",5455:"9cd46fa2e0b6ad206e92"}[e],s.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(e){if("object"==typeof window)return window}}(),s.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),r={},a="nextcloud:",s.l=(e,t,n,o)=>{if(r[e])r[e].push(t);else{var i,l;if(void 0!==n)for(var c=document.getElementsByTagName("script"),d=0;d<c.length;d++){var p=c[d];if(p.getAttribute("src")==e||p.getAttribute("data-webpack")==a+n){i=p;break}}i||(l=!0,(i=document.createElement("script")).charset="utf-8",i.timeout=120,s.nc&&i.setAttribute("nonce",s.nc),i.setAttribute("data-webpack",a+n),i.src=e),r[e]=[t];var u=(t,a)=>{i.onerror=i.onload=null,clearTimeout(f);var n=r[e];if(delete r[e],i.parentNode&&i.parentNode.removeChild(i),n&&n.forEach((e=>e(a))),t)return t(a)},f=setTimeout(u.bind(null,void 0,{type:"timeout",target:i}),12e4);i.onerror=u.bind(null,i.onerror),i.onload=u.bind(null,i.onload),l&&document.head.appendChild(i)}},s.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},s.nmd=e=>(e.paths=[],e.children||(e.children=[]),e),s.j=1376,(()=>{var e;s.g.importScripts&&(e=s.g.location+"");var t=s.g.document;if(!e&&t&&(t.currentScript&&(e=t.currentScript.src),!e)){var r=t.getElementsByTagName("script");if(r.length)for(var a=r.length-1;a>-1&&(!e||!/^http(s?):/.test(e));)e=r[a--].src}if(!e)throw new Error("Automatic publicPath is not supported in this browser");e=e.replace(/#.*$/,"").replace(/\?.*$/,"").replace(/\/[^\/]+$/,"/"),s.p=e})(),(()=>{s.b=document.baseURI||self.location.href;var e={1376:0};s.f.j=(t,r)=>{var a=s.o(e,t)?e[t]:void 0;if(0!==a)if(a)r.push(a[2]);else{var n=new Promise(((r,n)=>a=e[t]=[r,n]));r.push(a[2]=n);var o=s.p+s.u(t),i=new Error;s.l(o,(r=>{if(s.o(e,t)&&(0!==(a=e[t])&&(e[t]=void 0),a)){var n=r&&("load"===r.type?"missing":r.type),o=r&&r.target&&r.target.src;i.message="Loading chunk "+t+" failed.\n("+n+": "+o+")",i.name="ChunkLoadError",i.type=n,i.request=o,a[1](i)}}),"chunk-"+t,t)}},s.O.j=t=>0===e[t];var t=(t,r)=>{var a,n,o=r[0],i=r[1],l=r[2],c=0;if(o.some((t=>0!==e[t]))){for(a in i)s.o(i,a)&&(s.m[a]=i[a]);if(l)var d=l(s)}for(t&&t(r);c<o.length;c++)n=o[c],s.o(e,n)&&e[n]&&e[n][0](),e[n]=0;return s.O(d)},r=self.webpackChunknextcloud=self.webpackChunknextcloud||[];r.forEach(t.bind(null,0)),r.push=t.bind(null,r.push.bind(r))})(),s.nc=void 0;var i=s.O(void 0,[4208],(()=>s(57529)));i=s.O(i)})();
+//# sourceMappingURL=files_sharing-personal-settings.js.map?v=28619904c598c421313e
\ No newline at end of file
index 87b8b6e960ad15d62c2b4f06e804d5e995b9157f..c05672b8b94fa06f53edb77dc719dffa88e9df84 100644 (file)
@@ -1,22 +1,4 @@
 /**
- * @copyright 2019 Christoph Wurst <christoph@winzerhof-wurst.at>
- * @copyright 2019 Christoph Wurst <christoph@winzerhof-wurst.at>
- *
- * @author Roeland Jago Douma <roeland@famdouma.nl>
- *
- * @license AGPL-3.0-or-later
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU Affero General Public License as
- * published by the Free Software Foundation, either version 3 of the
- * License, or (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU Affero General Public License for more details.
- *
- * You should have received a copy of the GNU Affero General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- *
+ * SPDX-FileCopyrightText: 2019 Nextcloud GmbH and Nextcloud contributors
+ * SPDX-License-Identifier: AGPL-3.0-or-later
  */
index 29f651735200ace13e8823425d367137ea687c2f..f28b935bb181bfef4ba1c4f94c0fa07373f08daf 100644 (file)
@@ -1 +1 @@
-{"version":3,"file":"files_sharing-personal-settings.js?v=0cbd98c194846c9a7411","mappings":"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","sources":["webpack:///nextcloud/webpack/runtime/chunk loaded","webpack:///nextcloud/webpack/runtime/load script","webpack:///nextcloud/apps/files_sharing/src/components/SelectShareFolderDialogue.vue","webpack:///nextcloud/apps/files_sharing/src/components/SelectShareFolderDialogue.vue?vue&type=script&lang=js","webpack://nextcloud/./apps/files_sharing/src/components/SelectShareFolderDialogue.vue?0bc9","webpack://nextcloud/./apps/files_sharing/src/components/SelectShareFolderDialogue.vue?c5e4","webpack://nextcloud/./apps/files_sharing/src/components/SelectShareFolderDialogue.vue?ef68","webpack:///nextcloud/apps/files_sharing/src/components/PersonalSettings.vue","webpack:///nextcloud/apps/files_sharing/src/components/PersonalSettings.vue?vue&type=script&lang=js","webpack://nextcloud/./apps/files_sharing/src/components/PersonalSettings.vue?4a55","webpack://nextcloud/./apps/files_sharing/src/components/PersonalSettings.vue?4796","webpack://nextcloud/./apps/files_sharing/src/components/PersonalSettings.vue?a235","webpack:///nextcloud/apps/files_sharing/src/personal-settings.js","webpack:///nextcloud/apps/files_sharing/src/components/PersonalSettings.vue?vue&type=style&index=0&id=2affcb23&prod&scoped=true&lang=scss","webpack:///nextcloud/apps/files_sharing/src/components/SelectShareFolderDialogue.vue?vue&type=style&index=0&id=920d6d5a&prod&scoped=true&lang=scss","webpack:///nextcloud/webpack/bootstrap","webpack:///nextcloud/webpack/runtime/compat get default export","webpack:///nextcloud/webpack/runtime/define property getters","webpack:///nextcloud/webpack/runtime/ensure chunk","webpack:///nextcloud/webpack/runtime/get javascript chunk filename","webpack:///nextcloud/webpack/runtime/global","webpack:///nextcloud/webpack/runtime/hasOwnProperty shorthand","webpack:///nextcloud/webpack/runtime/make namespace object","webpack:///nextcloud/webpack/runtime/node module decorator","webpack:///nextcloud/webpack/runtime/runtimeId","webpack:///nextcloud/webpack/runtime/publicPath","webpack:///nextcloud/webpack/runtime/jsonp chunk loading","webpack:///nextcloud/webpack/runtime/nonce","webpack:///nextcloud/webpack/startup"],"sourcesContent":["var deferred = [];\n__webpack_require__.O = (result, chunkIds, fn, priority) => {\n\tif(chunkIds) {\n\t\tpriority = priority || 0;\n\t\tfor(var i = deferred.length; i > 0 && deferred[i - 1][2] > priority; i--) deferred[i] = deferred[i - 1];\n\t\tdeferred[i] = [chunkIds, fn, priority];\n\t\treturn;\n\t}\n\tvar notFulfilled = Infinity;\n\tfor (var i = 0; i < deferred.length; i++) {\n\t\tvar chunkIds = deferred[i][0];\n\t\tvar fn = deferred[i][1];\n\t\tvar priority = deferred[i][2];\n\t\tvar fulfilled = true;\n\t\tfor (var j = 0; j < chunkIds.length; j++) {\n\t\t\tif ((priority & 1 === 0 || notFulfilled >= priority) && Object.keys(__webpack_require__.O).every((key) => (__webpack_require__.O[key](chunkIds[j])))) {\n\t\t\t\tchunkIds.splice(j--, 1);\n\t\t\t} else {\n\t\t\t\tfulfilled = false;\n\t\t\t\tif(priority < notFulfilled) notFulfilled = priority;\n\t\t\t}\n\t\t}\n\t\tif(fulfilled) {\n\t\t\tdeferred.splice(i--, 1)\n\t\t\tvar r = fn();\n\t\t\tif (r !== undefined) result = r;\n\t\t}\n\t}\n\treturn result;\n};","var inProgress = {};\nvar dataWebpackPrefix = \"nextcloud:\";\n// loadScript function to load a script via script tag\n__webpack_require__.l = (url, done, key, chunkId) => {\n\tif(inProgress[url]) { inProgress[url].push(done); return; }\n\tvar script, needAttach;\n\tif(key !== undefined) {\n\t\tvar scripts = document.getElementsByTagName(\"script\");\n\t\tfor(var i = 0; i < scripts.length; i++) {\n\t\t\tvar s = scripts[i];\n\t\t\tif(s.getAttribute(\"src\") == url || s.getAttribute(\"data-webpack\") == dataWebpackPrefix + key) { script = s; break; }\n\t\t}\n\t}\n\tif(!script) {\n\t\tneedAttach = true;\n\t\tscript = document.createElement('script');\n\n\t\tscript.charset = 'utf-8';\n\t\tscript.timeout = 120;\n\t\tif (__webpack_require__.nc) {\n\t\t\tscript.setAttribute(\"nonce\", __webpack_require__.nc);\n\t\t}\n\t\tscript.setAttribute(\"data-webpack\", dataWebpackPrefix + key);\n\n\t\tscript.src = url;\n\t}\n\tinProgress[url] = [done];\n\tvar onScriptComplete = (prev, event) => {\n\t\t// avoid mem leaks in IE.\n\t\tscript.onerror = script.onload = null;\n\t\tclearTimeout(timeout);\n\t\tvar doneFns = inProgress[url];\n\t\tdelete inProgress[url];\n\t\tscript.parentNode && script.parentNode.removeChild(script);\n\t\tdoneFns && doneFns.forEach((fn) => (fn(event)));\n\t\tif(prev) return prev(event);\n\t}\n\tvar timeout = setTimeout(onScriptComplete.bind(null, undefined, { type: 'timeout', target: script }), 120000);\n\tscript.onerror = onScriptComplete.bind(null, script.onerror);\n\tscript.onload = onScriptComplete.bind(null, script.onload);\n\tneedAttach && document.head.appendChild(script);\n};","<!--\n  - @copyright 2021 Hinrich Mahler <nextcloud@mahlerhome.de>\n  -\n  - @license GNU AGPL version 3 or any later version\n  -\n  - This program is free software: you can redistribute it and/or modify\n  - it under the terms of the GNU Affero General Public License as\n  - published by the Free Software Foundation, either version 3 of the\n  - License, or (at your option) any later version.\n  -\n  - This program is distributed in the hope that it will be useful,\n  - but WITHOUT ANY WARRANTY; without even the implied warranty of\n  - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\n  - GNU Affero General Public License for more details.\n  -\n  - You should have received a copy of the GNU Affero General Public License\n  - along with this program.  If not, see <http://www.gnu.org/licenses/>.\n  -->\n\n<template>\n\t<div class=\"share-folder\">\n\t\t<!-- Folder picking form -->\n\t\t<form class=\"share-folder__form\" @reset.prevent.stop=\"resetFolder\">\n\t\t\t<NcTextField class=\"share-folder__picker\"\n\t\t\t\ttype=\"text\"\n\t\t\t\t:label=\"t('files_sharing', 'Set default folder for accepted shares')\"\n\t\t\t\t:value=\"readableDirectory\"\n\t\t\t\t@click.prevent=\"pickFolder\" />\n\n\t\t\t<!-- Show reset button if folder is different -->\n\t\t\t<input v-if=\"readableDirectory !== defaultDirectory\"\n\t\t\t\tclass=\"share-folder__reset\"\n\t\t\t\ttype=\"reset\"\n\t\t\t\t:value=\"t('files_sharing', 'Reset')\"\n\t\t\t\t:aria-label=\"t('files_sharing', 'Reset folder to system default')\">\n\t\t</form>\n\t</div>\n</template>\n\n<script>\nimport axios from '@nextcloud/axios'\nimport path from 'path'\nimport { generateUrl } from '@nextcloud/router'\nimport { getFilePickerBuilder, showError } from '@nextcloud/dialogs'\nimport { loadState } from '@nextcloud/initial-state'\nimport NcTextField from '@nextcloud/vue/dist/Components/NcTextField.js'\n\nconst defaultDirectory = loadState('files_sharing', 'default_share_folder', '/')\nconst directory = loadState('files_sharing', 'share_folder', defaultDirectory)\n\nexport default {\n\tname: 'SelectShareFolderDialogue',\n\tcomponents: {\n\t\tNcTextField,\n\t},\n\tdata() {\n\t\treturn {\n\t\t\tdirectory,\n\t\t\tdefaultDirectory,\n\t\t}\n\t},\n\tcomputed: {\n\t\treadableDirectory() {\n\t\t\tif (!this.directory) {\n\t\t\t\treturn '/'\n\t\t\t}\n\t\t\treturn this.directory\n\t\t},\n\t},\n\tmethods: {\n\t\tasync pickFolder() {\n\n\t\t\t// Setup file picker\n\t\t\tconst picker = getFilePickerBuilder(t('files', 'Choose a default folder for accepted shares'))\n\t\t\t\t.startAt(this.readableDirectory)\n\t\t\t\t.setMultiSelect(false)\n\t\t\t\t.setType(1)\n\t\t\t\t.setMimeTypeFilter(['httpd/unix-directory'])\n\t\t\t\t.allowDirectories()\n\t\t\t\t.build()\n\n\t\t\ttry {\n\t\t\t\t// Init user folder picking\n\t\t\t\tconst dir = await picker.pick() || '/'\n\t\t\t\tif (!dir.startsWith('/')) {\n\t\t\t\t\tthrow new Error(t('files', 'Invalid path selected'))\n\t\t\t\t}\n\n\t\t\t\t// Fix potential path issues and save results\n\t\t\t\tthis.directory = path.normalize(dir)\n\t\t\t\tawait axios.put(generateUrl('/apps/files_sharing/settings/shareFolder'), {\n\t\t\t\t\tshareFolder: this.directory,\n\t\t\t\t})\n\t\t\t} catch (error) {\n\t\t\t\tshowError(error.message || t('files', 'Unknown error'))\n\t\t\t}\n\t\t},\n\n\t\tresetFolder() {\n\t\t\tthis.directory = this.defaultDirectory\n\t\t\taxios.delete(generateUrl('/apps/files_sharing/settings/shareFolder'))\n\t\t},\n\t},\n}\n</script>\n\n<style scoped lang=\"scss\">\n.share-folder {\n\t&__form {\n\t\tdisplay: flex;\n\t}\n\n\t&__picker {\n\t\tcursor: pointer;\n\t\tmax-width: 300px;\n\t}\n\n\t// Make the reset button looks like text\n\t&__reset {\n\t\tbackground-color: transparent;\n\t\tborder: none;\n\t\tfont-weight: normal;\n\t\ttext-decoration: underline;\n\t\tfont-size: inherit;\n\t}\n}\n</style>\n","import mod from \"-!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SelectShareFolderDialogue.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SelectShareFolderDialogue.vue?vue&type=script&lang=js\"","\n      import API from \"!../../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n      import domAPI from \"!../../../../node_modules/style-loader/dist/runtime/styleDomAPI.js\";\n      import insertFn from \"!../../../../node_modules/style-loader/dist/runtime/insertBySelector.js\";\n      import setAttributes from \"!../../../../node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js\";\n      import insertStyleElement from \"!../../../../node_modules/style-loader/dist/runtime/insertStyleElement.js\";\n      import styleTagTransformFn from \"!../../../../node_modules/style-loader/dist/runtime/styleTagTransform.js\";\n      import content, * as namedExport from \"!!../../../../node_modules/css-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/sass-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SelectShareFolderDialogue.vue?vue&type=style&index=0&id=920d6d5a&prod&scoped=true&lang=scss\";\n      \n      \n\nvar options = {};\n\noptions.styleTagTransform = styleTagTransformFn;\noptions.setAttributes = setAttributes;\n\n      options.insert = insertFn.bind(null, \"head\");\n    \noptions.domAPI = domAPI;\noptions.insertStyleElement = insertStyleElement;\n\nvar update = API(content, options);\n\n\n\nexport * from \"!!../../../../node_modules/css-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/sass-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SelectShareFolderDialogue.vue?vue&type=style&index=0&id=920d6d5a&prod&scoped=true&lang=scss\";\n       export default content && content.locals ? content.locals : undefined;\n","import { render, staticRenderFns } from \"./SelectShareFolderDialogue.vue?vue&type=template&id=920d6d5a&scoped=true\"\nimport script from \"./SelectShareFolderDialogue.vue?vue&type=script&lang=js\"\nexport * from \"./SelectShareFolderDialogue.vue?vue&type=script&lang=js\"\nimport style0 from \"./SelectShareFolderDialogue.vue?vue&type=style&index=0&id=920d6d5a&prod&scoped=true&lang=scss\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n  script,\n  render,\n  staticRenderFns,\n  false,\n  null,\n  \"920d6d5a\",\n  null\n  \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',{staticClass:\"share-folder\"},[_c('form',{staticClass:\"share-folder__form\",on:{\"reset\":function($event){$event.preventDefault();$event.stopPropagation();return _vm.resetFolder.apply(null, arguments)}}},[_c('NcTextField',{staticClass:\"share-folder__picker\",attrs:{\"type\":\"text\",\"label\":_vm.t('files_sharing', 'Set default folder for accepted shares'),\"value\":_vm.readableDirectory},on:{\"click\":function($event){$event.preventDefault();return _vm.pickFolder.apply(null, arguments)}}}),_vm._v(\" \"),(_vm.readableDirectory !== _vm.defaultDirectory)?_c('input',{staticClass:\"share-folder__reset\",attrs:{\"type\":\"reset\",\"aria-label\":_vm.t('files_sharing', 'Reset folder to system default')},domProps:{\"value\":_vm.t('files_sharing', 'Reset')}}):_vm._e()],1)])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<!--\n  - @copyright 2019 Roeland Jago Douma <roeland@famdouma.nl>\n  -\n  - @author 2019 Roeland Jago Douma <roeland@famdouma.nl>\n  - @author Hinrich Mahler <nextcloud@mahlerhome.de>\n  -\n  - @license GNU AGPL version 3 or any later version\n  -\n  - This program is free software: you can redistribute it and/or modify\n  - it under the terms of the GNU Affero General Public License as\n  - published by the Free Software Foundation, either version 3 of the\n  - License, or (at your option) any later version.\n  -\n  - This program is distributed in the hope that it will be useful,\n  - but WITHOUT ANY WARRANTY; without even the implied warranty of\n  - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\n  - GNU Affero General Public License for more details.\n  -\n  - You should have received a copy of the GNU Affero General Public License\n  - along with this program.  If not, see <http://www.gnu.org/licenses/>.\n  -->\n\n<template>\n\t<div v-if=\"!enforceAcceptShares || allowCustomDirectory\" id=\"files-sharing-personal-settings\" class=\"section\">\n\t\t<h2>{{ t('files_sharing', 'Sharing') }}</h2>\n\t\t<p v-if=\"!enforceAcceptShares\">\n\t\t\t<input id=\"files-sharing-personal-settings-accept\"\n\t\t\t\tv-model=\"accepting\"\n\t\t\t\tclass=\"checkbox\"\n\t\t\t\ttype=\"checkbox\"\n\t\t\t\t@change=\"toggleEnabled\">\n\t\t\t<label for=\"files-sharing-personal-settings-accept\">{{ t('files_sharing', 'Accept shares from other accounts and groups by default') }}</label>\n\t\t</p>\n\t\t<p v-if=\"allowCustomDirectory\">\n\t\t\t<SelectShareFolderDialogue />\n\t\t</p>\n\t</div>\n</template>\n\n<script>\nimport { generateUrl } from '@nextcloud/router'\nimport { loadState } from '@nextcloud/initial-state'\nimport { showError } from '@nextcloud/dialogs'\nimport axios from '@nextcloud/axios'\n\nimport SelectShareFolderDialogue from './SelectShareFolderDialogue.vue'\n\nexport default {\n\tname: 'PersonalSettings',\n\tcomponents: {\n\t\tSelectShareFolderDialogue,\n\t},\n\n\tdata() {\n\t\treturn {\n\t\t\t// Share acceptance config\n\t\t\taccepting: loadState('files_sharing', 'accept_default'),\n\t\t\tenforceAcceptShares: loadState('files_sharing', 'enforce_accept'),\n\n\t\t\t// Receiving share folder config\n\t\t\tallowCustomDirectory: loadState('files_sharing', 'allow_custom_share_folder'),\n\t\t}\n\t},\n\n\tmethods: {\n\t\tasync toggleEnabled() {\n\t\t\ttry {\n\t\t\t\tawait axios.put(generateUrl('/apps/files_sharing/settings/defaultAccept'), {\n\t\t\t\t\taccept: this.accepting,\n\t\t\t\t})\n\t\t\t} catch (error) {\n\t\t\t\tshowError(t('files_sharing', 'Error while toggling options'))\n\t\t\t\tconsole.error(error)\n\t\t\t}\n\t\t},\n\t},\n}\n</script>\n\n<style scoped lang=\"scss\">\np {\n\tmargin-top: 12px;\n\tmargin-bottom: 12px;\n}\n</style>\n","import mod from \"-!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./PersonalSettings.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./PersonalSettings.vue?vue&type=script&lang=js\"","\n      import API from \"!../../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n      import domAPI from \"!../../../../node_modules/style-loader/dist/runtime/styleDomAPI.js\";\n      import insertFn from \"!../../../../node_modules/style-loader/dist/runtime/insertBySelector.js\";\n      import setAttributes from \"!../../../../node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js\";\n      import insertStyleElement from \"!../../../../node_modules/style-loader/dist/runtime/insertStyleElement.js\";\n      import styleTagTransformFn from \"!../../../../node_modules/style-loader/dist/runtime/styleTagTransform.js\";\n      import content, * as namedExport from \"!!../../../../node_modules/css-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/sass-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./PersonalSettings.vue?vue&type=style&index=0&id=2affcb23&prod&scoped=true&lang=scss\";\n      \n      \n\nvar options = {};\n\noptions.styleTagTransform = styleTagTransformFn;\noptions.setAttributes = setAttributes;\n\n      options.insert = insertFn.bind(null, \"head\");\n    \noptions.domAPI = domAPI;\noptions.insertStyleElement = insertStyleElement;\n\nvar update = API(content, options);\n\n\n\nexport * from \"!!../../../../node_modules/css-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/sass-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./PersonalSettings.vue?vue&type=style&index=0&id=2affcb23&prod&scoped=true&lang=scss\";\n       export default content && content.locals ? content.locals : undefined;\n","import { render, staticRenderFns } from \"./PersonalSettings.vue?vue&type=template&id=2affcb23&scoped=true\"\nimport script from \"./PersonalSettings.vue?vue&type=script&lang=js\"\nexport * from \"./PersonalSettings.vue?vue&type=script&lang=js\"\nimport style0 from \"./PersonalSettings.vue?vue&type=style&index=0&id=2affcb23&prod&scoped=true&lang=scss\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n  script,\n  render,\n  staticRenderFns,\n  false,\n  null,\n  \"2affcb23\",\n  null\n  \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return (!_vm.enforceAcceptShares || _vm.allowCustomDirectory)?_c('div',{staticClass:\"section\",attrs:{\"id\":\"files-sharing-personal-settings\"}},[_c('h2',[_vm._v(_vm._s(_vm.t('files_sharing', 'Sharing')))]),_vm._v(\" \"),(!_vm.enforceAcceptShares)?_c('p',[_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.accepting),expression:\"accepting\"}],staticClass:\"checkbox\",attrs:{\"id\":\"files-sharing-personal-settings-accept\",\"type\":\"checkbox\"},domProps:{\"checked\":Array.isArray(_vm.accepting)?_vm._i(_vm.accepting,null)>-1:(_vm.accepting)},on:{\"change\":[function($event){var $$a=_vm.accepting,$$el=$event.target,$$c=$$el.checked?(true):(false);if(Array.isArray($$a)){var $$v=null,$$i=_vm._i($$a,$$v);if($$el.checked){$$i<0&&(_vm.accepting=$$a.concat([$$v]))}else{$$i>-1&&(_vm.accepting=$$a.slice(0,$$i).concat($$a.slice($$i+1)))}}else{_vm.accepting=$$c}},_vm.toggleEnabled]}}),_vm._v(\" \"),_c('label',{attrs:{\"for\":\"files-sharing-personal-settings-accept\"}},[_vm._v(_vm._s(_vm.t('files_sharing', 'Accept shares from other accounts and groups by default')))])]):_vm._e(),_vm._v(\" \"),(_vm.allowCustomDirectory)?_c('p',[_c('SelectShareFolderDialogue')],1):_vm._e()]):_vm._e()\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","/**\n * @copyright 2019 Christoph Wurst <christoph@winzerhof-wurst.at>\n * @copyright 2019 Christoph Wurst <christoph@winzerhof-wurst.at>\n *\n * @author Roeland Jago Douma <roeland@famdouma.nl>\n *\n * @license AGPL-3.0-or-later\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */\n\nimport Vue from 'vue'\nimport { getRequestToken } from '@nextcloud/auth'\n\nimport PersonalSettings from './components/PersonalSettings.vue'\n\n// eslint-disable-next-line camelcase\n__webpack_nonce__ = btoa(getRequestToken())\n\nVue.prototype.t = t\n\nconst View = Vue.extend(PersonalSettings)\nnew View().$mount('#files-sharing-personal-settings')\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `p[data-v-2affcb23]{margin-top:12px;margin-bottom:12px}`, \"\",{\"version\":3,\"sources\":[\"webpack://./apps/files_sharing/src/components/PersonalSettings.vue\"],\"names\":[],\"mappings\":\"AACA,mBACC,eAAA,CACA,kBAAA\",\"sourcesContent\":[\"\\np {\\n\\tmargin-top: 12px;\\n\\tmargin-bottom: 12px;\\n}\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `.share-folder__form[data-v-920d6d5a]{display:flex}.share-folder__picker[data-v-920d6d5a]{cursor:pointer;max-width:300px}.share-folder__reset[data-v-920d6d5a]{background-color:rgba(0,0,0,0);border:none;font-weight:normal;text-decoration:underline;font-size:inherit}`, \"\",{\"version\":3,\"sources\":[\"webpack://./apps/files_sharing/src/components/SelectShareFolderDialogue.vue\"],\"names\":[],\"mappings\":\"AAEC,qCACC,YAAA,CAGD,uCACC,cAAA,CACA,eAAA,CAID,sCACC,8BAAA,CACA,WAAA,CACA,kBAAA,CACA,yBAAA,CACA,iBAAA\",\"sourcesContent\":[\"\\n.share-folder {\\n\\t&__form {\\n\\t\\tdisplay: flex;\\n\\t}\\n\\n\\t&__picker {\\n\\t\\tcursor: pointer;\\n\\t\\tmax-width: 300px;\\n\\t}\\n\\n\\t// Make the reset button looks like text\\n\\t&__reset {\\n\\t\\tbackground-color: transparent;\\n\\t\\tborder: none;\\n\\t\\tfont-weight: normal;\\n\\t\\ttext-decoration: underline;\\n\\t\\tfont-size: inherit;\\n\\t}\\n}\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// The module cache\nvar __webpack_module_cache__ = {};\n\n// The require function\nfunction __webpack_require__(moduleId) {\n\t// Check if module is in cache\n\tvar cachedModule = __webpack_module_cache__[moduleId];\n\tif (cachedModule !== undefined) {\n\t\treturn cachedModule.exports;\n\t}\n\t// Create a new module (and put it into the cache)\n\tvar module = __webpack_module_cache__[moduleId] = {\n\t\tid: moduleId,\n\t\tloaded: false,\n\t\texports: {}\n\t};\n\n\t// Execute the module function\n\t__webpack_modules__[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n\t// Flag the module as loaded\n\tmodule.loaded = true;\n\n\t// Return the exports of the module\n\treturn module.exports;\n}\n\n// expose the modules object (__webpack_modules__)\n__webpack_require__.m = __webpack_modules__;\n\n","// getDefaultExport function for compatibility with non-harmony modules\n__webpack_require__.n = (module) => {\n\tvar getter = module && module.__esModule ?\n\t\t() => (module['default']) :\n\t\t() => (module);\n\t__webpack_require__.d(getter, { a: getter });\n\treturn getter;\n};","// define getter functions for harmony exports\n__webpack_require__.d = (exports, definition) => {\n\tfor(var key in definition) {\n\t\tif(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n\t\t\tObject.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n\t\t}\n\t}\n};","__webpack_require__.f = {};\n// This file contains only the entry chunk.\n// The chunk loading function for additional chunks\n__webpack_require__.e = (chunkId) => {\n\treturn Promise.all(Object.keys(__webpack_require__.f).reduce((promises, key) => {\n\t\t__webpack_require__.f[key](chunkId, promises);\n\t\treturn promises;\n\t}, []));\n};","// This function allow to reference async chunks\n__webpack_require__.u = (chunkId) => {\n\t// return url for filenames based on template\n\treturn \"\" + chunkId + \"-\" + chunkId + \".js?v=\" + {\"1110\":\"a5d6e6f59aa058840a1e\",\"5455\":\"9cd46fa2e0b6ad206e92\"}[chunkId] + \"\";\n};","__webpack_require__.g = (function() {\n\tif (typeof globalThis === 'object') return globalThis;\n\ttry {\n\t\treturn this || new Function('return this')();\n\t} catch (e) {\n\t\tif (typeof window === 'object') return window;\n\t}\n})();","__webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop))","// define __esModule on exports\n__webpack_require__.r = (exports) => {\n\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n\t}\n\tObject.defineProperty(exports, '__esModule', { value: true });\n};","__webpack_require__.nmd = (module) => {\n\tmodule.paths = [];\n\tif (!module.children) module.children = [];\n\treturn module;\n};","__webpack_require__.j = 1376;","var scriptUrl;\nif (__webpack_require__.g.importScripts) scriptUrl = __webpack_require__.g.location + \"\";\nvar document = __webpack_require__.g.document;\nif (!scriptUrl && document) {\n\tif (document.currentScript)\n\t\tscriptUrl = document.currentScript.src;\n\tif (!scriptUrl) {\n\t\tvar scripts = document.getElementsByTagName(\"script\");\n\t\tif(scripts.length) {\n\t\t\tvar i = scripts.length - 1;\n\t\t\twhile (i > -1 && (!scriptUrl || !/^http(s?):/.test(scriptUrl))) scriptUrl = scripts[i--].src;\n\t\t}\n\t}\n}\n// When supporting browsers where an automatic publicPath is not supported you must specify an output.publicPath manually via configuration\n// or pass an empty string (\"\") and set the __webpack_public_path__ variable from your code to use your own logic.\nif (!scriptUrl) throw new Error(\"Automatic publicPath is not supported in this browser\");\nscriptUrl = scriptUrl.replace(/#.*$/, \"\").replace(/\\?.*$/, \"\").replace(/\\/[^\\/]+$/, \"/\");\n__webpack_require__.p = scriptUrl;","__webpack_require__.b = document.baseURI || self.location.href;\n\n// object to store loaded and loading chunks\n// undefined = chunk not loaded, null = chunk preloaded/prefetched\n// [resolve, reject, Promise] = chunk loading, 0 = chunk loaded\nvar installedChunks = {\n\t1376: 0\n};\n\n__webpack_require__.f.j = (chunkId, promises) => {\n\t\t// JSONP chunk loading for javascript\n\t\tvar installedChunkData = __webpack_require__.o(installedChunks, chunkId) ? installedChunks[chunkId] : undefined;\n\t\tif(installedChunkData !== 0) { // 0 means \"already installed\".\n\n\t\t\t// a Promise means \"currently loading\".\n\t\t\tif(installedChunkData) {\n\t\t\t\tpromises.push(installedChunkData[2]);\n\t\t\t} else {\n\t\t\t\tif(true) { // all chunks have JS\n\t\t\t\t\t// setup Promise in chunk cache\n\t\t\t\t\tvar promise = new Promise((resolve, reject) => (installedChunkData = installedChunks[chunkId] = [resolve, reject]));\n\t\t\t\t\tpromises.push(installedChunkData[2] = promise);\n\n\t\t\t\t\t// start chunk loading\n\t\t\t\t\tvar url = __webpack_require__.p + __webpack_require__.u(chunkId);\n\t\t\t\t\t// create error before stack unwound to get useful stacktrace later\n\t\t\t\t\tvar error = new Error();\n\t\t\t\t\tvar loadingEnded = (event) => {\n\t\t\t\t\t\tif(__webpack_require__.o(installedChunks, chunkId)) {\n\t\t\t\t\t\t\tinstalledChunkData = installedChunks[chunkId];\n\t\t\t\t\t\t\tif(installedChunkData !== 0) installedChunks[chunkId] = undefined;\n\t\t\t\t\t\t\tif(installedChunkData) {\n\t\t\t\t\t\t\t\tvar errorType = event && (event.type === 'load' ? 'missing' : event.type);\n\t\t\t\t\t\t\t\tvar realSrc = event && event.target && event.target.src;\n\t\t\t\t\t\t\t\terror.message = 'Loading chunk ' + chunkId + ' failed.\\n(' + errorType + ': ' + realSrc + ')';\n\t\t\t\t\t\t\t\terror.name = 'ChunkLoadError';\n\t\t\t\t\t\t\t\terror.type = errorType;\n\t\t\t\t\t\t\t\terror.request = realSrc;\n\t\t\t\t\t\t\t\tinstalledChunkData[1](error);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t};\n\t\t\t\t\t__webpack_require__.l(url, loadingEnded, \"chunk-\" + chunkId, chunkId);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n};\n\n// no prefetching\n\n// no preloaded\n\n// no HMR\n\n// no HMR manifest\n\n__webpack_require__.O.j = (chunkId) => (installedChunks[chunkId] === 0);\n\n// install a JSONP callback for chunk loading\nvar webpackJsonpCallback = (parentChunkLoadingFunction, data) => {\n\tvar chunkIds = data[0];\n\tvar moreModules = data[1];\n\tvar runtime = data[2];\n\t// add \"moreModules\" to the modules object,\n\t// then flag all \"chunkIds\" as loaded and fire callback\n\tvar moduleId, chunkId, i = 0;\n\tif(chunkIds.some((id) => (installedChunks[id] !== 0))) {\n\t\tfor(moduleId in moreModules) {\n\t\t\tif(__webpack_require__.o(moreModules, moduleId)) {\n\t\t\t\t__webpack_require__.m[moduleId] = moreModules[moduleId];\n\t\t\t}\n\t\t}\n\t\tif(runtime) var result = runtime(__webpack_require__);\n\t}\n\tif(parentChunkLoadingFunction) parentChunkLoadingFunction(data);\n\tfor(;i < chunkIds.length; i++) {\n\t\tchunkId = chunkIds[i];\n\t\tif(__webpack_require__.o(installedChunks, chunkId) && installedChunks[chunkId]) {\n\t\t\tinstalledChunks[chunkId][0]();\n\t\t}\n\t\tinstalledChunks[chunkId] = 0;\n\t}\n\treturn __webpack_require__.O(result);\n}\n\nvar chunkLoadingGlobal = self[\"webpackChunknextcloud\"] = self[\"webpackChunknextcloud\"] || [];\nchunkLoadingGlobal.forEach(webpackJsonpCallback.bind(null, 0));\nchunkLoadingGlobal.push = webpackJsonpCallback.bind(null, chunkLoadingGlobal.push.bind(chunkLoadingGlobal));","__webpack_require__.nc = undefined;","// startup\n// Load entry module and return exports\n// This entry module depends on other loaded chunks and execution need to be delayed\nvar __webpack_exports__ = __webpack_require__.O(undefined, [4208], () => (__webpack_require__(1036)))\n__webpack_exports__ = __webpack_require__.O(__webpack_exports__);\n"],"names":["deferred","inProgress","dataWebpackPrefix","defaultDirectory","loadState","directory","name","components","NcTextField","data","computed","readableDirectory","methods","pickFolder","picker","getFilePickerBuilder","t","startAt","setMultiSelect","setType","setMimeTypeFilter","allowDirectories","build","dir","pick","startsWith","Error","path","axios","put","generateUrl","shareFolder","error","showError","message","resetFolder","delete","options","styleTagTransform","setAttributes","insert","domAPI","insertStyleElement","locals","_vm","this","_c","_self","staticClass","on","$event","preventDefault","stopPropagation","apply","arguments","attrs","_v","domProps","_e","SelectShareFolderDialogue","accepting","enforceAcceptShares","allowCustomDirectory","toggleEnabled","accept","console","_s","directives","rawName","value","expression","Array","isArray","_i","$$a","$$el","target","$$c","checked","$$i","concat","slice","__webpack_nonce__","btoa","getRequestToken","Vue","prototype","extend","PersonalSettings","$mount","___CSS_LOADER_EXPORT___","push","module","id","__webpack_module_cache__","__webpack_require__","moduleId","cachedModule","undefined","exports","loaded","__webpack_modules__","call","m","O","result","chunkIds","fn","priority","notFulfilled","Infinity","i","length","fulfilled","j","Object","keys","every","key","splice","r","n","getter","__esModule","d","a","definition","o","defineProperty","enumerable","get","f","e","chunkId","Promise","all","reduce","promises","u","g","globalThis","Function","window","obj","prop","hasOwnProperty","l","url","done","script","needAttach","scripts","document","getElementsByTagName","s","getAttribute","createElement","charset","timeout","nc","setAttribute","src","onScriptComplete","prev","event","onerror","onload","clearTimeout","doneFns","parentNode","removeChild","forEach","setTimeout","bind","type","head","appendChild","Symbol","toStringTag","nmd","paths","children","scriptUrl","importScripts","location","currentScript","test","replace","p","b","baseURI","self","href","installedChunks","installedChunkData","promise","resolve","reject","errorType","realSrc","request","webpackJsonpCallback","parentChunkLoadingFunction","moreModules","runtime","some","chunkLoadingGlobal","__webpack_exports__"],"sourceRoot":""}
\ No newline at end of file
+{"version":3,"file":"files_sharing-personal-settings.js?v=28619904c598c421313e","mappings":"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","sources":["webpack:///nextcloud/webpack/runtime/chunk loaded","webpack:///nextcloud/webpack/runtime/load script","webpack:///nextcloud/apps/files_sharing/src/components/SelectShareFolderDialogue.vue","webpack:///nextcloud/apps/files_sharing/src/components/SelectShareFolderDialogue.vue?vue&type=script&lang=js","webpack://nextcloud/./apps/files_sharing/src/components/SelectShareFolderDialogue.vue?f4c9","webpack://nextcloud/./apps/files_sharing/src/components/SelectShareFolderDialogue.vue?c5e4","webpack://nextcloud/./apps/files_sharing/src/components/SelectShareFolderDialogue.vue?ef68","webpack:///nextcloud/apps/files_sharing/src/components/PersonalSettings.vue","webpack:///nextcloud/apps/files_sharing/src/components/PersonalSettings.vue?vue&type=script&lang=js","webpack://nextcloud/./apps/files_sharing/src/components/PersonalSettings.vue?e56a","webpack://nextcloud/./apps/files_sharing/src/components/PersonalSettings.vue?4796","webpack://nextcloud/./apps/files_sharing/src/components/PersonalSettings.vue?a235","webpack:///nextcloud/apps/files_sharing/src/personal-settings.js","webpack:///nextcloud/apps/files_sharing/src/components/PersonalSettings.vue?vue&type=style&index=0&id=c1026fac&prod&scoped=true&lang=scss","webpack:///nextcloud/apps/files_sharing/src/components/SelectShareFolderDialogue.vue?vue&type=style&index=0&id=127ebb06&prod&scoped=true&lang=scss","webpack:///nextcloud/webpack/bootstrap","webpack:///nextcloud/webpack/runtime/compat get default export","webpack:///nextcloud/webpack/runtime/define property getters","webpack:///nextcloud/webpack/runtime/ensure chunk","webpack:///nextcloud/webpack/runtime/get javascript chunk filename","webpack:///nextcloud/webpack/runtime/global","webpack:///nextcloud/webpack/runtime/hasOwnProperty shorthand","webpack:///nextcloud/webpack/runtime/make namespace object","webpack:///nextcloud/webpack/runtime/node module decorator","webpack:///nextcloud/webpack/runtime/runtimeId","webpack:///nextcloud/webpack/runtime/publicPath","webpack:///nextcloud/webpack/runtime/jsonp chunk loading","webpack:///nextcloud/webpack/runtime/nonce","webpack:///nextcloud/webpack/startup"],"sourcesContent":["var deferred = [];\n__webpack_require__.O = (result, chunkIds, fn, priority) => {\n\tif(chunkIds) {\n\t\tpriority = priority || 0;\n\t\tfor(var i = deferred.length; i > 0 && deferred[i - 1][2] > priority; i--) deferred[i] = deferred[i - 1];\n\t\tdeferred[i] = [chunkIds, fn, priority];\n\t\treturn;\n\t}\n\tvar notFulfilled = Infinity;\n\tfor (var i = 0; i < deferred.length; i++) {\n\t\tvar chunkIds = deferred[i][0];\n\t\tvar fn = deferred[i][1];\n\t\tvar priority = deferred[i][2];\n\t\tvar fulfilled = true;\n\t\tfor (var j = 0; j < chunkIds.length; j++) {\n\t\t\tif ((priority & 1 === 0 || notFulfilled >= priority) && Object.keys(__webpack_require__.O).every((key) => (__webpack_require__.O[key](chunkIds[j])))) {\n\t\t\t\tchunkIds.splice(j--, 1);\n\t\t\t} else {\n\t\t\t\tfulfilled = false;\n\t\t\t\tif(priority < notFulfilled) notFulfilled = priority;\n\t\t\t}\n\t\t}\n\t\tif(fulfilled) {\n\t\t\tdeferred.splice(i--, 1)\n\t\t\tvar r = fn();\n\t\t\tif (r !== undefined) result = r;\n\t\t}\n\t}\n\treturn result;\n};","var inProgress = {};\nvar dataWebpackPrefix = \"nextcloud:\";\n// loadScript function to load a script via script tag\n__webpack_require__.l = (url, done, key, chunkId) => {\n\tif(inProgress[url]) { inProgress[url].push(done); return; }\n\tvar script, needAttach;\n\tif(key !== undefined) {\n\t\tvar scripts = document.getElementsByTagName(\"script\");\n\t\tfor(var i = 0; i < scripts.length; i++) {\n\t\t\tvar s = scripts[i];\n\t\t\tif(s.getAttribute(\"src\") == url || s.getAttribute(\"data-webpack\") == dataWebpackPrefix + key) { script = s; break; }\n\t\t}\n\t}\n\tif(!script) {\n\t\tneedAttach = true;\n\t\tscript = document.createElement('script');\n\n\t\tscript.charset = 'utf-8';\n\t\tscript.timeout = 120;\n\t\tif (__webpack_require__.nc) {\n\t\t\tscript.setAttribute(\"nonce\", __webpack_require__.nc);\n\t\t}\n\t\tscript.setAttribute(\"data-webpack\", dataWebpackPrefix + key);\n\n\t\tscript.src = url;\n\t}\n\tinProgress[url] = [done];\n\tvar onScriptComplete = (prev, event) => {\n\t\t// avoid mem leaks in IE.\n\t\tscript.onerror = script.onload = null;\n\t\tclearTimeout(timeout);\n\t\tvar doneFns = inProgress[url];\n\t\tdelete inProgress[url];\n\t\tscript.parentNode && script.parentNode.removeChild(script);\n\t\tdoneFns && doneFns.forEach((fn) => (fn(event)));\n\t\tif(prev) return prev(event);\n\t}\n\tvar timeout = setTimeout(onScriptComplete.bind(null, undefined, { type: 'timeout', target: script }), 120000);\n\tscript.onerror = onScriptComplete.bind(null, script.onerror);\n\tscript.onload = onScriptComplete.bind(null, script.onload);\n\tneedAttach && document.head.appendChild(script);\n};","<!--\n  - SPDX-FileCopyrightText: 2021 Nextcloud GmbH and Nextcloud contributors\n  - SPDX-License-Identifier: AGPL-3.0-or-later\n-->\n\n<template>\n\t<div class=\"share-folder\">\n\t\t<!-- Folder picking form -->\n\t\t<form class=\"share-folder__form\" @reset.prevent.stop=\"resetFolder\">\n\t\t\t<NcTextField class=\"share-folder__picker\"\n\t\t\t\ttype=\"text\"\n\t\t\t\t:label=\"t('files_sharing', 'Set default folder for accepted shares')\"\n\t\t\t\t:value=\"readableDirectory\"\n\t\t\t\t@click.prevent=\"pickFolder\" />\n\n\t\t\t<!-- Show reset button if folder is different -->\n\t\t\t<input v-if=\"readableDirectory !== defaultDirectory\"\n\t\t\t\tclass=\"share-folder__reset\"\n\t\t\t\ttype=\"reset\"\n\t\t\t\t:value=\"t('files_sharing', 'Reset')\"\n\t\t\t\t:aria-label=\"t('files_sharing', 'Reset folder to system default')\">\n\t\t</form>\n\t</div>\n</template>\n\n<script>\nimport axios from '@nextcloud/axios'\nimport path from 'path'\nimport { generateUrl } from '@nextcloud/router'\nimport { getFilePickerBuilder, showError } from '@nextcloud/dialogs'\nimport { loadState } from '@nextcloud/initial-state'\nimport NcTextField from '@nextcloud/vue/dist/Components/NcTextField.js'\n\nconst defaultDirectory = loadState('files_sharing', 'default_share_folder', '/')\nconst directory = loadState('files_sharing', 'share_folder', defaultDirectory)\n\nexport default {\n\tname: 'SelectShareFolderDialogue',\n\tcomponents: {\n\t\tNcTextField,\n\t},\n\tdata() {\n\t\treturn {\n\t\t\tdirectory,\n\t\t\tdefaultDirectory,\n\t\t}\n\t},\n\tcomputed: {\n\t\treadableDirectory() {\n\t\t\tif (!this.directory) {\n\t\t\t\treturn '/'\n\t\t\t}\n\t\t\treturn this.directory\n\t\t},\n\t},\n\tmethods: {\n\t\tasync pickFolder() {\n\n\t\t\t// Setup file picker\n\t\t\tconst picker = getFilePickerBuilder(t('files', 'Choose a default folder for accepted shares'))\n\t\t\t\t.startAt(this.readableDirectory)\n\t\t\t\t.setMultiSelect(false)\n\t\t\t\t.setType(1)\n\t\t\t\t.setMimeTypeFilter(['httpd/unix-directory'])\n\t\t\t\t.allowDirectories()\n\t\t\t\t.build()\n\n\t\t\ttry {\n\t\t\t\t// Init user folder picking\n\t\t\t\tconst dir = await picker.pick() || '/'\n\t\t\t\tif (!dir.startsWith('/')) {\n\t\t\t\t\tthrow new Error(t('files', 'Invalid path selected'))\n\t\t\t\t}\n\n\t\t\t\t// Fix potential path issues and save results\n\t\t\t\tthis.directory = path.normalize(dir)\n\t\t\t\tawait axios.put(generateUrl('/apps/files_sharing/settings/shareFolder'), {\n\t\t\t\t\tshareFolder: this.directory,\n\t\t\t\t})\n\t\t\t} catch (error) {\n\t\t\t\tshowError(error.message || t('files', 'Unknown error'))\n\t\t\t}\n\t\t},\n\n\t\tresetFolder() {\n\t\t\tthis.directory = this.defaultDirectory\n\t\t\taxios.delete(generateUrl('/apps/files_sharing/settings/shareFolder'))\n\t\t},\n\t},\n}\n</script>\n\n<style scoped lang=\"scss\">\n.share-folder {\n\t&__form {\n\t\tdisplay: flex;\n\t}\n\n\t&__picker {\n\t\tcursor: pointer;\n\t\tmax-width: 300px;\n\t}\n\n\t// Make the reset button looks like text\n\t&__reset {\n\t\tbackground-color: transparent;\n\t\tborder: none;\n\t\tfont-weight: normal;\n\t\ttext-decoration: underline;\n\t\tfont-size: inherit;\n\t}\n}\n</style>\n","import mod from \"-!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SelectShareFolderDialogue.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SelectShareFolderDialogue.vue?vue&type=script&lang=js\"","\n      import API from \"!../../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n      import domAPI from \"!../../../../node_modules/style-loader/dist/runtime/styleDomAPI.js\";\n      import insertFn from \"!../../../../node_modules/style-loader/dist/runtime/insertBySelector.js\";\n      import setAttributes from \"!../../../../node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js\";\n      import insertStyleElement from \"!../../../../node_modules/style-loader/dist/runtime/insertStyleElement.js\";\n      import styleTagTransformFn from \"!../../../../node_modules/style-loader/dist/runtime/styleTagTransform.js\";\n      import content, * as namedExport from \"!!../../../../node_modules/css-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/sass-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SelectShareFolderDialogue.vue?vue&type=style&index=0&id=127ebb06&prod&scoped=true&lang=scss\";\n      \n      \n\nvar options = {};\n\noptions.styleTagTransform = styleTagTransformFn;\noptions.setAttributes = setAttributes;\n\n      options.insert = insertFn.bind(null, \"head\");\n    \noptions.domAPI = domAPI;\noptions.insertStyleElement = insertStyleElement;\n\nvar update = API(content, options);\n\n\n\nexport * from \"!!../../../../node_modules/css-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/sass-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SelectShareFolderDialogue.vue?vue&type=style&index=0&id=127ebb06&prod&scoped=true&lang=scss\";\n       export default content && content.locals ? content.locals : undefined;\n","import { render, staticRenderFns } from \"./SelectShareFolderDialogue.vue?vue&type=template&id=127ebb06&scoped=true\"\nimport script from \"./SelectShareFolderDialogue.vue?vue&type=script&lang=js\"\nexport * from \"./SelectShareFolderDialogue.vue?vue&type=script&lang=js\"\nimport style0 from \"./SelectShareFolderDialogue.vue?vue&type=style&index=0&id=127ebb06&prod&scoped=true&lang=scss\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n  script,\n  render,\n  staticRenderFns,\n  false,\n  null,\n  \"127ebb06\",\n  null\n  \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',{staticClass:\"share-folder\"},[_c('form',{staticClass:\"share-folder__form\",on:{\"reset\":function($event){$event.preventDefault();$event.stopPropagation();return _vm.resetFolder.apply(null, arguments)}}},[_c('NcTextField',{staticClass:\"share-folder__picker\",attrs:{\"type\":\"text\",\"label\":_vm.t('files_sharing', 'Set default folder for accepted shares'),\"value\":_vm.readableDirectory},on:{\"click\":function($event){$event.preventDefault();return _vm.pickFolder.apply(null, arguments)}}}),_vm._v(\" \"),(_vm.readableDirectory !== _vm.defaultDirectory)?_c('input',{staticClass:\"share-folder__reset\",attrs:{\"type\":\"reset\",\"aria-label\":_vm.t('files_sharing', 'Reset folder to system default')},domProps:{\"value\":_vm.t('files_sharing', 'Reset')}}):_vm._e()],1)])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<!--\n  - SPDX-FileCopyrightText: 2019 Nextcloud GmbH and Nextcloud contributors\n  - SPDX-License-Identifier: AGPL-3.0-or-later\n-->\n\n<template>\n\t<div v-if=\"!enforceAcceptShares || allowCustomDirectory\" id=\"files-sharing-personal-settings\" class=\"section\">\n\t\t<h2>{{ t('files_sharing', 'Sharing') }}</h2>\n\t\t<p v-if=\"!enforceAcceptShares\">\n\t\t\t<input id=\"files-sharing-personal-settings-accept\"\n\t\t\t\tv-model=\"accepting\"\n\t\t\t\tclass=\"checkbox\"\n\t\t\t\ttype=\"checkbox\"\n\t\t\t\t@change=\"toggleEnabled\">\n\t\t\t<label for=\"files-sharing-personal-settings-accept\">{{ t('files_sharing', 'Accept shares from other accounts and groups by default') }}</label>\n\t\t</p>\n\t\t<p v-if=\"allowCustomDirectory\">\n\t\t\t<SelectShareFolderDialogue />\n\t\t</p>\n\t</div>\n</template>\n\n<script>\nimport { generateUrl } from '@nextcloud/router'\nimport { loadState } from '@nextcloud/initial-state'\nimport { showError } from '@nextcloud/dialogs'\nimport axios from '@nextcloud/axios'\n\nimport SelectShareFolderDialogue from './SelectShareFolderDialogue.vue'\n\nexport default {\n\tname: 'PersonalSettings',\n\tcomponents: {\n\t\tSelectShareFolderDialogue,\n\t},\n\n\tdata() {\n\t\treturn {\n\t\t\t// Share acceptance config\n\t\t\taccepting: loadState('files_sharing', 'accept_default'),\n\t\t\tenforceAcceptShares: loadState('files_sharing', 'enforce_accept'),\n\n\t\t\t// Receiving share folder config\n\t\t\tallowCustomDirectory: loadState('files_sharing', 'allow_custom_share_folder'),\n\t\t}\n\t},\n\n\tmethods: {\n\t\tasync toggleEnabled() {\n\t\t\ttry {\n\t\t\t\tawait axios.put(generateUrl('/apps/files_sharing/settings/defaultAccept'), {\n\t\t\t\t\taccept: this.accepting,\n\t\t\t\t})\n\t\t\t} catch (error) {\n\t\t\t\tshowError(t('files_sharing', 'Error while toggling options'))\n\t\t\t\tconsole.error(error)\n\t\t\t}\n\t\t},\n\t},\n}\n</script>\n\n<style scoped lang=\"scss\">\np {\n\tmargin-top: 12px;\n\tmargin-bottom: 12px;\n}\n</style>\n","import mod from \"-!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./PersonalSettings.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./PersonalSettings.vue?vue&type=script&lang=js\"","\n      import API from \"!../../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n      import domAPI from \"!../../../../node_modules/style-loader/dist/runtime/styleDomAPI.js\";\n      import insertFn from \"!../../../../node_modules/style-loader/dist/runtime/insertBySelector.js\";\n      import setAttributes from \"!../../../../node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js\";\n      import insertStyleElement from \"!../../../../node_modules/style-loader/dist/runtime/insertStyleElement.js\";\n      import styleTagTransformFn from \"!../../../../node_modules/style-loader/dist/runtime/styleTagTransform.js\";\n      import content, * as namedExport from \"!!../../../../node_modules/css-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/sass-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./PersonalSettings.vue?vue&type=style&index=0&id=c1026fac&prod&scoped=true&lang=scss\";\n      \n      \n\nvar options = {};\n\noptions.styleTagTransform = styleTagTransformFn;\noptions.setAttributes = setAttributes;\n\n      options.insert = insertFn.bind(null, \"head\");\n    \noptions.domAPI = domAPI;\noptions.insertStyleElement = insertStyleElement;\n\nvar update = API(content, options);\n\n\n\nexport * from \"!!../../../../node_modules/css-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/sass-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./PersonalSettings.vue?vue&type=style&index=0&id=c1026fac&prod&scoped=true&lang=scss\";\n       export default content && content.locals ? content.locals : undefined;\n","import { render, staticRenderFns } from \"./PersonalSettings.vue?vue&type=template&id=c1026fac&scoped=true\"\nimport script from \"./PersonalSettings.vue?vue&type=script&lang=js\"\nexport * from \"./PersonalSettings.vue?vue&type=script&lang=js\"\nimport style0 from \"./PersonalSettings.vue?vue&type=style&index=0&id=c1026fac&prod&scoped=true&lang=scss\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n  script,\n  render,\n  staticRenderFns,\n  false,\n  null,\n  \"c1026fac\",\n  null\n  \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return (!_vm.enforceAcceptShares || _vm.allowCustomDirectory)?_c('div',{staticClass:\"section\",attrs:{\"id\":\"files-sharing-personal-settings\"}},[_c('h2',[_vm._v(_vm._s(_vm.t('files_sharing', 'Sharing')))]),_vm._v(\" \"),(!_vm.enforceAcceptShares)?_c('p',[_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.accepting),expression:\"accepting\"}],staticClass:\"checkbox\",attrs:{\"id\":\"files-sharing-personal-settings-accept\",\"type\":\"checkbox\"},domProps:{\"checked\":Array.isArray(_vm.accepting)?_vm._i(_vm.accepting,null)>-1:(_vm.accepting)},on:{\"change\":[function($event){var $$a=_vm.accepting,$$el=$event.target,$$c=$$el.checked?(true):(false);if(Array.isArray($$a)){var $$v=null,$$i=_vm._i($$a,$$v);if($$el.checked){$$i<0&&(_vm.accepting=$$a.concat([$$v]))}else{$$i>-1&&(_vm.accepting=$$a.slice(0,$$i).concat($$a.slice($$i+1)))}}else{_vm.accepting=$$c}},_vm.toggleEnabled]}}),_vm._v(\" \"),_c('label',{attrs:{\"for\":\"files-sharing-personal-settings-accept\"}},[_vm._v(_vm._s(_vm.t('files_sharing', 'Accept shares from other accounts and groups by default')))])]):_vm._e(),_vm._v(\" \"),(_vm.allowCustomDirectory)?_c('p',[_c('SelectShareFolderDialogue')],1):_vm._e()]):_vm._e()\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","/**\n * SPDX-FileCopyrightText: 2019 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\n\nimport Vue from 'vue'\nimport { getRequestToken } from '@nextcloud/auth'\n\nimport PersonalSettings from './components/PersonalSettings.vue'\n\n// eslint-disable-next-line camelcase\n__webpack_nonce__ = btoa(getRequestToken())\n\nVue.prototype.t = t\n\nconst View = Vue.extend(PersonalSettings)\nnew View().$mount('#files-sharing-personal-settings')\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `p[data-v-c1026fac]{margin-top:12px;margin-bottom:12px}`, \"\",{\"version\":3,\"sources\":[\"webpack://./apps/files_sharing/src/components/PersonalSettings.vue\"],\"names\":[],\"mappings\":\"AACA,mBACC,eAAA,CACA,kBAAA\",\"sourcesContent\":[\"\\np {\\n\\tmargin-top: 12px;\\n\\tmargin-bottom: 12px;\\n}\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `.share-folder__form[data-v-127ebb06]{display:flex}.share-folder__picker[data-v-127ebb06]{cursor:pointer;max-width:300px}.share-folder__reset[data-v-127ebb06]{background-color:rgba(0,0,0,0);border:none;font-weight:normal;text-decoration:underline;font-size:inherit}`, \"\",{\"version\":3,\"sources\":[\"webpack://./apps/files_sharing/src/components/SelectShareFolderDialogue.vue\"],\"names\":[],\"mappings\":\"AAEC,qCACC,YAAA,CAGD,uCACC,cAAA,CACA,eAAA,CAID,sCACC,8BAAA,CACA,WAAA,CACA,kBAAA,CACA,yBAAA,CACA,iBAAA\",\"sourcesContent\":[\"\\n.share-folder {\\n\\t&__form {\\n\\t\\tdisplay: flex;\\n\\t}\\n\\n\\t&__picker {\\n\\t\\tcursor: pointer;\\n\\t\\tmax-width: 300px;\\n\\t}\\n\\n\\t// Make the reset button looks like text\\n\\t&__reset {\\n\\t\\tbackground-color: transparent;\\n\\t\\tborder: none;\\n\\t\\tfont-weight: normal;\\n\\t\\ttext-decoration: underline;\\n\\t\\tfont-size: inherit;\\n\\t}\\n}\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// The module cache\nvar __webpack_module_cache__ = {};\n\n// The require function\nfunction __webpack_require__(moduleId) {\n\t// Check if module is in cache\n\tvar cachedModule = __webpack_module_cache__[moduleId];\n\tif (cachedModule !== undefined) {\n\t\treturn cachedModule.exports;\n\t}\n\t// Create a new module (and put it into the cache)\n\tvar module = __webpack_module_cache__[moduleId] = {\n\t\tid: moduleId,\n\t\tloaded: false,\n\t\texports: {}\n\t};\n\n\t// Execute the module function\n\t__webpack_modules__[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n\t// Flag the module as loaded\n\tmodule.loaded = true;\n\n\t// Return the exports of the module\n\treturn module.exports;\n}\n\n// expose the modules object (__webpack_modules__)\n__webpack_require__.m = __webpack_modules__;\n\n","// getDefaultExport function for compatibility with non-harmony modules\n__webpack_require__.n = (module) => {\n\tvar getter = module && module.__esModule ?\n\t\t() => (module['default']) :\n\t\t() => (module);\n\t__webpack_require__.d(getter, { a: getter });\n\treturn getter;\n};","// define getter functions for harmony exports\n__webpack_require__.d = (exports, definition) => {\n\tfor(var key in definition) {\n\t\tif(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n\t\t\tObject.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n\t\t}\n\t}\n};","__webpack_require__.f = {};\n// This file contains only the entry chunk.\n// The chunk loading function for additional chunks\n__webpack_require__.e = (chunkId) => {\n\treturn Promise.all(Object.keys(__webpack_require__.f).reduce((promises, key) => {\n\t\t__webpack_require__.f[key](chunkId, promises);\n\t\treturn promises;\n\t}, []));\n};","// This function allow to reference async chunks\n__webpack_require__.u = (chunkId) => {\n\t// return url for filenames based on template\n\treturn \"\" + chunkId + \"-\" + chunkId + \".js?v=\" + {\"1110\":\"a5d6e6f59aa058840a1e\",\"5455\":\"9cd46fa2e0b6ad206e92\"}[chunkId] + \"\";\n};","__webpack_require__.g = (function() {\n\tif (typeof globalThis === 'object') return globalThis;\n\ttry {\n\t\treturn this || new Function('return this')();\n\t} catch (e) {\n\t\tif (typeof window === 'object') return window;\n\t}\n})();","__webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop))","// define __esModule on exports\n__webpack_require__.r = (exports) => {\n\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n\t}\n\tObject.defineProperty(exports, '__esModule', { value: true });\n};","__webpack_require__.nmd = (module) => {\n\tmodule.paths = [];\n\tif (!module.children) module.children = [];\n\treturn module;\n};","__webpack_require__.j = 1376;","var scriptUrl;\nif (__webpack_require__.g.importScripts) scriptUrl = __webpack_require__.g.location + \"\";\nvar document = __webpack_require__.g.document;\nif (!scriptUrl && document) {\n\tif (document.currentScript)\n\t\tscriptUrl = document.currentScript.src;\n\tif (!scriptUrl) {\n\t\tvar scripts = document.getElementsByTagName(\"script\");\n\t\tif(scripts.length) {\n\t\t\tvar i = scripts.length - 1;\n\t\t\twhile (i > -1 && (!scriptUrl || !/^http(s?):/.test(scriptUrl))) scriptUrl = scripts[i--].src;\n\t\t}\n\t}\n}\n// When supporting browsers where an automatic publicPath is not supported you must specify an output.publicPath manually via configuration\n// or pass an empty string (\"\") and set the __webpack_public_path__ variable from your code to use your own logic.\nif (!scriptUrl) throw new Error(\"Automatic publicPath is not supported in this browser\");\nscriptUrl = scriptUrl.replace(/#.*$/, \"\").replace(/\\?.*$/, \"\").replace(/\\/[^\\/]+$/, \"/\");\n__webpack_require__.p = scriptUrl;","__webpack_require__.b = document.baseURI || self.location.href;\n\n// object to store loaded and loading chunks\n// undefined = chunk not loaded, null = chunk preloaded/prefetched\n// [resolve, reject, Promise] = chunk loading, 0 = chunk loaded\nvar installedChunks = {\n\t1376: 0\n};\n\n__webpack_require__.f.j = (chunkId, promises) => {\n\t\t// JSONP chunk loading for javascript\n\t\tvar installedChunkData = __webpack_require__.o(installedChunks, chunkId) ? installedChunks[chunkId] : undefined;\n\t\tif(installedChunkData !== 0) { // 0 means \"already installed\".\n\n\t\t\t// a Promise means \"currently loading\".\n\t\t\tif(installedChunkData) {\n\t\t\t\tpromises.push(installedChunkData[2]);\n\t\t\t} else {\n\t\t\t\tif(true) { // all chunks have JS\n\t\t\t\t\t// setup Promise in chunk cache\n\t\t\t\t\tvar promise = new Promise((resolve, reject) => (installedChunkData = installedChunks[chunkId] = [resolve, reject]));\n\t\t\t\t\tpromises.push(installedChunkData[2] = promise);\n\n\t\t\t\t\t// start chunk loading\n\t\t\t\t\tvar url = __webpack_require__.p + __webpack_require__.u(chunkId);\n\t\t\t\t\t// create error before stack unwound to get useful stacktrace later\n\t\t\t\t\tvar error = new Error();\n\t\t\t\t\tvar loadingEnded = (event) => {\n\t\t\t\t\t\tif(__webpack_require__.o(installedChunks, chunkId)) {\n\t\t\t\t\t\t\tinstalledChunkData = installedChunks[chunkId];\n\t\t\t\t\t\t\tif(installedChunkData !== 0) installedChunks[chunkId] = undefined;\n\t\t\t\t\t\t\tif(installedChunkData) {\n\t\t\t\t\t\t\t\tvar errorType = event && (event.type === 'load' ? 'missing' : event.type);\n\t\t\t\t\t\t\t\tvar realSrc = event && event.target && event.target.src;\n\t\t\t\t\t\t\t\terror.message = 'Loading chunk ' + chunkId + ' failed.\\n(' + errorType + ': ' + realSrc + ')';\n\t\t\t\t\t\t\t\terror.name = 'ChunkLoadError';\n\t\t\t\t\t\t\t\terror.type = errorType;\n\t\t\t\t\t\t\t\terror.request = realSrc;\n\t\t\t\t\t\t\t\tinstalledChunkData[1](error);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t};\n\t\t\t\t\t__webpack_require__.l(url, loadingEnded, \"chunk-\" + chunkId, chunkId);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n};\n\n// no prefetching\n\n// no preloaded\n\n// no HMR\n\n// no HMR manifest\n\n__webpack_require__.O.j = (chunkId) => (installedChunks[chunkId] === 0);\n\n// install a JSONP callback for chunk loading\nvar webpackJsonpCallback = (parentChunkLoadingFunction, data) => {\n\tvar chunkIds = data[0];\n\tvar moreModules = data[1];\n\tvar runtime = data[2];\n\t// add \"moreModules\" to the modules object,\n\t// then flag all \"chunkIds\" as loaded and fire callback\n\tvar moduleId, chunkId, i = 0;\n\tif(chunkIds.some((id) => (installedChunks[id] !== 0))) {\n\t\tfor(moduleId in moreModules) {\n\t\t\tif(__webpack_require__.o(moreModules, moduleId)) {\n\t\t\t\t__webpack_require__.m[moduleId] = moreModules[moduleId];\n\t\t\t}\n\t\t}\n\t\tif(runtime) var result = runtime(__webpack_require__);\n\t}\n\tif(parentChunkLoadingFunction) parentChunkLoadingFunction(data);\n\tfor(;i < chunkIds.length; i++) {\n\t\tchunkId = chunkIds[i];\n\t\tif(__webpack_require__.o(installedChunks, chunkId) && installedChunks[chunkId]) {\n\t\t\tinstalledChunks[chunkId][0]();\n\t\t}\n\t\tinstalledChunks[chunkId] = 0;\n\t}\n\treturn __webpack_require__.O(result);\n}\n\nvar chunkLoadingGlobal = self[\"webpackChunknextcloud\"] = self[\"webpackChunknextcloud\"] || [];\nchunkLoadingGlobal.forEach(webpackJsonpCallback.bind(null, 0));\nchunkLoadingGlobal.push = webpackJsonpCallback.bind(null, chunkLoadingGlobal.push.bind(chunkLoadingGlobal));","__webpack_require__.nc = undefined;","// startup\n// Load entry module and return exports\n// This entry module depends on other loaded chunks and execution need to be delayed\nvar __webpack_exports__ = __webpack_require__.O(undefined, [4208], () => (__webpack_require__(57529)))\n__webpack_exports__ = __webpack_require__.O(__webpack_exports__);\n"],"names":["deferred","inProgress","dataWebpackPrefix","defaultDirectory","loadState","directory","name","components","NcTextField","data","computed","readableDirectory","methods","pickFolder","picker","getFilePickerBuilder","t","startAt","setMultiSelect","setType","setMimeTypeFilter","allowDirectories","build","dir","pick","startsWith","Error","path","axios","put","generateUrl","shareFolder","error","showError","message","resetFolder","delete","options","styleTagTransform","setAttributes","insert","domAPI","insertStyleElement","locals","_vm","this","_c","_self","staticClass","on","$event","preventDefault","stopPropagation","apply","arguments","attrs","_v","domProps","_e","SelectShareFolderDialogue","accepting","enforceAcceptShares","allowCustomDirectory","toggleEnabled","accept","console","_s","directives","rawName","value","expression","Array","isArray","_i","$$a","$$el","target","$$c","checked","$$i","concat","slice","__webpack_nonce__","btoa","getRequestToken","Vue","prototype","extend","PersonalSettings","$mount","___CSS_LOADER_EXPORT___","push","module","id","__webpack_module_cache__","__webpack_require__","moduleId","cachedModule","undefined","exports","loaded","__webpack_modules__","call","m","O","result","chunkIds","fn","priority","notFulfilled","Infinity","i","length","fulfilled","j","Object","keys","every","key","splice","r","n","getter","__esModule","d","a","definition","o","defineProperty","enumerable","get","f","e","chunkId","Promise","all","reduce","promises","u","g","globalThis","Function","window","obj","prop","hasOwnProperty","l","url","done","script","needAttach","scripts","document","getElementsByTagName","s","getAttribute","createElement","charset","timeout","nc","setAttribute","src","onScriptComplete","prev","event","onerror","onload","clearTimeout","doneFns","parentNode","removeChild","forEach","setTimeout","bind","type","head","appendChild","Symbol","toStringTag","nmd","paths","children","scriptUrl","importScripts","location","currentScript","test","replace","p","b","baseURI","self","href","installedChunks","installedChunkData","promise","resolve","reject","errorType","realSrc","request","webpackJsonpCallback","parentChunkLoadingFunction","moreModules","runtime","some","chunkLoadingGlobal","__webpack_exports__"],"sourceRoot":""}
\ No newline at end of file
index 24d52eb34bdda9801229b57a7f62c19b2a35b180..84482486c00545ee8f81198faafd11cce86a480b 100644 (file)
@@ -83,8 +83,8 @@
   --original-icon-files-white: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIGlkPSJtZGktZm9sZGVyIiB3aWR0aD0iMTYiIGhlaWdodD0iMTYiIHZpZXdCb3g9IjAgMCAyNCAyNCI+PHBhdGggZD0iTTEwLDRINEMyLjg5LDQgMiw0Ljg5IDIsNlYxOEEyLDIgMCAwLDAgNCwyMEgyMEEyLDIgMCAwLDAgMjIsMThWOEMyMiw2Ljg5IDIxLjEsNiAyMCw2SDEyTDEwLDRaIiAgZmlsbD0iI2ZmZmZmZiIvPjwvc3ZnPg==);
   --original-icon-filter-dark: url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTYiIGhlaWdodD0iMTYiIHZpZXdCb3g9IjAgMCAxNiAxNiIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj48cGF0aCBkPSJNMS4xOSAyLjRsNS4wNSA2LjQ4djUuMjRjMCAuNDkuNC44OC44OC44OGgxLjc2Yy40OSAwIC44OC0uNC44OC0uODhWOC44OGw1LjA1LTYuNDdhLjg3Ljg3IDAgMDAtLjctMS40MUgxLjg5YS44Ny44NyAwIDAwLS43IDEuNHoiIGZpbGw9IiMwMDAwMDAiLz48L3N2Zz4K);
   --original-icon-filter-white: url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTYiIGhlaWdodD0iMTYiIHZpZXdCb3g9IjAgMCAxNiAxNiIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj48cGF0aCBkPSJNMS4xOSAyLjRsNS4wNSA2LjQ4djUuMjRjMCAuNDkuNC44OC44OC44OGgxLjc2Yy40OSAwIC44OC0uNC44OC0uODhWOC44OGw1LjA1LTYuNDdhLjg3Ljg3IDAgMDAtLjctMS40MUgxLjg5YS44Ny44NyAwIDAwLS43IDEuNHoiIGZpbGw9IiNmZmZmZmYiLz48L3N2Zz4K);
-  --original-icon-folder-dark: url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTYiIGhlaWdodD0iMTYiIHZlcnNpb249IjEuMSIgdmlld0JveD0iMCAwIDE2IDE2IiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjxwYXRoIGQ9Im0xLjUgMmMtMC4yNSAwLTAuNSAwLjI1LTAuNSAwLjV2MTFjMCAwLjI2IDAuMjQgMC41IDAuNSAwLjVoMTNjMC4yNiAwIDAuNS0wLjI0MSAwLjUtMC41di05YzAtMC4yNS0wLjI1LTAuNS0wLjUtMC41aC02LjVsLTItMnoiIGZpbGw9IiMwMDAwMDAiLz48L3N2Zz4K);
-  --original-icon-folder-white: url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTYiIGhlaWdodD0iMTYiIHZlcnNpb249IjEuMSIgdmlld0JveD0iMCAwIDE2IDE2IiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjxwYXRoIGQ9Im0xLjUgMmMtMC4yNSAwLTAuNSAwLjI1LTAuNSAwLjV2MTFjMCAwLjI2IDAuMjQgMC41IDAuNSAwLjVoMTNjMC4yNiAwIDAuNS0wLjI0MSAwLjUtMC41di05YzAtMC4yNS0wLjI1LTAuNS0wLjUtMC41aC02LjVsLTItMnoiIGZpbGw9IiNmZmZmZmYiLz48L3N2Zz4K);
+  --original-icon-folder-dark: url(data:image/svg+xml;base64,PHN2ZyB2aWV3Qm94PSIwIDAgMTYgMTYiIGhlaWdodD0iMTYiIHdpZHRoPSIxNiIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWw6c3BhY2U9InByZXNlcnZlIiBzdHlsZT0iZmlsbC1ydWxlOmV2ZW5vZGQ7Y2xpcC1ydWxlOmV2ZW5vZGQ7c3Ryb2tlLWxpbmVqb2luOnJvdW5kO3N0cm9rZS1taXRlcmxpbWl0OjIiPjxwYXRoIGQ9Ik00IDIwYy0uNTUgMC0xLjAyMS0uMTk2LTEuNDEyLS41ODdBMS45MjcgMS45MjcgMCAwIDEgMiAxOFY2YzAtLjU1LjE5Ni0xLjAyMS41ODgtMS40MTNBMS45MjYgMS45MjYgMCAwIDEgNCA0aDZsMiAyaDhjLjU1IDAgMS4wMjEuMTk2IDEuNDEzLjU4Ny4zOTEuMzkyLjU4Ny44NjMuNTg3IDEuNDEzdjEwYTEuOTMgMS45MyAwIDAgMS0uNTg3IDEuNDEzQTEuOTMgMS45MyAwIDAgMSAyMCAyMEg0WiIgc3R5bGU9ImZpbGw6IzAwODJjOTtmaWxsLXJ1bGU6bm9uemVybyIgdHJhbnNmb3JtPSJtYXRyaXgoLjcgMCAwIC43IC0uNCAtLjQpIi8+PC9zdmc+);
+  --original-icon-folder-white: url(data:image/svg+xml;base64,PHN2ZyB2aWV3Qm94PSIwIDAgMTYgMTYiIGhlaWdodD0iMTYiIHdpZHRoPSIxNiIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWw6c3BhY2U9InByZXNlcnZlIiBzdHlsZT0iZmlsbC1ydWxlOmV2ZW5vZGQ7Y2xpcC1ydWxlOmV2ZW5vZGQ7c3Ryb2tlLWxpbmVqb2luOnJvdW5kO3N0cm9rZS1taXRlcmxpbWl0OjIiPjxwYXRoIGQ9Ik00IDIwYy0uNTUgMC0xLjAyMS0uMTk2LTEuNDEyLS41ODdBMS45MjcgMS45MjcgMCAwIDEgMiAxOFY2YzAtLjU1LjE5Ni0xLjAyMS41ODgtMS40MTNBMS45MjYgMS45MjYgMCAwIDEgNCA0aDZsMiAyaDhjLjU1IDAgMS4wMjEuMTk2IDEuNDEzLjU4Ny4zOTEuMzkyLjU4Ny44NjMuNTg3IDEuNDEzdjEwYTEuOTMgMS45MyAwIDAgMS0uNTg3IDEuNDEzQTEuOTMgMS45MyAwIDAgMSAyMCAyMEg0WiIgc3R5bGU9ImZpbGw6IzAwODJjOTtmaWxsLXJ1bGU6bm9uemVybyIgdHJhbnNmb3JtPSJtYXRyaXgoLjcgMCAwIC43IC0uNCAtLjQpIi8+PC9zdmc+);
   --original-icon-fullscreen-dark: url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTYiIGhlaWdodD0iMTYiIHZlcnNpb249IjEuMSIgdmlld0JveD0iMCAwIDE2IDE2IiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjxwYXRoIGQ9Im04IDFjLTAuNTU0IDAtMSAwLjQ0Ni0xIDFzMC40NDYgMSAxIDFoNXY1YzAgMC41NTQgMC40NDYgMSAxIDFzMS0wLjQ0NiAxLTF2LTZjMC0wLjU1NC0wLjQ0Ni0xLTEtMWgtNnptLTYgNmMtMC41NTQgMC0xIDAuNDQ2LTEgMXY2YzAgMC41NTQgMC40NDYgMSAxIDFoNmMwLjU1NCAwIDEtMC40NDYgMS0xcy0wLjQ0Ni0xLTEtMWgtNXYtNWMwLTAuNTU0LTAuNDQ2LTEtMS0xeiIgZmlsbD0iIzAwMDAwMCIvPjwvc3ZnPgo=);
   --original-icon-fullscreen-white: url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTYiIGhlaWdodD0iMTYiIHZlcnNpb249IjEuMSIgdmlld0JveD0iMCAwIDE2IDE2IiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjxwYXRoIGQ9Im04IDFjLTAuNTU0IDAtMSAwLjQ0Ni0xIDFzMC40NDYgMSAxIDFoNXY1YzAgMC41NTQgMC40NDYgMSAxIDFzMS0wLjQ0NiAxLTF2LTZjMC0wLjU1NC0wLjQ0Ni0xLTEtMWgtNnptLTYgNmMtMC41NTQgMC0xIDAuNDQ2LTEgMXY2YzAgMC41NTQgMC40NDYgMSAxIDFoNmMwLjU1NCAwIDEtMC40NDYgMS0xcy0wLjQ0Ni0xLTEtMWgtNXYtNWMwLTAuNTU0LTAuNDQ2LTEtMS0xeiIgZmlsbD0iI2ZmZmZmZiIvPjwvc3ZnPgo=);
   --original-icon-group-dark: url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTYiIGhlaWdodD0iMTYiIHZlcnNpb249IjEuMSIgdmlld0JveD0iMCAwIDE2IDE2IiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjxwYXRoIGQ9Im0xMCAxYy0xLjc1IDAtMyAxLjQzLTMgMi44IDAgMS40IDAuMSAyLjQgMC44IDMuNSAwLjIgMC4yOSAwLjUgMC4zNSAwLjcgMC42IDAuMTM1IDAuNSAwLjI0IDEgMC4xIDEuNS0wLjI4IDAuMS0wLjUyNSAwLjIyLTAuOCAwLjMzLTAuMDg1LTAuMTUtMC4yMy0wLjItMC40Ny0wLjQtMC43My0wLjQ0LTEuNTYtMC43NS0yLjMzLTEuMDQtMC4xLTAuMzctMC4xLTAuNjUgMC0xIDAuMTU2LTAuMTY2IDAuMzctMC4yNyAwLjUtMC40MyAwLjQ2LTAuNiAwLjUtMS42NTQgMC41LTIuMzcgMC0xLjA2LTAuOTU0LTEuOS0yLTEuOS0xLjE3IDAtMiAxLTIgMS45IDAgMC45MyAwLjAzNCAxLjY0IDAuNSAyLjM3IDAuMTMgMC4yIDAuMzY3IDAuMjYgMC41IDAuNDMgMC4xIDAuMzMgMC4xIDAuNjU0IDAgMS0wLjg1IDAuMy0xLjYgMC42NC0yLjM0IDEuMDQtMC41NyAwLjQtMC41MiAwLjIwNS0wLjY2IDEuNTMtMC4xMSAxLjA2IDIuMzM1IDEuMTMgNCAxLjEzaDAuMTdjLTAuMDU0IDAuMjc0LTAuMSAwLjYzLTAuMTcgMS4zLTAuMTYgMS41OSAzLjUgMS43IDYgMS43czYuMTYtMC4xIDYtMS43Yy0wLjIxNS0yLTAuMjMtMS43MS0xLTIuMy0xLjEtMC42NTQtMi40NS0xLjE3LTMuNi0xLjYtMC4xNS0wLjU2LTAuMDQtMC45NyAwLjEtMS41IDAuMjM1LTAuMjUgMC41LTAuMzYgMC43LTAuNiAwLjctMC44ODUgMC44LTIuNDI1IDAuOC0zLjUgMC0xLjYtMS40My0yLjgtMy0yLjh6IiBmaWxsPSIjMDAwMDAwIi8+PC9zdmc+Cg==);
   --icon-star-grey: url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTYiIGhlaWdodD0iMTYiIHZlcnNpb249IjEuMSIgdmlld0JveD0iMCAwIDE2IDE2IiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjxwYXRoIGQ9Im04IDAuNSAyLjIgNS4zIDUuOCAwLjQ1LTQuNSAzLjc1IDEuNSA1LjUtNS0zLjEtNSAzLjEgMS41LTUuNS00LjUtMy43NSA1LjgtMC40NXoiIGZpbGw9IiM5Njk2OTYiLz48L3N2Zz4K);
   --icon-delete-color-red: url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTYiIGhlaWdodD0iMTYiIHZlcnNpb249IjEuMSIgdmlld0JveD0iMCAwIDE2IDE2IiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjxwYXRoIGQ9Ik02LjUgMUw2IDJIM2MtLjU1NCAwLTEgLjQ0Ni0xIDF2MWgxMlYzYzAtLjU1NC0uNDQ2LTEtMS0xaC0zbC0uNS0xek0zIDVsLjg3NSA5Yy4wNi41NS41NzMgMSAxLjEyNSAxaDZjLjU1MiAwIDEuMDY0LS40NSAxLjEyNS0xTDEzIDV6IiBmaWxsPSIjZTkzMjJkIi8+PC9zdmc+Cg==);
   --icon-file-grey: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyNCIgaGVpZ2h0PSIyNCIgdmlld0JveD0iMCAwIDI0IDI0IiBmaWxsPSIjOTY5Njk2Ij4KCTxwYXRoIGQ9Ik0wIDBoMjR2MjRIMHoiIGZpbGw9Im5vbmUiIC8+Cgk8cGF0aCBmaWxsPSIjOTY5Njk2IgoJCWQ9Ik0xOSAzSDVjLTEuMSAwLTIgLjktMiAydjE0YzAgMS4xLjkgMiAyIDJoMTRjMS4xIDAgMi0uOSAyLTJWNWMwLTEuMS0uOS0yLTItMnptLTUgMTRIN3YtMmg3djJ6bTMtNEg3di0yaDEwdjJ6bTAtNEg3VjdoMTB2MnoiIC8+Cjwvc3ZnPgo=);
-  --icon-filetype-file-grey: url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTYiIGhlaWdodD0iMTYiIHZlcnNpb249IjEuMSIgdmlld0JveD0iMCAwIDE2IDE2IiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjxwYXRoIGQ9Im0yLjUgMWMtMC4yOCAwLTAuNSAwLjIyLTAuNSAwLjV2MTNjMCAwLjI4IDAuMjIgMC41IDAuNSAwLjVoMTFjMC4yOCAwIDAuNS0wLjIyIDAuNS0wLjV2LTEwLjVsLTMtM3oiIGZpbGw9IiM5Njk2OTYiLz48L3N2Zz4K);
-  --icon-filetype-folder-primary: url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTYiIGhlaWdodD0iMTYiIHZlcnNpb249IjEuMSIgdmlld0JveD0iMCAwIDE2IDE2IiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjxwYXRoIGQ9Im0xLjUgMmMtMC4yNSAwLTAuNSAwLjI1LTAuNSAwLjV2MTFjMCAwLjI2IDAuMjQgMC41IDAuNSAwLjVoMTNjMC4yNiAwIDAuNS0wLjI0MSAwLjUtMC41di05YzAtMC4yNS0wLjI1LTAuNS0wLjUtMC41aC02LjVsLTItMnoiIGZpbGw9IiMwMDAiLz48L3N2Zz4K);
-  --icon-filetype-folder-drag-accept-primary: url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTYiIGhlaWdodD0iMTYiIHZlcnNpb249IjEuMSIgdmlld0JveD0iMCAwIDE2IDE2IiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjxwYXRoIGQ9Ik0xLjQ2IDJjLS4yNSAwLS40Ni4yMS0uNDYuNDZ2MTEuMDhjMCAuMjU4LjIwMi40Ni40Ni40NmgxMy4wOGMuMjU4IDAgLjQ2LS4yMDIuNDYtLjQ2VjQuNDYyYzAtLjI1LS4yMS0uNDYzLS40Ni0uNDYzSDhMNiAySDEuNDZ6TTIgNWgxMnY4SDJWNXoiIGZpbGw9IiMwMDAiLz48L3N2Zz4K);
+  --icon-filetype-file-grey: url(data:image/svg+xml;base64,PHN2ZyB2aWV3Qm94PSIwIDAgMTYgMTYiIGhlaWdodD0iMTYiIHdpZHRoPSIxNiIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWw6c3BhY2U9InByZXNlcnZlIiBzdHlsZT0iZmlsbC1ydWxlOmV2ZW5vZGQ7Y2xpcC1ydWxlOmV2ZW5vZGQ7c3Ryb2tlLWxpbmVqb2luOnJvdW5kO3N0cm9rZS1taXRlcmxpbWl0OjIiPjxwYXRoIGQ9Ik02IDIyYy0uNTUgMC0xLjAyMS0uMTk2LTEuNDEyLS41ODdBMS45MjcgMS45MjcgMCAwIDEgNCAyMFY0YzAtLjU1LjE5Ni0xLjAyMS41ODgtMS40MTNBMS45MjYgMS45MjYgMCAwIDEgNiAyaDhsNiA2djEyYTEuOTMgMS45MyAwIDAgMS0uNTg3IDEuNDEzQTEuOTMgMS45MyAwIDAgMSAxOCAyMkg2WiIgc3R5bGU9ImZpbGw6Izk2OTY5NjtmaWxsLXJ1bGU6bm9uemVybyIgdHJhbnNmb3JtPSJtYXRyaXgoLjcgMCAwIC43IC0uNDMgLS4zODgpIi8+PC9zdmc+);
+  --icon-filetype-folder-primary: url(data:image/svg+xml;base64,PHN2ZyB2aWV3Qm94PSIwIDAgMTYgMTYiIGhlaWdodD0iMTYiIHdpZHRoPSIxNiIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWw6c3BhY2U9InByZXNlcnZlIiBzdHlsZT0iZmlsbC1ydWxlOmV2ZW5vZGQ7Y2xpcC1ydWxlOmV2ZW5vZGQ7c3Ryb2tlLWxpbmVqb2luOnJvdW5kO3N0cm9rZS1taXRlcmxpbWl0OjIiPjxwYXRoIGQ9Ik00IDIwYy0uNTUgMC0xLjAyMS0uMTk2LTEuNDEyLS41ODdBMS45MjcgMS45MjcgMCAwIDEgMiAxOFY2YzAtLjU1LjE5Ni0xLjAyMS41ODgtMS40MTNBMS45MjYgMS45MjYgMCAwIDEgNCA0aDZsMiAyaDhjLjU1IDAgMS4wMjEuMTk2IDEuNDEzLjU4Ny4zOTEuMzkyLjU4Ny44NjMuNTg3IDEuNDEzdjEwYTEuOTMgMS45MyAwIDAgMS0uNTg3IDEuNDEzQTEuOTMgMS45MyAwIDAgMSAyMCAyMEg0WiIgc3R5bGU9ImZpbGw6IzAwODJjOTtmaWxsLXJ1bGU6bm9uemVybyIgdHJhbnNmb3JtPSJtYXRyaXgoLjcgMCAwIC43IC0uNCAtLjQpIi8+PC9zdmc+);
+  --icon-filetype-folder-drag-accept-primary: url(data:image/svg+xml;base64,PHN2ZyB2aWV3Qm94PSIwIDAgMTYgMTYiIGhlaWdodD0iMTYiIHdpZHRoPSIxNiIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWw6c3BhY2U9InByZXNlcnZlIiBzdHlsZT0iZmlsbC1ydWxlOmV2ZW5vZGQ7Y2xpcC1ydWxlOmV2ZW5vZGQ7c3Ryb2tlLWxpbmVqb2luOnJvdW5kO3N0cm9rZS1taXRlcmxpbWl0OjIiPjxwYXRoIGQ9Ik00IDIwYy0uNTUgMC0xLjAyMS0uMTk2LTEuNDEyLS41ODdBMS45MjcgMS45MjcgMCAwIDEgMiAxOFY2YzAtLjU1LjE5Ni0xLjAyMS41ODgtMS40MTNBMS45MjYgMS45MjYgMCAwIDEgNCA0aDZsMiAyaDhjLjU1IDAgMS4wMjEuMTk2IDEuNDEzLjU4Ny4zOTEuMzkyLjU4Ny44NjMuNTg3IDEuNDEzdjEwYTEuOTMgMS45MyAwIDAgMS0uNTg3IDEuNDEzQTEuOTMgMS45MyAwIDAgMSAyMCAyMEg0Wm0wLTJoMTZWOGgtOC44MjVsLTItMkg0djEyWm0wIDBWNnYxMloiIHN0eWxlPSJmaWxsOiMwMDgyYzk7ZmlsbC1ydWxlOm5vbnplcm8iIHRyYW5zZm9ybT0ibWF0cml4KC43IDAgMCAuNyAtLjQgLS40KSIvPjwvc3ZnPg==);
   --icon-filetype-text-grey: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyNCIgaGVpZ2h0PSIyNCIgdmlld0JveD0iMCAwIDI0IDI0IiBmaWxsPSIjOTY5Njk2Ij4KCTxwYXRoIGQ9Ik0wIDBoMjR2MjRIMHoiIGZpbGw9Im5vbmUiIC8+Cgk8cGF0aCBmaWxsPSIjOTY5Njk2IgoJCWQ9Ik0xOSAzSDVjLTEuMSAwLTIgLjktMiAydjE0YzAgMS4xLjkgMiAyIDJoMTRjMS4xIDAgMi0uOSAyLTJWNWMwLTEuMS0uOS0yLTItMnptLTUgMTRIN3YtMmg3djJ6bTMtNEg3di0yaDEwdjJ6bTAtNEg3VjdoMTB2MnoiIC8+Cjwvc3ZnPgo=);
 }