{"version":3,"file":"settings-apps-view-4529.js?v=74f74c25257225672edf","mappings":"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","sources":["webpack:///nextcloud/apps/settings/src/components/AppDetails.vue?vue&type=style&index=0&id=79b6e1ee&prod&scoped=true&lang=scss","webpack:///nextcloud/apps/settings/src/components/AppList.vue?vue&type=style&index=0&id=0294f215&prod&lang=scss&scoped=true","webpack:///nextcloud/apps/settings/src/components/AppList/AppItem.vue?vue&type=style&index=0&id=79bd4dc4&prod&scoped=true&lang=scss","webpack:///nextcloud/apps/settings/src/components/Markdown.vue?vue&type=style&index=0&id=ffd9a2d6&prod&scoped=true&lang=scss","webpack:///nextcloud/apps/settings/src/views/Apps.vue?vue&type=style&index=0&id=611a3de0&prod&lang=scss&scoped=true","webpack://nextcloud/./apps/settings/src/views/Apps.vue?8e68","webpack:///nextcloud/node_modules/vue-material-design-icons/StarShooting.vue","webpack:///nextcloud/node_modules/vue-material-design-icons/StarShooting.vue?vue&type=script&lang=js","webpack://nextcloud/./node_modules/vue-material-design-icons/StarShooting.vue?ea51","webpack:///nextcloud/node_modules/vue-material-design-icons/StarShooting.vue?vue&type=template&id=15915d5b","webpack://nextcloud/./apps/settings/src/components/AppList.vue?ee21","webpack:///nextcloud/apps/settings/src/components/AppList/AppScore.vue","webpack:///nextcloud/apps/settings/src/components/AppList/AppScore.vue?vue&type=script&lang=js","webpack://nextcloud/./apps/settings/src/components/AppList/AppScore.vue?26fd","webpack://nextcloud/./apps/settings/src/components/AppList/AppScore.vue?1c98","webpack:///nextcloud/apps/settings/src/service/rebuild-navigation.js","webpack:///nextcloud/apps/settings/src/mixins/AppManagement.js","webpack:///nextcloud/apps/settings/src/components/SvgFilterMixin.vue?vue&type=script&lang=js","webpack:///nextcloud/apps/settings/src/components/SvgFilterMixin.vue","webpack://nextcloud/./apps/settings/src/components/SvgFilterMixin.vue?5bcd","webpack:///nextcloud/apps/settings/src/components/AppList/AppItem.vue","webpack:///nextcloud/apps/settings/src/components/AppList/AppItem.vue?vue&type=script&lang=js","webpack://nextcloud/./apps/settings/src/components/AppList/AppItem.vue?829c","webpack://nextcloud/./apps/settings/src/components/AppList/AppItem.vue?a9a1","webpack://nextcloud/./apps/settings/src/components/AppList/AppItem.vue?af1e","webpack://nextcloud/./apps/settings/src/components/PrefixMixin.vue?c564","webpack:///nextcloud/apps/settings/src/components/PrefixMixin.vue","webpack:///nextcloud/node_modules/p-limit/index.js","webpack:///nextcloud/apps/settings/src/components/AppList.vue","webpack:///nextcloud/apps/settings/src/components/AppList.vue?vue&type=script&lang=js","webpack://nextcloud/./apps/settings/src/components/AppList.vue?6554","webpack://nextcloud/./apps/settings/src/components/AppList.vue?8acf","webpack://nextcloud/./apps/settings/src/components/AppDetails.vue?7e45","webpack:///nextcloud/node_modules/marked/lib/marked.esm.js","webpack:///nextcloud/apps/settings/src/components/Markdown.vue","webpack:///nextcloud/apps/settings/src/components/Markdown.vue?vue&type=script&lang=js","webpack://nextcloud/./apps/settings/src/components/Markdown.vue?8506","webpack://nextcloud/./apps/settings/src/components/Markdown.vue?26cf","webpack://nextcloud/./apps/settings/src/components/Markdown.vue?d299","webpack:///nextcloud/apps/settings/src/components/AppDetails.vue?vue&type=script&lang=js","webpack:///nextcloud/apps/settings/src/components/AppDetails.vue","webpack://nextcloud/./apps/settings/src/components/AppDetails.vue?3fe7","webpack://nextcloud/./apps/settings/src/components/AppDetails.vue?2807","webpack:///nextcloud/apps/settings/src/views/Apps.vue","webpack:///nextcloud/apps/settings/src/views/Apps.vue?vue&type=script&lang=js","webpack://nextcloud/./apps/settings/src/views/Apps.vue?eb68","webpack://nextcloud/./apps/settings/src/views/Apps.vue?7b97","webpack:///nextcloud/node_modules/vue-localstorage/dist/vue-local-storage.js"],"sourcesContent":["// 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, `.app-details[data-v-79b6e1ee]{padding:20px}.app-details__actions-manage[data-v-79b6e1ee]{display:flex}.app-details__actions-manage input[data-v-79b6e1ee]{flex:0 1 auto;min-width:0;text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.app-details__dependencies[data-v-79b6e1ee]{opacity:.7}.app-details__documentation[data-v-79b6e1ee]{padding-top:20px}.app-details__documentation a.appslink[data-v-79b6e1ee]{display:block}.app-details__description[data-v-79b6e1ee]{padding-top:20px}.force[data-v-79b6e1ee]{color:var(--color-error);border-color:var(--color-error);background:var(--color-main-background)}.force[data-v-79b6e1ee]:hover,.force[data-v-79b6e1ee]:active{color:var(--color-main-background);border-color:var(--color-error) !important;background:var(--color-error)}`, \"\",{\"version\":3,\"sources\":[\"webpack://./apps/settings/src/components/AppDetails.vue\"],\"names\":[],\"mappings\":\"AACA,8BACC,YAAA,CAIC,8CAEC,YAAA,CACA,oDACC,aAAA,CACA,WAAA,CACA,sBAAA,CACA,kBAAA,CACA,eAAA,CAIH,4CACC,UAAA,CAED,6CACC,gBAAA,CACA,wDACC,aAAA,CAGF,2CACC,gBAAA,CAIF,wBACC,wBAAA,CACA,+BAAA,CACA,uCAAA,CAED,6DAEC,kCAAA,CACA,0CAAA,CACA,6BAAA\",\"sourcesContent\":[\"\\n.app-details {\\n\\tpadding: 20px;\\n\\n\\t&__actions {\\n\\t\\t// app management\\n\\t\\t&-manage {\\n\\t\\t\\t// if too many, shrink them and ellipsis\\n\\t\\t\\tdisplay: flex;\\n\\t\\t\\tinput {\\n\\t\\t\\t\\tflex: 0 1 auto;\\n\\t\\t\\t\\tmin-width: 0;\\n\\t\\t\\t\\ttext-overflow: ellipsis;\\n\\t\\t\\t\\twhite-space: nowrap;\\n\\t\\t\\t\\toverflow: hidden;\\n\\t\\t\\t}\\n\\t\\t}\\n\\t}\\n\\t&__dependencies {\\n\\t\\topacity: .7;\\n\\t}\\n\\t&__documentation {\\n\\t\\tpadding-top: 20px;\\n\\t\\ta.appslink {\\n\\t\\t\\tdisplay: block;\\n\\t\\t}\\n\\t}\\n\\t&__description {\\n\\t\\tpadding-top: 20px;\\n\\t}\\n}\\n\\n.force {\\n\\tcolor: var(--color-error);\\n\\tborder-color: var(--color-error);\\n\\tbackground: var(--color-main-background);\\n}\\n.force:hover,\\n.force:active {\\n\\tcolor: var(--color-main-background);\\n\\tborder-color: var(--color-error) !important;\\n\\tbackground: var(--color-error);\\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, `.app-bundle-heading[data-v-0294f215]{display:flex;align-items:center;margin:20px 10px 20px 0}.app-bundle-header[data-v-0294f215]{margin:0 10px 0 50px;font-weight:bold;font-size:20px;line-height:30px;color:var(--color-text-light)}.apps-store-view[data-v-0294f215]{display:flex;flex-wrap:wrap}`, \"\",{\"version\":3,\"sources\":[\"webpack://./apps/settings/src/components/AppList.vue\"],\"names\":[],\"mappings\":\"AACA,qCACC,YAAA,CACA,kBAAA,CACA,uBAAA,CAED,oCACC,oBAAA,CACA,gBAAA,CACA,cAAA,CACA,gBAAA,CACA,6BAAA,CAED,kCACC,YAAA,CACA,cAAA\",\"sourcesContent\":[\"\\n.app-bundle-heading {\\n\\tdisplay: flex;\\n\\talign-items: center;\\n\\tmargin: 20px 10px 20px 0;\\n}\\n.app-bundle-header {\\n\\tmargin: 0 10px 0 50px;\\n\\tfont-weight: bold;\\n\\tfont-size: 20px;\\n\\tline-height: 30px;\\n\\tcolor: var(--color-text-light);\\n}\\n.apps-store-view {\\n\\tdisplay: flex;\\n\\tflex-wrap: wrap;\\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, `.app-icon[data-v-79bd4dc4]{filter:var(--background-invert-if-bright)}.app-image img[data-v-79bd4dc4]{width:100%}.app-name--link[data-v-79bd4dc4]::after{content:\"\";position:absolute;top:0;left:0;right:0;bottom:0}`, \"\",{\"version\":3,\"sources\":[\"webpack://./apps/settings/src/components/AppList/AppItem.vue\"],\"names\":[],\"mappings\":\"AACA,2BACC,yCAAA,CAGD,gCACC,UAAA,CAGD,wCACE,UAAA,CACA,iBAAA,CACA,KAAA,CACA,MAAA,CACA,OAAA,CACA,QAAA\",\"sourcesContent\":[\"\\n.app-icon {\\n\\tfilter: var(--background-invert-if-bright);\\n}\\n\\n.app-image img {\\n\\twidth: 100%;\\n}\\n\\n.app-name--link::after {\\n content: '';\\n position: absolute;\\n top: 0;\\n left: 0;\\n right: 0;\\n bottom: 0;\\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, `.settings-markdown[data-v-ffd9a2d6] h1,.settings-markdown[data-v-ffd9a2d6] h2,.settings-markdown[data-v-ffd9a2d6] h3,.settings-markdown[data-v-ffd9a2d6] h4,.settings-markdown[data-v-ffd9a2d6] h5,.settings-markdown[data-v-ffd9a2d6] h6{font-weight:600;line-height:120%;margin-top:24px;margin-bottom:12px;color:var(--color-main-text)}.settings-markdown[data-v-ffd9a2d6] h1{font-size:36px;margin-top:48px}.settings-markdown[data-v-ffd9a2d6] h2{font-size:28px;margin-top:48px}.settings-markdown[data-v-ffd9a2d6] h3{font-size:24px}.settings-markdown[data-v-ffd9a2d6] h4{font-size:21px}.settings-markdown[data-v-ffd9a2d6] h5{font-size:17px}.settings-markdown[data-v-ffd9a2d6] h6{font-size:var(--default-font-size)}.settings-markdown[data-v-ffd9a2d6] pre{white-space:pre;overflow-x:auto;background-color:var(--color-background-dark);border-radius:var(--border-radius);padding:1em 1.3em;margin-bottom:1em}.settings-markdown[data-v-ffd9a2d6] p code{background-color:var(--color-background-dark);border-radius:var(--border-radius);padding:.1em .3em}.settings-markdown[data-v-ffd9a2d6] li{position:relative}.settings-markdown[data-v-ffd9a2d6] ul,.settings-markdown[data-v-ffd9a2d6] ol{padding-left:10px;margin-left:10px}.settings-markdown[data-v-ffd9a2d6] ul li{list-style-type:disc}.settings-markdown[data-v-ffd9a2d6] ul>li>ul>li{list-style-type:circle}.settings-markdown[data-v-ffd9a2d6] ul>li>ul>li ul li{list-style-type:square}.settings-markdown[data-v-ffd9a2d6] blockquote{padding-left:1em;border-left:4px solid var(--color-primary-element);color:var(--color-text-maxcontrast);margin-left:0;margin-right:0}`, \"\",{\"version\":3,\"sources\":[\"webpack://./apps/settings/src/components/Markdown.vue\"],\"names\":[],\"mappings\":\"AAGA,0OAMC,eAAA,CACA,gBAAA,CACA,eAAA,CACA,kBAAA,CACA,4BAAA,CAGD,uCACC,cAAA,CACA,eAAA,CAGD,uCACC,cAAA,CACA,eAAA,CAGD,uCACC,cAAA,CAGD,uCACC,cAAA,CAGD,uCACC,cAAA,CAGD,uCACC,kCAAA,CAGD,wCACC,eAAA,CACA,eAAA,CACA,6CAAA,CACA,kCAAA,CACA,iBAAA,CACA,iBAAA,CAGD,2CACC,6CAAA,CACA,kCAAA,CACA,iBAAA,CAGD,uCACC,iBAAA,CAGD,8EACC,iBAAA,CACA,gBAAA,CAGD,0CACC,oBAAA,CAGD,gDACC,sBAAA,CAGD,sDACC,sBAAA,CAGD,+CACC,gBAAA,CACA,kDAAA,CACA,mCAAA,CACA,aAAA,CACA,cAAA\",\"sourcesContent\":[\"\\n.settings-markdown::v-deep {\\n\\nh1,\\nh2,\\nh3,\\nh4,\\nh5,\\nh6 {\\n\\tfont-weight: 600;\\n\\tline-height: 120%;\\n\\tmargin-top: 24px;\\n\\tmargin-bottom: 12px;\\n\\tcolor: var(--color-main-text);\\n}\\n\\nh1 {\\n\\tfont-size: 36px;\\n\\tmargin-top: 48px;\\n}\\n\\nh2 {\\n\\tfont-size: 28px;\\n\\tmargin-top: 48px;\\n}\\n\\nh3 {\\n\\tfont-size: 24px;\\n}\\n\\nh4 {\\n\\tfont-size: 21px;\\n}\\n\\nh5 {\\n\\tfont-size: 17px;\\n}\\n\\nh6 {\\n\\tfont-size: var(--default-font-size);\\n}\\n\\npre {\\n\\twhite-space: pre;\\n\\toverflow-x: auto;\\n\\tbackground-color: var(--color-background-dark);\\n\\tborder-radius: var(--border-radius);\\n\\tpadding: 1em 1.3em;\\n\\tmargin-bottom: 1em;\\n}\\n\\np code {\\n\\tbackground-color: var(--color-background-dark);\\n\\tborder-radius: var(--border-radius);\\n\\tpadding: .1em .3em;\\n}\\n\\nli {\\n\\tposition: relative;\\n}\\n\\nul, ol {\\n\\tpadding-left: 10px;\\n\\tmargin-left: 10px;\\n}\\n\\nul li {\\n\\tlist-style-type: disc;\\n}\\n\\nul > li > ul > li {\\n\\tlist-style-type: circle;\\n}\\n\\nul > li > ul > li ul li {\\n\\tlist-style-type: square;\\n}\\n\\nblockquote {\\n\\tpadding-left: 1em;\\n\\tborder-left: 4px solid var(--color-primary-element);\\n\\tcolor: var(--color-text-maxcontrast);\\n\\tmargin-left: 0;\\n\\tmargin-right: 0;\\n}\\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, `.app-sidebar[data-v-611a3de0]:not(.app-sidebar--without-background) :not(.app-sidebar-header--compact) .app-sidebar-header__figure{background-size:cover}.app-sidebar[data-v-611a3de0]:not(.app-sidebar--without-background) .app-sidebar-header--compact .app-sidebar-header__figure{background-size:32px;filter:var(--background-invert-if-bright)}.app-sidebar[data-v-611a3de0] .app-sidebar-header__description .app-version{padding-left:10px}.app-sidebar[data-v-611a3de0].app-sidebar--without-background .app-sidebar-header__figure{display:flex;align-items:center;justify-content:center}.app-sidebar[data-v-611a3de0].app-sidebar--without-background .app-sidebar-header__figure--default-app-icon{width:32px;height:32px;background-size:32px}.app-sidebar[data-v-611a3de0] .app-sidebar-header__desc .app-sidebar-header__subtitle{overflow:visible !important;height:auto;white-space:normal !important;line-height:16px}.app-sidebar[data-v-611a3de0] .app-sidebar-header__action{margin:0 20px}.app-sidebar[data-v-611a3de0] .app-sidebar-header__action input{margin:3px}.app-navigation[data-v-611a3de0] button.app-navigation-toggle{top:8px;right:-8px}.app-sidebar-tabs__release h2[data-v-611a3de0]{border-bottom:1px solid var(--color-border)}.app-sidebar-tabs__release[data-v-611a3de0] h3{font-size:20px}.app-sidebar-tabs__release[data-v-611a3de0] h4{font-size:17px}`, \"\",{\"version\":3,\"sources\":[\"webpack://./apps/settings/src/views/Apps.vue\"],\"names\":[],\"mappings\":\"AAIE,mIACC,qBAAA,CAGD,6HACC,oBAAA,CAEA,yCAAA,CAKD,4EACC,iBAAA,CAMD,0FACC,YAAA,CACA,kBAAA,CACA,sBAAA,CACA,4GACC,UAAA,CACA,WAAA,CACA,oBAAA,CAQF,sFACC,2BAAA,CACA,WAAA,CACA,6BAAA,CACA,gBAAA,CAIF,0DAEC,aAAA,CACA,gEACC,UAAA,CAMH,8DACC,OAAA,CACA,UAAA,CAIA,+CACC,2CAAA,CAKA,+CACC,cAAA,CAED,+CACC,cAAA\",\"sourcesContent\":[\"\\n.app-sidebar::v-deep {\\n\\t&:not(.app-sidebar--without-background) {\\n\\t\\t// with full screenshot, let's fill the figure\\n\\t\\t:not(.app-sidebar-header--compact) .app-sidebar-header__figure {\\n\\t\\t\\tbackground-size: cover;\\n\\t\\t}\\n\\t\\t// revert sidebar app icon so it is black\\n\\t\\t.app-sidebar-header--compact .app-sidebar-header__figure {\\n\\t\\t\\tbackground-size: 32px;\\n\\n\\t\\t\\tfilter: var(--background-invert-if-bright);\\n\\t\\t}\\n\\t}\\n\\n\\t.app-sidebar-header__description {\\n\\t\\t.app-version {\\n\\t\\t\\tpadding-left: 10px;\\n\\t\\t}\\n\\t}\\n\\n\\t// default icon slot styling\\n\\t&.app-sidebar--without-background {\\n\\t\\t.app-sidebar-header__figure {\\n\\t\\t\\tdisplay: flex;\\n\\t\\t\\talign-items: center;\\n\\t\\t\\tjustify-content: center;\\n\\t\\t\\t&--default-app-icon {\\n\\t\\t\\t\\twidth: 32px;\\n\\t\\t\\t\\theight: 32px;\\n\\t\\t\\t\\tbackground-size: 32px;\\n\\t\\t\\t}\\n\\t\\t}\\n\\t}\\n\\n\\t// TODO: migrate to components\\n\\t.app-sidebar-header__desc {\\n\\t\\t// allow multi line subtitle for the license\\n\\t\\t.app-sidebar-header__subtitle {\\n\\t\\t\\toverflow: visible !important;\\n\\t\\t\\theight: auto;\\n\\t\\t\\twhite-space: normal !important;\\n\\t\\t\\tline-height: 16px;\\n\\t\\t}\\n\\t}\\n\\n\\t.app-sidebar-header__action {\\n\\t\\t// align with tab content\\n\\t\\tmargin: 0 20px;\\n\\t\\tinput {\\n\\t\\t\\tmargin: 3px;\\n\\t\\t}\\n\\t}\\n}\\n\\n// Align the appNavigation toggle with the apps header toolbar\\n.app-navigation::v-deep button.app-navigation-toggle {\\n\\ttop: 8px;\\n\\tright: -8px;\\n}\\n\\n.app-sidebar-tabs__release {\\n\\th2 {\\n\\t\\tborder-bottom: 1px solid var(--color-border);\\n\\t}\\n\\n\\t// Overwrite changelog heading styles\\n\\t::v-deep {\\n\\t\\th3 {\\n\\t\\t\\tfont-size: 20px;\\n\\t\\t}\\n\\t\\th4 {\\n\\t\\t\\tfont-size: 17px;\\n\\t\\t}\\n\\t}\\n}\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('NcContent',{class:{ 'with-app-sidebar': _vm.app},attrs:{\"app-name\":\"settings\"}},[_c('NcAppNavigation',{class:{ 'icon-loading': _vm.loading },attrs:{\"aria-label\":_vm.t('settings', 'Apps')},scopedSlots:_vm._u([{key:\"list\",fn:function(){return [_c('NcAppNavigationItem',{attrs:{\"id\":\"app-category-your-apps\",\"to\":{ name: 'apps' },\"exact\":true,\"icon\":\"icon-category-installed\",\"name\":_vm.$options.APPS_SECTION_ENUM.installed}}),_vm._v(\" \"),_c('NcAppNavigationItem',{attrs:{\"id\":\"app-category-enabled\",\"to\":{ name: 'apps-category', params: { category: 'enabled' } },\"icon\":\"icon-category-enabled\",\"name\":_vm.$options.APPS_SECTION_ENUM.enabled}}),_vm._v(\" \"),_c('NcAppNavigationItem',{attrs:{\"id\":\"app-category-disabled\",\"to\":{ name: 'apps-category', params: { category: 'disabled' } },\"icon\":\"icon-category-disabled\",\"name\":_vm.$options.APPS_SECTION_ENUM.disabled}}),_vm._v(\" \"),(_vm.updateCount > 0)?_c('NcAppNavigationItem',{attrs:{\"id\":\"app-category-updates\",\"to\":{ name: 'apps-category', params: { category: 'updates' } },\"icon\":\"icon-download\",\"name\":_vm.$options.APPS_SECTION_ENUM.updates},scopedSlots:_vm._u([{key:\"counter\",fn:function(){return [_c('NcCounterBubble',[_vm._v(_vm._s(_vm.updateCount))])]},proxy:true}],null,false,54487302)}):_vm._e(),_vm._v(\" \"),(_vm.isSubscribed)?_c('NcAppNavigationItem',{attrs:{\"id\":\"app-category-supported\",\"to\":{ name: 'apps-category', params: { category: 'supported' } },\"name\":_vm.$options.APPS_SECTION_ENUM.supported},scopedSlots:_vm._u([{key:\"icon\",fn:function(){return [_c('IconStarShooting',{attrs:{\"size\":20}})]},proxy:true}],null,false,704374136)}):_vm._e(),_vm._v(\" \"),_c('NcAppNavigationItem',{attrs:{\"id\":\"app-category-your-bundles\",\"to\":{ name: 'apps-category', params: { category: 'app-bundles' } },\"icon\":\"icon-category-app-bundles\",\"name\":_vm.$options.APPS_SECTION_ENUM['app-bundles']}}),_vm._v(\" \"),_c('NcAppNavigationSpacer'),_vm._v(\" \"),(_vm.appstoreEnabled)?[_c('NcAppNavigationItem',{attrs:{\"id\":\"app-category-featured\",\"to\":{ name: 'apps-category', params: { category: 'featured' } },\"icon\":\"icon-favorite\",\"name\":_vm.$options.APPS_SECTION_ENUM.featured}}),_vm._v(\" \"),_vm._l((_vm.categories),function(cat){return _c('NcAppNavigationItem',{key:'icon-category-' + cat.id,attrs:{\"icon\":'icon-category-' + cat.id,\"to\":{\n\t\t\t\t\t\tname: 'apps-category',\n\t\t\t\t\t\tparams: { category: cat.id },\n\t\t\t\t\t},\"name\":cat.displayName}})})]:_vm._e(),_vm._v(\" \"),_c('NcAppNavigationItem',{attrs:{\"id\":\"app-developer-docs\",\"name\":_vm.t('settings', 'Developer documentation') + ' ↗'},on:{\"click\":_vm.openDeveloperDocumentation}})]},proxy:true}])}),_vm._v(\" \"),_c('NcAppContent',{staticClass:\"app-settings-content\",class:{ 'icon-loading': _vm.loadingList },attrs:{\"page-heading\":_vm.pageHeading}},[_c('AppList',{attrs:{\"category\":_vm.category,\"app\":_vm.app,\"search\":_vm.searchQuery}})],1),_vm._v(\" \"),(_vm.id && _vm.app)?_c('NcAppSidebar',_vm._b({class:{'app-sidebar--without-background': !_vm.appSidebar.background},on:{\"close\":_vm.hideAppDetails},scopedSlots:_vm._u([(!_vm.appSidebar.background)?{key:\"header\",fn:function(){return [_c('div',{staticClass:\"app-sidebar-header__figure--default-app-icon icon-settings-dark\"})]},proxy:true}:null,{key:\"description\",fn:function(){return [(_vm.app.level === 300 || _vm.app.level === 200 || _vm.hasRating)?_c('div',{staticClass:\"app-level\"},[(_vm.app.level === 300)?_c('span',{staticClass:\"supported icon-checkmark-color\",attrs:{\"title\":_vm.t('settings', 'This app is supported via your current Nextcloud subscription.')}},[_vm._v(\"\\n\\t\\t\\t\\t\\t\"+_vm._s(_vm.t('settings', 'Supported')))]):_vm._e(),_vm._v(\" \"),(_vm.app.level === 200)?_c('span',{staticClass:\"official icon-checkmark\",attrs:{\"title\":_vm.t('settings', 'Featured apps are developed by and within the community. They offer central functionality and are ready for production use.')}},[_vm._v(\"\\n\\t\\t\\t\\t\\t\"+_vm._s(_vm.t('settings', 'Featured')))]):_vm._e(),_vm._v(\" \"),(_vm.hasRating)?_c('AppScore',{attrs:{\"score\":_vm.app.appstoreData.ratingOverall}}):_vm._e()],1):_vm._e(),_vm._v(\" \"),_c('div',{staticClass:\"app-version\"},[_c('p',[_vm._v(_vm._s(_vm.app.version))])])]},proxy:true}],null,true)},'NcAppSidebar',_vm.appSidebar,false),[_vm._v(\" \"),_vm._v(\" \"),_c('NcAppSidebarTab',{attrs:{\"id\":\"desc\",\"icon\":\"icon-category-office\",\"name\":_vm.t('settings', 'Details'),\"order\":0}},[_c('AppDetails',{attrs:{\"app\":_vm.app}})],1),_vm._v(\" \"),(_vm.app.appstoreData && _vm.app.releases[0].translations.en.changelog)?_c('NcAppSidebarTab',{attrs:{\"id\":\"desca\",\"icon\":\"icon-category-organization\",\"name\":_vm.t('settings', 'Changelog'),\"order\":1}},_vm._l((_vm.app.releases),function(release){return _c('div',{key:release.version,staticClass:\"app-sidebar-tabs__release\"},[_c('h2',[_vm._v(_vm._s(release.version))]),_vm._v(\" \"),(_vm.changelog(release))?_c('Markdown',{attrs:{\"text\":_vm.changelog(release)}}):_vm._e()],1)}),0):_vm._e()],1):_vm._e()],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n","import mod from \"-!../vue-loader/lib/index.js??vue-loader-options!./StarShooting.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../vue-loader/lib/index.js??vue-loader-options!./StarShooting.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./StarShooting.vue?vue&type=template&id=15915d5b\"\nimport script from \"./StarShooting.vue?vue&type=script&lang=js\"\nexport * from \"./StarShooting.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 star-shooting-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\":\"M18.09 11.77L19.56 18.1L14 14.74L8.44 18.1L9.9 11.77L5 7.5L11.47 6.96L14 1L16.53 6.96L23 7.5L18.09 11.77M2 12.43C2.19 12.43 2.38 12.37 2.55 12.26L5.75 10.15L4.18 8.79L1.45 10.59C.989 10.89 .861 11.5 1.16 12C1.36 12.27 1.68 12.43 2 12.43M1.16 21.55C1.36 21.84 1.68 22 2 22C2.19 22 2.38 21.95 2.55 21.84L6.66 19.13L7 17.76L7.31 16.31L1.45 20.16C.989 20.47 .861 21.09 1.16 21.55M1.45 15.38C.989 15.68 .861 16.3 1.16 16.76C1.36 17.06 1.68 17.21 2 17.21C2.19 17.21 2.38 17.16 2.55 17.05L7.97 13.5L8.24 12.31L7.32 11.5L1.45 15.38Z\"}},[(_vm.title)?_c('title',[_vm._v(_vm._s(_vm.title))]):_vm._e()])])])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',{attrs:{\"id\":\"app-content-inner\"}},[_c('div',{staticClass:\"apps-list\",class:{installed: (_vm.useBundleView || _vm.useListView), store: _vm.useAppStoreView},attrs:{\"id\":\"apps-list\"}},[(_vm.useListView)?[(_vm.showUpdateAll)?_c('div',{staticClass:\"toolbar\"},[_vm._v(\"\\n\\t\\t\\t\\t\"+_vm._s(_vm.n('settings', '%n app has an update available', '%n apps have an update available', _vm.counter))+\"\\n\\t\\t\\t\\t\"),(_vm.showUpdateAll)?_c('NcButton',{attrs:{\"id\":\"app-list-update-all\",\"type\":\"primary\"},on:{\"click\":_vm.updateAll}},[_vm._v(\"\\n\\t\\t\\t\\t\\t\"+_vm._s(_vm.n('settings', 'Update', 'Update all', _vm.counter))+\"\\n\\t\\t\\t\\t\")]):_vm._e()],1):_vm._e(),_vm._v(\" \"),(!_vm.showUpdateAll)?_c('div',{staticClass:\"toolbar\"},[_vm._v(\"\\n\\t\\t\\t\\t\"+_vm._s(_vm.t('settings', 'All apps are up-to-date.'))+\"\\n\\t\\t\\t\")]):_vm._e(),_vm._v(\" \"),_c('transition-group',{staticClass:\"apps-list-container\",attrs:{\"name\":\"app-list\",\"tag\":\"table\"}},[_c('tr',{key:\"app-list-view-header\",staticClass:\"apps-header\"},[_c('th',{staticClass:\"app-image\"},[_c('span',{staticClass:\"hidden-visually\"},[_vm._v(_vm._s(_vm.t('settings', 'Icon')))])]),_vm._v(\" \"),_c('th',{staticClass:\"app-name\"},[_c('span',{staticClass:\"hidden-visually\"},[_vm._v(_vm._s(_vm.t('settings', 'Name')))])]),_vm._v(\" \"),_c('th',{staticClass:\"app-version\"},[_c('span',{staticClass:\"hidden-visually\"},[_vm._v(_vm._s(_vm.t('settings', 'Version')))])]),_vm._v(\" \"),_c('th',{staticClass:\"app-level\"},[_c('span',{staticClass:\"hidden-visually\"},[_vm._v(_vm._s(_vm.t('settings', 'Level')))])]),_vm._v(\" \"),_c('th',{staticClass:\"actions\"},[_c('span',{staticClass:\"hidden-visually\"},[_vm._v(_vm._s(_vm.t('settings', 'Actions')))])])]),_vm._v(\" \"),_vm._l((_vm.apps),function(app){return _c('AppItem',{key:app.id,attrs:{\"app\":app,\"category\":_vm.category}})})],2)]:_vm._e(),_vm._v(\" \"),(_vm.useBundleView)?_c('table',{staticClass:\"apps-list-container\"},[_c('tr',{key:\"app-list-view-header\",staticClass:\"apps-header\"},[_c('th',{staticClass:\"app-image\",attrs:{\"id\":\"app-table-col-icon\"}},[_c('span',{staticClass:\"hidden-visually\"},[_vm._v(_vm._s(_vm.t('settings', 'Icon')))])]),_vm._v(\" \"),_c('th',{staticClass:\"app-name\",attrs:{\"id\":\"app-table-col-name\"}},[_c('span',{staticClass:\"hidden-visually\"},[_vm._v(_vm._s(_vm.t('settings', 'Name')))])]),_vm._v(\" \"),_c('th',{staticClass:\"app-version\",attrs:{\"id\":\"app-table-col-version\"}},[_c('span',{staticClass:\"hidden-visually\"},[_vm._v(_vm._s(_vm.t('settings', 'Version')))])]),_vm._v(\" \"),_c('th',{staticClass:\"app-level\",attrs:{\"id\":\"app-table-col-level\"}},[_c('span',{staticClass:\"hidden-visually\"},[_vm._v(_vm._s(_vm.t('settings', 'Level')))])]),_vm._v(\" \"),_c('th',{staticClass:\"actions\",attrs:{\"id\":\"app-table-col-actions\"}},[_c('span',{staticClass:\"hidden-visually\"},[_vm._v(_vm._s(_vm.t('settings', 'Actions')))])])]),_vm._v(\" \"),_vm._l((_vm.bundles),function(bundle){return [_c('tr',{key:bundle.id},[_c('th',{attrs:{\"id\":`app-table-rowgroup-${bundle.id}`,\"colspan\":\"5\",\"scope\":\"rowgroup\"}},[_c('div',{staticClass:\"app-bundle-heading\"},[_c('span',{staticClass:\"app-bundle-header\"},[_vm._v(\"\\n\\t\\t\\t\\t\\t\\t\\t\\t\"+_vm._s(bundle.name)+\"\\n\\t\\t\\t\\t\\t\\t\\t\")]),_vm._v(\" \"),_c('NcButton',{attrs:{\"type\":\"secondary\"},on:{\"click\":function($event){return _vm.toggleBundle(bundle.id)}}},[_vm._v(\"\\n\\t\\t\\t\\t\\t\\t\\t\\t\"+_vm._s(_vm.t('settings', _vm.bundleToggleText(bundle.id)))+\"\\n\\t\\t\\t\\t\\t\\t\\t\")])],1)])]),_vm._v(\" \"),_vm._l((_vm.bundleApps(bundle.id)),function(app){return _c('AppItem',{key:bundle.id + app.id,attrs:{\"use-bundle-view\":true,\"headers\":`app-table-rowgroup-${bundle.id}`,\"app\":app,\"category\":_vm.category}})})]})],2):_vm._e(),_vm._v(\" \"),(_vm.useAppStoreView)?_c('ul',{staticClass:\"apps-store-view\"},_vm._l((_vm.apps),function(app){return _c('AppItem',{key:app.id,attrs:{\"app\":app,\"category\":_vm.category,\"list-view\":false}})}),1):_vm._e()],2),_vm._v(\" \"),_c('div',{staticClass:\"apps-list installed\",attrs:{\"id\":\"apps-list-search\"}},[_c('div',{staticClass:\"apps-list-container\"},[(_vm.search !== '' && _vm.searchApps.length > 0)?[_c('div',{staticClass:\"section\"},[_c('div'),_vm._v(\" \"),_c('td',{attrs:{\"colspan\":\"5\"}},[_c('h2',[_vm._v(_vm._s(_vm.t('settings', 'Results from other categories')))])])]),_vm._v(\" \"),_vm._l((_vm.searchApps),function(app){return _c('AppItem',{key:app.id,attrs:{\"app\":app,\"category\":_vm.category}})})]:_vm._e()],2)]),_vm._v(\" \"),(_vm.search !== '' && !_vm.loading && _vm.searchApps.length === 0 && _vm.apps.length === 0)?_c('div',{staticClass:\"emptycontent emptycontent-search\",attrs:{\"id\":\"apps-list-empty\"}},[_c('div',{staticClass:\"icon-settings-dark\",attrs:{\"id\":\"app-list-empty-icon\"}}),_vm._v(\" \"),_c('h2',[_vm._v(_vm._s(_vm.t('settings', 'No apps found for your version')))])]):_vm._e(),_vm._v(\" \"),_c('div',{attrs:{\"id\":\"searchresults\"}})])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n","import mod from \"-!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AppScore.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!./AppScore.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./AppScore.vue?vue&type=template&id=d50ef390\"\nimport script from \"./AppScore.vue?vue&type=script&lang=js\"\nexport * from \"./AppScore.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('img',{staticClass:\"app-score-image\",attrs:{\"src\":_vm.scoreImage,\"alt\":_vm.t('settings', 'Rating: {score}/10', {score:_vm.appScore})}})\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import axios from '@nextcloud/axios'\nimport { generateOcsUrl } from '@nextcloud/router'\nimport { emit } from '@nextcloud/event-bus'\n\nexport default () => {\n\treturn axios.get(generateOcsUrl('core/navigation', 2) + '/apps?format=json')\n\t\t.then(({ data }) => {\n\t\t\tif (data.ocs.meta.statuscode !== 200) {\n\t\t\t\treturn\n\t\t\t}\n\n\t\t\temit('nextcloud:app-menu.refresh', { apps: data.ocs.data })\n\t\t\twindow.dispatchEvent(new Event('resize'))\n\t\t})\n}\n","/**\n * @copyright Copyright (c) 2019 Julius Härtl \n *\n * @author John Molakvoæ \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 .\n *\n */\n\nimport { showError } from '@nextcloud/dialogs'\nimport rebuildNavigation from '../service/rebuild-navigation.js'\n\nexport default {\n\tcomputed: {\n\t\tappGroups() {\n\t\t\treturn this.app.groups.map(group => { return { id: group, name: group } })\n\t\t},\n\t\tinstalling() {\n\t\t\treturn this.$store.getters.loading('install')\n\t\t},\n\t\tisLoading() {\n\t\t\treturn this.app && this.$store.getters.loading(this.app.id)\n\t\t},\n\t\tenableButtonText() {\n\t\t\tif (this.app.needsDownload) {\n\t\t\t\treturn t('settings', 'Download and enable')\n\t\t\t}\n\t\t\treturn t('settings', 'Enable')\n\t\t},\n\t\tforceEnableButtonText() {\n\t\t\tif (this.app.needsDownload) {\n\t\t\t\treturn t('settings', 'Allow untested app')\n\t\t\t}\n\t\t\treturn t('settings', 'Allow untested app')\n\t\t},\n\t\tenableButtonTooltip() {\n\t\t\tif (this.app.needsDownload) {\n\t\t\t\treturn t('settings', 'The app will be downloaded from the App Store')\n\t\t\t}\n\t\t\treturn null\n\t\t},\n\t\tforceEnableButtonTooltip() {\n\t\t\tconst base = t('settings', 'This app is not marked as compatible with your Nextcloud version. If you continue you will still be able to install the app. Note that the app might not work as expected.')\n\t\t\tif (this.app.needsDownload) {\n\t\t\t\treturn base + ' ' + t('settings', 'The app will be downloaded from the App Store')\n\t\t\t}\n\t\t\treturn base\n\t\t},\n\t},\n\n\tdata() {\n\t\treturn {\n\t\t\tgroupCheckedAppsData: false,\n\t\t}\n\t},\n\n\tmounted() {\n\t\tif (this.app && this.app.groups && this.app.groups.length > 0) {\n\t\t\tthis.groupCheckedAppsData = true\n\t\t}\n\t},\n\n\tmethods: {\n\t\tasyncFindGroup(query) {\n\t\t\treturn this.$store.dispatch('getGroups', { search: query, limit: 5, offset: 0 })\n\t\t},\n\t\tisLimitedToGroups(app) {\n\t\t\tif (this.app.groups.length || this.groupCheckedAppsData) {\n\t\t\t\treturn true\n\t\t\t}\n\t\t\treturn false\n\t\t},\n\t\tsetGroupLimit() {\n\t\t\tif (!this.groupCheckedAppsData) {\n\t\t\t\tthis.$store.dispatch('enableApp', { appId: this.app.id, groups: [] })\n\t\t\t}\n\t\t},\n\t\tcanLimitToGroups(app) {\n\t\t\tif ((app.types && app.types.includes('filesystem'))\n\t\t\t\t\t|| app.types.includes('prelogin')\n\t\t\t\t\t|| app.types.includes('authentication')\n\t\t\t\t\t|| app.types.includes('logging')\n\t\t\t\t\t|| app.types.includes('prevent_group_restriction')) {\n\t\t\t\treturn false\n\t\t\t}\n\t\t\treturn true\n\t\t},\n\t\taddGroupLimitation(groupArray) {\n\t\t\tconst group = groupArray.pop()\n\t\t\tconst groups = this.app.groups.concat([]).concat([group.id])\n\t\t\tthis.$store.dispatch('enableApp', { appId: this.app.id, groups })\n\t\t},\n\t\tremoveGroupLimitation(group) {\n\t\t\tconst currentGroups = this.app.groups.concat([])\n\t\t\tconst index = currentGroups.indexOf(group.id)\n\t\t\tif (index > -1) {\n\t\t\t\tcurrentGroups.splice(index, 1)\n\t\t\t}\n\t\t\tthis.$store.dispatch('enableApp', { appId: this.app.id, groups: currentGroups })\n\t\t},\n\t\tforceEnable(appId) {\n\t\t\tthis.$store.dispatch('forceEnableApp', { appId, groups: [] })\n\t\t\t\t.then((response) => { rebuildNavigation() })\n\t\t\t\t.catch((error) => { showError(error) })\n\t\t},\n\t\tenable(appId) {\n\t\t\tthis.$store.dispatch('enableApp', { appId, groups: [] })\n\t\t\t\t.then((response) => { rebuildNavigation() })\n\t\t\t\t.catch((error) => { showError(error) })\n\t\t},\n\t\tdisable(appId) {\n\t\t\tthis.$store.dispatch('disableApp', { appId })\n\t\t\t\t.then((response) => { rebuildNavigation() })\n\t\t\t\t.catch((error) => { showError(error) })\n\t\t},\n\t\tremove(appId) {\n\t\t\tthis.$store.dispatch('uninstallApp', { appId })\n\t\t\t\t.then((response) => { rebuildNavigation() })\n\t\t\t\t.catch((error) => { showError(error) })\n\t\t},\n\t\tinstall(appId) {\n\t\t\tthis.$store.dispatch('enableApp', { appId })\n\t\t\t\t.then((response) => { rebuildNavigation() })\n\t\t\t\t.catch((error) => { showError(error) })\n\t\t},\n\t\tupdate(appId) {\n\t\t\tthis.$store.dispatch('updateApp', { appId })\n\t\t\t\t.then((response) => { rebuildNavigation() })\n\t\t\t\t.catch((error) => { showError(error) })\n\t\t},\n\t},\n}\n","import mod from \"-!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SvgFilterMixin.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!./SvgFilterMixin.vue?vue&type=script&lang=js\"","\n\n\n","var render, staticRenderFns\nimport script from \"./SvgFilterMixin.vue?vue&type=script&lang=js\"\nexport * from \"./SvgFilterMixin.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","\n\n\n\n\n\n\n","import mod from \"-!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AppItem.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!./AppItem.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!./AppItem.vue?vue&type=style&index=0&id=79bd4dc4&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!./AppItem.vue?vue&type=style&index=0&id=79bd4dc4&prod&scoped=true&lang=scss\";\n export default content && content.locals ? content.locals : undefined;\n","import { render, staticRenderFns } from \"./AppItem.vue?vue&type=template&id=79bd4dc4&scoped=true\"\nimport script from \"./AppItem.vue?vue&type=script&lang=js\"\nexport * from \"./AppItem.vue?vue&type=script&lang=js\"\nimport style0 from \"./AppItem.vue?vue&type=style&index=0&id=79bd4dc4&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 \"79bd4dc4\",\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c(_vm.listView ? `tr` : `li`,{tag:\"component\",staticClass:\"section\",class:{ selected: _vm.isSelected }},[_c(_vm.dataItemTag,{tag:\"component\",staticClass:\"app-image app-image-icon\",attrs:{\"headers\":_vm.getDataItemHeaders(`app-table-col-icon`)}},[((_vm.listView && !_vm.app.preview) || (!_vm.listView && !_vm.screenshotLoaded))?_c('div',{staticClass:\"icon-settings-dark\"}):(_vm.listView && _vm.app.preview)?_c('svg',{attrs:{\"width\":\"32\",\"height\":\"32\",\"viewBox\":\"0 0 32 32\"}},[_c('image',{staticClass:\"app-icon\",attrs:{\"x\":\"0\",\"y\":\"0\",\"width\":\"32\",\"height\":\"32\",\"preserveAspectRatio\":\"xMinYMin meet\",\"xlink:href\":_vm.app.preview}})]):_vm._e(),_vm._v(\" \"),(!_vm.listView && _vm.app.screenshot && _vm.screenshotLoaded)?_c('img',{attrs:{\"src\":_vm.app.screenshot,\"alt\":\"\"}}):_vm._e()]),_vm._v(\" \"),_c(_vm.dataItemTag,{tag:\"component\",staticClass:\"app-name\",attrs:{\"headers\":_vm.getDataItemHeaders(`app-table-col-name`)}},[_c('router-link',{staticClass:\"app-name--link\",attrs:{\"to\":{ name: 'apps-details',\tparams: { category: _vm.category, id: _vm.app.id }},\"aria-label\":_vm.t('settings', 'Show details for {appName} app', { appName:_vm.app.name })}},[_vm._v(\"\\n\\t\\t\\t\"+_vm._s(_vm.app.name)+\"\\n\\t\\t\")])],1),_vm._v(\" \"),(!_vm.listView)?_c(_vm.dataItemTag,{tag:\"component\",staticClass:\"app-summary\",attrs:{\"headers\":_vm.getDataItemHeaders(`app-version`)}},[_vm._v(\"\\n\\t\\t\"+_vm._s(_vm.app.summary)+\"\\n\\t\")]):_vm._e(),_vm._v(\" \"),(_vm.listView)?_c(_vm.dataItemTag,{tag:\"component\",staticClass:\"app-version\",attrs:{\"headers\":_vm.getDataItemHeaders(`app-table-col-version`)}},[(_vm.app.version)?_c('span',[_vm._v(_vm._s(_vm.app.version))]):(_vm.app.appstoreData.releases[0].version)?_c('span',[_vm._v(_vm._s(_vm.app.appstoreData.releases[0].version))]):_vm._e()]):_vm._e(),_vm._v(\" \"),_c(_vm.dataItemTag,{tag:\"component\",staticClass:\"app-level\",attrs:{\"headers\":_vm.getDataItemHeaders(`app-table-col-level`)}},[(_vm.app.level === 300)?_c('span',{staticClass:\"supported icon-checkmark-color\",attrs:{\"title\":_vm.t('settings', 'This app is supported via your current Nextcloud subscription.'),\"aria-label\":_vm.t('settings', 'This app is supported via your current Nextcloud subscription.')}},[_vm._v(\"\\n\\t\\t\\t\"+_vm._s(_vm.t('settings', 'Supported')))]):_vm._e(),_vm._v(\" \"),(_vm.app.level === 200)?_c('span',{staticClass:\"official icon-checkmark\",attrs:{\"title\":_vm.t('settings', 'Featured apps are developed by and within the community. They offer central functionality and are ready for production use.'),\"aria-label\":_vm.t('settings', 'Featured apps are developed by and within the community. They offer central functionality and are ready for production use.')}},[_vm._v(\"\\n\\t\\t\\t\"+_vm._s(_vm.t('settings', 'Featured')))]):_vm._e(),_vm._v(\" \"),(_vm.hasRating && !_vm.listView)?_c('AppScore',{attrs:{\"score\":_vm.app.score}}):_vm._e()],1),_vm._v(\" \"),_c(_vm.dataItemTag,{tag:\"component\",staticClass:\"actions\",attrs:{\"headers\":_vm.getDataItemHeaders(`app-table-col-actions`)}},[(_vm.app.error)?_c('div',{staticClass:\"warning\"},[_vm._v(\"\\n\\t\\t\\t\"+_vm._s(_vm.app.error)+\"\\n\\t\\t\")]):_vm._e(),_vm._v(\" \"),(_vm.isLoading)?_c('div',{staticClass:\"icon icon-loading-small\"}):_vm._e(),_vm._v(\" \"),(_vm.app.update)?_c('NcButton',{attrs:{\"type\":\"primary\",\"disabled\":_vm.installing || _vm.isLoading},on:{\"click\":function($event){$event.stopPropagation();return _vm.update(_vm.app.id)}}},[_vm._v(\"\\n\\t\\t\\t\"+_vm._s(_vm.t('settings', 'Update to {update}', {update:_vm.app.update}))+\"\\n\\t\\t\")]):_vm._e(),_vm._v(\" \"),(_vm.app.canUnInstall)?_c('NcButton',{staticClass:\"uninstall\",attrs:{\"type\":\"tertiary\",\"disabled\":_vm.installing || _vm.isLoading},on:{\"click\":function($event){$event.stopPropagation();return _vm.remove(_vm.app.id)}}},[_vm._v(\"\\n\\t\\t\\t\"+_vm._s(_vm.t('settings', 'Remove'))+\"\\n\\t\\t\")]):_vm._e(),_vm._v(\" \"),(_vm.app.active)?_c('NcButton',{attrs:{\"disabled\":_vm.installing || _vm.isLoading},on:{\"click\":function($event){$event.stopPropagation();return _vm.disable(_vm.app.id)}}},[_vm._v(\"\\n\\t\\t\\t\"+_vm._s(_vm.t('settings','Disable'))+\"\\n\\t\\t\")]):_vm._e(),_vm._v(\" \"),(!_vm.app.active && (_vm.app.canInstall || _vm.app.isCompatible))?_c('NcButton',{attrs:{\"title\":_vm.enableButtonTooltip,\"aria-label\":_vm.enableButtonTooltip,\"type\":\"primary\",\"disabled\":!_vm.app.canInstall || _vm.installing || _vm.isLoading},on:{\"click\":function($event){$event.stopPropagation();return _vm.enable(_vm.app.id)}}},[_vm._v(\"\\n\\t\\t\\t\"+_vm._s(_vm.enableButtonText)+\"\\n\\t\\t\")]):(!_vm.app.active)?_c('NcButton',{attrs:{\"title\":_vm.forceEnableButtonTooltip,\"aria-label\":_vm.forceEnableButtonTooltip,\"type\":\"secondary\",\"disabled\":_vm.installing || _vm.isLoading},on:{\"click\":function($event){$event.stopPropagation();return _vm.forceEnable(_vm.app.id)}}},[_vm._v(\"\\n\\t\\t\\t\"+_vm._s(_vm.forceEnableButtonText)+\"\\n\\t\\t\")]):_vm._e()],1)],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render, staticRenderFns\nimport script from \"./PrefixMixin.vue?vue&type=script&lang=js\"\nexport * from \"./PrefixMixin.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","\n\n\n","import Queue from 'yocto-queue';\n\nexport default function pLimit(concurrency) {\n\tif (!((Number.isInteger(concurrency) || concurrency === Number.POSITIVE_INFINITY) && concurrency > 0)) {\n\t\tthrow new TypeError('Expected `concurrency` to be a number from 1 and up');\n\t}\n\n\tconst queue = new Queue();\n\tlet activeCount = 0;\n\n\tconst next = () => {\n\t\tactiveCount--;\n\n\t\tif (queue.size > 0) {\n\t\t\tqueue.dequeue()();\n\t\t}\n\t};\n\n\tconst run = async (fn, resolve, args) => {\n\t\tactiveCount++;\n\n\t\tconst result = (async () => fn(...args))();\n\n\t\tresolve(result);\n\n\t\ttry {\n\t\t\tawait result;\n\t\t} catch {}\n\n\t\tnext();\n\t};\n\n\tconst enqueue = (fn, resolve, args) => {\n\t\tqueue.enqueue(run.bind(undefined, fn, resolve, args));\n\n\t\t(async () => {\n\t\t\t// This function needs to wait until the next microtask before comparing\n\t\t\t// `activeCount` to `concurrency`, because `activeCount` is updated asynchronously\n\t\t\t// when the run function is dequeued and called. The comparison in the if-statement\n\t\t\t// needs to happen asynchronously as well to get an up-to-date value for `activeCount`.\n\t\t\tawait Promise.resolve();\n\n\t\t\tif (activeCount < concurrency && queue.size > 0) {\n\t\t\t\tqueue.dequeue()();\n\t\t\t}\n\t\t})();\n\t};\n\n\tconst generator = (fn, ...args) => new Promise(resolve => {\n\t\tenqueue(fn, resolve, args);\n\t});\n\n\tObject.defineProperties(generator, {\n\t\tactiveCount: {\n\t\t\tget: () => activeCount,\n\t\t},\n\t\tpendingCount: {\n\t\t\tget: () => queue.size,\n\t\t},\n\t\tclearQueue: {\n\t\t\tvalue: () => {\n\t\t\t\tqueue.clear();\n\t\t\t},\n\t\t},\n\t});\n\n\treturn generator;\n}\n","\n\n\n\n\n\n\n","import mod from \"-!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AppList.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!./AppList.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!./AppList.vue?vue&type=style&index=0&id=0294f215&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!./AppList.vue?vue&type=style&index=0&id=0294f215&prod&lang=scss&scoped=true\";\n export default content && content.locals ? content.locals : undefined;\n","import { render, staticRenderFns } from \"./AppList.vue?vue&type=template&id=0294f215&scoped=true\"\nimport script from \"./AppList.vue?vue&type=script&lang=js\"\nexport * from \"./AppList.vue?vue&type=script&lang=js\"\nimport style0 from \"./AppList.vue?vue&type=style&index=0&id=0294f215&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 \"0294f215\",\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',{staticClass:\"app-details\"},[_c('div',{staticClass:\"app-details__actions\"},[(_vm.app.active && _vm.canLimitToGroups(_vm.app))?_c('div',{staticClass:\"app-details__actions-groups\"},[_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.groupCheckedAppsData),expression:\"groupCheckedAppsData\"}],staticClass:\"groups-enable__checkbox checkbox\",attrs:{\"id\":_vm.prefix('groups_enable', _vm.app.id),\"type\":\"checkbox\"},domProps:{\"value\":_vm.app.id,\"checked\":Array.isArray(_vm.groupCheckedAppsData)?_vm._i(_vm.groupCheckedAppsData,_vm.app.id)>-1:(_vm.groupCheckedAppsData)},on:{\"change\":[function($event){var $$a=_vm.groupCheckedAppsData,$$el=$event.target,$$c=$$el.checked?(true):(false);if(Array.isArray($$a)){var $$v=_vm.app.id,$$i=_vm._i($$a,$$v);if($$el.checked){$$i<0&&(_vm.groupCheckedAppsData=$$a.concat([$$v]))}else{$$i>-1&&(_vm.groupCheckedAppsData=$$a.slice(0,$$i).concat($$a.slice($$i+1)))}}else{_vm.groupCheckedAppsData=$$c}},_vm.setGroupLimit]}}),_vm._v(\" \"),_c('label',{attrs:{\"for\":_vm.prefix('groups_enable', _vm.app.id)}},[_vm._v(_vm._s(_vm.t('settings', 'Limit to groups')))]),_vm._v(\" \"),_c('input',{staticClass:\"group_select\",attrs:{\"type\":\"hidden\",\"title\":_vm.t('settings', 'All'),\"value\":\"\"}}),_vm._v(\" \"),_c('br'),_vm._v(\" \"),_c('label',{attrs:{\"for\":\"limitToGroups\"}},[_c('span',[_vm._v(_vm._s(_vm.t('settings', 'Limit app usage to groups')))])]),_vm._v(\" \"),(_vm.isLimitedToGroups(_vm.app))?_c('NcSelect',{attrs:{\"input-id\":\"limitToGroups\",\"options\":_vm.groups,\"value\":_vm.appGroups,\"limit\":5,\"label\":\"name\",\"multiple\":true,\"close-on-select\":false},on:{\"option:selected\":_vm.addGroupLimitation,\"option:deselected\":_vm.removeGroupLimitation,\"search\":_vm.asyncFindGroup}},[_c('span',{attrs:{\"slot\":\"noResult\"},slot:\"noResult\"},[_vm._v(_vm._s(_vm.t('settings', 'No results')))])]):_vm._e()],1):_vm._e(),_vm._v(\" \"),_c('div',{staticClass:\"app-details__actions-manage\"},[(_vm.app.update)?_c('input',{staticClass:\"update primary\",attrs:{\"type\":\"button\",\"value\":_vm.t('settings', 'Update to {version}', { version: _vm.app.update }),\"disabled\":_vm.installing || _vm.isLoading},on:{\"click\":function($event){return _vm.update(_vm.app.id)}}}):_vm._e(),_vm._v(\" \"),(_vm.app.canUnInstall)?_c('input',{staticClass:\"uninstall\",attrs:{\"type\":\"button\",\"value\":_vm.t('settings', 'Remove'),\"disabled\":_vm.installing || _vm.isLoading},on:{\"click\":function($event){return _vm.remove(_vm.app.id)}}}):_vm._e(),_vm._v(\" \"),(_vm.app.active)?_c('input',{staticClass:\"enable\",attrs:{\"type\":\"button\",\"value\":_vm.t('settings','Disable'),\"disabled\":_vm.installing || _vm.isLoading},on:{\"click\":function($event){return _vm.disable(_vm.app.id)}}}):_vm._e(),_vm._v(\" \"),(!_vm.app.active && (_vm.app.canInstall || _vm.app.isCompatible))?_c('input',{staticClass:\"enable primary\",attrs:{\"title\":_vm.enableButtonTooltip,\"aria-label\":_vm.enableButtonTooltip,\"type\":\"button\",\"value\":_vm.enableButtonText,\"disabled\":!_vm.app.canInstall || _vm.installing || _vm.isLoading},on:{\"click\":function($event){return _vm.enable(_vm.app.id)}}}):(!_vm.app.active && !_vm.app.canInstall)?_c('input',{staticClass:\"enable force\",attrs:{\"title\":_vm.forceEnableButtonTooltip,\"aria-label\":_vm.forceEnableButtonTooltip,\"type\":\"button\",\"value\":_vm.forceEnableButtonText,\"disabled\":_vm.installing || _vm.isLoading},on:{\"click\":function($event){return _vm.forceEnable(_vm.app.id)}}}):_vm._e()])]),_vm._v(\" \"),_c('ul',{staticClass:\"app-details__dependencies\"},[(_vm.app.missingMinOwnCloudVersion)?_c('li',[_vm._v(\"\\n\\t\\t\\t\"+_vm._s(_vm.t('settings', 'This app has no minimum Nextcloud version assigned. This will be an error in the future.'))+\"\\n\\t\\t\")]):_vm._e(),_vm._v(\" \"),(_vm.app.missingMaxOwnCloudVersion)?_c('li',[_vm._v(\"\\n\\t\\t\\t\"+_vm._s(_vm.t('settings', 'This app has no maximum Nextcloud version assigned. This will be an error in the future.'))+\"\\n\\t\\t\")]):_vm._e(),_vm._v(\" \"),(!_vm.app.canInstall)?_c('li',[_vm._v(\"\\n\\t\\t\\t\"+_vm._s(_vm.t('settings', 'This app cannot be installed because the following dependencies are not fulfilled:'))+\"\\n\\t\\t\\t\"),_c('ul',{staticClass:\"missing-dependencies\"},_vm._l((_vm.app.missingDependencies),function(dep,index){return _c('li',{key:index},[_vm._v(\"\\n\\t\\t\\t\\t\\t\"+_vm._s(dep)+\"\\n\\t\\t\\t\\t\")])}),0)]):_vm._e()]),_vm._v(\" \"),_c('p',{staticClass:\"app-details__documentation\"},[(!_vm.app.internal)?_c('a',{staticClass:\"appslink\",attrs:{\"href\":_vm.appstoreUrl,\"target\":\"_blank\",\"rel\":\"noreferrer noopener\"}},[_vm._v(_vm._s(_vm.t('settings', 'View in store'))+\" ↗\")]):_vm._e(),_vm._v(\" \"),(_vm.app.website)?_c('a',{staticClass:\"appslink\",attrs:{\"href\":_vm.app.website,\"target\":\"_blank\",\"rel\":\"noreferrer noopener\"}},[_vm._v(_vm._s(_vm.t('settings', 'Visit website'))+\" ↗\")]):_vm._e(),_vm._v(\" \"),(_vm.app.bugs)?_c('a',{staticClass:\"appslink\",attrs:{\"href\":_vm.app.bugs,\"target\":\"_blank\",\"rel\":\"noreferrer noopener\"}},[_vm._v(_vm._s(_vm.t('settings', 'Report a bug'))+\" ↗\")]):_vm._e(),_vm._v(\" \"),(_vm.app.documentation && _vm.app.documentation.user)?_c('a',{staticClass:\"appslink\",attrs:{\"href\":_vm.app.documentation.user,\"target\":\"_blank\",\"rel\":\"noreferrer noopener\"}},[_vm._v(_vm._s(_vm.t('settings', 'Usage documentation'))+\" ↗\")]):_vm._e(),_vm._v(\" \"),(_vm.app.documentation && _vm.app.documentation.admin)?_c('a',{staticClass:\"appslink\",attrs:{\"href\":_vm.app.documentation.admin,\"target\":\"_blank\",\"rel\":\"noreferrer noopener\"}},[_vm._v(_vm._s(_vm.t('settings', 'Admin documentation'))+\" ↗\")]):_vm._e(),_vm._v(\" \"),(_vm.app.documentation && _vm.app.documentation.developer)?_c('a',{staticClass:\"appslink\",attrs:{\"href\":_vm.app.documentation.developer,\"target\":\"_blank\",\"rel\":\"noreferrer noopener\"}},[_vm._v(_vm._s(_vm.t('settings', 'Developer documentation'))+\" ↗\")]):_vm._e()]),_vm._v(\" \"),_c('Markdown',{staticClass:\"app-details__description\",attrs:{\"text\":_vm.app.description}})],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","/**\n * marked v11.2.0 - a markdown parser\n * Copyright (c) 2011-2024, Christopher Jeffrey. (MIT Licensed)\n * https://github.com/markedjs/marked\n */\n\n/**\n * DO NOT EDIT THIS FILE\n * The code in this file is generated from files in ./src/\n */\n\n/**\n * Gets the original marked default options.\n */\nfunction _getDefaults() {\n return {\n async: false,\n breaks: false,\n extensions: null,\n gfm: true,\n hooks: null,\n pedantic: false,\n renderer: null,\n silent: false,\n tokenizer: null,\n walkTokens: null\n };\n}\nlet _defaults = _getDefaults();\nfunction changeDefaults(newDefaults) {\n _defaults = newDefaults;\n}\n\n/**\n * Helpers\n */\nconst escapeTest = /[&<>\"']/;\nconst escapeReplace = new RegExp(escapeTest.source, 'g');\nconst escapeTestNoEncode = /[<>\"']|&(?!(#\\d{1,7}|#[Xx][a-fA-F0-9]{1,6}|\\w+);)/;\nconst escapeReplaceNoEncode = new RegExp(escapeTestNoEncode.source, 'g');\nconst escapeReplacements = {\n '&': '&',\n '<': '<',\n '>': '>',\n '\"': '"',\n \"'\": '''\n};\nconst getEscapeReplacement = (ch) => escapeReplacements[ch];\nfunction escape$1(html, encode) {\n if (encode) {\n if (escapeTest.test(html)) {\n return html.replace(escapeReplace, getEscapeReplacement);\n }\n }\n else {\n if (escapeTestNoEncode.test(html)) {\n return html.replace(escapeReplaceNoEncode, getEscapeReplacement);\n }\n }\n return html;\n}\nconst unescapeTest = /&(#(?:\\d+)|(?:#x[0-9A-Fa-f]+)|(?:\\w+));?/ig;\nfunction unescape(html) {\n // explicitly match decimal, hex, and named HTML entities\n return html.replace(unescapeTest, (_, n) => {\n n = n.toLowerCase();\n if (n === 'colon')\n return ':';\n if (n.charAt(0) === '#') {\n return n.charAt(1) === 'x'\n ? String.fromCharCode(parseInt(n.substring(2), 16))\n : String.fromCharCode(+n.substring(1));\n }\n return '';\n });\n}\nconst caret = /(^|[^\\[])\\^/g;\nfunction edit(regex, opt) {\n let source = typeof regex === 'string' ? regex : regex.source;\n opt = opt || '';\n const obj = {\n replace: (name, val) => {\n let valSource = typeof val === 'string' ? val : val.source;\n valSource = valSource.replace(caret, '$1');\n source = source.replace(name, valSource);\n return obj;\n },\n getRegex: () => {\n return new RegExp(source, opt);\n }\n };\n return obj;\n}\nfunction cleanUrl(href) {\n try {\n href = encodeURI(href).replace(/%25/g, '%');\n }\n catch (e) {\n return null;\n }\n return href;\n}\nconst noopTest = { exec: () => null };\nfunction splitCells(tableRow, count) {\n // ensure that every cell-delimiting pipe has a space\n // before it to distinguish it from an escaped pipe\n const row = tableRow.replace(/\\|/g, (match, offset, str) => {\n let escaped = false;\n let curr = offset;\n while (--curr >= 0 && str[curr] === '\\\\')\n escaped = !escaped;\n if (escaped) {\n // odd number of slashes means | is escaped\n // so we leave it alone\n return '|';\n }\n else {\n // add space before unescaped |\n return ' |';\n }\n }), cells = row.split(/ \\|/);\n let i = 0;\n // First/last cell in a row cannot be empty if it has no leading/trailing pipe\n if (!cells[0].trim()) {\n cells.shift();\n }\n if (cells.length > 0 && !cells[cells.length - 1].trim()) {\n cells.pop();\n }\n if (count) {\n if (cells.length > count) {\n cells.splice(count);\n }\n else {\n while (cells.length < count)\n cells.push('');\n }\n }\n for (; i < cells.length; i++) {\n // leading or trailing whitespace is ignored per the gfm spec\n cells[i] = cells[i].trim().replace(/\\\\\\|/g, '|');\n }\n return cells;\n}\n/**\n * Remove trailing 'c's. Equivalent to str.replace(/c*$/, '').\n * /c*$/ is vulnerable to REDOS.\n *\n * @param str\n * @param c\n * @param invert Remove suffix of non-c chars instead. Default falsey.\n */\nfunction rtrim(str, c, invert) {\n const l = str.length;\n if (l === 0) {\n return '';\n }\n // Length of suffix matching the invert condition.\n let suffLen = 0;\n // Step left until we fail to match the invert condition.\n while (suffLen < l) {\n const currChar = str.charAt(l - suffLen - 1);\n if (currChar === c && !invert) {\n suffLen++;\n }\n else if (currChar !== c && invert) {\n suffLen++;\n }\n else {\n break;\n }\n }\n return str.slice(0, l - suffLen);\n}\nfunction findClosingBracket(str, b) {\n if (str.indexOf(b[1]) === -1) {\n return -1;\n }\n let level = 0;\n for (let i = 0; i < str.length; i++) {\n if (str[i] === '\\\\') {\n i++;\n }\n else if (str[i] === b[0]) {\n level++;\n }\n else if (str[i] === b[1]) {\n level--;\n if (level < 0) {\n return i;\n }\n }\n }\n return -1;\n}\n\nfunction outputLink(cap, link, raw, lexer) {\n const href = link.href;\n const title = link.title ? escape$1(link.title) : null;\n const text = cap[1].replace(/\\\\([\\[\\]])/g, '$1');\n if (cap[0].charAt(0) !== '!') {\n lexer.state.inLink = true;\n const token = {\n type: 'link',\n raw,\n href,\n title,\n text,\n tokens: lexer.inlineTokens(text)\n };\n lexer.state.inLink = false;\n return token;\n }\n return {\n type: 'image',\n raw,\n href,\n title,\n text: escape$1(text)\n };\n}\nfunction indentCodeCompensation(raw, text) {\n const matchIndentToCode = raw.match(/^(\\s+)(?:```)/);\n if (matchIndentToCode === null) {\n return text;\n }\n const indentToCode = matchIndentToCode[1];\n return text\n .split('\\n')\n .map(node => {\n const matchIndentInNode = node.match(/^\\s+/);\n if (matchIndentInNode === null) {\n return node;\n }\n const [indentInNode] = matchIndentInNode;\n if (indentInNode.length >= indentToCode.length) {\n return node.slice(indentToCode.length);\n }\n return node;\n })\n .join('\\n');\n}\n/**\n * Tokenizer\n */\nclass _Tokenizer {\n options;\n rules; // set by the lexer\n lexer; // set by the lexer\n constructor(options) {\n this.options = options || _defaults;\n }\n space(src) {\n const cap = this.rules.block.newline.exec(src);\n if (cap && cap[0].length > 0) {\n return {\n type: 'space',\n raw: cap[0]\n };\n }\n }\n code(src) {\n const cap = this.rules.block.code.exec(src);\n if (cap) {\n const text = cap[0].replace(/^ {1,4}/gm, '');\n return {\n type: 'code',\n raw: cap[0],\n codeBlockStyle: 'indented',\n text: !this.options.pedantic\n ? rtrim(text, '\\n')\n : text\n };\n }\n }\n fences(src) {\n const cap = this.rules.block.fences.exec(src);\n if (cap) {\n const raw = cap[0];\n const text = indentCodeCompensation(raw, cap[3] || '');\n return {\n type: 'code',\n raw,\n lang: cap[2] ? cap[2].trim().replace(this.rules.inline.anyPunctuation, '$1') : cap[2],\n text\n };\n }\n }\n heading(src) {\n const cap = this.rules.block.heading.exec(src);\n if (cap) {\n let text = cap[2].trim();\n // remove trailing #s\n if (/#$/.test(text)) {\n const trimmed = rtrim(text, '#');\n if (this.options.pedantic) {\n text = trimmed.trim();\n }\n else if (!trimmed || / $/.test(trimmed)) {\n // CommonMark requires space before trailing #s\n text = trimmed.trim();\n }\n }\n return {\n type: 'heading',\n raw: cap[0],\n depth: cap[1].length,\n text,\n tokens: this.lexer.inline(text)\n };\n }\n }\n hr(src) {\n const cap = this.rules.block.hr.exec(src);\n if (cap) {\n return {\n type: 'hr',\n raw: cap[0]\n };\n }\n }\n blockquote(src) {\n const cap = this.rules.block.blockquote.exec(src);\n if (cap) {\n const text = rtrim(cap[0].replace(/^ *>[ \\t]?/gm, ''), '\\n');\n const top = this.lexer.state.top;\n this.lexer.state.top = true;\n const tokens = this.lexer.blockTokens(text);\n this.lexer.state.top = top;\n return {\n type: 'blockquote',\n raw: cap[0],\n tokens,\n text\n };\n }\n }\n list(src) {\n let cap = this.rules.block.list.exec(src);\n if (cap) {\n let bull = cap[1].trim();\n const isordered = bull.length > 1;\n const list = {\n type: 'list',\n raw: '',\n ordered: isordered,\n start: isordered ? +bull.slice(0, -1) : '',\n loose: false,\n items: []\n };\n bull = isordered ? `\\\\d{1,9}\\\\${bull.slice(-1)}` : `\\\\${bull}`;\n if (this.options.pedantic) {\n bull = isordered ? bull : '[*+-]';\n }\n // Get next list item\n const itemRegex = new RegExp(`^( {0,3}${bull})((?:[\\t ][^\\\\n]*)?(?:\\\\n|$))`);\n let raw = '';\n let itemContents = '';\n let endsWithBlankLine = false;\n // Check if current bullet point can start a new List Item\n while (src) {\n let endEarly = false;\n if (!(cap = itemRegex.exec(src))) {\n break;\n }\n if (this.rules.block.hr.test(src)) { // End list if bullet was actually HR (possibly move into itemRegex?)\n break;\n }\n raw = cap[0];\n src = src.substring(raw.length);\n let line = cap[2].split('\\n', 1)[0].replace(/^\\t+/, (t) => ' '.repeat(3 * t.length));\n let nextLine = src.split('\\n', 1)[0];\n let indent = 0;\n if (this.options.pedantic) {\n indent = 2;\n itemContents = line.trimStart();\n }\n else {\n indent = cap[2].search(/[^ ]/); // Find first non-space char\n indent = indent > 4 ? 1 : indent; // Treat indented code blocks (> 4 spaces) as having only 1 indent\n itemContents = line.slice(indent);\n indent += cap[1].length;\n }\n let blankLine = false;\n if (!line && /^ *$/.test(nextLine)) { // Items begin with at most one blank line\n raw += nextLine + '\\n';\n src = src.substring(nextLine.length + 1);\n endEarly = true;\n }\n if (!endEarly) {\n const nextBulletRegex = new RegExp(`^ {0,${Math.min(3, indent - 1)}}(?:[*+-]|\\\\d{1,9}[.)])((?:[ \\t][^\\\\n]*)?(?:\\\\n|$))`);\n const hrRegex = new RegExp(`^ {0,${Math.min(3, indent - 1)}}((?:- *){3,}|(?:_ *){3,}|(?:\\\\* *){3,})(?:\\\\n+|$)`);\n const fencesBeginRegex = new RegExp(`^ {0,${Math.min(3, indent - 1)}}(?:\\`\\`\\`|~~~)`);\n const headingBeginRegex = new RegExp(`^ {0,${Math.min(3, indent - 1)}}#`);\n // Check if following lines should be included in List Item\n while (src) {\n const rawLine = src.split('\\n', 1)[0];\n nextLine = rawLine;\n // Re-align to follow commonmark nesting rules\n if (this.options.pedantic) {\n nextLine = nextLine.replace(/^ {1,4}(?=( {4})*[^ ])/g, ' ');\n }\n // End list item if found code fences\n if (fencesBeginRegex.test(nextLine)) {\n break;\n }\n // End list item if found start of new heading\n if (headingBeginRegex.test(nextLine)) {\n break;\n }\n // End list item if found start of new bullet\n if (nextBulletRegex.test(nextLine)) {\n break;\n }\n // Horizontal rule found\n if (hrRegex.test(src)) {\n break;\n }\n if (nextLine.search(/[^ ]/) >= indent || !nextLine.trim()) { // Dedent if possible\n itemContents += '\\n' + nextLine.slice(indent);\n }\n else {\n // not enough indentation\n if (blankLine) {\n break;\n }\n // paragraph continuation unless last line was a different block level element\n if (line.search(/[^ ]/) >= 4) { // indented code block\n break;\n }\n if (fencesBeginRegex.test(line)) {\n break;\n }\n if (headingBeginRegex.test(line)) {\n break;\n }\n if (hrRegex.test(line)) {\n break;\n }\n itemContents += '\\n' + nextLine;\n }\n if (!blankLine && !nextLine.trim()) { // Check if current line is blank\n blankLine = true;\n }\n raw += rawLine + '\\n';\n src = src.substring(rawLine.length + 1);\n line = nextLine.slice(indent);\n }\n }\n if (!list.loose) {\n // If the previous item ended with a blank line, the list is loose\n if (endsWithBlankLine) {\n list.loose = true;\n }\n else if (/\\n *\\n *$/.test(raw)) {\n endsWithBlankLine = true;\n }\n }\n let istask = null;\n let ischecked;\n // Check for task list items\n if (this.options.gfm) {\n istask = /^\\[[ xX]\\] /.exec(itemContents);\n if (istask) {\n ischecked = istask[0] !== '[ ] ';\n itemContents = itemContents.replace(/^\\[[ xX]\\] +/, '');\n }\n }\n list.items.push({\n type: 'list_item',\n raw,\n task: !!istask,\n checked: ischecked,\n loose: false,\n text: itemContents,\n tokens: []\n });\n list.raw += raw;\n }\n // Do not consume newlines at end of final item. Alternatively, make itemRegex *start* with any newlines to simplify/speed up endsWithBlankLine logic\n list.items[list.items.length - 1].raw = raw.trimEnd();\n (list.items[list.items.length - 1]).text = itemContents.trimEnd();\n list.raw = list.raw.trimEnd();\n // Item child tokens handled here at end because we needed to have the final item to trim it first\n for (let i = 0; i < list.items.length; i++) {\n this.lexer.state.top = false;\n list.items[i].tokens = this.lexer.blockTokens(list.items[i].text, []);\n if (!list.loose) {\n // Check if list should be loose\n const spacers = list.items[i].tokens.filter(t => t.type === 'space');\n const hasMultipleLineBreaks = spacers.length > 0 && spacers.some(t => /\\n.*\\n/.test(t.raw));\n list.loose = hasMultipleLineBreaks;\n }\n }\n // Set all items to loose if list is loose\n if (list.loose) {\n for (let i = 0; i < list.items.length; i++) {\n list.items[i].loose = true;\n }\n }\n return list;\n }\n }\n html(src) {\n const cap = this.rules.block.html.exec(src);\n if (cap) {\n const token = {\n type: 'html',\n block: true,\n raw: cap[0],\n pre: cap[1] === 'pre' || cap[1] === 'script' || cap[1] === 'style',\n text: cap[0]\n };\n return token;\n }\n }\n def(src) {\n const cap = this.rules.block.def.exec(src);\n if (cap) {\n const tag = cap[1].toLowerCase().replace(/\\s+/g, ' ');\n const href = cap[2] ? cap[2].replace(/^<(.*)>$/, '$1').replace(this.rules.inline.anyPunctuation, '$1') : '';\n const title = cap[3] ? cap[3].substring(1, cap[3].length - 1).replace(this.rules.inline.anyPunctuation, '$1') : cap[3];\n return {\n type: 'def',\n tag,\n raw: cap[0],\n href,\n title\n };\n }\n }\n table(src) {\n const cap = this.rules.block.table.exec(src);\n if (!cap) {\n return;\n }\n if (!/[:|]/.test(cap[2])) {\n // delimiter row must have a pipe (|) or colon (:) otherwise it is a setext heading\n return;\n }\n const headers = splitCells(cap[1]);\n const aligns = cap[2].replace(/^\\||\\| *$/g, '').split('|');\n const rows = cap[3] && cap[3].trim() ? cap[3].replace(/\\n[ \\t]*$/, '').split('\\n') : [];\n const item = {\n type: 'table',\n raw: cap[0],\n header: [],\n align: [],\n rows: []\n };\n if (headers.length !== aligns.length) {\n // header and align columns must be equal, rows can be different.\n return;\n }\n for (const align of aligns) {\n if (/^ *-+: *$/.test(align)) {\n item.align.push('right');\n }\n else if (/^ *:-+: *$/.test(align)) {\n item.align.push('center');\n }\n else if (/^ *:-+ *$/.test(align)) {\n item.align.push('left');\n }\n else {\n item.align.push(null);\n }\n }\n for (const header of headers) {\n item.header.push({\n text: header,\n tokens: this.lexer.inline(header)\n });\n }\n for (const row of rows) {\n item.rows.push(splitCells(row, item.header.length).map(cell => {\n return {\n text: cell,\n tokens: this.lexer.inline(cell)\n };\n }));\n }\n return item;\n }\n lheading(src) {\n const cap = this.rules.block.lheading.exec(src);\n if (cap) {\n return {\n type: 'heading',\n raw: cap[0],\n depth: cap[2].charAt(0) === '=' ? 1 : 2,\n text: cap[1],\n tokens: this.lexer.inline(cap[1])\n };\n }\n }\n paragraph(src) {\n const cap = this.rules.block.paragraph.exec(src);\n if (cap) {\n const text = cap[1].charAt(cap[1].length - 1) === '\\n'\n ? cap[1].slice(0, -1)\n : cap[1];\n return {\n type: 'paragraph',\n raw: cap[0],\n text,\n tokens: this.lexer.inline(text)\n };\n }\n }\n text(src) {\n const cap = this.rules.block.text.exec(src);\n if (cap) {\n return {\n type: 'text',\n raw: cap[0],\n text: cap[0],\n tokens: this.lexer.inline(cap[0])\n };\n }\n }\n escape(src) {\n const cap = this.rules.inline.escape.exec(src);\n if (cap) {\n return {\n type: 'escape',\n raw: cap[0],\n text: escape$1(cap[1])\n };\n }\n }\n tag(src) {\n const cap = this.rules.inline.tag.exec(src);\n if (cap) {\n if (!this.lexer.state.inLink && /^/i.test(cap[0])) {\n this.lexer.state.inLink = false;\n }\n if (!this.lexer.state.inRawBlock && /^<(pre|code|kbd|script)(\\s|>)/i.test(cap[0])) {\n this.lexer.state.inRawBlock = true;\n }\n else if (this.lexer.state.inRawBlock && /^<\\/(pre|code|kbd|script)(\\s|>)/i.test(cap[0])) {\n this.lexer.state.inRawBlock = false;\n }\n return {\n type: 'html',\n raw: cap[0],\n inLink: this.lexer.state.inLink,\n inRawBlock: this.lexer.state.inRawBlock,\n block: false,\n text: cap[0]\n };\n }\n }\n link(src) {\n const cap = this.rules.inline.link.exec(src);\n if (cap) {\n const trimmedUrl = cap[2].trim();\n if (!this.options.pedantic && /^$/.test(trimmedUrl))) {\n return;\n }\n // ending angle bracket cannot be escaped\n const rtrimSlash = rtrim(trimmedUrl.slice(0, -1), '\\\\');\n if ((trimmedUrl.length - rtrimSlash.length) % 2 === 0) {\n return;\n }\n }\n else {\n // find closing parenthesis\n const lastParenIndex = findClosingBracket(cap[2], '()');\n if (lastParenIndex > -1) {\n const start = cap[0].indexOf('!') === 0 ? 5 : 4;\n const linkLen = start + cap[1].length + lastParenIndex;\n cap[2] = cap[2].substring(0, lastParenIndex);\n cap[0] = cap[0].substring(0, linkLen).trim();\n cap[3] = '';\n }\n }\n let href = cap[2];\n let title = '';\n if (this.options.pedantic) {\n // split pedantic href and title\n const link = /^([^'\"]*[^\\s])\\s+(['\"])(.*)\\2/.exec(href);\n if (link) {\n href = link[1];\n title = link[3];\n }\n }\n else {\n title = cap[3] ? cap[3].slice(1, -1) : '';\n }\n href = href.trim();\n if (/^$/.test(trimmedUrl))) {\n // pedantic allows starting angle bracket without ending angle bracket\n href = href.slice(1);\n }\n else {\n href = href.slice(1, -1);\n }\n }\n return outputLink(cap, {\n href: href ? href.replace(this.rules.inline.anyPunctuation, '$1') : href,\n title: title ? title.replace(this.rules.inline.anyPunctuation, '$1') : title\n }, cap[0], this.lexer);\n }\n }\n reflink(src, links) {\n let cap;\n if ((cap = this.rules.inline.reflink.exec(src))\n || (cap = this.rules.inline.nolink.exec(src))) {\n const linkString = (cap[2] || cap[1]).replace(/\\s+/g, ' ');\n const link = links[linkString.toLowerCase()];\n if (!link) {\n const text = cap[0].charAt(0);\n return {\n type: 'text',\n raw: text,\n text\n };\n }\n return outputLink(cap, link, cap[0], this.lexer);\n }\n }\n emStrong(src, maskedSrc, prevChar = '') {\n let match = this.rules.inline.emStrongLDelim.exec(src);\n if (!match)\n return;\n // _ can't be between two alphanumerics. \\p{L}\\p{N} includes non-english alphabet/numbers as well\n if (match[3] && prevChar.match(/[\\p{L}\\p{N}]/u))\n return;\n const nextChar = match[1] || match[2] || '';\n if (!nextChar || !prevChar || this.rules.inline.punctuation.exec(prevChar)) {\n // unicode Regex counts emoji as 1 char; spread into array for proper count (used multiple times below)\n const lLength = [...match[0]].length - 1;\n let rDelim, rLength, delimTotal = lLength, midDelimTotal = 0;\n const endReg = match[0][0] === '*' ? this.rules.inline.emStrongRDelimAst : this.rules.inline.emStrongRDelimUnd;\n endReg.lastIndex = 0;\n // Clip maskedSrc to same section of string as src (move to lexer?)\n maskedSrc = maskedSrc.slice(-1 * src.length + lLength);\n while ((match = endReg.exec(maskedSrc)) != null) {\n rDelim = match[1] || match[2] || match[3] || match[4] || match[5] || match[6];\n if (!rDelim)\n continue; // skip single * in __abc*abc__\n rLength = [...rDelim].length;\n if (match[3] || match[4]) { // found another Left Delim\n delimTotal += rLength;\n continue;\n }\n else if (match[5] || match[6]) { // either Left or Right Delim\n if (lLength % 3 && !((lLength + rLength) % 3)) {\n midDelimTotal += rLength;\n continue; // CommonMark Emphasis Rules 9-10\n }\n }\n delimTotal -= rLength;\n if (delimTotal > 0)\n continue; // Haven't found enough closing delimiters\n // Remove extra characters. *a*** -> *a*\n rLength = Math.min(rLength, rLength + delimTotal + midDelimTotal);\n // char length can be >1 for unicode characters;\n const lastCharLength = [...match[0]][0].length;\n const raw = src.slice(0, lLength + match.index + lastCharLength + rLength);\n // Create `em` if smallest delimiter has odd char count. *a***\n if (Math.min(lLength, rLength) % 2) {\n const text = raw.slice(1, -1);\n return {\n type: 'em',\n raw,\n text,\n tokens: this.lexer.inlineTokens(text)\n };\n }\n // Create 'strong' if smallest delimiter has even char count. **a***\n const text = raw.slice(2, -2);\n return {\n type: 'strong',\n raw,\n text,\n tokens: this.lexer.inlineTokens(text)\n };\n }\n }\n }\n codespan(src) {\n const cap = this.rules.inline.code.exec(src);\n if (cap) {\n let text = cap[2].replace(/\\n/g, ' ');\n const hasNonSpaceChars = /[^ ]/.test(text);\n const hasSpaceCharsOnBothEnds = /^ /.test(text) && / $/.test(text);\n if (hasNonSpaceChars && hasSpaceCharsOnBothEnds) {\n text = text.substring(1, text.length - 1);\n }\n text = escape$1(text, true);\n return {\n type: 'codespan',\n raw: cap[0],\n text\n };\n }\n }\n br(src) {\n const cap = this.rules.inline.br.exec(src);\n if (cap) {\n return {\n type: 'br',\n raw: cap[0]\n };\n }\n }\n del(src) {\n const cap = this.rules.inline.del.exec(src);\n if (cap) {\n return {\n type: 'del',\n raw: cap[0],\n text: cap[2],\n tokens: this.lexer.inlineTokens(cap[2])\n };\n }\n }\n autolink(src) {\n const cap = this.rules.inline.autolink.exec(src);\n if (cap) {\n let text, href;\n if (cap[2] === '@') {\n text = escape$1(cap[1]);\n href = 'mailto:' + text;\n }\n else {\n text = escape$1(cap[1]);\n href = text;\n }\n return {\n type: 'link',\n raw: cap[0],\n text,\n href,\n tokens: [\n {\n type: 'text',\n raw: text,\n text\n }\n ]\n };\n }\n }\n url(src) {\n let cap;\n if (cap = this.rules.inline.url.exec(src)) {\n let text, href;\n if (cap[2] === '@') {\n text = escape$1(cap[0]);\n href = 'mailto:' + text;\n }\n else {\n // do extended autolink path validation\n let prevCapZero;\n do {\n prevCapZero = cap[0];\n cap[0] = this.rules.inline._backpedal.exec(cap[0])?.[0] ?? '';\n } while (prevCapZero !== cap[0]);\n text = escape$1(cap[0]);\n if (cap[1] === 'www.') {\n href = 'http://' + cap[0];\n }\n else {\n href = cap[0];\n }\n }\n return {\n type: 'link',\n raw: cap[0],\n text,\n href,\n tokens: [\n {\n type: 'text',\n raw: text,\n text\n }\n ]\n };\n }\n }\n inlineText(src) {\n const cap = this.rules.inline.text.exec(src);\n if (cap) {\n let text;\n if (this.lexer.state.inRawBlock) {\n text = cap[0];\n }\n else {\n text = escape$1(cap[0]);\n }\n return {\n type: 'text',\n raw: cap[0],\n text\n };\n }\n }\n}\n\n/**\n * Block-Level Grammar\n */\nconst newline = /^(?: *(?:\\n|$))+/;\nconst blockCode = /^( {4}[^\\n]+(?:\\n(?: *(?:\\n|$))*)?)+/;\nconst fences = /^ {0,3}(`{3,}(?=[^`\\n]*(?:\\n|$))|~{3,})([^\\n]*)(?:\\n|$)(?:|([\\s\\S]*?)(?:\\n|$))(?: {0,3}\\1[~`]* *(?=\\n|$)|$)/;\nconst hr = /^ {0,3}((?:-[\\t ]*){3,}|(?:_[ \\t]*){3,}|(?:\\*[ \\t]*){3,})(?:\\n+|$)/;\nconst heading = /^ {0,3}(#{1,6})(?=\\s|$)(.*)(?:\\n+|$)/;\nconst bullet = /(?:[*+-]|\\d{1,9}[.)])/;\nconst lheading = edit(/^(?!bull )((?:.|\\n(?!\\s*?\\n|bull ))+?)\\n {0,3}(=+|-+) *(?:\\n+|$)/)\n .replace(/bull/g, bullet) // lists can interrupt\n .getRegex();\nconst _paragraph = /^([^\\n]+(?:\\n(?!hr|heading|lheading|blockquote|fences|list|html|table| +\\n)[^\\n]+)*)/;\nconst blockText = /^[^\\n]+/;\nconst _blockLabel = /(?!\\s*\\])(?:\\\\.|[^\\[\\]\\\\])+/;\nconst def = edit(/^ {0,3}\\[(label)\\]: *(?:\\n *)?([^<\\s][^\\s]*|<.*?>)(?:(?: +(?:\\n *)?| *\\n *)(title))? *(?:\\n+|$)/)\n .replace('label', _blockLabel)\n .replace('title', /(?:\"(?:\\\\\"?|[^\"\\\\])*\"|'[^'\\n]*(?:\\n[^'\\n]+)*\\n?'|\\([^()]*\\))/)\n .getRegex();\nconst list = edit(/^( {0,3}bull)([ \\t][^\\n]+?)?(?:\\n|$)/)\n .replace(/bull/g, bullet)\n .getRegex();\nconst _tag = 'address|article|aside|base|basefont|blockquote|body|caption'\n + '|center|col|colgroup|dd|details|dialog|dir|div|dl|dt|fieldset|figcaption'\n + '|figure|footer|form|frame|frameset|h[1-6]|head|header|hr|html|iframe'\n + '|legend|li|link|main|menu|menuitem|meta|nav|noframes|ol|optgroup|option'\n + '|p|param|section|source|summary|table|tbody|td|tfoot|th|thead|title|tr'\n + '|track|ul';\nconst _comment = /|$)/;\nconst html = edit('^ {0,3}(?:' // optional indentation\n + '<(script|pre|style|textarea)[\\\\s>][\\\\s\\\\S]*?(?:[^\\\\n]*\\\\n+|$)' // (1)\n + '|comment[^\\\\n]*(\\\\n+|$)' // (2)\n + '|<\\\\?[\\\\s\\\\S]*?(?:\\\\?>\\\\n*|$)' // (3)\n + '|\\\\n*|$)' // (4)\n + '|\\\\n*|$)' // (5)\n + '|)[\\\\s\\\\S]*?(?:(?:\\\\n *)+\\\\n|$)' // (6)\n + '|<(?!script|pre|style|textarea)([a-z][\\\\w-]*)(?:attribute)*? */?>(?=[ \\\\t]*(?:\\\\n|$))[\\\\s\\\\S]*?(?:(?:\\\\n *)+\\\\n|$)' // (7) open tag\n + '|(?=[ \\\\t]*(?:\\\\n|$))[\\\\s\\\\S]*?(?:(?:\\\\n *)+\\\\n|$)' // (7) closing tag\n + ')', 'i')\n .replace('comment', _comment)\n .replace('tag', _tag)\n .replace('attribute', / +[a-zA-Z:_][\\w.:-]*(?: *= *\"[^\"\\n]*\"| *= *'[^'\\n]*'| *= *[^\\s\"'=<>`]+)?/)\n .getRegex();\nconst paragraph = edit(_paragraph)\n .replace('hr', hr)\n .replace('heading', ' {0,3}#{1,6}(?:\\\\s|$)')\n .replace('|lheading', '') // setex headings don't interrupt commonmark paragraphs\n .replace('|table', '')\n .replace('blockquote', ' {0,3}>')\n .replace('fences', ' {0,3}(?:`{3,}(?=[^`\\\\n]*\\\\n)|~{3,})[^\\\\n]*\\\\n')\n .replace('list', ' {0,3}(?:[*+-]|1[.)]) ') // only lists starting from 1 can interrupt\n .replace('html', ')|<(?:script|pre|style|textarea|!--)')\n .replace('tag', _tag) // pars can be interrupted by type (6) html blocks\n .getRegex();\nconst blockquote = edit(/^( {0,3}> ?(paragraph|[^\\n]*)(?:\\n|$))+/)\n .replace('paragraph', paragraph)\n .getRegex();\n/**\n * Normal Block Grammar\n */\nconst blockNormal = {\n blockquote,\n code: blockCode,\n def,\n fences,\n heading,\n hr,\n html,\n lheading,\n list,\n newline,\n paragraph,\n table: noopTest,\n text: blockText\n};\n/**\n * GFM Block Grammar\n */\nconst gfmTable = edit('^ *([^\\\\n ].*)\\\\n' // Header\n + ' {0,3}((?:\\\\| *)?:?-+:? *(?:\\\\| *:?-+:? *)*(?:\\\\| *)?)' // Align\n + '(?:\\\\n((?:(?! *\\\\n|hr|heading|blockquote|code|fences|list|html).*(?:\\\\n|$))*)\\\\n*|$)') // Cells\n .replace('hr', hr)\n .replace('heading', ' {0,3}#{1,6}(?:\\\\s|$)')\n .replace('blockquote', ' {0,3}>')\n .replace('code', ' {4}[^\\\\n]')\n .replace('fences', ' {0,3}(?:`{3,}(?=[^`\\\\n]*\\\\n)|~{3,})[^\\\\n]*\\\\n')\n .replace('list', ' {0,3}(?:[*+-]|1[.)]) ') // only lists starting from 1 can interrupt\n .replace('html', ')|<(?:script|pre|style|textarea|!--)')\n .replace('tag', _tag) // tables can be interrupted by type (6) html blocks\n .getRegex();\nconst blockGfm = {\n ...blockNormal,\n table: gfmTable,\n paragraph: edit(_paragraph)\n .replace('hr', hr)\n .replace('heading', ' {0,3}#{1,6}(?:\\\\s|$)')\n .replace('|lheading', '') // setex headings don't interrupt commonmark paragraphs\n .replace('table', gfmTable) // interrupt paragraphs with table\n .replace('blockquote', ' {0,3}>')\n .replace('fences', ' {0,3}(?:`{3,}(?=[^`\\\\n]*\\\\n)|~{3,})[^\\\\n]*\\\\n')\n .replace('list', ' {0,3}(?:[*+-]|1[.)]) ') // only lists starting from 1 can interrupt\n .replace('html', ')|<(?:script|pre|style|textarea|!--)')\n .replace('tag', _tag) // pars can be interrupted by type (6) html blocks\n .getRegex()\n};\n/**\n * Pedantic grammar (original John Gruber's loose markdown specification)\n */\nconst blockPedantic = {\n ...blockNormal,\n html: edit('^ *(?:comment *(?:\\\\n|\\\\s*$)'\n + '|<(tag)[\\\\s\\\\S]+? *(?:\\\\n{2,}|\\\\s*$)' // closed tag\n + '|\\\\s]*)*?/?> *(?:\\\\n{2,}|\\\\s*$))')\n .replace('comment', _comment)\n .replace(/tag/g, '(?!(?:'\n + 'a|em|strong|small|s|cite|q|dfn|abbr|data|time|code|var|samp|kbd|sub'\n + '|sup|i|b|u|mark|ruby|rt|rp|bdi|bdo|span|br|wbr|ins|del|img)'\n + '\\\\b)\\\\w+(?!:|[^\\\\w\\\\s@]*@)\\\\b')\n .getRegex(),\n def: /^ *\\[([^\\]]+)\\]: *]+)>?(?: +([\"(][^\\n]+[\")]))? *(?:\\n+|$)/,\n heading: /^(#{1,6})(.*)(?:\\n+|$)/,\n fences: noopTest, // fences not supported\n lheading: /^(.+?)\\n {0,3}(=+|-+) *(?:\\n+|$)/,\n paragraph: edit(_paragraph)\n .replace('hr', hr)\n .replace('heading', ' *#{1,6} *[^\\n]')\n .replace('lheading', lheading)\n .replace('|table', '')\n .replace('blockquote', ' {0,3}>')\n .replace('|fences', '')\n .replace('|list', '')\n .replace('|html', '')\n .replace('|tag', '')\n .getRegex()\n};\n/**\n * Inline-Level Grammar\n */\nconst escape = /^\\\\([!\"#$%&'()*+,\\-./:;<=>?@\\[\\]\\\\^_`{|}~])/;\nconst inlineCode = /^(`+)([^`]|[^`][\\s\\S]*?[^`])\\1(?!`)/;\nconst br = /^( {2,}|\\\\)\\n(?!\\s*$)/;\nconst inlineText = /^(`+|[^`])(?:(?= {2,}\\n)|[\\s\\S]*?(?:(?=[\\\\`^|~';\nconst punctuation = edit(/^((?![*_])[\\spunctuation])/, 'u')\n .replace(/punctuation/g, _punctuation).getRegex();\n// sequences em should skip over [title](link), `code`, \nconst blockSkip = /\\[[^[\\]]*?\\]\\([^\\(\\)]*?\\)|`[^`]*?`|<[^<>]*?>/g;\nconst emStrongLDelim = edit(/^(?:\\*+(?:((?!\\*)[punct])|[^\\s*]))|^_+(?:((?!_)[punct])|([^\\s_]))/, 'u')\n .replace(/punct/g, _punctuation)\n .getRegex();\nconst emStrongRDelimAst = edit('^[^_*]*?__[^_*]*?\\\\*[^_*]*?(?=__)' // Skip orphan inside strong\n + '|[^*]+(?=[^*])' // Consume to delim\n + '|(?!\\\\*)[punct](\\\\*+)(?=[\\\\s]|$)' // (1) #*** can only be a Right Delimiter\n + '|[^punct\\\\s](\\\\*+)(?!\\\\*)(?=[punct\\\\s]|$)' // (2) a***#, a*** can only be a Right Delimiter\n + '|(?!\\\\*)[punct\\\\s](\\\\*+)(?=[^punct\\\\s])' // (3) #***a, ***a can only be Left Delimiter\n + '|[\\\\s](\\\\*+)(?!\\\\*)(?=[punct])' // (4) ***# can only be Left Delimiter\n + '|(?!\\\\*)[punct](\\\\*+)(?!\\\\*)(?=[punct])' // (5) #***# can be either Left or Right Delimiter\n + '|[^punct\\\\s](\\\\*+)(?=[^punct\\\\s])', 'gu') // (6) a***a can be either Left or Right Delimiter\n .replace(/punct/g, _punctuation)\n .getRegex();\n// (6) Not allowed for _\nconst emStrongRDelimUnd = edit('^[^_*]*?\\\\*\\\\*[^_*]*?_[^_*]*?(?=\\\\*\\\\*)' // Skip orphan inside strong\n + '|[^_]+(?=[^_])' // Consume to delim\n + '|(?!_)[punct](_+)(?=[\\\\s]|$)' // (1) #___ can only be a Right Delimiter\n + '|[^punct\\\\s](_+)(?!_)(?=[punct\\\\s]|$)' // (2) a___#, a___ can only be a Right Delimiter\n + '|(?!_)[punct\\\\s](_+)(?=[^punct\\\\s])' // (3) #___a, ___a can only be Left Delimiter\n + '|[\\\\s](_+)(?!_)(?=[punct])' // (4) ___# can only be Left Delimiter\n + '|(?!_)[punct](_+)(?!_)(?=[punct])', 'gu') // (5) #___# can be either Left or Right Delimiter\n .replace(/punct/g, _punctuation)\n .getRegex();\nconst anyPunctuation = edit(/\\\\([punct])/, 'gu')\n .replace(/punct/g, _punctuation)\n .getRegex();\nconst autolink = edit(/^<(scheme:[^\\s\\x00-\\x1f<>]*|email)>/)\n .replace('scheme', /[a-zA-Z][a-zA-Z0-9+.-]{1,31}/)\n .replace('email', /[a-zA-Z0-9.!#$%&'*+/=?^_`{|}~-]+(@)[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)+(?![-_])/)\n .getRegex();\nconst _inlineComment = edit(_comment).replace('(?:-->|$)', '-->').getRegex();\nconst tag = edit('^comment'\n + '|^' // self-closing tag\n + '|^<[a-zA-Z][\\\\w-]*(?:attribute)*?\\\\s*/?>' // open tag\n + '|^<\\\\?[\\\\s\\\\S]*?\\\\?>' // processing instruction, e.g. \n + '|^' // declaration, e.g. \n + '|^') // CDATA section\n .replace('comment', _inlineComment)\n .replace('attribute', /\\s+[a-zA-Z:_][\\w.:-]*(?:\\s*=\\s*\"[^\"]*\"|\\s*=\\s*'[^']*'|\\s*=\\s*[^\\s\"'=<>`]+)?/)\n .getRegex();\nconst _inlineLabel = /(?:\\[(?:\\\\.|[^\\[\\]\\\\])*\\]|\\\\.|`[^`]*`|[^\\[\\]\\\\`])*?/;\nconst link = edit(/^!?\\[(label)\\]\\(\\s*(href)(?:\\s+(title))?\\s*\\)/)\n .replace('label', _inlineLabel)\n .replace('href', /<(?:\\\\.|[^\\n<>\\\\])+>|[^\\s\\x00-\\x1f]*/)\n .replace('title', /\"(?:\\\\\"?|[^\"\\\\])*\"|'(?:\\\\'?|[^'\\\\])*'|\\((?:\\\\\\)?|[^)\\\\])*\\)/)\n .getRegex();\nconst reflink = edit(/^!?\\[(label)\\]\\[(ref)\\]/)\n .replace('label', _inlineLabel)\n .replace('ref', _blockLabel)\n .getRegex();\nconst nolink = edit(/^!?\\[(ref)\\](?:\\[\\])?/)\n .replace('ref', _blockLabel)\n .getRegex();\nconst reflinkSearch = edit('reflink|nolink(?!\\\\()', 'g')\n .replace('reflink', reflink)\n .replace('nolink', nolink)\n .getRegex();\n/**\n * Normal Inline Grammar\n */\nconst inlineNormal = {\n _backpedal: noopTest, // only used for GFM url\n anyPunctuation,\n autolink,\n blockSkip,\n br,\n code: inlineCode,\n del: noopTest,\n emStrongLDelim,\n emStrongRDelimAst,\n emStrongRDelimUnd,\n escape,\n link,\n nolink,\n punctuation,\n reflink,\n reflinkSearch,\n tag,\n text: inlineText,\n url: noopTest\n};\n/**\n * Pedantic Inline Grammar\n */\nconst inlinePedantic = {\n ...inlineNormal,\n link: edit(/^!?\\[(label)\\]\\((.*?)\\)/)\n .replace('label', _inlineLabel)\n .getRegex(),\n reflink: edit(/^!?\\[(label)\\]\\s*\\[([^\\]]*)\\]/)\n .replace('label', _inlineLabel)\n .getRegex()\n};\n/**\n * GFM Inline Grammar\n */\nconst inlineGfm = {\n ...inlineNormal,\n escape: edit(escape).replace('])', '~|])').getRegex(),\n url: edit(/^((?:ftp|https?):\\/\\/|www\\.)(?:[a-zA-Z0-9\\-]+\\.?)+[^\\s<]*|^email/, 'i')\n .replace('email', /[A-Za-z0-9._+-]+(@)[a-zA-Z0-9-_]+(?:\\.[a-zA-Z0-9-_]*[a-zA-Z0-9])+(?![-_])/)\n .getRegex(),\n _backpedal: /(?:[^?!.,:;*_'\"~()&]+|\\([^)]*\\)|&(?![a-zA-Z0-9]+;$)|[?!.,:;*_'\"~)]+(?!$))+/,\n del: /^(~~?)(?=[^\\s~])([\\s\\S]*?[^\\s~])\\1(?=[^~]|$)/,\n text: /^([`~]+|[^`~])(?:(?= {2,}\\n)|(?=[a-zA-Z0-9.!#$%&'*+\\/=?_`{\\|}~-]+@)|[\\s\\S]*?(?:(?=[\\\\ {\n return leading + ' '.repeat(tabs.length);\n });\n }\n let token;\n let lastToken;\n let cutSrc;\n let lastParagraphClipped;\n while (src) {\n if (this.options.extensions\n && this.options.extensions.block\n && this.options.extensions.block.some((extTokenizer) => {\n if (token = extTokenizer.call({ lexer: this }, src, tokens)) {\n src = src.substring(token.raw.length);\n tokens.push(token);\n return true;\n }\n return false;\n })) {\n continue;\n }\n // newline\n if (token = this.tokenizer.space(src)) {\n src = src.substring(token.raw.length);\n if (token.raw.length === 1 && tokens.length > 0) {\n // if there's a single \\n as a spacer, it's terminating the last line,\n // so move it there so that we don't get unnecessary paragraph tags\n tokens[tokens.length - 1].raw += '\\n';\n }\n else {\n tokens.push(token);\n }\n continue;\n }\n // code\n if (token = this.tokenizer.code(src)) {\n src = src.substring(token.raw.length);\n lastToken = tokens[tokens.length - 1];\n // An indented code block cannot interrupt a paragraph.\n if (lastToken && (lastToken.type === 'paragraph' || lastToken.type === 'text')) {\n lastToken.raw += '\\n' + token.raw;\n lastToken.text += '\\n' + token.text;\n this.inlineQueue[this.inlineQueue.length - 1].src = lastToken.text;\n }\n else {\n tokens.push(token);\n }\n continue;\n }\n // fences\n if (token = this.tokenizer.fences(src)) {\n src = src.substring(token.raw.length);\n tokens.push(token);\n continue;\n }\n // heading\n if (token = this.tokenizer.heading(src)) {\n src = src.substring(token.raw.length);\n tokens.push(token);\n continue;\n }\n // hr\n if (token = this.tokenizer.hr(src)) {\n src = src.substring(token.raw.length);\n tokens.push(token);\n continue;\n }\n // blockquote\n if (token = this.tokenizer.blockquote(src)) {\n src = src.substring(token.raw.length);\n tokens.push(token);\n continue;\n }\n // list\n if (token = this.tokenizer.list(src)) {\n src = src.substring(token.raw.length);\n tokens.push(token);\n continue;\n }\n // html\n if (token = this.tokenizer.html(src)) {\n src = src.substring(token.raw.length);\n tokens.push(token);\n continue;\n }\n // def\n if (token = this.tokenizer.def(src)) {\n src = src.substring(token.raw.length);\n lastToken = tokens[tokens.length - 1];\n if (lastToken && (lastToken.type === 'paragraph' || lastToken.type === 'text')) {\n lastToken.raw += '\\n' + token.raw;\n lastToken.text += '\\n' + token.raw;\n this.inlineQueue[this.inlineQueue.length - 1].src = lastToken.text;\n }\n else if (!this.tokens.links[token.tag]) {\n this.tokens.links[token.tag] = {\n href: token.href,\n title: token.title\n };\n }\n continue;\n }\n // table (gfm)\n if (token = this.tokenizer.table(src)) {\n src = src.substring(token.raw.length);\n tokens.push(token);\n continue;\n }\n // lheading\n if (token = this.tokenizer.lheading(src)) {\n src = src.substring(token.raw.length);\n tokens.push(token);\n continue;\n }\n // top-level paragraph\n // prevent paragraph consuming extensions by clipping 'src' to extension start\n cutSrc = src;\n if (this.options.extensions && this.options.extensions.startBlock) {\n let startIndex = Infinity;\n const tempSrc = src.slice(1);\n let tempStart;\n this.options.extensions.startBlock.forEach((getStartIndex) => {\n tempStart = getStartIndex.call({ lexer: this }, tempSrc);\n if (typeof tempStart === 'number' && tempStart >= 0) {\n startIndex = Math.min(startIndex, tempStart);\n }\n });\n if (startIndex < Infinity && startIndex >= 0) {\n cutSrc = src.substring(0, startIndex + 1);\n }\n }\n if (this.state.top && (token = this.tokenizer.paragraph(cutSrc))) {\n lastToken = tokens[tokens.length - 1];\n if (lastParagraphClipped && lastToken.type === 'paragraph') {\n lastToken.raw += '\\n' + token.raw;\n lastToken.text += '\\n' + token.text;\n this.inlineQueue.pop();\n this.inlineQueue[this.inlineQueue.length - 1].src = lastToken.text;\n }\n else {\n tokens.push(token);\n }\n lastParagraphClipped = (cutSrc.length !== src.length);\n src = src.substring(token.raw.length);\n continue;\n }\n // text\n if (token = this.tokenizer.text(src)) {\n src = src.substring(token.raw.length);\n lastToken = tokens[tokens.length - 1];\n if (lastToken && lastToken.type === 'text') {\n lastToken.raw += '\\n' + token.raw;\n lastToken.text += '\\n' + token.text;\n this.inlineQueue.pop();\n this.inlineQueue[this.inlineQueue.length - 1].src = lastToken.text;\n }\n else {\n tokens.push(token);\n }\n continue;\n }\n if (src) {\n const errMsg = 'Infinite loop on byte: ' + src.charCodeAt(0);\n if (this.options.silent) {\n console.error(errMsg);\n break;\n }\n else {\n throw new Error(errMsg);\n }\n }\n }\n this.state.top = true;\n return tokens;\n }\n inline(src, tokens = []) {\n this.inlineQueue.push({ src, tokens });\n return tokens;\n }\n /**\n * Lexing/Compiling\n */\n inlineTokens(src, tokens = []) {\n let token, lastToken, cutSrc;\n // String with links masked to avoid interference with em and strong\n let maskedSrc = src;\n let match;\n let keepPrevChar, prevChar;\n // Mask out reflinks\n if (this.tokens.links) {\n const links = Object.keys(this.tokens.links);\n if (links.length > 0) {\n while ((match = this.tokenizer.rules.inline.reflinkSearch.exec(maskedSrc)) != null) {\n if (links.includes(match[0].slice(match[0].lastIndexOf('[') + 1, -1))) {\n maskedSrc = maskedSrc.slice(0, match.index) + '[' + 'a'.repeat(match[0].length - 2) + ']' + maskedSrc.slice(this.tokenizer.rules.inline.reflinkSearch.lastIndex);\n }\n }\n }\n }\n // Mask out other blocks\n while ((match = this.tokenizer.rules.inline.blockSkip.exec(maskedSrc)) != null) {\n maskedSrc = maskedSrc.slice(0, match.index) + '[' + 'a'.repeat(match[0].length - 2) + ']' + maskedSrc.slice(this.tokenizer.rules.inline.blockSkip.lastIndex);\n }\n // Mask out escaped characters\n while ((match = this.tokenizer.rules.inline.anyPunctuation.exec(maskedSrc)) != null) {\n maskedSrc = maskedSrc.slice(0, match.index) + '++' + maskedSrc.slice(this.tokenizer.rules.inline.anyPunctuation.lastIndex);\n }\n while (src) {\n if (!keepPrevChar) {\n prevChar = '';\n }\n keepPrevChar = false;\n // extensions\n if (this.options.extensions\n && this.options.extensions.inline\n && this.options.extensions.inline.some((extTokenizer) => {\n if (token = extTokenizer.call({ lexer: this }, src, tokens)) {\n src = src.substring(token.raw.length);\n tokens.push(token);\n return true;\n }\n return false;\n })) {\n continue;\n }\n // escape\n if (token = this.tokenizer.escape(src)) {\n src = src.substring(token.raw.length);\n tokens.push(token);\n continue;\n }\n // tag\n if (token = this.tokenizer.tag(src)) {\n src = src.substring(token.raw.length);\n lastToken = tokens[tokens.length - 1];\n if (lastToken && token.type === 'text' && lastToken.type === 'text') {\n lastToken.raw += token.raw;\n lastToken.text += token.text;\n }\n else {\n tokens.push(token);\n }\n continue;\n }\n // link\n if (token = this.tokenizer.link(src)) {\n src = src.substring(token.raw.length);\n tokens.push(token);\n continue;\n }\n // reflink, nolink\n if (token = this.tokenizer.reflink(src, this.tokens.links)) {\n src = src.substring(token.raw.length);\n lastToken = tokens[tokens.length - 1];\n if (lastToken && token.type === 'text' && lastToken.type === 'text') {\n lastToken.raw += token.raw;\n lastToken.text += token.text;\n }\n else {\n tokens.push(token);\n }\n continue;\n }\n // em & strong\n if (token = this.tokenizer.emStrong(src, maskedSrc, prevChar)) {\n src = src.substring(token.raw.length);\n tokens.push(token);\n continue;\n }\n // code\n if (token = this.tokenizer.codespan(src)) {\n src = src.substring(token.raw.length);\n tokens.push(token);\n continue;\n }\n // br\n if (token = this.tokenizer.br(src)) {\n src = src.substring(token.raw.length);\n tokens.push(token);\n continue;\n }\n // del (gfm)\n if (token = this.tokenizer.del(src)) {\n src = src.substring(token.raw.length);\n tokens.push(token);\n continue;\n }\n // autolink\n if (token = this.tokenizer.autolink(src)) {\n src = src.substring(token.raw.length);\n tokens.push(token);\n continue;\n }\n // url (gfm)\n if (!this.state.inLink && (token = this.tokenizer.url(src))) {\n src = src.substring(token.raw.length);\n tokens.push(token);\n continue;\n }\n // text\n // prevent inlineText consuming extensions by clipping 'src' to extension start\n cutSrc = src;\n if (this.options.extensions && this.options.extensions.startInline) {\n let startIndex = Infinity;\n const tempSrc = src.slice(1);\n let tempStart;\n this.options.extensions.startInline.forEach((getStartIndex) => {\n tempStart = getStartIndex.call({ lexer: this }, tempSrc);\n if (typeof tempStart === 'number' && tempStart >= 0) {\n startIndex = Math.min(startIndex, tempStart);\n }\n });\n if (startIndex < Infinity && startIndex >= 0) {\n cutSrc = src.substring(0, startIndex + 1);\n }\n }\n if (token = this.tokenizer.inlineText(cutSrc)) {\n src = src.substring(token.raw.length);\n if (token.raw.slice(-1) !== '_') { // Track prevChar before string of ____ started\n prevChar = token.raw.slice(-1);\n }\n keepPrevChar = true;\n lastToken = tokens[tokens.length - 1];\n if (lastToken && lastToken.type === 'text') {\n lastToken.raw += token.raw;\n lastToken.text += token.text;\n }\n else {\n tokens.push(token);\n }\n continue;\n }\n if (src) {\n const errMsg = 'Infinite loop on byte: ' + src.charCodeAt(0);\n if (this.options.silent) {\n console.error(errMsg);\n break;\n }\n else {\n throw new Error(errMsg);\n }\n }\n }\n return tokens;\n }\n}\n\n/**\n * Renderer\n */\nclass _Renderer {\n options;\n constructor(options) {\n this.options = options || _defaults;\n }\n code(code, infostring, escaped) {\n const lang = (infostring || '').match(/^\\S*/)?.[0];\n code = code.replace(/\\n$/, '') + '\\n';\n if (!lang) {\n return '
'\n                + (escaped ? code : escape$1(code, true))\n                + '
\\n';\n }\n return '
'\n            + (escaped ? code : escape$1(code, true))\n            + '
\\n';\n }\n blockquote(quote) {\n return `
\\n${quote}
\\n`;\n }\n html(html, block) {\n return html;\n }\n heading(text, level, raw) {\n // ignore IDs\n return `${text}\\n`;\n }\n hr() {\n return '
\\n';\n }\n list(body, ordered, start) {\n const type = ordered ? 'ol' : 'ul';\n const startatt = (ordered && start !== 1) ? (' start=\"' + start + '\"') : '';\n return '<' + type + startatt + '>\\n' + body + '\\n';\n }\n listitem(text, task, checked) {\n return `
  • ${text}
  • \\n`;\n }\n checkbox(checked) {\n return '';\n }\n paragraph(text) {\n return `

    ${text}

    \\n`;\n }\n table(header, body) {\n if (body)\n body = `${body}`;\n return '\\n'\n + '\\n'\n + header\n + '\\n'\n + body\n + '
    \\n';\n }\n tablerow(content) {\n return `\\n${content}\\n`;\n }\n tablecell(content, flags) {\n const type = flags.header ? 'th' : 'td';\n const tag = flags.align\n ? `<${type} align=\"${flags.align}\">`\n : `<${type}>`;\n return tag + content + `\\n`;\n }\n /**\n * span level renderer\n */\n strong(text) {\n return `${text}`;\n }\n em(text) {\n return `${text}`;\n }\n codespan(text) {\n return `${text}`;\n }\n br() {\n return '
    ';\n }\n del(text) {\n return `${text}`;\n }\n link(href, title, text) {\n const cleanHref = cleanUrl(href);\n if (cleanHref === null) {\n return text;\n }\n href = cleanHref;\n let out = '
    ';\n return out;\n }\n image(href, title, text) {\n const cleanHref = cleanUrl(href);\n if (cleanHref === null) {\n return text;\n }\n href = cleanHref;\n let out = `\"${text}\"`;\n 0 && item.tokens[0].type === 'paragraph') {\n item.tokens[0].text = checkbox + ' ' + item.tokens[0].text;\n if (item.tokens[0].tokens && item.tokens[0].tokens.length > 0 && item.tokens[0].tokens[0].type === 'text') {\n item.tokens[0].tokens[0].text = checkbox + ' ' + item.tokens[0].tokens[0].text;\n }\n }\n else {\n item.tokens.unshift({\n type: 'text',\n text: checkbox + ' '\n });\n }\n }\n else {\n itemBody += checkbox + ' ';\n }\n }\n itemBody += this.parse(item.tokens, loose);\n body += this.renderer.listitem(itemBody, task, !!checked);\n }\n out += this.renderer.list(body, ordered, start);\n continue;\n }\n case 'html': {\n const htmlToken = token;\n out += this.renderer.html(htmlToken.text, htmlToken.block);\n continue;\n }\n case 'paragraph': {\n const paragraphToken = token;\n out += this.renderer.paragraph(this.parseInline(paragraphToken.tokens));\n continue;\n }\n case 'text': {\n let textToken = token;\n let body = textToken.tokens ? this.parseInline(textToken.tokens) : textToken.text;\n while (i + 1 < tokens.length && tokens[i + 1].type === 'text') {\n textToken = tokens[++i];\n body += '\\n' + (textToken.tokens ? this.parseInline(textToken.tokens) : textToken.text);\n }\n out += top ? this.renderer.paragraph(body) : body;\n continue;\n }\n default: {\n const errMsg = 'Token with \"' + token.type + '\" type was not found.';\n if (this.options.silent) {\n console.error(errMsg);\n return '';\n }\n else {\n throw new Error(errMsg);\n }\n }\n }\n }\n return out;\n }\n /**\n * Parse Inline Tokens\n */\n parseInline(tokens, renderer) {\n renderer = renderer || this.renderer;\n let out = '';\n for (let i = 0; i < tokens.length; i++) {\n const token = tokens[i];\n // Run any renderer extensions\n if (this.options.extensions && this.options.extensions.renderers && this.options.extensions.renderers[token.type]) {\n const ret = this.options.extensions.renderers[token.type].call({ parser: this }, token);\n if (ret !== false || !['escape', 'html', 'link', 'image', 'strong', 'em', 'codespan', 'br', 'del', 'text'].includes(token.type)) {\n out += ret || '';\n continue;\n }\n }\n switch (token.type) {\n case 'escape': {\n const escapeToken = token;\n out += renderer.text(escapeToken.text);\n break;\n }\n case 'html': {\n const tagToken = token;\n out += renderer.html(tagToken.text);\n break;\n }\n case 'link': {\n const linkToken = token;\n out += renderer.link(linkToken.href, linkToken.title, this.parseInline(linkToken.tokens, renderer));\n break;\n }\n case 'image': {\n const imageToken = token;\n out += renderer.image(imageToken.href, imageToken.title, imageToken.text);\n break;\n }\n case 'strong': {\n const strongToken = token;\n out += renderer.strong(this.parseInline(strongToken.tokens, renderer));\n break;\n }\n case 'em': {\n const emToken = token;\n out += renderer.em(this.parseInline(emToken.tokens, renderer));\n break;\n }\n case 'codespan': {\n const codespanToken = token;\n out += renderer.codespan(codespanToken.text);\n break;\n }\n case 'br': {\n out += renderer.br();\n break;\n }\n case 'del': {\n const delToken = token;\n out += renderer.del(this.parseInline(delToken.tokens, renderer));\n break;\n }\n case 'text': {\n const textToken = token;\n out += renderer.text(textToken.text);\n break;\n }\n default: {\n const errMsg = 'Token with \"' + token.type + '\" type was not found.';\n if (this.options.silent) {\n console.error(errMsg);\n return '';\n }\n else {\n throw new Error(errMsg);\n }\n }\n }\n }\n return out;\n }\n}\n\nclass _Hooks {\n options;\n constructor(options) {\n this.options = options || _defaults;\n }\n static passThroughHooks = new Set([\n 'preprocess',\n 'postprocess',\n 'processAllTokens'\n ]);\n /**\n * Process markdown before marked\n */\n preprocess(markdown) {\n return markdown;\n }\n /**\n * Process HTML after marked is finished\n */\n postprocess(html) {\n return html;\n }\n /**\n * Process all tokens before walk tokens\n */\n processAllTokens(tokens) {\n return tokens;\n }\n}\n\nclass Marked {\n defaults = _getDefaults();\n options = this.setOptions;\n parse = this.#parseMarkdown(_Lexer.lex, _Parser.parse);\n parseInline = this.#parseMarkdown(_Lexer.lexInline, _Parser.parseInline);\n Parser = _Parser;\n Renderer = _Renderer;\n TextRenderer = _TextRenderer;\n Lexer = _Lexer;\n Tokenizer = _Tokenizer;\n Hooks = _Hooks;\n constructor(...args) {\n this.use(...args);\n }\n /**\n * Run callback for every token\n */\n walkTokens(tokens, callback) {\n let values = [];\n for (const token of tokens) {\n values = values.concat(callback.call(this, token));\n switch (token.type) {\n case 'table': {\n const tableToken = token;\n for (const cell of tableToken.header) {\n values = values.concat(this.walkTokens(cell.tokens, callback));\n }\n for (const row of tableToken.rows) {\n for (const cell of row) {\n values = values.concat(this.walkTokens(cell.tokens, callback));\n }\n }\n break;\n }\n case 'list': {\n const listToken = token;\n values = values.concat(this.walkTokens(listToken.items, callback));\n break;\n }\n default: {\n const genericToken = token;\n if (this.defaults.extensions?.childTokens?.[genericToken.type]) {\n this.defaults.extensions.childTokens[genericToken.type].forEach((childTokens) => {\n const tokens = genericToken[childTokens].flat(Infinity);\n values = values.concat(this.walkTokens(tokens, callback));\n });\n }\n else if (genericToken.tokens) {\n values = values.concat(this.walkTokens(genericToken.tokens, callback));\n }\n }\n }\n }\n return values;\n }\n use(...args) {\n const extensions = this.defaults.extensions || { renderers: {}, childTokens: {} };\n args.forEach((pack) => {\n // copy options to new object\n const opts = { ...pack };\n // set async to true if it was set to true before\n opts.async = this.defaults.async || opts.async || false;\n // ==-- Parse \"addon\" extensions --== //\n if (pack.extensions) {\n pack.extensions.forEach((ext) => {\n if (!ext.name) {\n throw new Error('extension name required');\n }\n if ('renderer' in ext) { // Renderer extensions\n const prevRenderer = extensions.renderers[ext.name];\n if (prevRenderer) {\n // Replace extension with func to run new extension but fall back if false\n extensions.renderers[ext.name] = function (...args) {\n let ret = ext.renderer.apply(this, args);\n if (ret === false) {\n ret = prevRenderer.apply(this, args);\n }\n return ret;\n };\n }\n else {\n extensions.renderers[ext.name] = ext.renderer;\n }\n }\n if ('tokenizer' in ext) { // Tokenizer Extensions\n if (!ext.level || (ext.level !== 'block' && ext.level !== 'inline')) {\n throw new Error(\"extension level must be 'block' or 'inline'\");\n }\n const extLevel = extensions[ext.level];\n if (extLevel) {\n extLevel.unshift(ext.tokenizer);\n }\n else {\n extensions[ext.level] = [ext.tokenizer];\n }\n if (ext.start) { // Function to check for start of token\n if (ext.level === 'block') {\n if (extensions.startBlock) {\n extensions.startBlock.push(ext.start);\n }\n else {\n extensions.startBlock = [ext.start];\n }\n }\n else if (ext.level === 'inline') {\n if (extensions.startInline) {\n extensions.startInline.push(ext.start);\n }\n else {\n extensions.startInline = [ext.start];\n }\n }\n }\n }\n if ('childTokens' in ext && ext.childTokens) { // Child tokens to be visited by walkTokens\n extensions.childTokens[ext.name] = ext.childTokens;\n }\n });\n opts.extensions = extensions;\n }\n // ==-- Parse \"overwrite\" extensions --== //\n if (pack.renderer) {\n const renderer = this.defaults.renderer || new _Renderer(this.defaults);\n for (const prop in pack.renderer) {\n if (!(prop in renderer)) {\n throw new Error(`renderer '${prop}' does not exist`);\n }\n if (prop === 'options') {\n // ignore options property\n continue;\n }\n const rendererProp = prop;\n const rendererFunc = pack.renderer[rendererProp];\n const prevRenderer = renderer[rendererProp];\n // Replace renderer with func to run extension, but fall back if false\n renderer[rendererProp] = (...args) => {\n let ret = rendererFunc.apply(renderer, args);\n if (ret === false) {\n ret = prevRenderer.apply(renderer, args);\n }\n return ret || '';\n };\n }\n opts.renderer = renderer;\n }\n if (pack.tokenizer) {\n const tokenizer = this.defaults.tokenizer || new _Tokenizer(this.defaults);\n for (const prop in pack.tokenizer) {\n if (!(prop in tokenizer)) {\n throw new Error(`tokenizer '${prop}' does not exist`);\n }\n if (['options', 'rules', 'lexer'].includes(prop)) {\n // ignore options, rules, and lexer properties\n continue;\n }\n const tokenizerProp = prop;\n const tokenizerFunc = pack.tokenizer[tokenizerProp];\n const prevTokenizer = tokenizer[tokenizerProp];\n // Replace tokenizer with func to run extension, but fall back if false\n // @ts-expect-error cannot type tokenizer function dynamically\n tokenizer[tokenizerProp] = (...args) => {\n let ret = tokenizerFunc.apply(tokenizer, args);\n if (ret === false) {\n ret = prevTokenizer.apply(tokenizer, args);\n }\n return ret;\n };\n }\n opts.tokenizer = tokenizer;\n }\n // ==-- Parse Hooks extensions --== //\n if (pack.hooks) {\n const hooks = this.defaults.hooks || new _Hooks();\n for (const prop in pack.hooks) {\n if (!(prop in hooks)) {\n throw new Error(`hook '${prop}' does not exist`);\n }\n if (prop === 'options') {\n // ignore options property\n continue;\n }\n const hooksProp = prop;\n const hooksFunc = pack.hooks[hooksProp];\n const prevHook = hooks[hooksProp];\n if (_Hooks.passThroughHooks.has(prop)) {\n // @ts-expect-error cannot type hook function dynamically\n hooks[hooksProp] = (arg) => {\n if (this.defaults.async) {\n return Promise.resolve(hooksFunc.call(hooks, arg)).then(ret => {\n return prevHook.call(hooks, ret);\n });\n }\n const ret = hooksFunc.call(hooks, arg);\n return prevHook.call(hooks, ret);\n };\n }\n else {\n // @ts-expect-error cannot type hook function dynamically\n hooks[hooksProp] = (...args) => {\n let ret = hooksFunc.apply(hooks, args);\n if (ret === false) {\n ret = prevHook.apply(hooks, args);\n }\n return ret;\n };\n }\n }\n opts.hooks = hooks;\n }\n // ==-- Parse WalkTokens extensions --== //\n if (pack.walkTokens) {\n const walkTokens = this.defaults.walkTokens;\n const packWalktokens = pack.walkTokens;\n opts.walkTokens = function (token) {\n let values = [];\n values.push(packWalktokens.call(this, token));\n if (walkTokens) {\n values = values.concat(walkTokens.call(this, token));\n }\n return values;\n };\n }\n this.defaults = { ...this.defaults, ...opts };\n });\n return this;\n }\n setOptions(opt) {\n this.defaults = { ...this.defaults, ...opt };\n return this;\n }\n lexer(src, options) {\n return _Lexer.lex(src, options ?? this.defaults);\n }\n parser(tokens, options) {\n return _Parser.parse(tokens, options ?? this.defaults);\n }\n #parseMarkdown(lexer, parser) {\n return (src, options) => {\n const origOpt = { ...options };\n const opt = { ...this.defaults, ...origOpt };\n // Show warning if an extension set async to true but the parse was called with async: false\n if (this.defaults.async === true && origOpt.async === false) {\n if (!opt.silent) {\n console.warn('marked(): The async option was set to true by an extension. The async: false option sent to parse will be ignored.');\n }\n opt.async = true;\n }\n const throwError = this.#onError(!!opt.silent, !!opt.async);\n // throw error in case of non string input\n if (typeof src === 'undefined' || src === null) {\n return throwError(new Error('marked(): input parameter is undefined or null'));\n }\n if (typeof src !== 'string') {\n return throwError(new Error('marked(): input parameter is of type '\n + Object.prototype.toString.call(src) + ', string expected'));\n }\n if (opt.hooks) {\n opt.hooks.options = opt;\n }\n if (opt.async) {\n return Promise.resolve(opt.hooks ? opt.hooks.preprocess(src) : src)\n .then(src => lexer(src, opt))\n .then(tokens => opt.hooks ? opt.hooks.processAllTokens(tokens) : tokens)\n .then(tokens => opt.walkTokens ? Promise.all(this.walkTokens(tokens, opt.walkTokens)).then(() => tokens) : tokens)\n .then(tokens => parser(tokens, opt))\n .then(html => opt.hooks ? opt.hooks.postprocess(html) : html)\n .catch(throwError);\n }\n try {\n if (opt.hooks) {\n src = opt.hooks.preprocess(src);\n }\n let tokens = lexer(src, opt);\n if (opt.hooks) {\n tokens = opt.hooks.processAllTokens(tokens);\n }\n if (opt.walkTokens) {\n this.walkTokens(tokens, opt.walkTokens);\n }\n let html = parser(tokens, opt);\n if (opt.hooks) {\n html = opt.hooks.postprocess(html);\n }\n return html;\n }\n catch (e) {\n return throwError(e);\n }\n };\n }\n #onError(silent, async) {\n return (e) => {\n e.message += '\\nPlease report this to https://github.com/markedjs/marked.';\n if (silent) {\n const msg = '

    An error occurred:

    '\n                    + escape$1(e.message + '', true)\n                    + '
    ';\n if (async) {\n return Promise.resolve(msg);\n }\n return msg;\n }\n if (async) {\n return Promise.reject(e);\n }\n throw e;\n };\n }\n}\n\nconst markedInstance = new Marked();\nfunction marked(src, opt) {\n return markedInstance.parse(src, opt);\n}\n/**\n * Sets the default options.\n *\n * @param options Hash of options\n */\nmarked.options =\n marked.setOptions = function (options) {\n markedInstance.setOptions(options);\n marked.defaults = markedInstance.defaults;\n changeDefaults(marked.defaults);\n return marked;\n };\n/**\n * Gets the original marked default options.\n */\nmarked.getDefaults = _getDefaults;\nmarked.defaults = _defaults;\n/**\n * Use Extension\n */\nmarked.use = function (...args) {\n markedInstance.use(...args);\n marked.defaults = markedInstance.defaults;\n changeDefaults(marked.defaults);\n return marked;\n};\n/**\n * Run callback for every token\n */\nmarked.walkTokens = function (tokens, callback) {\n return markedInstance.walkTokens(tokens, callback);\n};\n/**\n * Compiles markdown to HTML without enclosing `p` tag.\n *\n * @param src String of markdown source to be compiled\n * @param options Hash of options\n * @return String of compiled HTML\n */\nmarked.parseInline = markedInstance.parseInline;\n/**\n * Expose\n */\nmarked.Parser = _Parser;\nmarked.parser = _Parser.parse;\nmarked.Renderer = _Renderer;\nmarked.TextRenderer = _TextRenderer;\nmarked.Lexer = _Lexer;\nmarked.lexer = _Lexer.lex;\nmarked.Tokenizer = _Tokenizer;\nmarked.Hooks = _Hooks;\nmarked.parse = marked;\nconst options = marked.options;\nconst setOptions = marked.setOptions;\nconst use = marked.use;\nconst walkTokens = marked.walkTokens;\nconst parseInline = marked.parseInline;\nconst parse = marked;\nconst parser = _Parser.parse;\nconst lexer = _Lexer.lex;\n\nexport { _Hooks as Hooks, _Lexer as Lexer, Marked, _Parser as Parser, _Renderer as Renderer, _TextRenderer as TextRenderer, _Tokenizer as Tokenizer, _defaults as defaults, _getDefaults as getDefaults, lexer, marked, options, parse, parseInline, parser, setOptions, use, walkTokens };\n//# sourceMappingURL=marked.esm.js.map\n","\n\n\n\n\n\n\n","import mod from \"-!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Markdown.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!./Markdown.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!./Markdown.vue?vue&type=style&index=0&id=ffd9a2d6&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!./Markdown.vue?vue&type=style&index=0&id=ffd9a2d6&prod&scoped=true&lang=scss\";\n export default content && content.locals ? content.locals : undefined;\n","import { render, staticRenderFns } from \"./Markdown.vue?vue&type=template&id=ffd9a2d6&scoped=true\"\nimport script from \"./Markdown.vue?vue&type=script&lang=js\"\nexport * from \"./Markdown.vue?vue&type=script&lang=js\"\nimport style0 from \"./Markdown.vue?vue&type=style&index=0&id=ffd9a2d6&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 \"ffd9a2d6\",\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',{staticClass:\"settings-markdown\",domProps:{\"innerHTML\":_vm._s(_vm.renderMarkdown)}})\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!./AppDetails.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!./AppDetails.vue?vue&type=script&lang=js\"","\n\n\n\n\n\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/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/sass-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AppDetails.vue?vue&type=style&index=0&id=79b6e1ee&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!./AppDetails.vue?vue&type=style&index=0&id=79b6e1ee&prod&scoped=true&lang=scss\";\n export default content && content.locals ? content.locals : undefined;\n","import { render, staticRenderFns } from \"./AppDetails.vue?vue&type=template&id=79b6e1ee&scoped=true\"\nimport script from \"./AppDetails.vue?vue&type=script&lang=js\"\nexport * from \"./AppDetails.vue?vue&type=script&lang=js\"\nimport style0 from \"./AppDetails.vue?vue&type=style&index=0&id=79b6e1ee&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 \"79b6e1ee\",\n null\n \n)\n\nexport default component.exports","\n\n\n\n\n\n\n","import mod from \"-!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Apps.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!./Apps.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!./Apps.vue?vue&type=style&index=0&id=611a3de0&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!./Apps.vue?vue&type=style&index=0&id=611a3de0&prod&lang=scss&scoped=true\";\n export default content && content.locals ? content.locals : undefined;\n","import { render, staticRenderFns } from \"./Apps.vue?vue&type=template&id=611a3de0&scoped=true\"\nimport script from \"./Apps.vue?vue&type=script&lang=js\"\nexport * from \"./Apps.vue?vue&type=script&lang=js\"\nimport style0 from \"./Apps.vue?vue&type=style&index=0&id=611a3de0&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 \"611a3de0\",\n null\n \n)\n\nexport default component.exports","/**\n * vue-local-storage v0.6.0\n * (c) 2017 Alexander Avakov\n * @license MIT\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.VueLocalStorage = factory());\n}(this, (function () { 'use strict';\n\nvar VueLocalStorage = function VueLocalStorage () {\n this._properties = {};\n this._namespace = '';\n this._isSupported = true;\n};\n\nvar prototypeAccessors = { namespace: {} };\n\n/**\n * Namespace getter.\n *\n * @returns {string}\n */\nprototypeAccessors.namespace.get = function () {\n return this._namespace\n};\n\n/**\n * Namespace setter.\n *\n * @param {string} value\n */\nprototypeAccessors.namespace.set = function (value) {\n this._namespace = value ? (value + \".\") : '';\n};\n\n/**\n * Concatenates localStorage key with namespace prefix.\n *\n * @param {string} lsKey\n * @returns {string}\n * @private\n */\nVueLocalStorage.prototype._getLsKey = function _getLsKey (lsKey) {\n return (\"\" + (this._namespace) + lsKey)\n};\n\n/**\n * Set a value to localStorage giving respect to the namespace.\n *\n * @param {string} lsKey\n * @param {*} rawValue\n * @param {*} type\n * @private\n */\nVueLocalStorage.prototype._lsSet = function _lsSet (lsKey, rawValue, type) {\n var key = this._getLsKey(lsKey);\n var value = type && [Array, Object].includes(type)\n ? JSON.stringify(rawValue)\n : rawValue;\n\n window.localStorage.setItem(key, value);\n};\n\n/**\n * Get value from localStorage giving respect to the namespace.\n *\n * @param {string} lsKey\n * @returns {any}\n * @private\n */\nVueLocalStorage.prototype._lsGet = function _lsGet (lsKey) {\n var key = this._getLsKey(lsKey);\n\n return window.localStorage[key]\n};\n\n/**\n * Get value from localStorage\n *\n * @param {String} lsKey\n * @param {*} defaultValue\n * @param {*} defaultType\n * @returns {*}\n */\nVueLocalStorage.prototype.get = function get (lsKey, defaultValue, defaultType) {\n var this$1 = this;\n if ( defaultValue === void 0 ) defaultValue = null;\n if ( defaultType === void 0 ) defaultType = String;\n\n if (!this._isSupported) {\n return null\n }\n\n if (this._lsGet(lsKey)) {\n var type = defaultType;\n\n for (var key in this$1._properties) {\n if (key === lsKey) {\n type = this$1._properties[key].type;\n break\n }\n }\n\n return this._process(type, this._lsGet(lsKey))\n }\n\n return defaultValue !== null ? defaultValue : null\n};\n\n/**\n * Set localStorage value\n *\n * @param {String} lsKey\n * @param {*} value\n * @returns {*}\n */\nVueLocalStorage.prototype.set = function set (lsKey, value) {\n var this$1 = this;\n\n if (!this._isSupported) {\n return null\n }\n\n for (var key in this$1._properties) {\n var type = this$1._properties[key].type;\n\n if ((key === lsKey)) {\n this$1._lsSet(lsKey, value, type);\n\n return value\n }\n }\n\n this._lsSet(lsKey, value);\n\n return value\n};\n\n/**\n * Remove value from localStorage\n *\n * @param {String} lsKey\n */\nVueLocalStorage.prototype.remove = function remove (lsKey) {\n if (!this._isSupported) {\n return null\n }\n\n return window.localStorage.removeItem(lsKey)\n};\n\n/**\n * Add new property to localStorage\n *\n * @param {String} key\n * @param {function} type\n * @param {*} defaultValue\n */\nVueLocalStorage.prototype.addProperty = function addProperty (key, type, defaultValue) {\n if ( defaultValue === void 0 ) defaultValue = undefined;\n\n type = type || String;\n\n this._properties[key] = { type: type };\n\n if (!this._lsGet(key) && defaultValue !== null) {\n this._lsSet(key, defaultValue, type);\n }\n};\n\n/**\n * Process the value before return it from localStorage\n *\n * @param {String} type\n * @param {*} value\n * @returns {*}\n * @private\n */\nVueLocalStorage.prototype._process = function _process (type, value) {\n switch (type) {\n case Boolean:\n return value === 'true'\n case Number:\n return parseFloat(value)\n case Array:\n try {\n var array = JSON.parse(value);\n\n return Array.isArray(array) ? array : []\n } catch (e) {\n return []\n }\n case Object:\n try {\n return JSON.parse(value)\n } catch (e) {\n return {}\n }\n default:\n return value\n }\n};\n\nObject.defineProperties( VueLocalStorage.prototype, prototypeAccessors );\n\nvar vueLocalStorage = new VueLocalStorage();\n\nvar index = {\n /**\n * Install vue-local-storage plugin\n *\n * @param {Vue} Vue\n * @param {Object} options\n */\n install: function (Vue, options) {\n if ( options === void 0 ) options = {};\n\n if (typeof process !== 'undefined' &&\n (\n process.server ||\n process.SERVER_BUILD ||\n (process.env && process.env.VUE_ENV === 'server')\n )\n ) {\n return\n }\n\n var isSupported = true;\n\n try {\n var test = '__vue-localstorage-test__';\n\n window.localStorage.setItem(test, test);\n window.localStorage.removeItem(test);\n } catch (e) {\n isSupported = false;\n vueLocalStorage._isSupported = false;\n\n console.error('Local storage is not supported');\n }\n\n var name = options.name || 'localStorage';\n var bind = options.bind;\n\n if (options.namespace) {\n vueLocalStorage.namespace = options.namespace;\n }\n\n Vue.mixin({\n beforeCreate: function beforeCreate () {\n var this$1 = this;\n\n if (!isSupported) {\n return\n }\n\n if (this.$options[name]) {\n Object.keys(this.$options[name]).forEach(function (key) {\n var config = this$1.$options[name][key];\n var ref = [config.type, config.default];\n var type = ref[0];\n var defaultValue = ref[1];\n\n vueLocalStorage.addProperty(key, type, defaultValue);\n\n var existingProp = Object.getOwnPropertyDescriptor(vueLocalStorage, key);\n\n if (!existingProp) {\n var prop = {\n get: function () { return Vue.localStorage.get(key, defaultValue); },\n set: function (val) { return Vue.localStorage.set(key, val); },\n configurable: true\n };\n\n Object.defineProperty(vueLocalStorage, key, prop);\n Vue.util.defineReactive(vueLocalStorage, key, defaultValue);\n } else if (!Vue.config.silent) {\n console.log((key + \": is already defined and will be reused\"));\n }\n\n if ((bind || config.bind) && config.bind !== false) {\n this$1.$options.computed = this$1.$options.computed || {};\n\n if (!this$1.$options.computed[key]) {\n this$1.$options.computed[key] = {\n get: function () { return Vue.localStorage[key]; },\n set: function (val) { Vue.localStorage[key] = val; }\n };\n }\n }\n });\n }\n }\n });\n\n Vue[name] = vueLocalStorage;\n Vue.prototype[(\"$\" + name)] = vueLocalStorage;\n }\n};\n\nreturn index;\n\n})));\n"],"names":["___CSS_LOADER_EXPORT___","push","module","id","name","emits","props","title","type","String","fillColor","default","size","Number","_vm","this","_c","_self","_b","staticClass","attrs","on","$event","$emit","$attrs","_v","_s","_e","computed","appScore","Math","round","score","scoreImage","imageName","imagePath","t","axios","get","generateOcsUrl","then","_ref","data","ocs","meta","statuscode","emit","apps","window","dispatchEvent","Event","appGroups","app","groups","map","group","installing","$store","getters","loading","isLoading","enableButtonText","needsDownload","forceEnableButtonText","enableButtonTooltip","forceEnableButtonTooltip","base","groupCheckedAppsData","mounted","length","methods","asyncFindGroup","query","dispatch","search","limit","offset","isLimitedToGroups","setGroupLimit","appId","canLimitToGroups","types","includes","addGroupLimitation","groupArray","pop","concat","removeGroupLimitation","currentGroups","index","indexOf","splice","forceEnable","response","rebuildNavigation","catch","error","showError","enable","disable","remove","install","update","filterId","filterUrl","random","toString","substring","components","AppScore","NcButton","mixins","AppManagement","SvgFilterMixin","category","listView","Boolean","useBundleView","headers","isSelected","scrolled","screenshotLoaded","hasRating","appstoreData","ratingNumOverall","dataItemTag","watch","$route","params","releases","screenshot","image","Image","onload","e","src","watchers","prefix","content","getDataItemHeaders","columnName","join","options","styleTagTransform","setAttributes","insert","domAPI","insertStyleElement","locals","tag","class","selected","preview","appName","summary","version","level","stopPropagation","canUnInstall","active","canInstall","isCompatible","pLimit","concurrency","isInteger","POSITIVE_INFINITY","TypeError","queue","Queue","activeCount","run","async","fn","resolve","args","result","dequeue","generator","_len","arguments","Array","_key","Promise","enqueue","bind","undefined","Object","defineProperties","pendingCount","clearQueue","value","clear","AppItem","PrefixMixin","counter","filter","hasPendingUpdate","showUpdateAll","useListView","getAllApps","toLowerCase","sort","a","b","sortStringA","sortStringB","OC","Util","naturalSortCompare","installed","bundles","appstore","getAppBundles","bundle","bundleApps","bundleIds","searchApps","find","_app","useAppStoreView","allBundlesEnabled","bundleToggleText","toggleBundle","disableBundle","enableBundle","console","Notification","show","updateAll","store","n","key","_l","_defaults","breaks","extensions","gfm","hooks","pedantic","renderer","silent","tokenizer","walkTokens","changeDefaults","newDefaults","escapeTest","escapeReplace","RegExp","source","escapeTestNoEncode","escapeReplaceNoEncode","escapeReplacements","getEscapeReplacement","ch","escape$1","html","encode","test","replace","unescapeTest","_","charAt","fromCharCode","parseInt","caret","edit","regex","opt","obj","val","valSource","getRegex","cleanUrl","href","encodeURI","noopTest","exec","splitCells","tableRow","count","cells","match","str","escaped","curr","split","i","trim","shift","rtrim","c","invert","l","suffLen","currChar","slice","outputLink","cap","link","raw","lexer","text","state","inLink","token","tokens","inlineTokens","_Tokenizer","rules","constructor","space","block","newline","code","codeBlockStyle","fences","matchIndentToCode","indentToCode","node","matchIndentInNode","indentInNode","indentCodeCompensation","lang","inline","anyPunctuation","heading","trimmed","depth","hr","blockquote","top","blockTokens","list","bull","isordered","ordered","start","loose","items","itemRegex","itemContents","endsWithBlankLine","endEarly","line","repeat","nextLine","indent","trimStart","blankLine","nextBulletRegex","min","hrRegex","fencesBeginRegex","headingBeginRegex","rawLine","ischecked","istask","task","checked","trimEnd","spacers","hasMultipleLineBreaks","some","pre","def","table","aligns","rows","item","header","align","row","cell","lheading","paragraph","escape","inRawBlock","trimmedUrl","rtrimSlash","lastParenIndex","findClosingBracket","linkLen","reflink","links","nolink","emStrong","maskedSrc","prevChar","emStrongLDelim","punctuation","lLength","rDelim","rLength","delimTotal","midDelimTotal","endReg","emStrongRDelimAst","emStrongRDelimUnd","lastIndex","lastCharLength","codespan","hasNonSpaceChars","hasSpaceCharsOnBothEnds","br","del","autolink","url","prevCapZero","_backpedal","inlineText","bullet","_paragraph","_blockLabel","_tag","_comment","blockNormal","gfmTable","blockGfm","blockPedantic","_punctuation","_inlineComment","_inlineLabel","inlineNormal","blockSkip","reflinkSearch","inlinePedantic","inlineGfm","inlineBreaks","normal","_Lexer","inlineQueue","create","lex","lexInline","next","lastToken","cutSrc","lastParagraphClipped","leading","tabs","extTokenizer","call","startBlock","startIndex","Infinity","tempSrc","tempStart","forEach","getStartIndex","errMsg","charCodeAt","Error","keepPrevChar","keys","lastIndexOf","startInline","_Renderer","infostring","quote","body","listitem","checkbox","tablerow","tablecell","flags","strong","em","cleanHref","out","_TextRenderer","_Parser","textRenderer","parse","parseInline","renderers","genericToken","ret","parser","headingToken","codeToken","tableToken","j","k","blockquoteToken","listToken","itemBody","unshift","htmlToken","paragraphToken","textToken","escapeToken","tagToken","linkToken","imageToken","strongToken","emToken","codespanToken","delToken","_Hooks","static","Set","preprocess","markdown","postprocess","processAllTokens","markedInstance","defaults","setOptions","Parser","Renderer","TextRenderer","Lexer","Tokenizer","Hooks","use","callback","values","childTokens","flat","pack","opts","ext","prevRenderer","apply","extLevel","prop","rendererProp","rendererFunc","tokenizerProp","tokenizerFunc","prevTokenizer","hooksProp","hooksFunc","prevHook","passThroughHooks","has","arg","packWalktokens","origOpt","warn","throwError","prototype","all","message","msg","reject","marked","getDefaults","renderMarkdown","prot","decodeURIComponent","unescape","dompurify","highlight","tables","sanitize","smartLists","smartypants","SAFE_FOR_JQUERY","ALLOWED_TAGS","domProps","NcSelect","Markdown","required","appstoreUrl","licence","license","toUpperCase","author","getGroups","localeCompare","directives","rawName","expression","isArray","_i","$$a","$$el","target","$$c","$$v","$$i","slot","missingMinOwnCloudVersion","missingMaxOwnCloudVersion","missingDependencies","dep","internal","website","bugs","documentation","user","admin","developer","description","Vue","VueLocalStorage","appstoreEnabled","loadState","developerDocumentation","APPS_SECTION_ENUM","NcAppContent","AppDetails","AppList","IconStarShooting","NcAppNavigation","NcAppNavigationItem","NcAppNavigationSpacer","NcCounterBubble","NcAppSidebar","NcAppSidebarTab","NcContent","searchQuery","pageHeading","$options","getCategoryById","displayName","loadingList","categories","getCategories","updateCount","getUpdateCount","appSidebar","authorName","xmlNode","subname","background","compact","changelog","release","translations","en","isSubscribed","_this$app","_this$app2","beforeMount","shouldRefetchCategories","subscribe","setSearch","resetSearch","beforeDestroy","unsubscribe","hideAppDetails","$router","openDeveloperDocumentation","open","scopedSlots","_u","enabled","disabled","updates","proxy","supported","featured","cat","ratingOverall","exports","_properties","_namespace","_isSupported","prototypeAccessors","namespace","set","_getLsKey","lsKey","_lsSet","rawValue","JSON","stringify","localStorage","setItem","_lsGet","defaultValue","defaultType","_process","this$1","removeItem","addProperty","parseFloat","array","vueLocalStorage","process","server","SERVER_BUILD","env","VUE_ENV","isSupported","mixin","beforeCreate","config","ref","getOwnPropertyDescriptor","log","configurable","defineProperty","util","defineReactive","factory"],"sourceRoot":""}