@fluid-topics/ft-reader-context 1.1.0 → 1.1.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
!function(t,i,e,s){class n{constructor(t){this.paginatedToc=t,this.nodeByTocId={},this.knownPrettyUrls=new Set,this.duplicatedPrettyUrls=new Set,this.pages=[],this.pageByTocId={}}build(){return{paginationConfiguration:this.paginatedToc.configuration,toc:this.convertNodes(this.paginatedToc.paginatedToc,1),pagesToc:this.extractPagesToc(this.paginatedToc.paginatedToc,1),nodeByTocId:this.nodeByTocId,duplicatedPrettyUrls:this.duplicatedPrettyUrls,pages:this.pages,pageByTocId:this.pageByTocId}}extractPagesToc(t,i,e){return t.flatMap((t=>(t.pageConfiguration&&this.registerPage(this.buildPage(t,e)),null==t.tocId?this.extractPagesToc(t.children,i,e):[{tocId:t.tocId,title:t.title,depth:i,children:this.extractPagesToc(t.children,i+1,t.tocId)}])))}convertNodes(t,i,e){return t.flatMap((t=>{var s,n,r;if(null==t.tocId)return[...this.convertSectionNodes(null!==(s=t.pageToc)&&void 0!==s?s:[],i,t.tocId),...this.convertNodes(t.children,i,t.tocId)];let o=null===(n=t.prettyUrl)||void 0===n?void 0:n.replace(/^\//,"");const a={tocId:t.tocId,contentId:t.contentId,title:t.title,hasRating:t.hasRating,origin:t.origin,prettyUrl:o,depth:i,parentTocId:e,children:[]};this.register(a);const h=this.convertSectionNodes(null!==(r=t.pageToc)&&void 0!==r?r:[],i+1,t.tocId),u=this.convertNodes(t.children,i+1,a.tocId);return a.children=[...h,...u],[a]}))}convertSectionNodes(t,i,e){return t.flatMap((t=>{var s;let n=null===(s=t.prettyUrl)||void 0===s?void 0:s.replace(/^\//,"");const r={...t,prettyUrl:n,depth:i,parentTocId:e,children:[]};return this.register(r),r.children=this.convertSectionNodes(t.children,i+1,t.tocId),[r]}))}buildPage(t,i){var e,s,n,r,o,a;const h={number:this.pages.length+1,title:null!==(e=t.title)&&void 0!==e?e:"",rootTocId:null!==(s=t.tocId)&&void 0!==s?s:"root",toc:(null!==(n=t.pageToc)&&void 0!==n?n:[]).map((t=>this.nodeByTocId[t.tocId])),topics:[],hiddenTopics:[],breadcrumb:i?this.buildBreadcrumb(this.nodeByTocId[i]):[]},u=(t,i)=>(i?h.topics:h.hiddenTopics).push(t),c=null!==(o=null===(r=t.pageConfiguration)||void 0===r?void 0:r.parentsVisibility)&&void 0!==o?o:[];return h.breadcrumb.forEach(((t,i)=>{u(t,c[i])})),t.tocId&&u(t.tocId,t.pageConfiguration.isVisible),h.topics.push(...this.tocIds(null!==(a=t.pageToc)&&void 0!==a?a:[])),h}registerPage(t){for(let i of[...t.topics,...t.hiddenTopics])this.pageByTocId[i]||(this.pageByTocId[i]=t);this.pages.push(t)}tocIds(t){return t.flatMap((t=>[t.tocId,...this.tocIds(t.children)]))}buildBreadcrumb(t){const i=[t.tocId];for(;null==t?void 0:t.parentTocId;)i.unshift(t.parentTocId),t=this.nodeByTocId[t.parentTocId];return i}register(t){t.prettyUrl&&(this.knownPrettyUrls.has(t.prettyUrl)&&this.duplicatedPrettyUrls.add(t.prettyUrl),this.knownPrettyUrls.add(t.prettyUrl)),this.nodeByTocId[t.tocId]=t}}class r{convertPaginatedToc(t){return new n(t).build()}}var o,a,h,u,c,l,d,v,f,p,w,y,m,T;!function(t){!function(i){var e={searchParams:"URLSearchParams"in t,iterable:"Symbol"in t&&"iterator"in Symbol,blob:"FileReader"in t&&"Blob"in t&&function(){try{return new Blob,!0}catch(t){return!1}}(),formData:"FormData"in t,arrayBuffer:"ArrayBuffer"in t};if(e.arrayBuffer)var s=["[object Int8Array]","[object Uint8Array]","[object Uint8ClampedArray]","[object Int16Array]","[object Uint16Array]","[object Int32Array]","[object Uint32Array]","[object Float32Array]","[object Float64Array]"],n=ArrayBuffer.isView||function(t){return t&&s.indexOf(Object.prototype.toString.call(t))>-1};function r(t){if("string"!=typeof t&&(t=String(t)),/[^a-z0-9\-#$%&'*+.^_`|~]/i.test(t))throw new TypeError("Invalid character in header field name");return t.toLowerCase()}function o(t){return"string"!=typeof t&&(t=String(t)),t}function a(t){var i={next:function(){var i=t.shift();return{done:void 0===i,value:i}}};return e.iterable&&(i[Symbol.iterator]=function(){return i}),i}function h(t){this.map={},t instanceof h?t.forEach((function(t,i){this.append(i,t)}),this):Array.isArray(t)?t.forEach((function(t){this.append(t[0],t[1])}),this):t&&Object.getOwnPropertyNames(t).forEach((function(i){this.append(i,t[i])}),this)}function u(t){if(t.bodyUsed)return Promise.reject(new TypeError("Already read"));t.bodyUsed=!0}function c(t){return new Promise((function(i,e){t.onload=function(){i(t.result)},t.onerror=function(){e(t.error)}}))}function l(t){var i=new FileReader,e=c(i);return i.readAsArrayBuffer(t),e}function d(t){if(t.slice)return t.slice(0);var i=new Uint8Array(t.byteLength);return i.set(new Uint8Array(t)),i.buffer}function v(){return this.bodyUsed=!1,this._initBody=function(t){var i;this._bodyInit=t,t?"string"==typeof t?this._bodyText=t:e.blob&&Blob.prototype.isPrototypeOf(t)?this._bodyBlob=t:e.formData&&FormData.prototype.isPrototypeOf(t)?this._bodyFormData=t:e.searchParams&&URLSearchParams.prototype.isPrototypeOf(t)?this._bodyText=t.toString():e.arrayBuffer&&e.blob&&((i=t)&&DataView.prototype.isPrototypeOf(i))?(this._bodyArrayBuffer=d(t.buffer),this._bodyInit=new Blob([this._bodyArrayBuffer])):e.arrayBuffer&&(ArrayBuffer.prototype.isPrototypeOf(t)||n(t))?this._bodyArrayBuffer=d(t):this._bodyText=t=Object.prototype.toString.call(t):this._bodyText="",this.headers.get("content-type")||("string"==typeof t?this.headers.set("content-type","text/plain;charset=UTF-8"):this._bodyBlob&&this._bodyBlob.type?this.headers.set("content-type",this._bodyBlob.type):e.searchParams&&URLSearchParams.prototype.isPrototypeOf(t)&&this.headers.set("content-type","application/x-www-form-urlencoded;charset=UTF-8"))},e.blob&&(this.blob=function(){var t=u(this);if(t)return t;if(this._bodyBlob)return Promise.resolve(this._bodyBlob);if(this._bodyArrayBuffer)return Promise.resolve(new Blob([this._bodyArrayBuffer]));if(this._bodyFormData)throw new Error("could not read FormData body as blob");return Promise.resolve(new Blob([this._bodyText]))},this.arrayBuffer=function(){return this._bodyArrayBuffer?u(this)||Promise.resolve(this._bodyArrayBuffer):this.blob().then(l)}),this.text=function(){var t,i,e,s=u(this);if(s)return s;if(this._bodyBlob)return t=this._bodyBlob,i=new FileReader,e=c(i),i.readAsText(t),e;if(this._bodyArrayBuffer)return Promise.resolve(function(t){for(var i=new Uint8Array(t),e=new Array(i.length),s=0;s<i.length;s++)e[s]=String.fromCharCode(i[s]);return e.join("")}(this._bodyArrayBuffer));if(this._bodyFormData)throw new Error("could not read FormData body as text");return Promise.resolve(this._bodyText)},e.formData&&(this.formData=function(){return this.text().then(w)}),this.json=function(){return this.text().then(JSON.parse)},this}h.prototype.append=function(t,i){t=r(t),i=o(i);var e=this.map[t];this.map[t]=e?e+", "+i:i},h.prototype.delete=function(t){delete this.map[r(t)]},h.prototype.get=function(t){return t=r(t),this.has(t)?this.map[t]:null},h.prototype.has=function(t){return this.map.hasOwnProperty(r(t))},h.prototype.set=function(t,i){this.map[r(t)]=o(i)},h.prototype.forEach=function(t,i){for(var e in this.map)this.map.hasOwnProperty(e)&&t.call(i,this.map[e],e,this)},h.prototype.keys=function(){var t=[];return this.forEach((function(i,e){t.push(e)})),a(t)},h.prototype.values=function(){var t=[];return this.forEach((function(i){t.push(i)})),a(t)},h.prototype.entries=function(){var t=[];return this.forEach((function(i,e){t.push([e,i])})),a(t)},e.iterable&&(h.prototype[Symbol.iterator]=h.prototype.entries);var f=["DELETE","GET","HEAD","OPTIONS","POST","PUT"];function p(t,i){var e,s,n=(i=i||{}).body;if(t instanceof p){if(t.bodyUsed)throw new TypeError("Already read");this.url=t.url,this.credentials=t.credentials,i.headers||(this.headers=new h(t.headers)),this.method=t.method,this.mode=t.mode,this.signal=t.signal,n||null==t._bodyInit||(n=t._bodyInit,t.bodyUsed=!0)}else this.url=String(t);if(this.credentials=i.credentials||this.credentials||"same-origin",!i.headers&&this.headers||(this.headers=new h(i.headers)),this.method=(e=i.method||this.method||"GET",s=e.toUpperCase(),f.indexOf(s)>-1?s:e),this.mode=i.mode||this.mode||null,this.signal=i.signal||this.signal,this.referrer=null,("GET"===this.method||"HEAD"===this.method)&&n)throw new TypeError("Body not allowed for GET or HEAD requests");this._initBody(n)}function w(t){var i=new FormData;return t.trim().split("&").forEach((function(t){if(t){var e=t.split("="),s=e.shift().replace(/\+/g," "),n=e.join("=").replace(/\+/g," ");i.append(decodeURIComponent(s),decodeURIComponent(n))}})),i}function y(t,i){i||(i={}),this.type="default",this.status=void 0===i.status?200:i.status,this.ok=this.status>=200&&this.status<300,this.statusText="statusText"in i?i.statusText:"OK",this.headers=new h(i.headers),this.url=i.url||"",this._initBody(t)}p.prototype.clone=function(){return new p(this,{body:this._bodyInit})},v.call(p.prototype),v.call(y.prototype),y.prototype.clone=function(){return new y(this._bodyInit,{status:this.status,statusText:this.statusText,headers:new h(this.headers),url:this.url})},y.error=function(){var t=new y(null,{status:0,statusText:""});return t.type="error",t};var m=[301,302,303,307,308];y.redirect=function(t,i){if(-1===m.indexOf(i))throw new RangeError("Invalid status code");return new y(null,{status:i,headers:{location:t}})},i.DOMException=t.DOMException;try{new i.DOMException}catch(t){i.DOMException=function(t,i){this.message=t,this.name=i;var e=Error(t);this.stack=e.stack},i.DOMException.prototype=Object.create(Error.prototype),i.DOMException.prototype.constructor=i.DOMException}function T(t,s){return new Promise((function(n,r){var o=new p(t,s);if(o.signal&&o.signal.aborted)return r(new i.DOMException("Aborted","AbortError"));var a=new XMLHttpRequest;function u(){a.abort()}a.onload=function(){var t,i,e={status:a.status,statusText:a.statusText,headers:(t=a.getAllResponseHeaders()||"",i=new h,t.replace(/\r?\n[\t ]+/g," ").split(/\r?\n/).forEach((function(t){var e=t.split(":"),s=e.shift().trim();if(s){var n=e.join(":").trim();i.append(s,n)}})),i)};e.url="responseURL"in a?a.responseURL:e.headers.get("X-Request-URL");var s="response"in a?a.response:a.responseText;n(new y(s,e))},a.onerror=function(){r(new TypeError("Network request failed"))},a.ontimeout=function(){r(new TypeError("Network request failed"))},a.onabort=function(){r(new i.DOMException("Aborted","AbortError"))},a.open(o.method,o.url,!0),"include"===o.credentials?a.withCredentials=!0:"omit"===o.credentials&&(a.withCredentials=!1),"responseType"in a&&e.blob&&(a.responseType="blob"),o.headers.forEach((function(t,i){a.setRequestHeader(i,t)})),o.signal&&(o.signal.addEventListener("abort",u),a.onreadystatechange=function(){4===a.readyState&&o.signal.removeEventListener("abort",u)}),a.send(void 0===o._bodyInit?null:o._bodyInit)}))}T.polyfill=!0,t.fetch||(t.fetch=T,t.Headers=h,t.Request=p,t.Response=y),i.Headers=h,i.Request=p,i.Response=y,i.fetch=T,Object.defineProperty(i,"t",{value:!0})}({})}("undefined"!=typeof self?self:void 0),function(t){t.black="black",t.green="green",t.blue="blue",t.purple="purple",t.red="red",t.orange="orange",t.yellow="yellow"}(o||(o={})),function(t){t.OFFICIAL="OFFICIAL",t.PERSONAL="PERSONAL",t.SHARED="SHARED"}(a||(a={})),function(t){t.THIRD_PARTY="THIRD_PARTY",t.OFF_THE_GRID="OFF_THE_GRID",t.CONTENT_PACKAGER="CONTENT_PACKAGER",t.PAGES="PAGES",t.DESIGNED_READER="DESIGNED_READER"}(h||(h={})),function(t){t.STARS="STARS",t.LIKE="LIKE",t.DICHOTOMOUS="DICHOTOMOUS",t.NO_RATING="NO_RATING"}(u||(u={})),function(t){t.LAST_WEEK="LAST_WEEK",t.LAST_MONTH="LAST_MONTH",t.LAST_YEAR="LAST_YEAR",t.CUSTOM="CUSTOM"}(c||(c={})),function(t){t.ASC="ASC",t.DESC="DESC"}(l||(l={})),function(t){t.ALPHA="ALPHA",t.NATURAL="NATURAL"}(d||(d={})),function(t){t.EVERYWHERE="EVERYWHERE",t.TITLE_ONLY="TITLE_ONLY",t.NONE="NONE"}(v||(v={})),function(t){t.ARTICLE="ARTICLE",t.BOOK="BOOK",t.SHARED_BOOK="SHARED_BOOK"}(f||(f={})),function(t){t.FLUIDTOPICS="FLUIDTOPICS",t.EXTERNAL="EXTERNAL"}(p||(p={})),function(t){t.MAP="MAP",t.DOCUMENT="DOCUMENT",t.TOPIC="TOPIC",t.PERSONAL_BOOK="PERSONAL_BOOK",t.SHARED_BOOK="SHARED_BOOK"}(w||(w={})),function(t){t.MAP="MAP",t.DOCUMENT="DOCUMENT",t.TOPIC="TOPIC"}(y||(y={})),function(t){t.DEFAULT="DEFAULT",t.DOCUMENTS="DOCUMENTS"}(m||(m={})),function(t){t.PERSONAL_BOOK_USER="PERSONAL_BOOK_USER",t.PERSONAL_BOOK_SHARE_USER="PERSONAL_BOOK_SHARE_USER",t.HTML_EXPORT_USER="HTML_EXPORT_USER",t.PDF_EXPORT_USER="PDF_EXPORT_USER",t.SAVED_SEARCH_USER="SAVED_SEARCH_USER",t.COLLECTION_USER="COLLECTION_USER",t.OFFLINE_USER="OFFLINE_USER",t.ANALYTICS_USER="ANALYTICS_USER",t.BETA_USER="BETA_USER",t.DEBUG_USER="DEBUG_USER",t.PRINT_USER="PRINT_USER",t.RATING_USER="RATING_USER",t.FEEDBACK_USER="FEEDBACK_USER",t.CONTENT_PUBLISHER="CONTENT_PUBLISHER",t.KHUB_ADMIN="KHUB_ADMIN",t.USERS_ADMIN="USERS_ADMIN",t.PORTAL_ADMIN="PORTAL_ADMIN",t.ADMIN="ADMIN",t.DEVELOPER="DEVELOPER"}(T||(T={}));const g={[T.PERSONAL_BOOK_SHARE_USER]:[T.PERSONAL_BOOK_USER],[T.HTML_EXPORT_USER]:[T.PERSONAL_BOOK_USER],[T.PDF_EXPORT_USER]:[T.PERSONAL_BOOK_USER],[T.KHUB_ADMIN]:[T.CONTENT_PUBLISHER],[T.ADMIN]:[T.KHUB_ADMIN,T.USERS_ADMIN,T.PORTAL_ADMIN],[T.DEVELOPER]:[T.BETA_USER,T.DEBUG_USER]};function E(t,i){return t===i||(g[t]??[]).some((t=>E(t,i)))}function b(t,i){if(null==t)return!1;return(Array.isArray(t)?t:Array.isArray(t.roles)?t.roles:Array.isArray(t.profile?.roles)?t.profile.roles:[]).some((t=>E(t,i)))}var A;t.FtReaderFeatures=void 0,(A=t.FtReaderFeatures||(t.FtReaderFeatures={})).FEEDBACK="FEEDBACK",A.RATING="RATING",A.PRINT="PRINT",A.BOOKMARK="BOOKMARK",A.COLLECTIONS="COLLECTIONS";const S=e.css`
|
|
2
|
-
`,R=i.FtReduxStore.get({name:"ft-app-info",reducers:{setBaseUrl:(t,i)=>{t.baseUrl=i.payload},setApiIntegrationIdentifier:(t,i)=>{t.apiIntegrationIdentifier=i.payload},setUiLocale:(t,i)=>{t.uiLocale=i.payload},setAvailableUiLocales:(t,i)=>{t.availableUiLocales=i.payload},setEditorMode:(t,i)=>{t.editorMode=i.payload},setNoCustom:(t,i)=>{t.noCustom=i.payload},setNoCustomComponent:(t,i)=>{t.noCustomComponent=i.payload},setSession:(t,i)=>{t.session=i.payload}},initialState:{uiLocale:document.documentElement.lang||"en-US",availableUiLocales:[],editorMode:!1,noCustom:!1,noCustomComponent:!1}});class I{static build(t){const{baseUrl:i,apiIntegrationIdentifier:e}=R.getState(),s=null!=t?t:e;if(i&&s&&window.fluidtopics)return new window.fluidtopics.FluidTopicsApi(i,s,!0)}static get(t){var i;return null!=t?I.build(t):null!==(i=I.API)&&void 0!==i?i:I.API=I.build()}static await(t){return new Promise((i=>{let e=I.get(t);if(e)i(e);else{const s=R.subscribe((()=>{e=I.get(t),e&&(s(),i(e))}))}}))}}var U;const
|
|
1
|
+
!function(t,i,e,s){class n{constructor(t){this.paginatedToc=t,this.nodeByTocId={},this.knownPrettyUrls=new Set,this.duplicatedPrettyUrls=new Set,this.pages=[],this.pageByTocId={}}build(){return{paginationConfiguration:this.paginatedToc.configuration,toc:this.convertNodes(this.paginatedToc.paginatedToc,1),pagesToc:this.extractPagesToc(this.paginatedToc.paginatedToc,1),nodeByTocId:this.nodeByTocId,duplicatedPrettyUrls:this.duplicatedPrettyUrls,pages:this.pages,pageByTocId:this.pageByTocId}}extractPagesToc(t,i,e){return t.flatMap((t=>(t.pageConfiguration&&this.registerPage(this.buildPage(t,e)),null==t.tocId?this.extractPagesToc(t.children,i,e):[{tocId:t.tocId,title:t.title,depth:i,children:this.extractPagesToc(t.children,i+1,t.tocId)}])))}convertNodes(t,i,e){return t.flatMap((t=>{var s,n,r;if(null==t.tocId)return[...this.convertSectionNodes(null!==(s=t.pageToc)&&void 0!==s?s:[],i,t.tocId),...this.convertNodes(t.children,i,t.tocId)];let o=null===(n=t.prettyUrl)||void 0===n?void 0:n.replace(/^\//,"");const a={tocId:t.tocId,contentId:t.contentId,title:t.title,hasRating:t.hasRating,origin:t.origin,prettyUrl:o,depth:i,parentTocId:e,children:[]};this.register(a);const h=this.convertSectionNodes(null!==(r=t.pageToc)&&void 0!==r?r:[],i+1,t.tocId),u=this.convertNodes(t.children,i+1,a.tocId);return a.children=[...h,...u],[a]}))}convertSectionNodes(t,i,e){return t.flatMap((t=>{var s;let n=null===(s=t.prettyUrl)||void 0===s?void 0:s.replace(/^\//,"");const r={...t,prettyUrl:n,depth:i,parentTocId:e,children:[]};return this.register(r),r.children=this.convertSectionNodes(t.children,i+1,t.tocId),[r]}))}buildPage(t,i){var e,s,n,r,o,a;const h={number:this.pages.length+1,title:null!==(e=t.title)&&void 0!==e?e:"",rootTocId:null!==(s=t.tocId)&&void 0!==s?s:"root",toc:(null!==(n=t.pageToc)&&void 0!==n?n:[]).map((t=>this.nodeByTocId[t.tocId])),topics:[],hiddenTopics:[],breadcrumb:i?this.buildBreadcrumb(this.nodeByTocId[i]):[]},u=(t,i)=>(i?h.topics:h.hiddenTopics).push(t),c=null!==(o=null===(r=t.pageConfiguration)||void 0===r?void 0:r.parentsVisibility)&&void 0!==o?o:[];return h.breadcrumb.forEach(((t,i)=>{u(t,c[i])})),t.tocId&&u(t.tocId,t.pageConfiguration.isVisible),h.topics.push(...this.tocIds(null!==(a=t.pageToc)&&void 0!==a?a:[])),h}registerPage(t){for(let i of[...t.topics,...t.hiddenTopics])this.pageByTocId[i]||(this.pageByTocId[i]=t);this.pages.push(t)}tocIds(t){return t.flatMap((t=>[t.tocId,...this.tocIds(t.children)]))}buildBreadcrumb(t){const i=[t.tocId];for(;null==t?void 0:t.parentTocId;)i.unshift(t.parentTocId),t=this.nodeByTocId[t.parentTocId];return i}register(t){t.prettyUrl&&(this.knownPrettyUrls.has(t.prettyUrl)&&this.duplicatedPrettyUrls.add(t.prettyUrl),this.knownPrettyUrls.add(t.prettyUrl)),this.nodeByTocId[t.tocId]=t}}class r{convertPaginatedToc(t){return new n(t).build()}}var o,a,h,u,c,l,d,v,f,p,w,y,m,T;!function(t){!function(i){var e={searchParams:"URLSearchParams"in t,iterable:"Symbol"in t&&"iterator"in Symbol,blob:"FileReader"in t&&"Blob"in t&&function(){try{return new Blob,!0}catch(t){return!1}}(),formData:"FormData"in t,arrayBuffer:"ArrayBuffer"in t};if(e.arrayBuffer)var s=["[object Int8Array]","[object Uint8Array]","[object Uint8ClampedArray]","[object Int16Array]","[object Uint16Array]","[object Int32Array]","[object Uint32Array]","[object Float32Array]","[object Float64Array]"],n=ArrayBuffer.isView||function(t){return t&&s.indexOf(Object.prototype.toString.call(t))>-1};function r(t){if("string"!=typeof t&&(t=String(t)),/[^a-z0-9\-#$%&'*+.^_`|~]/i.test(t))throw new TypeError("Invalid character in header field name");return t.toLowerCase()}function o(t){return"string"!=typeof t&&(t=String(t)),t}function a(t){var i={next:function(){var i=t.shift();return{done:void 0===i,value:i}}};return e.iterable&&(i[Symbol.iterator]=function(){return i}),i}function h(t){this.map={},t instanceof h?t.forEach((function(t,i){this.append(i,t)}),this):Array.isArray(t)?t.forEach((function(t){this.append(t[0],t[1])}),this):t&&Object.getOwnPropertyNames(t).forEach((function(i){this.append(i,t[i])}),this)}function u(t){if(t.bodyUsed)return Promise.reject(new TypeError("Already read"));t.bodyUsed=!0}function c(t){return new Promise((function(i,e){t.onload=function(){i(t.result)},t.onerror=function(){e(t.error)}}))}function l(t){var i=new FileReader,e=c(i);return i.readAsArrayBuffer(t),e}function d(t){if(t.slice)return t.slice(0);var i=new Uint8Array(t.byteLength);return i.set(new Uint8Array(t)),i.buffer}function v(){return this.bodyUsed=!1,this._initBody=function(t){var i;this._bodyInit=t,t?"string"==typeof t?this._bodyText=t:e.blob&&Blob.prototype.isPrototypeOf(t)?this._bodyBlob=t:e.formData&&FormData.prototype.isPrototypeOf(t)?this._bodyFormData=t:e.searchParams&&URLSearchParams.prototype.isPrototypeOf(t)?this._bodyText=t.toString():e.arrayBuffer&&e.blob&&((i=t)&&DataView.prototype.isPrototypeOf(i))?(this._bodyArrayBuffer=d(t.buffer),this._bodyInit=new Blob([this._bodyArrayBuffer])):e.arrayBuffer&&(ArrayBuffer.prototype.isPrototypeOf(t)||n(t))?this._bodyArrayBuffer=d(t):this._bodyText=t=Object.prototype.toString.call(t):this._bodyText="",this.headers.get("content-type")||("string"==typeof t?this.headers.set("content-type","text/plain;charset=UTF-8"):this._bodyBlob&&this._bodyBlob.type?this.headers.set("content-type",this._bodyBlob.type):e.searchParams&&URLSearchParams.prototype.isPrototypeOf(t)&&this.headers.set("content-type","application/x-www-form-urlencoded;charset=UTF-8"))},e.blob&&(this.blob=function(){var t=u(this);if(t)return t;if(this._bodyBlob)return Promise.resolve(this._bodyBlob);if(this._bodyArrayBuffer)return Promise.resolve(new Blob([this._bodyArrayBuffer]));if(this._bodyFormData)throw new Error("could not read FormData body as blob");return Promise.resolve(new Blob([this._bodyText]))},this.arrayBuffer=function(){return this._bodyArrayBuffer?u(this)||Promise.resolve(this._bodyArrayBuffer):this.blob().then(l)}),this.text=function(){var t,i,e,s=u(this);if(s)return s;if(this._bodyBlob)return t=this._bodyBlob,i=new FileReader,e=c(i),i.readAsText(t),e;if(this._bodyArrayBuffer)return Promise.resolve(function(t){for(var i=new Uint8Array(t),e=new Array(i.length),s=0;s<i.length;s++)e[s]=String.fromCharCode(i[s]);return e.join("")}(this._bodyArrayBuffer));if(this._bodyFormData)throw new Error("could not read FormData body as text");return Promise.resolve(this._bodyText)},e.formData&&(this.formData=function(){return this.text().then(w)}),this.json=function(){return this.text().then(JSON.parse)},this}h.prototype.append=function(t,i){t=r(t),i=o(i);var e=this.map[t];this.map[t]=e?e+", "+i:i},h.prototype.delete=function(t){delete this.map[r(t)]},h.prototype.get=function(t){return t=r(t),this.has(t)?this.map[t]:null},h.prototype.has=function(t){return this.map.hasOwnProperty(r(t))},h.prototype.set=function(t,i){this.map[r(t)]=o(i)},h.prototype.forEach=function(t,i){for(var e in this.map)this.map.hasOwnProperty(e)&&t.call(i,this.map[e],e,this)},h.prototype.keys=function(){var t=[];return this.forEach((function(i,e){t.push(e)})),a(t)},h.prototype.values=function(){var t=[];return this.forEach((function(i){t.push(i)})),a(t)},h.prototype.entries=function(){var t=[];return this.forEach((function(i,e){t.push([e,i])})),a(t)},e.iterable&&(h.prototype[Symbol.iterator]=h.prototype.entries);var f=["DELETE","GET","HEAD","OPTIONS","POST","PUT"];function p(t,i){var e,s,n=(i=i||{}).body;if(t instanceof p){if(t.bodyUsed)throw new TypeError("Already read");this.url=t.url,this.credentials=t.credentials,i.headers||(this.headers=new h(t.headers)),this.method=t.method,this.mode=t.mode,this.signal=t.signal,n||null==t._bodyInit||(n=t._bodyInit,t.bodyUsed=!0)}else this.url=String(t);if(this.credentials=i.credentials||this.credentials||"same-origin",!i.headers&&this.headers||(this.headers=new h(i.headers)),this.method=(e=i.method||this.method||"GET",s=e.toUpperCase(),f.indexOf(s)>-1?s:e),this.mode=i.mode||this.mode||null,this.signal=i.signal||this.signal,this.referrer=null,("GET"===this.method||"HEAD"===this.method)&&n)throw new TypeError("Body not allowed for GET or HEAD requests");this._initBody(n)}function w(t){var i=new FormData;return t.trim().split("&").forEach((function(t){if(t){var e=t.split("="),s=e.shift().replace(/\+/g," "),n=e.join("=").replace(/\+/g," ");i.append(decodeURIComponent(s),decodeURIComponent(n))}})),i}function y(t,i){i||(i={}),this.type="default",this.status=void 0===i.status?200:i.status,this.ok=this.status>=200&&this.status<300,this.statusText="statusText"in i?i.statusText:"OK",this.headers=new h(i.headers),this.url=i.url||"",this._initBody(t)}p.prototype.clone=function(){return new p(this,{body:this._bodyInit})},v.call(p.prototype),v.call(y.prototype),y.prototype.clone=function(){return new y(this._bodyInit,{status:this.status,statusText:this.statusText,headers:new h(this.headers),url:this.url})},y.error=function(){var t=new y(null,{status:0,statusText:""});return t.type="error",t};var m=[301,302,303,307,308];y.redirect=function(t,i){if(-1===m.indexOf(i))throw new RangeError("Invalid status code");return new y(null,{status:i,headers:{location:t}})},i.DOMException=t.DOMException;try{new i.DOMException}catch(t){i.DOMException=function(t,i){this.message=t,this.name=i;var e=Error(t);this.stack=e.stack},i.DOMException.prototype=Object.create(Error.prototype),i.DOMException.prototype.constructor=i.DOMException}function T(t,s){return new Promise((function(n,r){var o=new p(t,s);if(o.signal&&o.signal.aborted)return r(new i.DOMException("Aborted","AbortError"));var a=new XMLHttpRequest;function u(){a.abort()}a.onload=function(){var t,i,e={status:a.status,statusText:a.statusText,headers:(t=a.getAllResponseHeaders()||"",i=new h,t.replace(/\r?\n[\t ]+/g," ").split(/\r?\n/).forEach((function(t){var e=t.split(":"),s=e.shift().trim();if(s){var n=e.join(":").trim();i.append(s,n)}})),i)};e.url="responseURL"in a?a.responseURL:e.headers.get("X-Request-URL");var s="response"in a?a.response:a.responseText;n(new y(s,e))},a.onerror=function(){r(new TypeError("Network request failed"))},a.ontimeout=function(){r(new TypeError("Network request failed"))},a.onabort=function(){r(new i.DOMException("Aborted","AbortError"))},a.open(o.method,o.url,!0),"include"===o.credentials?a.withCredentials=!0:"omit"===o.credentials&&(a.withCredentials=!1),"responseType"in a&&e.blob&&(a.responseType="blob"),o.headers.forEach((function(t,i){a.setRequestHeader(i,t)})),o.signal&&(o.signal.addEventListener("abort",u),a.onreadystatechange=function(){4===a.readyState&&o.signal.removeEventListener("abort",u)}),a.send(void 0===o._bodyInit?null:o._bodyInit)}))}T.polyfill=!0,t.fetch||(t.fetch=T,t.Headers=h,t.Request=p,t.Response=y),i.Headers=h,i.Request=p,i.Response=y,i.fetch=T,Object.defineProperty(i,"t",{value:!0})}({})}("undefined"!=typeof self?self:void 0),function(t){t.black="black",t.green="green",t.blue="blue",t.purple="purple",t.red="red",t.orange="orange",t.yellow="yellow"}(o||(o={})),function(t){t.OFFICIAL="OFFICIAL",t.PERSONAL="PERSONAL",t.SHARED="SHARED"}(a||(a={})),function(t){t.THIRD_PARTY="THIRD_PARTY",t.OFF_THE_GRID="OFF_THE_GRID",t.CONTENT_PACKAGER="CONTENT_PACKAGER",t.PAGES="PAGES",t.DESIGNED_READER="DESIGNED_READER"}(h||(h={})),function(t){t.STARS="STARS",t.LIKE="LIKE",t.DICHOTOMOUS="DICHOTOMOUS",t.NO_RATING="NO_RATING"}(u||(u={})),function(t){t.LAST_WEEK="LAST_WEEK",t.LAST_MONTH="LAST_MONTH",t.LAST_YEAR="LAST_YEAR",t.CUSTOM="CUSTOM"}(c||(c={})),function(t){t.ASC="ASC",t.DESC="DESC"}(l||(l={})),function(t){t.ALPHA="ALPHA",t.NATURAL="NATURAL"}(d||(d={})),function(t){t.EVERYWHERE="EVERYWHERE",t.TITLE_ONLY="TITLE_ONLY",t.NONE="NONE"}(v||(v={})),function(t){t.ARTICLE="ARTICLE",t.BOOK="BOOK",t.SHARED_BOOK="SHARED_BOOK"}(f||(f={})),function(t){t.FLUIDTOPICS="FLUIDTOPICS",t.EXTERNAL="EXTERNAL"}(p||(p={})),function(t){t.MAP="MAP",t.DOCUMENT="DOCUMENT",t.TOPIC="TOPIC",t.PERSONAL_BOOK="PERSONAL_BOOK",t.SHARED_BOOK="SHARED_BOOK"}(w||(w={})),function(t){t.MAP="MAP",t.DOCUMENT="DOCUMENT",t.TOPIC="TOPIC"}(y||(y={})),function(t){t.DEFAULT="DEFAULT",t.DOCUMENTS="DOCUMENTS"}(m||(m={})),function(t){t.PERSONAL_BOOK_USER="PERSONAL_BOOK_USER",t.PERSONAL_BOOK_SHARE_USER="PERSONAL_BOOK_SHARE_USER",t.HTML_EXPORT_USER="HTML_EXPORT_USER",t.PDF_EXPORT_USER="PDF_EXPORT_USER",t.SAVED_SEARCH_USER="SAVED_SEARCH_USER",t.COLLECTION_USER="COLLECTION_USER",t.OFFLINE_USER="OFFLINE_USER",t.ANALYTICS_USER="ANALYTICS_USER",t.BETA_USER="BETA_USER",t.DEBUG_USER="DEBUG_USER",t.PRINT_USER="PRINT_USER",t.RATING_USER="RATING_USER",t.FEEDBACK_USER="FEEDBACK_USER",t.CONTENT_PUBLISHER="CONTENT_PUBLISHER",t.KHUB_ADMIN="KHUB_ADMIN",t.USERS_ADMIN="USERS_ADMIN",t.PORTAL_ADMIN="PORTAL_ADMIN",t.ADMIN="ADMIN",t.DEVELOPER="DEVELOPER"}(T||(T={}));const g={[T.PERSONAL_BOOK_SHARE_USER]:[T.PERSONAL_BOOK_USER],[T.HTML_EXPORT_USER]:[T.PERSONAL_BOOK_USER],[T.PDF_EXPORT_USER]:[T.PERSONAL_BOOK_USER],[T.KHUB_ADMIN]:[T.CONTENT_PUBLISHER],[T.ADMIN]:[T.KHUB_ADMIN,T.USERS_ADMIN,T.PORTAL_ADMIN],[T.DEVELOPER]:[T.BETA_USER,T.DEBUG_USER]};function E(t,i){return t===i||(g[t]??[]).some((t=>E(t,i)))}function b(t,i){if(null==t)return!1;return(Array.isArray(t)?t:Array.isArray(t.roles)?t.roles:Array.isArray(t.profile?.roles)?t.profile.roles:[]).some((t=>E(t,i)))}var A;t.FtReaderFeatures=void 0,(A=t.FtReaderFeatures||(t.FtReaderFeatures={})).FEEDBACK="FEEDBACK",A.RATING="RATING",A.PRINT="PRINT",A.BOOKMARK="BOOKMARK",A.COLLECTIONS="COLLECTIONS",A.PERSONAL_BOOKS="PERSONAL_BOOKS";const S=e.css`
|
|
2
|
+
`,R=i.FtReduxStore.get({name:"ft-app-info",reducers:{setBaseUrl:(t,i)=>{t.baseUrl=i.payload},setApiIntegrationIdentifier:(t,i)=>{t.apiIntegrationIdentifier=i.payload},setUiLocale:(t,i)=>{t.uiLocale=i.payload},setAvailableUiLocales:(t,i)=>{t.availableUiLocales=i.payload},setEditorMode:(t,i)=>{t.editorMode=i.payload},setNoCustom:(t,i)=>{t.noCustom=i.payload},setNoCustomComponent:(t,i)=>{t.noCustomComponent=i.payload},setSession:(t,i)=>{t.session=i.payload}},initialState:{uiLocale:document.documentElement.lang||"en-US",availableUiLocales:[],editorMode:!1,noCustom:!1,noCustomComponent:!1}});class I{static build(t){const{baseUrl:i,apiIntegrationIdentifier:e}=R.getState(),s=null!=t?t:e;if(i&&s&&window.fluidtopics)return new window.fluidtopics.FluidTopicsApi(i,s,!0)}static get(t){var i;return null!=t?I.build(t):null!==(i=I.API)&&void 0!==i?i:I.API=I.build()}static await(t){return new Promise((i=>{let e=I.get(t);if(e)i(e);else{const s=R.subscribe((()=>{e=I.get(t),e&&(s(),i(e))}))}}))}}var U;const O=Symbol("clearAfterUnitTest");class C{constructor(t){this.messageContextProvider=t,this.defaultMessages={},this.cache=new i.CacheRegistry,this.listeners={},this.currentUiLocale="",this[U]=()=>{this.defaultMessages={},this.cache=new i.CacheRegistry,this.listeners={}},this.currentUiLocale=R.getState().uiLocale,R.subscribe((()=>this.clearWhenUiLocaleChanges()))}clearWhenUiLocaleChanges(){const{uiLocale:t}=R.getState();this.currentUiLocale!==t&&(this.currentUiLocale=t,this.cache.clearAll(),this.notifyAll())}addContext(t){const i=t.name.toLowerCase();this.cache.setFinal(i,t),this.notify(i)}getAllContexts(){return this.cache.resolvedValues()}async prepareContext(t,e){var s;if(t=t.toLowerCase(),Object.keys(e).length>0){const n={...null!==(s=this.defaultMessages[t])&&void 0!==s?s:{},...e};i.deepEqual(this.defaultMessages[t],n)||(this.defaultMessages[t]=n,await this.notify(t))}await this.fetchContext(t)}resolveMessage(t,e,...s){var n,r,o;t=t.toLowerCase(),this.fetchContext(t);const a=null!==(r=null===(n=this.cache.getNow(t))||void 0===n?void 0:n.messages)&&void 0!==r?r:{};return new i.ParametrizedLabelResolver(null!==(o=this.defaultMessages[t])&&void 0!==o?o:{},a).resolve(e,...s)}async fetchContext(t){if(!this.cache.has(t))try{await this.cache.get(t,(()=>this.messageContextProvider(this.currentUiLocale,t))),await this.notify(t)}catch(t){console.error(t)}}subscribe(t,i){var e;return t=t.toLowerCase(),this.listeners[t]=null!==(e=this.listeners[t])&&void 0!==e?e:new Set,this.listeners[t].add(i),()=>{var e;return null===(e=this.listeners[t])||void 0===e?void 0:e.delete(i)}}async notifyAll(){await Promise.all(Object.keys(this.listeners).map((t=>this.notify(t))))}async notify(t){null!=this.listeners[t]&&await Promise.all([...this.listeners[t].values()].map((t=>i.delay(0).then((()=>t())).catch((()=>null)))))}}U=O,null==window.FluidTopicsI18nService&&(window.FluidTopicsI18nService=new C((async(t,i)=>(await I.await()).getFluidTopicsMessageContext(t,i)))),null==window.FluidTopicsCustomI18nService&&(window.FluidTopicsCustomI18nService=new C((async(t,i)=>(await I.await()).getCustomMessageContext(t,i))));const P=window.FluidTopicsI18nService;var N=function(t,i,e,s){for(var n,r=arguments.length,o=r<3?i:null===s?s=Object.getOwnPropertyDescriptor(i,e):s,a=t.length-1;a>=0;a--)(n=t[a])&&(o=(r<3?n(o):r>3?n(i,e,o):n(i,e))||o);return r>3&&o&&Object.defineProperty(i,e,o),o};class L extends i.FtLitElement{constructor(){super(...arguments),this.apiIntegrationIdentifier="ft-integration",this.uiLocale="en-US",this.availableUiLocales=[],this.editorMode=!1,this.noCustom=!1,this.noCustomComponent=!1,this.withManualResources=!1,this.messageContexts=[],this.apiProvider=()=>I.get(),this.cache=new i.CacheRegistry,this.cleanSessionDebouncer=new i.Debouncer}render(){return e.html`
|
|
3
3
|
<slot></slot>
|
|
4
|
-
`}update(t){super.update(t),t.has("baseUrl")&&R.actions.setBaseUrl(this.baseUrl),t.has("apiIntegrationIdentifier")&&R.actions.setApiIntegrationIdentifier(this.apiIntegrationIdentifier),t.has("uiLocale")&&R.actions.setUiLocale(this.uiLocale),t.has("noCustom")&&R.actions.setNoCustom(this.noCustom),t.has("editorMode")&&R.actions.setEditorMode(this.editorMode),t.has("noCustomComponent")&&R.actions.setNoCustomComponent(this.noCustomComponent),t.has("session")&&R.actions.setSession(this.session),t.has("availableUiLocales")&&R.actions.setAvailableUiLocales(Array.isArray(this.availableUiLocales)?this.availableUiLocales:[]),t.has("messageContexts")&&null!=this.messageContexts&&this.messageContexts.forEach((t=>P.addContext(t))),setTimeout((()=>this.updateIfNeeded()))}async updateIfNeeded(){const t=this.apiProvider();!this.withManualResources&&t&&(null==this.session&&(this.session=await this.cache.get("session",(async()=>{const i=await t.getCurrentSession();return i.idleTimeoutInMillis>0&&this.cleanSessionDebouncer.run((()=>{this.cache.clear("session"),this.session=void 0}),i.idleTimeoutInMillis),i}))),null==this.availableUiLocales&&(this.availableUiLocales=await this.cache.get("availableUiLocales",(()=>t.getAvailableUiLocales()))))}}L.elementDefinitions={},L.styles=S,N([s.property()],L.prototype,"baseUrl",void 0),N([s.property()],L.prototype,"apiIntegrationIdentifier",void 0),N([s.property()],L.prototype,"uiLocale",void 0),N([i.jsonProperty([])],L.prototype,"availableUiLocales",void 0),N([s.property({type:Boolean})],L.prototype,"editorMode",void 0),N([s.property({type:Boolean})],L.prototype,"noCustom",void 0),N([s.property({converter:{fromAttribute:t=>"false"!==t&&("true"===t||null!=t&&t)}})],L.prototype,"noCustomComponent",void 0),N([s.property({type:Boolean})],L.prototype,"withManualResources",void 0),N([i.jsonProperty([])],L.prototype,"messageContexts",void 0),N([i.jsonProperty(void 0)],L.prototype,"session",void 0),N([s.property({type:Object})],L.prototype,"apiProvider",void 0);class D{async listMySearches(){var t;return(null===(t=R.getState().session)||void 0===t?void 0:t.sessionAuthenticated)?(await I.await()).listMySearches(R.getState().session.profile.userId):[]}}const M=new i.CacheRegistry;class _{async listMyBookmarks(){return M.get("bookmarks",(async()=>(await I.await()).listMyBookmarks(R.getState().session.profile.userId)))}clearCache(){M.clear("bookmarks")}}const B=i.FtReduxStore.get({name:"ft-user-assets",initialState:{savedSearches:void 0,bookmarks:void 0}});const k=new class{constructor(){this.currentSession=R.getState().session,this.bookmarksAreUsed=!1,this.bookmarksService=new _,R.subscribe((()=>this.reloadWhenUserSessionChanges()))}reloadWhenUserSessionChanges(){var t;const{session:e}=R.getState();i.deepEqual(null===(t=this.currentSession)||void 0===t?void 0:t.profile,null==e?void 0:e.profile)||(this.currentSession=e,this.clearMySearches(),this.reloadBookmarks())}clear(){this.clearMySearches(),this.clearMyBookmarks()}clearMySearches(){B.actions.savedSearches(void 0)}clearMyBookmarks(){B.actions.bookmarks(void 0)}async reloadMySearches(){const t=new D,i=await t.listMySearches();B.actions.savedSearches(i)}async reloadBookmarks(){this.bookmarksService.clearCache(),await this.updateBookmarksIfUsed()}async registerBookmarkComponent(){this.bookmarksAreUsed=!0,await this.updateBookmarksIfUsed()}async updateBookmarksIfUsed(){var t;if(this.bookmarksAreUsed){const i=(null===(t=this.currentSession)||void 0===t?void 0:t.sessionAuthenticated)?await this.bookmarksService.listMyBookmarks():void 0;B.actions.bookmarks(i)}}};i.customElement("ft-app-context")(L);class F{get mapId(){return this._mapId}set mapId(t){t!==this._mapId&&this.clear(),this._mapId=t}constructor(t,i,e,s){this.converter=t,this.api=i,this.cache=e,this._mapId=s,this.initCache()}async withMapId(t){return this._mapId?t(this._mapId):void 0}initCache(){this.cache.registerFinal("configuration",(()=>this.api.getReaderConfiguration())),this.cache.register("map",(()=>this.withMapId((t=>this.fetchMap(t))))),this.cache.register("enrichedToc",(()=>this.withMapId((t=>this.fetchPages(t).then((t=>this.converter.convertPaginatedToc(t))))))),this.cache.register("ratingSummary",(()=>{var t,i;return b(null!==(i=null===(t=R.getState().session)||void 0===t?void 0:t.profile.roles)&&void 0!==i?i:[],"RATING_USER")?this.withMapId((t=>this.fetchMapRating(t))):Promise.resolve()}))}clear(){this.cache.clearAll()}getMap(){return this.cache.get("map")}getConfiguration(){return this.cache.get("configuration")}getEnrichedToc(){return this.cache.get("enrichedToc")}get enrichedToc(){return this.cache.getNow("enrichedToc")}async getPaginationConfiguration(){return(await this.getEnrichedToc()).paginationConfiguration}async getToc(){return(await this.getEnrichedToc()).toc}async getPagesToc(){return(await this.getEnrichedToc()).pagesToc}async getTocNode(t){return(await this.getEnrichedToc()).nodeByTocId[t]}getTocNodeNow(t){var i;return null===(i=this.enrichedToc)||void 0===i?void 0:i.nodeByTocId[t]}async getPage(t){const i=await this.getEnrichedToc();return i.pages[t-1]||i.pages[0]}async getPageByTocId(t){const i=await this.getEnrichedToc();return i.pageByTocId[t]||i.pages[0]}getTopicInfo(t){return this.cache.get("topic-"+t.tocId,(()=>this.fetchTopicMetadata(t)))}getTopicContent(t){return this.cache.get("topic-content-"+t.tocId,(()=>this.fetchTopicHTMLContent(t)))}getLink(t,i,e){const s=this.getNavigationData(t,i,e),n=this.getReaderLinkPrefix()+(s.prettyUrl?s.prettyUrl:`${s.mapId}/${s.tocId}`),r=new URL(n,this.api.tenantBaseUrl);return null!=s.page&&r.searchParams.set("page",`${s.page}`),s.prettyUrlDuplicated&&r.searchParams.set("tocId",s.tocId),null!=s.section&&r.searchParams.set("section",s.section),r.href}getNavigationData(t,i,e){var s,n;t=t||"root";const r=this.enrichedToc,o=null==r?void 0:r.pageByTocId[t],a=null==r?void 0:r.nodeByTocId[t],h=null==a?void 0:a.prettyUrl;return{mapId:this.mapId,tocId:t,topicTitle:null!==(s=null==a?void 0:a.title)&&void 0!==s?s:"",page:i&&o&&o.number!==i?i:void 0,prettyUrl:null!=h?h.replace(/^r\//,""):void 0,prettyUrlDuplicated:null!==(n=null==r?void 0:r.duplicatedPrettyUrls.has(null!=h?h:""))&&void 0!==n&&n,section:e}}async getAccurateNavigationData(t,i,e){return await this.getEnrichedToc(),this.getNavigationData(t,i,e)}getRatingSummary(){return this.cache.get("ratingSummary")}getMapRating(){return this.getRatingSummary().then((t=>null==t?void 0:t.publication))}getTopicRating(t){return this.getRatingSummary().then((i=>{var e;return i?{type:i.topics.type,rating:null===(e=i.topics)||void 0===e?void 0:e.ratings.find((i=>i.tocId===t))}:void 0}))}rateMap(t,i){return this.makeRateMapRequest(t,i).then((()=>this.clearRatingIfNecessary()))}unrateMap(){return this.makeUnrateMapRequest().then((()=>this.clearRatingIfNecessary()))}sendMapFeedback(t,i){return this.makeMapFeedbackRequest(t,i)}rateTopic(t,i,e){return this.makeRateTopicRequest(t,i,e).then((()=>this.clearRatingIfNecessary()))}unrateTopic(t){return this.makeUnrateTopicRequest(t).then((()=>this.clearRatingIfNecessary()))}async clearRatingIfNecessary(){const t=R.getState().session;(null==t?void 0:t.sessionAuthenticated)&&this.cache.clear("ratingSummary")}sendTopicFeedback(t,i,e){return this.makeTopicFeedbackRequest(t,i,e)}fontsStylesheet(){return this.api.makeAbsolute(this.api.endpoints.stylesheets.fonts)}themeStylesheet(){return this.api.makeAbsolute(this.api.endpoints.stylesheets.theme)}buildBreadcrumb(t){let i=this.getTocNodeNow(t),e=[{tocId:i.tocId,title:i.title}],s=this.getTocNodeNow(i.parentTocId);for(;s;)e.unshift({tocId:s.tocId,title:s.title}),s=this.getTocNodeNow(s.parentTocId);return e}isFeatureAccessible(i,{session:e,ratingType:s}){if(!this.isFeatureAvailable(i))return!1;switch(i){case t.FtReaderFeatures.FEEDBACK:return b(null!=e?e:[],T.FEEDBACK_USER);case t.FtReaderFeatures.RATING:return b(null!=e?e:[],T.RATING_USER)&&null!=s&&s!==u.NO_RATING;case t.FtReaderFeatures.PRINT:return b(null!=e?e:[],T.PRINT_USER);case t.FtReaderFeatures.BOOKMARK:return!!(null==e?void 0:e.sessionAuthenticated);case t.FtReaderFeatures.COLLECTIONS:return b(null!=e?e:[],T.COLLECTION_USER);default:return!1}}}class x extends F{static async build(t){return new x(new r,await I.await(),new i.CacheRegistry,t)}clear(){super.clear(),this.fingerprint=void 0}async fetchMap(t){var i;const e=await this.api.getMap(t);return this.fingerprint=null===(i=e.lastPublication)||void 0===i?void 0:i.replace(/\D/g,""),e}fetchMapRating(t){return this.api.getMapRating(t)}async fetchPages(t){return await this.getMap(),this.api.getPages(t,this.fingerprint)}fetchTopicHTMLContent(t){return this.api.getTopicHTMLContent(this.mapId,t.contentId,"DESIGNED_READER",this.fingerprint)}fetchTopicMetadata(t){return this.api.getTopic(this.mapId,t.contentId,this.fingerprint)}makeMapFeedbackRequest(t,i){return this.api.sendMapFeedback(this.mapId,t,i)}makeRateMapRequest(t,i){return this.api.rateMap(this.mapId,t,i)}makeRateTopicRequest(t,i,e){return this.api.rateTopic(this.mapId,t,i,e)}makeTopicFeedbackRequest(t,i,e){return this.api.sendTopicFeedback(this.mapId,t,i,e)}makeUnrateMapRequest(){return this.api.unrateMap(this.mapId)}makeUnrateTopicRequest(t){return this.api.unrateTopic(this.mapId,t)}getReaderLinkPrefix(){return"r/"}isFeatureAvailable(t){return!0}}class j{static build(t,e){return new j((t=>i.FtReduxStore.get({name:"ft-reader-"+t,initialState:{mapId:void 0,visibleTopics:[],map:void 0,toc:void 0,pagesToc:void 0,paginationConfiguration:void 0,currentPage:void 0,scrollTarget:void 0,configuration:void 0}}))(t.trim()||"context"),null!=e?e:x.build)}constructor(t,e){this.store=t,this.reloadDebouncer=new i.Debouncer(10),this.initService(e)}async initService(t){return this.service=await t(),this.service.mapId=this.store.getState().mapId,this.reload()}async setMapId(t){t!==this.store.getState().mapId&&(this.store.actions.mapId(t),this.service&&(this.service.mapId=t),await this.reload())}setVisibleTopics(t){this.store.actions.visibleTopics(t)}async awaitService(){for(;null==this.service;)await i.delay(5);return this.service}async navigateToTopic(t,i,e){const s=await this.awaitService(),n=await(null!=e?s.getPage(e):s.getPageByTocId(null!=t?t:"root"));this.store.actions.currentPage(n),this.store.actions.scrollTarget({tocId:this.resolveValidNonRootTocId(t,n),section:i})}resolveValidNonRootTocId(t,i){var e,s,n;let r=null!==(e="root"===t?void 0:t)&&void 0!==e?e:i.rootTocId;return i.topics.includes(r)?r:null!==(n=null!==(s=i.topics[0])&&void 0!==s?s:i.hiddenTopics[0])&&void 0!==n?n:"root"}async navigateToPage(t){const i=await this.awaitService();let e=await i.getPage(t);this.store.actions.currentPage(e)}scrollDone(){this.store.actions.scrollTarget({})}async reload(){var t,i;this.store.actions.configuration(void 0),this.store.actions.map(void 0),this.store.actions.toc(void 0),this.store.actions.pagesToc(void 0),this.store.actions.currentPage(void 0),null===(t=this.service)||void 0===t||t.clear(),(null===(i=this.service)||void 0===i?void 0:i.mapId)&&await this.reloadDebouncer.run((()=>this.fetchData()))}async fetchData(){var t,e,s,n,r;try{await Promise.all([null===(t=this.service)||void 0===t?void 0:t.getConfiguration().then((t=>this.store.actions.configuration(t))),null===(e=this.service)||void 0===e?void 0:e.getMap().then((t=>this.store.actions.map(t))),null===(s=this.service)||void 0===s?void 0:s.getToc().then((t=>this.store.actions.toc(t))),null===(n=this.service)||void 0===n?void 0:n.getPagesToc().then((t=>this.store.actions.pagesToc(t))),null===(r=this.service)||void 0===r?void 0:r.getPaginationConfiguration().then((t=>this.store.actions.paginationConfiguration(t)))])}catch(t){!this.errorHandler||t instanceof i.CanceledPromiseError||this.errorHandler(t)}}}const H=e.css`
|
|
4
|
+
`}update(t){super.update(t),t.has("baseUrl")&&R.actions.setBaseUrl(this.baseUrl),t.has("apiIntegrationIdentifier")&&R.actions.setApiIntegrationIdentifier(this.apiIntegrationIdentifier),t.has("uiLocale")&&R.actions.setUiLocale(this.uiLocale),t.has("noCustom")&&R.actions.setNoCustom(this.noCustom),t.has("editorMode")&&R.actions.setEditorMode(this.editorMode),t.has("noCustomComponent")&&R.actions.setNoCustomComponent(this.noCustomComponent),t.has("session")&&R.actions.setSession(this.session),t.has("availableUiLocales")&&R.actions.setAvailableUiLocales(Array.isArray(this.availableUiLocales)?this.availableUiLocales:[]),t.has("messageContexts")&&null!=this.messageContexts&&this.messageContexts.forEach((t=>P.addContext(t))),setTimeout((()=>this.updateIfNeeded()))}async updateIfNeeded(){const t=this.apiProvider();!this.withManualResources&&t&&(null==this.session&&(this.session=await this.cache.get("session",(async()=>{const i=await t.getCurrentSession();return i.idleTimeoutInMillis>0&&this.cleanSessionDebouncer.run((()=>{this.cache.clear("session"),this.session=void 0}),i.idleTimeoutInMillis),i}))),null==this.availableUiLocales&&(this.availableUiLocales=await this.cache.get("availableUiLocales",(()=>t.getAvailableUiLocales()))))}}L.elementDefinitions={},L.styles=S,N([s.property()],L.prototype,"baseUrl",void 0),N([s.property()],L.prototype,"apiIntegrationIdentifier",void 0),N([s.property()],L.prototype,"uiLocale",void 0),N([i.jsonProperty([])],L.prototype,"availableUiLocales",void 0),N([s.property({type:Boolean})],L.prototype,"editorMode",void 0),N([s.property({type:Boolean})],L.prototype,"noCustom",void 0),N([s.property({converter:{fromAttribute:t=>"false"!==t&&("true"===t||null!=t&&t)}})],L.prototype,"noCustomComponent",void 0),N([s.property({type:Boolean})],L.prototype,"withManualResources",void 0),N([i.jsonProperty([])],L.prototype,"messageContexts",void 0),N([i.jsonProperty(void 0)],L.prototype,"session",void 0),N([s.property({type:Object})],L.prototype,"apiProvider",void 0);class D{async listMySearches(){var t;return(null===(t=R.getState().session)||void 0===t?void 0:t.sessionAuthenticated)?(await I.await()).listMySearches(R.getState().session.profile.userId):[]}}const M=new i.CacheRegistry;class _{async listMyBookmarks(){return M.get("bookmarks",(async()=>(await I.await()).listMyBookmarks(R.getState().session.profile.userId)))}clearCache(){M.clear("bookmarks")}}const B=i.FtReduxStore.get({name:"ft-user-assets",initialState:{savedSearches:void 0,bookmarks:void 0}});const k=new class{constructor(){this.currentSession=R.getState().session,this.bookmarksAreUsed=!1,this.bookmarksService=new _,R.subscribe((()=>this.reloadWhenUserSessionChanges()))}reloadWhenUserSessionChanges(){var t;const{session:e}=R.getState();i.deepEqual(null===(t=this.currentSession)||void 0===t?void 0:t.profile,null==e?void 0:e.profile)||(this.currentSession=e,this.clearMySearches(),this.reloadBookmarks())}clear(){this.clearMySearches(),this.clearMyBookmarks()}clearMySearches(){B.actions.savedSearches(void 0)}clearMyBookmarks(){B.actions.bookmarks(void 0)}async reloadMySearches(){const t=new D,i=await t.listMySearches();B.actions.savedSearches(i)}async reloadBookmarks(){this.bookmarksService.clearCache(),await this.updateBookmarksIfUsed()}async registerBookmarkComponent(){this.bookmarksAreUsed=!0,await this.updateBookmarksIfUsed()}async updateBookmarksIfUsed(){var t;if(this.bookmarksAreUsed){const i=(null===(t=this.currentSession)||void 0===t?void 0:t.sessionAuthenticated)?await this.bookmarksService.listMyBookmarks():void 0;B.actions.bookmarks(i)}}};i.customElement("ft-app-context")(L);class F{get mapId(){return this._mapId}set mapId(t){t!==this._mapId&&this.clear(),this._mapId=t}constructor(t,i,e,s){this.converter=t,this.api=i,this.cache=e,this._mapId=s,this.initCache()}async withMapId(t){return this._mapId?t(this._mapId):void 0}initCache(){this.cache.registerFinal("configuration",(()=>this.api.getReaderConfiguration())),this.cache.register("map",(()=>this.withMapId((t=>this.fetchMap(t))))),this.cache.register("enrichedToc",(()=>this.withMapId((t=>this.fetchPages(t).then((t=>this.converter.convertPaginatedToc(t))))))),this.cache.register("ratingSummary",(()=>{var t,i;return b(null!==(i=null===(t=R.getState().session)||void 0===t?void 0:t.profile.roles)&&void 0!==i?i:[],"RATING_USER")?this.withMapId((t=>this.fetchMapRating(t))):Promise.resolve()}))}clear(){this.cache.clearAll()}getMap(){return this.cache.get("map")}getConfiguration(){return this.cache.get("configuration")}getEnrichedToc(){return this.cache.get("enrichedToc")}get enrichedToc(){return this.cache.getNow("enrichedToc")}async getPaginationConfiguration(){return(await this.getEnrichedToc()).paginationConfiguration}async getToc(){return(await this.getEnrichedToc()).toc}async getPagesToc(){return(await this.getEnrichedToc()).pagesToc}async getTocNode(t){return(await this.getEnrichedToc()).nodeByTocId[t]}getTocNodeNow(t){var i;return null===(i=this.enrichedToc)||void 0===i?void 0:i.nodeByTocId[t]}async getPage(t){const i=await this.getEnrichedToc();return i.pages[t-1]||i.pages[0]}async getPageByTocId(t){const i=await this.getEnrichedToc();return i.pageByTocId[t]||i.pages[0]}getTopicInfo(t){return this.cache.get("topic-"+t.tocId,(()=>this.fetchTopicMetadata(t)))}getTopicContent(t){return this.cache.get("topic-content-"+t.tocId,(()=>this.fetchTopicHTMLContent(t)))}getLink(t,i,e){const s=this.getNavigationData(t,i,e),n=this.getReaderLinkPrefix()+(s.prettyUrl?s.prettyUrl:`${s.mapId}/${s.tocId}`),r=new URL(n,this.api.tenantBaseUrl);return null!=s.page&&r.searchParams.set("page",`${s.page}`),s.prettyUrlDuplicated&&r.searchParams.set("tocId",s.tocId),null!=s.section&&r.searchParams.set("section",s.section),r.href}getNavigationData(t,i,e){var s,n;t=t||"root";const r=this.enrichedToc,o=null==r?void 0:r.pageByTocId[t],a=null==r?void 0:r.nodeByTocId[t],h=null==a?void 0:a.prettyUrl;return{mapId:this.mapId,tocId:t,topicTitle:null!==(s=null==a?void 0:a.title)&&void 0!==s?s:"",page:i&&o&&o.number!==i?i:void 0,prettyUrl:null!=h?h.replace(/^r\//,""):void 0,prettyUrlDuplicated:null!==(n=null==r?void 0:r.duplicatedPrettyUrls.has(null!=h?h:""))&&void 0!==n&&n,section:e}}async getAccurateNavigationData(t,i,e){return await this.getEnrichedToc(),this.getNavigationData(t,i,e)}getRatingSummary(){return this.cache.get("ratingSummary")}getMapRating(){return this.getRatingSummary().then((t=>null==t?void 0:t.publication))}getTopicRating(t){return this.getRatingSummary().then((i=>{var e;return i?{type:i.topics.type,rating:null===(e=i.topics)||void 0===e?void 0:e.ratings.find((i=>i.tocId===t))}:void 0}))}rateMap(t,i){return this.makeRateMapRequest(t,i).then((()=>this.clearRatingIfNecessary()))}unrateMap(){return this.makeUnrateMapRequest().then((()=>this.clearRatingIfNecessary()))}sendMapFeedback(t,i){return this.makeMapFeedbackRequest(t,i)}rateTopic(t,i,e){return this.makeRateTopicRequest(t,i,e).then((()=>this.clearRatingIfNecessary()))}unrateTopic(t){return this.makeUnrateTopicRequest(t).then((()=>this.clearRatingIfNecessary()))}async clearRatingIfNecessary(){const t=R.getState().session;(null==t?void 0:t.sessionAuthenticated)&&this.cache.clear("ratingSummary")}sendTopicFeedback(t,i,e){return this.makeTopicFeedbackRequest(t,i,e)}fontsStylesheet(){return this.api.makeAbsolute(this.api.endpoints.stylesheets.fonts)}themeStylesheet(){return this.api.makeAbsolute(this.api.endpoints.stylesheets.theme)}buildBreadcrumb(t){let i=this.getTocNodeNow(t),e=[{tocId:i.tocId,title:i.title}],s=this.getTocNodeNow(i.parentTocId);for(;s;)e.unshift({tocId:s.tocId,title:s.title}),s=this.getTocNodeNow(s.parentTocId);return e}isFeatureAccessible(i,{session:e,ratingType:s}){if(!this.isFeatureAvailable(i))return!1;switch(i){case t.FtReaderFeatures.FEEDBACK:return b(null!=e?e:[],T.FEEDBACK_USER);case t.FtReaderFeatures.RATING:return b(null!=e?e:[],T.RATING_USER)&&null!=s&&s!==u.NO_RATING;case t.FtReaderFeatures.PRINT:return b(null!=e?e:[],T.PRINT_USER);case t.FtReaderFeatures.BOOKMARK:return!!(null==e?void 0:e.sessionAuthenticated);case t.FtReaderFeatures.COLLECTIONS:return b(null!=e?e:[],T.COLLECTION_USER);case t.FtReaderFeatures.PERSONAL_BOOKS:return b(null!=e?e:[],T.PERSONAL_BOOK_USER);default:return!1}}}class x extends F{static async build(t){return new x(new r,await I.await(),new i.CacheRegistry,t)}clear(){super.clear(),this.fingerprint=void 0}async fetchMap(t){var i;const e=await this.api.getMap(t);return this.fingerprint=null===(i=e.lastPublication)||void 0===i?void 0:i.replace(/\D/g,""),e}fetchMapRating(t){return this.api.getMapRating(t)}async fetchPages(t){return await this.getMap(),this.api.getPages(t,this.fingerprint)}fetchTopicHTMLContent(t){return this.api.getTopicHTMLContent(this.mapId,t.contentId,"DESIGNED_READER",this.fingerprint)}fetchTopicMetadata(t){return this.api.getTopic(this.mapId,t.contentId,this.fingerprint)}makeMapFeedbackRequest(t,i){return this.api.sendMapFeedback(this.mapId,t,i)}makeRateMapRequest(t,i){return this.api.rateMap(this.mapId,t,i)}makeRateTopicRequest(t,i,e){return this.api.rateTopic(this.mapId,t,i,e)}makeTopicFeedbackRequest(t,i,e){return this.api.sendTopicFeedback(this.mapId,t,i,e)}makeUnrateMapRequest(){return this.api.unrateMap(this.mapId)}makeUnrateTopicRequest(t){return this.api.unrateTopic(this.mapId,t)}getReaderLinkPrefix(){return"r/"}isFeatureAvailable(t){return!0}}class j{static build(t,e){return new j((t=>i.FtReduxStore.get({name:"ft-reader-"+t,initialState:{mapId:void 0,visibleTopics:[],map:void 0,toc:void 0,pagesToc:void 0,paginationConfiguration:void 0,currentPage:void 0,scrollTarget:void 0,configuration:void 0}}))(t.trim()||"context"),null!=e?e:x.build)}constructor(t,e){this.store=t,this.reloadDebouncer=new i.Debouncer(10),this.initService(e)}async initService(t){return this.service=await t(),this.service.mapId=this.store.getState().mapId,this.reload()}async setMapId(t){t!==this.store.getState().mapId&&(this.store.actions.mapId(t),this.service&&(this.service.mapId=t),await this.reload())}setVisibleTopics(t){this.store.actions.visibleTopics(t)}async awaitService(){for(;null==this.service;)await i.delay(5);return this.service}async navigateToTopic(t,i,e){const s=await this.awaitService(),n=await(null!=e?s.getPage(e):s.getPageByTocId(null!=t?t:"root"));this.store.actions.currentPage(n),this.store.actions.scrollTarget({tocId:this.resolveValidNonRootTocId(t,n),section:i})}resolveValidNonRootTocId(t,i){var e,s,n;let r=null!==(e="root"===t?void 0:t)&&void 0!==e?e:i.rootTocId;return i.topics.includes(r)?r:null!==(n=null!==(s=i.topics[0])&&void 0!==s?s:i.hiddenTopics[0])&&void 0!==n?n:"root"}async navigateToPage(t){const i=await this.awaitService();let e=await i.getPage(t);this.store.actions.currentPage(e)}scrollDone(){this.store.actions.scrollTarget({})}async reload(){var t,i;this.store.actions.configuration(void 0),this.store.actions.map(void 0),this.store.actions.toc(void 0),this.store.actions.pagesToc(void 0),this.store.actions.currentPage(void 0),null===(t=this.service)||void 0===t||t.clear(),(null===(i=this.service)||void 0===i?void 0:i.mapId)&&await this.reloadDebouncer.run((()=>this.fetchData()))}async fetchData(){var t,e,s,n,r;try{await Promise.all([null===(t=this.service)||void 0===t?void 0:t.getConfiguration().then((t=>this.store.actions.configuration(t))),null===(e=this.service)||void 0===e?void 0:e.getMap().then((t=>this.store.actions.map(t))),null===(s=this.service)||void 0===s?void 0:s.getToc().then((t=>this.store.actions.toc(t))),null===(n=this.service)||void 0===n?void 0:n.getPagesToc().then((t=>this.store.actions.pagesToc(t))),null===(r=this.service)||void 0===r?void 0:r.getPaginationConfiguration().then((t=>this.store.actions.paginationConfiguration(t)))])}catch(t){!this.errorHandler||t instanceof i.CanceledPromiseError||this.errorHandler(t)}}}const H=e.css`
|
|
5
5
|
`;class G extends CustomEvent{constructor(t,i){super("ft-reader-map-loaded",{detail:{map:t,toc:i}})}}class K extends CustomEvent{constructor(t,i){super("ft-reader-visible-topics-change",{detail:{visibleTopics:i}})}}class q extends CustomEvent{constructor(t){super("ft-reader-navigation-done",{detail:t})}}class $ extends CustomEvent{constructor(t){super("ft-reader-load-error",{detail:t})}}class V extends Event{constructor(){super("ft-reader-map-not-found")}}class X extends Event{constructor(){super("ft-reader-map-unauthorized")}}var Y=function(t,i,e,s){for(var n,r=arguments.length,o=r<3?i:null===s?s=Object.getOwnPropertyDescriptor(i,e):s,a=t.length-1;a>=0;a--)(n=t[a])&&(o=(r<3?n(o):r>3?n(i,e,o):n(i,e))||o);return r>3&&o&&Object.defineProperty(i,e,o),o};class W extends i.FtLitElementRedux{constructor(){super(),this.visibleTopics=[],this.scrollToTargetDebouncer=new i.Debouncer(5),this.navigationDebouncer=new i.Debouncer(10),this.addStore(R)}render(){return e.html`
|
|
6
6
|
${this.importStyleIfNeeded()}
|
|
7
7
|
<slot @register-ft-reader-component=${this.registerComponent}></slot>
|
|
@@ -94,10 +94,10 @@ const No=window,So=No.ShadowRoot&&(void 0===No.ShadyCSS||No.ShadyCSS.nativeShado
|
|
|
94
94
|
display: inline-block;
|
|
95
95
|
width: 0;
|
|
96
96
|
}
|
|
97
|
-
`;class Ao{constructor(t,o){this.defaultLabels=t,this.labels=o}resolve(t,...o){var e,r;t=this.resolvePluralKey(t,o);let i=null!==(r=null!==(e=this.labels[t])&&void 0!==e?e:this.defaultLabels[t])&&void 0!==r?r:"";return o.forEach(((t,o)=>i=i.replace(new RegExp(`\\{${o}([^}]*)\\}`,"g"),((o,e)=>this.formatValue(t,e))))),i}resolvePluralKey(t,o){for(let e of o)if("number"==typeof e){const o=`${String(t)}[\\=${e}]`;if(o in this.labels||o in this.defaultLabels)return o}return t}formatValue(t,o){return t instanceof Date?this.formatDate(t,o):null!=t?t:""}formatDate(t,o){const e=e=>(null==o?void 0:o.includes("date"))?t.toLocaleDateString(e):(null==o?void 0:o.includes("time"))?t.toLocaleTimeString(e):t.toLocaleString(e);try{return e(document.documentElement.lang)}catch(t){return e()}}}function ko(t){var o;return null!==(o=null==t?void 0:t.isFtReduxStore)&&void 0!==o&&o}var Wo,To,Ko;const Po=Symbol("internalReduxEventsUnsubscribers"),jo=Symbol("internalStoresUnsubscribers"),Mo=Symbol("internalStores");class Zo extends Lo{constructor(){super(...arguments),this[Wo]=new Map,this[To]=new Map,this[Ko]=[]}update(t){var o;super.update(t),(null===(o=this.reduxReactiveProperties)||void 0===o?void 0:o.some((o=>t.has(o))))&&this.updateFromStores()}getUnnamedStore(){if(this[Mo].size>1)throw new Error("Cannot resolve unnamed store when multiple stores are configured.");return[...this[Mo].values()][0]}getStore(t){return null==t?this.getUnnamedStore():this[Mo].get(t)}addStore(t,o){var e;o=null!==(e=null!=o?o:ko(t)?t.name:void 0)&&void 0!==e?e:"default-store",this.unsubscribeFromStore(o),this.setupStore(o,t)}removeStore(t){const o="string"==typeof t?t:t.name;this.unsubscribeFromStore(o),this[Mo].delete(o)}setupStore(t,o){this[Mo].set(t,o),this.subscribeToStore(t,o),this.updateFromStores()}setupStores(){this.unsubscribeFromStores(),this[Mo].forEach(((t,o)=>this.subscribeToStore(o,t))),this.updateFromStores()}updateFromStores(){this.reduxProperties&&this.reduxProperties.forEach(((t,o)=>{const e=this.constructor.getPropertyOptions(o);if(!(null==e?void 0:e.attribute)||!this.hasAttribute("string"==typeof(null==e?void 0:e.attribute)?e.attribute:o)){const e=this.getStore(t.store);e&&(t.store?this[jo].has(t.store):this[jo].size>0)&&(this[o]=t.selector(e.getState(),this))}}))}subscribeToStore(t,o){var e;this[jo].set(t,o.subscribe((()=>this.updateFromStores()))),ko(o)&&o.eventBus&&(null===(e=this.reduxEventListeners)||void 0===e||e.forEach(((t,e)=>{if("function"==typeof this[e]&&(!t.store||o.name===t.store)){const r=t=>this[e](t);o.eventBus.addEventListener(t.eventName,r),this[Po].push((()=>o.eventBus.removeEventListener(t.eventName,r)))}}))),this.onStoreAvailable(t)}unsubscribeFromStores(){this[jo].forEach(((t,o)=>this.unsubscribeFromStore(o))),this[Po].forEach((t=>t())),this[Po]=[]}unsubscribeFromStore(t){this[jo].has(t)&&this[jo].get(t)(),this[jo].delete(t)}onStoreAvailable(t){}connectedCallback(){super.connectedCallback(),this.setupStores()}disconnectedCallback(){super.disconnectedCallback(),this.unsubscribeFromStores()}}function Fo(t){for(var o=arguments.length,e=Array(o>1?o-1:0),r=1;r<o;r++)e[r-1]=arguments[r];throw Error("[Immer] minified error nr: "+t+(e.length?" "+e.map((function(t){return"'"+t+"'"})).join(","):"")+". Find the full error at: https://bit.ly/3cXEKWf")}function Bo(t){return!!t&&!!t[Ue]}function _o(t){var o;return!!t&&(function(t){if(!t||"object"!=typeof t)return!1;var o=Object.getPrototypeOf(t);if(null===o)return!0;var e=Object.hasOwnProperty.call(o,"constructor")&&o.constructor;return e===Object||"function"==typeof e&&Function.toString.call(e)===xe}(t)||Array.isArray(t)||!!t[Re]||!!(null===(o=t.constructor)||void 0===o?void 0:o[Re])||qo(t)||Yo(t))}function Do(t,o,e){void 0===e&&(e=!1),0===$o(t)?(e?Object.keys:Ie)(t).forEach((function(r){e&&"symbol"==typeof r||o(r,t[r],t)})):t.forEach((function(e,r){return o(r,e,t)}))}function $o(t){var o=t[Ue];return o?o.i>3?o.i-4:o.i:Array.isArray(t)?1:qo(t)?2:Yo(t)?3:0}function zo(t,o){return 2===$o(t)?t.has(o):Object.prototype.hasOwnProperty.call(t,o)}function Go(t,o,e){var r=$o(t);2===r?t.set(o,e):3===r?t.add(e):t[o]=e}function Ho(t,o){return t===o?0!==t||1/t==1/o:t!=t&&o!=o}function qo(t){return Ne&&t instanceof Map}function Yo(t){return Se&&t instanceof Set}function Vo(t){return t.o||t.t}function Jo(t){if(Array.isArray(t))return Array.prototype.slice.call(t);var o=Le(t);delete o[Ue];for(var e=Ie(o),r=0;r<e.length;r++){var i=e[r],n=o[i];!1===n.writable&&(n.writable=!0,n.configurable=!0),(n.get||n.set)&&(o[i]={configurable:!0,writable:!0,enumerable:n.enumerable,value:t[i]})}return Object.create(Object.getPrototypeOf(t),o)}function Xo(t,o){return void 0===o&&(o=!1),te(t)||Bo(t)||!_o(t)||($o(t)>1&&(t.set=t.add=t.clear=t.delete=Qo),Object.freeze(t),o&&Do(t,(function(t,o){return Xo(o,!0)}),!0)),t}function Qo(){Fo(2)}function te(t){return null==t||"object"!=typeof t||Object.isFrozen(t)}function oe(t){var o=Ae[t];return o||Fo(18,t),o}function ee(){return Oe}function re(t,o){o&&(oe("Patches"),t.u=[],t.s=[],t.v=o)}function ie(t){ne(t),t.p.forEach(se),t.p=null}function ne(t){t===Oe&&(Oe=t.l)}function ae(t){return Oe={p:[],l:Oe,h:t,m:!0,_:0}}function se(t){var o=t[Ue];0===o.i||1===o.i?o.j():o.g=!0}function ce(t,o){o._=o.p.length;var e=o.p[0],r=void 0!==t&&t!==e;return o.h.O||oe("ES5").S(o,t,r),r?(e[Ue].P&&(ie(o),Fo(4)),_o(t)&&(t=le(o,t),o.l||he(o,t)),o.u&&oe("Patches").M(e[Ue].t,t,o.u,o.s)):t=le(o,e,[]),ie(o),o.u&&o.v(o.u,o.s),t!==Ce?t:void 0}function le(t,o,e){if(te(o))return o;var r=o[Ue];if(!r)return Do(o,(function(i,n){return fe(t,r,o,i,n,e)}),!0),o;if(r.A!==t)return o;if(!r.P)return he(t,r.t,!0),r.t;if(!r.I){r.I=!0,r.A._--;var i=4===r.i||5===r.i?r.o=Jo(r.k):r.o,n=i,a=!1;3===r.i&&(n=new Set(i),i.clear(),a=!0),Do(n,(function(o,n){return fe(t,r,i,o,n,e,a)})),he(t,i,!1),e&&t.u&&oe("Patches").N(r,e,t.u,t.s)}return r.o}function fe(t,o,e,r,i,n,a){if(Bo(i)){var s=le(t,i,n&&o&&3!==o.i&&!zo(o.R,r)?n.concat(r):void 0);if(Go(e,r,s),!Bo(s))return;t.m=!1}else a&&e.add(i);if(_o(i)&&!te(i)){if(!t.h.D&&t._<1)return;le(t,i),o&&o.A.l||he(t,i)}}function he(t,o,e){void 0===e&&(e=!1),!t.l&&t.h.D&&t.m&&Xo(o,e)}function ue(t,o){var e=t[Ue];return(e?Vo(e):t)[o]}function de(t,o){if(o in t)for(var e=Object.getPrototypeOf(t);e;){var r=Object.getOwnPropertyDescriptor(e,o);if(r)return r;e=Object.getPrototypeOf(e)}}function pe(t){t.P||(t.P=!0,t.l&&pe(t.l))}function ye(t){t.o||(t.o=Jo(t.t))}function be(t,o,e){var r=qo(o)?oe("MapSet").F(o,e):Yo(o)?oe("MapSet").T(o,e):t.O?function(t,o){var e=Array.isArray(t),r={i:e?1:0,A:o?o.A:ee(),P:!1,I:!1,R:{},l:o,t,k:null,o:null,j:null,C:!1},i=r,n=ke;e&&(i=[r],n=We);var a=Proxy.revocable(i,n),s=a.revoke,c=a.proxy;return r.k=c,r.j=s,c}(o,e):oe("ES5").J(o,e);return(e?e.A:ee()).p.push(r),r}function ge(t){return Bo(t)||Fo(22,t),function t(o){if(!_o(o))return o;var e,r=o[Ue],i=$o(o);if(r){if(!r.P&&(r.i<4||!oe("ES5").K(r)))return r.t;r.I=!0,e=me(o,i),r.I=!1}else e=me(o,i);return Do(e,(function(o,i){r&&function(t,o){return 2===$o(t)?t.get(o):t[o]}(r.t,o)===i||Go(e,o,t(i))})),3===i?new Set(e):e}(t)}function me(t,o){switch(o){case 2:return new Map(t);case 3:return Array.from(t)}return Jo(t)}Wo=jo,To=Mo,Ko=Po;var ve,Oe,we="undefined"!=typeof Symbol&&"symbol"==typeof Symbol("x"),Ne="undefined"!=typeof Map,Se="undefined"!=typeof Set,Ee="undefined"!=typeof Proxy&&void 0!==Proxy.revocable&&"undefined"!=typeof Reflect,Ce=we?Symbol.for("immer-nothing"):((ve={})["immer-nothing"]=!0,ve),Re=we?Symbol.for("immer-draftable"):"__$immer_draftable",Ue=we?Symbol.for("immer-state"):"__$immer_state",xe=""+Object.prototype.constructor,Ie="undefined"!=typeof Reflect&&Reflect.ownKeys?Reflect.ownKeys:void 0!==Object.getOwnPropertySymbols?function(t){return Object.getOwnPropertyNames(t).concat(Object.getOwnPropertySymbols(t))}:Object.getOwnPropertyNames,Le=Object.getOwnPropertyDescriptors||function(t){var o={};return Ie(t).forEach((function(e){o[e]=Object.getOwnPropertyDescriptor(t,e)})),o},Ae={},ke={get:function(t,o){if(o===Ue)return t;var e=Vo(t);if(!zo(e,o))return function(t,o,e){var r,i=de(o,e);return i?"value"in i?i.value:null===(r=i.get)||void 0===r?void 0:r.call(t.k):void 0}(t,e,o);var r=e[o];return t.I||!_o(r)?r:r===ue(t.t,o)?(ye(t),t.o[o]=be(t.A.h,r,t)):r},has:function(t,o){return o in Vo(t)},ownKeys:function(t){return Reflect.ownKeys(Vo(t))},set:function(t,o,e){var r=de(Vo(t),o);if(null==r?void 0:r.set)return r.set.call(t.k,e),!0;if(!t.P){var i=ue(Vo(t),o),n=null==i?void 0:i[Ue];if(n&&n.t===e)return t.o[o]=e,t.R[o]=!1,!0;if(Ho(e,i)&&(void 0!==e||zo(t.t,o)))return!0;ye(t),pe(t)}return t.o[o]===e&&(void 0!==e||o in t.o)||Number.isNaN(e)&&Number.isNaN(t.o[o])||(t.o[o]=e,t.R[o]=!0),!0},deleteProperty:function(t,o){return void 0!==ue(t.t,o)||o in t.t?(t.R[o]=!1,ye(t),pe(t)):delete t.R[o],t.o&&delete t.o[o],!0},getOwnPropertyDescriptor:function(t,o){var e=Vo(t),r=Reflect.getOwnPropertyDescriptor(e,o);return r?{writable:!0,configurable:1!==t.i||"length"!==o,enumerable:r.enumerable,value:e[o]}:r},defineProperty:function(){Fo(11)},getPrototypeOf:function(t){return Object.getPrototypeOf(t.t)},setPrototypeOf:function(){Fo(12)}},We={};Do(ke,(function(t,o){We[t]=function(){return arguments[0]=arguments[0][0],o.apply(this,arguments)}})),We.deleteProperty=function(t,o){return We.set.call(this,t,o,void 0)},We.set=function(t,o,e){return ke.set.call(this,t[0],o,e,t[0])};var Te=function(){function t(t){var o=this;this.O=Ee,this.D=!0,this.produce=function(t,e,r){if("function"==typeof t&&"function"!=typeof e){var i=e;e=t;var n=o;return function(t){var o=this;void 0===t&&(t=i);for(var r=arguments.length,a=Array(r>1?r-1:0),s=1;s<r;s++)a[s-1]=arguments[s];return n.produce(t,(function(t){var r;return(r=e).call.apply(r,[o,t].concat(a))}))}}var a;if("function"!=typeof e&&Fo(6),void 0!==r&&"function"!=typeof r&&Fo(7),_o(t)){var s=ae(o),c=be(o,t,void 0),l=!0;try{a=e(c),l=!1}finally{l?ie(s):ne(s)}return"undefined"!=typeof Promise&&a instanceof Promise?a.then((function(t){return re(s,r),ce(t,s)}),(function(t){throw ie(s),t})):(re(s,r),ce(a,s))}if(!t||"object"!=typeof t){if(void 0===(a=e(t))&&(a=t),a===Ce&&(a=void 0),o.D&&Xo(a,!0),r){var f=[],h=[];oe("Patches").M(t,a,f,h),r(f,h)}return a}Fo(21,t)},this.produceWithPatches=function(t,e){if("function"==typeof t)return function(e){for(var r=arguments.length,i=Array(r>1?r-1:0),n=1;n<r;n++)i[n-1]=arguments[n];return o.produceWithPatches(e,(function(o){return t.apply(void 0,[o].concat(i))}))};var r,i,n=o.produce(t,e,(function(t,o){r=t,i=o}));return"undefined"!=typeof Promise&&n instanceof Promise?n.then((function(t){return[t,r,i]})):[n,r,i]},"boolean"==typeof(null==t?void 0:t.useProxies)&&this.setUseProxies(t.useProxies),"boolean"==typeof(null==t?void 0:t.autoFreeze)&&this.setAutoFreeze(t.autoFreeze)}var o=t.prototype;return o.createDraft=function(t){_o(t)||Fo(8),Bo(t)&&(t=ge(t));var o=ae(this),e=be(this,t,void 0);return e[Ue].C=!0,ne(o),e},o.finishDraft=function(t,o){var e=(t&&t[Ue]).A;return re(e,o),ce(void 0,e)},o.setAutoFreeze=function(t){this.D=t},o.setUseProxies=function(t){t&&!Ee&&Fo(20),this.O=t},o.applyPatches=function(t,o){var e;for(e=o.length-1;e>=0;e--){var r=o[e];if(0===r.path.length&&"replace"===r.op){t=r.value;break}}e>-1&&(o=o.slice(e+1));var i=oe("Patches").$;return Bo(t)?i(t,o):this.produce(t,(function(t){return i(t,o)}))},t}(),Ke=new Te,Pe=Ke.produce;function je(t){return je="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},je(t)}function Me(t){var o=function(t,o){if("object"!==je(t)||null===t)return t;var e=t[Symbol.toPrimitive];if(void 0!==e){var r=e.call(t,o||"default");if("object"!==je(r))return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===o?String:Number)(t)}(t,"string");return"symbol"===je(o)?o:String(o)}function Ze(t,o,e){return(o=Me(o))in t?Object.defineProperty(t,o,{value:e,enumerable:!0,configurable:!0,writable:!0}):t[o]=e,t}function Fe(t,o){var e=Object.keys(t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(t);o&&(r=r.filter((function(o){return Object.getOwnPropertyDescriptor(t,o).enumerable}))),e.push.apply(e,r)}return e}function Be(t){for(var o=1;o<arguments.length;o++){var e=null!=arguments[o]?arguments[o]:{};o%2?Fe(Object(e),!0).forEach((function(o){Ze(t,o,e[o])})):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(e)):Fe(Object(e)).forEach((function(o){Object.defineProperty(t,o,Object.getOwnPropertyDescriptor(e,o))}))}return t}function _e(t){return"Minified Redux error #"+t+"; visit https://redux.js.org/Errors?code="+t+" for the full message or use the non-minified dev environment for full errors. "}Ke.produceWithPatches.bind(Ke),Ke.setAutoFreeze.bind(Ke),Ke.setUseProxies.bind(Ke),Ke.applyPatches.bind(Ke),Ke.createDraft.bind(Ke),Ke.finishDraft.bind(Ke);var De="function"==typeof Symbol&&Symbol.observable||"@@observable",$e=function(){return Math.random().toString(36).substring(7).split("").join(".")},ze={INIT:"@@redux/INIT"+$e(),REPLACE:"@@redux/REPLACE"+$e(),PROBE_UNKNOWN_ACTION:function(){return"@@redux/PROBE_UNKNOWN_ACTION"+$e()}};function Ge(t,o,e){var r;if("function"==typeof o&&"function"==typeof e||"function"==typeof e&&"function"==typeof arguments[3])throw new Error(_e(0));if("function"==typeof o&&void 0===e&&(e=o,o=void 0),void 0!==e){if("function"!=typeof e)throw new Error(_e(1));return e(Ge)(t,o)}if("function"!=typeof t)throw new Error(_e(2));var i=t,n=o,a=[],s=a,c=!1;function l(){s===a&&(s=a.slice())}function f(){if(c)throw new Error(_e(3));return n}function h(t){if("function"!=typeof t)throw new Error(_e(4));if(c)throw new Error(_e(5));var o=!0;return l(),s.push(t),function(){if(o){if(c)throw new Error(_e(6));o=!1,l();var e=s.indexOf(t);s.splice(e,1),a=null}}}function u(t){if(!function(t){if("object"!=typeof t||null===t)return!1;for(var o=t;null!==Object.getPrototypeOf(o);)o=Object.getPrototypeOf(o);return Object.getPrototypeOf(t)===o}(t))throw new Error(_e(7));if(void 0===t.type)throw new Error(_e(8));if(c)throw new Error(_e(9));try{c=!0,n=i(n,t)}finally{c=!1}for(var o=a=s,e=0;e<o.length;e++){(0,o[e])()}return t}return u({type:ze.INIT}),(r={dispatch:u,subscribe:h,getState:f,replaceReducer:function(t){if("function"!=typeof t)throw new Error(_e(10));i=t,u({type:ze.REPLACE})}})[De]=function(){var t,o=h;return(t={subscribe:function(t){if("object"!=typeof t||null===t)throw new Error(_e(11));function e(){t.next&&t.next(f())}return e(),{unsubscribe:o(e)}}})[De]=function(){return this},t},r}function He(t){for(var o=Object.keys(t),e={},r=0;r<o.length;r++){var i=o[r];"function"==typeof t[i]&&(e[i]=t[i])}var n,a=Object.keys(e);try{!function(t){Object.keys(t).forEach((function(o){var e=t[o];if(void 0===e(void 0,{type:ze.INIT}))throw new Error(_e(12));if(void 0===e(void 0,{type:ze.PROBE_UNKNOWN_ACTION()}))throw new Error(_e(13))}))}(e)}catch(t){n=t}return function(t,o){if(void 0===t&&(t={}),n)throw n;for(var r=!1,i={},s=0;s<a.length;s++){var c=a[s],l=e[c],f=t[c],h=l(f,o);if(void 0===h)throw o&&o.type,new Error(_e(14));i[c]=h,r=r||h!==f}return(r=r||a.length!==Object.keys(t).length)?i:t}}function qe(){for(var t=arguments.length,o=new Array(t),e=0;e<t;e++)o[e]=arguments[e];return 0===o.length?function(t){return t}:1===o.length?o[0]:o.reduce((function(t,o){return function(){return t(o.apply(void 0,arguments))}}))}function Ye(){for(var t=arguments.length,o=new Array(t),e=0;e<t;e++)o[e]=arguments[e];return function(t){return function(){var e=t.apply(void 0,arguments),r=function(){throw new Error(_e(15))},i={getState:e.getState,dispatch:function(){return r.apply(void 0,arguments)}},n=o.map((function(t){return t(i)}));return r=qe.apply(void 0,n)(e.dispatch),Be(Be({},e),{},{dispatch:r})}}}function Ve(t){return function(o){var e=o.dispatch,r=o.getState;return function(o){return function(i){return"function"==typeof i?i(e,r,t):o(i)}}}}var Je=Ve();Je.withExtraArgument=Ve;var Xe,Qe=Je,tr=(Xe=function(t,o){return Xe=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,o){t.__proto__=o}||function(t,o){for(var e in o)Object.prototype.hasOwnProperty.call(o,e)&&(t[e]=o[e])},Xe(t,o)},function(t,o){if("function"!=typeof o&&null!==o)throw new TypeError("Class extends value "+String(o)+" is not a constructor or null");function e(){this.constructor=t}Xe(t,o),t.prototype=null===o?Object.create(o):(e.prototype=o.prototype,new e)}),or=function(t,o){var e,r,i,n,a={label:0,sent:function(){if(1&i[0])throw i[1];return i[1]},trys:[],ops:[]};return n={next:s(0),throw:s(1),return:s(2)},"function"==typeof Symbol&&(n[Symbol.iterator]=function(){return this}),n;function s(n){return function(s){return function(n){if(e)throw new TypeError("Generator is already executing.");for(;a;)try{if(e=1,r&&(i=2&n[0]?r.return:n[0]?r.throw||((i=r.return)&&i.call(r),0):r.next)&&!(i=i.call(r,n[1])).done)return i;switch(r=0,i&&(n=[2&n[0],i.value]),n[0]){case 0:case 1:i=n;break;case 4:return a.label++,{value:n[1],done:!1};case 5:a.label++,r=n[1],n=[0];continue;case 7:n=a.ops.pop(),a.trys.pop();continue;default:if(!(i=a.trys,(i=i.length>0&&i[i.length-1])||6!==n[0]&&2!==n[0])){a=0;continue}if(3===n[0]&&(!i||n[1]>i[0]&&n[1]<i[3])){a.label=n[1];break}if(6===n[0]&&a.label<i[1]){a.label=i[1],i=n;break}if(i&&a.label<i[2]){a.label=i[2],a.ops.push(n);break}i[2]&&a.ops.pop(),a.trys.pop();continue}n=o.call(t,a)}catch(t){n=[6,t],r=0}finally{e=i=0}if(5&n[0])throw n[1];return{value:n[0]?n[1]:void 0,done:!0}}([n,s])}}},er=function(t,o){for(var e=0,r=o.length,i=t.length;e<r;e++,i++)t[i]=o[e];return t},rr=Object.defineProperty,ir=Object.defineProperties,nr=Object.getOwnPropertyDescriptors,ar=Object.getOwnPropertySymbols,sr=Object.prototype.hasOwnProperty,cr=Object.prototype.propertyIsEnumerable,lr=function(t,o,e){return o in t?rr(t,o,{enumerable:!0,configurable:!0,writable:!0,value:e}):t[o]=e},fr=function(t,o){for(var e in o||(o={}))sr.call(o,e)&&lr(t,e,o[e]);if(ar)for(var r=0,i=ar(o);r<i.length;r++){e=i[r];cr.call(o,e)&&lr(t,e,o[e])}return t},hr=function(t,o){return ir(t,nr(o))},ur="undefined"!=typeof window&&window.__REDUX_DEVTOOLS_EXTENSION_COMPOSE__?window.__REDUX_DEVTOOLS_EXTENSION_COMPOSE__:function(){if(0!==arguments.length)return"object"==typeof arguments[0]?qe:qe.apply(null,arguments)};var dr=function(t){function o(){for(var e=[],r=0;r<arguments.length;r++)e[r]=arguments[r];var i=t.apply(this,e)||this;return Object.setPrototypeOf(i,o.prototype),i}return tr(o,t),Object.defineProperty(o,Symbol.species,{get:function(){return o},enumerable:!1,configurable:!0}),o.prototype.concat=function(){for(var o=[],e=0;e<arguments.length;e++)o[e]=arguments[e];return t.prototype.concat.apply(this,o)},o.prototype.prepend=function(){for(var t=[],e=0;e<arguments.length;e++)t[e]=arguments[e];return 1===t.length&&Array.isArray(t[0])?new(o.bind.apply(o,er([void 0],t[0].concat(this)))):new(o.bind.apply(o,er([void 0],t.concat(this))))},o}(Array),pr=function(t){function o(){for(var e=[],r=0;r<arguments.length;r++)e[r]=arguments[r];var i=t.apply(this,e)||this;return Object.setPrototypeOf(i,o.prototype),i}return tr(o,t),Object.defineProperty(o,Symbol.species,{get:function(){return o},enumerable:!1,configurable:!0}),o.prototype.concat=function(){for(var o=[],e=0;e<arguments.length;e++)o[e]=arguments[e];return t.prototype.concat.apply(this,o)},o.prototype.prepend=function(){for(var t=[],e=0;e<arguments.length;e++)t[e]=arguments[e];return 1===t.length&&Array.isArray(t[0])?new(o.bind.apply(o,er([void 0],t[0].concat(this)))):new(o.bind.apply(o,er([void 0],t.concat(this))))},o}(Array);function yr(t){return _o(t)?Pe(t,(function(){})):t}function br(){return function(t){return function(t){void 0===t&&(t={});var o=t.thunk,e=void 0===o||o;t.immutableCheck,t.serializableCheck;var r=new dr;e&&(!function(t){return"boolean"==typeof t}(e)?r.push(Qe.withExtraArgument(e.extraArgument)):r.push(Qe));return r}(t)}}function gr(t){var o,e=br(),r=t||{},i=r.reducer,n=void 0===i?void 0:i,a=r.middleware,s=void 0===a?e():a,c=r.devTools,l=void 0===c||c,f=r.preloadedState,h=void 0===f?void 0:f,u=r.enhancers,d=void 0===u?void 0:u;if("function"==typeof n)o=n;else{if(!function(t){if("object"!=typeof t||null===t)return!1;var o=Object.getPrototypeOf(t);if(null===o)return!0;for(var e=o;null!==Object.getPrototypeOf(e);)e=Object.getPrototypeOf(e);return o===e}(n))throw new Error('"reducer" is a required argument, and must be a function or an object of functions that can be passed to combineReducers');o=He(n)}var p=s;"function"==typeof p&&(p=p(e));var y=Ye.apply(void 0,p),b=qe;l&&(b=ur(fr({trace:!1},"object"==typeof l&&l)));var g=new pr(y),m=g;return Array.isArray(d)?m=er([y],d):"function"==typeof d&&(m=d(g)),Ge(o,h,b.apply(void 0,m))}function mr(t,o){function e(){for(var e=[],r=0;r<arguments.length;r++)e[r]=arguments[r];if(o){var i=o.apply(void 0,e);if(!i)throw new Error("prepareAction did not return an object");return fr(fr({type:t,payload:i.payload},"meta"in i&&{meta:i.meta}),"error"in i&&{error:i.error})}return{type:t,payload:e[0]}}return e.toString=function(){return""+t},e.type=t,e.match=function(o){return o.type===t},e}function vr(t){var o,e={},r=[],i={addCase:function(t,o){var r="string"==typeof t?t:t.type;if(r in e)throw new Error("addCase cannot be called with two reducers for the same action type");return e[r]=o,i},addMatcher:function(t,o){return r.push({matcher:t,reducer:o}),i},addDefaultCase:function(t){return o=t,i}};return t(i),[e,r,o]}function Or(t){var o=t.name;if(!o)throw new Error("`name` is a required option for createSlice");var e,r="function"==typeof t.initialState?t.initialState:yr(t.initialState),i=t.reducers||{},n=Object.keys(i),a={},s={},c={};function l(){var o="function"==typeof t.extraReducers?vr(t.extraReducers):[t.extraReducers],e=o[0],i=void 0===e?{}:e,n=o[1],a=void 0===n?[]:n,c=o[2],l=void 0===c?void 0:c,f=fr(fr({},i),s);return function(t,o,e,r){void 0===e&&(e=[]);var i,n="function"==typeof o?vr(o):[o,e,r],a=n[0],s=n[1],c=n[2];if(function(t){return"function"==typeof t}(t))i=function(){return yr(t())};else{var l=yr(t);i=function(){return l}}function f(t,o){void 0===t&&(t=i());var e=er([a[o.type]],s.filter((function(t){return(0,t.matcher)(o)})).map((function(t){return t.reducer})));return 0===e.filter((function(t){return!!t})).length&&(e=[c]),e.reduce((function(t,e){if(e){var r;if(Bo(t))return void 0===(r=e(t,o))?t:r;if(_o(t))return Pe(t,(function(t){return e(t,o)}));if(void 0===(r=e(t,o))){if(null===t)return t;throw Error("A case reducer on a non-draftable value must not return undefined")}return r}return t}),t)}return f.getInitialState=i,f}(r,(function(t){for(var o in f)t.addCase(o,f[o]);for(var e=0,r=a;e<r.length;e++){var i=r[e];t.addMatcher(i.matcher,i.reducer)}l&&t.addDefaultCase(l)}))}return n.forEach((function(t){var e,r,n=i[t],l=o+"/"+t;"reducer"in n?(e=n.reducer,r=n.prepare):e=n,a[t]=e,s[l]=e,c[t]=r?mr(l,r):mr(l)})),{name:o,reducer:function(t,o){return e||(e=l()),e(t,o)},actions:c,caseReducers:a,getInitialState:function(){return e||(e=l()),e.getInitialState()}}}var wr=["name","message","stack","code"],Nr=function(t,o){this.payload=t,this.meta=o},Sr=function(t,o){this.payload=t,this.meta=o},Er=function(t){if("object"==typeof t&&null!==t){for(var o={},e=0,r=wr;e<r.length;e++){var i=r[e];"string"==typeof t[i]&&(o[i]=t[i])}return o}return{message:String(t)}};function Cr(t){if(t.meta&&t.meta.rejectedWithValue)throw t.payload;if(t.error)throw t.error;return t.payload}!function(){function t(t,o,e){var r=mr(t+"/fulfilled",(function(t,o,e,r){return{payload:t,meta:hr(fr({},r||{}),{arg:e,requestId:o,requestStatus:"fulfilled"})}})),i=mr(t+"/pending",(function(t,o,e){return{payload:void 0,meta:hr(fr({},e||{}),{arg:o,requestId:t,requestStatus:"pending"})}})),n=mr(t+"/rejected",(function(t,o,r,i,n){return{payload:i,error:(e&&e.serializeError||Er)(t||"Rejected"),meta:hr(fr({},n||{}),{arg:r,requestId:o,rejectedWithValue:!!i,requestStatus:"rejected",aborted:"AbortError"===(null==t?void 0:t.name),condition:"ConditionError"===(null==t?void 0:t.name)})}})),a="undefined"!=typeof AbortController?AbortController:function(){function t(){this.signal={aborted:!1,addEventListener:function(){},dispatchEvent:function(){return!1},onabort:function(){},removeEventListener:function(){},reason:void 0,throwIfAborted:function(){}}}return t.prototype.abort=function(){},t}();return Object.assign((function(t){return function(s,c,l){var f,h=(null==e?void 0:e.idGenerator)?e.idGenerator(t):function(t){void 0===t&&(t=21);for(var o="",e=t;e--;)o+="ModuleSymbhasOwnPr-0123456789ABCDEFGHNRVfgctiUvz_KqYTJkLxpZXIjQW"[64*Math.random()|0];return o}(),u=new a;function d(t){f=t,u.abort()}var p=function(){return a=this,p=null,y=function(){var a,p,y,b,g,m;return or(this,(function(v){switch(v.label){case 0:return v.trys.push([0,4,,5]),b=null==(a=null==e?void 0:e.condition)?void 0:a.call(e,t,{getState:c,extra:l}),null===(O=b)||"object"!=typeof O||"function"!=typeof O.then?[3,2]:[4,b];case 1:b=v.sent(),v.label=2;case 2:if(!1===b||u.signal.aborted)throw{name:"ConditionError",message:"Aborted due to condition callback returning false."};return g=new Promise((function(t,o){return u.signal.addEventListener("abort",(function(){return o({name:"AbortError",message:f||"Aborted"})}))})),s(i(h,t,null==(p=null==e?void 0:e.getPendingMeta)?void 0:p.call(e,{requestId:h,arg:t},{getState:c,extra:l}))),[4,Promise.race([g,Promise.resolve(o(t,{dispatch:s,getState:c,extra:l,requestId:h,signal:u.signal,abort:d,rejectWithValue:function(t,o){return new Nr(t,o)},fulfillWithValue:function(t,o){return new Sr(t,o)}})).then((function(o){if(o instanceof Nr)throw o;return o instanceof Sr?r(o.payload,h,t,o.meta):r(o,h,t)}))])];case 3:return y=v.sent(),[3,5];case 4:return m=v.sent(),y=m instanceof Nr?n(null,h,t,m.payload,m.meta):n(m,h,t),[3,5];case 5:return e&&!e.dispatchConditionRejection&&n.match(y)&&y.meta.condition||s(y),[2,y]}var O}))},new Promise((function(t,o){var e=function(t){try{i(y.next(t))}catch(t){o(t)}},r=function(t){try{i(y.throw(t))}catch(t){o(t)}},i=function(o){return o.done?t(o.value):Promise.resolve(o.value).then(e,r)};i((y=y.apply(a,p)).next())}));var a,p,y}();return Object.assign(p,{abort:d,requestId:h,arg:t,unwrap:function(){return p.then(Cr)}})}}),{pending:i,rejected:n,fulfilled:r,typePrefix:t})}t.withTypes=function(){return t}}();var Rr="listenerMiddleware";mr(Rr+"/add"),mr(Rr+"/removeAll"),mr(Rr+"/remove"),"function"==typeof queueMicrotask&&queueMicrotask.bind("undefined"!=typeof window?window:"undefined"!=typeof global?global:globalThis),function(){function t(t,o){var e=i[t];return e?e.enumerable=o:i[t]=e={configurable:!0,enumerable:o,get:function(){var o=this[Ue];return ke.get(o,t)},set:function(o){var e=this[Ue];ke.set(e,t,o)}},e}function o(t){for(var o=t.length-1;o>=0;o--){var i=t[o][Ue];if(!i.P)switch(i.i){case 5:r(i)&&pe(i);break;case 4:e(i)&&pe(i)}}}function e(t){for(var o=t.t,e=t.k,r=Ie(e),i=r.length-1;i>=0;i--){var n=r[i];if(n!==Ue){var a=o[n];if(void 0===a&&!zo(o,n))return!0;var s=e[n],c=s&&s[Ue];if(c?c.t!==a:!Ho(s,a))return!0}}var l=!!o[Ue];return r.length!==Ie(o).length+(l?0:1)}function r(t){var o=t.k;if(o.length!==t.t.length)return!0;var e=Object.getOwnPropertyDescriptor(o,o.length-1);if(e&&!e.get)return!0;for(var r=0;r<o.length;r++)if(!o.hasOwnProperty(r))return!0;return!1}var i={};!function(t,o){Ae[t]||(Ae[t]=o)}("ES5",{J:function(o,e){var r=Array.isArray(o),i=function(o,e){if(o){for(var r=Array(e.length),i=0;i<e.length;i++)Object.defineProperty(r,""+i,t(i,!0));return r}var n=Le(e);delete n[Ue];for(var a=Ie(n),s=0;s<a.length;s++){var c=a[s];n[c]=t(c,o||!!n[c].enumerable)}return Object.create(Object.getPrototypeOf(e),n)}(r,o),n={i:r?5:4,A:e?e.A:ee(),P:!1,I:!1,R:{},l:e,t:o,k:i,o:null,g:!1,C:!1};return Object.defineProperty(i,Ue,{value:n,writable:!0}),i},S:function(t,e,i){i?Bo(e)&&e[Ue].A===t&&o(t.p):(t.u&&function t(o){if(o&&"object"==typeof o){var e=o[Ue];if(e){var i=e.t,n=e.k,a=e.R,s=e.i;if(4===s)Do(n,(function(o){o!==Ue&&(void 0!==i[o]||zo(i,o)?a[o]||t(n[o]):(a[o]=!0,pe(e)))})),Do(i,(function(t){void 0!==n[t]||zo(n,t)||(a[t]=!1,pe(e))}));else if(5===s){if(r(e)&&(pe(e),a.length=!0),n.length<i.length)for(var c=n.length;c<i.length;c++)a[c]=!1;else for(var l=i.length;l<n.length;l++)a[l]=!0;for(var f=Math.min(n.length,i.length),h=0;h<f;h++)n.hasOwnProperty(h)||(a[h]=!0),void 0===a[h]&&t(n[h])}}}}(t.p[0]),o(t.p))},K:function(t){return 4===t.i?e(t):r(t)}})}(),window.ftReduxStores||(window.ftReduxStores={});class Ur{static get(t){var o;const e="string"==typeof t?t:t.name,r="string"==typeof t?void 0:t,i=window.ftReduxStores[e];if(ko(i))return i;if(null==r)return;const n=Or({...r,reducers:null!==(o=r.reducers)&&void 0!==o?o:{}}),a=gr({reducer:(t,o)=>{var e;switch(o.type){case"CLEAR_FT_REDUX_STORE":return n.getInitialState();case"DEFAULT_STATE_FIELDS_VALUES_SETTER":return{...t,...null!==(e=o.overwrites)&&void 0!==e?e:{}};default:return n.reducer(t,o)}}});return window.ftReduxStores[r.name]=new Ur(n,a)}constructor(t,o){this.reduxSlice=t,this.reduxStore=o,this.isFtReduxStore=!0,this.eventBus=document.createElement("event-bus"),this.actions=new Proxy(this.reduxSlice.actions,{get:(t,o,e)=>{const r=o,i=t[r];return i?(...t)=>{const o=i(...t);return this.reduxStore.dispatch(o),o}:t=>{this.setState({[r]:t})}}})}clear(){this.reduxStore.dispatch({type:"CLEAR_FT_REDUX_STORE"})}setState(t){this.reduxStore.dispatch({type:"DEFAULT_STATE_FIELDS_VALUES_SETTER",overwrites:t})}get dispatch(){throw new Error("Don't use this method, actions are automatically dispatched when called.")}[Symbol.observable](){return this.reduxStore[Symbol.observable]()}getState(){return this.reduxStore.getState()}replaceReducer(t){throw new Error("Not implemented yet.")}subscribe(t){return this.reduxStore.subscribe(t)}get name(){return this.reduxSlice.name}get reducer(){return this.reduxSlice.reducer}get caseReducers(){return this.reduxSlice.caseReducers}getInitialState(){return this.reduxSlice.getInitialState()}}const xr=t=>{const o=null!=t?t:{};return(t,e)=>{var r;const i={hasChanged:(t,o)=>!L(t,o),attribute:!1,...o};x(i)(t,e);const n=t;n.reduxProperties=n.reduxProperties||new Map,n.reduxProperties.set(e,{selector:null!==(r=o.selector)&&void 0!==r?r:t=>t[e],store:o.store})}};var Ir,Lr;navigator.vendor&&navigator.vendor.match(/apple/i)||(null===(Lr=null===(Ir=window.safari)||void 0===Ir?void 0:Ir.pushNotification)||void 0===Lr||Lr.toString());class Ar{constructor(t){this.paginatedToc=t,this.nodeByTocId={},this.knownPrettyUrls=new Set,this.duplicatedPrettyUrls=new Set,this.pages=[],this.pageByTocId={}}build(){return{paginationConfiguration:this.paginatedToc.configuration,toc:this.convertNodes(this.paginatedToc.paginatedToc,1),pagesToc:this.extractPagesToc(this.paginatedToc.paginatedToc,1),nodeByTocId:this.nodeByTocId,duplicatedPrettyUrls:this.duplicatedPrettyUrls,pages:this.pages,pageByTocId:this.pageByTocId}}extractPagesToc(t,o,e){return t.flatMap((t=>(t.pageConfiguration&&this.registerPage(this.buildPage(t,e)),null==t.tocId?this.extractPagesToc(t.children,o,e):[{tocId:t.tocId,title:t.title,depth:o,children:this.extractPagesToc(t.children,o+1,t.tocId)}])))}convertNodes(t,o,e){return t.flatMap((t=>{var r,i,n;if(null==t.tocId)return[...this.convertSectionNodes(null!==(r=t.pageToc)&&void 0!==r?r:[],o,t.tocId),...this.convertNodes(t.children,o,t.tocId)];let a=null===(i=t.prettyUrl)||void 0===i?void 0:i.replace(/^\//,"");const s={tocId:t.tocId,contentId:t.contentId,title:t.title,hasRating:t.hasRating,origin:t.origin,prettyUrl:a,depth:o,parentTocId:e,children:[]};this.register(s);const c=this.convertSectionNodes(null!==(n=t.pageToc)&&void 0!==n?n:[],o+1,t.tocId),l=this.convertNodes(t.children,o+1,s.tocId);return s.children=[...c,...l],[s]}))}convertSectionNodes(t,o,e){return t.flatMap((t=>{var r;let i=null===(r=t.prettyUrl)||void 0===r?void 0:r.replace(/^\//,"");const n={...t,prettyUrl:i,depth:o,parentTocId:e,children:[]};return this.register(n),n.children=this.convertSectionNodes(t.children,o+1,t.tocId),[n]}))}buildPage(t,o){var e,r,i,n,a,s;const c={number:this.pages.length+1,title:null!==(e=t.title)&&void 0!==e?e:"",rootTocId:null!==(r=t.tocId)&&void 0!==r?r:"root",toc:(null!==(i=t.pageToc)&&void 0!==i?i:[]).map((t=>this.nodeByTocId[t.tocId])),topics:[],hiddenTopics:[],breadcrumb:o?this.buildBreadcrumb(this.nodeByTocId[o]):[]},l=(t,o)=>(o?c.topics:c.hiddenTopics).push(t),f=null!==(a=null===(n=t.pageConfiguration)||void 0===n?void 0:n.parentsVisibility)&&void 0!==a?a:[];return c.breadcrumb.forEach(((t,o)=>{l(t,f[o])})),t.tocId&&l(t.tocId,t.pageConfiguration.isVisible),c.topics.push(...this.tocIds(null!==(s=t.pageToc)&&void 0!==s?s:[])),c}registerPage(t){for(let o of[...t.topics,...t.hiddenTopics])this.pageByTocId[o]||(this.pageByTocId[o]=t);this.pages.push(t)}tocIds(t){return t.flatMap((t=>[t.tocId,...this.tocIds(t.children)]))}buildBreadcrumb(t){const o=[t.tocId];for(;null==t?void 0:t.parentTocId;)o.unshift(t.parentTocId),t=this.nodeByTocId[t.parentTocId];return o}register(t){t.prettyUrl&&(this.knownPrettyUrls.has(t.prettyUrl)&&this.duplicatedPrettyUrls.add(t.prettyUrl),this.knownPrettyUrls.add(t.prettyUrl)),this.nodeByTocId[t.tocId]=t}}class kr{convertPaginatedToc(t){return new Ar(t).build()}}var Wr,Tr,Kr,Pr,jr,Mr,Zr,Fr,Br,_r,Dr,$r,zr,Gr;!function(t){!function(o){var e={searchParams:"URLSearchParams"in t,iterable:"Symbol"in t&&"iterator"in Symbol,blob:"FileReader"in t&&"Blob"in t&&function(){try{return new Blob,!0}catch(t){return!1}}(),formData:"FormData"in t,arrayBuffer:"ArrayBuffer"in t};if(e.arrayBuffer)var r=["[object Int8Array]","[object Uint8Array]","[object Uint8ClampedArray]","[object Int16Array]","[object Uint16Array]","[object Int32Array]","[object Uint32Array]","[object Float32Array]","[object Float64Array]"],i=ArrayBuffer.isView||function(t){return t&&r.indexOf(Object.prototype.toString.call(t))>-1};function n(t){if("string"!=typeof t&&(t=String(t)),/[^a-z0-9\-#$%&'*+.^_`|~]/i.test(t))throw new TypeError("Invalid character in header field name");return t.toLowerCase()}function a(t){return"string"!=typeof t&&(t=String(t)),t}function s(t){var o={next:function(){var o=t.shift();return{done:void 0===o,value:o}}};return e.iterable&&(o[Symbol.iterator]=function(){return o}),o}function c(t){this.map={},t instanceof c?t.forEach((function(t,o){this.append(o,t)}),this):Array.isArray(t)?t.forEach((function(t){this.append(t[0],t[1])}),this):t&&Object.getOwnPropertyNames(t).forEach((function(o){this.append(o,t[o])}),this)}function l(t){if(t.bodyUsed)return Promise.reject(new TypeError("Already read"));t.bodyUsed=!0}function f(t){return new Promise((function(o,e){t.onload=function(){o(t.result)},t.onerror=function(){e(t.error)}}))}function h(t){var o=new FileReader,e=f(o);return o.readAsArrayBuffer(t),e}function u(t){if(t.slice)return t.slice(0);var o=new Uint8Array(t.byteLength);return o.set(new Uint8Array(t)),o.buffer}function d(){return this.bodyUsed=!1,this._initBody=function(t){var o;this._bodyInit=t,t?"string"==typeof t?this._bodyText=t:e.blob&&Blob.prototype.isPrototypeOf(t)?this._bodyBlob=t:e.formData&&FormData.prototype.isPrototypeOf(t)?this._bodyFormData=t:e.searchParams&&URLSearchParams.prototype.isPrototypeOf(t)?this._bodyText=t.toString():e.arrayBuffer&&e.blob&&((o=t)&&DataView.prototype.isPrototypeOf(o))?(this._bodyArrayBuffer=u(t.buffer),this._bodyInit=new Blob([this._bodyArrayBuffer])):e.arrayBuffer&&(ArrayBuffer.prototype.isPrototypeOf(t)||i(t))?this._bodyArrayBuffer=u(t):this._bodyText=t=Object.prototype.toString.call(t):this._bodyText="",this.headers.get("content-type")||("string"==typeof t?this.headers.set("content-type","text/plain;charset=UTF-8"):this._bodyBlob&&this._bodyBlob.type?this.headers.set("content-type",this._bodyBlob.type):e.searchParams&&URLSearchParams.prototype.isPrototypeOf(t)&&this.headers.set("content-type","application/x-www-form-urlencoded;charset=UTF-8"))},e.blob&&(this.blob=function(){var t=l(this);if(t)return t;if(this._bodyBlob)return Promise.resolve(this._bodyBlob);if(this._bodyArrayBuffer)return Promise.resolve(new Blob([this._bodyArrayBuffer]));if(this._bodyFormData)throw new Error("could not read FormData body as blob");return Promise.resolve(new Blob([this._bodyText]))},this.arrayBuffer=function(){return this._bodyArrayBuffer?l(this)||Promise.resolve(this._bodyArrayBuffer):this.blob().then(h)}),this.text=function(){var t=l(this);if(t)return t;if(this._bodyBlob)return function(t){var o=new FileReader,e=f(o);return o.readAsText(t),e}(this._bodyBlob);if(this._bodyArrayBuffer)return Promise.resolve(function(t){for(var o=new Uint8Array(t),e=new Array(o.length),r=0;r<o.length;r++)e[r]=String.fromCharCode(o[r]);return e.join("")}(this._bodyArrayBuffer));if(this._bodyFormData)throw new Error("could not read FormData body as text");return Promise.resolve(this._bodyText)},e.formData&&(this.formData=function(){return this.text().then(b)}),this.json=function(){return this.text().then(JSON.parse)},this}c.prototype.append=function(t,o){t=n(t),o=a(o);var e=this.map[t];this.map[t]=e?e+", "+o:o},c.prototype.delete=function(t){delete this.map[n(t)]},c.prototype.get=function(t){return t=n(t),this.has(t)?this.map[t]:null},c.prototype.has=function(t){return this.map.hasOwnProperty(n(t))},c.prototype.set=function(t,o){this.map[n(t)]=a(o)},c.prototype.forEach=function(t,o){for(var e in this.map)this.map.hasOwnProperty(e)&&t.call(o,this.map[e],e,this)},c.prototype.keys=function(){var t=[];return this.forEach((function(o,e){t.push(e)})),s(t)},c.prototype.values=function(){var t=[];return this.forEach((function(o){t.push(o)})),s(t)},c.prototype.entries=function(){var t=[];return this.forEach((function(o,e){t.push([e,o])})),s(t)},e.iterable&&(c.prototype[Symbol.iterator]=c.prototype.entries);var p=["DELETE","GET","HEAD","OPTIONS","POST","PUT"];function y(t,o){var e,r,i=(o=o||{}).body;if(t instanceof y){if(t.bodyUsed)throw new TypeError("Already read");this.url=t.url,this.credentials=t.credentials,o.headers||(this.headers=new c(t.headers)),this.method=t.method,this.mode=t.mode,this.signal=t.signal,i||null==t._bodyInit||(i=t._bodyInit,t.bodyUsed=!0)}else this.url=String(t);if(this.credentials=o.credentials||this.credentials||"same-origin",!o.headers&&this.headers||(this.headers=new c(o.headers)),this.method=(e=o.method||this.method||"GET",r=e.toUpperCase(),p.indexOf(r)>-1?r:e),this.mode=o.mode||this.mode||null,this.signal=o.signal||this.signal,this.referrer=null,("GET"===this.method||"HEAD"===this.method)&&i)throw new TypeError("Body not allowed for GET or HEAD requests");this._initBody(i)}function b(t){var o=new FormData;return t.trim().split("&").forEach((function(t){if(t){var e=t.split("="),r=e.shift().replace(/\+/g," "),i=e.join("=").replace(/\+/g," ");o.append(decodeURIComponent(r),decodeURIComponent(i))}})),o}function g(t,o){o||(o={}),this.type="default",this.status=void 0===o.status?200:o.status,this.ok=this.status>=200&&this.status<300,this.statusText="statusText"in o?o.statusText:"OK",this.headers=new c(o.headers),this.url=o.url||"",this._initBody(t)}y.prototype.clone=function(){return new y(this,{body:this._bodyInit})},d.call(y.prototype),d.call(g.prototype),g.prototype.clone=function(){return new g(this._bodyInit,{status:this.status,statusText:this.statusText,headers:new c(this.headers),url:this.url})},g.error=function(){var t=new g(null,{status:0,statusText:""});return t.type="error",t};var m=[301,302,303,307,308];g.redirect=function(t,o){if(-1===m.indexOf(o))throw new RangeError("Invalid status code");return new g(null,{status:o,headers:{location:t}})},o.DOMException=t.DOMException;try{new o.DOMException}catch(t){o.DOMException=function(t,o){this.message=t,this.name=o;var e=Error(t);this.stack=e.stack},o.DOMException.prototype=Object.create(Error.prototype),o.DOMException.prototype.constructor=o.DOMException}function v(t,r){return new Promise((function(i,n){var a=new y(t,r);if(a.signal&&a.signal.aborted)return n(new o.DOMException("Aborted","AbortError"));var s=new XMLHttpRequest;function l(){s.abort()}s.onload=function(){var t,o,e={status:s.status,statusText:s.statusText,headers:(t=s.getAllResponseHeaders()||"",o=new c,t.replace(/\r?\n[\t ]+/g," ").split(/\r?\n/).forEach((function(t){var e=t.split(":"),r=e.shift().trim();if(r){var i=e.join(":").trim();o.append(r,i)}})),o)};e.url="responseURL"in s?s.responseURL:e.headers.get("X-Request-URL");var r="response"in s?s.response:s.responseText;i(new g(r,e))},s.onerror=function(){n(new TypeError("Network request failed"))},s.ontimeout=function(){n(new TypeError("Network request failed"))},s.onabort=function(){n(new o.DOMException("Aborted","AbortError"))},s.open(a.method,a.url,!0),"include"===a.credentials?s.withCredentials=!0:"omit"===a.credentials&&(s.withCredentials=!1),"responseType"in s&&e.blob&&(s.responseType="blob"),a.headers.forEach((function(t,o){s.setRequestHeader(o,t)})),a.signal&&(a.signal.addEventListener("abort",l),s.onreadystatechange=function(){4===s.readyState&&a.signal.removeEventListener("abort",l)}),s.send(void 0===a._bodyInit?null:a._bodyInit)}))}v.polyfill=!0,t.fetch||(t.fetch=v,t.Headers=c,t.Request=y,t.Response=g),o.Headers=c,o.Request=y,o.Response=g,o.fetch=v,Object.defineProperty(o,"U",{value:!0})}({})}("undefined"!=typeof self?self:void 0),function(t){t.black="black",t.green="green",t.blue="blue",t.purple="purple",t.red="red",t.orange="orange",t.yellow="yellow"}(Wr||(Wr={})),function(t){t.OFFICIAL="OFFICIAL",t.PERSONAL="PERSONAL",t.SHARED="SHARED"}(Tr||(Tr={})),function(t){t.THIRD_PARTY="THIRD_PARTY",t.OFF_THE_GRID="OFF_THE_GRID",t.CONTENT_PACKAGER="CONTENT_PACKAGER",t.PAGES="PAGES",t.DESIGNED_READER="DESIGNED_READER"}(Kr||(Kr={})),function(t){t.STARS="STARS",t.LIKE="LIKE",t.DICHOTOMOUS="DICHOTOMOUS",t.NO_RATING="NO_RATING"}(Pr||(Pr={})),function(t){t.LAST_WEEK="LAST_WEEK",t.LAST_MONTH="LAST_MONTH",t.LAST_YEAR="LAST_YEAR",t.CUSTOM="CUSTOM"}(jr||(jr={})),function(t){t.ASC="ASC",t.DESC="DESC"}(Mr||(Mr={})),function(t){t.ALPHA="ALPHA",t.NATURAL="NATURAL"}(Zr||(Zr={})),function(t){t.EVERYWHERE="EVERYWHERE",t.TITLE_ONLY="TITLE_ONLY",t.NONE="NONE"}(Fr||(Fr={})),function(t){t.ARTICLE="ARTICLE",t.BOOK="BOOK",t.SHARED_BOOK="SHARED_BOOK"}(Br||(Br={})),function(t){t.FLUIDTOPICS="FLUIDTOPICS",t.EXTERNAL="EXTERNAL"}(_r||(_r={})),function(t){t.MAP="MAP",t.DOCUMENT="DOCUMENT",t.TOPIC="TOPIC",t.PERSONAL_BOOK="PERSONAL_BOOK",t.SHARED_BOOK="SHARED_BOOK"}(Dr||(Dr={})),function(t){t.MAP="MAP",t.DOCUMENT="DOCUMENT",t.TOPIC="TOPIC"}($r||($r={})),function(t){t.DEFAULT="DEFAULT",t.DOCUMENTS="DOCUMENTS"}(zr||(zr={})),function(t){t.PERSONAL_BOOK_USER="PERSONAL_BOOK_USER",t.PERSONAL_BOOK_SHARE_USER="PERSONAL_BOOK_SHARE_USER",t.HTML_EXPORT_USER="HTML_EXPORT_USER",t.PDF_EXPORT_USER="PDF_EXPORT_USER",t.SAVED_SEARCH_USER="SAVED_SEARCH_USER",t.COLLECTION_USER="COLLECTION_USER",t.OFFLINE_USER="OFFLINE_USER",t.ANALYTICS_USER="ANALYTICS_USER",t.BETA_USER="BETA_USER",t.DEBUG_USER="DEBUG_USER",t.PRINT_USER="PRINT_USER",t.RATING_USER="RATING_USER",t.FEEDBACK_USER="FEEDBACK_USER",t.CONTENT_PUBLISHER="CONTENT_PUBLISHER",t.KHUB_ADMIN="KHUB_ADMIN",t.USERS_ADMIN="USERS_ADMIN",t.PORTAL_ADMIN="PORTAL_ADMIN",t.ADMIN="ADMIN",t.DEVELOPER="DEVELOPER"}(Gr||(Gr={}));const Hr={[Gr.PERSONAL_BOOK_SHARE_USER]:[Gr.PERSONAL_BOOK_USER],[Gr.HTML_EXPORT_USER]:[Gr.PERSONAL_BOOK_USER],[Gr.PDF_EXPORT_USER]:[Gr.PERSONAL_BOOK_USER],[Gr.KHUB_ADMIN]:[Gr.CONTENT_PUBLISHER],[Gr.ADMIN]:[Gr.KHUB_ADMIN,Gr.USERS_ADMIN,Gr.PORTAL_ADMIN],[Gr.DEVELOPER]:[Gr.BETA_USER,Gr.DEBUG_USER]};function qr(t,o){return t===o||(Hr[t]??[]).some((t=>qr(t,o)))}function Yr(t,o){if(null==t)return!1;return(Array.isArray(t)?t:Array.isArray(t.roles)?t.roles:Array.isArray(t.profile?.roles)?t.profile.roles:[]).some((t=>qr(t,o)))}var Vr;t.FtReaderFeatures=void 0,(Vr=t.FtReaderFeatures||(t.FtReaderFeatures={})).FEEDBACK="FEEDBACK",Vr.RATING="RATING",Vr.PRINT="PRINT",Vr.BOOKMARK="BOOKMARK",Vr.COLLECTIONS="COLLECTIONS";const Jr=mt`
|
|
97
|
+
`;class Ao{constructor(t,o){this.defaultLabels=t,this.labels=o}resolve(t,...o){var e,r;t=this.resolvePluralKey(t,o);let i=null!==(r=null!==(e=this.labels[t])&&void 0!==e?e:this.defaultLabels[t])&&void 0!==r?r:"";return o.forEach(((t,o)=>i=i.replace(new RegExp(`\\{${o}([^}]*)\\}`,"g"),((o,e)=>this.formatValue(t,e))))),i}resolvePluralKey(t,o){for(let e of o)if("number"==typeof e){const o=`${String(t)}[\\=${e}]`;if(o in this.labels||o in this.defaultLabels)return o}return t}formatValue(t,o){return t instanceof Date?this.formatDate(t,o):null!=t?t:""}formatDate(t,o){const e=e=>(null==o?void 0:o.includes("date"))?t.toLocaleDateString(e):(null==o?void 0:o.includes("time"))?t.toLocaleTimeString(e):t.toLocaleString(e);try{return e(document.documentElement.lang)}catch(t){return e()}}}function ko(t){var o;return null!==(o=null==t?void 0:t.isFtReduxStore)&&void 0!==o&&o}var Wo,To,Ko;const Po=Symbol("internalReduxEventsUnsubscribers"),jo=Symbol("internalStoresUnsubscribers"),Mo=Symbol("internalStores");class Zo extends Lo{constructor(){super(...arguments),this[Wo]=new Map,this[To]=new Map,this[Ko]=[]}update(t){var o;super.update(t),(null===(o=this.reduxReactiveProperties)||void 0===o?void 0:o.some((o=>t.has(o))))&&this.updateFromStores()}getUnnamedStore(){if(this[Mo].size>1)throw new Error("Cannot resolve unnamed store when multiple stores are configured.");return[...this[Mo].values()][0]}getStore(t){return null==t?this.getUnnamedStore():this[Mo].get(t)}addStore(t,o){var e;o=null!==(e=null!=o?o:ko(t)?t.name:void 0)&&void 0!==e?e:"default-store",this.unsubscribeFromStore(o),this.setupStore(o,t)}removeStore(t){const o="string"==typeof t?t:t.name;this.unsubscribeFromStore(o),this[Mo].delete(o)}setupStore(t,o){this[Mo].set(t,o),this.subscribeToStore(t,o),this.updateFromStores()}setupStores(){this.unsubscribeFromStores(),this[Mo].forEach(((t,o)=>this.subscribeToStore(o,t))),this.updateFromStores()}updateFromStores(){this.reduxProperties&&this.reduxProperties.forEach(((t,o)=>{const e=this.constructor.getPropertyOptions(o);if(!(null==e?void 0:e.attribute)||!this.hasAttribute("string"==typeof(null==e?void 0:e.attribute)?e.attribute:o)){const e=this.getStore(t.store);e&&(t.store?this[jo].has(t.store):this[jo].size>0)&&(this[o]=t.selector(e.getState(),this))}}))}subscribeToStore(t,o){var e;this[jo].set(t,o.subscribe((()=>this.updateFromStores()))),ko(o)&&o.eventBus&&(null===(e=this.reduxEventListeners)||void 0===e||e.forEach(((t,e)=>{if("function"==typeof this[e]&&(!t.store||o.name===t.store)){const r=t=>this[e](t);o.eventBus.addEventListener(t.eventName,r),this[Po].push((()=>o.eventBus.removeEventListener(t.eventName,r)))}}))),this.onStoreAvailable(t)}unsubscribeFromStores(){this[jo].forEach(((t,o)=>this.unsubscribeFromStore(o))),this[Po].forEach((t=>t())),this[Po]=[]}unsubscribeFromStore(t){this[jo].has(t)&&this[jo].get(t)(),this[jo].delete(t)}onStoreAvailable(t){}connectedCallback(){super.connectedCallback(),this.setupStores()}disconnectedCallback(){super.disconnectedCallback(),this.unsubscribeFromStores()}}function Fo(t){for(var o=arguments.length,e=Array(o>1?o-1:0),r=1;r<o;r++)e[r-1]=arguments[r];throw Error("[Immer] minified error nr: "+t+(e.length?" "+e.map((function(t){return"'"+t+"'"})).join(","):"")+". Find the full error at: https://bit.ly/3cXEKWf")}function Bo(t){return!!t&&!!t[Ue]}function _o(t){var o;return!!t&&(function(t){if(!t||"object"!=typeof t)return!1;var o=Object.getPrototypeOf(t);if(null===o)return!0;var e=Object.hasOwnProperty.call(o,"constructor")&&o.constructor;return e===Object||"function"==typeof e&&Function.toString.call(e)===xe}(t)||Array.isArray(t)||!!t[Re]||!!(null===(o=t.constructor)||void 0===o?void 0:o[Re])||qo(t)||Yo(t))}function Do(t,o,e){void 0===e&&(e=!1),0===$o(t)?(e?Object.keys:Ie)(t).forEach((function(r){e&&"symbol"==typeof r||o(r,t[r],t)})):t.forEach((function(e,r){return o(r,e,t)}))}function $o(t){var o=t[Ue];return o?o.i>3?o.i-4:o.i:Array.isArray(t)?1:qo(t)?2:Yo(t)?3:0}function zo(t,o){return 2===$o(t)?t.has(o):Object.prototype.hasOwnProperty.call(t,o)}function Go(t,o,e){var r=$o(t);2===r?t.set(o,e):3===r?t.add(e):t[o]=e}function Ho(t,o){return t===o?0!==t||1/t==1/o:t!=t&&o!=o}function qo(t){return Ne&&t instanceof Map}function Yo(t){return Se&&t instanceof Set}function Vo(t){return t.o||t.t}function Jo(t){if(Array.isArray(t))return Array.prototype.slice.call(t);var o=Le(t);delete o[Ue];for(var e=Ie(o),r=0;r<e.length;r++){var i=e[r],n=o[i];!1===n.writable&&(n.writable=!0,n.configurable=!0),(n.get||n.set)&&(o[i]={configurable:!0,writable:!0,enumerable:n.enumerable,value:t[i]})}return Object.create(Object.getPrototypeOf(t),o)}function Xo(t,o){return void 0===o&&(o=!1),te(t)||Bo(t)||!_o(t)||($o(t)>1&&(t.set=t.add=t.clear=t.delete=Qo),Object.freeze(t),o&&Do(t,(function(t,o){return Xo(o,!0)}),!0)),t}function Qo(){Fo(2)}function te(t){return null==t||"object"!=typeof t||Object.isFrozen(t)}function oe(t){var o=Ae[t];return o||Fo(18,t),o}function ee(){return Oe}function re(t,o){o&&(oe("Patches"),t.u=[],t.s=[],t.v=o)}function ie(t){ne(t),t.p.forEach(se),t.p=null}function ne(t){t===Oe&&(Oe=t.l)}function ae(t){return Oe={p:[],l:Oe,h:t,m:!0,_:0}}function se(t){var o=t[Ue];0===o.i||1===o.i?o.j():o.g=!0}function ce(t,o){o._=o.p.length;var e=o.p[0],r=void 0!==t&&t!==e;return o.h.O||oe("ES5").S(o,t,r),r?(e[Ue].P&&(ie(o),Fo(4)),_o(t)&&(t=le(o,t),o.l||he(o,t)),o.u&&oe("Patches").M(e[Ue].t,t,o.u,o.s)):t=le(o,e,[]),ie(o),o.u&&o.v(o.u,o.s),t!==Ce?t:void 0}function le(t,o,e){if(te(o))return o;var r=o[Ue];if(!r)return Do(o,(function(i,n){return fe(t,r,o,i,n,e)}),!0),o;if(r.A!==t)return o;if(!r.P)return he(t,r.t,!0),r.t;if(!r.I){r.I=!0,r.A._--;var i=4===r.i||5===r.i?r.o=Jo(r.k):r.o,n=i,a=!1;3===r.i&&(n=new Set(i),i.clear(),a=!0),Do(n,(function(o,n){return fe(t,r,i,o,n,e,a)})),he(t,i,!1),e&&t.u&&oe("Patches").N(r,e,t.u,t.s)}return r.o}function fe(t,o,e,r,i,n,a){if(Bo(i)){var s=le(t,i,n&&o&&3!==o.i&&!zo(o.R,r)?n.concat(r):void 0);if(Go(e,r,s),!Bo(s))return;t.m=!1}else a&&e.add(i);if(_o(i)&&!te(i)){if(!t.h.D&&t._<1)return;le(t,i),o&&o.A.l||he(t,i)}}function he(t,o,e){void 0===e&&(e=!1),!t.l&&t.h.D&&t.m&&Xo(o,e)}function ue(t,o){var e=t[Ue];return(e?Vo(e):t)[o]}function de(t,o){if(o in t)for(var e=Object.getPrototypeOf(t);e;){var r=Object.getOwnPropertyDescriptor(e,o);if(r)return r;e=Object.getPrototypeOf(e)}}function pe(t){t.P||(t.P=!0,t.l&&pe(t.l))}function ye(t){t.o||(t.o=Jo(t.t))}function be(t,o,e){var r=qo(o)?oe("MapSet").F(o,e):Yo(o)?oe("MapSet").T(o,e):t.O?function(t,o){var e=Array.isArray(t),r={i:e?1:0,A:o?o.A:ee(),P:!1,I:!1,R:{},l:o,t,k:null,o:null,j:null,C:!1},i=r,n=ke;e&&(i=[r],n=We);var a=Proxy.revocable(i,n),s=a.revoke,c=a.proxy;return r.k=c,r.j=s,c}(o,e):oe("ES5").J(o,e);return(e?e.A:ee()).p.push(r),r}function ge(t){return Bo(t)||Fo(22,t),function t(o){if(!_o(o))return o;var e,r=o[Ue],i=$o(o);if(r){if(!r.P&&(r.i<4||!oe("ES5").K(r)))return r.t;r.I=!0,e=me(o,i),r.I=!1}else e=me(o,i);return Do(e,(function(o,i){r&&function(t,o){return 2===$o(t)?t.get(o):t[o]}(r.t,o)===i||Go(e,o,t(i))})),3===i?new Set(e):e}(t)}function me(t,o){switch(o){case 2:return new Map(t);case 3:return Array.from(t)}return Jo(t)}Wo=jo,To=Mo,Ko=Po;var ve,Oe,we="undefined"!=typeof Symbol&&"symbol"==typeof Symbol("x"),Ne="undefined"!=typeof Map,Se="undefined"!=typeof Set,Ee="undefined"!=typeof Proxy&&void 0!==Proxy.revocable&&"undefined"!=typeof Reflect,Ce=we?Symbol.for("immer-nothing"):((ve={})["immer-nothing"]=!0,ve),Re=we?Symbol.for("immer-draftable"):"__$immer_draftable",Ue=we?Symbol.for("immer-state"):"__$immer_state",xe=""+Object.prototype.constructor,Ie="undefined"!=typeof Reflect&&Reflect.ownKeys?Reflect.ownKeys:void 0!==Object.getOwnPropertySymbols?function(t){return Object.getOwnPropertyNames(t).concat(Object.getOwnPropertySymbols(t))}:Object.getOwnPropertyNames,Le=Object.getOwnPropertyDescriptors||function(t){var o={};return Ie(t).forEach((function(e){o[e]=Object.getOwnPropertyDescriptor(t,e)})),o},Ae={},ke={get:function(t,o){if(o===Ue)return t;var e=Vo(t);if(!zo(e,o))return function(t,o,e){var r,i=de(o,e);return i?"value"in i?i.value:null===(r=i.get)||void 0===r?void 0:r.call(t.k):void 0}(t,e,o);var r=e[o];return t.I||!_o(r)?r:r===ue(t.t,o)?(ye(t),t.o[o]=be(t.A.h,r,t)):r},has:function(t,o){return o in Vo(t)},ownKeys:function(t){return Reflect.ownKeys(Vo(t))},set:function(t,o,e){var r=de(Vo(t),o);if(null==r?void 0:r.set)return r.set.call(t.k,e),!0;if(!t.P){var i=ue(Vo(t),o),n=null==i?void 0:i[Ue];if(n&&n.t===e)return t.o[o]=e,t.R[o]=!1,!0;if(Ho(e,i)&&(void 0!==e||zo(t.t,o)))return!0;ye(t),pe(t)}return t.o[o]===e&&(void 0!==e||o in t.o)||Number.isNaN(e)&&Number.isNaN(t.o[o])||(t.o[o]=e,t.R[o]=!0),!0},deleteProperty:function(t,o){return void 0!==ue(t.t,o)||o in t.t?(t.R[o]=!1,ye(t),pe(t)):delete t.R[o],t.o&&delete t.o[o],!0},getOwnPropertyDescriptor:function(t,o){var e=Vo(t),r=Reflect.getOwnPropertyDescriptor(e,o);return r?{writable:!0,configurable:1!==t.i||"length"!==o,enumerable:r.enumerable,value:e[o]}:r},defineProperty:function(){Fo(11)},getPrototypeOf:function(t){return Object.getPrototypeOf(t.t)},setPrototypeOf:function(){Fo(12)}},We={};Do(ke,(function(t,o){We[t]=function(){return arguments[0]=arguments[0][0],o.apply(this,arguments)}})),We.deleteProperty=function(t,o){return We.set.call(this,t,o,void 0)},We.set=function(t,o,e){return ke.set.call(this,t[0],o,e,t[0])};var Te=function(){function t(t){var o=this;this.O=Ee,this.D=!0,this.produce=function(t,e,r){if("function"==typeof t&&"function"!=typeof e){var i=e;e=t;var n=o;return function(t){var o=this;void 0===t&&(t=i);for(var r=arguments.length,a=Array(r>1?r-1:0),s=1;s<r;s++)a[s-1]=arguments[s];return n.produce(t,(function(t){var r;return(r=e).call.apply(r,[o,t].concat(a))}))}}var a;if("function"!=typeof e&&Fo(6),void 0!==r&&"function"!=typeof r&&Fo(7),_o(t)){var s=ae(o),c=be(o,t,void 0),l=!0;try{a=e(c),l=!1}finally{l?ie(s):ne(s)}return"undefined"!=typeof Promise&&a instanceof Promise?a.then((function(t){return re(s,r),ce(t,s)}),(function(t){throw ie(s),t})):(re(s,r),ce(a,s))}if(!t||"object"!=typeof t){if(void 0===(a=e(t))&&(a=t),a===Ce&&(a=void 0),o.D&&Xo(a,!0),r){var f=[],h=[];oe("Patches").M(t,a,f,h),r(f,h)}return a}Fo(21,t)},this.produceWithPatches=function(t,e){if("function"==typeof t)return function(e){for(var r=arguments.length,i=Array(r>1?r-1:0),n=1;n<r;n++)i[n-1]=arguments[n];return o.produceWithPatches(e,(function(o){return t.apply(void 0,[o].concat(i))}))};var r,i,n=o.produce(t,e,(function(t,o){r=t,i=o}));return"undefined"!=typeof Promise&&n instanceof Promise?n.then((function(t){return[t,r,i]})):[n,r,i]},"boolean"==typeof(null==t?void 0:t.useProxies)&&this.setUseProxies(t.useProxies),"boolean"==typeof(null==t?void 0:t.autoFreeze)&&this.setAutoFreeze(t.autoFreeze)}var o=t.prototype;return o.createDraft=function(t){_o(t)||Fo(8),Bo(t)&&(t=ge(t));var o=ae(this),e=be(this,t,void 0);return e[Ue].C=!0,ne(o),e},o.finishDraft=function(t,o){var e=(t&&t[Ue]).A;return re(e,o),ce(void 0,e)},o.setAutoFreeze=function(t){this.D=t},o.setUseProxies=function(t){t&&!Ee&&Fo(20),this.O=t},o.applyPatches=function(t,o){var e;for(e=o.length-1;e>=0;e--){var r=o[e];if(0===r.path.length&&"replace"===r.op){t=r.value;break}}e>-1&&(o=o.slice(e+1));var i=oe("Patches").$;return Bo(t)?i(t,o):this.produce(t,(function(t){return i(t,o)}))},t}(),Ke=new Te,Pe=Ke.produce;function je(t){return je="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},je(t)}function Me(t){var o=function(t,o){if("object"!==je(t)||null===t)return t;var e=t[Symbol.toPrimitive];if(void 0!==e){var r=e.call(t,o||"default");if("object"!==je(r))return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===o?String:Number)(t)}(t,"string");return"symbol"===je(o)?o:String(o)}function Ze(t,o,e){return(o=Me(o))in t?Object.defineProperty(t,o,{value:e,enumerable:!0,configurable:!0,writable:!0}):t[o]=e,t}function Fe(t,o){var e=Object.keys(t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(t);o&&(r=r.filter((function(o){return Object.getOwnPropertyDescriptor(t,o).enumerable}))),e.push.apply(e,r)}return e}function Be(t){for(var o=1;o<arguments.length;o++){var e=null!=arguments[o]?arguments[o]:{};o%2?Fe(Object(e),!0).forEach((function(o){Ze(t,o,e[o])})):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(e)):Fe(Object(e)).forEach((function(o){Object.defineProperty(t,o,Object.getOwnPropertyDescriptor(e,o))}))}return t}function _e(t){return"Minified Redux error #"+t+"; visit https://redux.js.org/Errors?code="+t+" for the full message or use the non-minified dev environment for full errors. "}Ke.produceWithPatches.bind(Ke),Ke.setAutoFreeze.bind(Ke),Ke.setUseProxies.bind(Ke),Ke.applyPatches.bind(Ke),Ke.createDraft.bind(Ke),Ke.finishDraft.bind(Ke);var De="function"==typeof Symbol&&Symbol.observable||"@@observable",$e=function(){return Math.random().toString(36).substring(7).split("").join(".")},ze={INIT:"@@redux/INIT"+$e(),REPLACE:"@@redux/REPLACE"+$e(),PROBE_UNKNOWN_ACTION:function(){return"@@redux/PROBE_UNKNOWN_ACTION"+$e()}};function Ge(t,o,e){var r;if("function"==typeof o&&"function"==typeof e||"function"==typeof e&&"function"==typeof arguments[3])throw new Error(_e(0));if("function"==typeof o&&void 0===e&&(e=o,o=void 0),void 0!==e){if("function"!=typeof e)throw new Error(_e(1));return e(Ge)(t,o)}if("function"!=typeof t)throw new Error(_e(2));var i=t,n=o,a=[],s=a,c=!1;function l(){s===a&&(s=a.slice())}function f(){if(c)throw new Error(_e(3));return n}function h(t){if("function"!=typeof t)throw new Error(_e(4));if(c)throw new Error(_e(5));var o=!0;return l(),s.push(t),function(){if(o){if(c)throw new Error(_e(6));o=!1,l();var e=s.indexOf(t);s.splice(e,1),a=null}}}function u(t){if(!function(t){if("object"!=typeof t||null===t)return!1;for(var o=t;null!==Object.getPrototypeOf(o);)o=Object.getPrototypeOf(o);return Object.getPrototypeOf(t)===o}(t))throw new Error(_e(7));if(void 0===t.type)throw new Error(_e(8));if(c)throw new Error(_e(9));try{c=!0,n=i(n,t)}finally{c=!1}for(var o=a=s,e=0;e<o.length;e++){(0,o[e])()}return t}return u({type:ze.INIT}),(r={dispatch:u,subscribe:h,getState:f,replaceReducer:function(t){if("function"!=typeof t)throw new Error(_e(10));i=t,u({type:ze.REPLACE})}})[De]=function(){var t,o=h;return(t={subscribe:function(t){if("object"!=typeof t||null===t)throw new Error(_e(11));function e(){t.next&&t.next(f())}return e(),{unsubscribe:o(e)}}})[De]=function(){return this},t},r}function He(t){for(var o=Object.keys(t),e={},r=0;r<o.length;r++){var i=o[r];"function"==typeof t[i]&&(e[i]=t[i])}var n,a=Object.keys(e);try{!function(t){Object.keys(t).forEach((function(o){var e=t[o];if(void 0===e(void 0,{type:ze.INIT}))throw new Error(_e(12));if(void 0===e(void 0,{type:ze.PROBE_UNKNOWN_ACTION()}))throw new Error(_e(13))}))}(e)}catch(t){n=t}return function(t,o){if(void 0===t&&(t={}),n)throw n;for(var r=!1,i={},s=0;s<a.length;s++){var c=a[s],l=e[c],f=t[c],h=l(f,o);if(void 0===h)throw o&&o.type,new Error(_e(14));i[c]=h,r=r||h!==f}return(r=r||a.length!==Object.keys(t).length)?i:t}}function qe(){for(var t=arguments.length,o=new Array(t),e=0;e<t;e++)o[e]=arguments[e];return 0===o.length?function(t){return t}:1===o.length?o[0]:o.reduce((function(t,o){return function(){return t(o.apply(void 0,arguments))}}))}function Ye(){for(var t=arguments.length,o=new Array(t),e=0;e<t;e++)o[e]=arguments[e];return function(t){return function(){var e=t.apply(void 0,arguments),r=function(){throw new Error(_e(15))},i={getState:e.getState,dispatch:function(){return r.apply(void 0,arguments)}},n=o.map((function(t){return t(i)}));return r=qe.apply(void 0,n)(e.dispatch),Be(Be({},e),{},{dispatch:r})}}}function Ve(t){return function(o){var e=o.dispatch,r=o.getState;return function(o){return function(i){return"function"==typeof i?i(e,r,t):o(i)}}}}var Je=Ve();Je.withExtraArgument=Ve;var Xe,Qe=Je,tr=(Xe=function(t,o){return Xe=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,o){t.__proto__=o}||function(t,o){for(var e in o)Object.prototype.hasOwnProperty.call(o,e)&&(t[e]=o[e])},Xe(t,o)},function(t,o){if("function"!=typeof o&&null!==o)throw new TypeError("Class extends value "+String(o)+" is not a constructor or null");function e(){this.constructor=t}Xe(t,o),t.prototype=null===o?Object.create(o):(e.prototype=o.prototype,new e)}),or=function(t,o){var e,r,i,n,a={label:0,sent:function(){if(1&i[0])throw i[1];return i[1]},trys:[],ops:[]};return n={next:s(0),throw:s(1),return:s(2)},"function"==typeof Symbol&&(n[Symbol.iterator]=function(){return this}),n;function s(n){return function(s){return function(n){if(e)throw new TypeError("Generator is already executing.");for(;a;)try{if(e=1,r&&(i=2&n[0]?r.return:n[0]?r.throw||((i=r.return)&&i.call(r),0):r.next)&&!(i=i.call(r,n[1])).done)return i;switch(r=0,i&&(n=[2&n[0],i.value]),n[0]){case 0:case 1:i=n;break;case 4:return a.label++,{value:n[1],done:!1};case 5:a.label++,r=n[1],n=[0];continue;case 7:n=a.ops.pop(),a.trys.pop();continue;default:if(!(i=a.trys,(i=i.length>0&&i[i.length-1])||6!==n[0]&&2!==n[0])){a=0;continue}if(3===n[0]&&(!i||n[1]>i[0]&&n[1]<i[3])){a.label=n[1];break}if(6===n[0]&&a.label<i[1]){a.label=i[1],i=n;break}if(i&&a.label<i[2]){a.label=i[2],a.ops.push(n);break}i[2]&&a.ops.pop(),a.trys.pop();continue}n=o.call(t,a)}catch(t){n=[6,t],r=0}finally{e=i=0}if(5&n[0])throw n[1];return{value:n[0]?n[1]:void 0,done:!0}}([n,s])}}},er=function(t,o){for(var e=0,r=o.length,i=t.length;e<r;e++,i++)t[i]=o[e];return t},rr=Object.defineProperty,ir=Object.defineProperties,nr=Object.getOwnPropertyDescriptors,ar=Object.getOwnPropertySymbols,sr=Object.prototype.hasOwnProperty,cr=Object.prototype.propertyIsEnumerable,lr=function(t,o,e){return o in t?rr(t,o,{enumerable:!0,configurable:!0,writable:!0,value:e}):t[o]=e},fr=function(t,o){for(var e in o||(o={}))sr.call(o,e)&&lr(t,e,o[e]);if(ar)for(var r=0,i=ar(o);r<i.length;r++){e=i[r];cr.call(o,e)&&lr(t,e,o[e])}return t},hr=function(t,o){return ir(t,nr(o))},ur="undefined"!=typeof window&&window.__REDUX_DEVTOOLS_EXTENSION_COMPOSE__?window.__REDUX_DEVTOOLS_EXTENSION_COMPOSE__:function(){if(0!==arguments.length)return"object"==typeof arguments[0]?qe:qe.apply(null,arguments)};var dr=function(t){function o(){for(var e=[],r=0;r<arguments.length;r++)e[r]=arguments[r];var i=t.apply(this,e)||this;return Object.setPrototypeOf(i,o.prototype),i}return tr(o,t),Object.defineProperty(o,Symbol.species,{get:function(){return o},enumerable:!1,configurable:!0}),o.prototype.concat=function(){for(var o=[],e=0;e<arguments.length;e++)o[e]=arguments[e];return t.prototype.concat.apply(this,o)},o.prototype.prepend=function(){for(var t=[],e=0;e<arguments.length;e++)t[e]=arguments[e];return 1===t.length&&Array.isArray(t[0])?new(o.bind.apply(o,er([void 0],t[0].concat(this)))):new(o.bind.apply(o,er([void 0],t.concat(this))))},o}(Array),pr=function(t){function o(){for(var e=[],r=0;r<arguments.length;r++)e[r]=arguments[r];var i=t.apply(this,e)||this;return Object.setPrototypeOf(i,o.prototype),i}return tr(o,t),Object.defineProperty(o,Symbol.species,{get:function(){return o},enumerable:!1,configurable:!0}),o.prototype.concat=function(){for(var o=[],e=0;e<arguments.length;e++)o[e]=arguments[e];return t.prototype.concat.apply(this,o)},o.prototype.prepend=function(){for(var t=[],e=0;e<arguments.length;e++)t[e]=arguments[e];return 1===t.length&&Array.isArray(t[0])?new(o.bind.apply(o,er([void 0],t[0].concat(this)))):new(o.bind.apply(o,er([void 0],t.concat(this))))},o}(Array);function yr(t){return _o(t)?Pe(t,(function(){})):t}function br(){return function(t){return function(t){void 0===t&&(t={});var o=t.thunk,e=void 0===o||o;t.immutableCheck,t.serializableCheck;var r=new dr;e&&(!function(t){return"boolean"==typeof t}(e)?r.push(Qe.withExtraArgument(e.extraArgument)):r.push(Qe));return r}(t)}}function gr(t){var o,e=br(),r=t||{},i=r.reducer,n=void 0===i?void 0:i,a=r.middleware,s=void 0===a?e():a,c=r.devTools,l=void 0===c||c,f=r.preloadedState,h=void 0===f?void 0:f,u=r.enhancers,d=void 0===u?void 0:u;if("function"==typeof n)o=n;else{if(!function(t){if("object"!=typeof t||null===t)return!1;var o=Object.getPrototypeOf(t);if(null===o)return!0;for(var e=o;null!==Object.getPrototypeOf(e);)e=Object.getPrototypeOf(e);return o===e}(n))throw new Error('"reducer" is a required argument, and must be a function or an object of functions that can be passed to combineReducers');o=He(n)}var p=s;"function"==typeof p&&(p=p(e));var y=Ye.apply(void 0,p),b=qe;l&&(b=ur(fr({trace:!1},"object"==typeof l&&l)));var g=new pr(y),m=g;return Array.isArray(d)?m=er([y],d):"function"==typeof d&&(m=d(g)),Ge(o,h,b.apply(void 0,m))}function mr(t,o){function e(){for(var e=[],r=0;r<arguments.length;r++)e[r]=arguments[r];if(o){var i=o.apply(void 0,e);if(!i)throw new Error("prepareAction did not return an object");return fr(fr({type:t,payload:i.payload},"meta"in i&&{meta:i.meta}),"error"in i&&{error:i.error})}return{type:t,payload:e[0]}}return e.toString=function(){return""+t},e.type=t,e.match=function(o){return o.type===t},e}function vr(t){var o,e={},r=[],i={addCase:function(t,o){var r="string"==typeof t?t:t.type;if(r in e)throw new Error("addCase cannot be called with two reducers for the same action type");return e[r]=o,i},addMatcher:function(t,o){return r.push({matcher:t,reducer:o}),i},addDefaultCase:function(t){return o=t,i}};return t(i),[e,r,o]}function Or(t){var o=t.name;if(!o)throw new Error("`name` is a required option for createSlice");var e,r="function"==typeof t.initialState?t.initialState:yr(t.initialState),i=t.reducers||{},n=Object.keys(i),a={},s={},c={};function l(){var o="function"==typeof t.extraReducers?vr(t.extraReducers):[t.extraReducers],e=o[0],i=void 0===e?{}:e,n=o[1],a=void 0===n?[]:n,c=o[2],l=void 0===c?void 0:c,f=fr(fr({},i),s);return function(t,o,e,r){void 0===e&&(e=[]);var i,n="function"==typeof o?vr(o):[o,e,r],a=n[0],s=n[1],c=n[2];if(function(t){return"function"==typeof t}(t))i=function(){return yr(t())};else{var l=yr(t);i=function(){return l}}function f(t,o){void 0===t&&(t=i());var e=er([a[o.type]],s.filter((function(t){return(0,t.matcher)(o)})).map((function(t){return t.reducer})));return 0===e.filter((function(t){return!!t})).length&&(e=[c]),e.reduce((function(t,e){if(e){var r;if(Bo(t))return void 0===(r=e(t,o))?t:r;if(_o(t))return Pe(t,(function(t){return e(t,o)}));if(void 0===(r=e(t,o))){if(null===t)return t;throw Error("A case reducer on a non-draftable value must not return undefined")}return r}return t}),t)}return f.getInitialState=i,f}(r,(function(t){for(var o in f)t.addCase(o,f[o]);for(var e=0,r=a;e<r.length;e++){var i=r[e];t.addMatcher(i.matcher,i.reducer)}l&&t.addDefaultCase(l)}))}return n.forEach((function(t){var e,r,n=i[t],l=o+"/"+t;"reducer"in n?(e=n.reducer,r=n.prepare):e=n,a[t]=e,s[l]=e,c[t]=r?mr(l,r):mr(l)})),{name:o,reducer:function(t,o){return e||(e=l()),e(t,o)},actions:c,caseReducers:a,getInitialState:function(){return e||(e=l()),e.getInitialState()}}}var wr=["name","message","stack","code"],Nr=function(t,o){this.payload=t,this.meta=o},Sr=function(t,o){this.payload=t,this.meta=o},Er=function(t){if("object"==typeof t&&null!==t){for(var o={},e=0,r=wr;e<r.length;e++){var i=r[e];"string"==typeof t[i]&&(o[i]=t[i])}return o}return{message:String(t)}};function Cr(t){if(t.meta&&t.meta.rejectedWithValue)throw t.payload;if(t.error)throw t.error;return t.payload}!function(){function t(t,o,e){var r=mr(t+"/fulfilled",(function(t,o,e,r){return{payload:t,meta:hr(fr({},r||{}),{arg:e,requestId:o,requestStatus:"fulfilled"})}})),i=mr(t+"/pending",(function(t,o,e){return{payload:void 0,meta:hr(fr({},e||{}),{arg:o,requestId:t,requestStatus:"pending"})}})),n=mr(t+"/rejected",(function(t,o,r,i,n){return{payload:i,error:(e&&e.serializeError||Er)(t||"Rejected"),meta:hr(fr({},n||{}),{arg:r,requestId:o,rejectedWithValue:!!i,requestStatus:"rejected",aborted:"AbortError"===(null==t?void 0:t.name),condition:"ConditionError"===(null==t?void 0:t.name)})}})),a="undefined"!=typeof AbortController?AbortController:function(){function t(){this.signal={aborted:!1,addEventListener:function(){},dispatchEvent:function(){return!1},onabort:function(){},removeEventListener:function(){},reason:void 0,throwIfAborted:function(){}}}return t.prototype.abort=function(){},t}();return Object.assign((function(t){return function(s,c,l){var f,h=(null==e?void 0:e.idGenerator)?e.idGenerator(t):function(t){void 0===t&&(t=21);for(var o="",e=t;e--;)o+="ModuleSymbhasOwnPr-0123456789ABCDEFGHNRVfgctiUvz_KqYTJkLxpZXIjQW"[64*Math.random()|0];return o}(),u=new a;function d(t){f=t,u.abort()}var p=function(){return a=this,p=null,y=function(){var a,p,y,b,g,m;return or(this,(function(v){switch(v.label){case 0:return v.trys.push([0,4,,5]),b=null==(a=null==e?void 0:e.condition)?void 0:a.call(e,t,{getState:c,extra:l}),null===(O=b)||"object"!=typeof O||"function"!=typeof O.then?[3,2]:[4,b];case 1:b=v.sent(),v.label=2;case 2:if(!1===b||u.signal.aborted)throw{name:"ConditionError",message:"Aborted due to condition callback returning false."};return g=new Promise((function(t,o){return u.signal.addEventListener("abort",(function(){return o({name:"AbortError",message:f||"Aborted"})}))})),s(i(h,t,null==(p=null==e?void 0:e.getPendingMeta)?void 0:p.call(e,{requestId:h,arg:t},{getState:c,extra:l}))),[4,Promise.race([g,Promise.resolve(o(t,{dispatch:s,getState:c,extra:l,requestId:h,signal:u.signal,abort:d,rejectWithValue:function(t,o){return new Nr(t,o)},fulfillWithValue:function(t,o){return new Sr(t,o)}})).then((function(o){if(o instanceof Nr)throw o;return o instanceof Sr?r(o.payload,h,t,o.meta):r(o,h,t)}))])];case 3:return y=v.sent(),[3,5];case 4:return m=v.sent(),y=m instanceof Nr?n(null,h,t,m.payload,m.meta):n(m,h,t),[3,5];case 5:return e&&!e.dispatchConditionRejection&&n.match(y)&&y.meta.condition||s(y),[2,y]}var O}))},new Promise((function(t,o){var e=function(t){try{i(y.next(t))}catch(t){o(t)}},r=function(t){try{i(y.throw(t))}catch(t){o(t)}},i=function(o){return o.done?t(o.value):Promise.resolve(o.value).then(e,r)};i((y=y.apply(a,p)).next())}));var a,p,y}();return Object.assign(p,{abort:d,requestId:h,arg:t,unwrap:function(){return p.then(Cr)}})}}),{pending:i,rejected:n,fulfilled:r,typePrefix:t})}t.withTypes=function(){return t}}();var Rr="listenerMiddleware";mr(Rr+"/add"),mr(Rr+"/removeAll"),mr(Rr+"/remove"),"function"==typeof queueMicrotask&&queueMicrotask.bind("undefined"!=typeof window?window:"undefined"!=typeof global?global:globalThis),function(){function t(t,o){var e=i[t];return e?e.enumerable=o:i[t]=e={configurable:!0,enumerable:o,get:function(){var o=this[Ue];return ke.get(o,t)},set:function(o){var e=this[Ue];ke.set(e,t,o)}},e}function o(t){for(var o=t.length-1;o>=0;o--){var i=t[o][Ue];if(!i.P)switch(i.i){case 5:r(i)&&pe(i);break;case 4:e(i)&&pe(i)}}}function e(t){for(var o=t.t,e=t.k,r=Ie(e),i=r.length-1;i>=0;i--){var n=r[i];if(n!==Ue){var a=o[n];if(void 0===a&&!zo(o,n))return!0;var s=e[n],c=s&&s[Ue];if(c?c.t!==a:!Ho(s,a))return!0}}var l=!!o[Ue];return r.length!==Ie(o).length+(l?0:1)}function r(t){var o=t.k;if(o.length!==t.t.length)return!0;var e=Object.getOwnPropertyDescriptor(o,o.length-1);if(e&&!e.get)return!0;for(var r=0;r<o.length;r++)if(!o.hasOwnProperty(r))return!0;return!1}var i={};!function(t,o){Ae[t]||(Ae[t]=o)}("ES5",{J:function(o,e){var r=Array.isArray(o),i=function(o,e){if(o){for(var r=Array(e.length),i=0;i<e.length;i++)Object.defineProperty(r,""+i,t(i,!0));return r}var n=Le(e);delete n[Ue];for(var a=Ie(n),s=0;s<a.length;s++){var c=a[s];n[c]=t(c,o||!!n[c].enumerable)}return Object.create(Object.getPrototypeOf(e),n)}(r,o),n={i:r?5:4,A:e?e.A:ee(),P:!1,I:!1,R:{},l:e,t:o,k:i,o:null,g:!1,C:!1};return Object.defineProperty(i,Ue,{value:n,writable:!0}),i},S:function(t,e,i){i?Bo(e)&&e[Ue].A===t&&o(t.p):(t.u&&function t(o){if(o&&"object"==typeof o){var e=o[Ue];if(e){var i=e.t,n=e.k,a=e.R,s=e.i;if(4===s)Do(n,(function(o){o!==Ue&&(void 0!==i[o]||zo(i,o)?a[o]||t(n[o]):(a[o]=!0,pe(e)))})),Do(i,(function(t){void 0!==n[t]||zo(n,t)||(a[t]=!1,pe(e))}));else if(5===s){if(r(e)&&(pe(e),a.length=!0),n.length<i.length)for(var c=n.length;c<i.length;c++)a[c]=!1;else for(var l=i.length;l<n.length;l++)a[l]=!0;for(var f=Math.min(n.length,i.length),h=0;h<f;h++)n.hasOwnProperty(h)||(a[h]=!0),void 0===a[h]&&t(n[h])}}}}(t.p[0]),o(t.p))},K:function(t){return 4===t.i?e(t):r(t)}})}(),window.ftReduxStores||(window.ftReduxStores={});class Ur{static get(t){var o;const e="string"==typeof t?t:t.name,r="string"==typeof t?void 0:t,i=window.ftReduxStores[e];if(ko(i))return i;if(null==r)return;const n=Or({...r,reducers:null!==(o=r.reducers)&&void 0!==o?o:{}}),a=gr({reducer:(t,o)=>{var e;switch(o.type){case"CLEAR_FT_REDUX_STORE":return n.getInitialState();case"DEFAULT_STATE_FIELDS_VALUES_SETTER":return{...t,...null!==(e=o.overwrites)&&void 0!==e?e:{}};default:return n.reducer(t,o)}}});return window.ftReduxStores[r.name]=new Ur(n,a)}constructor(t,o){this.reduxSlice=t,this.reduxStore=o,this.isFtReduxStore=!0,this.eventBus=document.createElement("event-bus"),this.actions=new Proxy(this.reduxSlice.actions,{get:(t,o,e)=>{const r=o,i=t[r];return i?(...t)=>{const o=i(...t);return this.reduxStore.dispatch(o),o}:t=>{this.setState({[r]:t})}}})}clear(){this.reduxStore.dispatch({type:"CLEAR_FT_REDUX_STORE"})}setState(t){this.reduxStore.dispatch({type:"DEFAULT_STATE_FIELDS_VALUES_SETTER",overwrites:t})}get dispatch(){throw new Error("Don't use this method, actions are automatically dispatched when called.")}[Symbol.observable](){return this.reduxStore[Symbol.observable]()}getState(){return this.reduxStore.getState()}replaceReducer(t){throw new Error("Not implemented yet.")}subscribe(t){return this.reduxStore.subscribe(t)}get name(){return this.reduxSlice.name}get reducer(){return this.reduxSlice.reducer}get caseReducers(){return this.reduxSlice.caseReducers}getInitialState(){return this.reduxSlice.getInitialState()}}const xr=t=>{const o=null!=t?t:{};return(t,e)=>{var r;const i={hasChanged:(t,o)=>!L(t,o),attribute:!1,...o};x(i)(t,e);const n=t;n.reduxProperties=n.reduxProperties||new Map,n.reduxProperties.set(e,{selector:null!==(r=o.selector)&&void 0!==r?r:t=>t[e],store:o.store})}};var Ir,Lr;navigator.vendor&&navigator.vendor.match(/apple/i)||(null===(Lr=null===(Ir=window.safari)||void 0===Ir?void 0:Ir.pushNotification)||void 0===Lr||Lr.toString());class Ar{constructor(t){this.paginatedToc=t,this.nodeByTocId={},this.knownPrettyUrls=new Set,this.duplicatedPrettyUrls=new Set,this.pages=[],this.pageByTocId={}}build(){return{paginationConfiguration:this.paginatedToc.configuration,toc:this.convertNodes(this.paginatedToc.paginatedToc,1),pagesToc:this.extractPagesToc(this.paginatedToc.paginatedToc,1),nodeByTocId:this.nodeByTocId,duplicatedPrettyUrls:this.duplicatedPrettyUrls,pages:this.pages,pageByTocId:this.pageByTocId}}extractPagesToc(t,o,e){return t.flatMap((t=>(t.pageConfiguration&&this.registerPage(this.buildPage(t,e)),null==t.tocId?this.extractPagesToc(t.children,o,e):[{tocId:t.tocId,title:t.title,depth:o,children:this.extractPagesToc(t.children,o+1,t.tocId)}])))}convertNodes(t,o,e){return t.flatMap((t=>{var r,i,n;if(null==t.tocId)return[...this.convertSectionNodes(null!==(r=t.pageToc)&&void 0!==r?r:[],o,t.tocId),...this.convertNodes(t.children,o,t.tocId)];let a=null===(i=t.prettyUrl)||void 0===i?void 0:i.replace(/^\//,"");const s={tocId:t.tocId,contentId:t.contentId,title:t.title,hasRating:t.hasRating,origin:t.origin,prettyUrl:a,depth:o,parentTocId:e,children:[]};this.register(s);const c=this.convertSectionNodes(null!==(n=t.pageToc)&&void 0!==n?n:[],o+1,t.tocId),l=this.convertNodes(t.children,o+1,s.tocId);return s.children=[...c,...l],[s]}))}convertSectionNodes(t,o,e){return t.flatMap((t=>{var r;let i=null===(r=t.prettyUrl)||void 0===r?void 0:r.replace(/^\//,"");const n={...t,prettyUrl:i,depth:o,parentTocId:e,children:[]};return this.register(n),n.children=this.convertSectionNodes(t.children,o+1,t.tocId),[n]}))}buildPage(t,o){var e,r,i,n,a,s;const c={number:this.pages.length+1,title:null!==(e=t.title)&&void 0!==e?e:"",rootTocId:null!==(r=t.tocId)&&void 0!==r?r:"root",toc:(null!==(i=t.pageToc)&&void 0!==i?i:[]).map((t=>this.nodeByTocId[t.tocId])),topics:[],hiddenTopics:[],breadcrumb:o?this.buildBreadcrumb(this.nodeByTocId[o]):[]},l=(t,o)=>(o?c.topics:c.hiddenTopics).push(t),f=null!==(a=null===(n=t.pageConfiguration)||void 0===n?void 0:n.parentsVisibility)&&void 0!==a?a:[];return c.breadcrumb.forEach(((t,o)=>{l(t,f[o])})),t.tocId&&l(t.tocId,t.pageConfiguration.isVisible),c.topics.push(...this.tocIds(null!==(s=t.pageToc)&&void 0!==s?s:[])),c}registerPage(t){for(let o of[...t.topics,...t.hiddenTopics])this.pageByTocId[o]||(this.pageByTocId[o]=t);this.pages.push(t)}tocIds(t){return t.flatMap((t=>[t.tocId,...this.tocIds(t.children)]))}buildBreadcrumb(t){const o=[t.tocId];for(;null==t?void 0:t.parentTocId;)o.unshift(t.parentTocId),t=this.nodeByTocId[t.parentTocId];return o}register(t){t.prettyUrl&&(this.knownPrettyUrls.has(t.prettyUrl)&&this.duplicatedPrettyUrls.add(t.prettyUrl),this.knownPrettyUrls.add(t.prettyUrl)),this.nodeByTocId[t.tocId]=t}}class kr{convertPaginatedToc(t){return new Ar(t).build()}}var Wr,Tr,Kr,Pr,jr,Mr,Zr,Fr,Br,_r,Dr,$r,zr,Gr;!function(t){!function(o){var e={searchParams:"URLSearchParams"in t,iterable:"Symbol"in t&&"iterator"in Symbol,blob:"FileReader"in t&&"Blob"in t&&function(){try{return new Blob,!0}catch(t){return!1}}(),formData:"FormData"in t,arrayBuffer:"ArrayBuffer"in t};if(e.arrayBuffer)var r=["[object Int8Array]","[object Uint8Array]","[object Uint8ClampedArray]","[object Int16Array]","[object Uint16Array]","[object Int32Array]","[object Uint32Array]","[object Float32Array]","[object Float64Array]"],i=ArrayBuffer.isView||function(t){return t&&r.indexOf(Object.prototype.toString.call(t))>-1};function n(t){if("string"!=typeof t&&(t=String(t)),/[^a-z0-9\-#$%&'*+.^_`|~]/i.test(t))throw new TypeError("Invalid character in header field name");return t.toLowerCase()}function a(t){return"string"!=typeof t&&(t=String(t)),t}function s(t){var o={next:function(){var o=t.shift();return{done:void 0===o,value:o}}};return e.iterable&&(o[Symbol.iterator]=function(){return o}),o}function c(t){this.map={},t instanceof c?t.forEach((function(t,o){this.append(o,t)}),this):Array.isArray(t)?t.forEach((function(t){this.append(t[0],t[1])}),this):t&&Object.getOwnPropertyNames(t).forEach((function(o){this.append(o,t[o])}),this)}function l(t){if(t.bodyUsed)return Promise.reject(new TypeError("Already read"));t.bodyUsed=!0}function f(t){return new Promise((function(o,e){t.onload=function(){o(t.result)},t.onerror=function(){e(t.error)}}))}function h(t){var o=new FileReader,e=f(o);return o.readAsArrayBuffer(t),e}function u(t){if(t.slice)return t.slice(0);var o=new Uint8Array(t.byteLength);return o.set(new Uint8Array(t)),o.buffer}function d(){return this.bodyUsed=!1,this._initBody=function(t){var o;this._bodyInit=t,t?"string"==typeof t?this._bodyText=t:e.blob&&Blob.prototype.isPrototypeOf(t)?this._bodyBlob=t:e.formData&&FormData.prototype.isPrototypeOf(t)?this._bodyFormData=t:e.searchParams&&URLSearchParams.prototype.isPrototypeOf(t)?this._bodyText=t.toString():e.arrayBuffer&&e.blob&&((o=t)&&DataView.prototype.isPrototypeOf(o))?(this._bodyArrayBuffer=u(t.buffer),this._bodyInit=new Blob([this._bodyArrayBuffer])):e.arrayBuffer&&(ArrayBuffer.prototype.isPrototypeOf(t)||i(t))?this._bodyArrayBuffer=u(t):this._bodyText=t=Object.prototype.toString.call(t):this._bodyText="",this.headers.get("content-type")||("string"==typeof t?this.headers.set("content-type","text/plain;charset=UTF-8"):this._bodyBlob&&this._bodyBlob.type?this.headers.set("content-type",this._bodyBlob.type):e.searchParams&&URLSearchParams.prototype.isPrototypeOf(t)&&this.headers.set("content-type","application/x-www-form-urlencoded;charset=UTF-8"))},e.blob&&(this.blob=function(){var t=l(this);if(t)return t;if(this._bodyBlob)return Promise.resolve(this._bodyBlob);if(this._bodyArrayBuffer)return Promise.resolve(new Blob([this._bodyArrayBuffer]));if(this._bodyFormData)throw new Error("could not read FormData body as blob");return Promise.resolve(new Blob([this._bodyText]))},this.arrayBuffer=function(){return this._bodyArrayBuffer?l(this)||Promise.resolve(this._bodyArrayBuffer):this.blob().then(h)}),this.text=function(){var t=l(this);if(t)return t;if(this._bodyBlob)return function(t){var o=new FileReader,e=f(o);return o.readAsText(t),e}(this._bodyBlob);if(this._bodyArrayBuffer)return Promise.resolve(function(t){for(var o=new Uint8Array(t),e=new Array(o.length),r=0;r<o.length;r++)e[r]=String.fromCharCode(o[r]);return e.join("")}(this._bodyArrayBuffer));if(this._bodyFormData)throw new Error("could not read FormData body as text");return Promise.resolve(this._bodyText)},e.formData&&(this.formData=function(){return this.text().then(b)}),this.json=function(){return this.text().then(JSON.parse)},this}c.prototype.append=function(t,o){t=n(t),o=a(o);var e=this.map[t];this.map[t]=e?e+", "+o:o},c.prototype.delete=function(t){delete this.map[n(t)]},c.prototype.get=function(t){return t=n(t),this.has(t)?this.map[t]:null},c.prototype.has=function(t){return this.map.hasOwnProperty(n(t))},c.prototype.set=function(t,o){this.map[n(t)]=a(o)},c.prototype.forEach=function(t,o){for(var e in this.map)this.map.hasOwnProperty(e)&&t.call(o,this.map[e],e,this)},c.prototype.keys=function(){var t=[];return this.forEach((function(o,e){t.push(e)})),s(t)},c.prototype.values=function(){var t=[];return this.forEach((function(o){t.push(o)})),s(t)},c.prototype.entries=function(){var t=[];return this.forEach((function(o,e){t.push([e,o])})),s(t)},e.iterable&&(c.prototype[Symbol.iterator]=c.prototype.entries);var p=["DELETE","GET","HEAD","OPTIONS","POST","PUT"];function y(t,o){var e,r,i=(o=o||{}).body;if(t instanceof y){if(t.bodyUsed)throw new TypeError("Already read");this.url=t.url,this.credentials=t.credentials,o.headers||(this.headers=new c(t.headers)),this.method=t.method,this.mode=t.mode,this.signal=t.signal,i||null==t._bodyInit||(i=t._bodyInit,t.bodyUsed=!0)}else this.url=String(t);if(this.credentials=o.credentials||this.credentials||"same-origin",!o.headers&&this.headers||(this.headers=new c(o.headers)),this.method=(e=o.method||this.method||"GET",r=e.toUpperCase(),p.indexOf(r)>-1?r:e),this.mode=o.mode||this.mode||null,this.signal=o.signal||this.signal,this.referrer=null,("GET"===this.method||"HEAD"===this.method)&&i)throw new TypeError("Body not allowed for GET or HEAD requests");this._initBody(i)}function b(t){var o=new FormData;return t.trim().split("&").forEach((function(t){if(t){var e=t.split("="),r=e.shift().replace(/\+/g," "),i=e.join("=").replace(/\+/g," ");o.append(decodeURIComponent(r),decodeURIComponent(i))}})),o}function g(t,o){o||(o={}),this.type="default",this.status=void 0===o.status?200:o.status,this.ok=this.status>=200&&this.status<300,this.statusText="statusText"in o?o.statusText:"OK",this.headers=new c(o.headers),this.url=o.url||"",this._initBody(t)}y.prototype.clone=function(){return new y(this,{body:this._bodyInit})},d.call(y.prototype),d.call(g.prototype),g.prototype.clone=function(){return new g(this._bodyInit,{status:this.status,statusText:this.statusText,headers:new c(this.headers),url:this.url})},g.error=function(){var t=new g(null,{status:0,statusText:""});return t.type="error",t};var m=[301,302,303,307,308];g.redirect=function(t,o){if(-1===m.indexOf(o))throw new RangeError("Invalid status code");return new g(null,{status:o,headers:{location:t}})},o.DOMException=t.DOMException;try{new o.DOMException}catch(t){o.DOMException=function(t,o){this.message=t,this.name=o;var e=Error(t);this.stack=e.stack},o.DOMException.prototype=Object.create(Error.prototype),o.DOMException.prototype.constructor=o.DOMException}function v(t,r){return new Promise((function(i,n){var a=new y(t,r);if(a.signal&&a.signal.aborted)return n(new o.DOMException("Aborted","AbortError"));var s=new XMLHttpRequest;function l(){s.abort()}s.onload=function(){var t,o,e={status:s.status,statusText:s.statusText,headers:(t=s.getAllResponseHeaders()||"",o=new c,t.replace(/\r?\n[\t ]+/g," ").split(/\r?\n/).forEach((function(t){var e=t.split(":"),r=e.shift().trim();if(r){var i=e.join(":").trim();o.append(r,i)}})),o)};e.url="responseURL"in s?s.responseURL:e.headers.get("X-Request-URL");var r="response"in s?s.response:s.responseText;i(new g(r,e))},s.onerror=function(){n(new TypeError("Network request failed"))},s.ontimeout=function(){n(new TypeError("Network request failed"))},s.onabort=function(){n(new o.DOMException("Aborted","AbortError"))},s.open(a.method,a.url,!0),"include"===a.credentials?s.withCredentials=!0:"omit"===a.credentials&&(s.withCredentials=!1),"responseType"in s&&e.blob&&(s.responseType="blob"),a.headers.forEach((function(t,o){s.setRequestHeader(o,t)})),a.signal&&(a.signal.addEventListener("abort",l),s.onreadystatechange=function(){4===s.readyState&&a.signal.removeEventListener("abort",l)}),s.send(void 0===a._bodyInit?null:a._bodyInit)}))}v.polyfill=!0,t.fetch||(t.fetch=v,t.Headers=c,t.Request=y,t.Response=g),o.Headers=c,o.Request=y,o.Response=g,o.fetch=v,Object.defineProperty(o,"U",{value:!0})}({})}("undefined"!=typeof self?self:void 0),function(t){t.black="black",t.green="green",t.blue="blue",t.purple="purple",t.red="red",t.orange="orange",t.yellow="yellow"}(Wr||(Wr={})),function(t){t.OFFICIAL="OFFICIAL",t.PERSONAL="PERSONAL",t.SHARED="SHARED"}(Tr||(Tr={})),function(t){t.THIRD_PARTY="THIRD_PARTY",t.OFF_THE_GRID="OFF_THE_GRID",t.CONTENT_PACKAGER="CONTENT_PACKAGER",t.PAGES="PAGES",t.DESIGNED_READER="DESIGNED_READER"}(Kr||(Kr={})),function(t){t.STARS="STARS",t.LIKE="LIKE",t.DICHOTOMOUS="DICHOTOMOUS",t.NO_RATING="NO_RATING"}(Pr||(Pr={})),function(t){t.LAST_WEEK="LAST_WEEK",t.LAST_MONTH="LAST_MONTH",t.LAST_YEAR="LAST_YEAR",t.CUSTOM="CUSTOM"}(jr||(jr={})),function(t){t.ASC="ASC",t.DESC="DESC"}(Mr||(Mr={})),function(t){t.ALPHA="ALPHA",t.NATURAL="NATURAL"}(Zr||(Zr={})),function(t){t.EVERYWHERE="EVERYWHERE",t.TITLE_ONLY="TITLE_ONLY",t.NONE="NONE"}(Fr||(Fr={})),function(t){t.ARTICLE="ARTICLE",t.BOOK="BOOK",t.SHARED_BOOK="SHARED_BOOK"}(Br||(Br={})),function(t){t.FLUIDTOPICS="FLUIDTOPICS",t.EXTERNAL="EXTERNAL"}(_r||(_r={})),function(t){t.MAP="MAP",t.DOCUMENT="DOCUMENT",t.TOPIC="TOPIC",t.PERSONAL_BOOK="PERSONAL_BOOK",t.SHARED_BOOK="SHARED_BOOK"}(Dr||(Dr={})),function(t){t.MAP="MAP",t.DOCUMENT="DOCUMENT",t.TOPIC="TOPIC"}($r||($r={})),function(t){t.DEFAULT="DEFAULT",t.DOCUMENTS="DOCUMENTS"}(zr||(zr={})),function(t){t.PERSONAL_BOOK_USER="PERSONAL_BOOK_USER",t.PERSONAL_BOOK_SHARE_USER="PERSONAL_BOOK_SHARE_USER",t.HTML_EXPORT_USER="HTML_EXPORT_USER",t.PDF_EXPORT_USER="PDF_EXPORT_USER",t.SAVED_SEARCH_USER="SAVED_SEARCH_USER",t.COLLECTION_USER="COLLECTION_USER",t.OFFLINE_USER="OFFLINE_USER",t.ANALYTICS_USER="ANALYTICS_USER",t.BETA_USER="BETA_USER",t.DEBUG_USER="DEBUG_USER",t.PRINT_USER="PRINT_USER",t.RATING_USER="RATING_USER",t.FEEDBACK_USER="FEEDBACK_USER",t.CONTENT_PUBLISHER="CONTENT_PUBLISHER",t.KHUB_ADMIN="KHUB_ADMIN",t.USERS_ADMIN="USERS_ADMIN",t.PORTAL_ADMIN="PORTAL_ADMIN",t.ADMIN="ADMIN",t.DEVELOPER="DEVELOPER"}(Gr||(Gr={}));const Hr={[Gr.PERSONAL_BOOK_SHARE_USER]:[Gr.PERSONAL_BOOK_USER],[Gr.HTML_EXPORT_USER]:[Gr.PERSONAL_BOOK_USER],[Gr.PDF_EXPORT_USER]:[Gr.PERSONAL_BOOK_USER],[Gr.KHUB_ADMIN]:[Gr.CONTENT_PUBLISHER],[Gr.ADMIN]:[Gr.KHUB_ADMIN,Gr.USERS_ADMIN,Gr.PORTAL_ADMIN],[Gr.DEVELOPER]:[Gr.BETA_USER,Gr.DEBUG_USER]};function qr(t,o){return t===o||(Hr[t]??[]).some((t=>qr(t,o)))}function Yr(t,o){if(null==t)return!1;return(Array.isArray(t)?t:Array.isArray(t.roles)?t.roles:Array.isArray(t.profile?.roles)?t.profile.roles:[]).some((t=>qr(t,o)))}var Vr;t.FtReaderFeatures=void 0,(Vr=t.FtReaderFeatures||(t.FtReaderFeatures={})).FEEDBACK="FEEDBACK",Vr.RATING="RATING",Vr.PRINT="PRINT",Vr.BOOKMARK="BOOKMARK",Vr.COLLECTIONS="COLLECTIONS",Vr.PERSONAL_BOOKS="PERSONAL_BOOKS";const Jr=mt`
|
|
98
98
|
`,Xr=Ur.get({name:"ft-app-info",reducers:{setBaseUrl:(t,o)=>{t.baseUrl=o.payload},setApiIntegrationIdentifier:(t,o)=>{t.apiIntegrationIdentifier=o.payload},setUiLocale:(t,o)=>{t.uiLocale=o.payload},setAvailableUiLocales:(t,o)=>{t.availableUiLocales=o.payload},setEditorMode:(t,o)=>{t.editorMode=o.payload},setNoCustom:(t,o)=>{t.noCustom=o.payload},setNoCustomComponent:(t,o)=>{t.noCustomComponent=o.payload},setSession:(t,o)=>{t.session=o.payload}},initialState:{uiLocale:document.documentElement.lang||"en-US",availableUiLocales:[],editorMode:!1,noCustom:!1,noCustomComponent:!1}});class Qr{static build(t){const{baseUrl:o,apiIntegrationIdentifier:e}=Xr.getState(),r=null!=t?t:e;if(o&&r&&window.fluidtopics)return new window.fluidtopics.FluidTopicsApi(o,r,!0)}static get(t){var o;return null!=t?Qr.build(t):null!==(o=Qr.API)&&void 0!==o?o:Qr.API=Qr.build()}static await(t){return new Promise((o=>{let e=Qr.get(t);if(e)o(e);else{const r=Xr.subscribe((()=>{e=Qr.get(t),e&&(r(),o(e))}))}}))}}var ti;const oi=Symbol("clearAfterUnitTest");class ei{constructor(t){this.messageContextProvider=t,this.defaultMessages={},this.cache=new r,this.listeners={},this.currentUiLocale="",this[ti]=()=>{this.defaultMessages={},this.cache=new r,this.listeners={}},this.currentUiLocale=Xr.getState().uiLocale,Xr.subscribe((()=>this.clearWhenUiLocaleChanges()))}clearWhenUiLocaleChanges(){const{uiLocale:t}=Xr.getState();this.currentUiLocale!==t&&(this.currentUiLocale=t,this.cache.clearAll(),this.notifyAll())}addContext(t){const o=t.name.toLowerCase();this.cache.setFinal(o,t),this.notify(o)}getAllContexts(){return this.cache.resolvedValues()}async prepareContext(t,o){var e;if(t=t.toLowerCase(),Object.keys(o).length>0){const r={...null!==(e=this.defaultMessages[t])&&void 0!==e?e:{},...o};L(this.defaultMessages[t],r)||(this.defaultMessages[t]=r,await this.notify(t))}await this.fetchContext(t)}resolveMessage(t,o,...e){var r,i,n;t=t.toLowerCase(),this.fetchContext(t);const a=null!==(i=null===(r=this.cache.getNow(t))||void 0===r?void 0:r.messages)&&void 0!==i?i:{};return new Ao(null!==(n=this.defaultMessages[t])&&void 0!==n?n:{},a).resolve(o,...e)}async fetchContext(t){if(!this.cache.has(t))try{await this.cache.get(t,(()=>this.messageContextProvider(this.currentUiLocale,t))),await this.notify(t)}catch(t){console.error(t)}}subscribe(t,o){var e;return t=t.toLowerCase(),this.listeners[t]=null!==(e=this.listeners[t])&&void 0!==e?e:new Set,this.listeners[t].add(o),()=>{var e;return null===(e=this.listeners[t])||void 0===e?void 0:e.delete(o)}}async notifyAll(){await Promise.all(Object.keys(this.listeners).map((t=>this.notify(t))))}async notify(t){null!=this.listeners[t]&&await Promise.all([...this.listeners[t].values()].map((t=>I(0).then((()=>t())).catch((()=>null)))))}}ti=oi,null==window.FluidTopicsI18nService&&(window.FluidTopicsI18nService=new ei((async(t,o)=>(await Qr.await()).getFluidTopicsMessageContext(t,o)))),null==window.FluidTopicsCustomI18nService&&(window.FluidTopicsCustomI18nService=new ei((async(t,o)=>(await Qr.await()).getCustomMessageContext(t,o))));const ri=window.FluidTopicsI18nService;var ii=function(t,o,e,r){for(var i,n=arguments.length,a=n<3?o:null===r?r=Object.getOwnPropertyDescriptor(o,e):r,s=t.length-1;s>=0;s--)(i=t[s])&&(a=(n<3?i(a):n>3?i(o,e,a):i(o,e))||a);return n>3&&a&&Object.defineProperty(o,e,a),a};class ni extends Lo{constructor(){super(...arguments),this.apiIntegrationIdentifier="ft-integration",this.uiLocale="en-US",this.availableUiLocales=[],this.editorMode=!1,this.noCustom=!1,this.noCustomComponent=!1,this.withManualResources=!1,this.messageContexts=[],this.apiProvider=()=>Qr.get(),this.cache=new r,this.cleanSessionDebouncer=new i}render(){return to`
|
|
99
99
|
<slot></slot>
|
|
100
|
-
`}update(t){super.update(t),t.has("baseUrl")&&Xr.actions.setBaseUrl(this.baseUrl),t.has("apiIntegrationIdentifier")&&Xr.actions.setApiIntegrationIdentifier(this.apiIntegrationIdentifier),t.has("uiLocale")&&Xr.actions.setUiLocale(this.uiLocale),t.has("noCustom")&&Xr.actions.setNoCustom(this.noCustom),t.has("editorMode")&&Xr.actions.setEditorMode(this.editorMode),t.has("noCustomComponent")&&Xr.actions.setNoCustomComponent(this.noCustomComponent),t.has("session")&&Xr.actions.setSession(this.session),t.has("availableUiLocales")&&Xr.actions.setAvailableUiLocales(Array.isArray(this.availableUiLocales)?this.availableUiLocales:[]),t.has("messageContexts")&&null!=this.messageContexts&&this.messageContexts.forEach((t=>ri.addContext(t))),setTimeout((()=>this.updateIfNeeded()))}async updateIfNeeded(){const t=this.apiProvider();!this.withManualResources&&t&&(null==this.session&&(this.session=await this.cache.get("session",(async()=>{const o=await t.getCurrentSession();return o.idleTimeoutInMillis>0&&this.cleanSessionDebouncer.run((()=>{this.cache.clear("session"),this.session=void 0}),o.idleTimeoutInMillis),o}))),null==this.availableUiLocales&&(this.availableUiLocales=await this.cache.get("availableUiLocales",(()=>t.getAvailableUiLocales()))))}}ni.elementDefinitions={},ni.styles=Jr,ii([x()],ni.prototype,"baseUrl",void 0),ii([x()],ni.prototype,"apiIntegrationIdentifier",void 0),ii([x()],ni.prototype,"uiLocale",void 0),ii([k([])],ni.prototype,"availableUiLocales",void 0),ii([x({type:Boolean})],ni.prototype,"editorMode",void 0),ii([x({type:Boolean})],ni.prototype,"noCustom",void 0),ii([x({converter:{fromAttribute:t=>"false"!==t&&("true"===t||null!=t&&t)}})],ni.prototype,"noCustomComponent",void 0),ii([x({type:Boolean})],ni.prototype,"withManualResources",void 0),ii([k([])],ni.prototype,"messageContexts",void 0),ii([k(void 0)],ni.prototype,"session",void 0),ii([x({type:Object})],ni.prototype,"apiProvider",void 0);class ai{async listMySearches(){var t;return(null===(t=Xr.getState().session)||void 0===t?void 0:t.sessionAuthenticated)?(await Qr.await()).listMySearches(Xr.getState().session.profile.userId):[]}}const si=new r;class ci{async listMyBookmarks(){return si.get("bookmarks",(async()=>(await Qr.await()).listMyBookmarks(Xr.getState().session.profile.userId)))}clearCache(){si.clear("bookmarks")}}const li=Ur.get({name:"ft-user-assets",initialState:{savedSearches:void 0,bookmarks:void 0}});const fi=new class{constructor(){this.currentSession=Xr.getState().session,this.bookmarksAreUsed=!1,this.bookmarksService=new ci,Xr.subscribe((()=>this.reloadWhenUserSessionChanges()))}reloadWhenUserSessionChanges(){var t;const{session:o}=Xr.getState();L(null===(t=this.currentSession)||void 0===t?void 0:t.profile,null==o?void 0:o.profile)||(this.currentSession=o,this.clearMySearches(),this.reloadBookmarks())}clear(){this.clearMySearches(),this.clearMyBookmarks()}clearMySearches(){li.actions.savedSearches(void 0)}clearMyBookmarks(){li.actions.bookmarks(void 0)}async reloadMySearches(){const t=new ai,o=await t.listMySearches();li.actions.savedSearches(o)}async reloadBookmarks(){this.bookmarksService.clearCache(),await this.updateBookmarksIfUsed()}async registerBookmarkComponent(){this.bookmarksAreUsed=!0,await this.updateBookmarksIfUsed()}async updateBookmarksIfUsed(){var t;if(this.bookmarksAreUsed){const o=(null===(t=this.currentSession)||void 0===t?void 0:t.sessionAuthenticated)?await this.bookmarksService.listMyBookmarks():void 0;li.actions.bookmarks(o)}}};A("ft-app-context")(ni);class hi{get mapId(){return this._mapId}set mapId(t){t!==this._mapId&&this.clear(),this._mapId=t}constructor(t,o,e,r){this.converter=t,this.api=o,this.cache=e,this._mapId=r,this.initCache()}async withMapId(t){return this._mapId?t(this._mapId):void 0}initCache(){this.cache.registerFinal("configuration",(()=>this.api.getReaderConfiguration())),this.cache.register("map",(()=>this.withMapId((t=>this.fetchMap(t))))),this.cache.register("enrichedToc",(()=>this.withMapId((t=>this.fetchPages(t).then((t=>this.converter.convertPaginatedToc(t))))))),this.cache.register("ratingSummary",(()=>{var t,o;return Yr(null!==(o=null===(t=Xr.getState().session)||void 0===t?void 0:t.profile.roles)&&void 0!==o?o:[],"RATING_USER")?this.withMapId((t=>this.fetchMapRating(t))):Promise.resolve()}))}clear(){this.cache.clearAll()}getMap(){return this.cache.get("map")}getConfiguration(){return this.cache.get("configuration")}getEnrichedToc(){return this.cache.get("enrichedToc")}get enrichedToc(){return this.cache.getNow("enrichedToc")}async getPaginationConfiguration(){return(await this.getEnrichedToc()).paginationConfiguration}async getToc(){return(await this.getEnrichedToc()).toc}async getPagesToc(){return(await this.getEnrichedToc()).pagesToc}async getTocNode(t){return(await this.getEnrichedToc()).nodeByTocId[t]}getTocNodeNow(t){var o;return null===(o=this.enrichedToc)||void 0===o?void 0:o.nodeByTocId[t]}async getPage(t){const o=await this.getEnrichedToc();return o.pages[t-1]||o.pages[0]}async getPageByTocId(t){const o=await this.getEnrichedToc();return o.pageByTocId[t]||o.pages[0]}getTopicInfo(t){return this.cache.get("topic-"+t.tocId,(()=>this.fetchTopicMetadata(t)))}getTopicContent(t){return this.cache.get("topic-content-"+t.tocId,(()=>this.fetchTopicHTMLContent(t)))}getLink(t,o,e){const r=this.getNavigationData(t,o,e),i=this.getReaderLinkPrefix()+(r.prettyUrl?r.prettyUrl:`${r.mapId}/${r.tocId}`),n=new URL(i,this.api.tenantBaseUrl);return null!=r.page&&n.searchParams.set("page",`${r.page}`),r.prettyUrlDuplicated&&n.searchParams.set("tocId",r.tocId),null!=r.section&&n.searchParams.set("section",r.section),n.href}getNavigationData(t,o,e){var r,i;t=t||"root";const n=this.enrichedToc,a=null==n?void 0:n.pageByTocId[t],s=null==n?void 0:n.nodeByTocId[t],c=null==s?void 0:s.prettyUrl;return{mapId:this.mapId,tocId:t,topicTitle:null!==(r=null==s?void 0:s.title)&&void 0!==r?r:"",page:o&&a&&a.number!==o?o:void 0,prettyUrl:null!=c?c.replace(/^r\//,""):void 0,prettyUrlDuplicated:null!==(i=null==n?void 0:n.duplicatedPrettyUrls.has(null!=c?c:""))&&void 0!==i&&i,section:e}}async getAccurateNavigationData(t,o,e){return await this.getEnrichedToc(),this.getNavigationData(t,o,e)}getRatingSummary(){return this.cache.get("ratingSummary")}getMapRating(){return this.getRatingSummary().then((t=>null==t?void 0:t.publication))}getTopicRating(t){return this.getRatingSummary().then((o=>{var e;return o?{type:o.topics.type,rating:null===(e=o.topics)||void 0===e?void 0:e.ratings.find((o=>o.tocId===t))}:void 0}))}rateMap(t,o){return this.makeRateMapRequest(t,o).then((()=>this.clearRatingIfNecessary()))}unrateMap(){return this.makeUnrateMapRequest().then((()=>this.clearRatingIfNecessary()))}sendMapFeedback(t,o){return this.makeMapFeedbackRequest(t,o)}rateTopic(t,o,e){return this.makeRateTopicRequest(t,o,e).then((()=>this.clearRatingIfNecessary()))}unrateTopic(t){return this.makeUnrateTopicRequest(t).then((()=>this.clearRatingIfNecessary()))}async clearRatingIfNecessary(){const t=Xr.getState().session;(null==t?void 0:t.sessionAuthenticated)&&this.cache.clear("ratingSummary")}sendTopicFeedback(t,o,e){return this.makeTopicFeedbackRequest(t,o,e)}fontsStylesheet(){return this.api.makeAbsolute(this.api.endpoints.stylesheets.fonts)}themeStylesheet(){return this.api.makeAbsolute(this.api.endpoints.stylesheets.theme)}buildBreadcrumb(t){let o=this.getTocNodeNow(t),e=[{tocId:o.tocId,title:o.title}],r=this.getTocNodeNow(o.parentTocId);for(;r;)e.unshift({tocId:r.tocId,title:r.title}),r=this.getTocNodeNow(r.parentTocId);return e}isFeatureAccessible(o,{session:e,ratingType:r}){if(!this.isFeatureAvailable(o))return!1;switch(o){case t.FtReaderFeatures.FEEDBACK:return Yr(null!=e?e:[],Gr.FEEDBACK_USER);case t.FtReaderFeatures.RATING:return Yr(null!=e?e:[],Gr.RATING_USER)&&null!=r&&r!==Pr.NO_RATING;case t.FtReaderFeatures.PRINT:return Yr(null!=e?e:[],Gr.PRINT_USER);case t.FtReaderFeatures.BOOKMARK:return!!(null==e?void 0:e.sessionAuthenticated);case t.FtReaderFeatures.COLLECTIONS:return Yr(null!=e?e:[],Gr.COLLECTION_USER);default:return!1}}}class ui extends hi{static async build(t){return new ui(new kr,await Qr.await(),new r,t)}clear(){super.clear(),this.fingerprint=void 0}async fetchMap(t){var o;const e=await this.api.getMap(t);return this.fingerprint=null===(o=e.lastPublication)||void 0===o?void 0:o.replace(/\D/g,""),e}fetchMapRating(t){return this.api.getMapRating(t)}async fetchPages(t){return await this.getMap(),this.api.getPages(t,this.fingerprint)}fetchTopicHTMLContent(t){return this.api.getTopicHTMLContent(this.mapId,t.contentId,"DESIGNED_READER",this.fingerprint)}fetchTopicMetadata(t){return this.api.getTopic(this.mapId,t.contentId,this.fingerprint)}makeMapFeedbackRequest(t,o){return this.api.sendMapFeedback(this.mapId,t,o)}makeRateMapRequest(t,o){return this.api.rateMap(this.mapId,t,o)}makeRateTopicRequest(t,o,e){return this.api.rateTopic(this.mapId,t,o,e)}makeTopicFeedbackRequest(t,o,e){return this.api.sendTopicFeedback(this.mapId,t,o,e)}makeUnrateMapRequest(){return this.api.unrateMap(this.mapId)}makeUnrateTopicRequest(t){return this.api.unrateTopic(this.mapId,t)}getReaderLinkPrefix(){return"r/"}isFeatureAvailable(t){return!0}}class di{static build(t,o){return new di((t=>Ur.get({name:"ft-reader-"+t,initialState:{mapId:void 0,visibleTopics:[],map:void 0,toc:void 0,pagesToc:void 0,paginationConfiguration:void 0,currentPage:void 0,scrollTarget:void 0,configuration:void 0}}))(t.trim()||"context"),null!=o?o:ui.build)}constructor(t,o){this.store=t,this.reloadDebouncer=new i(10),this.initService(o)}async initService(t){return this.service=await t(),this.service.mapId=this.store.getState().mapId,this.reload()}async setMapId(t){t!==this.store.getState().mapId&&(this.store.actions.mapId(t),this.service&&(this.service.mapId=t),await this.reload())}setVisibleTopics(t){this.store.actions.visibleTopics(t)}async awaitService(){for(;null==this.service;)await I(5);return this.service}async navigateToTopic(t,o,e){const r=await this.awaitService(),i=await(null!=e?r.getPage(e):r.getPageByTocId(null!=t?t:"root"));this.store.actions.currentPage(i),this.store.actions.scrollTarget({tocId:this.resolveValidNonRootTocId(t,i),section:o})}resolveValidNonRootTocId(t,o){var e,r,i;let n=null!==(e="root"===t?void 0:t)&&void 0!==e?e:o.rootTocId;return o.topics.includes(n)?n:null!==(i=null!==(r=o.topics[0])&&void 0!==r?r:o.hiddenTopics[0])&&void 0!==i?i:"root"}async navigateToPage(t){const o=await this.awaitService();let e=await o.getPage(t);this.store.actions.currentPage(e)}scrollDone(){this.store.actions.scrollTarget({})}async reload(){var t,o;this.store.actions.configuration(void 0),this.store.actions.map(void 0),this.store.actions.toc(void 0),this.store.actions.pagesToc(void 0),this.store.actions.currentPage(void 0),null===(t=this.service)||void 0===t||t.clear(),(null===(o=this.service)||void 0===o?void 0:o.mapId)&&await this.reloadDebouncer.run((()=>this.fetchData()))}async fetchData(){var t,e,r,i,n;try{await Promise.all([null===(t=this.service)||void 0===t?void 0:t.getConfiguration().then((t=>this.store.actions.configuration(t))),null===(e=this.service)||void 0===e?void 0:e.getMap().then((t=>this.store.actions.map(t))),null===(r=this.service)||void 0===r?void 0:r.getToc().then((t=>this.store.actions.toc(t))),null===(i=this.service)||void 0===i?void 0:i.getPagesToc().then((t=>this.store.actions.pagesToc(t))),null===(n=this.service)||void 0===n?void 0:n.getPaginationConfiguration().then((t=>this.store.actions.paginationConfiguration(t)))])}catch(t){!this.errorHandler||t instanceof o||this.errorHandler(t)}}}const pi=mt`
|
|
100
|
+
`}update(t){super.update(t),t.has("baseUrl")&&Xr.actions.setBaseUrl(this.baseUrl),t.has("apiIntegrationIdentifier")&&Xr.actions.setApiIntegrationIdentifier(this.apiIntegrationIdentifier),t.has("uiLocale")&&Xr.actions.setUiLocale(this.uiLocale),t.has("noCustom")&&Xr.actions.setNoCustom(this.noCustom),t.has("editorMode")&&Xr.actions.setEditorMode(this.editorMode),t.has("noCustomComponent")&&Xr.actions.setNoCustomComponent(this.noCustomComponent),t.has("session")&&Xr.actions.setSession(this.session),t.has("availableUiLocales")&&Xr.actions.setAvailableUiLocales(Array.isArray(this.availableUiLocales)?this.availableUiLocales:[]),t.has("messageContexts")&&null!=this.messageContexts&&this.messageContexts.forEach((t=>ri.addContext(t))),setTimeout((()=>this.updateIfNeeded()))}async updateIfNeeded(){const t=this.apiProvider();!this.withManualResources&&t&&(null==this.session&&(this.session=await this.cache.get("session",(async()=>{const o=await t.getCurrentSession();return o.idleTimeoutInMillis>0&&this.cleanSessionDebouncer.run((()=>{this.cache.clear("session"),this.session=void 0}),o.idleTimeoutInMillis),o}))),null==this.availableUiLocales&&(this.availableUiLocales=await this.cache.get("availableUiLocales",(()=>t.getAvailableUiLocales()))))}}ni.elementDefinitions={},ni.styles=Jr,ii([x()],ni.prototype,"baseUrl",void 0),ii([x()],ni.prototype,"apiIntegrationIdentifier",void 0),ii([x()],ni.prototype,"uiLocale",void 0),ii([k([])],ni.prototype,"availableUiLocales",void 0),ii([x({type:Boolean})],ni.prototype,"editorMode",void 0),ii([x({type:Boolean})],ni.prototype,"noCustom",void 0),ii([x({converter:{fromAttribute:t=>"false"!==t&&("true"===t||null!=t&&t)}})],ni.prototype,"noCustomComponent",void 0),ii([x({type:Boolean})],ni.prototype,"withManualResources",void 0),ii([k([])],ni.prototype,"messageContexts",void 0),ii([k(void 0)],ni.prototype,"session",void 0),ii([x({type:Object})],ni.prototype,"apiProvider",void 0);class ai{async listMySearches(){var t;return(null===(t=Xr.getState().session)||void 0===t?void 0:t.sessionAuthenticated)?(await Qr.await()).listMySearches(Xr.getState().session.profile.userId):[]}}const si=new r;class ci{async listMyBookmarks(){return si.get("bookmarks",(async()=>(await Qr.await()).listMyBookmarks(Xr.getState().session.profile.userId)))}clearCache(){si.clear("bookmarks")}}const li=Ur.get({name:"ft-user-assets",initialState:{savedSearches:void 0,bookmarks:void 0}});const fi=new class{constructor(){this.currentSession=Xr.getState().session,this.bookmarksAreUsed=!1,this.bookmarksService=new ci,Xr.subscribe((()=>this.reloadWhenUserSessionChanges()))}reloadWhenUserSessionChanges(){var t;const{session:o}=Xr.getState();L(null===(t=this.currentSession)||void 0===t?void 0:t.profile,null==o?void 0:o.profile)||(this.currentSession=o,this.clearMySearches(),this.reloadBookmarks())}clear(){this.clearMySearches(),this.clearMyBookmarks()}clearMySearches(){li.actions.savedSearches(void 0)}clearMyBookmarks(){li.actions.bookmarks(void 0)}async reloadMySearches(){const t=new ai,o=await t.listMySearches();li.actions.savedSearches(o)}async reloadBookmarks(){this.bookmarksService.clearCache(),await this.updateBookmarksIfUsed()}async registerBookmarkComponent(){this.bookmarksAreUsed=!0,await this.updateBookmarksIfUsed()}async updateBookmarksIfUsed(){var t;if(this.bookmarksAreUsed){const o=(null===(t=this.currentSession)||void 0===t?void 0:t.sessionAuthenticated)?await this.bookmarksService.listMyBookmarks():void 0;li.actions.bookmarks(o)}}};A("ft-app-context")(ni);class hi{get mapId(){return this._mapId}set mapId(t){t!==this._mapId&&this.clear(),this._mapId=t}constructor(t,o,e,r){this.converter=t,this.api=o,this.cache=e,this._mapId=r,this.initCache()}async withMapId(t){return this._mapId?t(this._mapId):void 0}initCache(){this.cache.registerFinal("configuration",(()=>this.api.getReaderConfiguration())),this.cache.register("map",(()=>this.withMapId((t=>this.fetchMap(t))))),this.cache.register("enrichedToc",(()=>this.withMapId((t=>this.fetchPages(t).then((t=>this.converter.convertPaginatedToc(t))))))),this.cache.register("ratingSummary",(()=>{var t,o;return Yr(null!==(o=null===(t=Xr.getState().session)||void 0===t?void 0:t.profile.roles)&&void 0!==o?o:[],"RATING_USER")?this.withMapId((t=>this.fetchMapRating(t))):Promise.resolve()}))}clear(){this.cache.clearAll()}getMap(){return this.cache.get("map")}getConfiguration(){return this.cache.get("configuration")}getEnrichedToc(){return this.cache.get("enrichedToc")}get enrichedToc(){return this.cache.getNow("enrichedToc")}async getPaginationConfiguration(){return(await this.getEnrichedToc()).paginationConfiguration}async getToc(){return(await this.getEnrichedToc()).toc}async getPagesToc(){return(await this.getEnrichedToc()).pagesToc}async getTocNode(t){return(await this.getEnrichedToc()).nodeByTocId[t]}getTocNodeNow(t){var o;return null===(o=this.enrichedToc)||void 0===o?void 0:o.nodeByTocId[t]}async getPage(t){const o=await this.getEnrichedToc();return o.pages[t-1]||o.pages[0]}async getPageByTocId(t){const o=await this.getEnrichedToc();return o.pageByTocId[t]||o.pages[0]}getTopicInfo(t){return this.cache.get("topic-"+t.tocId,(()=>this.fetchTopicMetadata(t)))}getTopicContent(t){return this.cache.get("topic-content-"+t.tocId,(()=>this.fetchTopicHTMLContent(t)))}getLink(t,o,e){const r=this.getNavigationData(t,o,e),i=this.getReaderLinkPrefix()+(r.prettyUrl?r.prettyUrl:`${r.mapId}/${r.tocId}`),n=new URL(i,this.api.tenantBaseUrl);return null!=r.page&&n.searchParams.set("page",`${r.page}`),r.prettyUrlDuplicated&&n.searchParams.set("tocId",r.tocId),null!=r.section&&n.searchParams.set("section",r.section),n.href}getNavigationData(t,o,e){var r,i;t=t||"root";const n=this.enrichedToc,a=null==n?void 0:n.pageByTocId[t],s=null==n?void 0:n.nodeByTocId[t],c=null==s?void 0:s.prettyUrl;return{mapId:this.mapId,tocId:t,topicTitle:null!==(r=null==s?void 0:s.title)&&void 0!==r?r:"",page:o&&a&&a.number!==o?o:void 0,prettyUrl:null!=c?c.replace(/^r\//,""):void 0,prettyUrlDuplicated:null!==(i=null==n?void 0:n.duplicatedPrettyUrls.has(null!=c?c:""))&&void 0!==i&&i,section:e}}async getAccurateNavigationData(t,o,e){return await this.getEnrichedToc(),this.getNavigationData(t,o,e)}getRatingSummary(){return this.cache.get("ratingSummary")}getMapRating(){return this.getRatingSummary().then((t=>null==t?void 0:t.publication))}getTopicRating(t){return this.getRatingSummary().then((o=>{var e;return o?{type:o.topics.type,rating:null===(e=o.topics)||void 0===e?void 0:e.ratings.find((o=>o.tocId===t))}:void 0}))}rateMap(t,o){return this.makeRateMapRequest(t,o).then((()=>this.clearRatingIfNecessary()))}unrateMap(){return this.makeUnrateMapRequest().then((()=>this.clearRatingIfNecessary()))}sendMapFeedback(t,o){return this.makeMapFeedbackRequest(t,o)}rateTopic(t,o,e){return this.makeRateTopicRequest(t,o,e).then((()=>this.clearRatingIfNecessary()))}unrateTopic(t){return this.makeUnrateTopicRequest(t).then((()=>this.clearRatingIfNecessary()))}async clearRatingIfNecessary(){const t=Xr.getState().session;(null==t?void 0:t.sessionAuthenticated)&&this.cache.clear("ratingSummary")}sendTopicFeedback(t,o,e){return this.makeTopicFeedbackRequest(t,o,e)}fontsStylesheet(){return this.api.makeAbsolute(this.api.endpoints.stylesheets.fonts)}themeStylesheet(){return this.api.makeAbsolute(this.api.endpoints.stylesheets.theme)}buildBreadcrumb(t){let o=this.getTocNodeNow(t),e=[{tocId:o.tocId,title:o.title}],r=this.getTocNodeNow(o.parentTocId);for(;r;)e.unshift({tocId:r.tocId,title:r.title}),r=this.getTocNodeNow(r.parentTocId);return e}isFeatureAccessible(o,{session:e,ratingType:r}){if(!this.isFeatureAvailable(o))return!1;switch(o){case t.FtReaderFeatures.FEEDBACK:return Yr(null!=e?e:[],Gr.FEEDBACK_USER);case t.FtReaderFeatures.RATING:return Yr(null!=e?e:[],Gr.RATING_USER)&&null!=r&&r!==Pr.NO_RATING;case t.FtReaderFeatures.PRINT:return Yr(null!=e?e:[],Gr.PRINT_USER);case t.FtReaderFeatures.BOOKMARK:return!!(null==e?void 0:e.sessionAuthenticated);case t.FtReaderFeatures.COLLECTIONS:return Yr(null!=e?e:[],Gr.COLLECTION_USER);case t.FtReaderFeatures.PERSONAL_BOOKS:return Yr(null!=e?e:[],Gr.PERSONAL_BOOK_USER);default:return!1}}}class ui extends hi{static async build(t){return new ui(new kr,await Qr.await(),new r,t)}clear(){super.clear(),this.fingerprint=void 0}async fetchMap(t){var o;const e=await this.api.getMap(t);return this.fingerprint=null===(o=e.lastPublication)||void 0===o?void 0:o.replace(/\D/g,""),e}fetchMapRating(t){return this.api.getMapRating(t)}async fetchPages(t){return await this.getMap(),this.api.getPages(t,this.fingerprint)}fetchTopicHTMLContent(t){return this.api.getTopicHTMLContent(this.mapId,t.contentId,"DESIGNED_READER",this.fingerprint)}fetchTopicMetadata(t){return this.api.getTopic(this.mapId,t.contentId,this.fingerprint)}makeMapFeedbackRequest(t,o){return this.api.sendMapFeedback(this.mapId,t,o)}makeRateMapRequest(t,o){return this.api.rateMap(this.mapId,t,o)}makeRateTopicRequest(t,o,e){return this.api.rateTopic(this.mapId,t,o,e)}makeTopicFeedbackRequest(t,o,e){return this.api.sendTopicFeedback(this.mapId,t,o,e)}makeUnrateMapRequest(){return this.api.unrateMap(this.mapId)}makeUnrateTopicRequest(t){return this.api.unrateTopic(this.mapId,t)}getReaderLinkPrefix(){return"r/"}isFeatureAvailable(t){return!0}}class di{static build(t,o){return new di((t=>Ur.get({name:"ft-reader-"+t,initialState:{mapId:void 0,visibleTopics:[],map:void 0,toc:void 0,pagesToc:void 0,paginationConfiguration:void 0,currentPage:void 0,scrollTarget:void 0,configuration:void 0}}))(t.trim()||"context"),null!=o?o:ui.build)}constructor(t,o){this.store=t,this.reloadDebouncer=new i(10),this.initService(o)}async initService(t){return this.service=await t(),this.service.mapId=this.store.getState().mapId,this.reload()}async setMapId(t){t!==this.store.getState().mapId&&(this.store.actions.mapId(t),this.service&&(this.service.mapId=t),await this.reload())}setVisibleTopics(t){this.store.actions.visibleTopics(t)}async awaitService(){for(;null==this.service;)await I(5);return this.service}async navigateToTopic(t,o,e){const r=await this.awaitService(),i=await(null!=e?r.getPage(e):r.getPageByTocId(null!=t?t:"root"));this.store.actions.currentPage(i),this.store.actions.scrollTarget({tocId:this.resolveValidNonRootTocId(t,i),section:o})}resolveValidNonRootTocId(t,o){var e,r,i;let n=null!==(e="root"===t?void 0:t)&&void 0!==e?e:o.rootTocId;return o.topics.includes(n)?n:null!==(i=null!==(r=o.topics[0])&&void 0!==r?r:o.hiddenTopics[0])&&void 0!==i?i:"root"}async navigateToPage(t){const o=await this.awaitService();let e=await o.getPage(t);this.store.actions.currentPage(e)}scrollDone(){this.store.actions.scrollTarget({})}async reload(){var t,o;this.store.actions.configuration(void 0),this.store.actions.map(void 0),this.store.actions.toc(void 0),this.store.actions.pagesToc(void 0),this.store.actions.currentPage(void 0),null===(t=this.service)||void 0===t||t.clear(),(null===(o=this.service)||void 0===o?void 0:o.mapId)&&await this.reloadDebouncer.run((()=>this.fetchData()))}async fetchData(){var t,e,r,i,n;try{await Promise.all([null===(t=this.service)||void 0===t?void 0:t.getConfiguration().then((t=>this.store.actions.configuration(t))),null===(e=this.service)||void 0===e?void 0:e.getMap().then((t=>this.store.actions.map(t))),null===(r=this.service)||void 0===r?void 0:r.getToc().then((t=>this.store.actions.toc(t))),null===(i=this.service)||void 0===i?void 0:i.getPagesToc().then((t=>this.store.actions.pagesToc(t))),null===(n=this.service)||void 0===n?void 0:n.getPaginationConfiguration().then((t=>this.store.actions.paginationConfiguration(t)))])}catch(t){!this.errorHandler||t instanceof o||this.errorHandler(t)}}}const pi=mt`
|
|
101
101
|
`;class yi extends CustomEvent{constructor(t,o){super("ft-reader-map-loaded",{detail:{map:t,toc:o}})}}class bi extends CustomEvent{constructor(t,o){super("ft-reader-visible-topics-change",{detail:{visibleTopics:o}})}}class gi extends CustomEvent{constructor(t){super("ft-reader-navigation-done",{detail:t})}}class mi extends CustomEvent{constructor(t){super("ft-reader-load-error",{detail:t})}}class vi extends Event{constructor(){super("ft-reader-map-not-found")}}class Oi extends Event{constructor(){super("ft-reader-map-unauthorized")}}var wi=function(t,o,e,r){for(var i,n=arguments.length,a=n<3?o:null===r?r=Object.getOwnPropertyDescriptor(o,e):r,s=t.length-1;s>=0;s--)(i=t[s])&&(a=(n<3?i(a):n>3?i(o,e,a):i(o,e))||a);return n>3&&a&&Object.defineProperty(o,e,a),a};class Ni extends Zo{constructor(){super(),this.visibleTopics=[],this.scrollToTargetDebouncer=new i(5),this.navigationDebouncer=new i(10),this.addStore(Xr)}render(){return to`
|
|
102
102
|
${this.importStyleIfNeeded()}
|
|
103
103
|
<slot @register-ft-reader-component=${this.registerComponent}></slot>
|
package/build/store/model.d.ts
CHANGED
|
@@ -56,7 +56,8 @@ export declare enum FtReaderFeatures {
|
|
|
56
56
|
RATING = "RATING",
|
|
57
57
|
PRINT = "PRINT",
|
|
58
58
|
BOOKMARK = "BOOKMARK",
|
|
59
|
-
COLLECTIONS = "COLLECTIONS"
|
|
59
|
+
COLLECTIONS = "COLLECTIONS",
|
|
60
|
+
PERSONAL_BOOKS = "PERSONAL_BOOKS"
|
|
60
61
|
}
|
|
61
62
|
export interface FtReaderFeatureAccessData {
|
|
62
63
|
session?: FtSession;
|
package/build/store/model.js
CHANGED
|
@@ -186,6 +186,8 @@ export class FtReaderService {
|
|
|
186
186
|
return !!(session === null || session === void 0 ? void 0 : session.sessionAuthenticated);
|
|
187
187
|
case FtReaderFeatures.COLLECTIONS:
|
|
188
188
|
return userHasRole(session !== null && session !== void 0 ? session : [], FtUserRole.COLLECTION_USER);
|
|
189
|
+
case FtReaderFeatures.PERSONAL_BOOKS:
|
|
190
|
+
return userHasRole(session !== null && session !== void 0 ? session : [], FtUserRole.PERSONAL_BOOK_USER);
|
|
189
191
|
default:
|
|
190
192
|
return false;
|
|
191
193
|
}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@fluid-topics/ft-reader-context",
|
|
3
|
-
"version": "1.1.
|
|
3
|
+
"version": "1.1.1",
|
|
4
4
|
"description": "Context block for integrated reader components",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"Lit"
|
|
@@ -19,13 +19,13 @@
|
|
|
19
19
|
"url": "ssh://git@scm.mrs.antidot.net:2222/fluidtopics/ft-web-components.git"
|
|
20
20
|
},
|
|
21
21
|
"dependencies": {
|
|
22
|
-
"@fluid-topics/ft-app-context": "1.1.
|
|
23
|
-
"@fluid-topics/ft-wc-utils": "1.1.
|
|
22
|
+
"@fluid-topics/ft-app-context": "1.1.1",
|
|
23
|
+
"@fluid-topics/ft-wc-utils": "1.1.1",
|
|
24
24
|
"@reduxjs/toolkit": "^1.6.2",
|
|
25
25
|
"lit": "3.1.0"
|
|
26
26
|
},
|
|
27
27
|
"devDependencies": {
|
|
28
|
-
"@fluid-topics/public-api": "1.0.
|
|
28
|
+
"@fluid-topics/public-api": "1.0.51"
|
|
29
29
|
},
|
|
30
|
-
"gitHead": "
|
|
30
|
+
"gitHead": "ceae4aed142c27cbf6034f45bb6e3f562163cc15"
|
|
31
31
|
}
|