From ab352e5f301653383cc652a1dca86aaab0f614ea Mon Sep 17 00:00:00 2001 From: STAC Browser CI Date: Fri, 10 Jan 2025 09:56:44 +0000 Subject: [PATCH] deploy: fb24e040ffd42185c7c9c283d9384066dd95b680 --- index.html | 2 +- js/{3108.ed5dbc8b.js => 3108.342c1bac.js} | 2 +- js/{3108.ed5dbc8b.js.map => 3108.342c1bac.js.map} | 2 +- js/{7638.f66112bf.js => 7638.147e123d.js} | 2 +- js/{7638.f66112bf.js.map => 7638.147e123d.js.map} | 2 +- js/9476.5a051b83.js | 1 + js/9476.f2965c41.js | 1 - js/{app.3a50ed26.js => app.2c769e18.js} | 4 ++-- js/{app.3a50ed26.js.map => app.2c769e18.js.map} | 2 +- 9 files changed, 9 insertions(+), 9 deletions(-) rename js/{3108.ed5dbc8b.js => 3108.342c1bac.js} (99%) rename js/{3108.ed5dbc8b.js.map => 3108.342c1bac.js.map} (86%) rename js/{7638.f66112bf.js => 7638.147e123d.js} (99%) rename js/{7638.f66112bf.js.map => 7638.147e123d.js.map} (89%) create mode 100644 js/9476.5a051b83.js delete mode 100644 js/9476.f2965c41.js rename js/{app.3a50ed26.js => app.2c769e18.js} (99%) rename js/{app.3a50ed26.js.map => app.2c769e18.js.map} (99%) diff --git a/index.html b/index.html index 4f396c1e5..a0bb35a81 100644 --- a/index.html +++ b/index.html @@ -1 +1 @@ -STAC Browser
\ No newline at end of file +STAC Browser
\ No newline at end of file diff --git a/js/3108.ed5dbc8b.js b/js/3108.342c1bac.js similarity index 99% rename from js/3108.ed5dbc8b.js rename to js/3108.342c1bac.js index c486c40df..7a0d24e9f 100644 --- a/js/3108.ed5dbc8b.js +++ b/js/3108.342c1bac.js @@ -1,2 +1,2 @@ "use strict";(self["webpackChunk_radiantearth_stac_browser"]=self["webpackChunk_radiantearth_stac_browser"]||[]).push([[3108,5290,7519],{23108:function(e,i,o){o.r(i);var a=o(2566);i["default"]=a.Ay.mergeDeep({fields:o(39476)},o(27519),o(5290))},5290:function(e){e.exports=JSON.parse('{"authConfig":{"description":""},"fields":{}}')},27519:function(e){e.exports=JSON.parse('{"actions":{"openIn":"Apri in {service}"},"additionalActions":"Azioni aggiuntive","additionalResources":"Altre risorse","anonymized":{"title":"Anonimizzato"},"assets":{"alternate":{"main":"Preferito"},"copyGdalVfsUrl":{"generic":"Copia l\'URL del VFS GDAL","withSource":"Copia l\'URL del VFS GDAL per {source}"},"copyUrl":{"generic":"Copia l\'URL","withSource":"Copia l\'URL per {source}"},"currentlyShown":"Questa è la risorsa attualmente visualizzata","download":{"generic":"Download","withSource":"Download di {source}"},"inItems":"Risorsa negli Elementi | Risorse negli Elementi","role":{"data":"Dati","metadata":"Metadati"},"showOnMap":"Mostra sulla mappa","showThumbnail":"Mostra anteprima","shown":"Visualizzato"},"authentication":{"button":{"login":"Login","logout":"Logout","title":"Fornisci o aggiorna le tue credenziali"},"chooseMethod":"Scegliere il metodo di autenticazione","description":"La pagina richiesta è ad accesso controllato. Inserisci i tuoi dati di autenticazione nel campo di testo sottostante.","loggedOut":"Sei stato disconnesso con successo. Puoi chiudere questa finestra ora.","password":"Password","required":"Autenticazione richiesta","schemeTypes":{"http":"HTTP {scheme}","s3":"S3","signedUrl":"URL firmato","oauth2":"OAuth 2","apiKey":"Chiave API","openIdConnect":"OpenID Connect"},"title":"Accesso","unauthorized":"Non hai i permessi per accedere a questi dati. Effettua il login.","unsupported":"Non supportato","unsupportedLong":"Il metodo di autenticazione {method} non è supportato dal browser STAC.","user":"Utente"},"browse":"Esplora","cancel":"Annulla","catalog":{"license":"Licenza","temporalExtent":"Estensione temporale"},"catalogs":{"filterByTitle":"Filtra i cataloghi per titolo","filterByTitleAndMore":"Filtra i cataloghi per titolo, descrizione o parole chiave","loadMore":"Carica di più...","noMatches":"Nessun catalogo corrisponde ai criteri di ricerca indicati."},"checkbox":{"false":"No","true":"Si"},"copy":"Copia","default":"Predefinito","defaultWithValue":"Predefinito ({value})","deprecated":"Obsoleto","deprecation":{"fallbackTitle":"Mostra","latestVersion":"Ultima versione:","otherVersionsNotice":"Questo {type} *non* è obsoleto ma sono disponibili altre versioni:","otherVersionsTitle":"Altre versioni disponibili","outdatedTitle":"Datato","predecessorVersion":"Versione precedente:","successorVersion":"Versione successiva:","warning":"Questo {type} è obsoleto e potrebbe essere rimosso in qualsiasi momento. Evita di utilizzarlo nei nuovi progetti."},"description":"Descrizione","errors":{"authFailed":"La richiesta ha restituito un errore. I dati di accesso forniti potrebbero essere errati.","badRequest":"La richiesta non è valida. Questo potrebbe essere dovuto a parametri non validi, ad esempio in una richiesta di ricerca, oppure potrebbe essere un bug di STAC Browser.","contactProvider":"Contatta il fornitore del servizio per risolvere il problema.","default":"Non è stato possibile caricare la pagina richiesta.","forbidden":"Le credenziali specificate per questa richiesta non sono valide, ad esempio un token API scaduto o non valido. Fornisci altre credenziali e riprova.","invalidJsonObject":"La risposta non è un oggetto JSON valido.","invalidStacCollections":"La risposta dell\'API non è un elenco valido di Collezioni STAC.","invalidStacItems":"La risposta dell\'API non è un elenco valido di Elementi STAC.","labels":{"cause":"Causa:","code":"Codice d\'errore:","reason":"Motivo:","requestURL":"URL della richiesta:"},"loadApiCollectionsFailed":"Non è stato possibile caricare le Collezioni dell\'API.","loadApiItemsFailed":"Non è stato possibile caricare gli Elementi dell\'API.","loadFilteredItems":"Il caricamento di un elenco filtrato di Elementi non è riuscito.","loadItems":"Il caricamento dell\'elenco di Elementi STAC non è riuscito.","networkError":"Questo problema può verificarsi quando i server non consentono l\'accesso esterno tramite i browser web (ad esempio, quando non sono presenti le intestazioni CORS). @:errors.contactProvider","noExternalAccess":"L\'accesso a cataloghi esterni non è consentito!","notFound":"La risorsa richiesta non esiste. @:errors.contactProvider","serverError":"Il server ha riscontrato un problema. @:errors.contactProvider","unauthorized":"La richiesta necessita di credenziali, ad esempio un token API. Inserisci i tuoi dati di accesso e riprova."},"featureExperimental":"Questa funzione è ancora sperimentale e potrebbe dare risultati inaspettati!","fullscreen":{"exit":"Esci dalla modalità a schermo intero","show":"Mostra in modalità a schermo intero"},"goBack":{"description":"Torna a {type}","label":"Indietro"},"goToCollection":{"description":"Vai alla Collezione associata","descriptionWithTitle":"@:goToCollection.description: {title}","label":"Collezione"},"goToParent":{"description":"Sali di un livello","descriptionWithTitle":"@:goToParent.description: {title}","label":"Su"},"in":"in {catalog}","index":{"api":"API","catalog":"Catalogo","load":"Carica","selectStacIndex":"... o selezionane uno da {stacIndex}:","specifyCatalog":"Inserisci l\'indirizzo di un Catalogo o di un\'API STAC...","urlInvalid":"L\'URL non è valido.","urlMissingHost":"Host mancante.","urlMissingProtocol":"Protocollo mancante."},"items":{"filter":"Filtri","hideFilter":"Nascondi filtri","noTime":"Nessuna data/ora indicata","noneAvailableForCollection":"Non ci sono Elementi disponibili per questa Collezione.","showFilter":"Mostra filtri"},"leaflet":{"close":"Chiudi","noFeatureProperties":"Non ci sono altri dati disponibili per questo Elemento.","stayLayer":{"error":"Non è stato possibile aggiungere i dati alla mappa"},"zoom":{"in":{"description":"Zoom avanti","label":"+"},"out":{"description":"Zoom indietro","label":"-"}}},"loading":"Carico...","map":"Mappa","messageForSchemaError":"{message} per lo schema {schemaPath}","metadata":{"general":"Generale","title":"Metadati"},"multiselect":{"andMore":"e {count} in più","deselectLabel":"Premi invio per rimuovere","keywordsPlaceholder":"Seleziona parole chiave","placeholder":"Seleziona un\'opzione","selectLabel":"Premi invio per selezionare","selectedLabel":"Selezionato"},"open":"Apri","pagination":{"first":"« Primo","last":"Ultimo »","next":"Successivo ›","previous":"‹ Precedente"},"poweredBy":"Offerto da {link}","protocol":{"azure":"Microsoft Azure","file":"File system (locale)","ftp":"FTP","gcs":"Google Cloud","oss":"Alibaba Cloud","s3":{"amazonaws.com":"Amazon S3","default":"S3"}},"providers":{"email":"Invia e-mail","homepage":"Vai alla homepage","role":{"host":"Host","licensor":"Licenziante","processor":"Elaboratore","producer":"Produttore"},"title":"Fornitore | Fornitori"},"read":{"less":"Mostra di meno","more":"Mostra di più"},"reset":"Reimposta","search":{"addCollections":"Premi invio per aggiungere una Collezione","addFilter":"Aggiungi filtro","addItemIds":"Premi invio per aggiungere l\'ID di un Elemento","addSearchTerm":"Premi Invio per aggiungere un termine di ricerca","additionalFilters":"Filtri aggiuntivi","dateDescription":"Data/ora nel sistema UTC (tempo coordinato internazionale).","enterCollections":"Inserire una o più Collezioni...","enterItemIds":"Inserire uno o più ID di Elemento...","enterSearchTerms":"Inserisci uno o più termini di ricerca...","equalTo":"uguale a","filterBySpatialExtent":"Filtra per estensione spaziale","filterCollection":"Filtra Collezione","freeText":"Termini di ricerca","freeTextDescription":"Cerca almeno uno dei termini indicati in campi quali il titolo e la descrizione.","greaterThan":"maggiore di","greaterThanEqual":"maggiore o uguale a","itemIds":"ID di Elementi","itemsPerPage":"Elementi per pagina","itemsPerPageDescription":"Numero di Elementi richiesti per pagina, massimo {maxItems} Elementi.","lessThan":"minore di","lessThanEqual":"minore o uguale a","likeOperatorDescription":"Puoi usare i caratteri jolly. `_` corrisponde ad un singolo carattere, `%` corrisponde ad un numero qualsiasi di caratteri. Per cercare un carattere jolly in modo specifico, devi aggiungere `\\\\` davanti al carattere.","logical":{"and":"Abbina tutti i filtri (e)","or":"Abbina qualcuno dei filtri (o)"},"matches":"corrisponde a","metaDescription":"Cerca tra i dati offerti da {title}.","modifyCriteria":"Modifica i criteri di ricerca.","noFurtherItemsFound":"Nessun altro elemento disponibile.","noItemsFound":"Nessun Elemento corrispondente ai criteri di ricerca impostati.","noOptions":"Nessun valore inserito","notEqualTo":"diverso da","notFullySupported":"Alcune opzioni potrebbero non essere supportate.","notSupported":"La ricerca di Elementi non è supportata dall\'API.","placeholder":"Cerca...","selectCollections":"Selezionare una o più Collezioni...","selectForItemSearch":"Seleziona per Ricerca Elemento","sortOptions":{"datetime":"Data e ora","id":"ID","title":"Titolo"},"spatialExtent":"Estensione spaziale","tabs":{"collections":"Cerca Collezioni","items":"Cerca Elementi"},"temporalExtent":"Estensione temporale","title":"Ricerca","useInItemSearch":"Apri la Collezione nella Ricerca Elemento. Apri {count} Collezioni nella Ricerca Elemento"},"showMore":"Mostra di più...","sidebar":{"switchCatalog":"Cambia Catalogo"},"sort":{"asc":{"label":"Crescente","title":"Ordina in ordine crescente (A-Z)"},"desc":{"label":"Decrescente","title":"Ordina in ordine decrescente (Z-A)"},"title":"Ordina"},"source":{"conformanceClasses":"Classi di conformità","detailsAboutSource":"Informazioni sulla fonte STAC","extension":"Estensione","fileFormat":"Formato file","id":"ID","invalid":"Non valido","label":"Fonte","language":{"label":"Lingua: {currentLanguage}","onlyData":"Solo i dati sono disponibili in questa lingua!","onlyUI":"Solo l\'interfaccia utente è disponibile in questa lingua!","switch":"Cambia lingua"},"locatedAt":"Il file di metadati STAC si trova all\'indirizzo:","share":{"bsky":"Bluesky","email":"E-mail","label":"Condividi","mastodon":"Mastodon.social","message":"{title} è disponibile all\'indirizzo {url}","sharePageWithOthers":"Condividi l\'URL di questa pagina dove vuoi:","title":"Condivisione","x":"X (Twitter)","withOthers":"Condividi questa pagina con altri"},"stacExtension":"Estensione STAC","stacVersion":"Versione STAC","statistics":"Statistiche","title":"Fonte dati","valid":"Valido","validating":"In corso di validazione...","validationNA":"n/a","validationParams":{"additionalProperty":"proprietà aggiuntiva","allowedValue":"valore consentito","allowedValues":"valori consentiti","comparison":"confronto","depsCount":"totale","exclusive":"escluso il confine","failingKeyword":"schema non conforme","format":"formato","i":"primo elemento","j":"secondo elemento","limit":"limite","maxContains":"contiene al massimo","minContains":"contiene almeno","missingProperty":"proprietà mancante","multipleOf":"multiplo di","passingSchemas":"schema conforme","pattern":"modello","property":"proprietà","propertyName":"nome della proprietà","type":"tipo"},"validationReport":{"disclaimer":"Il rapporto di validazione è generato sulla base di schemi spesso non esaustivi, che non possono coprire tutti gli aspetti della specifica STAC e delle sue estensioni. Il rapporto di validazione non garantisce la completa conformità di un\'entità STAC alla specifica e alle sue estensioni.","result":"Risultato","title":"Rapporto di validazione"}},"stacAssets":"Risorsa | Risorse","stacCatalog":"Catalogo | Cataloghi","stacCollection":"Collezione | Collezioni","stacItem":"Elemento | Elementi","submit":"Invia","table":{"emptyFilteredText":"Non ci sono record corrispondenti alla tua richiesta","emptyText":"Non ci sono record da mostrare","sort":{"asc":"Clicca per ordinare in ordine crescente","clear":"Clicca per annullare l\'ordinamento","desc":"Clicca per ordinare in ordine decrescente"}},"thumbnails":"Anteprima","tree":{"moreCollectionPagesAvailable":"altre Collezioni disponibili","noChildren":"Non sono disponibili sottovoci."},"view":{"list":{"label":"Elenco","title":"Mostra elenco"},"tiles":{"label":"Schede","title":"Mostra schede"},"title":"Opzioni di visualizzazione"}}')}}]); -//# sourceMappingURL=3108.ed5dbc8b.js.map \ No newline at end of file +//# sourceMappingURL=3108.342c1bac.js.map \ No newline at end of file diff --git a/js/3108.ed5dbc8b.js.map b/js/3108.342c1bac.js.map similarity index 86% rename from js/3108.ed5dbc8b.js.map rename to js/3108.342c1bac.js.map index 964f23a1a..19eef0a3d 100644 --- a/js/3108.ed5dbc8b.js.map +++ b/js/3108.342c1bac.js.map @@ -1 +1 @@ -{"version":3,"file":"js/3108.ed5dbc8b.js","mappings":"oLACA,aAAeA,EAAAA,GAAMC,UACnB,CACEC,OAAQC,EAAQ,QAElBA,EAAQ,OACRA,EAAQ,M","sources":["webpack://@radiantearth/stac-browser/./src/locales/it/default.js"],"sourcesContent":["import Utils from '../../utils';\nexport default Utils.mergeDeep(\n {\n fields: require('./fields.json'),\n },\n require('./texts.json'),\n require('./custom.json')\n);"],"names":["Utils","mergeDeep","fields","require"],"sourceRoot":""} \ No newline at end of file +{"version":3,"file":"js/3108.342c1bac.js","mappings":"oLACA,aAAeA,EAAAA,GAAMC,UACnB,CACEC,OAAQC,EAAQ,QAElBA,EAAQ,OACRA,EAAQ,M","sources":["webpack://@radiantearth/stac-browser/./src/locales/it/default.js"],"sourcesContent":["import Utils from '../../utils';\nexport default Utils.mergeDeep(\n {\n fields: require('./fields.json'),\n },\n require('./texts.json'),\n require('./custom.json')\n);"],"names":["Utils","mergeDeep","fields","require"],"sourceRoot":""} \ No newline at end of file diff --git a/js/7638.f66112bf.js b/js/7638.147e123d.js similarity index 99% rename from js/7638.f66112bf.js rename to js/7638.147e123d.js index 250095af3..2a1d9b00a 100644 --- a/js/7638.f66112bf.js +++ b/js/7638.147e123d.js @@ -1,2 +1,2 @@ "use strict";(self["webpackChunk_radiantearth_stac_browser"]=self["webpackChunk_radiantearth_stac_browser"]||[]).push([[3108,5290,7519,7638],{77638:function(e,i,o){o.r(i);var a=o(23108);i["default"]=a["default"]},23108:function(e,i,o){o.r(i);var a=o(2566);i["default"]=a.Ay.mergeDeep({fields:o(39476)},o(27519),o(5290))},5290:function(e){e.exports=JSON.parse('{"authConfig":{"description":""},"fields":{}}')},27519:function(e){e.exports=JSON.parse('{"actions":{"openIn":"Apri in {service}"},"additionalActions":"Azioni aggiuntive","additionalResources":"Altre risorse","anonymized":{"title":"Anonimizzato"},"assets":{"alternate":{"main":"Preferito"},"copyGdalVfsUrl":{"generic":"Copia l\'URL del VFS GDAL","withSource":"Copia l\'URL del VFS GDAL per {source}"},"copyUrl":{"generic":"Copia l\'URL","withSource":"Copia l\'URL per {source}"},"currentlyShown":"Questa è la risorsa attualmente visualizzata","download":{"generic":"Download","withSource":"Download di {source}"},"inItems":"Risorsa negli Elementi | Risorse negli Elementi","role":{"data":"Dati","metadata":"Metadati"},"showOnMap":"Mostra sulla mappa","showThumbnail":"Mostra anteprima","shown":"Visualizzato"},"authentication":{"button":{"login":"Login","logout":"Logout","title":"Fornisci o aggiorna le tue credenziali"},"chooseMethod":"Scegliere il metodo di autenticazione","description":"La pagina richiesta è ad accesso controllato. Inserisci i tuoi dati di autenticazione nel campo di testo sottostante.","loggedOut":"Sei stato disconnesso con successo. Puoi chiudere questa finestra ora.","password":"Password","required":"Autenticazione richiesta","schemeTypes":{"http":"HTTP {scheme}","s3":"S3","signedUrl":"URL firmato","oauth2":"OAuth 2","apiKey":"Chiave API","openIdConnect":"OpenID Connect"},"title":"Accesso","unauthorized":"Non hai i permessi per accedere a questi dati. Effettua il login.","unsupported":"Non supportato","unsupportedLong":"Il metodo di autenticazione {method} non è supportato dal browser STAC.","user":"Utente"},"browse":"Esplora","cancel":"Annulla","catalog":{"license":"Licenza","temporalExtent":"Estensione temporale"},"catalogs":{"filterByTitle":"Filtra i cataloghi per titolo","filterByTitleAndMore":"Filtra i cataloghi per titolo, descrizione o parole chiave","loadMore":"Carica di più...","noMatches":"Nessun catalogo corrisponde ai criteri di ricerca indicati."},"checkbox":{"false":"No","true":"Si"},"copy":"Copia","default":"Predefinito","defaultWithValue":"Predefinito ({value})","deprecated":"Obsoleto","deprecation":{"fallbackTitle":"Mostra","latestVersion":"Ultima versione:","otherVersionsNotice":"Questo {type} *non* è obsoleto ma sono disponibili altre versioni:","otherVersionsTitle":"Altre versioni disponibili","outdatedTitle":"Datato","predecessorVersion":"Versione precedente:","successorVersion":"Versione successiva:","warning":"Questo {type} è obsoleto e potrebbe essere rimosso in qualsiasi momento. Evita di utilizzarlo nei nuovi progetti."},"description":"Descrizione","errors":{"authFailed":"La richiesta ha restituito un errore. I dati di accesso forniti potrebbero essere errati.","badRequest":"La richiesta non è valida. Questo potrebbe essere dovuto a parametri non validi, ad esempio in una richiesta di ricerca, oppure potrebbe essere un bug di STAC Browser.","contactProvider":"Contatta il fornitore del servizio per risolvere il problema.","default":"Non è stato possibile caricare la pagina richiesta.","forbidden":"Le credenziali specificate per questa richiesta non sono valide, ad esempio un token API scaduto o non valido. Fornisci altre credenziali e riprova.","invalidJsonObject":"La risposta non è un oggetto JSON valido.","invalidStacCollections":"La risposta dell\'API non è un elenco valido di Collezioni STAC.","invalidStacItems":"La risposta dell\'API non è un elenco valido di Elementi STAC.","labels":{"cause":"Causa:","code":"Codice d\'errore:","reason":"Motivo:","requestURL":"URL della richiesta:"},"loadApiCollectionsFailed":"Non è stato possibile caricare le Collezioni dell\'API.","loadApiItemsFailed":"Non è stato possibile caricare gli Elementi dell\'API.","loadFilteredItems":"Il caricamento di un elenco filtrato di Elementi non è riuscito.","loadItems":"Il caricamento dell\'elenco di Elementi STAC non è riuscito.","networkError":"Questo problema può verificarsi quando i server non consentono l\'accesso esterno tramite i browser web (ad esempio, quando non sono presenti le intestazioni CORS). @:errors.contactProvider","noExternalAccess":"L\'accesso a cataloghi esterni non è consentito!","notFound":"La risorsa richiesta non esiste. @:errors.contactProvider","serverError":"Il server ha riscontrato un problema. @:errors.contactProvider","unauthorized":"La richiesta necessita di credenziali, ad esempio un token API. Inserisci i tuoi dati di accesso e riprova."},"featureExperimental":"Questa funzione è ancora sperimentale e potrebbe dare risultati inaspettati!","fullscreen":{"exit":"Esci dalla modalità a schermo intero","show":"Mostra in modalità a schermo intero"},"goBack":{"description":"Torna a {type}","label":"Indietro"},"goToCollection":{"description":"Vai alla Collezione associata","descriptionWithTitle":"@:goToCollection.description: {title}","label":"Collezione"},"goToParent":{"description":"Sali di un livello","descriptionWithTitle":"@:goToParent.description: {title}","label":"Su"},"in":"in {catalog}","index":{"api":"API","catalog":"Catalogo","load":"Carica","selectStacIndex":"... o selezionane uno da {stacIndex}:","specifyCatalog":"Inserisci l\'indirizzo di un Catalogo o di un\'API STAC...","urlInvalid":"L\'URL non è valido.","urlMissingHost":"Host mancante.","urlMissingProtocol":"Protocollo mancante."},"items":{"filter":"Filtri","hideFilter":"Nascondi filtri","noTime":"Nessuna data/ora indicata","noneAvailableForCollection":"Non ci sono Elementi disponibili per questa Collezione.","showFilter":"Mostra filtri"},"leaflet":{"close":"Chiudi","noFeatureProperties":"Non ci sono altri dati disponibili per questo Elemento.","stayLayer":{"error":"Non è stato possibile aggiungere i dati alla mappa"},"zoom":{"in":{"description":"Zoom avanti","label":"+"},"out":{"description":"Zoom indietro","label":"-"}}},"loading":"Carico...","map":"Mappa","messageForSchemaError":"{message} per lo schema {schemaPath}","metadata":{"general":"Generale","title":"Metadati"},"multiselect":{"andMore":"e {count} in più","deselectLabel":"Premi invio per rimuovere","keywordsPlaceholder":"Seleziona parole chiave","placeholder":"Seleziona un\'opzione","selectLabel":"Premi invio per selezionare","selectedLabel":"Selezionato"},"open":"Apri","pagination":{"first":"« Primo","last":"Ultimo »","next":"Successivo ›","previous":"‹ Precedente"},"poweredBy":"Offerto da {link}","protocol":{"azure":"Microsoft Azure","file":"File system (locale)","ftp":"FTP","gcs":"Google Cloud","oss":"Alibaba Cloud","s3":{"amazonaws.com":"Amazon S3","default":"S3"}},"providers":{"email":"Invia e-mail","homepage":"Vai alla homepage","role":{"host":"Host","licensor":"Licenziante","processor":"Elaboratore","producer":"Produttore"},"title":"Fornitore | Fornitori"},"read":{"less":"Mostra di meno","more":"Mostra di più"},"reset":"Reimposta","search":{"addCollections":"Premi invio per aggiungere una Collezione","addFilter":"Aggiungi filtro","addItemIds":"Premi invio per aggiungere l\'ID di un Elemento","addSearchTerm":"Premi Invio per aggiungere un termine di ricerca","additionalFilters":"Filtri aggiuntivi","dateDescription":"Data/ora nel sistema UTC (tempo coordinato internazionale).","enterCollections":"Inserire una o più Collezioni...","enterItemIds":"Inserire uno o più ID di Elemento...","enterSearchTerms":"Inserisci uno o più termini di ricerca...","equalTo":"uguale a","filterBySpatialExtent":"Filtra per estensione spaziale","filterCollection":"Filtra Collezione","freeText":"Termini di ricerca","freeTextDescription":"Cerca almeno uno dei termini indicati in campi quali il titolo e la descrizione.","greaterThan":"maggiore di","greaterThanEqual":"maggiore o uguale a","itemIds":"ID di Elementi","itemsPerPage":"Elementi per pagina","itemsPerPageDescription":"Numero di Elementi richiesti per pagina, massimo {maxItems} Elementi.","lessThan":"minore di","lessThanEqual":"minore o uguale a","likeOperatorDescription":"Puoi usare i caratteri jolly. `_` corrisponde ad un singolo carattere, `%` corrisponde ad un numero qualsiasi di caratteri. Per cercare un carattere jolly in modo specifico, devi aggiungere `\\\\` davanti al carattere.","logical":{"and":"Abbina tutti i filtri (e)","or":"Abbina qualcuno dei filtri (o)"},"matches":"corrisponde a","metaDescription":"Cerca tra i dati offerti da {title}.","modifyCriteria":"Modifica i criteri di ricerca.","noFurtherItemsFound":"Nessun altro elemento disponibile.","noItemsFound":"Nessun Elemento corrispondente ai criteri di ricerca impostati.","noOptions":"Nessun valore inserito","notEqualTo":"diverso da","notFullySupported":"Alcune opzioni potrebbero non essere supportate.","notSupported":"La ricerca di Elementi non è supportata dall\'API.","placeholder":"Cerca...","selectCollections":"Selezionare una o più Collezioni...","selectForItemSearch":"Seleziona per Ricerca Elemento","sortOptions":{"datetime":"Data e ora","id":"ID","title":"Titolo"},"spatialExtent":"Estensione spaziale","tabs":{"collections":"Cerca Collezioni","items":"Cerca Elementi"},"temporalExtent":"Estensione temporale","title":"Ricerca","useInItemSearch":"Apri la Collezione nella Ricerca Elemento. Apri {count} Collezioni nella Ricerca Elemento"},"showMore":"Mostra di più...","sidebar":{"switchCatalog":"Cambia Catalogo"},"sort":{"asc":{"label":"Crescente","title":"Ordina in ordine crescente (A-Z)"},"desc":{"label":"Decrescente","title":"Ordina in ordine decrescente (Z-A)"},"title":"Ordina"},"source":{"conformanceClasses":"Classi di conformità","detailsAboutSource":"Informazioni sulla fonte STAC","extension":"Estensione","fileFormat":"Formato file","id":"ID","invalid":"Non valido","label":"Fonte","language":{"label":"Lingua: {currentLanguage}","onlyData":"Solo i dati sono disponibili in questa lingua!","onlyUI":"Solo l\'interfaccia utente è disponibile in questa lingua!","switch":"Cambia lingua"},"locatedAt":"Il file di metadati STAC si trova all\'indirizzo:","share":{"bsky":"Bluesky","email":"E-mail","label":"Condividi","mastodon":"Mastodon.social","message":"{title} è disponibile all\'indirizzo {url}","sharePageWithOthers":"Condividi l\'URL di questa pagina dove vuoi:","title":"Condivisione","x":"X (Twitter)","withOthers":"Condividi questa pagina con altri"},"stacExtension":"Estensione STAC","stacVersion":"Versione STAC","statistics":"Statistiche","title":"Fonte dati","valid":"Valido","validating":"In corso di validazione...","validationNA":"n/a","validationParams":{"additionalProperty":"proprietà aggiuntiva","allowedValue":"valore consentito","allowedValues":"valori consentiti","comparison":"confronto","depsCount":"totale","exclusive":"escluso il confine","failingKeyword":"schema non conforme","format":"formato","i":"primo elemento","j":"secondo elemento","limit":"limite","maxContains":"contiene al massimo","minContains":"contiene almeno","missingProperty":"proprietà mancante","multipleOf":"multiplo di","passingSchemas":"schema conforme","pattern":"modello","property":"proprietà","propertyName":"nome della proprietà","type":"tipo"},"validationReport":{"disclaimer":"Il rapporto di validazione è generato sulla base di schemi spesso non esaustivi, che non possono coprire tutti gli aspetti della specifica STAC e delle sue estensioni. Il rapporto di validazione non garantisce la completa conformità di un\'entità STAC alla specifica e alle sue estensioni.","result":"Risultato","title":"Rapporto di validazione"}},"stacAssets":"Risorsa | Risorse","stacCatalog":"Catalogo | Cataloghi","stacCollection":"Collezione | Collezioni","stacItem":"Elemento | Elementi","submit":"Invia","table":{"emptyFilteredText":"Non ci sono record corrispondenti alla tua richiesta","emptyText":"Non ci sono record da mostrare","sort":{"asc":"Clicca per ordinare in ordine crescente","clear":"Clicca per annullare l\'ordinamento","desc":"Clicca per ordinare in ordine decrescente"}},"thumbnails":"Anteprima","tree":{"moreCollectionPagesAvailable":"altre Collezioni disponibili","noChildren":"Non sono disponibili sottovoci."},"view":{"list":{"label":"Elenco","title":"Mostra elenco"},"tiles":{"label":"Schede","title":"Mostra schede"},"title":"Opzioni di visualizzazione"}}')}}]); -//# sourceMappingURL=7638.f66112bf.js.map \ No newline at end of file +//# sourceMappingURL=7638.147e123d.js.map \ No newline at end of file diff --git a/js/7638.f66112bf.js.map b/js/7638.147e123d.js.map similarity index 89% rename from js/7638.f66112bf.js.map rename to js/7638.147e123d.js.map index 31697ffbc..944f4a66e 100644 --- a/js/7638.f66112bf.js.map +++ b/js/7638.147e123d.js.map @@ -1 +1 @@ -{"version":3,"file":"js/7638.f66112bf.js","mappings":"0LACA,aAAeA,EAAAA,U,6CCAf,aAAeC,EAAAA,GAAMC,UACnB,CACEC,OAAQC,EAAQ,QAElBA,EAAQ,OACRA,EAAQ,M","sources":["webpack://@radiantearth/stac-browser/./src/locales/it-CH/default.js","webpack://@radiantearth/stac-browser/./src/locales/it/default.js"],"sourcesContent":["import it from '../it/default';\nexport default it;\n","import Utils from '../../utils';\nexport default Utils.mergeDeep(\n {\n fields: require('./fields.json'),\n },\n require('./texts.json'),\n require('./custom.json')\n);"],"names":["it","Utils","mergeDeep","fields","require"],"sourceRoot":""} \ No newline at end of file +{"version":3,"file":"js/7638.147e123d.js","mappings":"0LACA,aAAeA,EAAAA,U,6CCAf,aAAeC,EAAAA,GAAMC,UACnB,CACEC,OAAQC,EAAQ,QAElBA,EAAQ,OACRA,EAAQ,M","sources":["webpack://@radiantearth/stac-browser/./src/locales/it-CH/default.js","webpack://@radiantearth/stac-browser/./src/locales/it/default.js"],"sourcesContent":["import it from '../it/default';\nexport default it;\n","import Utils from '../../utils';\nexport default Utils.mergeDeep(\n {\n fields: require('./fields.json'),\n },\n require('./texts.json'),\n require('./custom.json')\n);"],"names":["it","Utils","mergeDeep","fields","require"],"sourceRoot":""} \ No newline at end of file diff --git a/js/9476.5a051b83.js b/js/9476.5a051b83.js new file mode 100644 index 000000000..1e4f61b27 --- /dev/null +++ b/js/9476.5a051b83.js @@ -0,0 +1 @@ +"use strict";(self["webpackChunk_radiantearth_stac_browser"]=self["webpackChunk_radiantearth_stac_browser"]||[]).push([[9476],{39476:function(e){e.exports=JSON.parse('{"%":"%","1 (less latency / less gauges)":"1 (meno latenza / meno indicatori)","16-bit complex integer":"Numero intero a 16-bit","16-bit float":"Numero decimale a 16-bit","16-bit integer":"Numero intero a 16-bit","2 (more latency / more gauges)":"2 (più latenza / più indicatori)","32-bit complex float":"Numero decimale complesso a 32-bit","32-bit complex integer":"Numero intero complesso a 32-bit","32-bit float":"Numero decimale a 32-bit","32-bit integer":"Numero intero a 32-bit","3: 1x full disk, 3x continental US, 30x mesoscale region 1, 30x mesoscale region 2 (every 15 minutes)":"3: 1x disco pieno, 3x Stati Uniti continentali, 30x Regione mesoscala 1, 30x Regione mesoscala 2 (ogni 15 minuti)","3D Tiles":"Tasselli 3D","4: 1x full disk (every 5 minutes)":"4: 1x disco pieno (ogni 5 minuti)","64-bit complex float":"Numero complesso a 64-bit","64-bit float":"Numero decimale a 64-bit","64-bit integer":"Numero intero a 64-bit","6: 1x full disk, 2x continental US, 20x mesoscale region 1, 20x mesoscale region 2 (every 10 minutes)":"6: 1x disco pieno, 2x Stati Uniti continentali, 20x Regione mesoscala 1, 20x Regione mesoscala (ogni 10 minuti)","8-bit integer":"Numero intero a 8-bit","ANX Time":"Ora ANX","API Version":"Versione dell\'API","API conformance declaration":"Dichiarazione di conformità dell\'API","API definitions":"Definizioni dell\'API","API user documentation":"Documentazione utente dell\'API","About this resource":"Informazioni su questa risorsa","Abs. Orbit Number":"Numero ass. d\'orbita","Abs. RTC Accuracy":"Accuratezza ass. CRT","Absolute Orbit Number":"Numero assoluto d\'orbita","Absolute accuracy of the Radiometric Terrain Correction":"Accuratezza assoluta della correzione radiometrica a terra","Accumulation Period":"Periodo di accumulazione","Acquisition Type":"Tipo di acquisizione","Additional Resources":"Altre risorse","Address":"Indirizzo","Alaska":"Alaska","Alibaba Cloud":"Cloud Alibaba","Alternate Name":"Nome alternativo","Alternative Access Methods":"Metodi di accesso alternativi","Alternative representation":"Rappresentazione alternativa","Alternatives":"Alternative","Amazon AWS":"AWS Amazon","Anonymized Location":"Localizzazione anonimizzata","Area":"Superficie","Area in Central/South America":"Regione in centro/sud America","Ascending Node Crossing time":"Ora di attraversamento del nodo ascendente","Asset Type":"Tipo di risorsa","Available Languages":"Lingue disponibili","Average":"Media","Average spatial resolution":"Risoluzione spaziale media","Axis":"Asse","Azimuth Looks":"Viste (looks) azimutali","Azimuth Pixel Spacing":"Spaziatura dei pixel in azimut","Azimuth Resolution":"Risoluzione azimutale","Back-End Version":"Versione del back-end","Bands":"Bande","Based on IANA relation types":"Basato sui tipi di relazioni IANA","Based on the IANA media (MIME) types":"Basato sui tipi di media (MIME) IANA","Billing":"Fatturazione","Binary":"Binario","Binary file":"File binario","Bit Mask":"Bit Mask","Bitmap":"Bitmap","Bitmap image":"Immagine bitmap","Bits per Sample":"Bits per campione","Bounding Box":"Bounding Box","Bundle Type":"Tipo di impacchettamento","Byte Order":"Ordine dei byte","CARD4L":"CARD4L","CBERS":"CBERS","CEOS Analysis Ready Data for Land":"Dati CEOS pronti per l\'analisi del territorio","CRS":"CRS","Cadence":"Cadenza","Calibration":"Calibrazione","Canceled (delivery stopped)":"Annullato (consegna interrotta)","Capture Mode":"Modo di cattura","Caribbean Islands":"Isole Caraibiche","Center Frequency":"Frequenza centrale","Central Wavelength":"Lunghezza d\'onda centrale","Central/South America (mesoscale)":"Centro/sud America (mesoscala)","Centroid":"Centroide","Checksum":"Somma di controllo (checksum)","China-Brazil Earth Resources Satellite Program":"Programma satellitare Cina-Brasile per le risorse della Terra","Citation":"Citazione","Citation information":"Informazioni di citazione","City":"Città","Classes":"Classi","Classification":"Classificazione","Clear Sky":"Cielo sereno","Cloud Cover":"Copertura nuvolosa","Cloud Storage":"Archiviazione nel cloud","Cloud-Optimized GeoTIFF image":"Immagine GeoTIFF ottimizzata per il cloud","Cloud-Optimized Point Cloud (LASzip)":"Nuvola di punti (LASzip) ottimizzata per il cloud ","Code":"Codice","Collection Category":"Categoria della collezione","Collection Number":"Numero della collezione","Color":"Colore","Columns":"Colonne","Comma-separated values (CSV)":"Valori separati da virgola (CSV)","Common Name":"Nome comune","Constellation":"Costellazione","Contacts":"Contatti","Container":"Contenitore","Continental US":"Stati Uniti continentali","Control points used to geolocate image, no terrain correction":"Punti di controllo utilizzati per geolocalizzare l\'immagine, nessuna correzione del terreno","Control points used to geolocate image, orthorectified":"Punti di controllo utilizzati per geolocalizzare l\'immagine, ortorettificata","Coordinate / Temporal / Other Reference System":"Sistema di coordinate / temporale / altro sistema di riferimento","Coordinate Reference System":"Sistema di riferimento delle coordinate","Coordinate data":"Coordinate","Copernicus Sentinel":"Copernicus Sentinel","Count":"Totale","Country":"Paese","Counts":"Totali","Created":"Creazione","Current Language":"Lingua attuale","DOI":"DOI","DOQ":"DOQ","DOQQ":"DOQQ","Data":"Dati","Data Coverage":"Copertura dei dati","Data Cube":"Cubo di dati","Data Lost":"Perdita di dati","Data Type":"Tipo di dati","Data Type of Values":"Tipo di dato dei valori","Data Version":"Versione dei dati","Delivered (data is available)":"Consegnato (i dati sono disponibili)","Density":"Densità","Deprecated":"Obsoleto","Description":"Descrizione","Description of the resource":"Descrizione della risorsa","Digital Orthophoto Quadrangle":"Quadrangolo d\'ortofoto digitale","Digital Orthophoto Quarter Quadrangle":"Quarto di quadrangolo d\'ortofoto digitale","Dimensions":"Dimensioni","Direction":"Direzione","EASE-DGGS":"EASE-DGGS","ENL":"ENL","EPSG Code":"Codice EPSG","ESA Climate Change Initiative - Land Cover":"Iniziativa ESA sul cambiamento climatico - Copertura del suolo","East":"Est","Eastern Geometric Accuracy":"Accuratezza geometrica est","Easting":"Orientamento est","Electro-Optical":"Elettro-ottico","Ellipsoidal Height":"Altezza ellissoidica","Email":"E-mail","Equivalent Number of Looks":"Numero equivalente di viste (looks)","Events navigated by Instrument":"Eventi navigati per strumento","Experimental":"Sperimentale","Expires":"Scadenza","Extent":"Estensione","FWHM":"FWHM","Facility":"Installazione","Failed (unable to deliver)":"Fallito (impossibile consegnare)","Fax":"Fax","Federal Office of Topography (Switzerland)":"Ufficio federale di topografia (Svizzera)","File":"File","File Format":"Formato file","Finalized":"Finalizzato","Flag indicating that the spacecraft is operating in yaw flip configuration.":"Flag che indica che il veicolo spaziale sta operando in configurazione Yaw Flip","Font":"Tipo di carattere (font)","Footprint":"Impronta a terra","Forecast":"Previsione","Forecast Horizon":"Orizzonte di previsione","Forecast Length":"Durata della previsione","Format":"Formato","Fraction of level {i} column cell":"Porzione del livello {i} della colonna della cella","Fraction of level {i} row cell":"Porzione del livello {i} della riga della cella","Frequency Band":"Frequenza della banda","Full Width Half Max":"Semilarghezza totale massima","Further Instructions":"Altre Istruzioni","GHz":"GHz","GIF image":"Immagine GIF","GSD":"GSD","GZIP archive":"Archivio GZIP","GeoTIFF image":"Immagine GeoTIFF","Geolocation precision level":"Livello di precisione della geolocalizzazione","Geolocation using only satellite telemetry":"Geolocalizzazione con la sola telemetria satellitare","Geometry Types":"Tipi Di Geometria","Google Cloud Platform":"Piattaforma cloud di Google","Google Earth Engine":"Google Earth Engine","Grayscale with relief":"Scala di grigi con rilievo","Grayscale without relief":"Scala di grigi senza rilievo","Grid":"Griglia","Grid Cell":"Cella della griglia","Grid Square":"Riquadro della griglia","Gridded Data":"Dati raster","Ground Sample Distance":"Distanza del campione a terra","Guam":"Guam","HTML (Website)":"HTML (Sito Web)","HTTP Headers":"Intestazioni HTTP","HTTP Method":"Metodo HTTP","HTTP Methods":"Metodi HTTP","Hashing algorithm:":"Algoritmo di hashing:","Hawaii":"Hawaii","Header Size":"Dimensione dell\'intestazione","Histogram":"Istogramma","Horizontal":"Orizzontale","IBM Cloud":"Cloud IBM","Identifier":"Identificatore","Illustration":"Illustrazione","Image Dimensions":"Dimensioni dell\'immagine","Image Strip ID":"ID della striscia dell\'immagine","Image collection":"Collezione dell\'immagine","Incidence Angle":"Angolo di incidenza","Incidence Angle (far)":"Angolo di incidenza (lontano)","Incidence Angle (near)":"Angolo di incidenza (vicino)","Instrument Mode":"Modalità dello strumento","Instruments":"Strumenti","Int. Designator":"Numero di catalogazione inter.","International designator for the platform, also known as COSPAR ID and NSSDCA ID.":"Numero di catalogazione internazionale della piattaforma, noto anche come COSPAR ID e NSSDCA ID.","Internationalization / Localization":"Internazionalizzazione / localizzazione","Inverted":"Invertito","JPEG 2000 image":"Immagine JPEG 2000","JPEG image":"Immagine JPEG","JSON encoding of WKT2":"Codifica JSON di WKT2","Keywords":"Parole chiave","Labels / ML":"Etichette / ML","Land Cloud Cover":"Copertura nuvolosa a terra","Landsat":"Landsat","Language":"Lingua","Latest version":"Ultima versione","Latitude Band":"Banda di latitudine","Layers":"Layers","Level":"Livello","Level 0 column cell":"Livello 0 della colonna delle cella","Level 0 row cell":"Livello 0 della riga della cella","License":"Licenza","Lightning Events":"Evento Lightning","Lightning Flashes":"Lightning Flashes","Lightning Groups":"Gruppi Lightning","Lightning flash maximum time difference among lightning events in a flash":"Flash Lightning, differenza massima di tempo tra gli eventi Lightning in un Flash","Lightning group maximum time difference among lightning events in a group":"Gruppo Lightning, differenza massima di tempo tra gli eventi Lightning in un gruppo","Lineage":"Lineage","Local Path":"Percorso (path) locale","Logo":"Logo","MGRS":"MGRS","MODIS Sinusoidal Tile Grid":"Tile Grid MODIS sinusoidale","Map of Values":"Mappa dei valori","Markdown document":"Documento markdown","Max.":"Max.","Maxar ARD Tile Grid":"Tile Grid Maxar ARD","Maxmimum value":"Valore massimo","Mean Faraday Rotation":"Rotazione media di Faraday","Measured values":"Valori misurati","Meta Raster Format":"Formato Meta Raster","Metadata":"Metadati","Methods":"Metodi","Microsoft":"Microsoft","Microsoft Azure":"Microsoft Azure","Military Grid Reference System":"Military Grid Reference System","Min.":"Min.","Minimum value":"Valore minimo","Mission":"Missione","NOAA GOES":"NOAA GOES","NOAA Geostationary Operational Environmental Satellite":"Satellite ambientale operativo geostazionario della NOAA","NOAA MRMS QPE":"NOAA MRMS QPE","NOAA Multi-Radar Multi-Sensor Quantitative Precipitation Estimation":"Stima quantitativa delle precipitazioni dal sistema multisensore della NOAA","Name":"Nome","Neither":"Nessuno dei due","Newline Delimited JSON":"JSON delimitato da nuova riga","Next page":"Pagina successiva","No-Data Values":"Valori No-Data","No-data value":"Valore No-data","Noise Equivalent Intensity":"Intensità equivalente di rumore","Nominal":"Nominale","Nominal satellite height above GRS 80 ellipsoid":"Altezza nominale del satellite sopra l\'ellissoide GRS 80","Normalized Radar Backscatter (SAR)":"Retrodiffusione Radar Normalizzata (SAR)","North":"Nord","North America (continental US)":"Nord America (Stati Uniti continentali)","Northern Geometric Accuracy":"Accuratezza geometrica nord","Northing":"Orientamento nord","Number":"Numero","Number of Points":"Numero di punti","Number of bits":"Numero di bits","Number of samples":"Numero di campioni","OGC Web Map Service (WMS)":"WMS OGC","OGC Web Map Tile Service (WMTS)":"WMTS OGC","Observation Direction":"Direzione di osservazione","Off-Nadir Angle":"Angolo off-nadir","Offset":"Offset","Offset to the first bit":"Offset al primo bit","Open Data Cube":"Open Data Cube","Operational system, real-time data":"Sistema operativo, dati in tempo reale","Operational system, test data":"Sistema operativo, dati di test","Oracle Cloud":"Cloud Oracle","Orbit State":"Stato dell\'orbita","Orbital Slot":"Slot orbitale","Order":"Ordine","Order details":"Dettagli dell\'ordine","Orderable (data can be ordered)":"Ordinabile (i dati possono essere ordinati)","Ordered (preparing to deliver data)":"Ordinato (consegna dati in preparazione)","Organization":"Organizzazione","Origin of this document":"Origine di questo documento","Other":"Altro","Overview":"Panoramica","Overviews":"Panoramiche","PDF document":"Document PDF","PMTiles":"PMTiles","PNG image":"Immagine PNG","PROJJSON":"PROJJSON","Parent STAC Catalog":"Catalogo STAC di livello superiore","Pass Number":"Numero di passaggio","Path":"Percorso (path)","Path Template":"Modello del percorso (path)","Pending (waiting for activation)":"In attesa di attivazione","Percentage of samples":"Percentuale di campioni","Percentage of valid values":"Percentuale di valori validi","Personal":"Personale","Phone":"Telefono","Planet Labs PBC":"Planet Labs PBC","Platform":"Piattaforma","Platform Altitude":"Altitudine della piattaforma","Point (at pixel center)":"Punto (al centro del pixel)","Point Cloud":"Nuvola di punti","Points":"Punti","Polarimetric Radar (SAR)":"Radar polarimetrico (SAR)","Polarizations":"Polarizzazione","Position":"Posizione","Positional Accuracy":"Accuratezza posizionale","Postal Addresses":"Indirizzo Postale","Postal Code":"Codice Postale","Predecessor version":"Versione precedente","Preview":"Anteprima","Previous page":"Pagina precedente","Primary Geometry Column":"Colonna della geometria principale","Processing":"Elaborazione","Processing Instructions":"Istruzioni d\'elaborazione","Processing Level":"Livello d\'elaborazione","Processing Status":"Stato d\'elaborazione","Processing Time":"Tempo di elaborazione","Processing inctructions/code":"Istruzioni/codice d\'elaborazione","Processor Version":"Versione processore","Product":"Prodotto","Product ID":"ID prodotto","Product Type":"Tipo di prodotto","Product Variant":"Variante del prodotto","Production-Ready":"Pronto per la produzione","Projection":"Proiezione","Properties":"Proprietà","Property Key":"Chiave della proprietà","Provider":"Fornitore","Providers":"Fornitori","Publication":"Pubblicazione","Publications":"Pubblicazioni","Published":"Pubblicato","Publishing Stage":"Fase di pubblicazione","Purpose":"Scopo","Quadkey":"Quadkey","Quadrangle":"Quadrangolo","Quality Category":"Categoria di qualità","Quarter":"Quarto","RGB color with relief":"Colore RGB con rilievo","RGB color without relief":"Colore RGB senza rilievo","Range Looks":"Range Looks","Range Pixel Spacing":"Range Pixel Spacing","Range Resolution":"Range Resolution","Raster Imagery":"Immagini raster","Read Options":"Opzioni di lettura","Reading and writing direction":"Direzione di lettura e scrittura","Reference Grid Path":"Percorso (path) della griglia di riferimento","Reference Grid Row":"Riga della griglia di riferimento","Reference System":"Sistema di riferimento","Reference Time":"Tempo di riferimento","Region":"Regione","Region 1":"Regione 1","Region 2":"Regione 2","Rel. Orbit Number":"Numero rel. d\'orbita","Rel. RTC Accuracy":"Accuratezza rel. CRT","Related resource":"Risorsa correlata","Relation":"Relazione","Relative Orbit Number":"Numero relativo d\'orbita","Relative accuracy of the Radiometric Terrain Correction":"Accuratezza relativa della correzione radiometrica a terra","Request Body":"Corpo della richiesta","Requester Pays":"Costi a carico del richiedente","Resolution":"Risoluzione","Revisit Interval":"Intervallo di rivisitazione","Root STAC Catalog":"Catalogo STAC radice (root)","Row":"Riga","Rows":"Righe","SAR":"SAR","STAC Collection":"Collezione STAC","STAC Item for input data":"Elemento (item) STAC per i dati inseriti","STAC Statistics":"Statistiche STAC","SVG vector image":"Immagine vettoriale SVG","Sampling":"Campionamento","Satellite":"Satellite","Satellite Height":"Altitudine del satellite","Satellite Subpoint Latitude":"Latitudine del subpoint del satellite","Satellite Subpoint Longitude":"Longitudine del subpoint del satellite","Scale":"Scala","Scene ID":"ID della scena","Schemas":"Schemi","Scientific":"Scientifico","Sentinel-2":"Sentinel-2","Sequence":"Sequenza","Servers":"Servers","Shipping (data is getting processed)":"Spedizione (i dati sono stati elaborati)","Single image":"Immagine singola","Size":"Dimensione","Snow/Ice Cover":"Copertura nevosa/glaciale","Software":"Software","Solar Illumination":"Illuminazione solare","Solar System":"Sistema solare","Source data":"Dati d\'origine","Source metadata":"Metadati d\'origine","South":"Sud","Spatial Resolution":"Risoluzione spaziale","Specification":"Specifica","Specification Version":"versione della specifica","Speckle Filtering":"Filtraggio speckle","Spectral Bands":"Bande spettrali","Square Identifier":"Identificatore quadrato","Standard":"Standard","Standard Deviation":"Deviazione standard","State / Province":"Stato / Provincia","Statistics":"Statistiche","Status":"Stato","Std. Dev.":"Dev. std.","Step":"Fase","Storage Account":"Account di archiviazione","Street / House":"Via / Casa","Styles":"Stili","Submitted":"Spedito","Successful Rectification Ratio":"Tasso di successo delle rettifiche","Successor version":"Versione successiva","Summary":"Sommario","Sun Azimuth":"Azimut del sole","Sun Elevation":"Altezza del sole","Supported Endpoints":"Supported Endpoints","Surface Reflectance (Optical)":"Riflettanza della superficie (ottica)","Surface Temperature (Optical)":"Temperatura della superficie (ottica)","Synthetic Aperture Radar":"Radar ad apertura sintetica","System Environment":"Ambiente sistema","TIFF image":"Immagine TIFF","Table":"Tabella","Tables":"Tabelle","Tabular Data":"Dati tabellari","Target Body":"Target Body","Tasks":"Compito","Terms":"Termini","Terms of Use":"Condizioni d\'uso","Test":"Test","Test system, playback data":"Sistema di test, dati playback","Test system, real-time data":"Sistema di test, dati in tempo reale","Test system, simulated data":"Sistema di test, dati simulati","Test system, test data":"Sistema di test, dati di test","Text":"Testo","Text document":"Documento di testo","The Americas (full disk)":"Le Americhe (disco pieno)","The center wavelength of the band":"La lunghezza d\'onda centrale della banda","The size of one side of the anonymized bounding box":"La dimensione di un lato del bounding box anonimizzato","The time between the reference time and the forecast time":"Il tempo che intercorre tra il tempo di riferimento ed il tempo previsto","Themes":"Temi","This document":"Questo documento","Tier Type":"Tipo di livello","Tile Matrix Set Links":"Link del Tile Matrix Set","Tile Matrix Sets":"Tile Matrix Sets","TileJSON":"TileJSON","Tiled Assets":"Risorse a piastrella (tiles)","Time Threshold in a Flash":"Soglia temporale di un Flash","Time Threshold in a Group":"Soglia temporale di un gruppo","Time of Data":"Timestamp dei dati","Time of Data begins":"Timestamp di inizio dei dati","Time of Data ends":"Timestamp di fine dei dati","Timeliness":"Tempistica","Timeliness Category":"Categoria tempistica","Title":"Titolo","Total number of values":"Numero totale di valori","Transformation Matrix":"Matrice di trasformazione","Transparency":"Trasparenza","Type":"Tipo","Types":"Tipi","URL":"URL","UTM Zone":"Zoma UTM","Uncertainty":"Incertezza","Unfilled Image Parts":"Parti dell\'immagine vuote","Unit of Values":"Unità dei valori","Unpublished":"Non pubblicato","Until {0}":"Fino a {0}","Updated":"Aggiornamento","Upright":"verticale","Used For":"Usato per","Valid":"Valido","Valid Cloud Cover":"Copertura nuvolosa valida","Value":"Valore","Values":"Valori","Variables":"Variabili","Variance":"Varianza","Vertical":"Verticale","View Geometry":"Geometria vista","Viewing Azimuth":"Azimut di visualizzazione","Visualization":"Visualizzazione","Visualizations":"Visualizzazioni","Vocabulary":"Vocabolario","W/m²/μm":"W/m²/μm","WKT2":"WKT2","WRS Path":"Percorso (path) WRS","WRS Row":"Riga WRS","WRS Type":"Tipo WRS","WRS-1":"WRS-1","WRS-2":"WRS-2","Warning":"Avviso","Wavelength":"Lunghezza d\'onda","Web Maps":"Mappe web","WebP image":"Immagine WebP","Well-Known Text, version 2":"Well-Known Text, versione 2","West":"Ovest","Work":"Lavoro","Worldwide Reference System 1":"Sistema di riferimento mondiale 1","Worldwide Reference System 2":"Sistema di riferimento mondiale 2","Worldwide Reference System Path":"Percorso (path) sistema di riferimento mondiale","Worldwide Reference System Row":"Riga sistema di riferimento mondiale","Worldwide Reference System Type":"Tipo sistema di riferimento mondiale","XYZ Web Map":"Mappa web XYZ","Yaw Flip Configuration":"Configurazione Yaw Flip","ZIP archive":"Archivio ZIP","bytes":"bytes","dB":"dB","fsspec Options":"Opzioni fsspec","h":"h","km":"km","left-to-right":"da sinistra a destra","m":"m","n/a":"n/a","nm":"nm","non-standard":"non standard","none":"nessuno","openEO":"openEO","right-to-left":"da destra a sinistra","s":"s","swisstopo":"swisstopo","unsigned 16-bit integer":"Numero intero a 16 bit senza segno","unsigned 32-bit integer":"Numero intero a 32 bit senza segno","unsigned 64-bit integer":"Numero intero a 64 bit senza segno","unsigned 8-bit integer":"Numero intero a 8 bit senza segno","xarray":"xarray","{0} until present":"{0} fino ad ora","°":"°","°E":"°E","°N":"°N","μm":"μm"}')}}]); \ No newline at end of file diff --git a/js/9476.f2965c41.js b/js/9476.f2965c41.js deleted file mode 100644 index 1646a2ab0..000000000 --- a/js/9476.f2965c41.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self["webpackChunk_radiantearth_stac_browser"]=self["webpackChunk_radiantearth_stac_browser"]||[]).push([[9476],{39476:function(e){e.exports=JSON.parse('{"%":"%","1 (less latency / less gauges)":"1 (meno latenza / meno indicatori)","16-bit complex integer":"Numero intero a 16-bit","16-bit float":"Numero decimale a 16-bit","16-bit integer":"Numero intero a 16-bit","2 (more latency / more gauges)":"2 (più latenza / più indicatori)","32-bit complex float":"Numero decimale complesso a 32-bit","32-bit complex integer":"Numero intero complesso a 32-bit","32-bit float":"Numero decimale a 32-bit","32-bit integer":"Numero intero a 32-bit","3: 1x full disk, 3x continental US, 30x mesoscale region 1, 30x mesoscale region 2 (every 15 minutes)":"3: 1x disco pieno, 3x Stati Uniti continentali, 30x Regione mesoscala 1, 30x Regione mesoscala 2 (ogni 15 minuti)","3D Tiles":"Tasselli 3D","4: 1x full disk (every 5 minutes)":"4: 1x disco pieno (ogni 5 minuti)","64-bit complex float":"Numero complesso a 64-bit","64-bit float":"Numero decimale a 64-bit","64-bit integer":"Numero intero a 64-bit","6: 1x full disk, 2x continental US, 20x mesoscale region 1, 20x mesoscale region 2 (every 10 minutes)":"6: 1x disco pieno, 2x Stati Uniti continentali, 20x Regione mesoscala 1, 20x Regione mesoscala (ogni 10 minuti)","8-bit integer":"Numero intero a 8-bit","ANX Time":"Ora ANX","API Version":"Versione dell\'API","API conformance declaration":"Dichiarazione di conformità dell\'API","API definitions":"Definizioni dell\'API","API user documentation":"Documentazione utente dell\'API","About this resource":"Informazioni su questa risorsa","Abs. Orbit Number":"Numero ass. d\'orbita","Abs. RTC Accuracy":"Accuratezza ass. CRT","Absolute Orbit Number":"Numero assoluto d\'orbita","Absolute accuracy of the Radiometric Terrain Correction":"Accuratezza assoluta della correzione radiometrica a terra","Accumulation Period":"Periodo di accumulazione","Acquisition Type":"Tipo di acquisizione","Additional Resources":"Altre risorse","Address":"Indirizzo","Alaska":"Alaska","Alibaba Cloud":"Cloud Alibaba","Alternate Name":"Nome alternativo","Alternative Access Methods":"Metodi di accesso alternativi","Alternative representation":"Rappresentazione alternativa","Alternatives":"Alternative","Amazon AWS":"AWS Amazon","Anonymized Location":"Localizzazione anonimizzata","Area":"Superficie","Area in Central/South America":"Regione in centro/sud America","Ascending Node Crossing time":"Ora di attraversamento del nodo ascendente","Asset Type":"Tipo di risorsa","Available Languages":"Lingue disponibili","Average":"Media","Average spatial resolution":"Risoluzione spaziale media","Axis":"Asse","Azimuth Looks":"Viste (looks) azimutali","Azimuth Pixel Spacing":"Spaziatura dei pixel in azimut","Azimuth Resolution":"Risoluzione azimutale","Back-End Version":"Versione del back-end","Bands":"Bande","Based on IANA relation types":"Basato sui tipi di relazioni IANA","Based on the IANA media (MIME) types":"Basato sui tipi di media (MIME) IANA","Billing":"Fatturazione","Binary":"Binario","Binary file":"File binario","Bit Mask":"Bit Mask","Bitmap":"Bitmap","Bitmap image":"Immagine bitmap","Bits per Sample":"Bits per campione","Bounding Box":"Bounding Box","Bundle Type":"Tipo di impacchettamento","Byte Order":"Ordine dei byte","CARD4L":"CARD4L","CBERS":"CBERS","CEOS Analysis Ready Data for Land":"Dati CEOS pronti per l\'analisi del territorio","CRS":"CRS","Cadence":"Cadenza","Calibration":"Calibrazione","Canceled (delivery stopped)":"Annullato (consegna interrotta)","Capture Mode":"Modo di cattura","Caribbean Islands":"Isole Caraibiche","Center Frequency":"Frequenza centrale","Central Wavelength":"Lunghezza d\'onda centrale","Central/South America (mesoscale)":"Centro/sud America (mesoscala)","Centroid":"Centroide","Checksum":"Somma di controllo (checksum)","China-Brazil Earth Resources Satellite Program":"Programma satellitare Cina-Brasile per le risorse della Terra","Citation":"Citazione","Citation information":"Informazioni di citazione","City":"Città","Classes":"Classi","Classification":"Classificazione","Clear Sky":"Cielo sereno","Cloud Cover":"Copertura nuvolosa","Cloud Storage":"Archiviazione nel cloud","Cloud-Optimized GeoTIFF image":"Immagine GeoTIFF ottimizzata per il cloud","Cloud-Optimized Point Cloud (LASzip)":"Nuvola di punti (LASzip) ottimizzata per il cloud ","Code":"Codice","Collection Category":"Categoria della collezione","Collection Number":"Numero della collezione","Color":"Colore","Columns":"Colonne","Comma-separated values (CSV)":"Valori separati da virgola (CSV)","Common Name":"Nome comune","Constellation":"Costellazione","Contacts":"Contatti","Container":"Contenitore","Continental US":"Stati Uniti continentali","Control points used to geolocate image, no terrain correction":"Punti di controllo utilizzati per geolocalizzare l\'immagine, nessuna correzione del terreno","Control points used to geolocate image, orthorectified":"Punti di controllo utilizzati per geolocalizzare l\'immagine, ortorettificata","Coordinate / Temporal / Other Reference System":"Sistema di coordinate / temporale / altro sistema di riferimento","Coordinate Reference System":"Sistema di riferimento delle coordinate","Coordinate data":"Coordinate","Copernicus Sentinel":"Copernicus Sentinel","Count":"Totale","Country":"Paese","Counts":"Totali","Created":"Creazione","Current Language":"Lingua attuale","DOI":"DOI","DOQ":"DOQ","DOQQ":"DOQQ","Data":"Dati","Data Coverage":"Copertura dei dati","Data Cube":"Cubo di dati","Data Lost":"Perdita di dati","Data Type":"Tipo di dati","Data Type of Values":"Tipo di dato dei valori","Data Version":"Versione dei dati","Delivered (data is available)":"Consegnato (i dati sono disponibili)","Density":"Densità","Deprecated":"Obsoleto","Description":"Descrizione","Description of the resource":"Descrizione della risorsa","Digital Orthophoto Quadrangle":"Quadrangolo d\'ortofoto digitale","Digital Orthophoto Quarter Quadrangle":"Quarto di quadrangolo d\'ortofoto digitale","Dimensions":"Dimensioni","Direction":"Direzione","EASE-DGGS":"EASE-DGGS","ENL":"ENL","EPSG Code":"Codice EPSG","ESA Climate Change Initiative - Land Cover":"Iniziativa ESA sul cambiamento climatico - Copertura del suolo","East":"Est","Eastern Geometric Accuracy":"Accuratezza geometrica est","Easting":"Orientamento est","Electro-Optical":"Elettro-ottico","Ellipsoidal Height":"Altezza ellissoidica","Email":"E-mail","Equivalent Number of Looks":"Numero equivalente di viste (looks)","Events navigated by Instrument":"Eventi navigati per strumento","Experimental":"Sperimentale","Expires":"Scadenza","Extent":"Estensione","FWHM":"FWHM","Facility":"Installazione","Failed (unable to deliver)":"Fallito (impossibile consegnare)","Fax":"Fax","Federal Office of Topography (Switzerland)":"Ufficio federale di topografia (Svizzera)","File":"File","File Format":"Formato file","Finalized":"Finalizzato","Flag indicating that the spacecraft is operating in yaw flip configuration.":"Flag che indica che il veicolo spaziale sta operando in configurazione Yaw Flip","Font":"Tipo di carattere (font)","Footprint":"Impronta a terra","Forecast":"Previsione","Forecast Horizon":"Orizzonte di previsione","Forecast Length":"Durata della previsione","Format":"Formato","Fraction of level {i} column cell":"Porzione del livello {i} della colonna della cella","Fraction of level {i} row cell":"Porzione del livello {i} della riga della cella","Frequency Band":"Frequenza della banda","Full Width Half Max":"Semilarghezza totale massima","Further Instructions":"Altre Istruzioni","GHz":"GHz","GIF image":"Immagine GIF","GSD":"GSD","GZIP archive":"Archivio GZIP","GeoTIFF image":"Immagine GeoTIFF","Geolocation precision level":"Livello di precisione della geolocalizzazione","Geolocation using only satellite telemetry":"Geolocalizzazione con la sola telemetria satellitare","Geometry Types":"Tipi Di Geometria","Google Cloud Platform":"Piattaforma cloud di Google","Google Earth Engine":"Google Earth Engine","Grayscale with relief":"Scala di grigi con rilievo","Grayscale without relief":"Scala di grigi senza rilievo","Grid":"Griglia","Grid Cell":"Cella della griglia","Grid Square":"Riquadro della griglia","Gridded Data":"Dati raster","Ground Sample Distance":"Distanza del campione a terra","Guam":"Guam","HTML (Website)":"HTML (Sito Web)","HTTP Methods":"Metodi HTTP","Hashing algorithm:":"Algoritmo di hashing:","Hawaii":"Hawaii","Header Size":"Dimensione dell\'intestazione","Histogram":"Istogramma","Horizontal":"Orizzontale","IBM Cloud":"Cloud IBM","Identifier":"Identificatore","Illustration":"Illustrazione","Image Dimensions":"Dimensioni dell\'immagine","Image Strip ID":"ID della striscia dell\'immagine","Image collection":"Collezione dell\'immagine","Incidence Angle":"Angolo di incidenza","Incidence Angle (far)":"Angolo di incidenza (lontano)","Incidence Angle (near)":"Angolo di incidenza (vicino)","Instrument Mode":"Modalità dello strumento","Instruments":"Strumenti","Int. Designator":"Numero di catalogazione inter.","International designator for the platform, also known as COSPAR ID and NSSDCA ID.":"Numero di catalogazione internazionale della piattaforma, noto anche come COSPAR ID e NSSDCA ID.","Internationalization / Localization":"Internazionalizzazione / localizzazione","Inverted":"Invertito","JPEG 2000 image":"Immagine JPEG 2000","JPEG image":"Immagine JPEG","JSON encoding of WKT2":"Codifica JSON di WKT2","Keywords":"Parole chiave","Labels / ML":"Etichette / ML","Land Cloud Cover":"Copertura nuvolosa a terra","Landsat":"Landsat","Language":"Lingua","Latest version":"Ultima versione","Latitude Band":"Banda di latitudine","Layers":"Layers","Level":"Livello","Level 0 column cell":"Livello 0 della colonna delle cella","Level 0 row cell":"Livello 0 della riga della cella","License":"Licenza","Lightning Events":"Evento Lightning","Lightning Flashes":"Lightning Flashes","Lightning Groups":"Gruppi Lightning","Lightning flash maximum time difference among lightning events in a flash":"Flash Lightning, differenza massima di tempo tra gli eventi Lightning in un Flash","Lightning group maximum time difference among lightning events in a group":"Gruppo Lightning, differenza massima di tempo tra gli eventi Lightning in un gruppo","Lineage":"Lineage","Local Path":"Percorso (path) locale","Logo":"Logo","MGRS":"MGRS","MODIS Sinusoidal Tile Grid":"Tile Grid MODIS sinusoidale","Map of Values":"Mappa dei valori","Markdown document":"Documento markdown","Max.":"Max.","Maxar ARD Tile Grid":"Tile Grid Maxar ARD","Maxmimum value":"Valore massimo","Mean Faraday Rotation":"Rotazione media di Faraday","Measured values":"Valori misurati","Meta Raster Format":"Formato Meta Raster","Metadata":"Metadati","Methods":"Metodi","Microsoft":"Microsoft","Microsoft Azure":"Microsoft Azure","Military Grid Reference System":"Military Grid Reference System","Min.":"Min.","Minimum value":"Valore minimo","Mission":"Missione","NOAA GOES":"NOAA GOES","NOAA Geostationary Operational Environmental Satellite":"Satellite ambientale operativo geostazionario della NOAA","NOAA MRMS QPE":"NOAA MRMS QPE","NOAA Multi-Radar Multi-Sensor Quantitative Precipitation Estimation":"Stima quantitativa delle precipitazioni dal sistema multisensore della NOAA","Name":"Nome","Neither":"Nessuno dei due","Newline Delimited JSON":"JSON delimitato da nuova riga","Next page":"Pagina successiva","No-Data Values":"Valori No-Data","No-data value":"Valore No-data","Noise Equivalent Intensity":"Intensità equivalente di rumore","Nominal":"Nominale","Nominal satellite height above GRS 80 ellipsoid":"Altezza nominale del satellite sopra l\'ellissoide GRS 80","Normalized Radar Backscatter (SAR)":"Retrodiffusione Radar Normalizzata (SAR)","North":"Nord","North America (continental US)":"Nord America (Stati Uniti continentali)","Northern Geometric Accuracy":"Accuratezza geometrica nord","Northing":"Orientamento nord","Number":"Numero","Number of Points":"Numero di punti","Number of bits":"Numero di bits","Number of samples":"Numero di campioni","OGC Web Map Service (WMS)":"WMS OGC","OGC Web Map Tile Service (WMTS)":"WMTS OGC","Observation Direction":"Direzione di osservazione","Off-Nadir Angle":"Angolo off-nadir","Offset":"Offset","Offset to the first bit":"Offset al primo bit","Open Data Cube":"Open Data Cube","Operational system, real-time data":"Sistema operativo, dati in tempo reale","Operational system, test data":"Sistema operativo, dati di test","Oracle Cloud":"Cloud Oracle","Orbit State":"Stato dell\'orbita","Orbital Slot":"Slot orbitale","Order":"Ordine","Order details":"Dettagli dell\'ordine","Orderable (data can be ordered)":"Ordinabile (i dati possono essere ordinati)","Ordered (preparing to deliver data)":"Ordinato (consegna dati in preparazione)","Organization":"Organizzazione","Origin of this document":"Origine di questo documento","Other":"Altro","Overview":"Panoramica","Overviews":"Panoramiche","PDF document":"Document PDF","PMTiles":"PMTiles","PNG image":"Immagine PNG","PROJJSON":"PROJJSON","Parent STAC Catalog":"Catalogo STAC di livello superiore","Pass Number":"Numero di passaggio","Path":"Percorso (path)","Path Template":"Modello del percorso (path)","Pending (waiting for activation)":"In attesa di attivazione","Percentage of samples":"Percentuale di campioni","Percentage of valid values":"Percentuale di valori validi","Personal":"Personale","Phone":"Telefono","Planet Labs PBC":"Planet Labs PBC","Platform":"Piattaforma","Platform Altitude":"Altitudine della piattaforma","Point (at pixel center)":"Punto (al centro del pixel)","Point Cloud":"Nuvola di punti","Points":"Punti","Polarimetric Radar (SAR)":"Radar polarimetrico (SAR)","Polarizations":"Polarizzazione","Position":"Posizione","Positional Accuracy":"Accuratezza posizionale","Postal Addresses":"Indirizzo Postale","Postal Code":"Codice Postale","Predecessor version":"Versione precedente","Preview":"Anteprima","Previous page":"Pagina precedente","Primary Geometry Column":"Colonna della geometria principale","Processing":"Elaborazione","Processing Instructions":"Istruzioni d\'elaborazione","Processing Level":"Livello d\'elaborazione","Processing Status":"Stato d\'elaborazione","Processing Time":"Tempo di elaborazione","Processing inctructions/code":"Istruzioni/codice d\'elaborazione","Processor Version":"Versione processore","Product":"Prodotto","Product ID":"ID prodotto","Product Type":"Tipo di prodotto","Product Variant":"Variante del prodotto","Production-Ready":"Pronto per la produzione","Projection":"Proiezione","Properties":"Proprietà","Property Key":"Chiave della proprietà","Provider":"Fornitore","Providers":"Fornitori","Publication":"Pubblicazione","Publications":"Pubblicazioni","Published":"Pubblicato","Publishing Stage":"Fase di pubblicazione","Purpose":"Scopo","Quadkey":"Quadkey","Quadrangle":"Quadrangolo","Quality Category":"Categoria di qualità","Quarter":"Quarto","RGB color with relief":"Colore RGB con rilievo","RGB color without relief":"Colore RGB senza rilievo","Range Looks":"Range Looks","Range Pixel Spacing":"Range Pixel Spacing","Range Resolution":"Range Resolution","Raster Imagery":"Immagini raster","Read Options":"Opzioni di lettura","Reading and writing direction":"Direzione di lettura e scrittura","Reference Grid Path":"Percorso (path) della griglia di riferimento","Reference Grid Row":"Riga della griglia di riferimento","Reference System":"Sistema di riferimento","Reference Time":"Tempo di riferimento","Region":"Regione","Region 1":"Regione 1","Region 2":"Regione 2","Rel. Orbit Number":"Numero rel. d\'orbita","Rel. RTC Accuracy":"Accuratezza rel. CRT","Related resource":"Risorsa correlata","Relation":"Relazione","Relative Orbit Number":"Numero relativo d\'orbita","Relative accuracy of the Radiometric Terrain Correction":"Accuratezza relativa della correzione radiometrica a terra","Requester Pays":"Costi a carico del richiedente","Resolution":"Risoluzione","Revisit Interval":"Intervallo di rivisitazione","Root STAC Catalog":"Catalogo STAC radice (root)","Row":"Riga","Rows":"Righe","SAR":"SAR","STAC Collection":"Collezione STAC","STAC Item for input data":"Elemento (item) STAC per i dati inseriti","STAC Statistics":"Statistiche STAC","SVG vector image":"Immagine vettoriale SVG","Sampling":"Campionamento","Satellite":"Satellite","Satellite Height":"Altitudine del satellite","Satellite Subpoint Latitude":"Latitudine del subpoint del satellite","Satellite Subpoint Longitude":"Longitudine del subpoint del satellite","Scale":"Scala","Scene ID":"ID della scena","Schemas":"Schemi","Scientific":"Scientifico","Sentinel-2":"Sentinel-2","Sequence":"Sequenza","Servers":"Servers","Shipping (data is getting processed)":"Spedizione (i dati sono stati elaborati)","Single image":"Immagine singola","Size":"Dimensione","Snow/Ice Cover":"Copertura nevosa/glaciale","Software":"Software","Solar Illumination":"Illuminazione solare","Solar System":"Sistema solare","Source data":"Dati d\'origine","Source metadata":"Metadati d\'origine","South":"Sud","Spatial Resolution":"Risoluzione spaziale","Specification":"Specifica","Specification Version":"versione della specifica","Speckle Filtering":"Filtraggio speckle","Spectral Bands":"Bande spettrali","Square Identifier":"Identificatore quadrato","Standard":"Standard","Standard Deviation":"Deviazione standard","State / Province":"Stato / Provincia","Statistics":"Statistiche","Status":"Stato","Std. Dev.":"Dev. std.","Step":"Fase","Storage Account":"Account di archiviazione","Street / House":"Via / Casa","Styles":"Stili","Submitted":"Spedito","Successful Rectification Ratio":"Tasso di successo delle rettifiche","Successor version":"Versione successiva","Summary":"Sommario","Sun Azimuth":"Azimut del sole","Sun Elevation":"Altezza del sole","Supported Endpoints":"Supported Endpoints","Surface Reflectance (Optical)":"Riflettanza della superficie (ottica)","Surface Temperature (Optical)":"Temperatura della superficie (ottica)","Synthetic Aperture Radar":"Radar ad apertura sintetica","System Environment":"Ambiente sistema","TIFF image":"Immagine TIFF","Table":"Tabella","Tables":"Tabelle","Tabular Data":"Dati tabellari","Target Body":"Target Body","Tasks":"Compito","Terms":"Termini","Terms of Use":"Condizioni d\'uso","Test":"Test","Test system, playback data":"Sistema di test, dati playback","Test system, real-time data":"Sistema di test, dati in tempo reale","Test system, simulated data":"Sistema di test, dati simulati","Test system, test data":"Sistema di test, dati di test","Text":"Testo","Text document":"Documento di testo","The Americas (full disk)":"Le Americhe (disco pieno)","The center wavelength of the band":"La lunghezza d\'onda centrale della banda","The size of one side of the anonymized bounding box":"La dimensione di un lato del bounding box anonimizzato","The time between the reference time and the forecast time":"Il tempo che intercorre tra il tempo di riferimento ed il tempo previsto","Themes":"Temi","This document":"Questo documento","Tier Type":"Tipo di livello","Tile Matrix Set Links":"Link del Tile Matrix Set","Tile Matrix Sets":"Tile Matrix Sets","TileJSON":"TileJSON","Tiled Assets":"Risorse a piastrella (tiles)","Time Threshold in a Flash":"Soglia temporale di un Flash","Time Threshold in a Group":"Soglia temporale di un gruppo","Time of Data":"Timestamp dei dati","Time of Data begins":"Timestamp di inizio dei dati","Time of Data ends":"Timestamp di fine dei dati","Timeliness":"Tempistica","Timeliness Category":"Categoria tempistica","Title":"Titolo","Total number of values":"Numero totale di valori","Transformation Matrix":"Matrice di trasformazione","Transparency":"Trasparenza","Type":"Tipo","Types":"Tipi","URL":"URL","UTM Zone":"Zoma UTM","Uncertainty":"Incertezza","Unfilled Image Parts":"Parti dell\'immagine vuote","Unit of Values":"Unità dei valori","Unpublished":"Non pubblicato","Until {0}":"Fino a {0}","Updated":"Aggiornamento","Upright":"verticale","Used For":"Usato per","Valid":"Valido","Valid Cloud Cover":"Copertura nuvolosa valida","Value":"Valore","Values":"Valori","Variables":"Variabili","Variance":"Varianza","Vertical":"Verticale","View Geometry":"Geometria vista","Viewing Azimuth":"Azimut di visualizzazione","Visualization":"Visualizzazione","Visualizations":"Visualizzazioni","Vocabulary":"Vocabolario","W/m²/μm":"W/m²/μm","WKT2":"WKT2","WRS Path":"Percorso (path) WRS","WRS Row":"Riga WRS","WRS Type":"Tipo WRS","WRS-1":"WRS-1","WRS-2":"WRS-2","Warning":"Avviso","Wavelength":"Lunghezza d\'onda","Web Maps":"Mappe web","WebP image":"Immagine WebP","Well-Known Text, version 2":"Well-Known Text, versione 2","West":"Ovest","Work":"Lavoro","Worldwide Reference System 1":"Sistema di riferimento mondiale 1","Worldwide Reference System 2":"Sistema di riferimento mondiale 2","Worldwide Reference System Path":"Percorso (path) sistema di riferimento mondiale","Worldwide Reference System Row":"Riga sistema di riferimento mondiale","Worldwide Reference System Type":"Tipo sistema di riferimento mondiale","XYZ Web Map":"Mappa web XYZ","Yaw Flip Configuration":"Configurazione Yaw Flip","ZIP archive":"Archivio ZIP","bytes":"bytes","dB":"dB","fsspec Options":"Opzioni fsspec","h":"h","km":"km","left-to-right":"da sinistra a destra","m":"m","n/a":"n/a","nm":"nm","non-standard":"non standard","none":"nessuno","openEO":"openEO","right-to-left":"da destra a sinistra","s":"s","swisstopo":"swisstopo","unsigned 16-bit integer":"Numero intero a 16 bit senza segno","unsigned 32-bit integer":"Numero intero a 32 bit senza segno","unsigned 64-bit integer":"Numero intero a 64 bit senza segno","unsigned 8-bit integer":"Numero intero a 8 bit senza segno","xarray":"xarray","{0} until present":"{0} fino ad ora","°":"°","°E":"°E","°N":"°N","μm":"μm"}')}}]); \ No newline at end of file diff --git a/js/app.3a50ed26.js b/js/app.2c769e18.js similarity index 99% rename from js/app.3a50ed26.js rename to js/app.2c769e18.js index eddc82098..f883fad5d 100644 --- a/js/app.3a50ed26.js +++ b/js/app.2c769e18.js @@ -1,2 +1,2 @@ -(function(){var t={61629:function(t,e,a){"use strict";a.d(e,{A:function(){return m}});var s=function(){var t=this,e=t._self._c;return e("b-card",{directives:[{name:"b-visible",rawName:"v-b-visible.400",value:t.load,expression:"load",modifiers:{400:!0}}],class:t.classes,attrs:{"no-body":"","img-right":t.isList}},[t.hasImage?e("b-card-img-lazy",t._b({staticClass:"thumbnail",attrs:{offset:"200"}},"b-card-img-lazy",t.thumbnail,!1)):t._e(),e("b-card-body",[e("b-card-title",[e("StacLink",{staticClass:"stretched-link",attrs:{data:[t.data,t.catalog]}})],1),t.data&&(t.fileFormats.length>0||t.data.description||t.data.deprecated)?e("b-card-text",{staticClass:"intro"},[t.data.deprecated?e("b-badge",{staticClass:"mr-1 mt-1 deprecated",attrs:{variant:"warning"}},[t._v(t._s(t.$t("deprecated")))]):t._e(),t._l(t.fileFormats,(function(a){return e("b-badge",{key:a,staticClass:"mr-1 mt-1 fileformat",attrs:{variant:"secondary"}},[t._v(t._s(t._f("formatMediaType")(a)))])})),t._v(" "+t._s(t._f("summarize")(t.data.description))+" ")],2):t._e(),t.showKeywordsInCatalogCards&&t.keywords.length>0?e("Keywords",{attrs:{keywords:t.keywords,variant:"primary",center:!t.isList}}):t._e(),t.temporalExtent?e("b-card-text",{staticClass:"datetime"},[e("small",{domProps:{innerHTML:t._s(t.temporalExtent)}})]):t._e()],1),e("b-card-footer",[t._t("footer",null,{data:t.data})],2)],1)},i=[],r=(a(44114),a(95353)),n=a(67467),o=a(97685),l=a(58581),c=a(31831),u=a(50735),d=a(2566),h={name:"Catalog",components:{StacLink:l["default"],Keywords:()=>a.e(8499).then(a.bind(a,28499))},filters:{summarize:t=>d.Ay.summarizeMd(t,300),formatMediaType:t=>(0,u.formatMediaType)(t,null,{shorten:!0})},mixins:[o.A,(0,n.A)({formatTemporalExtent:u.formatTemporalExtent})],props:{catalog:{type:Object,required:!0}},computed:{...(0,r.aH)(["showKeywordsInCatalogCards"]),...(0,r.L8)(["getStac"]),classes(){let t=["catalog-card"];return this.data||t.push("queued"),this.data&&this.data.deprecated&&t.push("deprecated"),this.hasImage&&t.push("has-thumbnail"),this.temporalExtent&&t.push("has-extent"),t},data(){return this.getStac(this.catalog)},temporalExtent(){var t,e,a;if(null!==(t=this.data)&&void 0!==t&&t.isCollection()&&(null===(e=this.data.extent)||void 0===e||null===(a=e.temporal)||void 0===a?void 0:a.interval.length)>0){let t=this.data.extent.temporal.interval[0];if(Array.isArray(t)&&("string"===typeof t[0]||"string"===typeof t[1]))return this.formatTemporalExtent(this.data.extent.temporal.interval[0],!0)}return null},fileFormats(){return this.data?this.data.getFileFormats():[]},keywords(){return this.data&&this.data.getMetadata("keywords")||[]}},methods:{load(t){this.catalog instanceof c.A||this.$store.commit(t?"queue":"unqueue",this.catalog.href)}}},p=h,f=a(81656),g=(0,f.A)(p,s,i,!1,null,null,null),m=g.exports},32398:function(t,e,a){"use strict";a.r(e),a.d(e,{default:function(){return C}});var s=function(){var t=this,e=t._self._c;return e("section",{staticClass:"catalogs mb-4"},[e("header",[e("h2",{staticClass:"title mr-2"},[t._v(t._s(t.title))]),null!==t.catalogCount?e("b-badge",{staticClass:"mr-4",attrs:{pill:"",variant:"secondary"}},[t._v(t._s(t.catalogCount))]):t._e(),e("ViewButtons",{staticClass:"mr-2",model:{value:t.view,callback:function(e){t.view=e},expression:"view"}}),t.isComplete&&t.catalogs.length>1?e("SortButtons",{model:{value:t.sort,callback:function(e){t.sort=e},expression:"sort"}}):t._e()],1),t.isComplete&&t.catalogs.length>1?e("section",{staticClass:"catalog-filter mb-2"},[e("SearchBox",{attrs:{placeholder:t.filterPlaceholder},model:{value:t.searchTerm,callback:function(e){t.searchTerm=e},expression:"searchTerm"}}),t.allKeywords.length>0?e("multiselect",{attrs:{multiple:"",options:t.allKeywords,placeholder:t.$t("multiselect.keywordsPlaceholder"),selectLabel:t.$t("multiselect.selectLabel"),selectedLabel:t.$t("multiselect.selectedLabel"),deselectLabel:t.$t("multiselect.deselectLabel"),limitText:t.limitText},model:{value:t.selectedKeywords,callback:function(e){t.selectedKeywords=e},expression:"selectedKeywords"}}):t._e()],1):t._e(),t.showPagination?e("Pagination",{ref:"topPagination",attrs:{pagination:t.pagination,placement:"top"},on:{paginate:t.paginate}}):t._e(),t.hasSearchCritera&&0===t.catalogView.length?e("b-alert",{staticClass:"mt-2",attrs:{variant:"warning",show:""}},[t._v(t._s(t.$t("catalogs.noMatches")))]):t._e(),e("section",{staticClass:"list"},[t.loading?e("Loading",{attrs:{fill:"",top:""}}):t._e(),e(t.cardsComponent,t._b({tag:"component"},"component",t.cardsComponentProps,!1),t._l(t.catalogView,(function(a){return e("Catalog",{key:a.href,attrs:{catalog:a},scopedSlots:t._u([{key:"footer",fn:function({data:e}){return[t._t("catalogFooter",null,{data:e})]}}],null,!0)})})),1)],1),t.showPagination?e("Pagination",{attrs:{pagination:t.pagination},on:{paginate:t.paginate}}):t.hasMore?e("b-button",{directives:[{name:"b-visible",rawName:"v-b-visible.300",value:t.loadMore,expression:"loadMore",modifiers:{300:!0}}],attrs:{variant:"primary"},on:{click:t.loadMore}},[t._v(t._s(t.$t("catalogs.loadMore")))]):t._e()],1)},i=[],r=(a(44114),a(98992),a(23215),a(54520),a(81454),a(37550),a(95353)),n=a(61629),o=a(39773),l=a(31831),c=function(){var t=this,e=t._self._c;return e("b-button-group",{attrs:{title:t.$t("view.title"),size:"sm"}},[e("b-button",{attrs:{title:t.$t("view.tiles.title"),variant:"outline-primary",pressed:"cards"===t.value},on:{click:function(e){return t.toggle("cards")}}},[e("b-icon-bricks"),t._v(" "),e("span",{staticClass:"button-label"},[t._v(t._s(t.$t("view.tiles.label")))])],1),e("b-button",{attrs:{title:t.$t("view.list.title"),variant:"outline-primary",pressed:"list"===t.value},on:{click:function(e){return t.toggle("list")}}},[e("b-icon-list-task"),t._v(" "),e("span",{staticClass:"button-label"},[t._v(t._s(t.$t("view.list.label")))])],1)],1)},u=[],d=a(82948),h={id:"SortButtons",components:{BIconBricks:d.Muv,BIconListTask:d.Xjw},props:{value:{type:String,default:"cards"}},methods:{toggle(t){this.value!==t&&this.$emit("input",t)}}},p=h,f=a(81656),g=(0,f.A)(p,c,u,!1,null,null,null),m=g.exports,b={components:{ViewButtons:m},computed:{cardsComponent(){return"list"===this.view?"div":"b-card-group"},cardsComponentProps(){return"list"===this.view?{class:["card-list"]}:{columns:!0}},view:{get(){return this.$store.state.cardViewMode},async set(t){await this.$store.dispatch("config",{cardViewMode:t})}}}},y=a(2566),A={name:"Catalogs",components:{Catalog:n.A,Loading:o.A,Pagination:()=>Promise.resolve().then(a.bind(a,70678)),SearchBox:()=>a.e(4748).then(a.bind(a,74748)),SortButtons:()=>a.e(771).then(a.bind(a,40771)),Multiselect:()=>a.e(5262).then(a.t.bind(a,75262,23))},mixins:[b],props:{catalogs:{type:Array,required:!0},collectionsOnly:{type:Boolean,required:!1},loading:{type:Boolean,default:!1},hasMore:{type:Boolean,default:!1},pagination:{type:Object,default:()=>({})},count:{type:Number,default:null}},data(){return{searchTerm:"",sort:0,selectedKeywords:[]}},computed:{...(0,r.aH)(["cardViewSort","uiLanguage"]),...(0,r.L8)(["getStac"]),catalogCount(){return this.catalogs.length!==this.catalogView.length?this.catalogView.length+"/"+this.catalogs.length:null!==this.count?this.count:this.isComplete?this.catalogs.length:null},title(){return this.collectionsOnly?this.$tc("stacCollection",this.catalogs.length):this.$tc("stacCatalog",this.catalogs.length)},isComplete(){return!this.hasMore&&!this.showPagination},filterPlaceholder(){return this.isComplete?this.$t("catalogs.filterByTitleAndMore"):this.$t("catalogs.filterByTitle")},showPagination(){return Object.values(this.pagination).some((t=>!!t))},allCatalogs(){return this.catalogs.map((t=>{let e=this.getStac(t);return e||t}))},hasSearchCritera(){return this.searchTerm||this.selectedKeywords.length>0},catalogView(){if(this.hasMore)return this.catalogs;let t=this.allCatalogs;if(this.hasSearchCritera&&(t=t.filter((t=>{if(this.selectedKeywords.length>0&&t instanceof l.A&&Array.isArray(t.keywords)){let e=this.selectedKeywords.every((e=>t.keywords.includes(e)));if(!e)return!1}if(this.searchTerm){let e=[t.title];return t instanceof l.A&&this.isComplete&&(e.push(t.id),Array.isArray(t.keywords)&&(e=e.concat(t.keywords))),y.Ay.search(this.searchTerm,e)}return!0}))),!this.hasMore&&0!==this.sort){const e=new Intl.Collator(this.uiLanguage);t=t.slice(0).sort(((t,a)=>e.compare(l.A.getDisplayTitle(t),l.A.getDisplayTitle(a)))),-1===this.sort&&(t=t.reverse())}return t},allKeywords(){if(!this.isComplete)return[];let t=[];for(let e of this.allCatalogs)if(e instanceof l.A&&Array.isArray(e.keywords))for(let a of e.keywords)t.includes(a)||t.push(a);return t.sort()}},created(){this.sort=this.cardViewSort},methods:{loadMore(t=!0){t&&(this.sort=0,this.$emit("loadMore"))},paginate(t,e){"bottom"===e&&this.$refs.topPagination&&y.Ay.scrollTo(this.$refs.topPagination.$el),this.$emit("paginate",t)},limitText(t){return this.$t("multiselect.andMore",{count:t})}}},v=A,w=(0,f.A)(v,s,i,!1,null,"3b49c796",null),C=w.exports},99975:function(t,e,a){"use strict";a.r(e),a.d(e,{default:function(){return d}});var s=function(){var t=this,e=t._self._c;return e("b-button",t._b({staticClass:"copy-button",attrs:{variant:t.copyColor,title:t.$t("copy")},on:{click:function(e){return e.preventDefault(),e.stopPropagation(),t.copy.apply(null,arguments)}}},"b-button",t.buttonProps,!1),[e(t.copyIcon,{tag:"component"}),t._t("default")],2)},i=[],r=a(82948),n=a(14405),o={name:"CopyButton",components:{BIconClipboard:r.ceV,BIconClipboardCheck:r.mD4,BIconClipboardX:r.A6N},props:{copyText:{type:String,required:!0},variant:{type:String,default:"primary"},buttonProps:{type:Object,default:()=>({})}},data(){return{status:null}},computed:{copyColor(){let t=this.variant;return!0===this.status?t="success":!1===this.status&&(t="danger"),this.variant.startsWith("outline-")&&(t="outline-"+t),t},copyIcon(){return!0===this.status?"b-icon-clipboard-check":!1===this.status?"b-icon-clipboard-x":"b-icon-clipboard"}},methods:{async copy(){try{let t=document.activeElement;await n.B.copy(this.copyText),t.focus(),this.status=!0}catch(t){console.error(t),this.status=!1}setTimeout((()=>this.status=null),2500)}}},l=o,c=a(81656),u=(0,c.A)(l,s,i,!1,null,null,null),d=u.exports},41526:function(t,e,a){"use strict";a.r(e),a.d(e,{default:function(){return u}});var s=function(){var t=this,e=t._self._c;return e("div",{staticClass:"styled-description",class:{compact:t.compact,inline:t.inline},domProps:{innerHTML:t._s(t.markup(t.description))}})},i=[],r=a(30855),n={name:"Description",props:{description:{type:String,default:""},compact:{type:Boolean,default:!1},inline:{type:Boolean,default:!1},allowHTML:{type:Boolean,default:!1}},methods:{markup(t){if("string"!==typeof t)return"";var e=new r.iX,a=new r.j6({safe:!this.allowHTML,smart:!0}),s=e.parse(t);return a.render(s)}}},o=n,l=a(81656),c=(0,l.A)(o,s,i,!1,null,null,null),u=c.exports},85952:function(t,e,a){"use strict";a.d(e,{A:function(){return c}});var s=function(){var t=this,e=t._self._c;return e("b-alert",{attrs:{variant:"danger",show:"",dismissible:t.dismissible},on:{dismissed:function(e){return t.$emit("close")}}},[e("p",{staticClass:"message"},[t._v(t._s(t.message||t.$t("errors.default")))]),t.error&&t.error.message?e("dl",{staticClass:"error"},[e("dt",[t._v(t._s(t.$t("errors.labels.cause")))]),e("dd",[t._v(t._s(t.error.message))])]):t._e(),t.description?e("dl",{staticClass:"description"},[e("dt",[t._v(t._s(t.$t("errors.labels.reason")))]),e("dd",[t._v(t._s(t.description))])]):t._e(),t.id?e("dl",{staticClass:"id"},[e("dt",[t._v(t._s(t.$t("errors.labels.code")))]),e("dd",[e("code",[t._v(t._s(t.id))])])]):t._e(),t.url?e("dl",{staticClass:"url"},[e("dt",[t._v(t._s(t.$t("errors.labels.requestURL")))]),e("dd",[e("code",[t._v(t._s(t.url))])])]):t._e()])},i=[],r={name:"ErrorAlert",props:{message:{type:String,default:null},description:{type:String,default:""},error:{type:[Object,Error],default:null},id:{type:[String,Number],default:null},url:{type:String,default:""},dismissible:{type:Boolean,default:!1}}},n=r,o=a(81656),l=(0,o.A)(n,s,i,!1,null,"7a9d646a",null),c=l.exports},77455:function(t,e,a){"use strict";a.r(e),a.d(e,{default:function(){return b}});var s=function(){var t=this,e=t._self._c;return e("b-card",{directives:[{name:"b-visible",rawName:"v-b-visible.400",value:t.load,expression:"load",modifiers:{400:!0}}],staticClass:"item-card",class:{queued:!t.data,deprecated:t.isDeprecated,description:t.hasDescription},attrs:{"no-body":""}},[t.hasImage?e("b-card-img-lazy",t._b({staticClass:"thumbnail",attrs:{offset:"200"}},"b-card-img-lazy",t.thumbnail,!1)):t._e(),e("b-card-body",[e("b-card-title",[e("StacLink",{staticClass:"stretched-link",attrs:{data:[t.data,t.item]}})],1),t.fileFormats.length>0||t.hasDescription||t.isDeprecated?e("b-card-text",{staticClass:"intro"},[t.isDeprecated?e("b-badge",{staticClass:"mr-1 mt-1 deprecated",attrs:{variant:"warning"}},[t._v(t._s(t.$t("deprecated")))]):t._e(),t._l(t.fileFormats,(function(a){return e("b-badge",{key:a,staticClass:"mr-1 mt-1 fileformat",attrs:{variant:"secondary"}},[t._v(t._s(t._f("formatMediaType")(a)))])})),t.hasDescription?[t._v(t._s(t._f("summarize")(t.data.properties.description)))]:t._e()],2):t._e(),t.showKeywordsInItemCards&&t.keywords.length>0?e("Keywords",{attrs:{keywords:t.keywords,variant:"primary",center:""}}):t._e(),e("b-card-text",[e("small",{staticClass:"text-muted"},[t.extent?[t._v(t._s(t._f("formatTemporalExtent")(t.extent)))]:t.data&&t.data.properties.datetime?[t._v(t._s(t._f("formatTimestamp")(t.data.properties.datetime)))]:[t._v(t._s(t.$t("items.noTime")))]],2)])],1)],1)},i=[],r=a(95353),n=a(97685),o=a(58581),l=a(31831),c=a(50735),u=a(19087),d=a.n(u),h=a(2566);d().addDependency("content-type",a(58597));var p={name:"Item",components:{StacLink:o["default"],Keywords:()=>a.e(8499).then(a.bind(a,28499))},filters:{summarize:t=>h.Ay.summarizeMd(t,150),formatMediaType:t=>(0,c.formatMediaType)(t,null,{shorten:!0}),formatTemporalExtent:c.formatTemporalExtent,formatTimestamp:c.formatTimestamp},mixins:[n.A],props:{item:{type:Object,required:!0}},computed:{...(0,r.aH)(["showKeywordsInItemCards"]),...(0,r.L8)(["getStac"]),data(){return this.getStac(this.item)},extent(){return this.data&&(this.data.properties.start_datetime||this.data.properties.end_datetime)?[this.data.properties.start_datetime,this.data.properties.end_datetime]:null},fileFormats(){return this.data?this.data.getFileFormats():[]},keywords(){return this.data&&this.data.getMetadata("keywords")||[]},isDeprecated(){return this.data instanceof l.A&&Boolean(this.data.properties.deprecated)},hasDescription(){return this.data instanceof l.A&&h.Ay.hasText(this.data.properties.description)}},methods:{load(t){this.item instanceof l.A||this.$store.commit(t?"queue":"unqueue",this.item.href)}}},f=p,g=a(81656),m=(0,g.A)(f,s,i,!1,null,null,null),b=m.exports},3896:function(t,e,a){"use strict";a.r(e),a.d(e,{default:function(){return b}});var s=function(){var t=this,e=t._self._c;return e("section",{staticClass:"items mb-4"},[e("header",[e("h2",{staticClass:"title mr-2"},[t._v(t._s(t.$tc("stacItem",t.items.length)))]),null!==t.itemCount?e("b-badge",{staticClass:"mr-4",attrs:{pill:"",variant:"secondary"}},[t._v(t._s(t.itemCount))]):t._e(),!t.api&&t.items.length>1?e("SortButtons",{model:{value:t.sort,callback:function(e){t.sort=e},expression:"sort"}}):t._e()],1),t.showPagination?e("Pagination",{ref:"topPagination",attrs:{pagination:t.pagination,placement:"top"},on:{paginate:t.paginate}}):t._e(),t.allowFilter?[t.api?e("b-button",{directives:[{name:"b-toggle",rawName:"v-b-toggle.itemFilter",modifiers:{itemFilter:!0}}],staticClass:"mb-4 mt-2",class:{"ml-3":t.showPagination},attrs:{variant:t.hasFilters&&!t.filtersOpen?"primary":"outline-primary"}},[e("b-icon-search"),t._v(" "+t._s(t.filtersOpen?t.$t("items.hideFilter"):t.$t("items.showFilter"))+" "),t.hasFilters&&!t.filtersOpen?e("b-badge",{attrs:{variant:"dark"}},[t._v(t._s(t.filterCount))]):t._e()],1):t._e(),e("b-collapse",{attrs:{id:"itemFilter"},model:{value:t.filtersOpen,callback:function(e){t.filtersOpen=e},expression:"filtersOpen"}},[e("SearchFilter",{attrs:{type:"Items",title:t.$t("items.filter"),parent:t.stac,value:t.apiFilters},on:{input:t.emitFilter}})],1)]:t._e(),e("section",{staticClass:"list"},[t.loading?e("Loading",{attrs:{fill:"",top:""}}):t._e(),t.chunkedItems.length>0?e("b-card-group",{attrs:{columns:""}},t._l(t.chunkedItems,(function(t){return e("Item",{key:t.href,attrs:{item:t}})})),1):e("b-alert",{attrs:{variant:t.hasFilters?"warning":"info",show:""}},[t.hasFilters?[t._v(t._s(t.$t("search.noItemsFound")))]:[t._v(t._s(t.$t("items.noneAvailableForCollection")))]],2)],1),t.showPagination?e("Pagination",{attrs:{pagination:t.pagination},on:{paginate:t.paginate}}):t.hasMore?e("b-button",{directives:[{name:"b-visible",rawName:"v-b-visible.300",value:t.showMore,expression:"showMore",modifiers:{300:!0}}],attrs:{variant:"primary"},on:{click:t.showMore}},[t._v(t._s(t.$t("showMore")))]):t._e()],2)},i=[],r=(a(98992),a(54520),a(37550),a(77455)),n=a(39773),o=a(70678),l=a(48883),c=a(82948),u=a(2566),d=a(31831),h=a(95353),p={name:"Items",components:{BCollapse:l.K,BIconSearch:c.S8S,Item:r["default"],SearchFilter:()=>Promise.all([a.e(537),a.e(5262),a.e(4741),a.e(5430)]).then(a.bind(a,24741)),Loading:n.A,Pagination:o["default"],SortButtons:()=>a.e(771).then(a.bind(a,40771))},props:{items:{type:Array,required:!0},loading:{type:Boolean,default:!1},stac:{type:Object,required:!0},api:{type:Boolean,default:!1},allowFilter:{type:Boolean,default:!0},showFilters:{type:Boolean,default:!1},apiFilters:{type:Object,default:()=>({})},pagination:{type:Object,default:()=>({})},chunkSize:{type:Number,default:90},count:{type:Number,default:null}},data(){return{shownItems:this.chunkSize,filtersOpen:this.showFilters,sort:0}},computed:{...(0,h.aH)(["cardViewSort","uiLanguage"]),itemCount(){return null!==this.count?this.count:!this.api&&this.items.length>0?this.items.length:null},hasMore(){return this.items.length>this.shownItems},filterCount(){return Object.values(this.apiFilters).filter((t=>!(null===t||0===u.Ay.size(t)))).length},hasFilters(){return this.filterCount>0},chunkedItems(){let t=this.items;if(!this.apiFilters.sortby&&0!==this.sort){const e=new Intl.Collator(this.uiLanguage);t=t.slice(0).sort(((t,a)=>e.compare(d.A.getDisplayTitle(t),d.A.getDisplayTitle(a)))),-1===this.sort&&(t=t.reverse())}return!this.api&&this.items.length>this.chunkSize?t.slice(0,this.shownItems):t},showPagination(){if(this.api){if(this.hasFilters)return!0;if(this.items.length>0)return Object.values(this.pagination).some((t=>!!t))}return!1}},watch:{showFilters(){this.filter=this.showFilters},filtersOpen(){this.$emit("filtersShown",this.filtersOpen)}},created(){this.sort=this.cardViewSort},mounted(){this.showFilters&&setTimeout((()=>u.Ay.scrollTo(this.$el)),250)},methods:{emitFilter(t,e){this.$emit("filterItems",t,e)},showMore(){this.shownItems+=this.chunkSize},paginate(t,e){"bottom"===e&&this.$refs.topPagination&&u.Ay.scrollTo(this.$refs.topPagination.$el),this.$emit("paginate",t)}}},f=p,g=a(81656),m=(0,g.A)(f,s,i,!1,null,null,null),b=m.exports},39773:function(t,e,a){"use strict";a.d(e,{A:function(){return c}});var s=function(){var t=this,e=t._self._c;return e("div",{class:t.classes},[e("b-spinner",{attrs:{label:t.$t("loading"),small:t.small}})],1)},i=[],r=(a(44114),{name:"Loading",props:{fill:{type:Boolean,default:!1},stretch:{type:Boolean,default:!1},small:{type:Boolean,default:!1},top:{type:Boolean,default:!1}},computed:{classes(){let t=["loading"];return this.fill?t.push("loading-fill"):this.stretch&&t.push("loading-stretch"),this.top&&t.push("top"),t}}}),n=r,o=a(81656),l=(0,o.A)(n,s,i,!1,null,"67931bb8",null),c=l.exports},70678:function(t,e,a){"use strict";a.r(e),a.d(e,{default:function(){return c}});var s=function(){var t=this,e=t._self._c;return e("b-button-group",{class:t.classes},[e("b-button",{attrs:{disabled:!t.pagination.first,variant:"primary"},on:{click:function(e){return t.paginate(t.pagination.first)}}},[t._v(t._s(t.$t("pagination.first")))]),e("b-button",{attrs:{disabled:!t.pagination.prev,variant:"primary"},on:{click:function(e){return t.paginate(t.pagination.prev)}}},[t._v(t._s(t.$t("pagination.previous")))]),e("b-button",{attrs:{disabled:!t.pagination.next,variant:"primary"},on:{click:function(e){return t.paginate(t.pagination.next)}}},[t._v(t._s(t.$t("pagination.next")))]),t.pagination.last?e("b-button",{attrs:{variant:"primary"},on:{click:function(e){return t.paginate(t.pagination.last)}}},[t._v(t._s(t.$t("pagination.last")))]):t._e()],1)},i=[],r={name:"Pagination",props:{pagination:{type:Object,default:()=>({})},placement:{type:String,default:"bottom"}},computed:{classes(){return"top"===this.placement?"mb-4 mt-2":"mb-2 mt-2"}},methods:{paginate(t){this.$emit("paginate",t,this.placement)}}},n=r,o=a(81656),l=(0,o.A)(n,s,i,!1,null,null,null),c=l.exports},58581:function(t,e,a){"use strict";a.r(e),a.d(e,{default:function(){return g}});var s=function(){var t=this,e=t._self._c;return e(t.component,t._b({tag:"component",staticClass:"stac-link",attrs:{title:t.tooltip}},"component",t.attributes,!1),[t.icon?[e("img",{staticClass:"icon mr-2",attrs:{src:t.icon.href,alt:t.icon.title,title:t.icon.title}})]:t._e(),e("span",{staticClass:"title"},[t._v(t._s(t.displayTitle))])],2)},i=[],r=(a(98992),a(72577),a(95353)),n=a(59203),o=a(2566),l=a(31831),c=a(84193),u=a.n(c),d={name:"StacLink",props:{data:{type:[Object,Array],default:null},title:{type:String,default:null},fallbackTitle:{type:[String,Function],default:null},tooltip:{type:String,default:null},button:{type:[Boolean,Object],default:!1},state:{type:Object,default:null}},computed:{...(0,r.aH)(["allowExternalAccess","privateQueryParameters"]),...(0,r.L8)(["toBrowserPath","getRequestUrl","isExternalUrl"]),icon(){if(this.stac){let t=this.stac.getIcons();if(t.length>0)return t[0]}return null},stac(){return this.data instanceof l.A?this.data:Array.isArray(this.data)?this.data.find((t=>t instanceof l.A)):null},link(){return this.isLink(this.data)?this.data:Array.isArray(this.data)&&this.data.find((t=>this.isLink(t)))||{}},isStacBrowserLink(){return!!this.stac||!!o.Ay.isStacMediaType(this.link.type,!0)&&(!(!this.allowExternalAccess&&this.isExternalUrl(this.link.href))&&n.Bv.includes(this.link.rel))},attributes(){if(this.isStacBrowserLink||this.button){let t={to:this.href,rel:this.rel};return o.Ay.isObject(this.button)&&Object.assign(t,this.button),t}return{href:this.href,target:"_blank",rel:this.rel}},component(){return this.button?"b-button":this.isStacBrowserLink?"router-link":"a"},href(){if(this.stac||this.isStacBrowserLink){let t;if(t=this.stac?this.stac.getBrowserPath():this.toBrowserPath(this.link.href),t.startsWith("/")||(t="/"+t),o.Ay.size(this.privateQueryParameters)>0||o.Ay.size(this.state)>0){let e=u()(t),a=(t,a)=>{for(let s in t){let i=`${a}${s}`;e.hasQuery(i)||e.addQuery(i,t[s])}};a(this.privateQueryParameters,"~"),a(this.state,"."),t=e.toString()}return t}return this.getRequestUrl(this.link.href)},displayTitle(){if(this.title)return this.title;let t="function"===typeof this.fallbackTitle?this.fallbackTitle():this.fallbackTitle;return l.A.getDisplayTitle(this.data,t)}},methods:{isLink(t){return o.Ay.isObject(t)&&!(t instanceof l.A)}}},h=d,p=a(81656),f=(0,p.A)(h,s,i,!1,null,null,null),g=f.exports},19306:function(t){t.exports={catalogUrl:null,catalogTitle:"STAC Browser",allowExternalAccess:!0,allowedDomains:[],detectLocaleFromBrowser:!0,storeLocale:!0,locale:"en",fallbackLocale:"en",supportedLocales:["de","es","en","fr","it","ro","ja","pt"],apiCatalogPriority:null,useTileLayerAsFallback:!0,displayGeoTiffByDefault:!1,buildTileUrlTemplate:({href:t,asset:e})=>"https://tiles.rdnt.io/tiles/{z}/{x}/{y}@2x?url="+encodeURIComponent(e.href.startsWith("/vsi")?e.href:t),stacProxyUrl:null,pathPrefix:"/",historyMode:"history",cardViewMode:"cards",cardViewSort:"asc",showKeywordsInItemCards:!1,showKeywordsInCatalogCards:!1,showThumbnailsAsAssets:!1,geoTiffResolution:128,redirectLegacyUrls:!1,itemsPerPage:12,defaultThumbnailSize:null,maxPreviewsOnMap:50,crossOriginMedia:null,requestHeaders:{},requestQueryParameters:{},socialSharing:["email","bsky","mastodon","x"],preprocessSTAC:null,authConfig:null}},44426:function(t,e,a){"use strict";a.d(e,{A:function(){return r}});var s=a(48907),i=a(2566);class r{constructor(t={},e=null,a=null){this.options=t,this.changeListener=e,this.router=a}getButtonTitle(){return null}getLoginLabel(){return s.Ay.t("authentication.button.login")}getLogoutLabel(){return s.Ay.t("authentication.button.logout")}getComponent(){return null}getComponentProps(){return{}}async init(){}async login(){}async confirmLogin(t){this.changeListener&&await this.changeListener(!0,t)}async logout(){}async confirmLogout(){this.changeListener&&await this.changeListener(!1)}async close(){}updateStore(){return{}}_updateStore(t,e=null,a=null,s=null){const r=this.options.formatter||s,n=this.options.name||e,o=this.options.in||a;return t&&("Bearer"===r?t=`Bearer ${t}`:"function"===typeof r&&(t=r(t))),i.Ay.hasText(t)||(t=void 0),"query"===o?{query:{type:"private",key:n,value:t}}:"cookie"===o?{cookie:{key:n,value:t}}:"header"===o?{header:{key:n,value:t}}:{}}static async create(t,e,s){let n=new r;if(i.Ay.isObject(t))if("http"===t.type&&"basic"===t.scheme){const i=(await a.e(4648).then(a.bind(a,34648))).default;n=new i(t,e,s)}else if("apiKey"===t.type){const i=(await a.e(6935).then(a.bind(a,46935))).default;n=new i(t,e,s)}else if("openIdConnect"===t.type){const i=(await a.e(3621).then(a.bind(a,93621))).default;n=new i(t,e,s)}return await n.init(),n}static equals(t,e){return JSON.stringify(t.options)===JSON.stringify(e)}}},45311:function(t,e,a){"use strict";a.d(e,{A:function(){return r},W:function(){return n}});var s=a(42473),i=a(2566);class r{static enabled(t){if(!i.Ay.isObject(t))return!1;try{if(t.setItem("test","yes"),"yes"===t.getItem("test"))return t.removeItem("test"),!0}catch(e){console.error(e)}return!1}constructor(t=!1){t?r.enabled(window.sessionStorage)?this.engine=window.sessionStorage:navigator.cookieEnabled?this.engine=new n(!0):this.engine=new o:r.enabled(window.localStorage)?this.engine=window.localStorage:navigator.cookieEnabled?this.engine=new n:this.engine=new o}get(t){try{let e=this.engine.getItem(t);return"string"===typeof e&&e.startsWith(r.JSON_INDICATOR)&&(e=JSON.parse(e.slice(r.JSON_INDICATOR.length))),e}catch(e){return console.error(e),null}}set(t,e){try{"string"!==typeof e&&(e=r.JSON_INDICATOR+JSON.stringify(e)),this.engine.setItem(t,e)}catch(a){console.error(a)}}remove(t){try{this.engine.removeItem(t)}catch(e){console.error(e)}}clear(){this.engine.clear()}}(0,s.A)(r,"JSON_INDICATOR","\n\r");class n{constructor(t=!1){this.session=t}getExpiry(t=null){null===t&&(t=this.session?60:144e4);const e=new Date;e.setTime(e.getTime()+60*t*1e3),this.epires=e.toGMTString()}setItem(t,e,a=null){const s=this.getExpiry(a);e=encodeURIComponent(e),document.cookie=`${t}=${e}; expires=${s}; path=/`}getItem(t){const e=t+"=",a=document.cookie.split(";");for(let s of a)if(s=s.trim(),s.startsWith(e)){const t=s.substring(e.length,s.length);return decodeURIComponent(t)}return null}removeItem(t){this.set(t,"",-1)}clear(){document.cookie=""}}class o{constructor(t=!1){this.session=t}setItem(t){console.warn(`Browser storage disabled, can't store ${t}`)}getItem(){return null}removeItem(){}clear(){}}},78561:function(t,e,a){"use strict";a.d(e,{Q:function(){return o}});var s=a(95353);const i=["https://api.stacspec.org/v1.*/item-search#filter:cql-text","http://www.opengis.net/spec/cql2/1.*/conf/cql2-text"],r=["https://api.stacspec.org/v1.*/item-search#filter:cql-json","http://www.opengis.net/spec/cql2/1.*/conf/cql2-json"],n=["http://www.opengis.net/spec/cql2/1.*/conf/advanced-comparison-operators"],o={Items:{BasicFilters:["https://api.stacspec.org/v1.*/ogcapi-features","http://www.opengis.net/spec/ogcapi-features-1/1.*/conf/core"],CollectionIdFilter:!1,ItemIdFilter:!1,CqlFilters:["http://www.opengis.net/spec/ogcapi-features-3/1.*/*/features-filter"],Sort:["https://api.stacspec.org/v1.*/ogcapi-features#sort","http://www.opengis.net/spec/ogcapi-records-1/1.*/conf/sorting"],FreeText:["https://api.stacspec.org/v1.*/ogcapi-features#free-text"]},Global:{BasicFilters:["https://api.stacspec.org/v1.*/item-search"],CollectionIdFilter:!0,ItemIdFilter:!0,CqlFilters:["https://api.stacspec.org/v1.*/item-search#filter"],Sort:["https://api.stacspec.org/v1.*/item-search#sort"],FreeText:["https://api.stacspec.org/v1.*/item-search#free-text"]},Collections:{BasicFilters:["https://api.stacspec.org/v1.*/collection-search"],CollectionIdFilter:!1,ItemIdFilter:!1,CqlFilters:["https://api.stacspec.org/v1.*/collection-search#filter"],Sort:["https://api.stacspec.org/v1.*/collection-search#sort"],FreeText:["https://api.stacspec.org/v1.*/collection-search#free-text"]}};e.A={props:{type:{type:String,required:!0}},computed:{...(0,s.L8)(["supportsConformance"]),conformances(){return o[this.type]},canSort(){return this.supportsConformance(this.conformances.Sort)},canFilterExtents(){return this.supportsConformance(this.conformances.BasicFilters)},canFilterFreeText(){return this.supportsConformance(this.conformances.FreeText)},cql(){if(!this.supportsConformance(this.conformances.CqlFilters))return null;let t=this.supportsConformance(i),e=this.supportsConformance(r);return t||e?{textMode:t,jsonMode:e,advancedComparison:this.supportsConformance(n)}:null}}}},67467:function(t,e,a){"use strict";var s=a(95353);e.A=t=>{let e={computed:{...(0,s.aH)(["uiLanguage"])},methods:{}};for(let a in t){let s=t[a];e.methods[a]=function(){return this.uiLanguage,s(...arguments)}}return e}},97685:function(t,e,a){"use strict";var s=a(95353);e.A={props:{showThumbnail:{type:Boolean,default:!0}},computed:{...(0,s.aH)(["cardViewMode","crossOriginMedia","defaultThumbnailSize"]),isList(){return this.data&&!this.data.isItem()&&"list"===this.cardViewMode},hasImage(){return this.showThumbnail&&this.thumbnail},thumbnail(){if(this.data){let t=this.data.getThumbnails(!0,"thumbnail");if(t.length>0){let e,a,s=t[0];return Array.isArray(s["proj:shape"])&&2===s["proj:shape"].length?[a,e]=s["proj:shape"]:Array.isArray(this.defaultThumbnailSize)&&2===this.defaultThumbnailSize.length&&([a,e]=this.defaultThumbnailSize),{src:s.href,alt:s.title,crossorigin:this.crossOriginMedia,right:this.isList,blankColor:"rgba(0, 0, 0, 0.125)",width:e,height:a,"blank-width":e,"blank-height":a}}}return null}}}},24274:function(t,e,a){"use strict";a.d(e,{A:function(){return n}});a(98992),a(54520),a(81454);var s=a(2566),i=a(31831),r=a(44426);class n{static resolveAuth(t,e){if(e instanceof i.A&&s.Ay.size(t["auth:refs"])>0){const a=e.getMetadata("auth:schemes");if(s.Ay.size(a)>0)return t["auth:refs"].map((t=>a[t])).filter((t=>s.Ay.isObject(t)))}return[]}static isSupported(t,e){switch(t instanceof r.A&&(t=t.options),t.type){case"http":return"basic"===t.schema;case"apiKey":return"header"===t.in||"query"===t.in;case"openIdConnect":return"history"===e.historyMode;default:return!1}}static convertLegacyAuthConfig(t){return s.Ay.isObject(t)&&null!==t.type?"query"===t.type||"header"===t.type?{type:"apiKey",in:t.type,name:t.key,description:t.description,formatter:t.formatter}:t:null}}},50737:function(t,e,a){"use strict";let s;s=a(19306),e.A=Object.assign(s,{pathPrefix:"/stac-browser",historyMode:"hash"},window.STAC_BROWSER_CONFIG)},48907:function(t,e,a){"use strict";a.d(e,{Aj:function(){return c},Qm:function(){return p},SM:function(){return g},_:function(){return m},fH:function(){return f}});a(81454);var s=a(85471),i=a(64765),r=a(50737),n=a(14540),o=a.n(n),l=a(2566);s.Ay.use(i.A);const c=["https://api.stacspec.org/v1.*/language"],u={};function d(){for(let e of r.A.supportedLocales)u[e]=a(97991)(`./${e}/config.json`);const t={};for(let e in u)t[e]={languages:u};return t}const h=new i.A({locale:r.A.locale,fallbackLocale:r.A.fallbackLocale,messages:d(),postTranslation:(t,e)=>{if(""===t){const a=e.split(".");let s=h.messages[r.A.fallbackLocale];for(const e of a){if(!(e in s))return t;s=s[e]}return s}return t}});function p(){return Promise.all([f(r.A.locale),f(r.A.fallbackLocale)])}async function f(t){if(l.Ay.size(h.messages[t])>1)return;const e=(await a(33545)(`./${t}/default.js`)).default;h.mergeLocaleMessage(t,e)}async function g(t){const e=u[t].customize;if(0===l.Ay.size(u[t].customize))return;const s=e.map((async e=>{const s=(await a(93731)(`./${t}/${e}`)).default;return await s(t)}));return Promise.all(s)}function m(t,e=null){if("string"!==typeof t||0===t.length)return t;let a=`fields.${t}`;return h.te(a)?h.t(a,null,e):o().format(t,e)}e.Ay=h},39071:function(t,e,a){"use strict";a.d(e,{E0:function(){return i},f5:function(){return r}});a(44114),a(98992),a(3949);function s(t){if(!t)return;const e=String(t),a=e.indexOf("@"),s=-1!==a?e.substr(a+1):void 0,i=-1!==a?e.substr(0,a):e,r=String(i).replace(/-/g,"_").split("_");if(!r.length||r.length>4)return;const n=r.shift();if(!n)return;const o={keyword:s,language:n.toLowerCase()};if(!r.length)return o;if(3===r.length){const t=r.pop();t&&(o.variant=t.toUpperCase())}let l=r.pop();if(l.length>3&&(o.keyword=l,l=r.pop()),l&&(o.country=l.toUpperCase()),!r.length)return o;const c=r.pop();return"string"===typeof c&&c.length>=1&&(o.script=c[0].toUpperCase()+c.substring(1).toLowerCase()),o}function i(t){const e={};return t.forEach((t=>{const{language:a,country:i}=s(t);if(!a)throw new Error(`Locale ${t} is not parsable`);e[a]||(e[a]={countries:{},firstCountry:void 0,main:void 0});const r=e[a];i?(r.countries[i]=t,r.firstCountry||(r.firstCountry=t)):r.main=t})),e}function r(t,e,a,n){const o=Array.isArray(t)?i(t):t;if(!e&&a)return r(t,a,void 0,n);if(!e)return;const{language:l,country:c}=s(e);if(!l)return a;if(!o[l]){if(e===a)return;return r(t,a,null,n)}const{countries:u,main:d=a,firstCountry:h}=o[l];return u&&c?n&&h?u[c]?u[c]:h:u[c]?u[c]:d:n&&h?h:d}},81943:function(t,e,a){"use strict";var s=a(85471),i=function(){var t=this,e=t._self._c;return e("b-container",{attrs:{id:"stac-browser"}},[t.showLogin?e("Authentication"):t._e(),t.globalError?e("ErrorAlert",t._b({staticClass:"global-error",attrs:{dismissible:""},on:{close:t.hideError}},"ErrorAlert",t.globalError,!1)):t._e(),t.sidebar?e("Sidebar"):t._e(),e("header",[e("div",{staticClass:"logo"},[t._v(t._s(t.displayCatalogTitle))]),e("StacHeader",{on:{enableSidebar:function(e){t.sidebar=!0}}})],1),e("router-view"),e("footer",[e("i18n",{staticClass:"poweredby text-muted",attrs:{tag:"small",path:"poweredBy"},scopedSlots:t._u([{key:"link",fn:function(){return[e("a",{attrs:{href:"https://github.com/radiantearth/stac-browser",target:"_blank"}},[t._v("STAC Browser")]),t._v(" "+t._s(t.browserVersion)+" ")]},proxy:!0}])})],1)],1)},r=[],n=(a(44114),a(40173)),o=a(95353),l=a(50737),c=function(){var t=this,e=t._self._c;return e("main",{staticClass:"browse d-flex flex-column"},[!t.allowExternalAccess&&t.isExternal?e("b-alert",{attrs:{show:""}},[t._v(t._s(t.$t("errors.noExternalAccess")))]):t.error?e("ErrorAlert",{attrs:{url:t.url,description:t.errorDescription,id:t.errorId}}):t.loading?e("Loading",{attrs:{stretch:""}}):e(t.component,{tag:"component"})],1)},u=[],d=function(){var t=this,e=t._self._c;return e("div",{key:t.data.id,staticClass:"item"},[e("b-row",[e("b-col",{staticClass:"left"},[e("section",{staticClass:"mb-4"},[e("b-card",{staticClass:"maps-preview",attrs:{"no-body":""}},[e("b-tabs",{ref:"tabs",attrs:{card:"",pills:"",vertical:"",end:""},model:{value:t.tab,callback:function(e){t.tab=e},expression:"tab"}},[e("b-tab",{attrs:{title:t.$t("map"),"no-body":""}},[e("Map",{attrs:{stac:t.data,stacLayerData:t.selectedAsset,scrollWheelZoom:""},on:{dataChanged:t.dataChanged}})],1),t.thumbnails.length>0?e("b-tab",{attrs:{title:t.$t("thumbnails"),"no-body":""}},[e("Thumbnails",{attrs:{thumbnails:t.thumbnails}})],1):t._e()],1)],1)],1),t.hasAssets?e("Assets",{attrs:{assets:t.assets,context:t.data,shown:t.shownAssets},on:{showAsset:t.showAsset}}):t._e(),t.additionalLinks.length>0?e("Links",{attrs:{title:t.$t("additionalResources"),links:t.additionalLinks,context:t.data}}):t._e()],1),e("b-col",{staticClass:"right"},[e("section",{staticClass:"intro"},[t.data.properties.description?e("h2",[t._v(t._s(t.$t("description")))]):t._e(),t.data.properties.deprecated?e("DeprecationNotice",{attrs:{data:t.data}}):t._e(),t.data.properties["anon:warning"]?e("AnonymizedNotice",{attrs:{warning:t.data.properties["anon:warning"]}}):t._e(),t.data.properties.description?e("ReadMore",{attrs:{lines:10,text:t.$t("read.more"),"text-less":t.$t("read.less")}},[e("Description",{attrs:{description:t.data.properties.description}})],1):t._e(),Array.isArray(t.data.properties.keywords)&&t.data.properties.keywords.length>0?e("Keywords",{staticClass:"mb-3",attrs:{keywords:t.data.properties.keywords}}):t._e()],1),t.collectionLink?e("CollectionLink",{attrs:{link:t.collectionLink}}):t._e(),t.data.properties.providers?e("Providers",{attrs:{providers:t.data.properties.providers}}):t._e(),e("Metadata",{attrs:{data:t.data,type:"Item",ignoreFields:t.ignoredMetadataFields}})],1)],1)],1)},h=[],p=a(41526),f=a(6841),g=a.n(f),m=(a(81454),a(2566)),b={data(){return{shownAssetsOnMap:[],shownBandsOnMap:[],tab:null,selectedAsset:null,selectedAssetKey:null}},computed:{...(0,o.L8)(["thumbnails","hasAssets","assets"]),shownAssets(){if(0===this.tab)return this.shownAssetsOnMap;if(1===this.tab||null===this.tab&&this.thumbnails.length>0){let t=[],e=this.thumbnails.map((t=>t.href));for(let a in this.assets){let s=this.assets[a];e.includes(s.href)&&t.push(a)}return t}return[]}},methods:{showAsset(t,e,a){a?this.tab=1:(this.tab=0,this.selectedAsset=t,this.selectedAssetKey=e,this.shownAssetsOnMap=[this.selectedAssetKey]),this.$refs.tabs&&m.Ay.scrollTo(this.$refs.tabs.$el)},dataChanged(t){m.Ay.isObject(t)?t.assets||t.bands?(m.Ay.size(t.assets)>0&&(this.selectedAssetKey?this.shownAssetsOnMap=[this.selectedAssetKey]:this.shownAssetsOnMap=t.assets.map((t=>t.key))),m.Ay.size(t.bands)>0&&(this.shownBandsOnMap=t.bands)):this.selectedAssetKey&&(this.shownAssetsOnMap=[this.selectedAssetKey]):(this.shownBandsOnMap=[],this.shownAssetsOnMap=[])}}},y=a(95050),A=a(63405),v=(a(98992),a(54520),a(31831)),w=a(84193),C=a.n(w),k=a(48907);function _(t,e){let a=e.getters.toBrowserPath(t),s=C()(window.location.origin.toString());return"hash"===e.state.historyMode?(s.path(e.state.pathPrefix),s.fragment(a)):s.path(m.Ay.removeTrailingSlash(e.state.pathPrefix)+a),s.toString()}function L(t,e){Array.isArray(e)&&e.length>=4&&(t.spatialCoverage={"@type":"Place",geo:{"@type":"GeoShape",box:(e||[]).join(" ")}})}function j(t){return!Array.isArray(t)||2!==t.length||"string"!==typeof t[0]&&"string"!==typeof t[1]?null:t.map((t=>t||"..")).join("/")}function x(t){return m.Ay.size(t.assets)>0?Object.values(t.assets).map((e=>({"@type":"DataDownload",contentUrl:m.Ay.toAbsolute(e.href,t.getAbsoluteUrl()),encodingFormat:e.type,name:e.title}))):[]}function S(t,e,a,s="DataCatalog"){return t.map((t=>{let i,r;t instanceof v.A?(i=v.A.getDisplayTitle(t),r=t.getAbsoluteUrl()):(i=t.title,r=m.Ay.toAbsolute(t.href,e.getAbsoluteUrl()));let n={"@type":s,name:i,url:_(r,a),isBasedOn:r};return"Dataset"===s&&(n.description=I(t,a)),n}))}function T(t,e){return t.filter((t=>m.Ay.isObject(t)&&Array.isArray(t.roles)&&t.roles.includes(e))).map((t=>({"@type":"Organization",name:t.name,description:t.description,url:t.url,email:t.email||t.mail})))}function I(t,e){let a,s;if(t instanceof v.A?(a=t.isItem()?"Item":t.type,s=t.collection):m.Ay.isObject(t)&&"item"===t.rel&&(a="Item"),a){let i=k.Ay.tc(`stac${a}`),r=k.Ay.t("in",{catalog:s||e.catalogTitle});return`SpatioTemporal Asset Catalog (STAC)\n${i} - ${t.id} ${r}`}}function O(t,e,a){var s;let i,r=v.A.getDisplayTitle(t),n=t.getAbsoluteUrl(),o=_(n,a),l=null===(s=t.getMetadata("language"))||void 0===s?void 0:s.code,c=t.getThumbnails(!0);c.length>0&&(i=m.Ay.toAbsolute(c[0].href,t.getAbsoluteUrl()));let u=t.getMetadata("license");var d;u&&"proprietary"!==u&&"various"!==u&&"other"!==u?u=`https://spdx.org/licenses/${u}.html`:u=null===(d=t.getLinkWithRel("license"))||void 0===d?void 0:d.href;u&&(u=m.Ay.toAbsolute(u,t.getAbsoluteUrl()));let h,p,f,g,b=t.getMetadata("providers");return m.Ay.size(b)>0&&(h=T(b,"licensor"),p=T(b,"producer"),f=T(b,"host"),g=T(b,"processor")),{"@context":"https://schema.org/","@type":e,name:r,description:t.getMetadata("description")||I(t,a),citation:t.getMetadata("sci:citation"),identifier:t.getMetadata("sci:doi")||t.id,keywords:t.getMetadata("keywords"),license:u,url:o,isBasedOn:n,dateCreated:t.getMetadata("created"),dateModified:t.getMetadata("updated"),datePublished:t.getMetadata("published"),expires:t.getMetadata("expires"),inLanguage:l,thumbnailUrl:i,version:t.getMetadata("version"),image:i,copyrightHolder:h,producer:p,provider:f,creator:g}}function $(t,e,a){if(!(t instanceof v.A))return null;e=e.filter((t=>m.Ay.isObject(t))),e.length>1&&(e=e.filter(((t,a)=>e.findIndex((e=>e.isBasedOn===t.isBasedOn))!==a)));let s=O(t,"DataCatalog",a);var i,r,n,o;t.isCollection()&&((null===(i=t.extent)||void 0===i||null===(r=i.temporal)||void 0===r?void 0:r.interval.length)>0&&(s.temporalCoverage=j(t.extent.temporal.interval[0])),(null===(n=t.extent)||void 0===n||null===(o=n.spatial)||void 0===o?void 0:o.bbox.length)>0&&L(s,t.extent.spatial.bbox[0]),s.associatedMedia=x(t));return s.hasPart=S(a.getters.catalogs,t,a),s.dataset=S(a.getters.items,t,a,"Dataset"),s.isPartOf=S(e,t,a),s}function P(t,e,a){if(!(t instanceof v.A))return null;e=e.filter((t=>m.Ay.isObject(t)));let s=O(t,"Dataset",a);s.includedInDataCatalog=S(e,t,a);let i=t.getMetadata("start_datetime"),r=t.getMetadata("end_datetime");return s.temporalCoverage=i||r?j([i,r]):t.getMetadata("datetime"),L(s,t.bbox),s.distribution=x(t),s}function B(t,e){let a="schema-org",s=t.getElementById(a);s||(s=t.createElement("script"),s.type="application/ld+json",s.id=a,t.head.appendChild(s)),s.innerText=JSON.stringify(e)}var M={name:"Item",components:{AnonymizedNotice:()=>a.e(7457).then(a.bind(a,47457)),Assets:()=>Promise.all([a.e(9232),a.e(126)]).then(a.bind(a,62749)),BTabs:y.r,BTab:A.a,CollectionLink:()=>a.e(9891).then(a.bind(a,89891)),Description:p["default"],DeprecationNotice:()=>a.e(7341).then(a.bind(a,57341)),Keywords:()=>a.e(8499).then(a.bind(a,28499)),Links:()=>Promise.all([a.e(9710),a.e(537),a.e(4870),a.e(9232),a.e(4052)]).then(a.bind(a,73931)),Map:()=>a.e(401).then(a.bind(a,80401)),Metadata:()=>Promise.all([a.e(9710),a.e(537),a.e(4870),a.e(3147)]).then(a.bind(a,73147)),Providers:()=>a.e(635).then(a.bind(a,80635)),ReadMore:g(),Thumbnails:()=>a.e(8648).then(a.bind(a,26267))},mixins:[b],data(){return{ignoredMetadataFields:["description","keywords","providers","title","deprecated","proj:bbox","proj:geometry","auth:schemes","anon:warning"]}},computed:{...(0,o.aH)(["data","url"]),...(0,o.L8)(["additionalLinks","collectionLink","parentLink"])},watch:{data:{immediate:!0,handler(t){try{let e=P(t,[this.collectionLink,this.parentLink],this.$store);B(document,e)}catch(e){console.error(e)}}}}},F=M,E=a(81656),U=(0,E.A)(F,d,h,!1,null,null,null),R=U.exports,q=function(){var t=this,e=t._self._c;return e("div",{key:t.data.id,class:{cc:!0,[t.cssStacType]:!0,mixed:t.hasCatalogs&&t.hasItems,empty:!t.hasCatalogs&&!t.hasItems}},[e("b-row",[e("b-col",{staticClass:"meta"},[e("section",{staticClass:"intro"},[e("h2",[t._v(t._s(t.$t("description")))]),t.data.deprecated?e("DeprecationNotice",{attrs:{data:t.data}}):t._e(),t.data["anon:warning"]?e("AnonymizedNotice",{attrs:{warning:t.data["anon:warning"]}}):t._e(),t.data.description?e("ReadMore",{attrs:{lines:10,text:t.$t("read.more"),"text-less":t.$t("read.less")}},[e("Description",{attrs:{description:t.data.description}})],1):t._e(),Array.isArray(t.data.keywords)&&t.data.keywords.length>0?e("Keywords",{staticClass:"mb-3",attrs:{keywords:t.data.keywords}}):t._e(),t.isCollection?e("section",{staticClass:"metadata mb-4"},[t.licenses?e("b-row",[e("b-col",{staticClass:"label",attrs:{md:"4"}},[t._v(t._s(t.$t("catalog.license")))]),e("b-col",{staticClass:"value",attrs:{md:"8"}},[e("span",{domProps:{innerHTML:t._s(t.licenses)}})])],1):t._e(),t.temporalExtents?e("b-row",[e("b-col",{staticClass:"label",attrs:{md:"4"}},[t._v(t._s(t.$t("catalog.temporalExtent")))]),e("b-col",{staticClass:"value",attrs:{md:"8"}},[e("span",{domProps:{innerHTML:t._s(t.temporalExtents)}})])],1):t._e()],1):t._e(),"left"===t.linkPosition?e("Links",{attrs:{title:t.$t("additionalResources"),links:t.additionalLinks,context:t.data}}):t._e()],1),t.isCollection||t.hasThumbnails?e("section",{staticClass:"mb-4"},[e("b-card",{staticClass:"maps-preview",attrs:{"no-body":""}},[e("b-tabs",{ref:"tabs",attrs:{pills:"",card:"",vertical:"",end:""},model:{value:t.tab,callback:function(e){t.tab=e},expression:"tab"}},[t.isCollection?e("b-tab",{attrs:{title:t.$t("map"),"no-body":""}},[e("Map",{attrs:{stac:t.data,stacLayerData:t.mapData,fitBoundsOnce:"",popover:""},on:{dataChanged:t.dataChanged}})],1):t._e(),t.hasThumbnails?e("b-tab",{attrs:{title:t.$t("thumbnails"),"no-body":""}},[e("Thumbnails",{attrs:{thumbnails:t.thumbnails}})],1):t._e()],1)],1)],1):t._e(),t.hasAssets?e("Assets",{attrs:{assets:t.assets,context:t.data,shown:t.shownAssets},on:{showAsset:t.showAsset}}):t._e(),t.hasItemAssets&&!t.hasItems?e("Assets",{attrs:{assets:t.data.item_assets,context:t.data,definition:!0}}):t._e(),t.providers?e("Providers",{attrs:{providers:t.providers}}):t._e(),e("Metadata",{staticClass:"mb-4",attrs:{type:t.data.type,data:t.data,ignoreFields:t.ignoredMetadataFields}}),t.collectionLink?e("CollectionLink",{attrs:{link:t.collectionLink}}):t._e(),"right"===t.linkPosition?e("Links",{attrs:{title:t.$t("additionalResources"),links:t.additionalLinks,context:t.data}}):t._e()],1),t.hasCatalogs?e("b-col",{staticClass:"catalogs-container"},[e("Catalogs",{attrs:{catalogs:t.catalogs,hasMore:!!t.nextCollectionsLink},on:{loadMore:t.loadMoreCollections}})],1):t._e(),t.hasItems?e("b-col",{staticClass:"items-container"},[e("Items",{attrs:{stac:t.data,items:t.items,api:t.isApi,showFilters:t.showFilters,apiFilters:t.filters,pagination:t.itemPages,loading:t.apiItemsLoading},on:{paginate:t.paginateItems,filterItems:t.filterItems,filtersShown:t.filtersShown}}),t.hasItemAssets?e("Assets",{attrs:{assets:t.data.item_assets,context:t.data,definition:!0}}):t._e()],1):t._e()],1)],1)},D=[],z=a(32398),H=a(3896),N=a(67467),W=a(50735),Q={name:"Catalog",components:{AnonymizedNotice:()=>a.e(7457).then(a.bind(a,47457)),Assets:()=>Promise.all([a.e(9232),a.e(126)]).then(a.bind(a,62749)),BTabs:y.r,BTab:A.a,Catalogs:z["default"],CollectionLink:()=>a.e(9891).then(a.bind(a,89891)),DeprecationNotice:()=>a.e(7341).then(a.bind(a,57341)),Description:p["default"],Items:H["default"],Keywords:()=>a.e(8499).then(a.bind(a,28499)),Links:()=>Promise.all([a.e(9710),a.e(537),a.e(4870),a.e(9232),a.e(4052)]).then(a.bind(a,73931)),Map:()=>a.e(401).then(a.bind(a,80401)),Metadata:()=>Promise.all([a.e(9710),a.e(537),a.e(4870),a.e(3147)]).then(a.bind(a,73147)),Providers:()=>a.e(635).then(a.bind(a,80635)),ReadMore:g(),Thumbnails:()=>a.e(8648).then(a.bind(a,26267))},mixins:[b,(0,N.A)({formatLicense:W.formatLicense,formatTemporalExtents:W.formatTemporalExtents})],data(){return{filters:{},ignoredMetadataFields:["stac_version","stac_extensions","id","type","title","description","keywords","providers","license","extent","summaries","links","assets","item_assets","proj:bbox","proj:geometry","conformsTo","deprecated","anon:warning","stats:catalogs","stats:collections","stats:items","auth:schemes","stac_browser"]}},computed:{...(0,o.aH)(["data","url","apiItems","apiItemsLink","apiItemsPagination","nextCollectionsLink","stateQueryParameters"]),...(0,o.L8)(["additionalLinks","catalogs","collectionLink","isCollection","items","getApiItemsLoading","parentLink","rootLink"]),cssStacType(){var t,e;return m.Ay.hasText(null===(t=this.data)||void 0===t?void 0:t.type)?null===(e=this.data)||void 0===e?void 0:e.type.toLowerCase():null},showFilters(){return Boolean(this.stateQueryParameters["itemFilterOpen"])},hasThumbnails(){return this.thumbnails.length>0},linkPosition(){return 0===this.additionalLinks.length?null:this.isCollection||!this.hasThumbnails?"right":"left"},apiItemsLoading(){return this.getApiItemsLoading(this.data)},licenses(){return this.isCollection&&this.data.license?this.formatLicense(this.data.license,null,null,this.data):null},providers(){let t=[];return Array.isArray(this.data.providers)&&this.data.providers.length>0?t=this.data.providers:this.isCollection&&m.Ay.isObject(this.data.summaries)&&Array.isArray(this.data.summaries.providers)&&(t=this.data.summaries.providers),t.length>0?t:null},temporalExtents(){if(this.isCollection&&this.data.extent.temporal.interval.length>0){let t=this.data.extent.temporal.interval;return t.length>1&&(t=t.slice(1)),this.formatTemporalExtents(t)}return null},hasItemAssets(){var t;return m.Ay.size(null===(t=this.data)||void 0===t?void 0:t.item_assets)>0},itemPages(){let t=Object.assign({},this.apiItemsPagination);return!t.first&&this.data&&this.apiItemsLink&&"items"!==this.apiItemsLink.rel&&(t.first=m.Ay.addFiltersToLink(this.data.getApiItemsLink(),this.filters)),t},isApi(){return Boolean(this.apiItemsLink)},hasItems(){return this.items.length>0||this.isApi},hasCatalogs(){return this.catalogs.length>0},mapData(){return this.selectedAsset?this.selectedAsset:{type:"FeatureCollection",features:this.items}}},watch:{data:{immediate:!0,handler(t){try{let e=$(t,[this.parentLink,this.rootLink],this.$store);B(document,e)}catch(e){console.error(e)}}}},methods:{filtersShown(t){this.$store.commit("updateState",{type:"itemFilterOpen",value:t?1:null})},loadMoreCollections(){this.$store.dispatch("loadNextApiCollections",{show:!0})},async paginateItems(t){try{await this.$store.dispatch("loadApiItems",{link:t,show:!0,filters:this.filters})}catch(e){this.$root.$emit("error",e,this.$t("errors.loadItems"))}},async filterItems(t,e){this.filters=t,e&&this.$store.commit("resetApiItems",this.data.getApiItemsLink());try{await this.$store.dispatch("loadApiItems",{link:this.data.getApiItemsLink(),show:!0,filters:t})}catch(a){let t=e?this.$t("errors.loadItems"):this.$t("errors.loadFilteredItems");this.$root.$emit("error",a,t)}}}},V=Q,G=(0,E.A)(V,q,D,!1,null,null,null),K=G.exports,J=a(79873),X={name:"Browse",components:{Catalog:K,Item:R},mixins:[J.A],computed:{...(0,o.L8)(["isItem"]),component(){return this.isItem?"Item":"Catalog"}}},Y=X,Z=(0,E.A)(Y,c,u,!1,null,null,null),tt=Z.exports;function et(t,e){let a=t.params.pathMatch;return e.allowExternalAccess&&a.startsWith("external/")&&(a="/"+a),{path:a}}function at(t){let e=[];return t.catalogUrl?e.push({path:"/search",name:"search",component:()=>Promise.all([a.e(537),a.e(5262),a.e(4741),a.e(7250)]).then(a.bind(a,28189))}):(e.push({path:"/",name:"select",component:()=>a.e(967).then(a.bind(a,60967))}),e.push({path:"/search/external/(.*)",name:"search",component:()=>Promise.all([a.e(537),a.e(5262),a.e(4741),a.e(7250)]).then(a.bind(a,28189)),props:t=>({loadParent:`/external/${t.params.pathMatch}`})})),e.push({path:"/auth/logout",name:"logout",component:()=>a.e(7130).then(a.bind(a,77130))}),e.push({path:"/auth",component:()=>a.e(7659).then(a.bind(a,17659))}),e.push({path:"/validation/(.*)",name:"validation",component:()=>Promise.all([a.e(537),a.e(287),a.e(3545)]).then(a.bind(a,93545)),props:e=>et(e,t)}),e.push({path:"/(.*)",name:"browse",component:tt,props:e=>et(e,t)}),e}var st=at,it=(a(72577),a(3949),a(59203)),rt=a(44426),nt=a(24274),ot=a(45311);const lt=async(t,e)=>{t.commit("showGlobalError",{error:e,message:k.Ay.t("errors.authFailed")},{root:!0}),await t.dispatch("updateCredentials")};function ct(t){return{namespaced:!0,state:{method:()=>new rt.A,actions:[],credentials:null,inProgress:!1},getters:{method(t){return t.method()},canAuthenticate(t,e,a){return nt.A.isSupported(e.method,a)},isLoggedIn(t){return null!==t.credentials},showLogin(t,e){return!e.isLoggedIn&&t.inProgress}},mutations:{setCredentials(t,e){t.credentials=e},setMethod(t,e){t.method=()=>e},addAction(t,e){t.actions.push(e)},resetActions(t){t.actions=[]},setInProgress(t,e=!0){t.inProgress=e}},actions:{async waitForAuth(t){rt.A.equals(t.getters.method,t.rootState.authConfig)||await t.dispatch("updateMethod",t.rootState.authConfig)},async updateMethod(e,a){a=nt.A.convertLegacyAuthConfig(a),rt.A.equals(e.getters.method,a)||await e.getters.method.close();const s=async(t,a)=>{t||(a=null),await e.dispatch("updateCredentials",a),t?await e.dispatch("executeActions"):e.commit("resetActions")},i=new ot.A(!0);i.set("authConfig",a);const r=await rt.A.create(a,s,t);e.commit("setMethod",r)},async requestLogin(t){if(!t.getters.isLoggedIn){t.commit("setInProgress");try{await t.getters.method.login()}catch(e){lt(t,e)}}},async finalizeLogin(t,e=null){t.commit("setInProgress",!1);try{await t.getters.method.confirmLogin(e)}catch(a){lt(t,a)}},async abortLogin(t){t.commit("setInProgress",!1)},async requestLogout(t){t.getters.isLoggedIn&&(t.commit("setInProgress"),await t.getters.method.logout())},async finalizeLogout(t){t.commit("setInProgress",!1);try{await t.getters.method.confirmLogout()}catch(e){lt(t,e)}},async updateCredentials(t,e=null){t.commit("setCredentials",e);const a=t.getters.method.updateStore(e);if(a.query)t.commit("setQueryParameter",a.query,{root:!0});else if(a.header)t.commit("setRequestHeader",a.header,{root:!0});else if(a.cookie){const t=new ot.W(!0);t.setItem(a.cookie.key,a.cookie.value)}},async executeActions(t){for(let a of t.state.actions)try{const e=a();e instanceof Promise&&e.catch((e=>lt(t,e)))}catch(e){lt(t,e)}t.commit("resetActions")}}}}var ut=a(33484),dt=a(39071),ht=a(14540),pt=a.n(ht),ft=a(78561);function gt(t,e){const a=()=>({url:"",title:t.catalogTitle,description:null,data:null,parents:null,globalError:null,localRequestQueryParameters:{},stateQueryParameters:{language:null,asset:[],itemdef:[]},apiItems:[],apiItemsLink:null,apiItemsPagination:{}}),i=()=>({queue:[],privateQueryParameters:{},authActions:[],conformsTo:[],dataLanguage:null,dataLanguages:[],apiCollections:[],apiItemsLoading:{},nextCollectionsLink:null});return new o.Ay.Store({strict:!1,modules:{auth:ct(e)},state:Object.assign({},t,a(),i(),{database:{},allowSelectCatalog:!t.catalogUrl,globalRequestQueryParameters:t.requestQueryParameters,uiLanguage:t.locale}),getters:{loading:t=>!t.url||!t.data||t.database[t.url]instanceof ut.Rh,getApiItemsLoading:t=>e=>{let a="";return e instanceof ut.Rh||(e instanceof v.A?a=e.id:"string"===typeof e&&(a=e),t.apiItemsLoading[a]||!1)},error:t=>t.database[t.url]instanceof Error?t.database[t.url]:null,getStac:t=>(e,a=!1)=>{if(e instanceof v.A)return e;if(m.Ay.isObject(e)&&m.Ay.hasText(e.href)&&(e=e.href),!m.Ay.hasText(e))return null;let s=m.Ay.toAbsolute(e,t.url),i=t.database[s];return i instanceof v.A||a&&i instanceof Error?i:null},displayCatalogTitle:(t,e)=>v.A.getDisplayTitle(e.root,t.catalogTitle),isCollection:t=>{var e;return(null===(e=t.data)||void 0===e?void 0:e.isCollection())||!1},isCatalog:t=>{var e;return(null===(e=t.data)||void 0===e?void 0:e.isCatalog())||!1},isCatalogLike:t=>{var e;return(null===(e=t.data)||void 0===e?void 0:e.isCatalogLike())||!1},isItem:t=>{var e;return(null===(e=t.data)||void 0===e?void 0:e.isItem())||!1},root:(t,e)=>e.getStac(e.rootLink),rootLink:t=>{var e;let a=null===(e=t.data)||void 0===e?void 0:e.getStacLinkWithRel("root");if(a)return a;if(t.catalogUrl)return m.Ay.createLink(t.catalogUrl,"root");if(t.url&&t.data instanceof v.A&&t.data.getLinksWithRels(["conformance","service-desc","service-doc","data","search"]).length>0)return m.Ay.createLink(t.url,"root");if(t.url){let e=C()(t.url),a=e.segment(-2);if(["collections","items"].includes(a))return e.segment(-1,""),e.segment(-1,""),"items"===a&&(e.segment(-1,""),e.segment(-1,"")),m.Ay.createLink(e.toString(),"root")}return null},parentLink:t=>{if(t.data instanceof v.A){let e=t.data.getStacLinkWithRel("parent");if(e)return e}if(t.url){let e=C()(t.url),a=e.segment(-2);if(["collections","items"].includes(a))return e.segment(-1,""),e.segment(-1,""),m.Ay.createLink(e.toString(),"parent")}return null},collectionLink:t=>{if(t.data instanceof v.A){var e;let a=null===(e=t.data)||void 0===e?void 0:e.getStacLinkWithRel("collection");if(a)return a}if(t.url){let e=C()(t.url),a=e.segment(-2);if("items"==a)return e.segment(-1,""),e.segment(-1,""),m.Ay.createLink(e.toString(),"collection")}return null},supportsConformance:t=>e=>{if(!Array.isArray(e))return e;let a=e.map((t=>t.replaceAll("*","[^/]+").replace(/\/?#/,"/?#"))).join("|"),s=new RegExp("^("+a+")$");return Boolean(t.conformsTo.find((t=>t.match(s))))},supportsExtension:t=>e=>m.Ay.supportsExtension(t.data,e),canSearch:(t,e)=>e.canSearchCollections||e.canSearchItems,canSearchItems:(t,e)=>e.supportsConformance(ft.Q.Global.BasicFilters),canSearchCollections:(t,e)=>e.supportsConformance(ft.Q.Collections.BasicFilters),items:t=>t.apiItems.length>0?t.apiItems:t.data?t.data.getStacLinksWithRel("item"):[],catalogs:t=>{let e=Boolean(t.data instanceof v.A&&t.data.getApiCollectionsLink()&&t.apiCollections.length>0),a=Boolean(t.data instanceof v.A),s=!t.apiCatalogPriority||"collections"===t.apiCatalogPriority,i=!t.apiCatalogPriority||"childs"===t.apiCatalogPriority,r=[];return e&&s&&(r=r.concat(t.apiCollections)),a&&i&&(r=v.A.addMissingChildren(r,t.data)),r},hasAssets:(t,e)=>Boolean(Object.values(e.assets).find((t=>m.Ay.isObject(t)&&"string"===typeof t.href))),assets:(t,e)=>{var a;if(m.Ay.isObject(null===(a=t.data)||void 0===a?void 0:a.assets)){if(t.showThumbnailsAsAssets)return t.data.assets;{let a={},s=e.thumbnails;for(let e in t.data.assets){let i=t.data.assets[e];s.includes(i)||(a[e]=i)}return a}}return{}},thumbnails:t=>t.data?t.data.getThumbnails(!0):[],additionalLinks:t=>t.data?t.data.getLinksWithOtherRels(it.ol).filter((t=>"preview"!==t.rel||!m.Ay.canBrowserDisplayImage(t))):[],toBrowserPath:(t,e)=>a=>{m.Ay.hasText(a)||(a="/");let s,i=m.Ay.toAbsolute((0,ut.rM)(a,t.stacProxyUrl),t.url,!1);if(!t.allowSelectCatalog&&t.catalogUrl&&(s=i.relativeTo(t.catalogUrl)),"undefined"===typeof s||e.isExternalUrl(i,!1)){if(!t.allowExternalAccess)return i.toString();let e=["/external"],a=i.protocol();"https"!==a&&e.push(a+":"),e.push(i.authority()),e.push(i.path().replace(/^\//,""));let s=e.join("/"),r=i.query();return r&&(s+=`?${r}`),s}return"/"+s.toString()},fromBrowserPath:(t,e)=>a=>{const s=/^\/(search\/)?external\//;if(m.Ay.hasText(a)&&"/"!==a)if(a.match(s)){let t,e=a.replace(s,"").split("/");t=e[0].endsWith(":")?e.shift():"https:",a=`${t}//${e.join("/")}`}else!t.allowSelectCatalog&&t.catalogUrl&&(a=m.Ay.toAbsolute(a,t.catalogUrl,!1));else a=t.catalogUrl;return e.getRequestUrl(a,null,!0)},isExternalUrl:t=>(e,a=!0)=>{if(!t.catalogUrl)return!1;if(e instanceof C()||(e=C()(e)),a&&Array.isArray(t.allowedDomains)&&t.allowedDomains.includes(e.domain()))return!1;let s;if(e.is("relative"))s=e;else if(s=e.relativeTo(t.catalogUrl),s.equals(e))return!0;let i=s.toString();return i.startsWith("//")||i.startsWith("../")},getRequestUrl:(t,e)=>(a,s=null,i=!1)=>{let r=m.Ay.toAbsolute((0,ut.sd)(a,t.stacProxyUrl),s||t.url,!1);return e.isExternalUrl(r)||((0,ut.mA)(r,t.privateQueryParameters),(0,ut.mA)(r,t.globalRequestQueryParameters),i&&(0,ut.mA)(r,t.localRequestQueryParameters)),r.toString()},acceptedLanguages:t=>{const e={en:.1};return Array.isArray(t.supportedLocales)&&t.supportedLocales.forEach((t=>e[t]=.2)),m.Ay.hasText(t.fallbackLocale)&&(e[t.fallbackLocale]=.5),Array.isArray(navigator.languages)&&navigator.languages.forEach((t=>e[t]=.7)),m.Ay.hasText(t.locale)&&(e[t.locale]=1),Object.entries(e).sort(((t,e)=>t[1]>e[1]?-1:t[1]e>=1?t:`${t};q=${e}`)).join(",")}},mutations:{config(t,e){for(let a in e){let s=e[a];switch(a){case"catalogTitle":t.catalogTitle=s;break;case"catalogUrl":"function"===typeof s?t.catalogUrl=s():"string"===typeof s&&(t.catalogUrl=s);break;case"crossOriginMedia":t.crossOriginMedia=["anonymous","use-credentials"].includes(s)?s:null;break;case"cardViewSort":switch(s){case"asc":t.cardViewSort=1;break;case"desc":t.cardViewSort=-1;break;default:t.cardViewSort=0}break;default:t[a]=s}}},languages(t,{uiLanguage:e,dataLanguage:a}){t.dataLanguage=a||null,t.uiLanguage=e||null},setQueryParameter(t,{type:e,key:a,value:i}){e=`${e}QueryParameters`,"undefined"===typeof i?s.Ay.delete(t[e],a):s.Ay.set(t[e],a,i)},setRequestHeader(t,{key:e,value:a}){"undefined"===typeof a?s.Ay.delete(t.requestHeaders,e):s.Ay.set(t.requestHeaders,e,a)},requestAuth(t,e){"function"===typeof e?t.doAuth.push(e):t.doAuth=[]},setAuthData(t,e){t.authData=e},state(t,e){t.stateQueryParameters=e},updateState(t,{type:e,value:a}){null===a||"undefined"===typeof a?s.Ay.delete(t.stateQueryParameters,e):s.Ay.set(t.stateQueryParameters,e,a)},openCollapsible(t,{type:e,uid:a}){const s=t.stateQueryParameters[e].indexOf(a);-1===s&&t.stateQueryParameters[e].push(a)},closeCollapsible(t,{type:e,uid:a}){const i=t.stateQueryParameters[e].indexOf(a);i>-1&&s.Ay.delete(t.stateQueryParameters[e],i)},updateLoading(t,{url:e,show:a}){let i=t.database[e];s.Ay.set(i,"show",a||i.show)},loading(t,{url:e,loading:a}){s.Ay.set(t.database,e,a),a.show&&(t.url=e)},loaded(t,{url:e,data:a}){s.Ay.set(t.database,e,(0,ut.Pj)(t,a))},clear(t,e){s.Ay.delete(t.database,e)},resetCatalog(e,s){Object.assign(e,i()),Object.assign(e,a()),e.supportedLocales.includes(e.locale)||(e.locale=t.locale),s&&(e.catalogUrl=t.catalogUrl,e.catalogTitle=t.catalogTitle,e.database={})},resetPage(t){Object.assign(t,a())},setPageMetadata(t,{title:e,description:a}){t.title=e,"undefined"!==typeof a&&(t.description=a)},showPage(t,{url:e,title:a,description:s,stac:i}){if(i||(i=t.database[e]||null),t.url=e||null,t.data=i instanceof v.A?i:null,t.description=s,a)t.title=a;else if(t.title=v.A.getDisplayTitle(t.data,t.catalogTitle),t.data){let e=t.data.getMetadata("description");m.Ay.hasText(e)&&(t.description=e)}if(t.data){let e=t.data.isItem()?t.data.properties:t.data,a=Array.isArray(e.languages)?e.languages.slice():[];m.Ay.isObject(e.language)&&a.unshift(e.language),t.dataLanguages=a.filter((t=>m.Ay.isObject(t)&&"string"===typeof t.code))}},errored(t,{url:e,error:a}){a instanceof Error||(a=new Error(a)),s.Ay.set(t.database,e,a)},queue(t,e){t.queue.push(e)},unqueue(t,e){let a=t.queue.indexOf(e);-1!==a&&t.queue.splice(a,1)},removeFromQueue(t,e){t.queue.splice(0,e)},setConformanceClasses(t,e){Array.isArray(e)&&(t.conformsTo=e)},setApiItemsLink(t,e){t.apiItemsLink=e},toggleApiItemsLoading(t,e=""){t.apiItemsLoading[e]?s.Ay.delete(t.apiItemsLoading,e):s.Ay.set(t.apiItemsLoading,e,!0)},setApiItems(t,{data:e,stac:a,show:s}){if(!m.Ay.isObject(e)||!Array.isArray(e.features))return;let i=e.features.map((e=>(0,ut.Pj)(t,e)));s&&(t.apiItems=i);let r=m.Ay.getPaginationLinks(e);s&&(t.apiItemsPagination=r),a instanceof v.A&&a.setApiData(i,r.next,r.prev)},addApiCollections(t,{data:e,stac:a,show:s}){if(!m.Ay.isObject(e)||!Array.isArray(e.collections))return;let i=e.collections.map((e=>(0,ut.Pj)(t,e))),r=m.Ay.getLinkWithRel(e.links,"next");s&&(t.nextCollectionsLink=r,t.apiCollections=t.apiCollections.concat(i)),a instanceof v.A&&a.setApiData(i,r)},resetApiItems(t,e){t.apiItems=[],t.apiItemsLink=e,t.apiItemsPagination={}},parents(t,e){t.parents=e},showGlobalError(t,e){e&&console.trace(e),t.globalError=e}},actions:{async config(t,e){const a=Object.assign({},t.state);t.commit("config",e);for(let s in e){let e=t.state[s];if(e===a[s])switch(s){case"authConfig":await t.dispatch("auth/updateMethod",e);break}}},async switchLocale(t,{locale:e,userSelected:a}){if(await t.dispatch("config",{locale:e}),t.state.storeLocale&&a){const t=new ot.A;t.set("locale",e)}let s=(0,dt.f5)(t.state.supportedLocales,e,t.state.fallbackLocale),i=t.state.dataLanguages.map((t=>t.code)),r=t.state.dataLanguages.length>0?t.state.dataLanguages[0].code:s,n=(0,dt.f5)(i,e,r);await(0,k.fH)(s),pt().setLocales([s,t.state.fallbackLocale]),pt().setTranslator(k._),await(0,k.SM)(s),t.commit("languages",{dataLanguage:n,uiLanguage:s}),t.commit("setQueryParameter",{type:"state",key:"language",value:e})},async loadBackground(t,e){let a=t.state.queue.slice(0,e);if(a.length>0){let s=[];for(let e of a)s.push(t.dispatch("load",{url:e}));return t.commit("removeFromQueue",e),await Promise.all(s)}},async loadParents(t){if(!(t.state.data instanceof v.A))return void t.commit("parents",[]);let e=[],a=t.state.data;while(a){let s=a.getLinkWithRel("parent")||a.getLinkWithRel("root");if(!s)break;let i=m.Ay.toAbsolute(s.href,a.getAbsoluteUrl());await t.dispatch("load",{url:i});let r=t.getters.getStac(i,!0);if(r instanceof Error)return void t.commit("parents",r);if(r===a)break;e.push(r),a=r}t.commit("parents",e)},async tryLogin(t,{url:e,action:a}){t.commit("clear",e),t.commit("errored",{url:e,error:new m.fe(k.Ay.t("authentication.unauthorized"))}),a&&t.commit("auth/addAction",a),await t.dispatch("auth/requestLogin")},async load(t,a){let{url:s,show:i,force:r,noRetry:n}=a;const o=t.getters.toBrowserPath(s);s=m.Ay.toAbsolute(s,t.state.url),await t.dispatch("auth/waitForAuth"),r&&t.commit("clear",s);let l=new ut.Rh(i),c=t.state.database[s];if(c instanceof ut.Rh)return void t.commit("updateLoading",{url:s,show:i});const u=c instanceof v.A&&!c.isPotentiallyIncomplete();if(!u){t.commit("loading",{url:s,loading:l});try{const a=await(0,ut.FF)(t,s);if(!m.Ay.isObject(a.data))throw new m.fe(k.Ay.t("errors.invalidJsonObject"));if(c=new v.A(a.data,s,o),t.commit("loaded",{url:s,data:c}),i){let a=c.getLocaleLink(t.state.dataLanguage);if(a)return void e.replace(t.getters.toBrowserPath(a.href))}let r=c.getStacLinkWithRel("conformance");Array.isArray(c.conformsTo)&&c.conformsTo.length>0?t.commit("setConformanceClasses",c.conformsTo):r&&await t.dispatch("loadOgcApiConformance",r)}catch(d){return!n&&t.state.authConfig&&(0,ut.HD)(d)?void await t.dispatch("tryLogin",{url:s,action:()=>t.dispatch("load",Object.assign({noRetry:!0,force:!0,show:!0},a))}):(console.error(d),void t.commit("errored",{url:s,error:d}))}}if(c.getApiCollectionsLink()){let e={stac:c,show:l.show};try{await t.dispatch("loadNextApiCollections",e)}catch(d){t.commit("showGlobalError",{message:k.Ay.t("errors.loadApiCollectionsFailed"),error:d})}}else if(c.getApiItemsLink()){let e={stac:c,show:l.show};try{await t.dispatch("loadApiItems",e)}catch(d){t.commit("showGlobalError",{message:k.Ay.t("errors.loadApiItemsFailed"),error:d})}}if(!t.getters.root){let e=t.state.catalogUrl;if(!e){const a=c.getLinkWithRel("root");a&&(e=m.Ay.toAbsolute(a.href,s),await t.dispatch("config",{catalogUrl:e}))}e&&await t.dispatch("load",{url:e})}l.show&&t.commit("showPage",{url:s})},async loadApiItems(t,e){let{link:a,stac:s,show:i,filters:r,noRetry:n}=e,o=s instanceof v.A?s.id:"";t.commit("toggleApiItemsLoading",o);try{let e=t.state.url;s instanceof v.A&&(a=s.getApiItemsLink(),e=s.getAbsoluteUrl()),a=m.Ay.addFiltersToLink(a,r,t.state.itemsPerPage);let n=await(0,ut.FF)(t,a);if(m.Ay.isObject(n.data)&&Array.isArray(n.data.features))return n.data.features=n.data.features.map((a=>{try{if(!m.Ay.isObject(a)||"Feature"!==a.type)return null;let i,r=m.Ay.getLinkWithRel(a.links,"self");if(null!==r&&void 0!==r&&r.href)i=m.Ay.toAbsolute(r.href,e);else{if("undefined"===typeof a.id)return null;{var s;let r=null===(s=t.getters.root)||void 0===s?void 0:s.getApiCollectionsLink();if(e)i=m.Ay.toAbsolute(`items/${a.id}`,e);else if(r)i=m.Ay.toAbsolute(`${o}/items/${a.id}`,r.href);else{if(!t.state.catalogUrl)return null;i=m.Ay.toAbsolute(`collections/${o}/items/${a.id}`,t.state.catalogUrl)}}}let n=t.getters.getStac(i);return n||(n=new v.A(a,i,t.getters.toBrowserPath(i)),n.markPotentiallyIncomplete(),t.commit("loaded",{data:n,url:i}),n)}catch(i){return console.error(i),null}})).filter((t=>t instanceof v.A)),i&&t.commit("setApiItemsLink",a),t.commit("setApiItems",{data:n.data,stac:s,show:i}),t.commit("toggleApiItemsLoading",o),n;throw new m.fe(k.Ay.t("errors.invalidStacItems"))}catch(l){if(t.commit("toggleApiItemsLoading",o),!n&&t.state.authConfig&&(0,ut.HD)(l))return void await t.dispatch("tryLogin",{url:a.href,action:()=>t.dispatch("loadApiItems",Object.assign({noRetry:!0,force:!0},e))});throw l}},async loadNextApiCollections(t,e){let a,{stac:s,show:i,noRetry:r}=e;if(s){if(t.state.apiCollections.length>0)return;a=s.getLinkWithRel("data")}else s=t.state.data,a=t.state.nextCollectionsLink;if(a)try{let e=await(0,ut.FF)(t,a);if(!m.Ay.isObject(e.data)||!Array.isArray(e.data.collections))throw new m.fe(k.Ay.t("errors.invalidStacCollections"));e.data.collections=e.data.collections.map((e=>{let a,i=m.Ay.getLinkWithRel(e.links,"self");a=null!==i&&void 0!==i&&i.href?m.Ay.toAbsolute(i.href,t.state.url||s.getAbsoluteUrl()):m.Ay.toAbsolute(`collections/${e.id}`,t.state.catalogUrl||s.getAbsoluteUrl());let r=t.getters.getStac(a);return r||(r=new v.A(e,a,t.getters.toBrowserPath(a)),r.markPotentiallyIncomplete(),t.commit("loaded",{data:r,url:a}),r)})),t.commit("addApiCollections",{data:e.data,stac:s,show:i})}catch(n){if(!r&&t.state.authConfig&&(0,ut.HD)(n))return void await t.dispatch("tryLogin",{url:a.href,action:()=>t.dispatch("loadNextApiCollections",Object.assign({noRetry:!0,force:!0},e))});throw n}},async loadOgcApiConformance(t,e){let a=await(0,ut.FF)(t,e);m.Ay.isObject(a.data)&&Array.isArray(a.data.conformsTo)&&t.commit("setConformanceClasses",a.data.conformsTo)},async loadGeoJson(t,e){try{let a=await(0,ut.FF)(t,e);return a.data}catch(a){return null}},async retryAfterAuth(t){let e=e=>t.commit("showGlobalError",{error:e,message:k.Ay.t("errors.authFailed")});for(let s of t.state.doAuth)try{let t=s();t instanceof Promise&&t.catch(e)}catch(a){e(a)}}}})}var mt=gt,bt=a(78933),yt=a(92999),At=a(12670),vt=a(1169),wt=a(19680),Ct=a(35915),kt=a(56967),_t=a(80262),Lt=a(93444),jt=(a(59313),a(85952)),xt=function(){var t=this,e=t._self._c;return e("b-row",[e("b-col",{attrs:{md:"12"}},[e("Source",{staticClass:"float-right",attrs:{title:t.title,stacUrl:t.url,stac:t.data}}),e("h1",[t.icon?[e("img",{staticClass:"icon mr-2",attrs:{src:t.icon.href,alt:t.icon.title,title:t.icon.title}})]:t._e(),e("span",{staticClass:"title"},[t._v(t._s(t.title))])],2),t.isStacChooser()?t._e():e("p",{staticClass:"lead"},[t.containerLink?e("i18n",{staticClass:"in mr-3",attrs:{tag:"span",path:"in"},scopedSlots:t._u([{key:"catalog",fn:function(){return[e("StacLink",{attrs:{data:t.containerLink}})]},proxy:!0}],null,!1,1458487365)}):t._e(),e("b-button-group",[t.back?e("b-button",{attrs:{to:t.selfBrowserLink,title:t.$t("goBack.description",{type:t.type}),variant:"outline-primary",size:"sm"}},[e("b-icon-arrow-left"),t._v(" "),e("span",{staticClass:"button-label prio"},[t._v(t._s(t.$t("goBack.label")))])],1):t._e(),t.parentLink?e("b-button",{attrs:{to:t.toBrowserPath(t.parentLink.href),title:t.parentLinkTitle,variant:"outline-primary",size:"sm"}},[e("b-icon-arrow-90deg-up"),t._v(" "),e("span",{staticClass:"button-label prio"},[t._v(t._s(t.$t("goToParent.label")))])],1):t._e(),t.collectionLink?e("b-button",{attrs:{to:t.toBrowserPath(t.collectionLink.href),title:t.collectionLinkTitle,variant:"outline-primary",size:"sm"}},[e("b-icon-folder-symlink"),t._v(" "),e("span",{staticClass:"button-label prio"},[t._v(t._s(t.$t("goToCollection.label")))])],1):t._e(),e("b-button",{directives:[{name:"b-toggle",rawName:"v-b-toggle.sidebar",modifiers:{sidebar:!0}}],attrs:{variant:"outline-primary",size:"sm",title:t.$t("browse")},on:{click:function(e){return t.$emit("enableSidebar")}}},[e("b-icon-book"),t._v(" "),e("span",{staticClass:"button-label prio"},[t._v(t._s(t.$t("browse")))])],1),t.canSearch?e("b-button",{attrs:{variant:"outline-primary",size:"sm",to:t.searchBrowserLink,title:t.$t("search.title"),pressed:t.isSearchPage()}},[e("b-icon-search"),t._v(" "),e("span",{staticClass:"button-label prio"},[t._v(t._s(t.$t("search.title")))])],1):t._e(),t.canAuthenticate?e("b-button",{attrs:{variant:"outline-primary",size:"sm",title:t.authTitle},on:{click:t.logInOut}},[e(t.authIcon,{tag:"component"}),t._v(" "),e("span",{staticClass:"button-label"},[t._v(t._s(t.authLabel))])],1):t._e()],1)],1)],1)],1)},St=[],Tt=function(){var t=this,e=t._self._c;return e("div",{staticClass:"share mt-1"},[e("b-button-group",[t.showRoot?e("b-button",{attrs:{size:"sm",variant:"outline-primary",id:"popover-root-btn"}},[e("b-icon-box"),t._v(" "),e("span",{staticClass:"button-label"},[t._v(t._s(t.rootTitle))])],1):t._e(),t.stacUrl?e("b-button",{attrs:{size:"sm",variant:"outline-primary",id:"popover-link-btn",title:t.$t("source.detailsAboutSource")}},[e("b-icon-link"),t._v(" "),e("span",{staticClass:"button-label"},[t._v(t._s(t.$t("source.label")))])],1):t._e(),e("b-button",{attrs:{size:"sm",variant:"outline-primary",id:"popover-share-btn",title:t.$t("source.share.withOthers")}},[e("b-icon-share"),t._v(" "),e("span",{staticClass:"button-label"},[t._v(t._s(t.$t("source.share.label")))])],1),e("b-dropdown",{attrs:{size:"sm",variant:"outline-primary",right:"",title:t.$t("source.language.switch")},scopedSlots:t._u([{key:"button-content",fn:function(){return[e("b-icon-flag"),t._v(" "),e("span",{staticClass:"button-label"},[t._v(t._s(t.$t("source.language.label",{currentLanguage:t.currentLanguage})))])]},proxy:!0}])},t._l(t.languages,(function(a){return e("b-dropdown-item",{key:a.code,staticClass:"lang-item",on:{click:function(e){return t.switchLocale({locale:a.code,userSelected:!0})}}},[t.locale===a.code?e("b-icon-check"):e("b-icon-blank"),e("span",{staticClass:"title"},[e("span",{attrs:{lang:a.code}},[t._v(t._s(a.native))]),a.global&&a.global!==a.native?[t._v(" / "),e("span",{attrs:{lang:"en"}},[t._v(t._s(a.global))])]:t._e()],2),!t.supportsLanguageExt||a.ui&&a.data?t._e():e("b-icon-exclamation-triangle",{staticClass:"ml-2",attrs:{title:a.ui?t.$t("source.language.onlyUI"):t.$t("source.language.onlyData")}})],1)})),1)],1),t.showRoot?e("b-popover",{attrs:{id:"popover-root",target:"popover-root-btn",triggers:"focus",placement:"bottom",container:"stac-browser",title:t.rootTitle}},[e("RootStats")],1):t._e(),t.stacUrl?e("b-popover",{attrs:{id:"popover-link",target:"popover-link-btn",triggers:"focus",placement:"bottom",container:"stac-browser",title:t.$t("source.title")}},[t.stac?[t.stacId?e("b-row",{staticClass:"stac-id"},[e("b-col",{attrs:{cols:"4"}},[t._v(t._s(t.$t("source.id")))]),e("b-col",[e("code",[t._v(t._s(t.stacId))]),e("CopyButton",{staticClass:"ml-2",attrs:{copyText:t.stacId,"button-props":{size:"sm"},variant:"primary"}})],1)],1):t._e(),t.stacVersion?e("b-row",{staticClass:"stac-version"},[e("b-col",{attrs:{cols:"4"}},[t._v(t._s(t.$t("source.stacVersion")))]),e("b-col",[t._v(t._s(t.stacVersion))])],1):t._e(),e("b-row",{staticClass:"stac-valid"},[e("b-col",{attrs:{cols:"4"}},[t._v(t._s(t.$t("source.valid")))]),e("b-col",[e("Validation",{attrs:{data:t.stac}})],1)],1),e("hr")]:t._e(),e("Url",{attrs:{id:"stacUrl",url:t.stacUrl,label:t.$t("source.locatedAt")}})],2):t._e(),e("b-popover",{attrs:{id:"popover-share",target:"popover-share-btn",triggers:"focus",placement:"bottom",container:"stac-browser",title:t.$t("source.share.title")}},[e("Url",{attrs:{id:"browserUrl",url:t.browserUrl(),label:t.$t("source.share.sharePageWithOthers"),open:!1}}),t.enableSocialSharing?[e("hr"),e("SocialSharing",{attrs:{text:t.sharingMessage,title:t.title,url:t.browserUrl()}})]:t._e()],2)],1)},It=[],Ot=a(15378),$t=a(9656),Pt=a(82948),Bt=a(30278),Mt=function(){var t=this,e=t._self._c;return e("b-form-group",{attrs:{label:t.label,"label-for":t.id}},[e("b-input-group",{attrs:{size:"sm"}},[e("b-form-input",{ref:"input",attrs:{id:t.id,value:t.url,readonly:""}}),e("b-input-group-append",[e("CopyButton",{attrs:{copyText:t.url,variant:"primary"}}),t.open?e("b-button",{attrs:{href:t.url,target:"_blank",variant:"primary",title:t.$t("open")}},[e("b-icon-arrow-up-right-square")],1):t._e()],1)],1)],1)},Ft=[],Et=a(69771),Ut=a(19115),Rt=a(89576),qt=a(16167),Dt={name:"Share",components:{BFormGroup:Et.a,BFormInput:Ut.b,BIconArrowUpRightSquare:Pt.xur,BInputGroup:Rt.Y,BInputGroupAppend:qt.G,CopyButton:()=>Promise.resolve().then(a.bind(a,99975))},props:{id:{type:String,required:!0},url:{type:String,required:!0},label:{type:String,required:!0},open:{type:Boolean,default:!0}}},zt=Dt,Ht=(0,E.A)(zt,Mt,Ft,!1,null,"74684ede",null),Nt=Ht.exports,Wt=a(99975),Qt=function(){var t=this,e=t._self._c;return e("section",t._l(t.urls,(function(a,s){return e("b-button",{key:s,staticClass:"service mr-1",class:s,attrs:{href:a,target:"_blank"}},[e(s,{tag:"component"}),t._v(" "+t._s(t.$t(`source.share.${s}`))+" ")],1)})),1)},Vt=[],Gt={name:"Source",components:{Email:Pt.EXn,Bsky:()=>a.e(6094).then(a.bind(a,16094)),Mastodon:()=>a.e(9010).then(a.bind(a,99010)),X:()=>a.e(6941).then(a.bind(a,6941))},props:{text:{type:String,required:!0},title:{type:String,required:!0},url:{type:String,required:!0}},data(){return{urlTemplates:{email:"mailto:?subject={title}&body={text}",bsky:"https://bsky.app/intent/compose?text={text}",mastodon:"https://mastodon.social/share?text={text}",x:"https://x.com/intent/tweet?text={text}"}}},computed:{...(0,o.aH)(["socialSharing"]),urls(){const t=encodeURIComponent(this.text),e=encodeURIComponent(this.title),a=encodeURIComponent(this.url),s={};for(const i of this.socialSharing){if(!this.urlTemplates[i])continue;const r=this.urlTemplates[i];s[i]=r.replace("{text}",t).replace("{title}",e).replace("{url}",a)}return s}}},Kt=Gt,Jt=(0,E.A)(Kt,Qt,Vt,!1,null,"daac02b4",null),Xt=Jt.exports;const Yt="https://stac-extensions.github.io/language/v1.*/schema.json";var Zt={name:"Source",components:{BDropdown:Ot.U,BDropdownItem:$t.H,BIconBlank:Pt.ufk,BIconBox:Pt.H$j,BIconCheck:Pt.GSz,BIconExclamationTriangle:Pt.T12,BIconFlag:Pt.c_U,BIconLink:Pt.IfX,BIconShare:Pt.v6r,BPopover:Bt.u,RootStats:()=>a.e(143).then(a.bind(a,40143)),Url:Nt,CopyButton:Wt["default"],SocialSharing:Xt,Validation:()=>Promise.all([a.e(537),a.e(287),a.e(9099)]).then(a.bind(a,49099))},props:{title:{type:String,required:!0},stacUrl:{type:String,default:null},stac:{type:Object,default:null}},computed:{...(0,o.aH)(["conformsTo","dataLanguages","locale","socialSharing","supportedLocales","uiLanguage","valid"]),...(0,o.L8)(["supportsExtension","root"]),stacVersion(){var t;return null===(t=this.stac)||void 0===t?void 0:t.stac_version},stacId(){var t;return null===(t=this.stac)||void 0===t?void 0:t.id},showRoot(){return!!this.root&&(Array.isArray(this.conformsTo)&&this.conformsTo.length>0||m.Ay.isObject(this.root["stats:collections"])||m.Ay.isObject(this.root["stats:catalogs"])||m.Ay.isObject(this.root["stats:items"]))},rootTitle(){return Array.isArray(this.conformsTo)&&this.conformsTo.length>0?this.$t("index.api"):this.$t("index.catalog")},currentLanguage(){let t=this.languages.find((t=>t.code===this.locale));return t?t.native:"-"},enableSocialSharing(){return Array.isArray(this.socialSharing)&&this.socialSharing.length>0},sharingMessage(){const t=window.location.toString();return this.$t("source.share.message",{title:this.title,url:t})},supportsLanguageExt(){return this.supportsExtension(Yt)},languages(){let t=[];for(let a of this.supportedLocales)t.push({code:a,native:this.$t(`languages.${a}.native`),global:this.$t(`languages.${a}.global`),ui:!0});for(let a of this.dataLanguages){if(!m.Ay.isObject(a)||!a.code||this.supportedLocales.includes(a.code))continue;let e={code:a.code};e.native=a.name||a.alternate||a.code,e.global=a.alternate||a.name||a.code,e.data=!0,t.push(e)}if(this.supportsExtension(Yt)){const e=(0,dt.E0)(this.supportedLocales),a=(0,dt.E0)(this.dataLanguages.map((t=>t.code)));for(let s of t)s.ui||(s.ui=Boolean((0,dt.f5)(e,s.code,null))),s.data||(s.data=Boolean((0,dt.f5)(a,s.code,null)))}const e=new Intl.Collator(this.uiLanguage);return t.sort(((t,a)=>e.compare(t.global,a.global)))}},methods:{...(0,o.i0)(["switchLocale"]),browserUrl(){return window.location.toString()}}},te=Zt,ee=(0,E.A)(te,Tt,It,!1,null,"0aa087bf",null),ae=ee.exports,se=a(58581),ie={name:"StacHeader",components:{BIconArrow90degUp:Pt.JK4,BIconArrowLeft:Pt.sV1,BIconBook:Pt.VOl,BIconFolderSymlink:Pt.P_X,BIconSearch:Pt.S8S,BIconLock:Pt.D8r,BIconUnlock:Pt.a_V,StacLink:se["default"],Source:ae},computed:{...(0,o.aH)(["allowSelectCatalog","catalogUrl","data","url","title"]),...(0,o.L8)(["canSearch","root","parentLink","collectionLink","toBrowserPath"]),...(0,o.L8)("auth",{authMethod:"method"}),...(0,o.L8)("auth",["canAuthenticate","isLoggedIn"]),authIcon(){return this.isLoggedIn?"b-icon-unlock":"b-icon-lock"},authTitle(){return this.authMethod.getButtonTitle()},authLabel(){return this.isLoggedIn?this.authMethod.getLogoutLabel():this.authMethod.getLoginLabel()},back(){return"validation"===this.$route.name},selfBrowserLink(){return this.toBrowserPath(this.url)},type(){if(this.data instanceof v.A){if(this.data.isItem())return this.$tc("stacItem");if(this.data.isCollection())return this.$tc("stacCollection");if(this.data.isCatalog())return this.$tc("stacCatalog");if(m.Ay.hasText(this.data.type))return this.data.type}return null},collectionLinkTitle(){return this.collectionLink&&m.Ay.hasText(this.collectionLink.title)?this.$t("goToCollection.descriptionWithTitle",this.collectionLink):this.$t("goToCollection.description")},parentLinkTitle(){return this.parentLink&&m.Ay.hasText(this.parentLink.title)?this.$t("goToParent.descriptionWithTitle",this.parentLink):this.$t("goToParent.description")},icon(){if(this.data instanceof v.A){let t=this.data.getIcons();if(t.length>0)return t[0]}return null},searchBrowserLink(){if(!this.canSearch)return null;let t;return this.data instanceof v.A&&!this.data.equals(this.root)&&(t=this.data.getSearchLink()),t?`/search${this.data.getBrowserPath()}`:this.root&&this.allowSelectCatalog?`/search${this.root.getBrowserPath()}`:"/search"},containerLink(){return this.catalogUrl&&this.url===this.catalogUrl?null:this.root?m.Ay.equalUrl(this.root.getAbsoluteUrl(),this.url)?null:{href:this.root.getAbsoluteUrl(),rel:"root",title:v.A.getDisplayTitle(this.root)}:this.collectionLink||this.parentLink}},methods:{...(0,o.PY)("auth",["addAction"]),...(0,o.i0)("auth",["requestLogin","requestLogout"]),isSearchPage(){return"search"===this.$router.currentRoute.name},isStacChooser(){return"choose"===this.$router.currentRoute.name},async logInOut(){this.url&&this.addAction((()=>this.$store.dispatch("load",{url:this.url,show:!0,force:!0,noRetry:!0}))),this.isLoggedIn?await this.requestLogout():await this.requestLogin()}}},re=ie,ne=(0,E.A)(re,xt,St,!1,null,"5da16391",null),oe=ne.exports,le=function(){var t=this,e=t._self._c;return e(t.authComponent,{tag:"component",on:{submit:t.submit,reset:t.reset}})},ce=[],ue={name:"Authentication",components:{ApiKey:()=>a.e(7197).then(a.bind(a,87197)),Basic:()=>a.e(7820).then(a.bind(a,47820))},computed:{...(0,o.L8)("auth",["method","isLoggedIn"]),authComponent(){return this.method.getComponent()},authComponentProps(){return this.method.getComponentProps()}},beforeCreate(){this.isLoggedIn&&this.$store.dispatch("auth/finalizeLogout")},methods:{async reset(){await this.$store.dispatch("auth/abortLogin")},async submit(t){await this.$store.dispatch("auth/finalizeLogin",t)}}},de=ue,he=(0,E.A)(de,le,ce,!1,null,null,null),pe=he.exports;s.Ay.use(bt.q),s.Ay.use(yt.p),s.Ay.use(At.sG),s.Ay.use(vt.z),s.Ay.use(wt.qc),s.Ay.use(Ct.CG),s.Ay.use(kt.z),s.Ay.directive("b-toggle",_t.z),s.Ay.directive("b-visible",Lt.p),s.Ay.use(n.Ay);const fe=new n.Ay({mode:l.A.historyMode,base:l.A.pathPrefix,routes:st(l.A)});s.Ay.use(o.Ay);const ge=mt(l.A,fe);let me={},be={};for(let ke in l.A)me[ke]={default:["object","function"].includes(typeof l.A[ke])?()=>l.A[ke]:l.A[ke]},be[ke]={immediate:!0,handler:async function(t){await this.$store.dispatch("config",{[ke]:t})}};var ye={name:"StacBrowser",router:fe,store:ge,components:{Authentication:pe,ErrorAlert:jt.A,Sidebar:()=>a.e(7957).then(a.bind(a,57957)),StacHeader:oe},props:{...me},data(){return{sidebar:!1,error:null,onDataLoaded:null}},computed:{...(0,o.aH)(["allowSelectCatalog","data","dataLanguage","description","globalError","stateQueryParameters","title","uiLanguage","url"]),...(0,o.aH)({detectLocaleFromBrowserFromVueX:"detectLocaleFromBrowser",supportedLocalesFromVueX:"supportedLocales",storeLocaleFromVueX:"storeLocale"}),...(0,o.L8)(["displayCatalogTitle","fromBrowserPath","isExternalUrl","root","supportsConformance","toBrowserPath"]),...(0,o.L8)("auth",["showLogin"]),browserVersion(){return"3.3.0"}},watch:{...be,title(t){document.title=t,document.getElementById("og-title").setAttribute("content",t)},description(t){const e=m.Ay.summarizeMd(t,200);document.getElementById("meta-description").setAttribute("content",e),document.getElementById("og-description").setAttribute("content",e)},uiLanguage:{immediate:!0,async handler(t){t&&(this.$root.$i18n.locale=t,document.documentElement.setAttribute("lang",t),document.getElementById("og-locale").setAttribute("content",t),this.$root.$emit("uiLanguageChanged",t))}},dataLanguage:{immediate:!0,async handler(t){if(t&&this.data instanceof v.A){let e=this.data.getLocaleLink(t);if(e){let t=Object.assign({},this.stateQueryParameters);this.$router.push(this.toBrowserPath(e.href)),this.$store.commit("state",t)}else if(this.supportsConformance(k.Aj)){let t=this.url;this.$store.commit("resetCatalog",!0),await this.$store.dispatch("load",{url:t,show:!0})}}}},stateQueryParameters:{deep:!0,handler(){let t={};for(const[e,a]of Object.entries(this.$route.query))e.startsWith(".")||(t[e]=a);for(const[e,a]of Object.entries(this.stateQueryParameters)){let s=`.${e}`;Array.isArray(a)?a.length>0&&(t[s]=a.join(",")):null!==a&&(t[s]=a)}this.$router.replace({query:t}).catch((t=>{if(!n.Ay.isNavigationFailure(t,n.Ay.NavigationFailureType.duplicated))throw Error(t)}))}},root(t,e){const a=["apiCatalogPriority","authConfig","cardViewMode","cardViewSort","crossOriginMedia","defaultThumbnailSize","displayGeoTiffByDefault","showThumbnailsAsAssets"];let s=!t||e&&m.Ay.isObject(e["stac_browser"]),i=t&&m.Ay.isObject(t["stac_browser"]);for(let r of a){let e;s&&(e=l.A[r]),i&&"undefined"!==typeof t["stac_browser"][r]&&(e=t["stac_browser"][r]),"undefined"!==typeof e&&this.$store.dispatch("config",{[r]:e}).catch((t=>console.error(t)))}},data(t){this.onDataLoaded&&t instanceof v.A&&this.onDataLoaded()}},async created(){this.$router.onReady((()=>{this.detectLocale(),this.parseQuery(this.$route)})),this.$router.afterEach(((t,e)=>{if(t.path===e.path)return;let a="resetPage";if(this.allowSelectCatalog&&t.path){let e=this.fromBrowserPath(t.path);this.isExternalUrl(e)&&(a="resetCatalog")}this.$store.commit(a),this.parseQuery(t),document.getElementById("og-url").setAttribute("content",window.location.href)}));const t=new ot.A(!0),e=t.get("authConfig");e&&(t.remove("authConfig"),await this.$store.dispatch("config",{authConfig:e}))},mounted(){this.$root.$on("error",this.showError),setInterval((()=>this.$store.dispatch("loadBackground",3)),200)},methods:{...(0,o.i0)(["switchLocale"]),detectLocale(){let t;if(this.storeLocaleFromVueX){const e=new ot.A;t=e.get("locale")}if(!t&&this.detectLocaleFromBrowserFromVueX&&Array.isArray(navigator.languages)){const e=(0,dt.E0)(this.supportedLocalesFromVueX);for(let a of navigator.languages){const s=(0,dt.f5)(e,a,null);if(s){t=s;break}}}t&&this.supportedLocalesFromVueX.includes(t)&&(this.switchLocale({locale:t}),this.data||(this.onDataLoaded=()=>{this.switchLocale({locale:t}),this.onDataLoaded=null}))},parseQuery(t){var e;let a={};if("history"===this.historyMode){let e=C()(t.hash.replace(/^#/,""));a=e.query(!0)}let s=Object.assign({},t.query,a),i={};for(let r in s){let t=s[r];if(r.startsWith("~"))i.private=m.Ay.isObject(i.private)?i.private:{},i.private[r.substr(1)]=t,delete s[r];else if(r.startsWith(".")){let e=r.substr(1);i.state=m.Ay.isObject(i.state)?i.state:{},Array.isArray(this.stateQueryParameters[e])&&!Array.isArray(t)&&(t=t.split(",")),i.state[e]=t}else m.Ay.isObject(i.localRequest)||(i.localRequest={}),i.localRequest[r]=t}if(m.Ay.size(i)>0)for(let r in i)for(let t in i[r])this.$store.commit("setQueryParameter",{type:r,key:t,value:i[r][t]});null!==i&&void 0!==i&&null!==(e=i.state)&&void 0!==e&&e.language&&this.switchLocale({locale:i.state.language}),m.Ay.size(i.private)>0&&this.$router.replace({query:s})},showError(t,e){this.$store.commit("showGlobalError",{error:t,message:e})},hideError(){this.$store.commit("showGlobalError",null)}}},Ae=ye,ve=(0,E.A)(Ae,i,r,!1,null,null,null),we=ve.exports;function Ce(){return(0,k.Qm)().then((()=>new s.Ay({i18n:k.Ay,render:t=>t(we)}).$mount("#stac-browser")))}s.Ay.config.productionTip=!1,Ce()},31831:function(t,e,a){"use strict";a(44114),a(98992),a(54520),a(72577),a(81454);var s=a(2566),i=a(71321),r=a.n(i),n=a(39071);let o=0;class l{constructor(t,e,a,i=!0){this._id=o++,this._url=e,this._path=a,this._apiChildrenListeners={},this._incomplete=!1,this._apiChildren={list:[],prev:!1,next:!1},i&&("FeatureCollection"===t.type?t.features=t.features.map((t=>r().item(t,!1))):t=r().stac(t,!1));for(let s in t)"undefined"===typeof this[s]&&(this[s]=t[s]);if(!s.Ay.hasText(this.type))throw new Error("Not a valid STAC data source (no `type` present)")}isPotentiallyIncomplete(){return this._incomplete}markPotentiallyIncomplete(){this._incomplete=!0}isItem(){return"Feature"===this.type}isCatalog(){return"Catalog"===this.type}isCatalogLike(){return this.isCatalog()||this.isCollection()}isCollection(){return"Collection"===this.type}isItemCollection(){return"FeatureCollection"===this.type}hasApiData(){return this._apiChildren.list.length>0}setApiDataListener(t,e=null){"function"===typeof e?this._apiChildrenListeners[t]=e:delete this._apiChildrenListeners[t]}setApiData(t,e=null,a=null){a&&(this._apiChildren.prev=a),e&&(this._apiChildren.next=e),this._apiChildren.list=t;for(let i in this._apiChildrenListeners)try{this._apiChildrenListeners[i](this._apiChildren)}catch(s){console.error(s)}}getFileFormats(){let t=[];return(this.isItem()||this.isCollection())&&s.Ay.isObject(this.assets)&&(t=t.concat(Object.values(this.assets))),this.isCollection()&&s.Ay.isObject(this.item_assets)&&(t=t.concat(Object.values(this.item_assets))),t.filter((t=>Array.isArray(t.roles)&&t.roles.includes("data")&&"string"===typeof t.type)).map((t=>t.type)).filter(((t,e,a)=>a.indexOf(t)===e))}getChildren(t=null){if(!this.isCatalogLike())return[];let e=!t||"collections"===t,a=!t||"childs"===t,s=[];return e&&this._apiChildren.prev&&s.push(this._apiChildren.prev),e&&this._apiChildren.list.length>0&&(s=this._apiChildren.list.slice(0)),a&&(s=l.addMissingChildren(s,this).concat(this.getLinksWithRels(["item"]))),e&&this._apiChildren.next&&s.push(this._apiChildren.next),s}static addMissingChildren(t,e){let a=e.getStacLinksWithRel("child").filter((a=>{let i=s.Ay.toAbsolute(a.href,e.getAbsoluteUrl());return!t.find((t=>t.getAbsoluteUrl()===i))}));return a.concat(t)}getSearchLink(){let t=s.Ay.getLinksWithRels(this.links,["search"]).filter((t=>s.Ay.isMediaType(t.type,s.oV))).map((t=>Object.assign({},t,{href:s.Ay.toAbsolute(t.href,this._url)}))),e=t.find((t=>s.Ay.hasText(t.method)&&"POST"===t.method.toUpperCase()));return e||t[0]||null}getApiCollectionsLink(){return this.getStacLinkWithRel("data")}getApiItemsLink(){return this.getStacLinkWithRel("items")}getMetadata(t){return this.isItem()?this.properties[t]:this.isCatalogLike()?this[t]:null}getBrowserPath(){return this._path}getAbsoluteUrl(){return this._url}getLocaleLink(t,e=null){let a,i=this.getStacLinksWithRel("alternate").filter((t=>s.Ay.hasText(t.hreflang)));a=Array.isArray(this.languages)?this.languages.map((t=>t.code)):i.map((t=>t.hreflang));let r=(0,n.f5)(a,t,e);return i.find((t=>t.hreflang===r))||null}getStacLinksWithRel(t,e=!0){return s.Ay.getLinksWithRels(this.links,[t]).filter((t=>s.Ay.isStacMediaType(t.type,e)))}getStacLinkWithRel(t,e=!0){const a=this.getStacLinksWithRel(t,e);return a.length>0?a[0]:null}getLinkWithRel(t){return s.Ay.getLinkWithRel(this.links,t)}getLinksWithRels(t){return s.Ay.getLinksWithRels(this.links,t)}getLinksWithOtherRels(t){return s.Ay.getLinksWithOtherRels(this.links,t)}getAssetsWithRoles(t){let e=[];if(s.Ay.isObject(this.assets))for(let a in this.assets){let i=this.assets[a];s.Ay.isObject(i)&&"string"===typeof i.href&&Array.isArray(i.roles)&&i.roles.find((e=>t.includes(e)))&&e.push(i)}return e}static getDisplayTitle(t,e=null){Array.isArray(t)||(t=[t]);let a=t.find((t=>t instanceof l)),i=t.find((t=>s.Ay.isObject(t)&&!(t instanceof l)));return a&&s.Ay.hasText(a.getTitle())?a.getTitle():i&&s.Ay.hasText(i.title)?i.title:a&&s.Ay.hasText(a.id)?a.id:s.Ay.hasText(e)?e:a?s.Ay.titleForHref(a.getAbsoluteUrl(),!0):i&&s.Ay.hasText(i.href)?s.Ay.titleForHref(i.href,!0):"Untitled"}getTitle(){return this.getMetadata("title")}_linkToAbsolute(t){return Object.assign({},t,{href:s.Ay.toAbsolute(t.href,this.getAbsoluteUrl())})}getIcons(){return this.getLinksWithRels(["icon"]).filter((t=>s.Ay.canBrowserDisplayImage(t))).map((t=>this._linkToAbsolute(t)))}getThumbnails(t=!1,e=null){let a=this.getAssetsWithRoles(["thumbnail","overview"]);if(0===a.length&&(a=this.getLinksWithRels(["preview"])),0===a.length&&s.Ay.isObject(this.assets)&&s.Ay.isObject(this.assets.thumbnail)&&(a=[this.assets.thumbnail]),t&&(a=a.filter((t=>s.Ay.canBrowserDisplayImage(t)))),e&&a.length>1){let t=t=>t.roles.includes(e);a=a.filter(t).concat(a.filter((e=>!t(e))))}return a.map((t=>this._linkToAbsolute(t)))}equals(t){return!!s.Ay.isObject(t)&&(this===t||this.id===t.id&&this.type==t.type)}}e.A=l},59203:function(t,e,a){"use strict";a.d(e,{Bv:function(){return n},Eg:function(){return i},ZQ:function(){return r},dL:function(){return l},ol:function(){return o}});const s=["child","collection","item","parent","root","self"],i=["first","last","next","prev","previous"],r=["queryables","http://www.opengis.net/def/rel/ogc/1.0/queryables","ogc-rel:queryables"],n=["canonical","related","derived_from","latest-version","predecessor-version","successor-version","source","alternate"].concat(s).concat(i),o=["conformance","data","items","search","icon","license"].concat(s).concat(i).concat(r),l="http://www.opengis.net/def/rel/ogc/1.0/"},33484:function(t,e,a){"use strict";a.d(e,{FF:function(){return c},HD:function(){return p},Pj:function(){return h},Rh:function(){return o},lx:function(){return l},mA:function(){return f},rM:function(){return u},sd:function(){return d}});var s=a(94335),i=a(84193),r=a.n(i),n=a(2566);class o{constructor(t=!1){this.show=Boolean(t)}}function l(t,e){if("string"===typeof e&&(e={href:e}),!n.Ay.isObject(e)||"string"!==typeof e.href)return{};const a=t.getters.getRequestUrl(e.href);let s={"Accept-Language":t.getters.acceptedLanguages};return n.Ay.hasText(e.type)&&(s.Accept=e.type),t.getters.isExternalUrl(a)||Object.assign(s,t.state.requestHeaders),n.Ay.isObject(e.headers)&&Object.assign(s,e.headers),{method:"string"===typeof e.method?e.method.toLowerCase():"get",url:a,headers:s,data:e.body}}async function c(t,e,a={}){const i=l(t,e);return await(0,s.A)(Object.assign(i,a))}function u(t,e){return t instanceof r()&&(t=t.toString()),"string"===typeof t&&Array.isArray(e)?t.replace(e[1],e[0]):t}function d(t,e){return t instanceof r()&&(t=t.toString()),"string"===typeof t&&Array.isArray(e)?t.replace(e[0],e[1]):t}function h(t,e){return"function"===typeof t.preprocessSTAC&&(e=t.preprocessSTAC(e,t)),Object.freeze(e)}function p(t){var e;return[401,403].includes(null===t||void 0===t||null===(e=t.response)||void 0===e?void 0:e.status)}function f(t,e){if(0==n.Ay.size(e))return t;for(let a in e)t.hasQuery(a)||t.addQuery(a,e[a]);return t}},2566:function(t,e,a){"use strict";a.d(e,{Ay:function(){return A},C8:function(){return b},I5:function(){return g},Yq:function(){return u},df:function(){return m},fe:function(){return y},oV:function(){return c}});a(98992),a(54520),a(72577),a(81454);var s=a(84193),i=a.n(s),r=a(58481),n=a.n(r),o=a(59203);const l=["catalog","collection","item"],c="application/geo+json",u="application/schema+json",d=["application/json",c,"text/json"],h=["image/gif","image/jpg","image/jpeg","image/apng","image/png","image/webp"],p=["image/tiff; application=geotiff; profile=cloud-optimized","image/vnd.stac.geotiff; cloud-optimized=true"],f=["application/geotiff","image/tiff; application=geotiff","image/vnd.stac.geotiff"].concat(p),g=["http","https"],m=h.concat(f),b=m.concat([c]);class y extends Error{constructor(t){super(t)}}class A{static isObject(t){return"object"===typeof t&&t===Object(t)&&!Array.isArray(t)}static size(t){return"object"===typeof t&&null!==t?Array.isArray(t)?t.length:Object.keys(t).length:0}static isStacMediaType(t,e=!1){return A.isMediaType(t,d,e)}static isMediaType(t,e,a=!1){return Array.isArray(e)||(e=[e]),!(!a||t)||"string"===typeof t&&e.includes(t.toLowerCase())}static hasText(t){return"string"===typeof t&&t.length>0}static shortenTitle(t,e,a="…"){if(t.length<=e)return t;let s=a.length,i=e-s,r=Math.ceil(i/2),n=Math.floor(i/2);return t.substr(0,r)+a+t.substr(t.length-n)}static isGdalVfsUri(t){return"string"===typeof t&&t.startsWith("/vsi")&&!t.startsWith("/vsicurl/")}static toAbsolute(t,e,a=!0){return A.normalizeUri(t,e,!1,a)}static normalizeUri(t,e=null,a=!1,s=!0){"string"===typeof t&&t.startsWith("/vsicurl/")&&(t=t.replace(/^\/vsicurl\//,""));let r=i()(t);return e&&r.is("relative")&&!A.isGdalVfsUri(t)&&(r=r.absoluteTo(e)),r.normalize(),a&&(r.query(""),r.fragment("")),s?r.toString():r}static getLinkWithRel(t,e){return Array.isArray(t)?t.find((t=>A.isObject(t)&&A.hasText(t.href)&&t.rel===e)):null}static getLinksWithRels(t,e){return Array.isArray(t)?t.filter((t=>A.isObject(t)&&A.hasText(t.href)&&e.includes(t.rel))):[]}static getLinksWithOtherRels(t,e){return Array.isArray(t)?t.filter((t=>A.isObject(t)&&A.hasText(t.href)&&!e.includes(t.rel))):[]}static removeTrailingSlash(t){return t.replace(/\/$/,"")}static equalUrl(t,e){try{let a=i()(t),s=i()(e);return a.path(A.removeTrailingSlash(a.path())),s.path(A.removeTrailingSlash(s.path())),a.equals(s)}catch(a){return!1}}static summarizeMd(t,e=null){return A.hasText(t)?(t=n()(t).replaceAll(/[\r\n]+/g," "),e>0&&t.length>e&&(t=t.substr(0,e)+"…"),t):""}static scrollTo(t){if(t){var e=t.getBoundingClientRect(),a=e.top=0;a||t.scrollIntoView({behavior:"smooth",block:"start"})}}static dateFromUTC(t){if(t){const e=new Date(t);t=new Date(e.getTime()+60*e.getTimezoneOffset()*1e3)}return t}static dateToUTC(t){return t instanceof Date&&(t=new Date(t.getTime()-60*t.getTimezoneOffset()*1e3)),t}static formatDatetimeQuery(t){return t.map((t=>t instanceof Date?t.toISOString():t||"..")).join("/")}static formatSortbyForPOST(t){const e={field:"",direction:"asc"};return t.startsWith("-")?(e.field=t.substring(1),e.direction="desc"):e.field=t,[e]}static getPaginationLinks(t){let e={};if(A.isObject(t)){let a=A.getLinksWithRels(t.links,o.Eg);for(let t of a){let a="previous"===t.rel?"prev":t.rel;e[a]=t}}return e}static addFiltersToLink(t,e={},a=null){let s=t=>null===t||"number"===typeof t&&!Number.isFinite(t)||"string"===typeof t&&0===t.length||"object"===typeof t&&0===A.size(t);if(e=A.isObject(e)?Object.assign({},e):{},"number"!==typeof e.limit&&"number"===typeof a&&(e.limit=a),A.hasText(t.method)&&"POST"===t.method.toUpperCase()){let a=Object.assign({},t.body);for(let t in e){let i=e[t];if(s(i))delete a[t];else{if("sortby"===t)i=A.formatSortbyForPOST(i);else if("datetime"===t)i=A.formatDatetimeQuery(i);else if("filters"===t){Object.assign(a,i.toJSON());continue}a[t]=i}}return Object.assign({},t,{body:a})}{let a=i()(t.href);for(let t in e){let i=e[t];if(s(i))a.removeQuery(t);else{if("datetime"===t)i=A.formatDatetimeQuery(i);else if("bbox"===t)i=i.join(",");else if("collections"===t||"ids"===t||"q"===t)i=i.join(",");else if("filters"===t){let t=i.toText();a.setQuery(t);continue}a.setQuery(t,i)}}return Object.assign({},t,{href:a.toString()})}}static titleForHref(t,e=!1){let a=i()(t),s=a.authority(),r=a.filename().replace(/^(.{1,})\.\w+$/,"$1"),n=a.directory().replace(/^\//,"");if(s&&r&&!e){let t=a.path().replace(/^\//,"");return"doi.org"===s&&t.startsWith("10.")?`DOI ${t}`:`${r} (${s})`}return r&&!l.includes(r)?r:s||(n||t)}static canBrowserDisplayImage(t){if("string"!==typeof t.href)return!1;let e=i()(t.href),a=e.protocol().toLowerCase();return!(a&&!g.includes(a))&&(!!h.includes(t.type)||(!!h.includes("image/"+e.suffix().toLowerCase())||!t.type))}static getValueFromObjectUsingPath(t,e){if(null!==t&&"object"===typeof t)return t=t[e[0]],"undefined"!==typeof t&&e.length>1?this.getValueFromObjectUsingPath(t,e.slice(1)):t}static search(t,e,a=!0){if("string"!==typeof t||0===t.length)return!1;if(A.isObject(e)?e=Object.values(e):"string"===typeof e&&(e=[e]),!Array.isArray(e))return!1;let s=/[\s.,;!&({[)}]]+/g;t=t.toLowerCase().split(s),e=e.filter((t=>"string"===typeof t)).join(" ").replace(s," ").toLowerCase();let i=a?"every":"some";return t[i]((t=>e.includes(t)))}static createLink(t,e){return{href:t,rel:e}}static supportsExtension(t,e){if(!A.isObject(t)||!Array.isArray(t["stac_extensions"]))return!1;let a=new RegExp("^"+e.replaceAll("*","[^/]+")+"$");return Boolean(t["stac_extensions"].find((t=>a.test(t))))}static mergeDeep(t,...e){if(!e.length)return t;const a=e.shift();if(A.isObject(t)&&A.isObject(a))for(const s in a)A.isObject(a[s])?(t[s]||Object.assign(t,{[s]:{}}),A.mergeDeep(t[s],a[s])):Object.assign(t,{[s]:a[s]});return A.mergeDeep(t,...e)}}},79873:function(t,e,a){"use strict";a(98992),a(23215),a(54520);var s=a(85952),i=a(39773),r=a(2566),n=a(84193),o=a.n(n),l=a(95353);e.A={components:{ErrorAlert:s.A,Loading:i.A},props:{path:{type:String,required:!0}},computed:{...(0,l.aH)(["allowExternalAccess","catalogUrl","url","redirectLegacyUrls"]),...(0,l.L8)(["fromBrowserPath","error","loading"]),errorId(){if(this.error instanceof Error&&this.error.isAxiosError&&r.Ay.isObject(this.error.response)){let t=this.error.response;return r.Ay.isObject(t.data)&&t.data.code?t.data.code:t.status}return null},errorDescription(){if(this.error instanceof Error&&this.error.isAxiosError&&r.Ay.isObject(this.error.response)){let t=this.error.response;if(r.Ay.isObject(t.data)&&"string"===typeof t.data.description)return t.data.description;if(401===t.status)return this.$t("errors.unauthorized");if(403===t.status)return this.$t("errors.forbidden");if(404===t.status)return this.$t("errors.notFound");if(t.status>500)return this.$t("errors.serverError");if(t.status>400)return this.$t("errors.badRequest")}else if(this.error instanceof r.fe)return this.error.message;return this.$t("errors.networkError")},isExternal(){return o()(this.path).is("absolute")}},watch:{path:{immediate:!0,async handler(t,e){if(t===e)return;if(!this.allowExternalAccess&&this.isExternal)return;if(this.redirectLegacyUrls&&await this.redirectLegacyUrl(t))return;let a=this.fromBrowserPath(t||"/");this.$store.dispatch("load",{url:a,show:!0})}}},methods:{async redirectLegacyUrl(t){if(!t||"/"===t)return!1;let e=t.split("/").filter((t=>t.length>0&&"item"!==t&&"collection"!==t));if(e.length>0&&e.every((t=>t.match(/^[123456789abcdefghijkmnopqrstuvwxyzABCDEFGHJKLMNPQRSTUVWXYZ]+$/)))){const{decode:t}=await a.e(6763).then(a.t.bind(a,16763,23));let s=t(e[e.length-1]).toString();if(s){let t=o()(s);return this.$router.replace({path:"/"+t.path().replace(/(collections|items)\/?$/,""),query:t.query(!0)}),!0}}return!1}}}},93731:function(t,e,a){var s={"./de-CH/config":[79933,3],"./de-CH/config.json":[79933,3],"./de-CH/datepicker":[40895,9,895],"./de-CH/datepicker.js":[40895,9,895],"./de-CH/default":[968,9,4490,968],"./de-CH/default.js":[968,9,4490,968],"./de-CH/duration":[49637,9,9710,9637],"./de-CH/duration.js":[49637,9,9710,9637],"./de-CH/validation":[75270,9,5270],"./de-CH/validation.js":[75270,9,5270],"./de/config":[28417,3],"./de/config.json":[28417,3],"./de/custom":[45692,3,5692],"./de/custom.json":[45692,3,5692],"./de/datepicker":[74801,9,4801],"./de/datepicker.js":[74801,9,4801],"./de/default":[62862,9,4490,2862],"./de/default.js":[62862,9,4490,2862],"./de/duration":[54511,9,9710,4511],"./de/duration.js":[54511,9,9710,4511],"./de/fields":[14490,3,4490],"./de/fields.json":[14490,3,4490],"./de/texts":[99581,3,9581],"./de/texts.json":[99581,3,9581],"./de/validation":[62816,9,2816],"./de/validation.js":[62816,9,2816],"./en-GB/config":[23667,3],"./en-GB/config.json":[23667,3],"./en-GB/custom":[78798,3,8798],"./en-GB/custom.json":[78798,3,8798],"./en-GB/datepicker":[22605,9,2605],"./en-GB/datepicker.js":[22605,9,2605],"./en-GB/default":[63170,9,3170],"./en-GB/default.js":[63170,9,3170],"./en-GB/duration":[47843,9,9710,7843],"./en-GB/duration.js":[47843,9,9710,7843],"./en-GB/fields":[87400,3,7400],"./en-GB/fields.json":[87400,3,7400],"./en-GB/texts":[62963,3,2963],"./en-GB/texts.json":[62963,3,2963],"./en-GB/validation":[6492,9,6492],"./en-GB/validation.js":[6492,9,6492],"./en-US/config":[92444,3],"./en-US/config.json":[92444,3],"./en-US/datepicker":[95558,9,5558],"./en-US/datepicker.js":[95558,9,5558],"./en-US/default":[15691,9,5691],"./en-US/default.js":[15691,9,5691],"./en-US/duration":[49684,9,9710,9684],"./en-US/duration.js":[49684,9,9710,9684],"./en-US/validation":[3155,9,3155],"./en-US/validation.js":[3155,9,3155],"./en/config":[11401,3],"./en/config.json":[11401,3],"./en/custom":[85300,3,5300],"./en/custom.json":[85300,3,5300],"./en/datepicker":[71865,9,1865],"./en/datepicker.js":[71865,9,1865],"./en/default":[56886,9,6886],"./en/default.js":[56886,9,6886],"./en/duration":[86855,9,9710,6855],"./en/duration.js":[86855,9,9710,6855],"./en/fields":[87090,3,7090],"./en/fields.json":[87090,3,7090],"./en/stac-fields":[98236,9,8236],"./en/stac-fields.js":[98236,9,8236],"./en/texts":[33301,3,3301],"./en/texts.json":[33301,3,3301],"./en/validation":[98552,9,8552],"./en/validation.js":[98552,9,8552],"./es/config":[17212,3],"./es/config.json":[17212,3],"./es/custom":[14581,3,4581],"./es/custom.json":[14581,3,4581],"./es/datepicker":[54312,9,4312],"./es/datepicker.js":[54312,9,4312],"./es/default":[89113,9,9113],"./es/default.js":[89113,9,9113],"./es/duration":[46046,9,9710,6046],"./es/duration.js":[46046,9,9710,6046],"./es/fields":[11295,3,1295],"./es/fields.json":[11295,3,1295],"./es/texts":[90674,3,674],"./es/texts.json":[90674,3,674],"./es/validation":[35893,9,5893],"./es/validation.js":[35893,9,5893],"./fr-CA/config":[20995,3],"./fr-CA/config.json":[20995,3],"./fr-CA/datepicker":[6997,9,6997],"./fr-CA/datepicker.js":[6997,9,6997],"./fr-CA/default":[71082,9,5767,1082],"./fr-CA/default.js":[71082,9,5767,1082],"./fr-CA/duration":[27003,9,9710,7003],"./fr-CA/duration.js":[27003,9,9710,7003],"./fr-CA/validation":[38228,9,8228],"./fr-CA/validation.js":[38228,9,8228],"./fr-CH/config":[1738,3],"./fr-CH/config.json":[1738,3],"./fr-CH/datepicker":[81456,9,1456],"./fr-CH/datepicker.js":[81456,9,1456],"./fr-CH/default":[44545,9,5767,4545],"./fr-CH/default.js":[44545,9,5767,4545],"./fr-CH/duration":[67286,9,9710,7286],"./fr-CH/duration.js":[67286,9,9710,7286],"./fr-CH/validation":[82605,9,4986],"./fr-CH/validation.js":[82605,9,4986],"./fr/config":[37748,3],"./fr/config.json":[37748,3],"./fr/custom":[75197,3,5197],"./fr/custom.json":[75197,3,5197],"./fr/datepicker":[37036,9,7036],"./fr/datepicker.js":[37036,9,7036],"./fr/default":[1589,9,5767,1589],"./fr/default.js":[1589,9,5767,1589],"./fr/duration":[93658,9,9710,3658],"./fr/duration.js":[93658,9,9710,3658],"./fr/fields":[48148,3,5767],"./fr/fields.json":[48148,3,5767],"./fr/texts":[23418,3,3418],"./fr/texts.json":[23418,3,3418],"./fr/validation":[33129,9,3129],"./fr/validation.js":[33129,9,3129],"./it-CH/config":[16835,3],"./it-CH/config.json":[16835,3],"./it-CH/datepicker":[75862,9,3481],"./it-CH/datepicker.js":[75862,9,3481],"./it-CH/default":[77638,9,9476,7638],"./it-CH/default.js":[77638,9,9476,7638],"./it-CH/duration":[44567,9,9710,4567],"./it-CH/duration.js":[44567,9,9710,4567],"./it-CH/validation":[63048,9,3048],"./it-CH/validation.js":[63048,9,3048],"./it/config":[37295,3],"./it/config.json":[37295,3],"./it/custom":[5290,3,5290],"./it/custom.json":[5290,3,5290],"./it/datepicker":[36147,9,6147],"./it/datepicker.js":[36147,9,6147],"./it/default":[23108,9,9476,3108],"./it/default.js":[23108,9,9476,3108],"./it/duration":[67905,9,9710,7905],"./it/duration.js":[67905,9,9710,7905],"./it/fields":[39476,3,9476],"./it/fields.json":[39476,3,9476],"./it/texts":[27519,3,7519],"./it/texts.json":[27519,3,7519],"./it/validation":[66346,9,6346],"./it/validation.js":[66346,9,6346],"./ja/config":[15203,3],"./ja/config.json":[15203,3],"./ja/custom":[79870,3,9870],"./ja/custom.json":[79870,3,9870],"./ja/datepicker":[70675,9,675],"./ja/datepicker.js":[70675,9,675],"./ja/default":[4964,9,4964],"./ja/default.js":[4964,9,4964],"./ja/duration":[87905,9,9710,2667],"./ja/duration.js":[87905,9,9710,2667],"./ja/fields":[68376,3,8376],"./ja/fields.json":[68376,3,8376],"./ja/texts":[30883,3,883],"./ja/texts.json":[30883,3,883],"./ja/validation":[14826,9,4826],"./ja/validation.js":[14826,9,4826],"./pt-BR/config":[87503,3],"./pt-BR/config.json":[87503,3],"./pt-BR/custom":[54794,3,4794],"./pt-BR/custom.json":[54794,3,4794],"./pt-BR/datepicker":[20105,9,105],"./pt-BR/datepicker.js":[20105,9,105],"./pt-BR/default":[92294,9,2294],"./pt-BR/default.js":[92294,9,2294],"./pt-BR/duration":[44631,9,9710,4631],"./pt-BR/duration.js":[44631,9,9710,4631],"./pt-BR/fields":[1524,3,1524],"./pt-BR/fields.json":[1524,3,1524],"./pt-BR/texts":[69311,3,9311],"./pt-BR/texts.json":[69311,3,9311],"./pt-BR/validation":[70536,9,536],"./pt-BR/validation.js":[70536,9,536],"./pt/config":[22356,3],"./pt/config.json":[22356,3],"./pt/custom":[2653,3,2653],"./pt/custom.json":[2653,3,2653],"./pt/datepicker":[59856,9,9856],"./pt/datepicker.js":[59856,9,9856],"./pt/default":[56513,9,6513],"./pt/default.js":[56513,9,6513],"./pt/duration":[32438,9,9710,2438],"./pt/duration.js":[32438,9,9710,2438],"./pt/fields":[44455,3,4455],"./pt/fields.json":[44455,3,4455],"./pt/texts":[29946,3,9946],"./pt/texts.json":[29946,3,9946],"./pt/validation":[12685,9,2685],"./pt/validation.js":[12685,9,2685],"./ro/config":[99069,3],"./ro/config.json":[99069,3],"./ro/custom":[5160,3,5160],"./ro/custom.json":[5160,3,5160],"./ro/datepicker":[2929,9,2929],"./ro/datepicker.js":[2929,9,2929],"./ro/default":[63022,9,3022],"./ro/default.js":[63022,9,3022],"./ro/duration":[65583,9,9710,5583],"./ro/duration.js":[65583,9,9710,5583],"./ro/fields":[14758,3,4758],"./ro/fields.json":[14758,3,4758],"./ro/texts":[55577,3,5577],"./ro/texts.json":[55577,3,5577],"./ro/validation":[90944,9,944],"./ro/validation.js":[90944,9,944]};function i(t){if(!a.o(s,t))return Promise.resolve().then((function(){var e=new Error("Cannot find module '"+t+"'");throw e.code="MODULE_NOT_FOUND",e}));var e=s[t],i=e[0];return Promise.all(e.slice(2).map(a.e)).then((function(){return a.t(i,16|e[1])}))}i.keys=function(){return Object.keys(s)},i.id=93731,t.exports=i},33545:function(t,e,a){var s={"./de-CH/default.js":[968,4490,968],"./de/default.js":[62862,4490,2862],"./en-GB/default.js":[63170,3170],"./en-US/default.js":[15691,5691],"./en/default.js":[56886,6886],"./es/default.js":[89113,9113],"./fr-CA/default.js":[71082,5767,1082],"./fr-CH/default.js":[44545,5767,4545],"./fr/default.js":[1589,5767,1589],"./it-CH/default.js":[77638,9476,7638],"./it/default.js":[23108,9476,3108],"./ja/default.js":[4964,4964],"./pt-BR/default.js":[92294,2294],"./pt/default.js":[56513,6513],"./ro/default.js":[63022,3022]};function i(t){if(!a.o(s,t))return Promise.resolve().then((function(){var e=new Error("Cannot find module '"+t+"'");throw e.code="MODULE_NOT_FOUND",e}));var e=s[t],i=e[0];return Promise.all(e.slice(1).map(a.e)).then((function(){return a(i)}))}i.keys=function(){return Object.keys(s)},i.id=33545,t.exports=i},97991:function(t,e,a){var s={"./de-CH/config.json":79933,"./de/config.json":28417,"./en-GB/config.json":23667,"./en-US/config.json":92444,"./en/config.json":11401,"./es/config.json":17212,"./fr-CA/config.json":20995,"./fr-CH/config.json":1738,"./fr/config.json":37748,"./it-CH/config.json":16835,"./it/config.json":37295,"./ja/config.json":15203,"./pt-BR/config.json":87503,"./pt/config.json":22356,"./ro/config.json":99069};function i(t){var e=r(t);return a(e)}function r(t){if(!a.o(s,t)){var e=new Error("Cannot find module '"+t+"'");throw e.code="MODULE_NOT_FOUND",e}return s[t]}i.keys=function(){return Object.keys(s)},i.resolve=r,t.exports=i,i.id=97991},79933:function(t){"use strict";t.exports=JSON.parse('{"native":"Deutsch (Schweiz)","global":"German (Switzerland)"}')},28417:function(t){"use strict";t.exports=JSON.parse('{"native":"Deutsch","global":"German"}')},23667:function(t){"use strict";t.exports=JSON.parse('{"native":"English (UK)","global":"English (UK)"}')},92444:function(t){"use strict";t.exports=JSON.parse('{"native":"English (US)","global":"English (US)"}')},11401:function(t){"use strict";t.exports=JSON.parse('{"native":"English","global":"English","customize":["stac-fields.js"]}')},17212:function(t){"use strict";t.exports=JSON.parse('{"native":"Español","global":"Spanish"}')},20995:function(t){"use strict";t.exports=JSON.parse('{"native":"Français (Canada)","global":"French (Canada)"}')},1738:function(t){"use strict";t.exports=JSON.parse('{"native":"Français (Suisse)","global":"French (Switzerland)"}')},37748:function(t){"use strict";t.exports=JSON.parse('{"native":"Français","global":"French"}')},16835:function(t){"use strict";t.exports=JSON.parse('{"native":"Italiano (Svizzera)","global":"Italian (Switzerland)"}')},37295:function(t){"use strict";t.exports=JSON.parse('{"native":"Italiano","global":"Italian"}')},15203:function(t){"use strict";t.exports=JSON.parse('{"native":"日本語","global":"Japanese"}')},87503:function(t){"use strict";t.exports=JSON.parse('{"native":"Português (Brasil)","global":"Portuguese (Brazil)"}')},22356:function(t){"use strict";t.exports=JSON.parse('{"native":"Português","global":"Portuguese"}')},99069:function(t){"use strict";t.exports=JSON.parse('{"native":"Română","global":"Romanian"}')}},e={};function a(s){var i=e[s];if(void 0!==i)return i.exports;var r=e[s]={id:s,loaded:!1,exports:{}};return t[s].call(r.exports,r,r.exports,a),r.loaded=!0,r.exports}a.m=t,function(){var t="function"===typeof Symbol?Symbol("webpack queues"):"__webpack_queues__",e="function"===typeof Symbol?Symbol("webpack exports"):"__webpack_exports__",s="function"===typeof Symbol?Symbol("webpack error"):"__webpack_error__",i=function(t){t&&t.d<1&&(t.d=1,t.forEach((function(t){t.r--})),t.forEach((function(t){t.r--?t.r++:t()})))},r=function(a){return a.map((function(a){if(null!==a&&"object"===typeof a){if(a[t])return a;if(a.then){var r=[];r.d=0,a.then((function(t){n[e]=t,i(r)}),(function(t){n[s]=t,i(r)}));var n={};return n[t]=function(t){t(r)},n}}var o={};return o[t]=function(){},o[e]=a,o}))};a.a=function(a,n,o){var l;o&&((l=[]).d=-1);var c,u,d,h=new Set,p=a.exports,f=new Promise((function(t,e){d=e,u=t}));f[e]=p,f[t]=function(t){l&&t(l),h.forEach(t),f["catch"]((function(){}))},a.exports=f,n((function(a){var i;c=r(a);var n=function(){return c.map((function(t){if(t[s])throw t[s];return t[e]}))},o=new Promise((function(e){i=function(){e(n)},i.r=0;var a=function(t){t!==l&&!h.has(t)&&(h.add(t),t&&!t.d&&(i.r++,t.push(i)))};c.map((function(e){e[t](a)}))}));return i.r?o:n()}),(function(t){t?d(f[s]=t):u(p),i(l)})),l&&l.d<0&&(l.d=0)}}(),function(){var t=[];a.O=function(e,s,i,r){if(!s){var n=1/0;for(u=0;u=r)&&Object.keys(a.O).every((function(t){return a.O[t](s[l])}))?s.splice(l--,1):(o=!1,r0&&t[u-1][2]>r;u--)t[u]=t[u-1];t[u]=[s,i,r]}}(),function(){a.n=function(t){var e=t&&t.__esModule?function(){return t["default"]}:function(){return t};return a.d(e,{a:e}),e}}(),function(){var t,e=Object.getPrototypeOf?function(t){return Object.getPrototypeOf(t)}:function(t){return t.__proto__};a.t=function(s,i){if(1&i&&(s=this(s)),8&i)return s;if("object"===typeof s&&s){if(4&i&&s.__esModule)return s;if(16&i&&"function"===typeof s.then)return s}var r=Object.create(null);a.r(r);var n={};t=t||[null,e({}),e([]),e(e)];for(var o=2&i&&s;"object"==typeof o&&!~t.indexOf(o);o=e(o))Object.getOwnPropertyNames(o).forEach((function(t){n[t]=function(){return s[t]}}));return n["default"]=function(){return s},a.d(r,n),r}}(),function(){a.d=function(t,e){for(var s in e)a.o(e,s)&&!a.o(t,s)&&Object.defineProperty(t,s,{enumerable:!0,get:e[s]})}}(),function(){a.f={},a.e=function(t){return Promise.all(Object.keys(a.f).reduce((function(e,s){return a.f[s](t,e),e}),[]))}}(),function(){a.u=function(t){return"js/"+t+"."+{57:"41f5038f",105:"11f3ef3f",126:"f21f415f",143:"8a3d2c9a",224:"4fba229c",259:"c47d895a",286:"63cf0a30",287:"fa584da8",401:"2c4f1f50",536:"394026a4",537:"16fe35b9",572:"2c70a609",635:"8dfb32bc",674:"cd3424a3",675:"6343e128",771:"da878272",883:"022b6cfd",895:"61df85f7",944:"93c5eccd",967:"2187a41c",968:"63b0be5d",1082:"9524bfb4",1277:"30f7efae",1295:"c62bcc61",1456:"c7df2c55",1524:"9d335a36",1589:"5695c617",1802:"60389f93",1865:"236dede4",1935:"7e3ae466",2018:"d8337473",2294:"6b905d60",2438:"9d08758b",2568:"7b893d05",2605:"61657992",2653:"ead5227f",2667:"e2075e28",2685:"ae149e1e",2816:"fadc65e3",2862:"9f715c09",2929:"8f5863d5",2963:"588da4a4",2986:"b845ef0e",3022:"818b9d09",3048:"037427d0",3108:"ed5dbc8b",3129:"5ea9e162",3147:"234d0b46",3155:"9a5e35a5",3170:"24cdcd45",3301:"9629eab8",3418:"791d39ac",3481:"b68e7796",3545:"9312a5b8",3621:"c03d14b0",3627:"c74dd113",3658:"005b6342",3665:"60e41131",4052:"11887452",4312:"1dfee9ef",4455:"32fd4e8a",4490:"2d1bfd9d",4511:"ffe2e0e6",4527:"0577cbe4",4545:"0e0c6c60",4567:"9c165ed1",4581:"09d75b82",4631:"185ad2fe",4648:"27991b24",4741:"c2318a0f",4748:"4d28f3f9",4758:"68524464",4794:"cbe91ede",4801:"3798c5b3",4826:"9ec0fb3b",4870:"dd62072e",4905:"fa8f82fd",4964:"c30511c6",4986:"fb82306e",5048:"4de90b52",5160:"5049d33b",5197:"1c0284fb",5262:"894c88c3",5270:"a61c79e3",5290:"4e66b59f",5300:"5a758b2d",5500:"68abc7ee",5528:"f4b345f1",5558:"92284de2",5577:"88da2b76",5583:"4ad93d3c",5691:"b4332e7d",5692:"53888e89",5767:"dcd3e8f6",5833:"4f6613e9",5876:"53412eac",5893:"1f30f06a",6046:"7234cf3f",6094:"92e6b69a",6147:"c1651835",6247:"0d27f607",6340:"5204c7f2",6346:"ac9f2233",6492:"2b9980a8",6513:"934550ef",6750:"4dcdb154",6763:"d5e36df2",6780:"204a1480",6855:"e1724cd1",6866:"76342d7e",6886:"ca913e92",6892:"00f44640",6935:"1e8283d8",6941:"13c80f1c",6948:"f672b487",6997:"9ad3d2eb",7003:"b064e28e",7012:"1f22b1ae",7036:"be852fcd",7090:"15e869ce",7130:"7b24d234",7197:"925f5a53",7250:"9d5b8ba0",7286:"cbd78cd1",7303:"add8a1d9",7312:"ebf1e1ac",7341:"5a9a881d",7400:"bb1bffcb",7457:"05737046",7519:"43de9d9a",7638:"f66112bf",7659:"003bcc2a",7820:"76e052c6",7843:"fe60856c",7905:"28030aa8",7957:"5456ee53",7964:"666a9c76",8228:"7777ffe3",8236:"973dee5b",8376:"ec3800d9",8499:"23d303cb",8552:"8d732287",8648:"3df871aa",8775:"c4d351a5",8798:"ae050e23",9010:"2cfa5aaa",9099:"4e5ff995",9113:"76e2de12",9232:"5c3401ef",9236:"e05a32a6",9311:"d9f0acbc",9384:"dbed806a",9476:"f2965c41",9581:"dcdb60a1",9637:"96af2b91",9684:"722fad2b",9710:"6bb10454",9738:"17d17a36",9856:"51f2956c",9870:"1e0dbc7f",9891:"f756d7a2",9946:"5e885642"}[t]+".js"}}(),function(){a.miniCssF=function(t){return"css/"+t+"."+{126:"1c24940f",143:"ac728857",401:"4149415b",635:"f849b3f1",967:"72c8c98f",1802:"32ec082e",2568:"6fac7cd8",3147:"45781634",3545:"2412eeb4",4052:"63e96376",4748:"fc757a13",5430:"4794afa8",5528:"45781634",6780:"0780c10b",6866:"081b4583",7130:"c4ced7cf",7250:"7090fc57",7312:"81053aa2",7341:"c9b64985",7957:"e76d18ce",8648:"4b50bc38",8775:"bbca74ef"}[t]+".css"}}(),function(){a.g=function(){if("object"===typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(t){if("object"===typeof window)return window}}()}(),function(){a.hmd=function(t){return t=Object.create(t),t.children||(t.children=[]),Object.defineProperty(t,"exports",{enumerable:!0,set:function(){throw new Error("ES Modules may not assign module.exports or exports.*, Use ESM export syntax, instead: "+t.id)}}),t}}(),function(){a.o=function(t,e){return Object.prototype.hasOwnProperty.call(t,e)}}(),function(){var t={},e="@radiantearth/stac-browser:";a.l=function(s,i,r,n){if(t[s])t[s].push(i);else{var o,l;if(void 0!==r)for(var c=document.getElementsByTagName("script"),u=0;u0||t.data.description||t.data.deprecated)?e("b-card-text",{staticClass:"intro"},[t.data.deprecated?e("b-badge",{staticClass:"mr-1 mt-1 deprecated",attrs:{variant:"warning"}},[t._v(t._s(t.$t("deprecated")))]):t._e(),t._l(t.fileFormats,(function(a){return e("b-badge",{key:a,staticClass:"mr-1 mt-1 fileformat",attrs:{variant:"secondary"}},[t._v(t._s(t._f("formatMediaType")(a)))])})),t._v(" "+t._s(t._f("summarize")(t.data.description))+" ")],2):t._e(),t.showKeywordsInCatalogCards&&t.keywords.length>0?e("Keywords",{attrs:{keywords:t.keywords,variant:"primary",center:!t.isList}}):t._e(),t.temporalExtent?e("b-card-text",{staticClass:"datetime"},[e("small",{domProps:{innerHTML:t._s(t.temporalExtent)}})]):t._e()],1),e("b-card-footer",[t._t("footer",null,{data:t.data})],2)],1)},i=[],r=(a(44114),a(95353)),n=a(67467),o=a(97685),l=a(58581),c=a(31831),u=a(50735),d=a(2566),h={name:"Catalog",components:{StacLink:l["default"],Keywords:()=>a.e(8499).then(a.bind(a,28499))},filters:{summarize:t=>d.Ay.summarizeMd(t,300),formatMediaType:t=>(0,u.formatMediaType)(t,null,{shorten:!0})},mixins:[o.A,(0,n.A)({formatTemporalExtent:u.formatTemporalExtent})],props:{catalog:{type:Object,required:!0}},computed:{...(0,r.aH)(["showKeywordsInCatalogCards"]),...(0,r.L8)(["getStac"]),classes(){let t=["catalog-card"];return this.data||t.push("queued"),this.data&&this.data.deprecated&&t.push("deprecated"),this.hasImage&&t.push("has-thumbnail"),this.temporalExtent&&t.push("has-extent"),t},data(){return this.getStac(this.catalog)},temporalExtent(){var t,e,a;if(null!==(t=this.data)&&void 0!==t&&t.isCollection()&&(null===(e=this.data.extent)||void 0===e||null===(a=e.temporal)||void 0===a?void 0:a.interval.length)>0){let t=this.data.extent.temporal.interval[0];if(Array.isArray(t)&&("string"===typeof t[0]||"string"===typeof t[1]))return this.formatTemporalExtent(this.data.extent.temporal.interval[0],!0)}return null},fileFormats(){return this.data?this.data.getFileFormats():[]},keywords(){return this.data&&this.data.getMetadata("keywords")||[]}},methods:{load(t){this.catalog instanceof c.A||this.$store.commit(t?"queue":"unqueue",this.catalog.href)}}},p=h,f=a(81656),g=(0,f.A)(p,s,i,!1,null,null,null),m=g.exports},32398:function(t,e,a){"use strict";a.r(e),a.d(e,{default:function(){return C}});var s=function(){var t=this,e=t._self._c;return e("section",{staticClass:"catalogs mb-4"},[e("header",[e("h2",{staticClass:"title mr-2"},[t._v(t._s(t.title))]),null!==t.catalogCount?e("b-badge",{staticClass:"mr-4",attrs:{pill:"",variant:"secondary"}},[t._v(t._s(t.catalogCount))]):t._e(),e("ViewButtons",{staticClass:"mr-2",model:{value:t.view,callback:function(e){t.view=e},expression:"view"}}),t.isComplete&&t.catalogs.length>1?e("SortButtons",{model:{value:t.sort,callback:function(e){t.sort=e},expression:"sort"}}):t._e()],1),t.isComplete&&t.catalogs.length>1?e("section",{staticClass:"catalog-filter mb-2"},[e("SearchBox",{attrs:{placeholder:t.filterPlaceholder},model:{value:t.searchTerm,callback:function(e){t.searchTerm=e},expression:"searchTerm"}}),t.allKeywords.length>0?e("multiselect",{attrs:{multiple:"",options:t.allKeywords,placeholder:t.$t("multiselect.keywordsPlaceholder"),selectLabel:t.$t("multiselect.selectLabel"),selectedLabel:t.$t("multiselect.selectedLabel"),deselectLabel:t.$t("multiselect.deselectLabel"),limitText:t.limitText},model:{value:t.selectedKeywords,callback:function(e){t.selectedKeywords=e},expression:"selectedKeywords"}}):t._e()],1):t._e(),t.showPagination?e("Pagination",{ref:"topPagination",attrs:{pagination:t.pagination,placement:"top"},on:{paginate:t.paginate}}):t._e(),t.hasSearchCritera&&0===t.catalogView.length?e("b-alert",{staticClass:"mt-2",attrs:{variant:"warning",show:""}},[t._v(t._s(t.$t("catalogs.noMatches")))]):t._e(),e("section",{staticClass:"list"},[t.loading?e("Loading",{attrs:{fill:"",top:""}}):t._e(),e(t.cardsComponent,t._b({tag:"component"},"component",t.cardsComponentProps,!1),t._l(t.catalogView,(function(a){return e("Catalog",{key:a.href,attrs:{catalog:a},scopedSlots:t._u([{key:"footer",fn:function({data:e}){return[t._t("catalogFooter",null,{data:e})]}}],null,!0)})})),1)],1),t.showPagination?e("Pagination",{attrs:{pagination:t.pagination},on:{paginate:t.paginate}}):t.hasMore?e("b-button",{directives:[{name:"b-visible",rawName:"v-b-visible.300",value:t.loadMore,expression:"loadMore",modifiers:{300:!0}}],attrs:{variant:"primary"},on:{click:t.loadMore}},[t._v(t._s(t.$t("catalogs.loadMore")))]):t._e()],1)},i=[],r=(a(44114),a(98992),a(23215),a(54520),a(81454),a(37550),a(95353)),n=a(61629),o=a(39773),l=a(31831),c=function(){var t=this,e=t._self._c;return e("b-button-group",{attrs:{title:t.$t("view.title"),size:"sm"}},[e("b-button",{attrs:{title:t.$t("view.tiles.title"),variant:"outline-primary",pressed:"cards"===t.value},on:{click:function(e){return t.toggle("cards")}}},[e("b-icon-bricks"),t._v(" "),e("span",{staticClass:"button-label"},[t._v(t._s(t.$t("view.tiles.label")))])],1),e("b-button",{attrs:{title:t.$t("view.list.title"),variant:"outline-primary",pressed:"list"===t.value},on:{click:function(e){return t.toggle("list")}}},[e("b-icon-list-task"),t._v(" "),e("span",{staticClass:"button-label"},[t._v(t._s(t.$t("view.list.label")))])],1)],1)},u=[],d=a(82948),h={id:"SortButtons",components:{BIconBricks:d.Muv,BIconListTask:d.Xjw},props:{value:{type:String,default:"cards"}},methods:{toggle(t){this.value!==t&&this.$emit("input",t)}}},p=h,f=a(81656),g=(0,f.A)(p,c,u,!1,null,null,null),m=g.exports,b={components:{ViewButtons:m},computed:{cardsComponent(){return"list"===this.view?"div":"b-card-group"},cardsComponentProps(){return"list"===this.view?{class:["card-list"]}:{columns:!0}},view:{get(){return this.$store.state.cardViewMode},async set(t){await this.$store.dispatch("config",{cardViewMode:t})}}}},y=a(2566),A={name:"Catalogs",components:{Catalog:n.A,Loading:o.A,Pagination:()=>Promise.resolve().then(a.bind(a,70678)),SearchBox:()=>a.e(4748).then(a.bind(a,74748)),SortButtons:()=>a.e(771).then(a.bind(a,40771)),Multiselect:()=>a.e(5262).then(a.t.bind(a,75262,23))},mixins:[b],props:{catalogs:{type:Array,required:!0},collectionsOnly:{type:Boolean,required:!1},loading:{type:Boolean,default:!1},hasMore:{type:Boolean,default:!1},pagination:{type:Object,default:()=>({})},count:{type:Number,default:null}},data(){return{searchTerm:"",sort:0,selectedKeywords:[]}},computed:{...(0,r.aH)(["cardViewSort","uiLanguage"]),...(0,r.L8)(["getStac"]),catalogCount(){return this.catalogs.length!==this.catalogView.length?this.catalogView.length+"/"+this.catalogs.length:null!==this.count?this.count:this.isComplete?this.catalogs.length:null},title(){return this.collectionsOnly?this.$tc("stacCollection",this.catalogs.length):this.$tc("stacCatalog",this.catalogs.length)},isComplete(){return!this.hasMore&&!this.showPagination},filterPlaceholder(){return this.isComplete?this.$t("catalogs.filterByTitleAndMore"):this.$t("catalogs.filterByTitle")},showPagination(){return Object.values(this.pagination).some((t=>!!t))},allCatalogs(){return this.catalogs.map((t=>{let e=this.getStac(t);return e||t}))},hasSearchCritera(){return this.searchTerm||this.selectedKeywords.length>0},catalogView(){if(this.hasMore)return this.catalogs;let t=this.allCatalogs;if(this.hasSearchCritera&&(t=t.filter((t=>{if(this.selectedKeywords.length>0&&t instanceof l.A&&Array.isArray(t.keywords)){let e=this.selectedKeywords.every((e=>t.keywords.includes(e)));if(!e)return!1}if(this.searchTerm){let e=[t.title];return t instanceof l.A&&this.isComplete&&(e.push(t.id),Array.isArray(t.keywords)&&(e=e.concat(t.keywords))),y.Ay.search(this.searchTerm,e)}return!0}))),!this.hasMore&&0!==this.sort){const e=new Intl.Collator(this.uiLanguage);t=t.slice(0).sort(((t,a)=>e.compare(l.A.getDisplayTitle(t),l.A.getDisplayTitle(a)))),-1===this.sort&&(t=t.reverse())}return t},allKeywords(){if(!this.isComplete)return[];let t=[];for(let e of this.allCatalogs)if(e instanceof l.A&&Array.isArray(e.keywords))for(let a of e.keywords)t.includes(a)||t.push(a);return t.sort()}},created(){this.sort=this.cardViewSort},methods:{loadMore(t=!0){t&&(this.sort=0,this.$emit("loadMore"))},paginate(t,e){"bottom"===e&&this.$refs.topPagination&&y.Ay.scrollTo(this.$refs.topPagination.$el),this.$emit("paginate",t)},limitText(t){return this.$t("multiselect.andMore",{count:t})}}},v=A,w=(0,f.A)(v,s,i,!1,null,"3b49c796",null),C=w.exports},99975:function(t,e,a){"use strict";a.r(e),a.d(e,{default:function(){return d}});var s=function(){var t=this,e=t._self._c;return e("b-button",t._b({staticClass:"copy-button",attrs:{variant:t.copyColor,title:t.$t("copy")},on:{click:function(e){return e.preventDefault(),e.stopPropagation(),t.copy.apply(null,arguments)}}},"b-button",t.buttonProps,!1),[e(t.copyIcon,{tag:"component"}),t._t("default")],2)},i=[],r=a(82948),n=a(14405),o={name:"CopyButton",components:{BIconClipboard:r.ceV,BIconClipboardCheck:r.mD4,BIconClipboardX:r.A6N},props:{copyText:{type:String,required:!0},variant:{type:String,default:"primary"},buttonProps:{type:Object,default:()=>({})}},data(){return{status:null}},computed:{copyColor(){let t=this.variant;return!0===this.status?t="success":!1===this.status&&(t="danger"),this.variant.startsWith("outline-")&&(t="outline-"+t),t},copyIcon(){return!0===this.status?"b-icon-clipboard-check":!1===this.status?"b-icon-clipboard-x":"b-icon-clipboard"}},methods:{async copy(){try{let t=document.activeElement;await n.B.copy(this.copyText),t.focus(),this.status=!0}catch(t){console.error(t),this.status=!1}setTimeout((()=>this.status=null),2500)}}},l=o,c=a(81656),u=(0,c.A)(l,s,i,!1,null,null,null),d=u.exports},41526:function(t,e,a){"use strict";a.r(e),a.d(e,{default:function(){return u}});var s=function(){var t=this,e=t._self._c;return e("div",{staticClass:"styled-description",class:{compact:t.compact,inline:t.inline},domProps:{innerHTML:t._s(t.markup(t.description))}})},i=[],r=a(30855),n={name:"Description",props:{description:{type:String,default:""},compact:{type:Boolean,default:!1},inline:{type:Boolean,default:!1},allowHTML:{type:Boolean,default:!1}},methods:{markup(t){if("string"!==typeof t)return"";var e=new r.iX,a=new r.j6({safe:!this.allowHTML,smart:!0}),s=e.parse(t);return a.render(s)}}},o=n,l=a(81656),c=(0,l.A)(o,s,i,!1,null,null,null),u=c.exports},85952:function(t,e,a){"use strict";a.d(e,{A:function(){return c}});var s=function(){var t=this,e=t._self._c;return e("b-alert",{attrs:{variant:"danger",show:"",dismissible:t.dismissible},on:{dismissed:function(e){return t.$emit("close")}}},[e("p",{staticClass:"message"},[t._v(t._s(t.message||t.$t("errors.default")))]),t.error&&t.error.message?e("dl",{staticClass:"error"},[e("dt",[t._v(t._s(t.$t("errors.labels.cause")))]),e("dd",[t._v(t._s(t.error.message))])]):t._e(),t.description?e("dl",{staticClass:"description"},[e("dt",[t._v(t._s(t.$t("errors.labels.reason")))]),e("dd",[t._v(t._s(t.description))])]):t._e(),t.id?e("dl",{staticClass:"id"},[e("dt",[t._v(t._s(t.$t("errors.labels.code")))]),e("dd",[e("code",[t._v(t._s(t.id))])])]):t._e(),t.url?e("dl",{staticClass:"url"},[e("dt",[t._v(t._s(t.$t("errors.labels.requestURL")))]),e("dd",[e("code",[t._v(t._s(t.url))])])]):t._e()])},i=[],r={name:"ErrorAlert",props:{message:{type:String,default:null},description:{type:String,default:""},error:{type:[Object,Error],default:null},id:{type:[String,Number],default:null},url:{type:String,default:""},dismissible:{type:Boolean,default:!1}}},n=r,o=a(81656),l=(0,o.A)(n,s,i,!1,null,"7a9d646a",null),c=l.exports},77455:function(t,e,a){"use strict";a.r(e),a.d(e,{default:function(){return b}});var s=function(){var t=this,e=t._self._c;return e("b-card",{directives:[{name:"b-visible",rawName:"v-b-visible.400",value:t.load,expression:"load",modifiers:{400:!0}}],staticClass:"item-card",class:{queued:!t.data,deprecated:t.isDeprecated,description:t.hasDescription},attrs:{"no-body":""}},[t.hasImage?e("b-card-img-lazy",t._b({staticClass:"thumbnail",attrs:{offset:"200"}},"b-card-img-lazy",t.thumbnail,!1)):t._e(),e("b-card-body",[e("b-card-title",[e("StacLink",{staticClass:"stretched-link",attrs:{data:[t.data,t.item]}})],1),t.fileFormats.length>0||t.hasDescription||t.isDeprecated?e("b-card-text",{staticClass:"intro"},[t.isDeprecated?e("b-badge",{staticClass:"mr-1 mt-1 deprecated",attrs:{variant:"warning"}},[t._v(t._s(t.$t("deprecated")))]):t._e(),t._l(t.fileFormats,(function(a){return e("b-badge",{key:a,staticClass:"mr-1 mt-1 fileformat",attrs:{variant:"secondary"}},[t._v(t._s(t._f("formatMediaType")(a)))])})),t.hasDescription?[t._v(t._s(t._f("summarize")(t.data.properties.description)))]:t._e()],2):t._e(),t.showKeywordsInItemCards&&t.keywords.length>0?e("Keywords",{attrs:{keywords:t.keywords,variant:"primary",center:""}}):t._e(),e("b-card-text",[e("small",{staticClass:"text-muted"},[t.extent?[t._v(t._s(t._f("formatTemporalExtent")(t.extent)))]:t.data&&t.data.properties.datetime?[t._v(t._s(t._f("formatTimestamp")(t.data.properties.datetime)))]:[t._v(t._s(t.$t("items.noTime")))]],2)])],1)],1)},i=[],r=a(95353),n=a(97685),o=a(58581),l=a(31831),c=a(50735),u=a(19087),d=a.n(u),h=a(2566);d().addDependency("content-type",a(58597));var p={name:"Item",components:{StacLink:o["default"],Keywords:()=>a.e(8499).then(a.bind(a,28499))},filters:{summarize:t=>h.Ay.summarizeMd(t,150),formatMediaType:t=>(0,c.formatMediaType)(t,null,{shorten:!0}),formatTemporalExtent:c.formatTemporalExtent,formatTimestamp:c.formatTimestamp},mixins:[n.A],props:{item:{type:Object,required:!0}},computed:{...(0,r.aH)(["showKeywordsInItemCards"]),...(0,r.L8)(["getStac"]),data(){return this.getStac(this.item)},extent(){return this.data&&(this.data.properties.start_datetime||this.data.properties.end_datetime)?[this.data.properties.start_datetime,this.data.properties.end_datetime]:null},fileFormats(){return this.data?this.data.getFileFormats():[]},keywords(){return this.data&&this.data.getMetadata("keywords")||[]},isDeprecated(){return this.data instanceof l.A&&Boolean(this.data.properties.deprecated)},hasDescription(){return this.data instanceof l.A&&h.Ay.hasText(this.data.properties.description)}},methods:{load(t){this.item instanceof l.A||this.$store.commit(t?"queue":"unqueue",this.item.href)}}},f=p,g=a(81656),m=(0,g.A)(f,s,i,!1,null,null,null),b=m.exports},3896:function(t,e,a){"use strict";a.r(e),a.d(e,{default:function(){return b}});var s=function(){var t=this,e=t._self._c;return e("section",{staticClass:"items mb-4"},[e("header",[e("h2",{staticClass:"title mr-2"},[t._v(t._s(t.$tc("stacItem",t.items.length)))]),null!==t.itemCount?e("b-badge",{staticClass:"mr-4",attrs:{pill:"",variant:"secondary"}},[t._v(t._s(t.itemCount))]):t._e(),!t.api&&t.items.length>1?e("SortButtons",{model:{value:t.sort,callback:function(e){t.sort=e},expression:"sort"}}):t._e()],1),t.showPagination?e("Pagination",{ref:"topPagination",attrs:{pagination:t.pagination,placement:"top"},on:{paginate:t.paginate}}):t._e(),t.allowFilter?[t.api?e("b-button",{directives:[{name:"b-toggle",rawName:"v-b-toggle.itemFilter",modifiers:{itemFilter:!0}}],staticClass:"mb-4 mt-2",class:{"ml-3":t.showPagination},attrs:{variant:t.hasFilters&&!t.filtersOpen?"primary":"outline-primary"}},[e("b-icon-search"),t._v(" "+t._s(t.filtersOpen?t.$t("items.hideFilter"):t.$t("items.showFilter"))+" "),t.hasFilters&&!t.filtersOpen?e("b-badge",{attrs:{variant:"dark"}},[t._v(t._s(t.filterCount))]):t._e()],1):t._e(),e("b-collapse",{attrs:{id:"itemFilter"},model:{value:t.filtersOpen,callback:function(e){t.filtersOpen=e},expression:"filtersOpen"}},[e("SearchFilter",{attrs:{type:"Items",title:t.$t("items.filter"),parent:t.stac,value:t.apiFilters},on:{input:t.emitFilter}})],1)]:t._e(),e("section",{staticClass:"list"},[t.loading?e("Loading",{attrs:{fill:"",top:""}}):t._e(),t.chunkedItems.length>0?e("b-card-group",{attrs:{columns:""}},t._l(t.chunkedItems,(function(t){return e("Item",{key:t.href,attrs:{item:t}})})),1):e("b-alert",{attrs:{variant:t.hasFilters?"warning":"info",show:""}},[t.hasFilters?[t._v(t._s(t.$t("search.noItemsFound")))]:[t._v(t._s(t.$t("items.noneAvailableForCollection")))]],2)],1),t.showPagination?e("Pagination",{attrs:{pagination:t.pagination},on:{paginate:t.paginate}}):t.hasMore?e("b-button",{directives:[{name:"b-visible",rawName:"v-b-visible.300",value:t.showMore,expression:"showMore",modifiers:{300:!0}}],attrs:{variant:"primary"},on:{click:t.showMore}},[t._v(t._s(t.$t("showMore")))]):t._e()],2)},i=[],r=(a(98992),a(54520),a(37550),a(77455)),n=a(39773),o=a(70678),l=a(48883),c=a(82948),u=a(2566),d=a(31831),h=a(95353),p={name:"Items",components:{BCollapse:l.K,BIconSearch:c.S8S,Item:r["default"],SearchFilter:()=>Promise.all([a.e(537),a.e(5262),a.e(4741),a.e(5430)]).then(a.bind(a,24741)),Loading:n.A,Pagination:o["default"],SortButtons:()=>a.e(771).then(a.bind(a,40771))},props:{items:{type:Array,required:!0},loading:{type:Boolean,default:!1},stac:{type:Object,required:!0},api:{type:Boolean,default:!1},allowFilter:{type:Boolean,default:!0},showFilters:{type:Boolean,default:!1},apiFilters:{type:Object,default:()=>({})},pagination:{type:Object,default:()=>({})},chunkSize:{type:Number,default:90},count:{type:Number,default:null}},data(){return{shownItems:this.chunkSize,filtersOpen:this.showFilters,sort:0}},computed:{...(0,h.aH)(["cardViewSort","uiLanguage"]),itemCount(){return null!==this.count?this.count:!this.api&&this.items.length>0?this.items.length:null},hasMore(){return this.items.length>this.shownItems},filterCount(){return Object.values(this.apiFilters).filter((t=>!(null===t||0===u.Ay.size(t)))).length},hasFilters(){return this.filterCount>0},chunkedItems(){let t=this.items;if(!this.apiFilters.sortby&&0!==this.sort){const e=new Intl.Collator(this.uiLanguage);t=t.slice(0).sort(((t,a)=>e.compare(d.A.getDisplayTitle(t),d.A.getDisplayTitle(a)))),-1===this.sort&&(t=t.reverse())}return!this.api&&this.items.length>this.chunkSize?t.slice(0,this.shownItems):t},showPagination(){if(this.api){if(this.hasFilters)return!0;if(this.items.length>0)return Object.values(this.pagination).some((t=>!!t))}return!1}},watch:{showFilters(){this.filter=this.showFilters},filtersOpen(){this.$emit("filtersShown",this.filtersOpen)}},created(){this.sort=this.cardViewSort},mounted(){this.showFilters&&setTimeout((()=>u.Ay.scrollTo(this.$el)),250)},methods:{emitFilter(t,e){this.$emit("filterItems",t,e)},showMore(){this.shownItems+=this.chunkSize},paginate(t,e){"bottom"===e&&this.$refs.topPagination&&u.Ay.scrollTo(this.$refs.topPagination.$el),this.$emit("paginate",t)}}},f=p,g=a(81656),m=(0,g.A)(f,s,i,!1,null,null,null),b=m.exports},39773:function(t,e,a){"use strict";a.d(e,{A:function(){return c}});var s=function(){var t=this,e=t._self._c;return e("div",{class:t.classes},[e("b-spinner",{attrs:{label:t.$t("loading"),small:t.small}})],1)},i=[],r=(a(44114),{name:"Loading",props:{fill:{type:Boolean,default:!1},stretch:{type:Boolean,default:!1},small:{type:Boolean,default:!1},top:{type:Boolean,default:!1}},computed:{classes(){let t=["loading"];return this.fill?t.push("loading-fill"):this.stretch&&t.push("loading-stretch"),this.top&&t.push("top"),t}}}),n=r,o=a(81656),l=(0,o.A)(n,s,i,!1,null,"67931bb8",null),c=l.exports},70678:function(t,e,a){"use strict";a.r(e),a.d(e,{default:function(){return c}});var s=function(){var t=this,e=t._self._c;return e("b-button-group",{class:t.classes},[e("b-button",{attrs:{disabled:!t.pagination.first,variant:"primary"},on:{click:function(e){return t.paginate(t.pagination.first)}}},[t._v(t._s(t.$t("pagination.first")))]),e("b-button",{attrs:{disabled:!t.pagination.prev,variant:"primary"},on:{click:function(e){return t.paginate(t.pagination.prev)}}},[t._v(t._s(t.$t("pagination.previous")))]),e("b-button",{attrs:{disabled:!t.pagination.next,variant:"primary"},on:{click:function(e){return t.paginate(t.pagination.next)}}},[t._v(t._s(t.$t("pagination.next")))]),t.pagination.last?e("b-button",{attrs:{variant:"primary"},on:{click:function(e){return t.paginate(t.pagination.last)}}},[t._v(t._s(t.$t("pagination.last")))]):t._e()],1)},i=[],r={name:"Pagination",props:{pagination:{type:Object,default:()=>({})},placement:{type:String,default:"bottom"}},computed:{classes(){return"top"===this.placement?"mb-4 mt-2":"mb-2 mt-2"}},methods:{paginate(t){this.$emit("paginate",t,this.placement)}}},n=r,o=a(81656),l=(0,o.A)(n,s,i,!1,null,null,null),c=l.exports},58581:function(t,e,a){"use strict";a.r(e),a.d(e,{default:function(){return g}});var s=function(){var t=this,e=t._self._c;return e(t.component,t._b({tag:"component",staticClass:"stac-link",attrs:{title:t.tooltip}},"component",t.attributes,!1),[t.icon?[e("img",{staticClass:"icon mr-2",attrs:{src:t.icon.href,alt:t.icon.title,title:t.icon.title}})]:t._e(),e("span",{staticClass:"title"},[t._v(t._s(t.displayTitle))])],2)},i=[],r=(a(98992),a(72577),a(95353)),n=a(59203),o=a(2566),l=a(31831),c=a(84193),u=a.n(c),d={name:"StacLink",props:{data:{type:[Object,Array],default:null},title:{type:String,default:null},fallbackTitle:{type:[String,Function],default:null},tooltip:{type:String,default:null},button:{type:[Boolean,Object],default:!1},state:{type:Object,default:null}},computed:{...(0,r.aH)(["allowExternalAccess","privateQueryParameters"]),...(0,r.L8)(["toBrowserPath","getRequestUrl","isExternalUrl"]),icon(){if(this.stac){let t=this.stac.getIcons();if(t.length>0)return t[0]}return null},stac(){return this.data instanceof l.A?this.data:Array.isArray(this.data)?this.data.find((t=>t instanceof l.A)):null},link(){return this.isLink(this.data)?this.data:Array.isArray(this.data)&&this.data.find((t=>this.isLink(t)))||{}},isStacBrowserLink(){return!!this.stac||!!o.Ay.isStacMediaType(this.link.type,!0)&&(!(!this.allowExternalAccess&&this.isExternalUrl(this.link.href))&&n.Bv.includes(this.link.rel))},attributes(){if(this.isStacBrowserLink||this.button){let t={to:this.href,rel:this.rel};return o.Ay.isObject(this.button)&&Object.assign(t,this.button),t}return{href:this.href,target:"_blank",rel:this.rel}},component(){return this.button?"b-button":this.isStacBrowserLink?"router-link":"a"},href(){if(this.stac||this.isStacBrowserLink){let t;if(t=this.stac?this.stac.getBrowserPath():this.toBrowserPath(this.link.href),t.startsWith("/")||(t="/"+t),o.Ay.size(this.privateQueryParameters)>0||o.Ay.size(this.state)>0){let e=u()(t),a=(t,a)=>{for(let s in t){let i=`${a}${s}`;e.hasQuery(i)||e.addQuery(i,t[s])}};a(this.privateQueryParameters,"~"),a(this.state,"."),t=e.toString()}return t}return this.getRequestUrl(this.link.href)},displayTitle(){if(this.title)return this.title;let t="function"===typeof this.fallbackTitle?this.fallbackTitle():this.fallbackTitle;return l.A.getDisplayTitle(this.data,t)}},methods:{isLink(t){return o.Ay.isObject(t)&&!(t instanceof l.A)}}},h=d,p=a(81656),f=(0,p.A)(h,s,i,!1,null,null,null),g=f.exports},19306:function(t){t.exports={catalogUrl:null,catalogTitle:"STAC Browser",allowExternalAccess:!0,allowedDomains:[],detectLocaleFromBrowser:!0,storeLocale:!0,locale:"en",fallbackLocale:"en",supportedLocales:["de","es","en","fr","it","ro","ja","pt"],apiCatalogPriority:null,useTileLayerAsFallback:!0,displayGeoTiffByDefault:!1,buildTileUrlTemplate:({href:t,asset:e})=>"https://tiles.rdnt.io/tiles/{z}/{x}/{y}@2x?url="+encodeURIComponent(e.href.startsWith("/vsi")?e.href:t),stacProxyUrl:null,pathPrefix:"/",historyMode:"history",cardViewMode:"cards",cardViewSort:"asc",showKeywordsInItemCards:!1,showKeywordsInCatalogCards:!1,showThumbnailsAsAssets:!1,geoTiffResolution:128,redirectLegacyUrls:!1,itemsPerPage:12,defaultThumbnailSize:null,maxPreviewsOnMap:50,crossOriginMedia:null,requestHeaders:{},requestQueryParameters:{},socialSharing:["email","bsky","mastodon","x"],preprocessSTAC:null,authConfig:null}},44426:function(t,e,a){"use strict";a.d(e,{A:function(){return r}});var s=a(48907),i=a(2566);class r{constructor(t={},e=null,a=null){this.options=t,this.changeListener=e,this.router=a}getButtonTitle(){return null}getLoginLabel(){return s.Ay.t("authentication.button.login")}getLogoutLabel(){return s.Ay.t("authentication.button.logout")}getComponent(){return null}getComponentProps(){return{}}async init(){}async login(){}async confirmLogin(t){this.changeListener&&await this.changeListener(!0,t)}async logout(){}async confirmLogout(){this.changeListener&&await this.changeListener(!1)}async close(){}updateStore(){return{}}_updateStore(t,e=null,a=null,s=null){const r=this.options.formatter||s,n=this.options.name||e,o=this.options.in||a;return t&&("Bearer"===r?t=`Bearer ${t}`:"function"===typeof r&&(t=r(t))),i.Ay.hasText(t)||(t=void 0),"query"===o?{query:{type:"private",key:n,value:t}}:"cookie"===o?{cookie:{key:n,value:t}}:"header"===o?{header:{key:n,value:t}}:{}}static async create(t,e,s){let n=new r;if(i.Ay.isObject(t))if("http"===t.type&&"basic"===t.scheme){const i=(await a.e(4648).then(a.bind(a,34648))).default;n=new i(t,e,s)}else if("apiKey"===t.type){const i=(await a.e(6935).then(a.bind(a,46935))).default;n=new i(t,e,s)}else if("openIdConnect"===t.type){const i=(await a.e(3621).then(a.bind(a,93621))).default;n=new i(t,e,s)}return await n.init(),n}static equals(t,e){return JSON.stringify(t.options)===JSON.stringify(e)}}},45311:function(t,e,a){"use strict";a.d(e,{A:function(){return r},W:function(){return n}});var s=a(42473),i=a(2566);class r{static enabled(t){if(!i.Ay.isObject(t))return!1;try{if(t.setItem("test","yes"),"yes"===t.getItem("test"))return t.removeItem("test"),!0}catch(e){console.error(e)}return!1}constructor(t=!1){t?r.enabled(window.sessionStorage)?this.engine=window.sessionStorage:navigator.cookieEnabled?this.engine=new n(!0):this.engine=new o:r.enabled(window.localStorage)?this.engine=window.localStorage:navigator.cookieEnabled?this.engine=new n:this.engine=new o}get(t){try{let e=this.engine.getItem(t);return"string"===typeof e&&e.startsWith(r.JSON_INDICATOR)&&(e=JSON.parse(e.slice(r.JSON_INDICATOR.length))),e}catch(e){return console.error(e),null}}set(t,e){try{"string"!==typeof e&&(e=r.JSON_INDICATOR+JSON.stringify(e)),this.engine.setItem(t,e)}catch(a){console.error(a)}}remove(t){try{this.engine.removeItem(t)}catch(e){console.error(e)}}clear(){this.engine.clear()}}(0,s.A)(r,"JSON_INDICATOR","\n\r");class n{constructor(t=!1){this.session=t}getExpiry(t=null){null===t&&(t=this.session?60:144e4);const e=new Date;e.setTime(e.getTime()+60*t*1e3),this.epires=e.toGMTString()}setItem(t,e,a=null){const s=this.getExpiry(a);e=encodeURIComponent(e),document.cookie=`${t}=${e}; expires=${s}; path=/`}getItem(t){const e=t+"=",a=document.cookie.split(";");for(let s of a)if(s=s.trim(),s.startsWith(e)){const t=s.substring(e.length,s.length);return decodeURIComponent(t)}return null}removeItem(t){this.set(t,"",-1)}clear(){document.cookie=""}}class o{constructor(t=!1){this.session=t}setItem(t){console.warn(`Browser storage disabled, can't store ${t}`)}getItem(){return null}removeItem(){}clear(){}}},78561:function(t,e,a){"use strict";a.d(e,{Q:function(){return o}});var s=a(95353);const i=["https://api.stacspec.org/v1.*/item-search#filter:cql-text","http://www.opengis.net/spec/cql2/1.*/conf/cql2-text"],r=["https://api.stacspec.org/v1.*/item-search#filter:cql-json","http://www.opengis.net/spec/cql2/1.*/conf/cql2-json"],n=["http://www.opengis.net/spec/cql2/1.*/conf/advanced-comparison-operators"],o={Items:{BasicFilters:["https://api.stacspec.org/v1.*/ogcapi-features","http://www.opengis.net/spec/ogcapi-features-1/1.*/conf/core"],CollectionIdFilter:!1,ItemIdFilter:!1,CqlFilters:["http://www.opengis.net/spec/ogcapi-features-3/1.*/*/features-filter"],Sort:["https://api.stacspec.org/v1.*/ogcapi-features#sort","http://www.opengis.net/spec/ogcapi-records-1/1.*/conf/sorting"],FreeText:["https://api.stacspec.org/v1.*/ogcapi-features#free-text"]},Global:{BasicFilters:["https://api.stacspec.org/v1.*/item-search"],CollectionIdFilter:!0,ItemIdFilter:!0,CqlFilters:["https://api.stacspec.org/v1.*/item-search#filter"],Sort:["https://api.stacspec.org/v1.*/item-search#sort"],FreeText:["https://api.stacspec.org/v1.*/item-search#free-text"]},Collections:{BasicFilters:["https://api.stacspec.org/v1.*/collection-search"],CollectionIdFilter:!1,ItemIdFilter:!1,CqlFilters:["https://api.stacspec.org/v1.*/collection-search#filter"],Sort:["https://api.stacspec.org/v1.*/collection-search#sort"],FreeText:["https://api.stacspec.org/v1.*/collection-search#free-text"]}};e.A={props:{type:{type:String,required:!0}},computed:{...(0,s.L8)(["supportsConformance"]),conformances(){return o[this.type]},canSort(){return this.supportsConformance(this.conformances.Sort)},canFilterExtents(){return this.supportsConformance(this.conformances.BasicFilters)},canFilterFreeText(){return this.supportsConformance(this.conformances.FreeText)},cql(){if(!this.supportsConformance(this.conformances.CqlFilters))return null;let t=this.supportsConformance(i),e=this.supportsConformance(r);return t||e?{textMode:t,jsonMode:e,advancedComparison:this.supportsConformance(n)}:null}}}},67467:function(t,e,a){"use strict";var s=a(95353);e.A=t=>{let e={computed:{...(0,s.aH)(["uiLanguage"])},methods:{}};for(let a in t){let s=t[a];e.methods[a]=function(){return this.uiLanguage,s(...arguments)}}return e}},97685:function(t,e,a){"use strict";var s=a(95353);e.A={props:{showThumbnail:{type:Boolean,default:!0}},computed:{...(0,s.aH)(["cardViewMode","crossOriginMedia","defaultThumbnailSize"]),isList(){return this.data&&!this.data.isItem()&&"list"===this.cardViewMode},hasImage(){return this.showThumbnail&&this.thumbnail},thumbnail(){if(this.data){let t=this.data.getThumbnails(!0,"thumbnail");if(t.length>0){let e,a,s=t[0];return Array.isArray(s["proj:shape"])&&2===s["proj:shape"].length?[a,e]=s["proj:shape"]:Array.isArray(this.defaultThumbnailSize)&&2===this.defaultThumbnailSize.length&&([a,e]=this.defaultThumbnailSize),{src:s.href,alt:s.title,crossorigin:this.crossOriginMedia,right:this.isList,blankColor:"rgba(0, 0, 0, 0.125)",width:e,height:a,"blank-width":e,"blank-height":a}}}return null}}}},24274:function(t,e,a){"use strict";a.d(e,{A:function(){return n}});a(98992),a(54520),a(81454);var s=a(2566),i=a(31831),r=a(44426);class n{static resolveAuth(t,e){if(e instanceof i.A&&s.Ay.size(t["auth:refs"])>0){const a=e.getMetadata("auth:schemes");if(s.Ay.size(a)>0)return t["auth:refs"].map((t=>a[t])).filter((t=>s.Ay.isObject(t)))}return[]}static isSupported(t,e){switch(t instanceof r.A&&(t=t.options),t.type){case"http":return"basic"===t.schema;case"apiKey":return"header"===t.in||"query"===t.in;case"openIdConnect":return"history"===e.historyMode;default:return!1}}static convertLegacyAuthConfig(t){return s.Ay.isObject(t)&&null!==t.type?"query"===t.type||"header"===t.type?{type:"apiKey",in:t.type,name:t.key,description:t.description,formatter:t.formatter}:t:null}}},50737:function(t,e,a){"use strict";let s;s=a(19306),e.A=Object.assign(s,{pathPrefix:"/stac-browser",historyMode:"hash"},window.STAC_BROWSER_CONFIG)},48907:function(t,e,a){"use strict";a.d(e,{Aj:function(){return c},Qm:function(){return p},SM:function(){return g},_:function(){return m},fH:function(){return f}});a(81454);var s=a(85471),i=a(64765),r=a(50737),n=a(14540),o=a.n(n),l=a(2566);s.Ay.use(i.A);const c=["https://api.stacspec.org/v1.*/language"],u={};function d(){for(let e of r.A.supportedLocales)u[e]=a(97991)(`./${e}/config.json`);const t={};for(let e in u)t[e]={languages:u};return t}const h=new i.A({locale:r.A.locale,fallbackLocale:r.A.fallbackLocale,messages:d(),postTranslation:(t,e)=>{if(""===t){const a=e.split(".");let s=h.messages[r.A.fallbackLocale];for(const e of a){if(!(e in s))return t;s=s[e]}return s}return t}});function p(){return Promise.all([f(r.A.locale),f(r.A.fallbackLocale)])}async function f(t){if(l.Ay.size(h.messages[t])>1)return;const e=(await a(33545)(`./${t}/default.js`)).default;h.mergeLocaleMessage(t,e)}async function g(t){const e=u[t].customize;if(0===l.Ay.size(u[t].customize))return;const s=e.map((async e=>{const s=(await a(93731)(`./${t}/${e}`)).default;return await s(t)}));return Promise.all(s)}function m(t,e=null){if("string"!==typeof t||0===t.length)return t;let a=`fields.${t}`;return h.te(a)?h.t(a,null,e):o().format(t,e)}e.Ay=h},39071:function(t,e,a){"use strict";a.d(e,{E0:function(){return i},f5:function(){return r}});a(44114),a(98992),a(3949);function s(t){if(!t)return;const e=String(t),a=e.indexOf("@"),s=-1!==a?e.substr(a+1):void 0,i=-1!==a?e.substr(0,a):e,r=String(i).replace(/-/g,"_").split("_");if(!r.length||r.length>4)return;const n=r.shift();if(!n)return;const o={keyword:s,language:n.toLowerCase()};if(!r.length)return o;if(3===r.length){const t=r.pop();t&&(o.variant=t.toUpperCase())}let l=r.pop();if(l.length>3&&(o.keyword=l,l=r.pop()),l&&(o.country=l.toUpperCase()),!r.length)return o;const c=r.pop();return"string"===typeof c&&c.length>=1&&(o.script=c[0].toUpperCase()+c.substring(1).toLowerCase()),o}function i(t){const e={};return t.forEach((t=>{const{language:a,country:i}=s(t);if(!a)throw new Error(`Locale ${t} is not parsable`);e[a]||(e[a]={countries:{},firstCountry:void 0,main:void 0});const r=e[a];i?(r.countries[i]=t,r.firstCountry||(r.firstCountry=t)):r.main=t})),e}function r(t,e,a,n){const o=Array.isArray(t)?i(t):t;if(!e&&a)return r(t,a,void 0,n);if(!e)return;const{language:l,country:c}=s(e);if(!l)return a;if(!o[l]){if(e===a)return;return r(t,a,null,n)}const{countries:u,main:d=a,firstCountry:h}=o[l];return u&&c?n&&h?u[c]?u[c]:h:u[c]?u[c]:d:n&&h?h:d}},81943:function(t,e,a){"use strict";var s=a(85471),i=function(){var t=this,e=t._self._c;return e("b-container",{attrs:{id:"stac-browser"}},[t.showLogin?e("Authentication"):t._e(),t.globalError?e("ErrorAlert",t._b({staticClass:"global-error",attrs:{dismissible:""},on:{close:t.hideError}},"ErrorAlert",t.globalError,!1)):t._e(),t.sidebar?e("Sidebar"):t._e(),e("header",[e("div",{staticClass:"logo"},[t._v(t._s(t.displayCatalogTitle))]),e("StacHeader",{on:{enableSidebar:function(e){t.sidebar=!0}}})],1),e("router-view"),e("footer",[e("i18n",{staticClass:"poweredby text-muted",attrs:{tag:"small",path:"poweredBy"},scopedSlots:t._u([{key:"link",fn:function(){return[e("a",{attrs:{href:"https://github.com/radiantearth/stac-browser",target:"_blank"}},[t._v("STAC Browser")]),t._v(" "+t._s(t.browserVersion)+" ")]},proxy:!0}])})],1)],1)},r=[],n=(a(44114),a(40173)),o=a(95353),l=a(50737),c=function(){var t=this,e=t._self._c;return e("main",{staticClass:"browse d-flex flex-column"},[!t.allowExternalAccess&&t.isExternal?e("b-alert",{attrs:{show:""}},[t._v(t._s(t.$t("errors.noExternalAccess")))]):t.error?e("ErrorAlert",{attrs:{url:t.url,description:t.errorDescription,id:t.errorId}}):t.loading?e("Loading",{attrs:{stretch:""}}):e(t.component,{tag:"component"})],1)},u=[],d=function(){var t=this,e=t._self._c;return e("div",{key:t.data.id,staticClass:"item"},[e("b-row",[e("b-col",{staticClass:"left"},[e("section",{staticClass:"mb-4"},[e("b-card",{staticClass:"maps-preview",attrs:{"no-body":""}},[e("b-tabs",{ref:"tabs",attrs:{card:"",pills:"",vertical:"",end:""},model:{value:t.tab,callback:function(e){t.tab=e},expression:"tab"}},[e("b-tab",{attrs:{title:t.$t("map"),"no-body":""}},[e("Map",{attrs:{stac:t.data,stacLayerData:t.selectedAsset,scrollWheelZoom:""},on:{dataChanged:t.dataChanged}})],1),t.thumbnails.length>0?e("b-tab",{attrs:{title:t.$t("thumbnails"),"no-body":""}},[e("Thumbnails",{attrs:{thumbnails:t.thumbnails}})],1):t._e()],1)],1)],1),t.hasAssets?e("Assets",{attrs:{assets:t.assets,context:t.data,shown:t.shownAssets},on:{showAsset:t.showAsset}}):t._e(),t.additionalLinks.length>0?e("Links",{attrs:{title:t.$t("additionalResources"),links:t.additionalLinks,context:t.data}}):t._e()],1),e("b-col",{staticClass:"right"},[e("section",{staticClass:"intro"},[t.data.properties.description?e("h2",[t._v(t._s(t.$t("description")))]):t._e(),t.data.properties.deprecated?e("DeprecationNotice",{attrs:{data:t.data}}):t._e(),t.data.properties["anon:warning"]?e("AnonymizedNotice",{attrs:{warning:t.data.properties["anon:warning"]}}):t._e(),t.data.properties.description?e("ReadMore",{attrs:{lines:10,text:t.$t("read.more"),"text-less":t.$t("read.less")}},[e("Description",{attrs:{description:t.data.properties.description}})],1):t._e(),Array.isArray(t.data.properties.keywords)&&t.data.properties.keywords.length>0?e("Keywords",{staticClass:"mb-3",attrs:{keywords:t.data.properties.keywords}}):t._e()],1),t.collectionLink?e("CollectionLink",{attrs:{link:t.collectionLink}}):t._e(),t.data.properties.providers?e("Providers",{attrs:{providers:t.data.properties.providers}}):t._e(),e("Metadata",{attrs:{data:t.data,type:"Item",ignoreFields:t.ignoredMetadataFields}})],1)],1)],1)},h=[],p=a(41526),f=a(6841),g=a.n(f),m=(a(81454),a(2566)),b={data(){return{shownAssetsOnMap:[],shownBandsOnMap:[],tab:null,selectedAsset:null,selectedAssetKey:null}},computed:{...(0,o.L8)(["thumbnails","hasAssets","assets"]),shownAssets(){if(0===this.tab)return this.shownAssetsOnMap;if(1===this.tab||null===this.tab&&this.thumbnails.length>0){let t=[],e=this.thumbnails.map((t=>t.href));for(let a in this.assets){let s=this.assets[a];e.includes(s.href)&&t.push(a)}return t}return[]}},methods:{showAsset(t,e,a){a?this.tab=1:(this.tab=0,this.selectedAsset=t,this.selectedAssetKey=e,this.shownAssetsOnMap=[this.selectedAssetKey]),this.$refs.tabs&&m.Ay.scrollTo(this.$refs.tabs.$el)},dataChanged(t){m.Ay.isObject(t)?t.assets||t.bands?(m.Ay.size(t.assets)>0&&(this.selectedAssetKey?this.shownAssetsOnMap=[this.selectedAssetKey]:this.shownAssetsOnMap=t.assets.map((t=>t.key))),m.Ay.size(t.bands)>0&&(this.shownBandsOnMap=t.bands)):this.selectedAssetKey&&(this.shownAssetsOnMap=[this.selectedAssetKey]):(this.shownBandsOnMap=[],this.shownAssetsOnMap=[])}}},y=a(95050),A=a(63405),v=(a(98992),a(54520),a(31831)),w=a(84193),C=a.n(w),k=a(48907);function _(t,e){let a=e.getters.toBrowserPath(t),s=C()(window.location.origin.toString());return"hash"===e.state.historyMode?(s.path(e.state.pathPrefix),s.fragment(a)):s.path(m.Ay.removeTrailingSlash(e.state.pathPrefix)+a),s.toString()}function L(t,e){Array.isArray(e)&&e.length>=4&&(t.spatialCoverage={"@type":"Place",geo:{"@type":"GeoShape",box:(e||[]).join(" ")}})}function j(t){return!Array.isArray(t)||2!==t.length||"string"!==typeof t[0]&&"string"!==typeof t[1]?null:t.map((t=>t||"..")).join("/")}function x(t){return m.Ay.size(t.assets)>0?Object.values(t.assets).map((e=>({"@type":"DataDownload",contentUrl:m.Ay.toAbsolute(e.href,t.getAbsoluteUrl()),encodingFormat:e.type,name:e.title}))):[]}function S(t,e,a,s="DataCatalog"){return t.map((t=>{let i,r;t instanceof v.A?(i=v.A.getDisplayTitle(t),r=t.getAbsoluteUrl()):(i=t.title,r=m.Ay.toAbsolute(t.href,e.getAbsoluteUrl()));let n={"@type":s,name:i,url:_(r,a),isBasedOn:r};return"Dataset"===s&&(n.description=I(t,a)),n}))}function T(t,e){return t.filter((t=>m.Ay.isObject(t)&&Array.isArray(t.roles)&&t.roles.includes(e))).map((t=>({"@type":"Organization",name:t.name,description:t.description,url:t.url,email:t.email||t.mail})))}function I(t,e){let a,s;if(t instanceof v.A?(a=t.isItem()?"Item":t.type,s=t.collection):m.Ay.isObject(t)&&"item"===t.rel&&(a="Item"),a){let i=k.Ay.tc(`stac${a}`),r=k.Ay.t("in",{catalog:s||e.catalogTitle});return`SpatioTemporal Asset Catalog (STAC)\n${i} - ${t.id} ${r}`}}function O(t,e,a){var s;let i,r=v.A.getDisplayTitle(t),n=t.getAbsoluteUrl(),o=_(n,a),l=null===(s=t.getMetadata("language"))||void 0===s?void 0:s.code,c=t.getThumbnails(!0);c.length>0&&(i=m.Ay.toAbsolute(c[0].href,t.getAbsoluteUrl()));let u=t.getMetadata("license");var d;u&&"proprietary"!==u&&"various"!==u&&"other"!==u?u=`https://spdx.org/licenses/${u}.html`:u=null===(d=t.getLinkWithRel("license"))||void 0===d?void 0:d.href;u&&(u=m.Ay.toAbsolute(u,t.getAbsoluteUrl()));let h,p,f,g,b=t.getMetadata("providers");return m.Ay.size(b)>0&&(h=T(b,"licensor"),p=T(b,"producer"),f=T(b,"host"),g=T(b,"processor")),{"@context":"https://schema.org/","@type":e,name:r,description:t.getMetadata("description")||I(t,a),citation:t.getMetadata("sci:citation"),identifier:t.getMetadata("sci:doi")||t.id,keywords:t.getMetadata("keywords"),license:u,url:o,isBasedOn:n,dateCreated:t.getMetadata("created"),dateModified:t.getMetadata("updated"),datePublished:t.getMetadata("published"),expires:t.getMetadata("expires"),inLanguage:l,thumbnailUrl:i,version:t.getMetadata("version"),image:i,copyrightHolder:h,producer:p,provider:f,creator:g}}function $(t,e,a){if(!(t instanceof v.A))return null;e=e.filter((t=>m.Ay.isObject(t))),e.length>1&&(e=e.filter(((t,a)=>e.findIndex((e=>e.isBasedOn===t.isBasedOn))!==a)));let s=O(t,"DataCatalog",a);var i,r,n,o;t.isCollection()&&((null===(i=t.extent)||void 0===i||null===(r=i.temporal)||void 0===r?void 0:r.interval.length)>0&&(s.temporalCoverage=j(t.extent.temporal.interval[0])),(null===(n=t.extent)||void 0===n||null===(o=n.spatial)||void 0===o?void 0:o.bbox.length)>0&&L(s,t.extent.spatial.bbox[0]),s.associatedMedia=x(t));return s.hasPart=S(a.getters.catalogs,t,a),s.dataset=S(a.getters.items,t,a,"Dataset"),s.isPartOf=S(e,t,a),s}function P(t,e,a){if(!(t instanceof v.A))return null;e=e.filter((t=>m.Ay.isObject(t)));let s=O(t,"Dataset",a);s.includedInDataCatalog=S(e,t,a);let i=t.getMetadata("start_datetime"),r=t.getMetadata("end_datetime");return s.temporalCoverage=i||r?j([i,r]):t.getMetadata("datetime"),L(s,t.bbox),s.distribution=x(t),s}function B(t,e){let a="schema-org",s=t.getElementById(a);s||(s=t.createElement("script"),s.type="application/ld+json",s.id=a,t.head.appendChild(s)),s.innerText=JSON.stringify(e)}var M={name:"Item",components:{AnonymizedNotice:()=>a.e(7457).then(a.bind(a,47457)),Assets:()=>Promise.all([a.e(9232),a.e(126)]).then(a.bind(a,62749)),BTabs:y.r,BTab:A.a,CollectionLink:()=>a.e(9891).then(a.bind(a,89891)),Description:p["default"],DeprecationNotice:()=>a.e(7341).then(a.bind(a,57341)),Keywords:()=>a.e(8499).then(a.bind(a,28499)),Links:()=>Promise.all([a.e(9710),a.e(537),a.e(4870),a.e(9232),a.e(4052)]).then(a.bind(a,73931)),Map:()=>a.e(401).then(a.bind(a,80401)),Metadata:()=>Promise.all([a.e(9710),a.e(537),a.e(4870),a.e(3147)]).then(a.bind(a,73147)),Providers:()=>a.e(635).then(a.bind(a,80635)),ReadMore:g(),Thumbnails:()=>a.e(8648).then(a.bind(a,26267))},mixins:[b],data(){return{ignoredMetadataFields:["description","keywords","providers","title","deprecated","proj:bbox","proj:geometry","auth:schemes","anon:warning"]}},computed:{...(0,o.aH)(["data","url"]),...(0,o.L8)(["additionalLinks","collectionLink","parentLink"])},watch:{data:{immediate:!0,handler(t){try{let e=P(t,[this.collectionLink,this.parentLink],this.$store);B(document,e)}catch(e){console.error(e)}}}}},F=M,E=a(81656),U=(0,E.A)(F,d,h,!1,null,null,null),R=U.exports,q=function(){var t=this,e=t._self._c;return e("div",{key:t.data.id,class:{cc:!0,[t.cssStacType]:!0,mixed:t.hasCatalogs&&t.hasItems,empty:!t.hasCatalogs&&!t.hasItems}},[e("b-row",[e("b-col",{staticClass:"meta"},[e("section",{staticClass:"intro"},[e("h2",[t._v(t._s(t.$t("description")))]),t.data.deprecated?e("DeprecationNotice",{attrs:{data:t.data}}):t._e(),t.data["anon:warning"]?e("AnonymizedNotice",{attrs:{warning:t.data["anon:warning"]}}):t._e(),t.data.description?e("ReadMore",{attrs:{lines:10,text:t.$t("read.more"),"text-less":t.$t("read.less")}},[e("Description",{attrs:{description:t.data.description}})],1):t._e(),Array.isArray(t.data.keywords)&&t.data.keywords.length>0?e("Keywords",{staticClass:"mb-3",attrs:{keywords:t.data.keywords}}):t._e(),t.isCollection?e("section",{staticClass:"metadata mb-4"},[t.licenses?e("b-row",[e("b-col",{staticClass:"label",attrs:{md:"4"}},[t._v(t._s(t.$t("catalog.license")))]),e("b-col",{staticClass:"value",attrs:{md:"8"}},[e("span",{domProps:{innerHTML:t._s(t.licenses)}})])],1):t._e(),t.temporalExtents?e("b-row",[e("b-col",{staticClass:"label",attrs:{md:"4"}},[t._v(t._s(t.$t("catalog.temporalExtent")))]),e("b-col",{staticClass:"value",attrs:{md:"8"}},[e("span",{domProps:{innerHTML:t._s(t.temporalExtents)}})])],1):t._e()],1):t._e(),"left"===t.linkPosition?e("Links",{attrs:{title:t.$t("additionalResources"),links:t.additionalLinks,context:t.data}}):t._e()],1),t.isCollection||t.hasThumbnails?e("section",{staticClass:"mb-4"},[e("b-card",{staticClass:"maps-preview",attrs:{"no-body":""}},[e("b-tabs",{ref:"tabs",attrs:{pills:"",card:"",vertical:"",end:""},model:{value:t.tab,callback:function(e){t.tab=e},expression:"tab"}},[t.isCollection?e("b-tab",{attrs:{title:t.$t("map"),"no-body":""}},[e("Map",{attrs:{stac:t.data,stacLayerData:t.mapData,fitBoundsOnce:"",popover:""},on:{dataChanged:t.dataChanged}})],1):t._e(),t.hasThumbnails?e("b-tab",{attrs:{title:t.$t("thumbnails"),"no-body":""}},[e("Thumbnails",{attrs:{thumbnails:t.thumbnails}})],1):t._e()],1)],1)],1):t._e(),t.hasAssets?e("Assets",{attrs:{assets:t.assets,context:t.data,shown:t.shownAssets},on:{showAsset:t.showAsset}}):t._e(),t.hasItemAssets&&!t.hasItems?e("Assets",{attrs:{assets:t.data.item_assets,context:t.data,definition:!0}}):t._e(),t.providers?e("Providers",{attrs:{providers:t.providers}}):t._e(),e("Metadata",{staticClass:"mb-4",attrs:{type:t.data.type,data:t.data,ignoreFields:t.ignoredMetadataFields}}),t.collectionLink?e("CollectionLink",{attrs:{link:t.collectionLink}}):t._e(),"right"===t.linkPosition?e("Links",{attrs:{title:t.$t("additionalResources"),links:t.additionalLinks,context:t.data}}):t._e()],1),t.hasCatalogs?e("b-col",{staticClass:"catalogs-container"},[e("Catalogs",{attrs:{catalogs:t.catalogs,hasMore:!!t.nextCollectionsLink},on:{loadMore:t.loadMoreCollections}})],1):t._e(),t.hasItems?e("b-col",{staticClass:"items-container"},[e("Items",{attrs:{stac:t.data,items:t.items,api:t.isApi,showFilters:t.showFilters,apiFilters:t.filters,pagination:t.itemPages,loading:t.apiItemsLoading},on:{paginate:t.paginateItems,filterItems:t.filterItems,filtersShown:t.filtersShown}}),t.hasItemAssets?e("Assets",{attrs:{assets:t.data.item_assets,context:t.data,definition:!0}}):t._e()],1):t._e()],1)],1)},D=[],z=a(32398),H=a(3896),N=a(67467),W=a(50735),Q={name:"Catalog",components:{AnonymizedNotice:()=>a.e(7457).then(a.bind(a,47457)),Assets:()=>Promise.all([a.e(9232),a.e(126)]).then(a.bind(a,62749)),BTabs:y.r,BTab:A.a,Catalogs:z["default"],CollectionLink:()=>a.e(9891).then(a.bind(a,89891)),DeprecationNotice:()=>a.e(7341).then(a.bind(a,57341)),Description:p["default"],Items:H["default"],Keywords:()=>a.e(8499).then(a.bind(a,28499)),Links:()=>Promise.all([a.e(9710),a.e(537),a.e(4870),a.e(9232),a.e(4052)]).then(a.bind(a,73931)),Map:()=>a.e(401).then(a.bind(a,80401)),Metadata:()=>Promise.all([a.e(9710),a.e(537),a.e(4870),a.e(3147)]).then(a.bind(a,73147)),Providers:()=>a.e(635).then(a.bind(a,80635)),ReadMore:g(),Thumbnails:()=>a.e(8648).then(a.bind(a,26267))},mixins:[b,(0,N.A)({formatLicense:W.formatLicense,formatTemporalExtents:W.formatTemporalExtents})],data(){return{filters:{},ignoredMetadataFields:["stac_version","stac_extensions","id","type","title","description","keywords","providers","license","extent","summaries","links","assets","item_assets","proj:bbox","proj:geometry","conformsTo","deprecated","anon:warning","stats:catalogs","stats:collections","stats:items","auth:schemes","stac_browser"]}},computed:{...(0,o.aH)(["data","url","apiItems","apiItemsLink","apiItemsPagination","nextCollectionsLink","stateQueryParameters"]),...(0,o.L8)(["additionalLinks","catalogs","collectionLink","isCollection","items","getApiItemsLoading","parentLink","rootLink"]),cssStacType(){var t,e;return m.Ay.hasText(null===(t=this.data)||void 0===t?void 0:t.type)?null===(e=this.data)||void 0===e?void 0:e.type.toLowerCase():null},showFilters(){return Boolean(this.stateQueryParameters["itemFilterOpen"])},hasThumbnails(){return this.thumbnails.length>0},linkPosition(){return 0===this.additionalLinks.length?null:this.isCollection||!this.hasThumbnails?"right":"left"},apiItemsLoading(){return this.getApiItemsLoading(this.data)},licenses(){return this.isCollection&&this.data.license?this.formatLicense(this.data.license,null,null,this.data):null},providers(){let t=[];return Array.isArray(this.data.providers)&&this.data.providers.length>0?t=this.data.providers:this.isCollection&&m.Ay.isObject(this.data.summaries)&&Array.isArray(this.data.summaries.providers)&&(t=this.data.summaries.providers),t.length>0?t:null},temporalExtents(){if(this.isCollection&&this.data.extent.temporal.interval.length>0){let t=this.data.extent.temporal.interval;return t.length>1&&(t=t.slice(1)),this.formatTemporalExtents(t)}return null},hasItemAssets(){var t;return m.Ay.size(null===(t=this.data)||void 0===t?void 0:t.item_assets)>0},itemPages(){let t=Object.assign({},this.apiItemsPagination);return!t.first&&this.data&&this.apiItemsLink&&"items"!==this.apiItemsLink.rel&&(t.first=m.Ay.addFiltersToLink(this.data.getApiItemsLink(),this.filters)),t},isApi(){return Boolean(this.apiItemsLink)},hasItems(){return this.items.length>0||this.isApi},hasCatalogs(){return this.catalogs.length>0},mapData(){return this.selectedAsset?this.selectedAsset:{type:"FeatureCollection",features:this.items}}},watch:{data:{immediate:!0,handler(t){try{let e=$(t,[this.parentLink,this.rootLink],this.$store);B(document,e)}catch(e){console.error(e)}}}},methods:{filtersShown(t){this.$store.commit("updateState",{type:"itemFilterOpen",value:t?1:null})},loadMoreCollections(){this.$store.dispatch("loadNextApiCollections",{show:!0})},async paginateItems(t){try{await this.$store.dispatch("loadApiItems",{link:t,show:!0,filters:this.filters})}catch(e){this.$root.$emit("error",e,this.$t("errors.loadItems"))}},async filterItems(t,e){this.filters=t,e&&this.$store.commit("resetApiItems",this.data.getApiItemsLink());try{await this.$store.dispatch("loadApiItems",{link:this.data.getApiItemsLink(),show:!0,filters:t})}catch(a){let t=e?this.$t("errors.loadItems"):this.$t("errors.loadFilteredItems");this.$root.$emit("error",a,t)}}}},V=Q,G=(0,E.A)(V,q,D,!1,null,null,null),K=G.exports,J=a(79873),X={name:"Browse",components:{Catalog:K,Item:R},mixins:[J.A],computed:{...(0,o.L8)(["isItem"]),component(){return this.isItem?"Item":"Catalog"}}},Y=X,Z=(0,E.A)(Y,c,u,!1,null,null,null),tt=Z.exports;function et(t,e){let a=t.params.pathMatch;return e.allowExternalAccess&&a.startsWith("external/")&&(a="/"+a),{path:a}}function at(t){let e=[];return t.catalogUrl?e.push({path:"/search",name:"search",component:()=>Promise.all([a.e(537),a.e(5262),a.e(4741),a.e(7250)]).then(a.bind(a,28189))}):(e.push({path:"/",name:"select",component:()=>a.e(967).then(a.bind(a,60967))}),e.push({path:"/search/external/(.*)",name:"search",component:()=>Promise.all([a.e(537),a.e(5262),a.e(4741),a.e(7250)]).then(a.bind(a,28189)),props:t=>({loadParent:`/external/${t.params.pathMatch}`})})),e.push({path:"/auth/logout",name:"logout",component:()=>a.e(7130).then(a.bind(a,77130))}),e.push({path:"/auth",component:()=>a.e(7659).then(a.bind(a,17659))}),e.push({path:"/validation/(.*)",name:"validation",component:()=>Promise.all([a.e(537),a.e(287),a.e(3545)]).then(a.bind(a,93545)),props:e=>et(e,t)}),e.push({path:"/(.*)",name:"browse",component:tt,props:e=>et(e,t)}),e}var st=at,it=(a(72577),a(3949),a(59203)),rt=a(44426),nt=a(24274),ot=a(45311);const lt=async(t,e)=>{t.commit("showGlobalError",{error:e,message:k.Ay.t("errors.authFailed")},{root:!0}),await t.dispatch("updateCredentials")};function ct(t){return{namespaced:!0,state:{method:()=>new rt.A,actions:[],credentials:null,inProgress:!1},getters:{method(t){return t.method()},canAuthenticate(t,e,a){return nt.A.isSupported(e.method,a)},isLoggedIn(t){return null!==t.credentials},showLogin(t,e){return!e.isLoggedIn&&t.inProgress}},mutations:{setCredentials(t,e){t.credentials=e},setMethod(t,e){t.method=()=>e},addAction(t,e){t.actions.push(e)},resetActions(t){t.actions=[]},setInProgress(t,e=!0){t.inProgress=e}},actions:{async waitForAuth(t){rt.A.equals(t.getters.method,t.rootState.authConfig)||await t.dispatch("updateMethod",t.rootState.authConfig)},async updateMethod(e,a){a=nt.A.convertLegacyAuthConfig(a),rt.A.equals(e.getters.method,a)||await e.getters.method.close();const s=async(t,a)=>{t||(a=null),await e.dispatch("updateCredentials",a),t?await e.dispatch("executeActions"):e.commit("resetActions")},i=new ot.A(!0);i.set("authConfig",a);const r=await rt.A.create(a,s,t);e.commit("setMethod",r)},async requestLogin(t){if(!t.getters.isLoggedIn){t.commit("setInProgress");try{await t.getters.method.login()}catch(e){lt(t,e)}}},async finalizeLogin(t,e=null){t.commit("setInProgress",!1);try{await t.getters.method.confirmLogin(e)}catch(a){lt(t,a)}},async abortLogin(t){t.commit("setInProgress",!1)},async requestLogout(t){t.getters.isLoggedIn&&(t.commit("setInProgress"),await t.getters.method.logout())},async finalizeLogout(t){t.commit("setInProgress",!1);try{await t.getters.method.confirmLogout()}catch(e){lt(t,e)}},async updateCredentials(t,e=null){t.commit("setCredentials",e);const a=t.getters.method.updateStore(e);if(a.query)t.commit("setQueryParameter",a.query,{root:!0});else if(a.header)t.commit("setRequestHeader",a.header,{root:!0});else if(a.cookie){const t=new ot.W(!0);t.setItem(a.cookie.key,a.cookie.value)}},async executeActions(t){for(let a of t.state.actions)try{const e=a();e instanceof Promise&&e.catch((e=>lt(t,e)))}catch(e){lt(t,e)}t.commit("resetActions")}}}}var ut=a(33484),dt=a(39071),ht=a(14540),pt=a.n(ht),ft=a(78561);function gt(t,e){const a=()=>({url:"",title:t.catalogTitle,description:null,data:null,parents:null,globalError:null,localRequestQueryParameters:{},stateQueryParameters:{language:null,asset:[],itemdef:[]},apiItems:[],apiItemsLink:null,apiItemsPagination:{}}),i=()=>({queue:[],privateQueryParameters:{},authActions:[],conformsTo:[],dataLanguage:null,dataLanguages:[],apiCollections:[],apiItemsLoading:{},nextCollectionsLink:null});return new o.Ay.Store({strict:!1,modules:{auth:ct(e)},state:Object.assign({},t,a(),i(),{database:{},allowSelectCatalog:!t.catalogUrl,globalRequestQueryParameters:t.requestQueryParameters,uiLanguage:t.locale}),getters:{loading:t=>!t.url||!t.data||t.database[t.url]instanceof ut.Rh,getApiItemsLoading:t=>e=>{let a="";return e instanceof ut.Rh||(e instanceof v.A?a=e.id:"string"===typeof e&&(a=e),t.apiItemsLoading[a]||!1)},error:t=>t.database[t.url]instanceof Error?t.database[t.url]:null,getStac:t=>(e,a=!1)=>{if(e instanceof v.A)return e;if(m.Ay.isObject(e)&&m.Ay.hasText(e.href)&&(e=e.href),!m.Ay.hasText(e))return null;let s=m.Ay.toAbsolute(e,t.url),i=t.database[s];return i instanceof v.A||a&&i instanceof Error?i:null},displayCatalogTitle:(t,e)=>v.A.getDisplayTitle(e.root,t.catalogTitle),isCollection:t=>{var e;return(null===(e=t.data)||void 0===e?void 0:e.isCollection())||!1},isCatalog:t=>{var e;return(null===(e=t.data)||void 0===e?void 0:e.isCatalog())||!1},isCatalogLike:t=>{var e;return(null===(e=t.data)||void 0===e?void 0:e.isCatalogLike())||!1},isItem:t=>{var e;return(null===(e=t.data)||void 0===e?void 0:e.isItem())||!1},root:(t,e)=>e.getStac(e.rootLink),rootLink:t=>{var e;let a=null===(e=t.data)||void 0===e?void 0:e.getStacLinkWithRel("root");if(a)return a;if(t.catalogUrl)return m.Ay.createLink(t.catalogUrl,"root");if(t.url&&t.data instanceof v.A&&t.data.getLinksWithRels(["conformance","service-desc","service-doc","data","search"]).length>0)return m.Ay.createLink(t.url,"root");if(t.url){let e=C()(t.url),a=e.segment(-2);if(["collections","items"].includes(a))return e.segment(-1,""),e.segment(-1,""),"items"===a&&(e.segment(-1,""),e.segment(-1,"")),m.Ay.createLink(e.toString(),"root")}return null},parentLink:t=>{if(t.data instanceof v.A){let e=t.data.getStacLinkWithRel("parent");if(e)return e}if(t.url){let e=C()(t.url),a=e.segment(-2);if(["collections","items"].includes(a))return e.segment(-1,""),e.segment(-1,""),m.Ay.createLink(e.toString(),"parent")}return null},collectionLink:t=>{if(t.data instanceof v.A){var e;let a=null===(e=t.data)||void 0===e?void 0:e.getStacLinkWithRel("collection");if(a)return a}if(t.url){let e=C()(t.url),a=e.segment(-2);if("items"==a)return e.segment(-1,""),e.segment(-1,""),m.Ay.createLink(e.toString(),"collection")}return null},supportsConformance:t=>e=>{if(!Array.isArray(e))return e;let a=e.map((t=>t.replaceAll("*","[^/]+").replace(/\/?#/,"/?#"))).join("|"),s=new RegExp("^("+a+")$");return Boolean(t.conformsTo.find((t=>t.match(s))))},supportsExtension:t=>e=>m.Ay.supportsExtension(t.data,e),canSearch:(t,e)=>e.canSearchCollections||e.canSearchItems,canSearchItems:(t,e)=>e.supportsConformance(ft.Q.Global.BasicFilters),canSearchCollections:(t,e)=>e.supportsConformance(ft.Q.Collections.BasicFilters),items:t=>t.apiItems.length>0?t.apiItems:t.data?t.data.getStacLinksWithRel("item"):[],catalogs:t=>{let e=Boolean(t.data instanceof v.A&&t.data.getApiCollectionsLink()&&t.apiCollections.length>0),a=Boolean(t.data instanceof v.A),s=!t.apiCatalogPriority||"collections"===t.apiCatalogPriority,i=!t.apiCatalogPriority||"childs"===t.apiCatalogPriority,r=[];return e&&s&&(r=r.concat(t.apiCollections)),a&&i&&(r=v.A.addMissingChildren(r,t.data)),r},hasAssets:(t,e)=>Boolean(Object.values(e.assets).find((t=>m.Ay.isObject(t)&&"string"===typeof t.href))),assets:(t,e)=>{var a;if(m.Ay.isObject(null===(a=t.data)||void 0===a?void 0:a.assets)){if(t.showThumbnailsAsAssets)return t.data.assets;{let a={},s=e.thumbnails;for(let e in t.data.assets){let i=t.data.assets[e];s.includes(i)||(a[e]=i)}return a}}return{}},thumbnails:t=>t.data?t.data.getThumbnails(!0):[],additionalLinks:t=>t.data?t.data.getLinksWithOtherRels(it.ol).filter((t=>"preview"!==t.rel||!m.Ay.canBrowserDisplayImage(t))):[],toBrowserPath:(t,e)=>a=>{m.Ay.hasText(a)||(a="/");let s,i=m.Ay.toAbsolute((0,ut.rM)(a,t.stacProxyUrl),t.url,!1);if(!t.allowSelectCatalog&&t.catalogUrl&&(s=i.relativeTo(t.catalogUrl)),"undefined"===typeof s||e.isExternalUrl(i,!1)){if(!t.allowExternalAccess)return i.toString();let e=["/external"],a=i.protocol();"https"!==a&&e.push(a+":"),e.push(i.authority()),e.push(i.path().replace(/^\//,""));let s=e.join("/"),r=i.query();return r&&(s+=`?${r}`),s}return"/"+s.toString()},fromBrowserPath:(t,e)=>a=>{const s=/^\/(search\/)?external\//;if(m.Ay.hasText(a)&&"/"!==a)if(a.match(s)){let t,e=a.replace(s,"").split("/");t=e[0].endsWith(":")?e.shift():"https:",a=`${t}//${e.join("/")}`}else!t.allowSelectCatalog&&t.catalogUrl&&(a=m.Ay.toAbsolute(a,t.catalogUrl,!1));else a=t.catalogUrl;return e.getRequestUrl(a,null,!0)},isExternalUrl:t=>(e,a=!0)=>{if(!t.catalogUrl)return!1;if(e instanceof C()||(e=C()(e)),a&&Array.isArray(t.allowedDomains)&&t.allowedDomains.includes(e.domain()))return!1;let s;if(e.is("relative"))s=e;else if(s=e.relativeTo(t.catalogUrl),s.equals(e))return!0;let i=s.toString();return i.startsWith("//")||i.startsWith("../")},getRequestUrl:(t,e)=>(a,s=null,i=!1)=>{let r=m.Ay.toAbsolute((0,ut.sd)(a,t.stacProxyUrl),s||t.url,!1);return e.isExternalUrl(r)||((0,ut.mA)(r,t.privateQueryParameters),(0,ut.mA)(r,t.globalRequestQueryParameters),i&&(0,ut.mA)(r,t.localRequestQueryParameters)),r.toString()},acceptedLanguages:t=>{const e={en:.1};return Array.isArray(t.supportedLocales)&&t.supportedLocales.forEach((t=>e[t]=.2)),m.Ay.hasText(t.fallbackLocale)&&(e[t.fallbackLocale]=.5),Array.isArray(navigator.languages)&&navigator.languages.forEach((t=>e[t]=.7)),m.Ay.hasText(t.locale)&&(e[t.locale]=1),Object.entries(e).sort(((t,e)=>t[1]>e[1]?-1:t[1]e>=1?t:`${t};q=${e}`)).join(",")}},mutations:{config(t,e){for(let a in e){let s=e[a];switch(a){case"catalogTitle":t.catalogTitle=s;break;case"catalogUrl":"function"===typeof s?t.catalogUrl=s():"string"===typeof s&&(t.catalogUrl=s);break;case"crossOriginMedia":t.crossOriginMedia=["anonymous","use-credentials"].includes(s)?s:null;break;case"cardViewSort":switch(s){case"asc":t.cardViewSort=1;break;case"desc":t.cardViewSort=-1;break;default:t.cardViewSort=0}break;default:t[a]=s}}},languages(t,{uiLanguage:e,dataLanguage:a}){t.dataLanguage=a||null,t.uiLanguage=e||null},setQueryParameter(t,{type:e,key:a,value:i}){e=`${e}QueryParameters`,"undefined"===typeof i?s.Ay.delete(t[e],a):s.Ay.set(t[e],a,i)},setRequestHeader(t,{key:e,value:a}){"undefined"===typeof a?s.Ay.delete(t.requestHeaders,e):s.Ay.set(t.requestHeaders,e,a)},requestAuth(t,e){"function"===typeof e?t.doAuth.push(e):t.doAuth=[]},setAuthData(t,e){t.authData=e},state(t,e){t.stateQueryParameters=e},updateState(t,{type:e,value:a}){null===a||"undefined"===typeof a?s.Ay.delete(t.stateQueryParameters,e):s.Ay.set(t.stateQueryParameters,e,a)},openCollapsible(t,{type:e,uid:a}){const s=t.stateQueryParameters[e].indexOf(a);-1===s&&t.stateQueryParameters[e].push(a)},closeCollapsible(t,{type:e,uid:a}){const i=t.stateQueryParameters[e].indexOf(a);i>-1&&s.Ay.delete(t.stateQueryParameters[e],i)},updateLoading(t,{url:e,show:a}){let i=t.database[e];s.Ay.set(i,"show",a||i.show)},loading(t,{url:e,loading:a}){s.Ay.set(t.database,e,a),a.show&&(t.url=e)},loaded(t,{url:e,data:a}){s.Ay.set(t.database,e,(0,ut.Pj)(t,a))},clear(t,e){s.Ay.delete(t.database,e)},resetCatalog(e,s){Object.assign(e,i()),Object.assign(e,a()),e.supportedLocales.includes(e.locale)||(e.locale=t.locale),s&&(e.catalogUrl=t.catalogUrl,e.catalogTitle=t.catalogTitle,e.database={})},resetPage(t){Object.assign(t,a())},setPageMetadata(t,{title:e,description:a}){t.title=e,"undefined"!==typeof a&&(t.description=a)},showPage(t,{url:e,title:a,description:s,stac:i}){if(i||(i=t.database[e]||null),t.url=e||null,t.data=i instanceof v.A?i:null,t.description=s,a)t.title=a;else if(t.title=v.A.getDisplayTitle(t.data,t.catalogTitle),t.data){let e=t.data.getMetadata("description");m.Ay.hasText(e)&&(t.description=e)}if(t.data){let e=t.data.isItem()?t.data.properties:t.data,a=Array.isArray(e.languages)?e.languages.slice():[];m.Ay.isObject(e.language)&&a.unshift(e.language),t.dataLanguages=a.filter((t=>m.Ay.isObject(t)&&"string"===typeof t.code))}},errored(t,{url:e,error:a}){a instanceof Error||(a=new Error(a)),s.Ay.set(t.database,e,a)},queue(t,e){t.queue.push(e)},unqueue(t,e){let a=t.queue.indexOf(e);-1!==a&&t.queue.splice(a,1)},removeFromQueue(t,e){t.queue.splice(0,e)},setConformanceClasses(t,e){Array.isArray(e)&&(t.conformsTo=e)},setApiItemsLink(t,e){t.apiItemsLink=e},toggleApiItemsLoading(t,e=""){t.apiItemsLoading[e]?s.Ay.delete(t.apiItemsLoading,e):s.Ay.set(t.apiItemsLoading,e,!0)},setApiItems(t,{data:e,stac:a,show:s}){if(!m.Ay.isObject(e)||!Array.isArray(e.features))return;let i=e.features.map((e=>(0,ut.Pj)(t,e)));s&&(t.apiItems=i);let r=m.Ay.getPaginationLinks(e);s&&(t.apiItemsPagination=r),a instanceof v.A&&a.setApiData(i,r.next,r.prev)},addApiCollections(t,{data:e,stac:a,show:s}){if(!m.Ay.isObject(e)||!Array.isArray(e.collections))return;let i=e.collections.map((e=>(0,ut.Pj)(t,e))),r=m.Ay.getLinkWithRel(e.links,"next");s&&(t.nextCollectionsLink=r,t.apiCollections=t.apiCollections.concat(i)),a instanceof v.A&&a.setApiData(i,r)},resetApiItems(t,e){t.apiItems=[],t.apiItemsLink=e,t.apiItemsPagination={}},parents(t,e){t.parents=e},showGlobalError(t,e){e&&console.trace(e),t.globalError=e}},actions:{async config(t,e){const a=Object.assign({},t.state);t.commit("config",e);for(let s in e){let e=t.state[s];if(e===a[s])switch(s){case"authConfig":await t.dispatch("auth/updateMethod",e);break}}},async switchLocale(t,{locale:e,userSelected:a}){if(await t.dispatch("config",{locale:e}),t.state.storeLocale&&a){const t=new ot.A;t.set("locale",e)}let s=(0,dt.f5)(t.state.supportedLocales,e,t.state.fallbackLocale),i=t.state.dataLanguages.map((t=>t.code)),r=t.state.dataLanguages.length>0?t.state.dataLanguages[0].code:s,n=(0,dt.f5)(i,e,r);await(0,k.fH)(s),pt().setLocales([s,t.state.fallbackLocale]),pt().setTranslator(k._),await(0,k.SM)(s),t.commit("languages",{dataLanguage:n,uiLanguage:s}),t.commit("setQueryParameter",{type:"state",key:"language",value:e})},async loadBackground(t,e){let a=t.state.queue.slice(0,e);if(a.length>0){let s=[];for(let e of a)s.push(t.dispatch("load",{url:e}));return t.commit("removeFromQueue",e),await Promise.all(s)}},async loadParents(t){if(!(t.state.data instanceof v.A))return void t.commit("parents",[]);let e=[],a=t.state.data;while(a){let s=a.getLinkWithRel("parent")||a.getLinkWithRel("root");if(!s)break;let i=m.Ay.toAbsolute(s.href,a.getAbsoluteUrl());await t.dispatch("load",{url:i});let r=t.getters.getStac(i,!0);if(r instanceof Error)return void t.commit("parents",r);if(r===a)break;e.push(r),a=r}t.commit("parents",e)},async tryLogin(t,{url:e,action:a}){t.commit("clear",e),t.commit("errored",{url:e,error:new m.fe(k.Ay.t("authentication.unauthorized"))}),a&&t.commit("auth/addAction",a),await t.dispatch("auth/requestLogin")},async load(t,a){let{url:s,show:i,force:r,noRetry:n}=a;const o=t.getters.toBrowserPath(s);s=m.Ay.toAbsolute(s,t.state.url),await t.dispatch("auth/waitForAuth"),r&&t.commit("clear",s);let l=new ut.Rh(i),c=t.state.database[s];if(c instanceof ut.Rh)return void t.commit("updateLoading",{url:s,show:i});const u=c instanceof v.A&&!c.isPotentiallyIncomplete();if(!u){t.commit("loading",{url:s,loading:l});try{const a=await(0,ut.FF)(t,s);if(!m.Ay.isObject(a.data))throw new m.fe(k.Ay.t("errors.invalidJsonObject"));if(c=new v.A(a.data,s,o),t.commit("loaded",{url:s,data:c}),i){let a=c.getLocaleLink(t.state.dataLanguage);if(a)return void e.replace(t.getters.toBrowserPath(a.href))}let r=c.getStacLinkWithRel("conformance");Array.isArray(c.conformsTo)&&c.conformsTo.length>0?t.commit("setConformanceClasses",c.conformsTo):r&&await t.dispatch("loadOgcApiConformance",r)}catch(d){return!n&&t.state.authConfig&&(0,ut.HD)(d)?void await t.dispatch("tryLogin",{url:s,action:()=>t.dispatch("load",Object.assign({noRetry:!0,force:!0,show:!0},a))}):(console.error(d),void t.commit("errored",{url:s,error:d}))}}if(c.getApiCollectionsLink()){let e={stac:c,show:l.show};try{await t.dispatch("loadNextApiCollections",e)}catch(d){t.commit("showGlobalError",{message:k.Ay.t("errors.loadApiCollectionsFailed"),error:d})}}else if(c.getApiItemsLink()){let e={stac:c,show:l.show};try{await t.dispatch("loadApiItems",e)}catch(d){t.commit("showGlobalError",{message:k.Ay.t("errors.loadApiItemsFailed"),error:d})}}if(!t.getters.root){let e=t.state.catalogUrl;if(!e){const a=c.getLinkWithRel("root");a&&(e=m.Ay.toAbsolute(a.href,s),await t.dispatch("config",{catalogUrl:e}))}e&&await t.dispatch("load",{url:e})}l.show&&t.commit("showPage",{url:s})},async loadApiItems(t,e){let{link:a,stac:s,show:i,filters:r,noRetry:n}=e,o=s instanceof v.A?s.id:"";t.commit("toggleApiItemsLoading",o);try{let e=t.state.url;s instanceof v.A&&(a=s.getApiItemsLink(),e=s.getAbsoluteUrl()),a=m.Ay.addFiltersToLink(a,r,t.state.itemsPerPage);let n=await(0,ut.FF)(t,a);if(m.Ay.isObject(n.data)&&Array.isArray(n.data.features))return n.data.features=n.data.features.map((a=>{try{if(!m.Ay.isObject(a)||"Feature"!==a.type)return null;let i,r=m.Ay.getLinkWithRel(a.links,"self");if(null!==r&&void 0!==r&&r.href)i=m.Ay.toAbsolute(r.href,e);else{if("undefined"===typeof a.id)return null;{var s;let r=null===(s=t.getters.root)||void 0===s?void 0:s.getApiCollectionsLink();if(e)i=m.Ay.toAbsolute(`items/${a.id}`,e);else if(r)i=m.Ay.toAbsolute(`${o}/items/${a.id}`,r.href);else{if(!t.state.catalogUrl)return null;i=m.Ay.toAbsolute(`collections/${o}/items/${a.id}`,t.state.catalogUrl)}}}let n=t.getters.getStac(i);return n||(n=new v.A(a,i,t.getters.toBrowserPath(i)),n.markPotentiallyIncomplete(),t.commit("loaded",{data:n,url:i}),n)}catch(i){return console.error(i),null}})).filter((t=>t instanceof v.A)),i&&t.commit("setApiItemsLink",a),t.commit("setApiItems",{data:n.data,stac:s,show:i}),t.commit("toggleApiItemsLoading",o),n;throw new m.fe(k.Ay.t("errors.invalidStacItems"))}catch(l){if(t.commit("toggleApiItemsLoading",o),!n&&t.state.authConfig&&(0,ut.HD)(l))return void await t.dispatch("tryLogin",{url:a.href,action:()=>t.dispatch("loadApiItems",Object.assign({noRetry:!0,force:!0},e))});throw l}},async loadNextApiCollections(t,e){let a,{stac:s,show:i,noRetry:r}=e;if(s){if(t.state.apiCollections.length>0)return;a=s.getLinkWithRel("data")}else s=t.state.data,a=t.state.nextCollectionsLink;if(a)try{let e=await(0,ut.FF)(t,a);if(!m.Ay.isObject(e.data)||!Array.isArray(e.data.collections))throw new m.fe(k.Ay.t("errors.invalidStacCollections"));e.data.collections=e.data.collections.map((e=>{let a,i=m.Ay.getLinkWithRel(e.links,"self");a=null!==i&&void 0!==i&&i.href?m.Ay.toAbsolute(i.href,t.state.url||s.getAbsoluteUrl()):m.Ay.toAbsolute(`collections/${e.id}`,t.state.catalogUrl||s.getAbsoluteUrl());let r=t.getters.getStac(a);return r||(r=new v.A(e,a,t.getters.toBrowserPath(a)),r.markPotentiallyIncomplete(),t.commit("loaded",{data:r,url:a}),r)})),t.commit("addApiCollections",{data:e.data,stac:s,show:i})}catch(n){if(!r&&t.state.authConfig&&(0,ut.HD)(n))return void await t.dispatch("tryLogin",{url:a.href,action:()=>t.dispatch("loadNextApiCollections",Object.assign({noRetry:!0,force:!0},e))});throw n}},async loadOgcApiConformance(t,e){let a=await(0,ut.FF)(t,e);m.Ay.isObject(a.data)&&Array.isArray(a.data.conformsTo)&&t.commit("setConformanceClasses",a.data.conformsTo)},async loadGeoJson(t,e){try{let a=await(0,ut.FF)(t,e);return a.data}catch(a){return null}},async retryAfterAuth(t){let e=e=>t.commit("showGlobalError",{error:e,message:k.Ay.t("errors.authFailed")});for(let s of t.state.doAuth)try{let t=s();t instanceof Promise&&t.catch(e)}catch(a){e(a)}}}})}var mt=gt,bt=a(78933),yt=a(92999),At=a(12670),vt=a(1169),wt=a(19680),Ct=a(35915),kt=a(56967),_t=a(80262),Lt=a(93444),jt=(a(59313),a(85952)),xt=function(){var t=this,e=t._self._c;return e("b-row",[e("b-col",{attrs:{md:"12"}},[e("Source",{staticClass:"float-right",attrs:{title:t.title,stacUrl:t.url,stac:t.data}}),e("h1",[t.icon?[e("img",{staticClass:"icon mr-2",attrs:{src:t.icon.href,alt:t.icon.title,title:t.icon.title}})]:t._e(),e("span",{staticClass:"title"},[t._v(t._s(t.title))])],2),t.isStacChooser()?t._e():e("p",{staticClass:"lead"},[t.containerLink?e("i18n",{staticClass:"in mr-3",attrs:{tag:"span",path:"in"},scopedSlots:t._u([{key:"catalog",fn:function(){return[e("StacLink",{attrs:{data:t.containerLink}})]},proxy:!0}],null,!1,1458487365)}):t._e(),e("b-button-group",[t.back?e("b-button",{attrs:{to:t.selfBrowserLink,title:t.$t("goBack.description",{type:t.type}),variant:"outline-primary",size:"sm"}},[e("b-icon-arrow-left"),t._v(" "),e("span",{staticClass:"button-label prio"},[t._v(t._s(t.$t("goBack.label")))])],1):t._e(),t.parentLink?e("b-button",{attrs:{to:t.toBrowserPath(t.parentLink.href),title:t.parentLinkTitle,variant:"outline-primary",size:"sm"}},[e("b-icon-arrow-90deg-up"),t._v(" "),e("span",{staticClass:"button-label prio"},[t._v(t._s(t.$t("goToParent.label")))])],1):t._e(),t.collectionLink?e("b-button",{attrs:{to:t.toBrowserPath(t.collectionLink.href),title:t.collectionLinkTitle,variant:"outline-primary",size:"sm"}},[e("b-icon-folder-symlink"),t._v(" "),e("span",{staticClass:"button-label prio"},[t._v(t._s(t.$t("goToCollection.label")))])],1):t._e(),e("b-button",{directives:[{name:"b-toggle",rawName:"v-b-toggle.sidebar",modifiers:{sidebar:!0}}],attrs:{variant:"outline-primary",size:"sm",title:t.$t("browse")},on:{click:function(e){return t.$emit("enableSidebar")}}},[e("b-icon-book"),t._v(" "),e("span",{staticClass:"button-label prio"},[t._v(t._s(t.$t("browse")))])],1),t.canSearch?e("b-button",{attrs:{variant:"outline-primary",size:"sm",to:t.searchBrowserLink,title:t.$t("search.title"),pressed:t.isSearchPage()}},[e("b-icon-search"),t._v(" "),e("span",{staticClass:"button-label prio"},[t._v(t._s(t.$t("search.title")))])],1):t._e(),t.canAuthenticate?e("b-button",{attrs:{variant:"outline-primary",size:"sm",title:t.authTitle},on:{click:t.logInOut}},[e(t.authIcon,{tag:"component"}),t._v(" "),e("span",{staticClass:"button-label"},[t._v(t._s(t.authLabel))])],1):t._e()],1)],1)],1)],1)},St=[],Tt=function(){var t=this,e=t._self._c;return e("div",{staticClass:"share mt-1"},[e("b-button-group",[t.showRoot?e("b-button",{attrs:{size:"sm",variant:"outline-primary",id:"popover-root-btn"}},[e("b-icon-box"),t._v(" "),e("span",{staticClass:"button-label"},[t._v(t._s(t.rootTitle))])],1):t._e(),t.stacUrl?e("b-button",{attrs:{size:"sm",variant:"outline-primary",id:"popover-link-btn",title:t.$t("source.detailsAboutSource")}},[e("b-icon-link"),t._v(" "),e("span",{staticClass:"button-label"},[t._v(t._s(t.$t("source.label")))])],1):t._e(),e("b-button",{attrs:{size:"sm",variant:"outline-primary",id:"popover-share-btn",title:t.$t("source.share.withOthers")}},[e("b-icon-share"),t._v(" "),e("span",{staticClass:"button-label"},[t._v(t._s(t.$t("source.share.label")))])],1),e("b-dropdown",{attrs:{size:"sm",variant:"outline-primary",right:"",title:t.$t("source.language.switch")},scopedSlots:t._u([{key:"button-content",fn:function(){return[e("b-icon-flag"),t._v(" "),e("span",{staticClass:"button-label"},[t._v(t._s(t.$t("source.language.label",{currentLanguage:t.currentLanguage})))])]},proxy:!0}])},t._l(t.languages,(function(a){return e("b-dropdown-item",{key:a.code,staticClass:"lang-item",on:{click:function(e){return t.switchLocale({locale:a.code,userSelected:!0})}}},[t.locale===a.code?e("b-icon-check"):e("b-icon-blank"),e("span",{staticClass:"title"},[e("span",{attrs:{lang:a.code}},[t._v(t._s(a.native))]),a.global&&a.global!==a.native?[t._v(" / "),e("span",{attrs:{lang:"en"}},[t._v(t._s(a.global))])]:t._e()],2),!t.supportsLanguageExt||a.ui&&a.data?t._e():e("b-icon-exclamation-triangle",{staticClass:"ml-2",attrs:{title:a.ui?t.$t("source.language.onlyUI"):t.$t("source.language.onlyData")}})],1)})),1)],1),t.showRoot?e("b-popover",{attrs:{id:"popover-root",target:"popover-root-btn",triggers:"focus",placement:"bottom",container:"stac-browser",title:t.rootTitle}},[e("RootStats")],1):t._e(),t.stacUrl?e("b-popover",{attrs:{id:"popover-link",target:"popover-link-btn",triggers:"focus",placement:"bottom",container:"stac-browser",title:t.$t("source.title")}},[t.stac?[t.stacId?e("b-row",{staticClass:"stac-id"},[e("b-col",{attrs:{cols:"4"}},[t._v(t._s(t.$t("source.id")))]),e("b-col",[e("code",[t._v(t._s(t.stacId))]),e("CopyButton",{staticClass:"ml-2",attrs:{copyText:t.stacId,"button-props":{size:"sm"},variant:"primary"}})],1)],1):t._e(),t.stacVersion?e("b-row",{staticClass:"stac-version"},[e("b-col",{attrs:{cols:"4"}},[t._v(t._s(t.$t("source.stacVersion")))]),e("b-col",[t._v(t._s(t.stacVersion))])],1):t._e(),e("b-row",{staticClass:"stac-valid"},[e("b-col",{attrs:{cols:"4"}},[t._v(t._s(t.$t("source.valid")))]),e("b-col",[e("Validation",{attrs:{data:t.stac}})],1)],1),e("hr")]:t._e(),e("Url",{attrs:{id:"stacUrl",url:t.stacUrl,label:t.$t("source.locatedAt")}})],2):t._e(),e("b-popover",{attrs:{id:"popover-share",target:"popover-share-btn",triggers:"focus",placement:"bottom",container:"stac-browser",title:t.$t("source.share.title")}},[e("Url",{attrs:{id:"browserUrl",url:t.browserUrl(),label:t.$t("source.share.sharePageWithOthers"),open:!1}}),t.enableSocialSharing?[e("hr"),e("SocialSharing",{attrs:{text:t.sharingMessage,title:t.title,url:t.browserUrl()}})]:t._e()],2)],1)},It=[],Ot=a(15378),$t=a(9656),Pt=a(82948),Bt=a(30278),Mt=function(){var t=this,e=t._self._c;return e("b-form-group",{attrs:{label:t.label,"label-for":t.id}},[e("b-input-group",{attrs:{size:"sm"}},[e("b-form-input",{ref:"input",attrs:{id:t.id,value:t.url,readonly:""}}),e("b-input-group-append",[e("CopyButton",{attrs:{copyText:t.url,variant:"primary"}}),t.open?e("b-button",{attrs:{href:t.url,target:"_blank",variant:"primary",title:t.$t("open")}},[e("b-icon-arrow-up-right-square")],1):t._e()],1)],1)],1)},Ft=[],Et=a(69771),Ut=a(19115),Rt=a(89576),qt=a(16167),Dt={name:"Share",components:{BFormGroup:Et.a,BFormInput:Ut.b,BIconArrowUpRightSquare:Pt.xur,BInputGroup:Rt.Y,BInputGroupAppend:qt.G,CopyButton:()=>Promise.resolve().then(a.bind(a,99975))},props:{id:{type:String,required:!0},url:{type:String,required:!0},label:{type:String,required:!0},open:{type:Boolean,default:!0}}},zt=Dt,Ht=(0,E.A)(zt,Mt,Ft,!1,null,"74684ede",null),Nt=Ht.exports,Wt=a(99975),Qt=function(){var t=this,e=t._self._c;return e("section",t._l(t.urls,(function(a,s){return e("b-button",{key:s,staticClass:"service mr-1",class:s,attrs:{href:a,target:"_blank"}},[e(s,{tag:"component"}),t._v(" "+t._s(t.$t(`source.share.${s}`))+" ")],1)})),1)},Vt=[],Gt={name:"Source",components:{Email:Pt.EXn,Bsky:()=>a.e(6094).then(a.bind(a,16094)),Mastodon:()=>a.e(9010).then(a.bind(a,99010)),X:()=>a.e(6941).then(a.bind(a,6941))},props:{text:{type:String,required:!0},title:{type:String,required:!0},url:{type:String,required:!0}},data(){return{urlTemplates:{email:"mailto:?subject={title}&body={text}",bsky:"https://bsky.app/intent/compose?text={text}",mastodon:"https://mastodon.social/share?text={text}",x:"https://x.com/intent/tweet?text={text}"}}},computed:{...(0,o.aH)(["socialSharing"]),urls(){const t=encodeURIComponent(this.text),e=encodeURIComponent(this.title),a=encodeURIComponent(this.url),s={};for(const i of this.socialSharing){if(!this.urlTemplates[i])continue;const r=this.urlTemplates[i];s[i]=r.replace("{text}",t).replace("{title}",e).replace("{url}",a)}return s}}},Kt=Gt,Jt=(0,E.A)(Kt,Qt,Vt,!1,null,"daac02b4",null),Xt=Jt.exports;const Yt="https://stac-extensions.github.io/language/v1.*/schema.json";var Zt={name:"Source",components:{BDropdown:Ot.U,BDropdownItem:$t.H,BIconBlank:Pt.ufk,BIconBox:Pt.H$j,BIconCheck:Pt.GSz,BIconExclamationTriangle:Pt.T12,BIconFlag:Pt.c_U,BIconLink:Pt.IfX,BIconShare:Pt.v6r,BPopover:Bt.u,RootStats:()=>a.e(143).then(a.bind(a,40143)),Url:Nt,CopyButton:Wt["default"],SocialSharing:Xt,Validation:()=>Promise.all([a.e(537),a.e(287),a.e(9099)]).then(a.bind(a,49099))},props:{title:{type:String,required:!0},stacUrl:{type:String,default:null},stac:{type:Object,default:null}},computed:{...(0,o.aH)(["conformsTo","dataLanguages","locale","socialSharing","supportedLocales","uiLanguage","valid"]),...(0,o.L8)(["supportsExtension","root"]),stacVersion(){var t;return null===(t=this.stac)||void 0===t?void 0:t.stac_version},stacId(){var t;return null===(t=this.stac)||void 0===t?void 0:t.id},showRoot(){return!!this.root&&(Array.isArray(this.conformsTo)&&this.conformsTo.length>0||m.Ay.isObject(this.root["stats:collections"])||m.Ay.isObject(this.root["stats:catalogs"])||m.Ay.isObject(this.root["stats:items"]))},rootTitle(){return Array.isArray(this.conformsTo)&&this.conformsTo.length>0?this.$t("index.api"):this.$t("index.catalog")},currentLanguage(){let t=this.languages.find((t=>t.code===this.locale));return t?t.native:"-"},enableSocialSharing(){return Array.isArray(this.socialSharing)&&this.socialSharing.length>0},sharingMessage(){const t=window.location.toString();return this.$t("source.share.message",{title:this.title,url:t})},supportsLanguageExt(){return this.supportsExtension(Yt)},languages(){let t=[];for(let a of this.supportedLocales)t.push({code:a,native:this.$t(`languages.${a}.native`),global:this.$t(`languages.${a}.global`),ui:!0});for(let a of this.dataLanguages){if(!m.Ay.isObject(a)||!a.code||this.supportedLocales.includes(a.code))continue;let e={code:a.code};e.native=a.name||a.alternate||a.code,e.global=a.alternate||a.name||a.code,e.data=!0,t.push(e)}if(this.supportsExtension(Yt)){const e=(0,dt.E0)(this.supportedLocales),a=(0,dt.E0)(this.dataLanguages.map((t=>t.code)));for(let s of t)s.ui||(s.ui=Boolean((0,dt.f5)(e,s.code,null))),s.data||(s.data=Boolean((0,dt.f5)(a,s.code,null)))}const e=new Intl.Collator(this.uiLanguage);return t.sort(((t,a)=>e.compare(t.global,a.global)))}},methods:{...(0,o.i0)(["switchLocale"]),browserUrl(){return window.location.toString()}}},te=Zt,ee=(0,E.A)(te,Tt,It,!1,null,"0aa087bf",null),ae=ee.exports,se=a(58581),ie={name:"StacHeader",components:{BIconArrow90degUp:Pt.JK4,BIconArrowLeft:Pt.sV1,BIconBook:Pt.VOl,BIconFolderSymlink:Pt.P_X,BIconSearch:Pt.S8S,BIconLock:Pt.D8r,BIconUnlock:Pt.a_V,StacLink:se["default"],Source:ae},computed:{...(0,o.aH)(["allowSelectCatalog","catalogUrl","data","url","title"]),...(0,o.L8)(["canSearch","root","parentLink","collectionLink","toBrowserPath"]),...(0,o.L8)("auth",{authMethod:"method"}),...(0,o.L8)("auth",["canAuthenticate","isLoggedIn"]),authIcon(){return this.isLoggedIn?"b-icon-unlock":"b-icon-lock"},authTitle(){return this.authMethod.getButtonTitle()},authLabel(){return this.isLoggedIn?this.authMethod.getLogoutLabel():this.authMethod.getLoginLabel()},back(){return"validation"===this.$route.name},selfBrowserLink(){return this.toBrowserPath(this.url)},type(){if(this.data instanceof v.A){if(this.data.isItem())return this.$tc("stacItem");if(this.data.isCollection())return this.$tc("stacCollection");if(this.data.isCatalog())return this.$tc("stacCatalog");if(m.Ay.hasText(this.data.type))return this.data.type}return null},collectionLinkTitle(){return this.collectionLink&&m.Ay.hasText(this.collectionLink.title)?this.$t("goToCollection.descriptionWithTitle",this.collectionLink):this.$t("goToCollection.description")},parentLinkTitle(){return this.parentLink&&m.Ay.hasText(this.parentLink.title)?this.$t("goToParent.descriptionWithTitle",this.parentLink):this.$t("goToParent.description")},icon(){if(this.data instanceof v.A){let t=this.data.getIcons();if(t.length>0)return t[0]}return null},searchBrowserLink(){if(!this.canSearch)return null;let t;return this.data instanceof v.A&&!this.data.equals(this.root)&&(t=this.data.getSearchLink()),t?`/search${this.data.getBrowserPath()}`:this.root&&this.allowSelectCatalog?`/search${this.root.getBrowserPath()}`:"/search"},containerLink(){return this.catalogUrl&&this.url===this.catalogUrl?null:this.root?m.Ay.equalUrl(this.root.getAbsoluteUrl(),this.url)?null:{href:this.root.getAbsoluteUrl(),rel:"root",title:v.A.getDisplayTitle(this.root)}:this.collectionLink||this.parentLink}},methods:{...(0,o.PY)("auth",["addAction"]),...(0,o.i0)("auth",["requestLogin","requestLogout"]),isSearchPage(){return"search"===this.$router.currentRoute.name},isStacChooser(){return"choose"===this.$router.currentRoute.name},async logInOut(){this.url&&this.addAction((()=>this.$store.dispatch("load",{url:this.url,show:!0,force:!0,noRetry:!0}))),this.isLoggedIn?await this.requestLogout():await this.requestLogin()}}},re=ie,ne=(0,E.A)(re,xt,St,!1,null,"5da16391",null),oe=ne.exports,le=function(){var t=this,e=t._self._c;return e(t.authComponent,{tag:"component",on:{submit:t.submit,reset:t.reset}})},ce=[],ue={name:"Authentication",components:{ApiKey:()=>a.e(7197).then(a.bind(a,87197)),Basic:()=>a.e(7820).then(a.bind(a,47820))},computed:{...(0,o.L8)("auth",["method","isLoggedIn"]),authComponent(){return this.method.getComponent()},authComponentProps(){return this.method.getComponentProps()}},beforeCreate(){this.isLoggedIn&&this.$store.dispatch("auth/finalizeLogout")},methods:{async reset(){await this.$store.dispatch("auth/abortLogin")},async submit(t){await this.$store.dispatch("auth/finalizeLogin",t)}}},de=ue,he=(0,E.A)(de,le,ce,!1,null,null,null),pe=he.exports;s.Ay.use(bt.q),s.Ay.use(yt.p),s.Ay.use(At.sG),s.Ay.use(vt.z),s.Ay.use(wt.qc),s.Ay.use(Ct.CG),s.Ay.use(kt.z),s.Ay.directive("b-toggle",_t.z),s.Ay.directive("b-visible",Lt.p),s.Ay.use(n.Ay);const fe=new n.Ay({mode:l.A.historyMode,base:l.A.pathPrefix,routes:st(l.A)});s.Ay.use(o.Ay);const ge=mt(l.A,fe);let me={},be={};for(let ke in l.A)me[ke]={default:["object","function"].includes(typeof l.A[ke])?()=>l.A[ke]:l.A[ke]},be[ke]={immediate:!0,handler:async function(t){await this.$store.dispatch("config",{[ke]:t})}};var ye={name:"StacBrowser",router:fe,store:ge,components:{Authentication:pe,ErrorAlert:jt.A,Sidebar:()=>a.e(7957).then(a.bind(a,57957)),StacHeader:oe},props:{...me},data(){return{sidebar:!1,error:null,onDataLoaded:null}},computed:{...(0,o.aH)(["allowSelectCatalog","data","dataLanguage","description","globalError","stateQueryParameters","title","uiLanguage","url"]),...(0,o.aH)({detectLocaleFromBrowserFromVueX:"detectLocaleFromBrowser",supportedLocalesFromVueX:"supportedLocales",storeLocaleFromVueX:"storeLocale"}),...(0,o.L8)(["displayCatalogTitle","fromBrowserPath","isExternalUrl","root","supportsConformance","toBrowserPath"]),...(0,o.L8)("auth",["showLogin"]),browserVersion(){return"3.3.0"}},watch:{...be,title(t){document.title=t,document.getElementById("og-title").setAttribute("content",t)},description(t){const e=m.Ay.summarizeMd(t,200);document.getElementById("meta-description").setAttribute("content",e),document.getElementById("og-description").setAttribute("content",e)},uiLanguage:{immediate:!0,async handler(t){t&&(this.$root.$i18n.locale=t,document.documentElement.setAttribute("lang",t),document.getElementById("og-locale").setAttribute("content",t),this.$root.$emit("uiLanguageChanged",t))}},dataLanguage:{immediate:!0,async handler(t){if(t&&this.data instanceof v.A){let e=this.data.getLocaleLink(t);if(e){let t=Object.assign({},this.stateQueryParameters);this.$router.push(this.toBrowserPath(e.href)),this.$store.commit("state",t)}else if(this.supportsConformance(k.Aj)){let t=this.url;this.$store.commit("resetCatalog",!0),await this.$store.dispatch("load",{url:t,show:!0})}}}},stateQueryParameters:{deep:!0,handler(){let t={};for(const[e,a]of Object.entries(this.$route.query))e.startsWith(".")||(t[e]=a);for(const[e,a]of Object.entries(this.stateQueryParameters)){let s=`.${e}`;Array.isArray(a)?a.length>0&&(t[s]=a.join(",")):null!==a&&(t[s]=a)}this.$router.replace({query:t}).catch((t=>{if(!n.Ay.isNavigationFailure(t,n.Ay.NavigationFailureType.duplicated))throw Error(t)}))}},root(t,e){const a=["apiCatalogPriority","authConfig","cardViewMode","cardViewSort","crossOriginMedia","defaultThumbnailSize","displayGeoTiffByDefault","showThumbnailsAsAssets"];let s=!t||e&&m.Ay.isObject(e["stac_browser"]),i=t&&m.Ay.isObject(t["stac_browser"]);for(let r of a){let e;s&&(e=l.A[r]),i&&"undefined"!==typeof t["stac_browser"][r]&&(e=t["stac_browser"][r]),"undefined"!==typeof e&&this.$store.dispatch("config",{[r]:e}).catch((t=>console.error(t)))}},data(t){this.onDataLoaded&&t instanceof v.A&&this.onDataLoaded()}},async created(){this.$router.onReady((()=>{this.detectLocale(),this.parseQuery(this.$route)})),this.$router.afterEach(((t,e)=>{if(t.path===e.path)return;let a="resetPage";if(this.allowSelectCatalog&&t.path){let e=this.fromBrowserPath(t.path);this.isExternalUrl(e)&&(a="resetCatalog")}this.$store.commit(a),this.parseQuery(t),document.getElementById("og-url").setAttribute("content",window.location.href)}));const t=new ot.A(!0),e=t.get("authConfig");e&&(t.remove("authConfig"),await this.$store.dispatch("config",{authConfig:e}))},mounted(){this.$root.$on("error",this.showError),setInterval((()=>this.$store.dispatch("loadBackground",3)),200)},methods:{...(0,o.i0)(["switchLocale"]),detectLocale(){let t;if(this.storeLocaleFromVueX){const e=new ot.A;t=e.get("locale")}if(!t&&this.detectLocaleFromBrowserFromVueX&&Array.isArray(navigator.languages)){const e=(0,dt.E0)(this.supportedLocalesFromVueX);for(let a of navigator.languages){const s=(0,dt.f5)(e,a,null);if(s){t=s;break}}}t&&this.supportedLocalesFromVueX.includes(t)&&(this.switchLocale({locale:t}),this.data||(this.onDataLoaded=()=>{this.switchLocale({locale:t}),this.onDataLoaded=null}))},parseQuery(t){var e;let a={};if("history"===this.historyMode){let e=C()(t.hash.replace(/^#/,""));a=e.query(!0)}let s=Object.assign({},t.query,a),i={};for(let r in s){let t=s[r];if(r.startsWith("~"))i.private=m.Ay.isObject(i.private)?i.private:{},i.private[r.substr(1)]=t,delete s[r];else if(r.startsWith(".")){let e=r.substr(1);i.state=m.Ay.isObject(i.state)?i.state:{},Array.isArray(this.stateQueryParameters[e])&&!Array.isArray(t)&&(t=t.split(",")),i.state[e]=t}else m.Ay.isObject(i.localRequest)||(i.localRequest={}),i.localRequest[r]=t}if(m.Ay.size(i)>0)for(let r in i)for(let t in i[r])this.$store.commit("setQueryParameter",{type:r,key:t,value:i[r][t]});null!==i&&void 0!==i&&null!==(e=i.state)&&void 0!==e&&e.language&&this.switchLocale({locale:i.state.language}),m.Ay.size(i.private)>0&&this.$router.replace({query:s})},showError(t,e){this.$store.commit("showGlobalError",{error:t,message:e})},hideError(){this.$store.commit("showGlobalError",null)}}},Ae=ye,ve=(0,E.A)(Ae,i,r,!1,null,null,null),we=ve.exports;function Ce(){return(0,k.Qm)().then((()=>new s.Ay({i18n:k.Ay,render:t=>t(we)}).$mount("#stac-browser")))}s.Ay.config.productionTip=!1,Ce()},31831:function(t,e,a){"use strict";a(44114),a(98992),a(54520),a(72577),a(81454);var s=a(2566),i=a(71321),r=a.n(i),n=a(39071);let o=0;class l{constructor(t,e,a,i=!0){this._id=o++,this._url=e,this._path=a,this._apiChildrenListeners={},this._incomplete=!1,this._apiChildren={list:[],prev:!1,next:!1},i&&("FeatureCollection"===t.type?t.features=t.features.map((t=>r().item(t,!1))):t=r().stac(t,!1));for(let s in t)"undefined"===typeof this[s]&&(this[s]=t[s]);if(!s.Ay.hasText(this.type))throw new Error("Not a valid STAC data source (no `type` present)")}isPotentiallyIncomplete(){return this._incomplete}markPotentiallyIncomplete(){this._incomplete=!0}isItem(){return"Feature"===this.type}isCatalog(){return"Catalog"===this.type}isCatalogLike(){return this.isCatalog()||this.isCollection()}isCollection(){return"Collection"===this.type}isItemCollection(){return"FeatureCollection"===this.type}hasApiData(){return this._apiChildren.list.length>0}setApiDataListener(t,e=null){"function"===typeof e?this._apiChildrenListeners[t]=e:delete this._apiChildrenListeners[t]}setApiData(t,e=null,a=null){a&&(this._apiChildren.prev=a),e&&(this._apiChildren.next=e),this._apiChildren.list=t;for(let i in this._apiChildrenListeners)try{this._apiChildrenListeners[i](this._apiChildren)}catch(s){console.error(s)}}getFileFormats(){let t=[];return(this.isItem()||this.isCollection())&&s.Ay.isObject(this.assets)&&(t=t.concat(Object.values(this.assets))),this.isCollection()&&s.Ay.isObject(this.item_assets)&&(t=t.concat(Object.values(this.item_assets))),t.filter((t=>Array.isArray(t.roles)&&t.roles.includes("data")&&"string"===typeof t.type)).map((t=>t.type)).filter(((t,e,a)=>a.indexOf(t)===e))}getChildren(t=null){if(!this.isCatalogLike())return[];let e=!t||"collections"===t,a=!t||"childs"===t,s=[];return e&&this._apiChildren.prev&&s.push(this._apiChildren.prev),e&&this._apiChildren.list.length>0&&(s=this._apiChildren.list.slice(0)),a&&(s=l.addMissingChildren(s,this).concat(this.getLinksWithRels(["item"]))),e&&this._apiChildren.next&&s.push(this._apiChildren.next),s}static addMissingChildren(t,e){let a=e.getStacLinksWithRel("child").filter((a=>{let i=s.Ay.toAbsolute(a.href,e.getAbsoluteUrl());return!t.find((t=>t.getAbsoluteUrl()===i))}));return a.concat(t)}getSearchLink(){let t=s.Ay.getLinksWithRels(this.links,["search"]).filter((t=>s.Ay.isMediaType(t.type,s.oV))).map((t=>Object.assign({},t,{href:s.Ay.toAbsolute(t.href,this._url)}))),e=t.find((t=>s.Ay.hasText(t.method)&&"POST"===t.method.toUpperCase()));return e||t[0]||null}getApiCollectionsLink(){return this.getStacLinkWithRel("data")}getApiItemsLink(){return this.getStacLinkWithRel("items")}getMetadata(t){return this.isItem()?this.properties[t]:this.isCatalogLike()?this[t]:null}getBrowserPath(){return this._path}getAbsoluteUrl(){return this._url}getLocaleLink(t,e=null){let a,i=this.getStacLinksWithRel("alternate").filter((t=>s.Ay.hasText(t.hreflang)));a=Array.isArray(this.languages)?this.languages.map((t=>t.code)):i.map((t=>t.hreflang));let r=(0,n.f5)(a,t,e);return i.find((t=>t.hreflang===r))||null}getStacLinksWithRel(t,e=!0){return s.Ay.getLinksWithRels(this.links,[t]).filter((t=>s.Ay.isStacMediaType(t.type,e)))}getStacLinkWithRel(t,e=!0){const a=this.getStacLinksWithRel(t,e);return a.length>0?a[0]:null}getLinkWithRel(t){return s.Ay.getLinkWithRel(this.links,t)}getLinksWithRels(t){return s.Ay.getLinksWithRels(this.links,t)}getLinksWithOtherRels(t){return s.Ay.getLinksWithOtherRels(this.links,t)}getAssetsWithRoles(t){let e=[];if(s.Ay.isObject(this.assets))for(let a in this.assets){let i=this.assets[a];s.Ay.isObject(i)&&"string"===typeof i.href&&Array.isArray(i.roles)&&i.roles.find((e=>t.includes(e)))&&e.push(i)}return e}static getDisplayTitle(t,e=null){Array.isArray(t)||(t=[t]);let a=t.find((t=>t instanceof l)),i=t.find((t=>s.Ay.isObject(t)&&!(t instanceof l)));return a&&s.Ay.hasText(a.getTitle())?a.getTitle():i&&s.Ay.hasText(i.title)?i.title:a&&s.Ay.hasText(a.id)?a.id:s.Ay.hasText(e)?e:a?s.Ay.titleForHref(a.getAbsoluteUrl(),!0):i&&s.Ay.hasText(i.href)?s.Ay.titleForHref(i.href,!0):"Untitled"}getTitle(){return this.getMetadata("title")}_linkToAbsolute(t){return Object.assign({},t,{href:s.Ay.toAbsolute(t.href,this.getAbsoluteUrl())})}getIcons(){return this.getLinksWithRels(["icon"]).filter((t=>s.Ay.canBrowserDisplayImage(t))).map((t=>this._linkToAbsolute(t)))}getThumbnails(t=!1,e=null){let a=this.getAssetsWithRoles(["thumbnail","overview"]);if(0===a.length&&(a=this.getLinksWithRels(["preview"])),0===a.length&&s.Ay.isObject(this.assets)&&s.Ay.isObject(this.assets.thumbnail)&&(a=[this.assets.thumbnail]),t&&(a=a.filter((t=>s.Ay.canBrowserDisplayImage(t)))),e&&a.length>1){let t=t=>t.roles.includes(e);a=a.filter(t).concat(a.filter((e=>!t(e))))}return a.map((t=>this._linkToAbsolute(t)))}equals(t){return!!s.Ay.isObject(t)&&(this===t||this.id===t.id&&this.type==t.type)}}e.A=l},59203:function(t,e,a){"use strict";a.d(e,{Bv:function(){return n},Eg:function(){return i},ZQ:function(){return r},dL:function(){return l},ol:function(){return o}});const s=["child","collection","item","parent","root","self"],i=["first","last","next","prev","previous"],r=["queryables","http://www.opengis.net/def/rel/ogc/1.0/queryables","ogc-rel:queryables"],n=["canonical","related","derived_from","latest-version","predecessor-version","successor-version","source","alternate"].concat(s).concat(i),o=["conformance","data","items","search","icon","license"].concat(s).concat(i).concat(r),l="http://www.opengis.net/def/rel/ogc/1.0/"},33484:function(t,e,a){"use strict";a.d(e,{FF:function(){return c},HD:function(){return p},Pj:function(){return h},Rh:function(){return o},lx:function(){return l},mA:function(){return f},rM:function(){return u},sd:function(){return d}});var s=a(94335),i=a(84193),r=a.n(i),n=a(2566);class o{constructor(t=!1){this.show=Boolean(t)}}function l(t,e){if("string"===typeof e&&(e={href:e}),!n.Ay.isObject(e)||"string"!==typeof e.href)return{};const a=t.getters.getRequestUrl(e.href);let s={"Accept-Language":t.getters.acceptedLanguages};return n.Ay.hasText(e.type)&&(s.Accept=e.type),t.getters.isExternalUrl(a)||Object.assign(s,t.state.requestHeaders),n.Ay.isObject(e.headers)&&Object.assign(s,e.headers),{method:"string"===typeof e.method?e.method.toLowerCase():"get",url:a,headers:s,data:e.body}}async function c(t,e,a={}){const i=l(t,e);return await(0,s.A)(Object.assign(i,a))}function u(t,e){return t instanceof r()&&(t=t.toString()),"string"===typeof t&&Array.isArray(e)?t.replace(e[1],e[0]):t}function d(t,e){return t instanceof r()&&(t=t.toString()),"string"===typeof t&&Array.isArray(e)?t.replace(e[0],e[1]):t}function h(t,e){return"function"===typeof t.preprocessSTAC&&(e=t.preprocessSTAC(e,t)),Object.freeze(e)}function p(t){var e;return[401,403].includes(null===t||void 0===t||null===(e=t.response)||void 0===e?void 0:e.status)}function f(t,e){if(0==n.Ay.size(e))return t;for(let a in e)t.hasQuery(a)||t.addQuery(a,e[a]);return t}},2566:function(t,e,a){"use strict";a.d(e,{Ay:function(){return A},C8:function(){return b},I5:function(){return g},Yq:function(){return u},df:function(){return m},fe:function(){return y},oV:function(){return c}});a(98992),a(54520),a(72577),a(81454);var s=a(84193),i=a.n(s),r=a(58481),n=a.n(r),o=a(59203);const l=["catalog","collection","item"],c="application/geo+json",u="application/schema+json",d=["application/json",c,"text/json"],h=["image/gif","image/jpg","image/jpeg","image/apng","image/png","image/webp"],p=["image/tiff; application=geotiff; profile=cloud-optimized","image/vnd.stac.geotiff; cloud-optimized=true"],f=["application/geotiff","image/tiff; application=geotiff","image/vnd.stac.geotiff"].concat(p),g=["http","https"],m=h.concat(f),b=m.concat([c]);class y extends Error{constructor(t){super(t)}}class A{static isObject(t){return"object"===typeof t&&t===Object(t)&&!Array.isArray(t)}static size(t){return"object"===typeof t&&null!==t?Array.isArray(t)?t.length:Object.keys(t).length:0}static isStacMediaType(t,e=!1){return A.isMediaType(t,d,e)}static isMediaType(t,e,a=!1){return Array.isArray(e)||(e=[e]),!(!a||t)||"string"===typeof t&&e.includes(t.toLowerCase())}static hasText(t){return"string"===typeof t&&t.length>0}static shortenTitle(t,e,a="…"){if(t.length<=e)return t;let s=a.length,i=e-s,r=Math.ceil(i/2),n=Math.floor(i/2);return t.substr(0,r)+a+t.substr(t.length-n)}static isGdalVfsUri(t){return"string"===typeof t&&t.startsWith("/vsi")&&!t.startsWith("/vsicurl/")}static toAbsolute(t,e,a=!0){return A.normalizeUri(t,e,!1,a)}static normalizeUri(t,e=null,a=!1,s=!0){"string"===typeof t&&t.startsWith("/vsicurl/")&&(t=t.replace(/^\/vsicurl\//,""));let r=i()(t);return e&&r.is("relative")&&!A.isGdalVfsUri(t)&&(r=r.absoluteTo(e)),r.normalize(),a&&(r.query(""),r.fragment("")),s?r.toString():r}static getLinkWithRel(t,e){return Array.isArray(t)?t.find((t=>A.isObject(t)&&A.hasText(t.href)&&t.rel===e)):null}static getLinksWithRels(t,e){return Array.isArray(t)?t.filter((t=>A.isObject(t)&&A.hasText(t.href)&&e.includes(t.rel))):[]}static getLinksWithOtherRels(t,e){return Array.isArray(t)?t.filter((t=>A.isObject(t)&&A.hasText(t.href)&&!e.includes(t.rel))):[]}static removeTrailingSlash(t){return t.replace(/\/$/,"")}static equalUrl(t,e){try{let a=i()(t),s=i()(e);return a.path(A.removeTrailingSlash(a.path())),s.path(A.removeTrailingSlash(s.path())),a.equals(s)}catch(a){return!1}}static summarizeMd(t,e=null){return A.hasText(t)?(t=n()(t).replaceAll(/[\r\n]+/g," "),e>0&&t.length>e&&(t=t.substr(0,e)+"…"),t):""}static scrollTo(t){if(t){var e=t.getBoundingClientRect(),a=e.top=0;a||t.scrollIntoView({behavior:"smooth",block:"start"})}}static dateFromUTC(t){if(t){const e=new Date(t);t=new Date(e.getTime()+60*e.getTimezoneOffset()*1e3)}return t}static dateToUTC(t){return t instanceof Date&&(t=new Date(t.getTime()-60*t.getTimezoneOffset()*1e3)),t}static formatDatetimeQuery(t){return t.map((t=>t instanceof Date?t.toISOString():t||"..")).join("/")}static formatSortbyForPOST(t){const e={field:"",direction:"asc"};return t.startsWith("-")?(e.field=t.substring(1),e.direction="desc"):e.field=t,[e]}static getPaginationLinks(t){let e={};if(A.isObject(t)){let a=A.getLinksWithRels(t.links,o.Eg);for(let t of a){let a="previous"===t.rel?"prev":t.rel;e[a]=t}}return e}static addFiltersToLink(t,e={},a=null){let s=t=>null===t||"number"===typeof t&&!Number.isFinite(t)||"string"===typeof t&&0===t.length||"object"===typeof t&&0===A.size(t);if(e=A.isObject(e)?Object.assign({},e):{},"number"!==typeof e.limit&&"number"===typeof a&&(e.limit=a),A.hasText(t.method)&&"POST"===t.method.toUpperCase()){let a=Object.assign({},t.body);for(let t in e){let i=e[t];if(s(i))delete a[t];else{if("sortby"===t)i=A.formatSortbyForPOST(i);else if("datetime"===t)i=A.formatDatetimeQuery(i);else if("filters"===t){Object.assign(a,i.toJSON());continue}a[t]=i}}return Object.assign({},t,{body:a})}{let a=i()(t.href);for(let t in e){let i=e[t];if(s(i))a.removeQuery(t);else{if("datetime"===t)i=A.formatDatetimeQuery(i);else if("bbox"===t)i=i.join(",");else if("collections"===t||"ids"===t||"q"===t)i=i.join(",");else if("filters"===t){let t=i.toText();a.setQuery(t);continue}a.setQuery(t,i)}}return Object.assign({},t,{href:a.toString()})}}static titleForHref(t,e=!1){let a=i()(t),s=a.authority(),r=a.filename().replace(/^(.{1,})\.\w+$/,"$1"),n=a.directory().replace(/^\//,"");if(s&&r&&!e){let t=a.path().replace(/^\//,"");return"doi.org"===s&&t.startsWith("10.")?`DOI ${t}`:`${r} (${s})`}return r&&!l.includes(r)?r:s||(n||t)}static canBrowserDisplayImage(t){if("string"!==typeof t.href)return!1;let e=i()(t.href),a=e.protocol().toLowerCase();return!(a&&!g.includes(a))&&(!!h.includes(t.type)||(!!h.includes("image/"+e.suffix().toLowerCase())||!t.type))}static getValueFromObjectUsingPath(t,e){if(null!==t&&"object"===typeof t)return t=t[e[0]],"undefined"!==typeof t&&e.length>1?this.getValueFromObjectUsingPath(t,e.slice(1)):t}static search(t,e,a=!0){if("string"!==typeof t||0===t.length)return!1;if(A.isObject(e)?e=Object.values(e):"string"===typeof e&&(e=[e]),!Array.isArray(e))return!1;let s=/[\s.,;!&({[)}]]+/g;t=t.toLowerCase().split(s),e=e.filter((t=>"string"===typeof t)).join(" ").replace(s," ").toLowerCase();let i=a?"every":"some";return t[i]((t=>e.includes(t)))}static createLink(t,e){return{href:t,rel:e}}static supportsExtension(t,e){if(!A.isObject(t)||!Array.isArray(t["stac_extensions"]))return!1;let a=new RegExp("^"+e.replaceAll("*","[^/]+")+"$");return Boolean(t["stac_extensions"].find((t=>a.test(t))))}static mergeDeep(t,...e){if(!e.length)return t;const a=e.shift();if(A.isObject(t)&&A.isObject(a))for(const s in a)A.isObject(a[s])?(t[s]||Object.assign(t,{[s]:{}}),A.mergeDeep(t[s],a[s])):Object.assign(t,{[s]:a[s]});return A.mergeDeep(t,...e)}}},79873:function(t,e,a){"use strict";a(98992),a(23215),a(54520);var s=a(85952),i=a(39773),r=a(2566),n=a(84193),o=a.n(n),l=a(95353);e.A={components:{ErrorAlert:s.A,Loading:i.A},props:{path:{type:String,required:!0}},computed:{...(0,l.aH)(["allowExternalAccess","catalogUrl","url","redirectLegacyUrls"]),...(0,l.L8)(["fromBrowserPath","error","loading"]),errorId(){if(this.error instanceof Error&&this.error.isAxiosError&&r.Ay.isObject(this.error.response)){let t=this.error.response;return r.Ay.isObject(t.data)&&t.data.code?t.data.code:t.status}return null},errorDescription(){if(this.error instanceof Error&&this.error.isAxiosError&&r.Ay.isObject(this.error.response)){let t=this.error.response;if(r.Ay.isObject(t.data)&&"string"===typeof t.data.description)return t.data.description;if(401===t.status)return this.$t("errors.unauthorized");if(403===t.status)return this.$t("errors.forbidden");if(404===t.status)return this.$t("errors.notFound");if(t.status>500)return this.$t("errors.serverError");if(t.status>400)return this.$t("errors.badRequest")}else if(this.error instanceof r.fe)return this.error.message;return this.$t("errors.networkError")},isExternal(){return o()(this.path).is("absolute")}},watch:{path:{immediate:!0,async handler(t,e){if(t===e)return;if(!this.allowExternalAccess&&this.isExternal)return;if(this.redirectLegacyUrls&&await this.redirectLegacyUrl(t))return;let a=this.fromBrowserPath(t||"/");this.$store.dispatch("load",{url:a,show:!0})}}},methods:{async redirectLegacyUrl(t){if(!t||"/"===t)return!1;let e=t.split("/").filter((t=>t.length>0&&"item"!==t&&"collection"!==t));if(e.length>0&&e.every((t=>t.match(/^[123456789abcdefghijkmnopqrstuvwxyzABCDEFGHJKLMNPQRSTUVWXYZ]+$/)))){const{decode:t}=await a.e(6763).then(a.t.bind(a,16763,23));let s=t(e[e.length-1]).toString();if(s){let t=o()(s);return this.$router.replace({path:"/"+t.path().replace(/(collections|items)\/?$/,""),query:t.query(!0)}),!0}}return!1}}}},93731:function(t,e,a){var s={"./de-CH/config":[79933,3],"./de-CH/config.json":[79933,3],"./de-CH/datepicker":[40895,9,895],"./de-CH/datepicker.js":[40895,9,895],"./de-CH/default":[968,9,4490,968],"./de-CH/default.js":[968,9,4490,968],"./de-CH/duration":[49637,9,9710,9637],"./de-CH/duration.js":[49637,9,9710,9637],"./de-CH/validation":[75270,9,5270],"./de-CH/validation.js":[75270,9,5270],"./de/config":[28417,3],"./de/config.json":[28417,3],"./de/custom":[45692,3,5692],"./de/custom.json":[45692,3,5692],"./de/datepicker":[74801,9,4801],"./de/datepicker.js":[74801,9,4801],"./de/default":[62862,9,4490,2862],"./de/default.js":[62862,9,4490,2862],"./de/duration":[54511,9,9710,4511],"./de/duration.js":[54511,9,9710,4511],"./de/fields":[14490,3,4490],"./de/fields.json":[14490,3,4490],"./de/texts":[99581,3,9581],"./de/texts.json":[99581,3,9581],"./de/validation":[62816,9,2816],"./de/validation.js":[62816,9,2816],"./en-GB/config":[23667,3],"./en-GB/config.json":[23667,3],"./en-GB/custom":[78798,3,8798],"./en-GB/custom.json":[78798,3,8798],"./en-GB/datepicker":[22605,9,2605],"./en-GB/datepicker.js":[22605,9,2605],"./en-GB/default":[63170,9,3170],"./en-GB/default.js":[63170,9,3170],"./en-GB/duration":[47843,9,9710,7843],"./en-GB/duration.js":[47843,9,9710,7843],"./en-GB/fields":[87400,3,7400],"./en-GB/fields.json":[87400,3,7400],"./en-GB/texts":[62963,3,2963],"./en-GB/texts.json":[62963,3,2963],"./en-GB/validation":[6492,9,6492],"./en-GB/validation.js":[6492,9,6492],"./en-US/config":[92444,3],"./en-US/config.json":[92444,3],"./en-US/datepicker":[95558,9,5558],"./en-US/datepicker.js":[95558,9,5558],"./en-US/default":[15691,9,5691],"./en-US/default.js":[15691,9,5691],"./en-US/duration":[49684,9,9710,9684],"./en-US/duration.js":[49684,9,9710,9684],"./en-US/validation":[3155,9,3155],"./en-US/validation.js":[3155,9,3155],"./en/config":[11401,3],"./en/config.json":[11401,3],"./en/custom":[85300,3,5300],"./en/custom.json":[85300,3,5300],"./en/datepicker":[71865,9,1865],"./en/datepicker.js":[71865,9,1865],"./en/default":[56886,9,6886],"./en/default.js":[56886,9,6886],"./en/duration":[86855,9,9710,6855],"./en/duration.js":[86855,9,9710,6855],"./en/fields":[87090,3,7090],"./en/fields.json":[87090,3,7090],"./en/stac-fields":[98236,9,8236],"./en/stac-fields.js":[98236,9,8236],"./en/texts":[33301,3,3301],"./en/texts.json":[33301,3,3301],"./en/validation":[98552,9,8552],"./en/validation.js":[98552,9,8552],"./es/config":[17212,3],"./es/config.json":[17212,3],"./es/custom":[14581,3,4581],"./es/custom.json":[14581,3,4581],"./es/datepicker":[54312,9,4312],"./es/datepicker.js":[54312,9,4312],"./es/default":[89113,9,9113],"./es/default.js":[89113,9,9113],"./es/duration":[46046,9,9710,6046],"./es/duration.js":[46046,9,9710,6046],"./es/fields":[11295,3,1295],"./es/fields.json":[11295,3,1295],"./es/texts":[90674,3,674],"./es/texts.json":[90674,3,674],"./es/validation":[35893,9,5893],"./es/validation.js":[35893,9,5893],"./fr-CA/config":[20995,3],"./fr-CA/config.json":[20995,3],"./fr-CA/datepicker":[6997,9,6997],"./fr-CA/datepicker.js":[6997,9,6997],"./fr-CA/default":[71082,9,5767,1082],"./fr-CA/default.js":[71082,9,5767,1082],"./fr-CA/duration":[27003,9,9710,7003],"./fr-CA/duration.js":[27003,9,9710,7003],"./fr-CA/validation":[38228,9,8228],"./fr-CA/validation.js":[38228,9,8228],"./fr-CH/config":[1738,3],"./fr-CH/config.json":[1738,3],"./fr-CH/datepicker":[81456,9,1456],"./fr-CH/datepicker.js":[81456,9,1456],"./fr-CH/default":[44545,9,5767,4545],"./fr-CH/default.js":[44545,9,5767,4545],"./fr-CH/duration":[67286,9,9710,7286],"./fr-CH/duration.js":[67286,9,9710,7286],"./fr-CH/validation":[82605,9,4986],"./fr-CH/validation.js":[82605,9,4986],"./fr/config":[37748,3],"./fr/config.json":[37748,3],"./fr/custom":[75197,3,5197],"./fr/custom.json":[75197,3,5197],"./fr/datepicker":[37036,9,7036],"./fr/datepicker.js":[37036,9,7036],"./fr/default":[1589,9,5767,1589],"./fr/default.js":[1589,9,5767,1589],"./fr/duration":[93658,9,9710,3658],"./fr/duration.js":[93658,9,9710,3658],"./fr/fields":[48148,3,5767],"./fr/fields.json":[48148,3,5767],"./fr/texts":[23418,3,3418],"./fr/texts.json":[23418,3,3418],"./fr/validation":[33129,9,3129],"./fr/validation.js":[33129,9,3129],"./it-CH/config":[16835,3],"./it-CH/config.json":[16835,3],"./it-CH/datepicker":[75862,9,3481],"./it-CH/datepicker.js":[75862,9,3481],"./it-CH/default":[77638,9,9476,7638],"./it-CH/default.js":[77638,9,9476,7638],"./it-CH/duration":[44567,9,9710,4567],"./it-CH/duration.js":[44567,9,9710,4567],"./it-CH/validation":[63048,9,3048],"./it-CH/validation.js":[63048,9,3048],"./it/config":[37295,3],"./it/config.json":[37295,3],"./it/custom":[5290,3,5290],"./it/custom.json":[5290,3,5290],"./it/datepicker":[36147,9,6147],"./it/datepicker.js":[36147,9,6147],"./it/default":[23108,9,9476,3108],"./it/default.js":[23108,9,9476,3108],"./it/duration":[67905,9,9710,7905],"./it/duration.js":[67905,9,9710,7905],"./it/fields":[39476,3,9476],"./it/fields.json":[39476,3,9476],"./it/texts":[27519,3,7519],"./it/texts.json":[27519,3,7519],"./it/validation":[66346,9,6346],"./it/validation.js":[66346,9,6346],"./ja/config":[15203,3],"./ja/config.json":[15203,3],"./ja/custom":[79870,3,9870],"./ja/custom.json":[79870,3,9870],"./ja/datepicker":[70675,9,675],"./ja/datepicker.js":[70675,9,675],"./ja/default":[4964,9,4964],"./ja/default.js":[4964,9,4964],"./ja/duration":[87905,9,9710,2667],"./ja/duration.js":[87905,9,9710,2667],"./ja/fields":[68376,3,8376],"./ja/fields.json":[68376,3,8376],"./ja/texts":[30883,3,883],"./ja/texts.json":[30883,3,883],"./ja/validation":[14826,9,4826],"./ja/validation.js":[14826,9,4826],"./pt-BR/config":[87503,3],"./pt-BR/config.json":[87503,3],"./pt-BR/custom":[54794,3,4794],"./pt-BR/custom.json":[54794,3,4794],"./pt-BR/datepicker":[20105,9,105],"./pt-BR/datepicker.js":[20105,9,105],"./pt-BR/default":[92294,9,2294],"./pt-BR/default.js":[92294,9,2294],"./pt-BR/duration":[44631,9,9710,4631],"./pt-BR/duration.js":[44631,9,9710,4631],"./pt-BR/fields":[1524,3,1524],"./pt-BR/fields.json":[1524,3,1524],"./pt-BR/texts":[69311,3,9311],"./pt-BR/texts.json":[69311,3,9311],"./pt-BR/validation":[70536,9,536],"./pt-BR/validation.js":[70536,9,536],"./pt/config":[22356,3],"./pt/config.json":[22356,3],"./pt/custom":[2653,3,2653],"./pt/custom.json":[2653,3,2653],"./pt/datepicker":[59856,9,9856],"./pt/datepicker.js":[59856,9,9856],"./pt/default":[56513,9,6513],"./pt/default.js":[56513,9,6513],"./pt/duration":[32438,9,9710,2438],"./pt/duration.js":[32438,9,9710,2438],"./pt/fields":[44455,3,4455],"./pt/fields.json":[44455,3,4455],"./pt/texts":[29946,3,9946],"./pt/texts.json":[29946,3,9946],"./pt/validation":[12685,9,2685],"./pt/validation.js":[12685,9,2685],"./ro/config":[99069,3],"./ro/config.json":[99069,3],"./ro/custom":[5160,3,5160],"./ro/custom.json":[5160,3,5160],"./ro/datepicker":[2929,9,2929],"./ro/datepicker.js":[2929,9,2929],"./ro/default":[63022,9,3022],"./ro/default.js":[63022,9,3022],"./ro/duration":[65583,9,9710,5583],"./ro/duration.js":[65583,9,9710,5583],"./ro/fields":[14758,3,4758],"./ro/fields.json":[14758,3,4758],"./ro/texts":[55577,3,5577],"./ro/texts.json":[55577,3,5577],"./ro/validation":[90944,9,944],"./ro/validation.js":[90944,9,944]};function i(t){if(!a.o(s,t))return Promise.resolve().then((function(){var e=new Error("Cannot find module '"+t+"'");throw e.code="MODULE_NOT_FOUND",e}));var e=s[t],i=e[0];return Promise.all(e.slice(2).map(a.e)).then((function(){return a.t(i,16|e[1])}))}i.keys=function(){return Object.keys(s)},i.id=93731,t.exports=i},33545:function(t,e,a){var s={"./de-CH/default.js":[968,4490,968],"./de/default.js":[62862,4490,2862],"./en-GB/default.js":[63170,3170],"./en-US/default.js":[15691,5691],"./en/default.js":[56886,6886],"./es/default.js":[89113,9113],"./fr-CA/default.js":[71082,5767,1082],"./fr-CH/default.js":[44545,5767,4545],"./fr/default.js":[1589,5767,1589],"./it-CH/default.js":[77638,9476,7638],"./it/default.js":[23108,9476,3108],"./ja/default.js":[4964,4964],"./pt-BR/default.js":[92294,2294],"./pt/default.js":[56513,6513],"./ro/default.js":[63022,3022]};function i(t){if(!a.o(s,t))return Promise.resolve().then((function(){var e=new Error("Cannot find module '"+t+"'");throw e.code="MODULE_NOT_FOUND",e}));var e=s[t],i=e[0];return Promise.all(e.slice(1).map(a.e)).then((function(){return a(i)}))}i.keys=function(){return Object.keys(s)},i.id=33545,t.exports=i},97991:function(t,e,a){var s={"./de-CH/config.json":79933,"./de/config.json":28417,"./en-GB/config.json":23667,"./en-US/config.json":92444,"./en/config.json":11401,"./es/config.json":17212,"./fr-CA/config.json":20995,"./fr-CH/config.json":1738,"./fr/config.json":37748,"./it-CH/config.json":16835,"./it/config.json":37295,"./ja/config.json":15203,"./pt-BR/config.json":87503,"./pt/config.json":22356,"./ro/config.json":99069};function i(t){var e=r(t);return a(e)}function r(t){if(!a.o(s,t)){var e=new Error("Cannot find module '"+t+"'");throw e.code="MODULE_NOT_FOUND",e}return s[t]}i.keys=function(){return Object.keys(s)},i.resolve=r,t.exports=i,i.id=97991},79933:function(t){"use strict";t.exports=JSON.parse('{"native":"Deutsch (Schweiz)","global":"German (Switzerland)"}')},28417:function(t){"use strict";t.exports=JSON.parse('{"native":"Deutsch","global":"German"}')},23667:function(t){"use strict";t.exports=JSON.parse('{"native":"English (UK)","global":"English (UK)"}')},92444:function(t){"use strict";t.exports=JSON.parse('{"native":"English (US)","global":"English (US)"}')},11401:function(t){"use strict";t.exports=JSON.parse('{"native":"English","global":"English","customize":["stac-fields.js"]}')},17212:function(t){"use strict";t.exports=JSON.parse('{"native":"Español","global":"Spanish"}')},20995:function(t){"use strict";t.exports=JSON.parse('{"native":"Français (Canada)","global":"French (Canada)"}')},1738:function(t){"use strict";t.exports=JSON.parse('{"native":"Français (Suisse)","global":"French (Switzerland)"}')},37748:function(t){"use strict";t.exports=JSON.parse('{"native":"Français","global":"French"}')},16835:function(t){"use strict";t.exports=JSON.parse('{"native":"Italiano (Svizzera)","global":"Italian (Switzerland)"}')},37295:function(t){"use strict";t.exports=JSON.parse('{"native":"Italiano","global":"Italian"}')},15203:function(t){"use strict";t.exports=JSON.parse('{"native":"日本語","global":"Japanese"}')},87503:function(t){"use strict";t.exports=JSON.parse('{"native":"Português (Brasil)","global":"Portuguese (Brazil)"}')},22356:function(t){"use strict";t.exports=JSON.parse('{"native":"Português","global":"Portuguese"}')},99069:function(t){"use strict";t.exports=JSON.parse('{"native":"Română","global":"Romanian"}')}},e={};function a(s){var i=e[s];if(void 0!==i)return i.exports;var r=e[s]={id:s,loaded:!1,exports:{}};return t[s].call(r.exports,r,r.exports,a),r.loaded=!0,r.exports}a.m=t,function(){var t="function"===typeof Symbol?Symbol("webpack queues"):"__webpack_queues__",e="function"===typeof Symbol?Symbol("webpack exports"):"__webpack_exports__",s="function"===typeof Symbol?Symbol("webpack error"):"__webpack_error__",i=function(t){t&&t.d<1&&(t.d=1,t.forEach((function(t){t.r--})),t.forEach((function(t){t.r--?t.r++:t()})))},r=function(a){return a.map((function(a){if(null!==a&&"object"===typeof a){if(a[t])return a;if(a.then){var r=[];r.d=0,a.then((function(t){n[e]=t,i(r)}),(function(t){n[s]=t,i(r)}));var n={};return n[t]=function(t){t(r)},n}}var o={};return o[t]=function(){},o[e]=a,o}))};a.a=function(a,n,o){var l;o&&((l=[]).d=-1);var c,u,d,h=new Set,p=a.exports,f=new Promise((function(t,e){d=e,u=t}));f[e]=p,f[t]=function(t){l&&t(l),h.forEach(t),f["catch"]((function(){}))},a.exports=f,n((function(a){var i;c=r(a);var n=function(){return c.map((function(t){if(t[s])throw t[s];return t[e]}))},o=new Promise((function(e){i=function(){e(n)},i.r=0;var a=function(t){t!==l&&!h.has(t)&&(h.add(t),t&&!t.d&&(i.r++,t.push(i)))};c.map((function(e){e[t](a)}))}));return i.r?o:n()}),(function(t){t?d(f[s]=t):u(p),i(l)})),l&&l.d<0&&(l.d=0)}}(),function(){var t=[];a.O=function(e,s,i,r){if(!s){var n=1/0;for(u=0;u=r)&&Object.keys(a.O).every((function(t){return a.O[t](s[l])}))?s.splice(l--,1):(o=!1,r0&&t[u-1][2]>r;u--)t[u]=t[u-1];t[u]=[s,i,r]}}(),function(){a.n=function(t){var e=t&&t.__esModule?function(){return t["default"]}:function(){return t};return a.d(e,{a:e}),e}}(),function(){var t,e=Object.getPrototypeOf?function(t){return Object.getPrototypeOf(t)}:function(t){return t.__proto__};a.t=function(s,i){if(1&i&&(s=this(s)),8&i)return s;if("object"===typeof s&&s){if(4&i&&s.__esModule)return s;if(16&i&&"function"===typeof s.then)return s}var r=Object.create(null);a.r(r);var n={};t=t||[null,e({}),e([]),e(e)];for(var o=2&i&&s;"object"==typeof o&&!~t.indexOf(o);o=e(o))Object.getOwnPropertyNames(o).forEach((function(t){n[t]=function(){return s[t]}}));return n["default"]=function(){return s},a.d(r,n),r}}(),function(){a.d=function(t,e){for(var s in e)a.o(e,s)&&!a.o(t,s)&&Object.defineProperty(t,s,{enumerable:!0,get:e[s]})}}(),function(){a.f={},a.e=function(t){return Promise.all(Object.keys(a.f).reduce((function(e,s){return a.f[s](t,e),e}),[]))}}(),function(){a.u=function(t){return"js/"+t+"."+{57:"41f5038f",105:"11f3ef3f",126:"f21f415f",143:"8a3d2c9a",224:"4fba229c",259:"c47d895a",286:"63cf0a30",287:"fa584da8",401:"2c4f1f50",536:"394026a4",537:"16fe35b9",572:"2c70a609",635:"8dfb32bc",674:"cd3424a3",675:"6343e128",771:"da878272",883:"022b6cfd",895:"61df85f7",944:"93c5eccd",967:"2187a41c",968:"63b0be5d",1082:"9524bfb4",1277:"30f7efae",1295:"c62bcc61",1456:"c7df2c55",1524:"9d335a36",1589:"5695c617",1802:"60389f93",1865:"236dede4",1935:"7e3ae466",2018:"d8337473",2294:"6b905d60",2438:"9d08758b",2568:"7b893d05",2605:"61657992",2653:"ead5227f",2667:"e2075e28",2685:"ae149e1e",2816:"fadc65e3",2862:"9f715c09",2929:"8f5863d5",2963:"588da4a4",2986:"b845ef0e",3022:"818b9d09",3048:"037427d0",3108:"342c1bac",3129:"5ea9e162",3147:"234d0b46",3155:"9a5e35a5",3170:"24cdcd45",3301:"9629eab8",3418:"791d39ac",3481:"b68e7796",3545:"9312a5b8",3621:"c03d14b0",3627:"c74dd113",3658:"005b6342",3665:"60e41131",4052:"11887452",4312:"1dfee9ef",4455:"32fd4e8a",4490:"2d1bfd9d",4511:"ffe2e0e6",4527:"0577cbe4",4545:"0e0c6c60",4567:"9c165ed1",4581:"09d75b82",4631:"185ad2fe",4648:"27991b24",4741:"c2318a0f",4748:"4d28f3f9",4758:"68524464",4794:"cbe91ede",4801:"3798c5b3",4826:"9ec0fb3b",4870:"dd62072e",4905:"fa8f82fd",4964:"c30511c6",4986:"fb82306e",5048:"4de90b52",5160:"5049d33b",5197:"1c0284fb",5262:"894c88c3",5270:"a61c79e3",5290:"4e66b59f",5300:"5a758b2d",5500:"68abc7ee",5528:"f4b345f1",5558:"92284de2",5577:"88da2b76",5583:"4ad93d3c",5691:"b4332e7d",5692:"53888e89",5767:"dcd3e8f6",5833:"4f6613e9",5876:"53412eac",5893:"1f30f06a",6046:"7234cf3f",6094:"92e6b69a",6147:"c1651835",6247:"0d27f607",6340:"5204c7f2",6346:"ac9f2233",6492:"2b9980a8",6513:"934550ef",6750:"4dcdb154",6763:"d5e36df2",6780:"204a1480",6855:"e1724cd1",6866:"76342d7e",6886:"ca913e92",6892:"00f44640",6935:"1e8283d8",6941:"13c80f1c",6948:"f672b487",6997:"9ad3d2eb",7003:"b064e28e",7012:"1f22b1ae",7036:"be852fcd",7090:"15e869ce",7130:"7b24d234",7197:"925f5a53",7250:"9d5b8ba0",7286:"cbd78cd1",7303:"add8a1d9",7312:"ebf1e1ac",7341:"5a9a881d",7400:"bb1bffcb",7457:"05737046",7519:"43de9d9a",7638:"147e123d",7659:"003bcc2a",7820:"76e052c6",7843:"fe60856c",7905:"28030aa8",7957:"5456ee53",7964:"666a9c76",8228:"7777ffe3",8236:"973dee5b",8376:"ec3800d9",8499:"23d303cb",8552:"8d732287",8648:"3df871aa",8775:"c4d351a5",8798:"ae050e23",9010:"2cfa5aaa",9099:"4e5ff995",9113:"76e2de12",9232:"5c3401ef",9236:"e05a32a6",9311:"d9f0acbc",9384:"dbed806a",9476:"5a051b83",9581:"dcdb60a1",9637:"96af2b91",9684:"722fad2b",9710:"6bb10454",9738:"17d17a36",9856:"51f2956c",9870:"1e0dbc7f",9891:"f756d7a2",9946:"5e885642"}[t]+".js"}}(),function(){a.miniCssF=function(t){return"css/"+t+"."+{126:"1c24940f",143:"ac728857",401:"4149415b",635:"f849b3f1",967:"72c8c98f",1802:"32ec082e",2568:"6fac7cd8",3147:"45781634",3545:"2412eeb4",4052:"63e96376",4748:"fc757a13",5430:"4794afa8",5528:"45781634",6780:"0780c10b",6866:"081b4583",7130:"c4ced7cf",7250:"7090fc57",7312:"81053aa2",7341:"c9b64985",7957:"e76d18ce",8648:"4b50bc38",8775:"bbca74ef"}[t]+".css"}}(),function(){a.g=function(){if("object"===typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(t){if("object"===typeof window)return window}}()}(),function(){a.hmd=function(t){return t=Object.create(t),t.children||(t.children=[]),Object.defineProperty(t,"exports",{enumerable:!0,set:function(){throw new Error("ES Modules may not assign module.exports or exports.*, Use ESM export syntax, instead: "+t.id)}}),t}}(),function(){a.o=function(t,e){return Object.prototype.hasOwnProperty.call(t,e)}}(),function(){var t={},e="@radiantearth/stac-browser:";a.l=function(s,i,r,n){if(t[s])t[s].push(i);else{var o,l;if(void 0!==r)for(var c=document.getElementsByTagName("script"),u=0;u 0 || _vm.data.description || _vm.data.deprecated))?_c('b-card-text',{staticClass:\"intro\"},[(_vm.data.deprecated)?_c('b-badge',{staticClass:\"mr-1 mt-1 deprecated\",attrs:{\"variant\":\"warning\"}},[_vm._v(_vm._s(_vm.$t('deprecated')))]):_vm._e(),_vm._l((_vm.fileFormats),function(format){return _c('b-badge',{key:format,staticClass:\"mr-1 mt-1 fileformat\",attrs:{\"variant\":\"secondary\"}},[_vm._v(_vm._s(_vm._f(\"formatMediaType\")(format)))])}),_vm._v(\" \"+_vm._s(_vm._f(\"summarize\")(_vm.data.description))+\" \")],2):_vm._e(),(_vm.showKeywordsInCatalogCards && _vm.keywords.length > 0)?_c('Keywords',{attrs:{\"keywords\":_vm.keywords,\"variant\":\"primary\",\"center\":!_vm.isList}}):_vm._e(),(_vm.temporalExtent)?_c('b-card-text',{staticClass:\"datetime\"},[_c('small',{domProps:{\"innerHTML\":_vm._s(_vm.temporalExtent)}})]):_vm._e()],1),_c('b-card-footer',[_vm._t(\"footer\",null,{\"data\":_vm.data})],2)],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n","import mod from \"-!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./Catalog.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./Catalog.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./Catalog.vue?vue&type=template&id=50eb59b2\"\nimport script from \"./Catalog.vue?vue&type=script&lang=js\"\nexport * from \"./Catalog.vue?vue&type=script&lang=js\"\nimport style0 from \"./Catalog.vue?vue&type=style&index=0&id=50eb59b2&prod&lang=scss\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('section',{staticClass:\"catalogs mb-4\"},[_c('header',[_c('h2',{staticClass:\"title mr-2\"},[_vm._v(_vm._s(_vm.title))]),(_vm.catalogCount !== null)?_c('b-badge',{staticClass:\"mr-4\",attrs:{\"pill\":\"\",\"variant\":\"secondary\"}},[_vm._v(_vm._s(_vm.catalogCount))]):_vm._e(),_c('ViewButtons',{staticClass:\"mr-2\",model:{value:(_vm.view),callback:function ($$v) {_vm.view=$$v},expression:\"view\"}}),(_vm.isComplete && _vm.catalogs.length > 1)?_c('SortButtons',{model:{value:(_vm.sort),callback:function ($$v) {_vm.sort=$$v},expression:\"sort\"}}):_vm._e()],1),(_vm.isComplete && _vm.catalogs.length > 1)?_c('section',{staticClass:\"catalog-filter mb-2\"},[_c('SearchBox',{attrs:{\"placeholder\":_vm.filterPlaceholder},model:{value:(_vm.searchTerm),callback:function ($$v) {_vm.searchTerm=$$v},expression:\"searchTerm\"}}),(_vm.allKeywords.length > 0)?_c('multiselect',{attrs:{\"multiple\":\"\",\"options\":_vm.allKeywords,\"placeholder\":_vm.$t('multiselect.keywordsPlaceholder'),\"selectLabel\":_vm.$t('multiselect.selectLabel'),\"selectedLabel\":_vm.$t('multiselect.selectedLabel'),\"deselectLabel\":_vm.$t('multiselect.deselectLabel'),\"limitText\":_vm.limitText},model:{value:(_vm.selectedKeywords),callback:function ($$v) {_vm.selectedKeywords=$$v},expression:\"selectedKeywords\"}}):_vm._e()],1):_vm._e(),(_vm.showPagination)?_c('Pagination',{ref:\"topPagination\",attrs:{\"pagination\":_vm.pagination,\"placement\":\"top\"},on:{\"paginate\":_vm.paginate}}):_vm._e(),(_vm.hasSearchCritera && _vm.catalogView.length === 0)?_c('b-alert',{staticClass:\"mt-2\",attrs:{\"variant\":\"warning\",\"show\":\"\"}},[_vm._v(_vm._s(_vm.$t('catalogs.noMatches')))]):_vm._e(),_c('section',{staticClass:\"list\"},[(_vm.loading)?_c('Loading',{attrs:{\"fill\":\"\",\"top\":\"\"}}):_vm._e(),_c(_vm.cardsComponent,_vm._b({tag:\"component\"},'component',_vm.cardsComponentProps,false),_vm._l((_vm.catalogView),function(catalog){return _c('Catalog',{key:catalog.href,attrs:{\"catalog\":catalog},scopedSlots:_vm._u([{key:\"footer\",fn:function({data}){return [_vm._t(\"catalogFooter\",null,{\"data\":data})]}}],null,true)})}),1)],1),(_vm.showPagination)?_c('Pagination',{attrs:{\"pagination\":_vm.pagination},on:{\"paginate\":_vm.paginate}}):(_vm.hasMore)?_c('b-button',{directives:[{name:\"b-visible\",rawName:\"v-b-visible.300\",value:(_vm.loadMore),expression:\"loadMore\",modifiers:{\"300\":true}}],attrs:{\"variant\":\"primary\"},on:{\"click\":_vm.loadMore}},[_vm._v(_vm._s(_vm.$t('catalogs.loadMore')))]):_vm._e()],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('b-button-group',{attrs:{\"title\":_vm.$t('view.title'),\"size\":\"sm\"}},[_c('b-button',{attrs:{\"title\":_vm.$t('view.tiles.title'),\"variant\":\"outline-primary\",\"pressed\":_vm.value === 'cards'},on:{\"click\":function($event){return _vm.toggle('cards')}}},[_c('b-icon-bricks'),_vm._v(\" \"),_c('span',{staticClass:\"button-label\"},[_vm._v(_vm._s(_vm.$t('view.tiles.label')))])],1),_c('b-button',{attrs:{\"title\":_vm.$t('view.list.title'),\"variant\":\"outline-primary\",\"pressed\":_vm.value === 'list'},on:{\"click\":function($event){return _vm.toggle('list')}}},[_c('b-icon-list-task'),_vm._v(\" \"),_c('span',{staticClass:\"button-label\"},[_vm._v(_vm._s(_vm.$t('view.list.label')))])],1)],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n","import mod from \"-!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./ViewButtons.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./ViewButtons.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./ViewButtons.vue?vue&type=template&id=6a51668d\"\nimport script from \"./ViewButtons.vue?vue&type=script&lang=js\"\nexport * from \"./ViewButtons.vue?vue&type=script&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","import ViewButtons from './ViewButtons.vue';\n\nexport default {\n components: {\n ViewButtons\n },\n computed: {\n cardsComponent() {\n return (this.view === 'list') ? 'div' : 'b-card-group';\n },\n cardsComponentProps() {\n if (this.view === 'list') {\n return {\n class: [\n 'card-list'\n ]\n };\n }\n else {\n return {\n columns: true\n };\n }\n },\n view: {\n get() {\n return this.$store.state.cardViewMode;\n },\n async set(cardViewMode) {\n await this.$store.dispatch('config', { cardViewMode });\n }\n }\n }\n};\n","\n\n\n\n\n","import mod from \"-!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./Catalogs.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./Catalogs.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./Catalogs.vue?vue&type=template&id=3b49c796&scoped=true\"\nimport script from \"./Catalogs.vue?vue&type=script&lang=js\"\nexport * from \"./Catalogs.vue?vue&type=script&lang=js\"\nimport style0 from \"./Catalogs.vue?vue&type=style&index=0&id=3b49c796&prod&lang=scss&scoped=true\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"3b49c796\",\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('b-button',_vm._b({staticClass:\"copy-button\",attrs:{\"variant\":_vm.copyColor,\"title\":_vm.$t('copy')},on:{\"click\":function($event){$event.preventDefault();$event.stopPropagation();return _vm.copy.apply(null, arguments)}}},'b-button',_vm.buttonProps,false),[_c(_vm.copyIcon,{tag:\"component\"}),_vm._t(\"default\")],2)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n","import mod from \"-!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./CopyButton.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./CopyButton.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./CopyButton.vue?vue&type=template&id=033681c8\"\nimport script from \"./CopyButton.vue?vue&type=script&lang=js\"\nexport * from \"./CopyButton.vue?vue&type=script&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',{staticClass:\"styled-description\",class:{compact: _vm.compact, inline: _vm.inline},domProps:{\"innerHTML\":_vm._s(_vm.markup(_vm.description))}})\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n","import mod from \"-!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./Description.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./Description.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./Description.vue?vue&type=template&id=77c4c56a\"\nimport script from \"./Description.vue?vue&type=script&lang=js\"\nexport * from \"./Description.vue?vue&type=script&lang=js\"\nimport style0 from \"./Description.vue?vue&type=style&index=0&id=77c4c56a&prod&lang=scss\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('b-alert',{attrs:{\"variant\":\"danger\",\"show\":\"\",\"dismissible\":_vm.dismissible},on:{\"dismissed\":function($event){return _vm.$emit('close')}}},[_c('p',{staticClass:\"message\"},[_vm._v(_vm._s(_vm.message || _vm.$t('errors.default')))]),(_vm.error && _vm.error.message)?_c('dl',{staticClass:\"error\"},[_c('dt',[_vm._v(_vm._s(_vm.$t('errors.labels.cause')))]),_c('dd',[_vm._v(_vm._s(_vm.error.message))])]):_vm._e(),(_vm.description)?_c('dl',{staticClass:\"description\"},[_c('dt',[_vm._v(_vm._s(_vm.$t('errors.labels.reason')))]),_c('dd',[_vm._v(_vm._s(_vm.description))])]):_vm._e(),(_vm.id)?_c('dl',{staticClass:\"id\"},[_c('dt',[_vm._v(_vm._s(_vm.$t('errors.labels.code')))]),_c('dd',[_c('code',[_vm._v(_vm._s(_vm.id))])])]):_vm._e(),(_vm.url)?_c('dl',{staticClass:\"url\"},[_c('dt',[_vm._v(_vm._s(_vm.$t('errors.labels.requestURL')))]),_c('dd',[_c('code',[_vm._v(_vm._s(_vm.url))])])]):_vm._e()])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n","import mod from \"-!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./ErrorAlert.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./ErrorAlert.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./ErrorAlert.vue?vue&type=template&id=7a9d646a&scoped=true\"\nimport script from \"./ErrorAlert.vue?vue&type=script&lang=js\"\nexport * from \"./ErrorAlert.vue?vue&type=script&lang=js\"\nimport style0 from \"./ErrorAlert.vue?vue&type=style&index=0&id=7a9d646a&prod&lang=scss&scoped=true\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"7a9d646a\",\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('b-card',{directives:[{name:\"b-visible\",rawName:\"v-b-visible.400\",value:(_vm.load),expression:\"load\",modifiers:{\"400\":true}}],staticClass:\"item-card\",class:{queued: !_vm.data, deprecated: _vm.isDeprecated, description: _vm.hasDescription},attrs:{\"no-body\":\"\"}},[(_vm.hasImage)?_c('b-card-img-lazy',_vm._b({staticClass:\"thumbnail\",attrs:{\"offset\":\"200\"}},'b-card-img-lazy',_vm.thumbnail,false)):_vm._e(),_c('b-card-body',[_c('b-card-title',[_c('StacLink',{staticClass:\"stretched-link\",attrs:{\"data\":[_vm.data, _vm.item]}})],1),(_vm.fileFormats.length > 0 || _vm.hasDescription || _vm.isDeprecated)?_c('b-card-text',{staticClass:\"intro\"},[(_vm.isDeprecated)?_c('b-badge',{staticClass:\"mr-1 mt-1 deprecated\",attrs:{\"variant\":\"warning\"}},[_vm._v(_vm._s(_vm.$t('deprecated')))]):_vm._e(),_vm._l((_vm.fileFormats),function(format){return _c('b-badge',{key:format,staticClass:\"mr-1 mt-1 fileformat\",attrs:{\"variant\":\"secondary\"}},[_vm._v(_vm._s(_vm._f(\"formatMediaType\")(format)))])}),(_vm.hasDescription)?[_vm._v(_vm._s(_vm._f(\"summarize\")(_vm.data.properties.description)))]:_vm._e()],2):_vm._e(),(_vm.showKeywordsInItemCards && _vm.keywords.length > 0)?_c('Keywords',{attrs:{\"keywords\":_vm.keywords,\"variant\":\"primary\",\"center\":\"\"}}):_vm._e(),_c('b-card-text',[_c('small',{staticClass:\"text-muted\"},[(_vm.extent)?[_vm._v(_vm._s(_vm._f(\"formatTemporalExtent\")(_vm.extent)))]:(_vm.data && _vm.data.properties.datetime)?[_vm._v(_vm._s(_vm._f(\"formatTimestamp\")(_vm.data.properties.datetime)))]:[_vm._v(_vm._s(_vm.$t('items.noTime')))]],2)])],1)],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n","import mod from \"-!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./Item.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./Item.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./Item.vue?vue&type=template&id=7144a4b0\"\nimport script from \"./Item.vue?vue&type=script&lang=js\"\nexport * from \"./Item.vue?vue&type=script&lang=js\"\nimport style0 from \"./Item.vue?vue&type=style&index=0&id=7144a4b0&prod&lang=scss\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('section',{staticClass:\"items mb-4\"},[_c('header',[_c('h2',{staticClass:\"title mr-2\"},[_vm._v(_vm._s(_vm.$tc('stacItem', _vm.items.length )))]),(_vm.itemCount !== null)?_c('b-badge',{staticClass:\"mr-4\",attrs:{\"pill\":\"\",\"variant\":\"secondary\"}},[_vm._v(_vm._s(_vm.itemCount))]):_vm._e(),(!_vm.api && _vm.items.length > 1)?_c('SortButtons',{model:{value:(_vm.sort),callback:function ($$v) {_vm.sort=$$v},expression:\"sort\"}}):_vm._e()],1),(_vm.showPagination)?_c('Pagination',{ref:\"topPagination\",attrs:{\"pagination\":_vm.pagination,\"placement\":\"top\"},on:{\"paginate\":_vm.paginate}}):_vm._e(),(_vm.allowFilter)?[(_vm.api)?_c('b-button',{directives:[{name:\"b-toggle\",rawName:\"v-b-toggle.itemFilter\",modifiers:{\"itemFilter\":true}}],staticClass:\"mb-4 mt-2\",class:{'ml-3': _vm.showPagination},attrs:{\"variant\":_vm.hasFilters && !_vm.filtersOpen ? 'primary' : 'outline-primary'}},[_c('b-icon-search'),_vm._v(\" \"+_vm._s(_vm.filtersOpen ? _vm.$t('items.hideFilter') : _vm.$t('items.showFilter'))+\" \"),(_vm.hasFilters && !_vm.filtersOpen)?_c('b-badge',{attrs:{\"variant\":\"dark\"}},[_vm._v(_vm._s(_vm.filterCount))]):_vm._e()],1):_vm._e(),_c('b-collapse',{attrs:{\"id\":\"itemFilter\"},model:{value:(_vm.filtersOpen),callback:function ($$v) {_vm.filtersOpen=$$v},expression:\"filtersOpen\"}},[_c('SearchFilter',{attrs:{\"type\":\"Items\",\"title\":_vm.$t('items.filter'),\"parent\":_vm.stac,\"value\":_vm.apiFilters},on:{\"input\":_vm.emitFilter}})],1)]:_vm._e(),_c('section',{staticClass:\"list\"},[(_vm.loading)?_c('Loading',{attrs:{\"fill\":\"\",\"top\":\"\"}}):_vm._e(),(_vm.chunkedItems.length > 0)?_c('b-card-group',{attrs:{\"columns\":\"\"}},_vm._l((_vm.chunkedItems),function(item){return _c('Item',{key:item.href,attrs:{\"item\":item}})}),1):_c('b-alert',{attrs:{\"variant\":_vm.hasFilters ? 'warning' : 'info',\"show\":\"\"}},[(_vm.hasFilters)?[_vm._v(_vm._s(_vm.$t('search.noItemsFound')))]:[_vm._v(_vm._s(_vm.$t('items.noneAvailableForCollection')))]],2)],1),(_vm.showPagination)?_c('Pagination',{attrs:{\"pagination\":_vm.pagination},on:{\"paginate\":_vm.paginate}}):(_vm.hasMore)?_c('b-button',{directives:[{name:\"b-visible\",rawName:\"v-b-visible.300\",value:(_vm.showMore),expression:\"showMore\",modifiers:{\"300\":true}}],attrs:{\"variant\":\"primary\"},on:{\"click\":_vm.showMore}},[_vm._v(_vm._s(_vm.$t('showMore')))]):_vm._e()],2)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n","import mod from \"-!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./Items.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./Items.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./Items.vue?vue&type=template&id=2ba357b1\"\nimport script from \"./Items.vue?vue&type=script&lang=js\"\nexport * from \"./Items.vue?vue&type=script&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',{class:_vm.classes},[_c('b-spinner',{attrs:{\"label\":_vm.$t('loading'),\"small\":_vm.small}})],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n","import mod from \"-!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./Loading.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./Loading.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./Loading.vue?vue&type=template&id=67931bb8&scoped=true\"\nimport script from \"./Loading.vue?vue&type=script&lang=js\"\nexport * from \"./Loading.vue?vue&type=script&lang=js\"\nimport style0 from \"./Loading.vue?vue&type=style&index=0&id=67931bb8&prod&lang=scss&scoped=true\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"67931bb8\",\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('b-button-group',{class:_vm.classes},[_c('b-button',{attrs:{\"disabled\":!_vm.pagination.first,\"variant\":\"primary\"},on:{\"click\":function($event){return _vm.paginate(_vm.pagination.first)}}},[_vm._v(_vm._s(_vm.$t('pagination.first')))]),_c('b-button',{attrs:{\"disabled\":!_vm.pagination.prev,\"variant\":\"primary\"},on:{\"click\":function($event){return _vm.paginate(_vm.pagination.prev)}}},[_vm._v(_vm._s(_vm.$t('pagination.previous')))]),_c('b-button',{attrs:{\"disabled\":!_vm.pagination.next,\"variant\":\"primary\"},on:{\"click\":function($event){return _vm.paginate(_vm.pagination.next)}}},[_vm._v(_vm._s(_vm.$t('pagination.next')))]),(_vm.pagination.last)?_c('b-button',{attrs:{\"variant\":\"primary\"},on:{\"click\":function($event){return _vm.paginate(_vm.pagination.last)}}},[_vm._v(_vm._s(_vm.$t('pagination.last')))]):_vm._e()],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n","import mod from \"-!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./Pagination.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./Pagination.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./Pagination.vue?vue&type=template&id=56aa2ed6\"\nimport script from \"./Pagination.vue?vue&type=script&lang=js\"\nexport * from \"./Pagination.vue?vue&type=script&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c(_vm.component,_vm._b({tag:\"component\",staticClass:\"stac-link\",attrs:{\"title\":_vm.tooltip}},'component',_vm.attributes,false),[(_vm.icon)?[_c('img',{staticClass:\"icon mr-2\",attrs:{\"src\":_vm.icon.href,\"alt\":_vm.icon.title,\"title\":_vm.icon.title}})]:_vm._e(),_c('span',{staticClass:\"title\"},[_vm._v(_vm._s(_vm.displayTitle))])],2)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n","import mod from \"-!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./StacLink.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./StacLink.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./StacLink.vue?vue&type=template&id=935ce1da\"\nimport script from \"./StacLink.vue?vue&type=script&lang=js\"\nexport * from \"./StacLink.vue?vue&type=script&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","module.exports = {\n catalogUrl: null,\n catalogTitle: \"STAC Browser\",\n allowExternalAccess: true, // Must be true if catalogUrl is not given\n allowedDomains: [],\n detectLocaleFromBrowser: true,\n storeLocale: true,\n locale: \"en\",\n fallbackLocale: \"en\",\n supportedLocales: [\n \"de\",\n// \"de-CH\",\n \"es\",\n \"en\",\n// \"en-GB\",\n// \"en-US\",\n \"fr\",\n// \"fr-CA\",\n// \"fr-CH\",\n \"it\",\n// \"it-CH\",\n \"ro\",\n \"ja\",\n \"pt\",\n// \"pt-BR\"\n ],\n apiCatalogPriority: null,\n useTileLayerAsFallback: true,\n displayGeoTiffByDefault: false,\n buildTileUrlTemplate: ({href, asset}) => \"https://tiles.rdnt.io/tiles/{z}/{x}/{y}@2x?url=\" + encodeURIComponent(asset.href.startsWith(\"/vsi\") ? asset.href : href),\n stacProxyUrl: null,\n pathPrefix: \"/\",\n historyMode: \"history\",\n cardViewMode: \"cards\",\n cardViewSort: \"asc\",\n showKeywordsInItemCards: false,\n showKeywordsInCatalogCards: false,\n showThumbnailsAsAssets: false,\n geoTiffResolution: 128,\n redirectLegacyUrls: false,\n itemsPerPage: 12,\n defaultThumbnailSize: null,\n maxPreviewsOnMap: 50,\n crossOriginMedia: null,\n requestHeaders: {},\n requestQueryParameters: {},\n socialSharing: ['email', 'bsky', 'mastodon', 'x'],\n preprocessSTAC: null,\n authConfig: null\n};\n","import i18n from '../i18n';\nimport Utils from '../utils';\n\nexport default class Auth {\n\n /**\n * Constructs the authentication method.\n * \n * @param {Object.} options Any potential options the authentication method needs\n * @param {Function} changeListener A change listener with two parameters: loggedIn (boolean) and credentials (string|null)\n * @param {Router} router The Vue router instance\n */\n constructor(options = {}, changeListener = null, router = null) {\n this.options = options;\n this.changeListener = changeListener;\n this.router = router;\n }\n\n /**\n * A tooltip title for the authentication button.\n * \n * @returns {string}\n */\n getButtonTitle() {\n return null;\n }\n\n /**\n * A label for the button that is shown when unauthorized (logged out).\n * \n * @returns {string}\n */\n getLoginLabel() {\n return i18n.t('authentication.button.login');\n }\n\n /**\n * A label for the button that is shown when authorized (logged in).\n * \n * @returns {string}\n */\n getLogoutLabel() {\n return i18n.t('authentication.button.logout');\n }\n\n getComponent() {\n return null;\n }\n\n getComponentProps() {\n return {};\n }\n\n async init() {\n return;\n }\n\n async login() {\n }\n\n async confirmLogin(credentials) {\n if (this.changeListener) {\n await this.changeListener(true, credentials);\n }\n }\n\n async logout(/*credentials*/) {\n }\n\n async confirmLogout() {\n if (this.changeListener) {\n await this.changeListener(false);\n }\n }\n\n async close() {\n return;\n }\n\n updateStore(/*value*/) {\n return {};\n }\n\n _updateStore(value, defaultName = null, defaultIn = null, defaultFormatter = null) {\n const formatter = this.options.formatter || defaultFormatter;\n const key = this.options.name || defaultName;\n const in_ = this.options.in || defaultIn;\n\n // Format the credentials\n if (value) {\n if (formatter === 'Bearer') {\n value = `Bearer ${value}`;\n }\n else if (typeof formatter === 'function') {\n value = formatter(value);\n }\n }\n if (!Utils.hasText(value)) {\n value = undefined;\n }\n\n // Set cookie, query or request parameters\n if (in_ === 'query') {\n return { query: { type: 'private', key, value } };\n }\n else if (in_ === 'cookie') {\n return { cookie: { key, value } };\n }\n else if (in_ === 'header') {\n return { header: { key, value } };\n }\n else {\n return {};\n }\n }\n\n static async create(config, changeListener, router) {\n let method = new Auth();\n if (Utils.isObject(config)) {\n if (config.type === 'http' && config.scheme === 'basic') {\n const BasicAuth = (await import('./basic')).default;\n method = new BasicAuth(config, changeListener, router);\n }\n else if (config.type === 'apiKey') {\n const ApIKey = (await import('./apiKey')).default;\n method = new ApIKey(config, changeListener, router);\n }\n else if (config.type === 'openIdConnect') {\n const OIDC = (await import('./oidc')).default;\n method = new OIDC(config, changeListener, router);\n }\n }\n await method.init();\n return method;\n }\n\n static equals(method, config) {\n return JSON.stringify(method.options) === JSON.stringify(config);\n }\n\n}\n","import Utils from \"./utils\";\n\nexport default class BrowserStorage {\n\n static JSON_INDICATOR = \"\\n\\r\";\n\n static enabled(engine) {\n if (!Utils.isObject(engine)) {\n return false;\n }\n try {\n engine.setItem('test', 'yes');\n if (engine.getItem('test') === 'yes') {\n engine.removeItem('test');\n return true;\n }\n } catch(error) {\n console.error(error);\n }\n return false;\n }\n\n constructor(session = false) {\n if (session) {\n if (BrowserStorage.enabled(window.sessionStorage)) {\n this.engine = window.sessionStorage;\n }\n else if (navigator.cookieEnabled) {\n this.engine = new Cookies(true);\n }\n else {\n this.engine = new NoOp();\n }\n }\n else {\n if (BrowserStorage.enabled(window.localStorage)) {\n this.engine = window.localStorage;\n }\n else if (navigator.cookieEnabled) {\n this.engine = new Cookies();\n }\n else {\n this.engine = new NoOp();\n }\n }\n }\n\n get(name) {\n try {\n let data = this.engine.getItem(name);\n if (typeof data === 'string' && data.startsWith(BrowserStorage.JSON_INDICATOR)) {\n data = JSON.parse(data.slice(BrowserStorage.JSON_INDICATOR.length));\n }\n return data;\n } catch(error) {\n console.error(error);\n return null;\n }\n }\n\n set(name, value) {\n try {\n if (typeof value !== 'string') {\n value = BrowserStorage.JSON_INDICATOR + JSON.stringify(value);\n }\n this.engine.setItem(name, value);\n } catch(error) {\n console.error(error);\n }\n }\n\n remove(name) {\n try {\n this.engine.removeItem(name);\n } catch(error) {\n console.error(error);\n }\n }\n\n clear() {\n this.engine.clear();\n }\n\n}\n\nexport class Cookies {\n\n constructor(session = false) {\n this.session = session;\n }\n\n getExpiry(minutes = null) {\n if (minutes === null) {\n if (this.session) {\n minutes = 60; // 60 minutes\n }\n else {\n minutes = 1000 * 24 * 60; // 1000 days\n }\n }\n const date = new Date();\n date.setTime(date.getTime() + minutes * 60 * 1000);\n this.epires = date.toGMTString();\n }\n\n setItem(name, value, minutes = null) {\n const expires = this.getExpiry(minutes);\n value = encodeURIComponent(value);\n document.cookie = `${name}=${value}; expires=${expires}; path=/`;\n }\n\n getItem(name) {\n const prefix = name + \"=\";\n const parts = document.cookie.split(';');\n for (let c of parts) {\n c = c.trim();\n if (c.startsWith(prefix)) {\n const data = c.substring(prefix.length, c.length);\n return decodeURIComponent(data);\n }\n }\n return null;\n }\n\n removeItem(name) {\n this.set(name, \"\", -1);\n }\n\n clear() {\n document.cookie = '';\n }\n\n}\n\n\nclass NoOp {\n\n constructor(session = false) {\n this.session = session;\n }\n\n setItem(name/*, value*/) {\n console.warn(`Browser storage disabled, can't store ${name}`);\n }\n\n getItem(/*name*/) {\n return null;\n }\n\n removeItem(/*name*/) {\n }\n\n clear() {\n }\n\n}\n","// Add deprecated CQL conformance classes for stac-fastapi:\n// https://github.com/stac-utils/stac-fastapi/issues/539\nconst CQL_TEXT = [\n 'https://api.stacspec.org/v1.*/item-search#filter:cql-text', // deprecated\n 'http://www.opengis.net/spec/cql2/1.*/conf/cql2-text'\n];\nconst CQL_JSON = [\n 'https://api.stacspec.org/v1.*/item-search#filter:cql-json', // deprecated\n 'http://www.opengis.net/spec/cql2/1.*/conf/cql2-json'\n];\n\nconst CQL_ADV_COMPARISON = ['http://www.opengis.net/spec/cql2/1.*/conf/advanced-comparison-operators'];\n\nimport { mapGetters } from \"vuex\";\n\nexport const TYPES = {\n // OGC / STAC API - Features\n Items: {\n BasicFilters: [\n 'https://api.stacspec.org/v1.*/ogcapi-features',\n 'http://www.opengis.net/spec/ogcapi-features-1/1.*/conf/core'\n ],\n CollectionIdFilter: false,\n ItemIdFilter: false,\n // It seems some conformance classes use conf (correct) and some req (deprecated?) after the version number\n CqlFilters: ['http://www.opengis.net/spec/ogcapi-features-3/1.*/*/features-filter'],\n Sort: [\n 'https://api.stacspec.org/v1.*/ogcapi-features#sort',\n 'http://www.opengis.net/spec/ogcapi-records-1/1.*/conf/sorting'\n ],\n FreeText: ['https://api.stacspec.org/v1.*/ogcapi-features#free-text']\n },\n // STAC API - Item Search\n Global: {\n BasicFilters: ['https://api.stacspec.org/v1.*/item-search'],\n CollectionIdFilter: true,\n ItemIdFilter: true,\n CqlFilters: ['https://api.stacspec.org/v1.*/item-search#filter'],\n Sort: ['https://api.stacspec.org/v1.*/item-search#sort'],\n FreeText: ['https://api.stacspec.org/v1.*/item-search#free-text']\n },\n // OGC / STAC API - Collections\n Collections: {\n BasicFilters: ['https://api.stacspec.org/v1.*/collection-search'],\n CollectionIdFilter: false,\n ItemIdFilter: false,\n CqlFilters: ['https://api.stacspec.org/v1.*/collection-search#filter'],\n Sort: ['https://api.stacspec.org/v1.*/collection-search#sort'],\n FreeText: ['https://api.stacspec.org/v1.*/collection-search#free-text']\n }\n};\n\nexport default {\n props: {\n type: {\n type: String,\n required: true\n }\n },\n computed: {\n ...mapGetters(['supportsConformance']),\n\n conformances() {\n return TYPES[this.type];\n },\n\n canSort() {\n return this.supportsConformance(this.conformances.Sort);\n },\n canFilterExtents() {\n return this.supportsConformance(this.conformances.BasicFilters);\n },\n canFilterFreeText() {\n return this.supportsConformance(this.conformances.FreeText);\n },\n cql() {\n if (!this.supportsConformance(this.conformances.CqlFilters)) {\n return null;\n }\n let textMode = this.supportsConformance(CQL_TEXT);\n let jsonMode = this.supportsConformance(CQL_JSON);\n if (!textMode && !jsonMode) {\n return null;\n }\n\n return {\n textMode,\n jsonMode,\n advancedComparison: this.supportsConformance(CQL_ADV_COMPARISON)\n };\n }\n }\n};\n","import { mapState } from 'vuex';\n\nexport default functions => {\n let mixin = {\n computed: {\n ...mapState(['uiLanguage'])\n },\n methods: {}\n };\n for(let name in functions) {\n let fn = functions[name];\n mixin.methods[name] = function() {\n // We call uiLanguage once so that it's a dependency for the computed property\n // which makes the computed property to re-render when uiLanguage changes.\n this.uiLanguage;\n return fn(...arguments);\n };\n }\n return mixin;\n};\n","import { mapState } from 'vuex';\n\nexport default {\n props: {\n showThumbnail: {\n type: Boolean,\n default: true\n }\n },\n computed: {\n ...mapState(['cardViewMode', 'crossOriginMedia', 'defaultThumbnailSize']),\n isList() {\n return this.data && !this.data.isItem() && this.cardViewMode === 'list';\n },\n hasImage() {\n return this.showThumbnail && this.thumbnail;\n },\n thumbnail() {\n if (this.data) {\n let thumbnails = this.data.getThumbnails(true, 'thumbnail');\n if (thumbnails.length > 0) {\n let t = thumbnails[0];\n let width, height;\n if (Array.isArray(t['proj:shape']) && t['proj:shape'].length === 2) {\n [height, width] = t['proj:shape'];\n }\n else if (Array.isArray(this.defaultThumbnailSize) && this.defaultThumbnailSize.length === 2) {\n [height, width] = this.defaultThumbnailSize;\n }\n return {\n src: t.href,\n alt: t.title,\n crossorigin: this.crossOriginMedia,\n right: this.isList,\n blankColor: \"rgba(0, 0, 0, 0.125)\",\n width,\n height,\n // for b-card-img-lazy\n \"blank-width\": width,\n \"blank-height\": height\n };\n }\n }\n return null;\n }\n }\n};","import Utils from '../../utils.js';\nimport STAC from '../../models/stac.js';\nimport Auth from '../../auth/index.js';\n\nexport default class AuthUtils {\n\n static resolveAuth(obj, context) {\n if (context instanceof STAC && Utils.size(obj['auth:refs']) > 0) {\n const scheme = context.getMetadata('auth:schemes');\n if (Utils.size(scheme) > 0) {\n return obj['auth:refs']\n .map(ref => scheme[ref])\n .filter(ref => Utils.isObject(ref));\n }\n }\n return [];\n }\n\n static isSupported(method, config) {\n if (method instanceof Auth) {\n method = method.options;\n }\n switch(method.type) {\n case 'http':\n return (method.schema === 'basic');\n case 'apiKey':\n return (method.in === 'header' || method.in === 'query');\n case 'openIdConnect':\n return (config.historyMode === 'history');\n default:\n return false;\n }\n }\n\n static convertLegacyAuthConfig(config) {\n if (!Utils.isObject(config) || config.type === null) {\n return null;\n }\n else if (config.type === 'query' || config.type === 'header') {\n // It is the old format\n return {\n type: 'apiKey',\n in: config.type,\n name: config.key,\n description: config.description,\n formatter: config.formatter\n };\n }\n else {\n // Is the new format from the authentication extension\n return config;\n }\n }\n\n}\n","let config;\nif (typeof CONFIG_PATH === 'undefined') {\n config = require('../config');\n}\nelse {\n config = require(CONFIG_PATH);\n}\n\nexport default Object.assign(config, CONFIG_CLI, window.STAC_BROWSER_CONFIG);","import Vue from 'vue';\nimport VueI18n from 'vue-i18n';\nimport CONFIG from './config';\nimport { default as Fields } from '@radiantearth/stac-fields/I18N';\nimport Utils from './utils';\n\nVue.use(VueI18n);\n\nexport const API_LANGUAGE_CONFORMANCE = ['https://api.stacspec.org/v1.*/language'];\n\nconst LOCALE_CONFIG = {};\n\nfunction loadLocaleConfig() {\n // Load locale config\n for (let locale of CONFIG.supportedLocales) {\n LOCALE_CONFIG[locale] = require(`./locales/${locale}/config.json`);\n }\n const messages = {};\n // Add language names all other languages\n for (let locale in LOCALE_CONFIG) {\n messages[locale] = {\n languages: LOCALE_CONFIG\n };\n }\n return messages;\n}\n\nconst i18n = new VueI18n({\n locale: CONFIG.locale,\n fallbackLocale: CONFIG.fallbackLocale,\n messages: loadLocaleConfig(),\n // Todo: Workaround for https://github.com/kazupon/vue-i18n/issues/563\n postTranslation: (value, path) => {\n if (value === \"\") {\n const parts = path.split('.');\n let message = i18n.messages[CONFIG.fallbackLocale];\n for (const key of parts) {\n if (key in message) {\n message = message[key];\n }\n else {\n return value;\n }\n }\n return message;\n }\n return value;\n }\n});\nexport default i18n;\n\nexport function loadDefaultMessages() {\n return Promise.all([\n loadMessages(CONFIG.locale),\n loadMessages(CONFIG.fallbackLocale)\n ]);\n}\n\nexport async function loadMessages(locale) {\n // Check whether the language has already been loaded\n // Note that a languages key is already present thus check >1 and not >0\n if (Utils.size(i18n.messages[locale]) > 1) {\n return;\n }\n const messages = (await import(`./locales/${locale}/default.js`)).default;\n i18n.mergeLocaleMessage(locale, messages);\n}\n\nexport async function executeCustomFunctions(locale) {\n const customizeFiles = LOCALE_CONFIG[locale].customize;\n if (Utils.size(LOCALE_CONFIG[locale].customize) === 0) {\n return;\n }\n const p = customizeFiles.map(async (file) => {\n const fn = (await import(`./locales/${locale}/${file}`)).default;\n return await fn(locale);\n });\n return Promise.all(p);\n}\n\nexport function translateFields(value, vars = null) {\n if (typeof value !== 'string' || value.length === 0) {\n return value;\n }\n let key = `fields.${value}`;\n if (i18n.te(key)) {\n return i18n.t(key, null, vars);\n }\n return Fields.format(value, vars);\n}\n","// This code is based on https://github.com/cherry-projects/locale-id\n// Due to the \"heavy\" dependencies, it has been slimmed down\n\n// http://userguide.icu-project.org/locale\nexport default function parse(locale) {\n if (!locale) {\n return undefined;\n }\n\n // extract keyword\n const stringLocale = String(locale);\n const keywordPos = stringLocale.indexOf('@');\n\n const keyword = keywordPos !== -1\n ? stringLocale.substr(keywordPos + 1)\n : undefined;\n\n const localeWithoutKeyword = keywordPos !== -1\n ? stringLocale.substr(0, keywordPos)\n : stringLocale;\n\n // en-us => en_us\n const parts = String(localeWithoutKeyword)\n .replace(/-/g, '_')\n .split('_');\n\n if (!parts.length || parts.length > 4) {\n return undefined;\n }\n\n const language = parts.shift();\n if (!language) {\n return undefined;\n }\n\n const retVar = {\n keyword,\n language: language.toLowerCase(),\n };\n\n if (!parts.length) {\n return retVar;\n }\n\n if (parts.length === 3) {\n const variant = parts.pop();\n if (variant) {\n retVar.variant = variant.toUpperCase();\n }\n }\n\n let country = parts.pop();\n if (country.length > 3) {\n retVar.keyword = country;\n\n country = parts.pop();\n }\n\n if (country) {\n retVar.country = country.toUpperCase();\n }\n\n if (!parts.length) {\n return retVar;\n }\n\n const script = parts.pop();\n if (typeof script === 'string' && script.length >= 1) {\n retVar.script = script[0].toUpperCase() + script.substring(1).toLowerCase();\n }\n\n return retVar;\n}\n\nexport function normalize(locale, delimeter = '_') {\n const obj = parse(locale);\n if (!obj) {\n return obj;\n }\n\n let result = obj.language;\n\n if (obj.script) {\n result += `${delimeter}${obj.script}`;\n }\n\n if (obj.country) {\n result += `${delimeter}${obj.country}`;\n }\n\n return result;\n}\n\nconst splitAcceptLanguageRegEx = /([a-z]{1,8}(-[a-z]{1,8})?)\\s*(;\\s*q\\s*=\\s*(1|0\\.[0-9]+))?/ig;\nconst acceptLanguageItemRegEx = /^([a-z]{1,8}(-[a-z]{1,8})?)/i;\n\nexport function normalizeAcceptLanguage(acceptLanguage) {\n const returnItems = [];\n if (!acceptLanguage) {\n return returnItems;\n }\n\n const items = acceptLanguage.match(splitAcceptLanguageRegEx) || [];\n items.forEach(acceptLanguageItem => {\n const matches = acceptLanguageItem.match(acceptLanguageItemRegEx) || [];\n const locale = normalize(matches[0]);\n if (locale) {\n returnItems.push(locale);\n }\n });\n\n return returnItems;\n}\n\nexport function prepareSupported(supported) {\n const lgs = {};\n\n supported.forEach(supportedLocale => {\n const { language, country } = parse(supportedLocale);\n if (!language) {\n throw new Error(`Locale ${supportedLocale} is not parsable`);\n }\n\n if (!lgs[language]) {\n lgs[language] = {\n countries: {},\n firstCountry: undefined,\n main: undefined,\n };\n }\n\n const lg = lgs[language];\n if (country) {\n lg.countries[country] = supportedLocale;\n\n if (!lg.firstCountry) {\n lg.firstCountry = supportedLocale;\n }\n } else {\n lg.main = supportedLocale;\n }\n });\n\n return lgs;\n}\n\nexport function getBest(supported, locale, defaultLocale, getAnyCountry) {\n const lgs = Array.isArray(supported) ? prepareSupported(supported) : supported;\n\n // return defaultLocale if current locale is undefined\n if (!locale && defaultLocale) {\n return getBest(supported, defaultLocale, undefined, getAnyCountry);\n }\n\n if (!locale) {\n return undefined;\n }\n\n const { language, country } = parse(locale);\n if (!language) {\n return defaultLocale;\n }\n\n // selected locale is not supported\n if (!lgs[language]) {\n if (locale === defaultLocale) {\n return undefined;\n }\n\n return getBest(supported, defaultLocale, null, getAnyCountry);\n }\n\n const { countries, main = defaultLocale, firstCountry } = lgs[language];\n if (!countries || !country) {\n if (getAnyCountry && firstCountry) {\n return firstCountry;\n }\n\n return main;\n }\n\n if (getAnyCountry && firstCountry) {\n return countries[country] ? countries[country] : firstCountry;\n }\n\n return countries[country] ? countries[country] : main;\n}\n","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('b-container',{attrs:{\"id\":\"stac-browser\"}},[(_vm.showLogin)?_c('Authentication'):_vm._e(),(_vm.globalError)?_c('ErrorAlert',_vm._b({staticClass:\"global-error\",attrs:{\"dismissible\":\"\"},on:{\"close\":_vm.hideError}},'ErrorAlert',_vm.globalError,false)):_vm._e(),(_vm.sidebar)?_c('Sidebar'):_vm._e(),_c('header',[_c('div',{staticClass:\"logo\"},[_vm._v(_vm._s(_vm.displayCatalogTitle))]),_c('StacHeader',{on:{\"enableSidebar\":function($event){_vm.sidebar = true}}})],1),_c('router-view'),_c('footer',[_c('i18n',{staticClass:\"poweredby text-muted\",attrs:{\"tag\":\"small\",\"path\":\"poweredBy\"},scopedSlots:_vm._u([{key:\"link\",fn:function(){return [_c('a',{attrs:{\"href\":\"https://github.com/radiantearth/stac-browser\",\"target\":\"_blank\"}},[_vm._v(\"STAC Browser\")]),_vm._v(\" \"+_vm._s(_vm.browserVersion)+\" \")]},proxy:true}])})],1)],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('main',{staticClass:\"browse d-flex flex-column\"},[(!_vm.allowExternalAccess && _vm.isExternal)?_c('b-alert',{attrs:{\"show\":\"\"}},[_vm._v(_vm._s(_vm.$t('errors.noExternalAccess')))]):(_vm.error)?_c('ErrorAlert',{attrs:{\"url\":_vm.url,\"description\":_vm.errorDescription,\"id\":_vm.errorId}}):(_vm.loading)?_c('Loading',{attrs:{\"stretch\":\"\"}}):_c(_vm.component,{tag:\"component\"})],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',{key:_vm.data.id,staticClass:\"item\"},[_c('b-row',[_c('b-col',{staticClass:\"left\"},[_c('section',{staticClass:\"mb-4\"},[_c('b-card',{staticClass:\"maps-preview\",attrs:{\"no-body\":\"\"}},[_c('b-tabs',{ref:\"tabs\",attrs:{\"card\":\"\",\"pills\":\"\",\"vertical\":\"\",\"end\":\"\"},model:{value:(_vm.tab),callback:function ($$v) {_vm.tab=$$v},expression:\"tab\"}},[_c('b-tab',{attrs:{\"title\":_vm.$t('map'),\"no-body\":\"\"}},[_c('Map',{attrs:{\"stac\":_vm.data,\"stacLayerData\":_vm.selectedAsset,\"scrollWheelZoom\":\"\"},on:{\"dataChanged\":_vm.dataChanged}})],1),(_vm.thumbnails.length > 0)?_c('b-tab',{attrs:{\"title\":_vm.$t('thumbnails'),\"no-body\":\"\"}},[_c('Thumbnails',{attrs:{\"thumbnails\":_vm.thumbnails}})],1):_vm._e()],1)],1)],1),(_vm.hasAssets)?_c('Assets',{attrs:{\"assets\":_vm.assets,\"context\":_vm.data,\"shown\":_vm.shownAssets},on:{\"showAsset\":_vm.showAsset}}):_vm._e(),(_vm.additionalLinks.length > 0)?_c('Links',{attrs:{\"title\":_vm.$t('additionalResources'),\"links\":_vm.additionalLinks,\"context\":_vm.data}}):_vm._e()],1),_c('b-col',{staticClass:\"right\"},[_c('section',{staticClass:\"intro\"},[(_vm.data.properties.description)?_c('h2',[_vm._v(_vm._s(_vm.$t('description')))]):_vm._e(),(_vm.data.properties.deprecated)?_c('DeprecationNotice',{attrs:{\"data\":_vm.data}}):_vm._e(),(_vm.data.properties['anon:warning'])?_c('AnonymizedNotice',{attrs:{\"warning\":_vm.data.properties['anon:warning']}}):_vm._e(),(_vm.data.properties.description)?_c('ReadMore',{attrs:{\"lines\":10,\"text\":_vm.$t('read.more'),\"text-less\":_vm.$t('read.less')}},[_c('Description',{attrs:{\"description\":_vm.data.properties.description}})],1):_vm._e(),(Array.isArray(_vm.data.properties.keywords) && _vm.data.properties.keywords.length > 0)?_c('Keywords',{staticClass:\"mb-3\",attrs:{\"keywords\":_vm.data.properties.keywords}}):_vm._e()],1),(_vm.collectionLink)?_c('CollectionLink',{attrs:{\"link\":_vm.collectionLink}}):_vm._e(),(_vm.data.properties.providers)?_c('Providers',{attrs:{\"providers\":_vm.data.properties.providers}}):_vm._e(),_c('Metadata',{attrs:{\"data\":_vm.data,\"type\":\"Item\",\"ignoreFields\":_vm.ignoredMetadataFields}})],1)],1)],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import Utils from '../utils';\nimport { mapGetters } from 'vuex';\n\nexport default {\n data() {\n return {\n shownAssetsOnMap: [],\n shownBandsOnMap: [],\n tab: null,\n selectedAsset: null,\n selectedAssetKey: null\n };\n },\n computed: {\n ...mapGetters(['thumbnails', 'hasAssets', 'assets']),\n shownAssets() {\n if (this.tab === 0) {\n return this.shownAssetsOnMap;\n }\n else if (this.tab === 1 || (this.tab === null && this.thumbnails.length > 0)) {\n let keys = [];\n let thumbnailRefs = this.thumbnails.map(t => t.href);\n for(let key in this.assets) {\n let asset = this.assets[key];\n if (thumbnailRefs.includes(asset.href)) {\n keys.push(key);\n }\n }\n return keys;\n }\n return [];\n }\n },\n methods: {\n showAsset(asset, id, isThumbnail) {\n if (isThumbnail) {\n this.tab = 1;\n }\n else {\n this.tab = 0;\n this.selectedAsset = asset;\n this.selectedAssetKey = id;\n this.shownAssetsOnMap = [this.selectedAssetKey];\n }\n if (this.$refs.tabs) {\n Utils.scrollTo(this.$refs.tabs.$el);\n }\n },\n dataChanged(data) {\n if (!Utils.isObject(data)) {\n this.shownBandsOnMap = [];\n this.shownAssetsOnMap = [];\n }\n else if (data.assets || data.bands) {\n if (Utils.size(data.assets) > 0) {\n if (this.selectedAssetKey) {\n this.shownAssetsOnMap = [this.selectedAssetKey];\n }\n else {\n this.shownAssetsOnMap = data.assets.map(meta => meta.key);\n }\n }\n if (Utils.size(data.bands) > 0) {\n this.shownBandsOnMap = data.bands;\n }\n }\n else if (this.selectedAssetKey) {\n this.shownAssetsOnMap = [this.selectedAssetKey];\n }\n }\n }\n};\n","import Utils from './utils';\nimport STAC from './models/stac';\nimport URI from 'urijs';\nimport i18n from './i18n';\n\nfunction toBrowserUrl(url, store) {\n let path = store.getters.toBrowserPath(url);\n let uri = URI(window.location.origin.toString());\n if (store.state.historyMode === 'hash') {\n uri.path(store.state.pathPrefix);\n uri.fragment(path);\n }\n else {\n uri.path(Utils.removeTrailingSlash(store.state.pathPrefix) + path);\n }\n return uri.toString();\n}\n\nfunction addSpatialCoverage(schema, bbox) {\n if (Array.isArray(bbox) && bbox.length >= 4) {\n schema.spatialCoverage = {\n \"@type\": \"Place\",\n geo: {\n \"@type\": \"GeoShape\",\n box: (bbox || []).join(\" \")\n }\n };\n }\n}\n\nfunction formatTemporalCoverage(dates) {\n if (Array.isArray(dates) && dates.length === 2 && (typeof dates[0] === 'string' || typeof dates[1] === 'string')) {\n return dates.map(dt => dt ? dt : '..').join('/');\n }\n return null;\n}\n\nfunction makeAssets(data) {\n if (Utils.size(data.assets) > 0) {\n return Object.values(data.assets).map(a => ({\n \"@type\": \"DataDownload\",\n contentUrl: Utils.toAbsolute(a.href, data.getAbsoluteUrl()),\n encodingFormat: a.type,\n name: a.title\n }));\n }\n return [];\n}\n\nfunction makeLinks(links, data, store, type = \"DataCatalog\") {\n return links.map(link => {\n let name, isBasedOn;\n if (link instanceof STAC) {\n name = STAC.getDisplayTitle(link);\n isBasedOn = link.getAbsoluteUrl();\n }\n else {\n name = link.title;\n isBasedOn = Utils.toAbsolute(link.href, data.getAbsoluteUrl());\n }\n let obj = {\n \"@type\": type,\n name,\n url: toBrowserUrl(isBasedOn, store),\n isBasedOn\n };\n if (type === 'Dataset') {\n obj.description = fallbackDescription(link, store);\n }\n return obj;\n });\n}\n\nfunction makeProvider(providers, role) {\n return providers\n .filter(p => Utils.isObject(p) && Array.isArray(p.roles) && p.roles.includes(role))\n .map(p => ({\n \"@type\": \"Organization\",\n \"name\": p.name,\n \"description\": p.description,\n \"url\": p.url,\n \"email\": p.email || p.mail,\n }));\n}\n\nfunction fallbackDescription(data, store) {\n let stacType, container;\n if (data instanceof STAC) {\n stacType = data.isItem() ? \"Item\" : data.type;\n container = data.collection;\n }\n else if (Utils.isObject(data) && data.rel === 'item') {\n stacType = \"Item\";\n }\n if (stacType) {\n let type = i18n.tc(`stac${stacType}`);\n let inX = i18n.t('in', {catalog: container || store.catalogTitle});\n return `SpatioTemporal Asset Catalog (STAC)\\n${type} - ${data.id} ${inX}`;\n }\n}\n\nfunction createBaseSchema(data, type, store) {\n let name = STAC.getDisplayTitle(data);\n let stacUrl = data.getAbsoluteUrl();\n let url = toBrowserUrl(stacUrl, store);\n let inLanguage = data.getMetadata('language')?.code;\n let thumbnails = data.getThumbnails(true);\n let thumbnailUrl;\n if (thumbnails.length > 0) {\n thumbnailUrl = Utils.toAbsolute(thumbnails[0].href, data.getAbsoluteUrl());\n }\n let license = data.getMetadata('license');\n if (license && license !== 'proprietary' && license !== 'various' && license !== 'other') {\n license = `https://spdx.org/licenses/${license}.html`;\n }\n else {\n license = data.getLinkWithRel('license')?.href;\n }\n if (license) {\n license = Utils.toAbsolute(license, data.getAbsoluteUrl());\n }\n\n let providers = data.getMetadata('providers');\n let copyrightHolder; // licensor\n let producer; // producer\n let provider; // host\n let creator; // processor\n if (Utils.size(providers) > 0) {\n copyrightHolder = makeProvider(providers, \"licensor\");\n producer = makeProvider(providers, \"producer\");\n provider = makeProvider(providers, \"host\");\n creator = makeProvider(providers, \"processor\");\n }\n\n return {\n \"@context\": \"https://schema.org/\",\n \"@type\": type,\n name,\n description: data.getMetadata(\"description\") || fallbackDescription(data, store),\n citation: data.getMetadata(\"sci:citation\"),\n identifier: data.getMetadata(\"sci:doi\") || data.id,\n keywords: data.getMetadata(\"keywords\"),\n license,\n url,\n isBasedOn: stacUrl,\n dateCreated: data.getMetadata('created'),\n dateModified: data.getMetadata('updated'),\n datePublished: data.getMetadata('published'),\n expires: data.getMetadata('expires'),\n inLanguage,\n thumbnailUrl,\n version: data.getMetadata('version'),\n image: thumbnailUrl,\n copyrightHolder,\n producer,\n provider,\n creator\n };\n}\n\nexport function createCatalogSchema(data, parents, store) {\n if (!(data instanceof STAC)) {\n return null;\n }\n // Remove invalid links\n parents = parents.filter(link => Utils.isObject(link));\n if (parents.length > 1) {\n // Remove duplicates\n parents = parents.filter((link, i) => parents.findIndex(p => p.isBasedOn === link.isBasedOn) !== i);\n }\n\n let schema = createBaseSchema(data, 'DataCatalog', store);\n\n if (data.isCollection()) {\n if (data.extent?.temporal?.interval.length > 0) {\n schema.temporalCoverage = formatTemporalCoverage(data.extent.temporal.interval[0]);\n }\n\n if (data.extent?.spatial?.bbox.length > 0) {\n addSpatialCoverage(schema, data.extent.spatial.bbox[0]);\n }\n schema.associatedMedia = makeAssets(data);\n }\n\n schema.hasPart = makeLinks(store.getters.catalogs, data, store);\n schema.dataset = makeLinks(store.getters.items, data, store, \"Dataset\");\n schema.isPartOf = makeLinks(parents, data, store);\n\n return schema;\n}\n\nexport function createItemSchema(data, parents, store) {\n if (!(data instanceof STAC)) {\n return null;\n }\n parents = parents.filter(link => Utils.isObject(link));\n\n let schema = createBaseSchema(data, 'Dataset', store);\n\n schema.includedInDataCatalog = makeLinks(parents, data, store);\n\n let start = data.getMetadata('start_datetime');\n let end = data.getMetadata('end_datetime');\n if (start || end) {\n schema.temporalCoverage = formatTemporalCoverage([start, end]);\n }\n else {\n schema.temporalCoverage = data.getMetadata('datetime');\n }\n\n addSpatialCoverage(schema, data.bbox);\n schema.distribution = makeAssets(data);\n\n return schema;\n}\n\nexport function addSchemaToDocument(doc, schema) {\n let id = 'schema-org';\n let element = doc.getElementById(id);\n if (!element) {\n element = doc.createElement('script');\n element.type = 'application/ld+json';\n element.id = id;\n doc.head.appendChild(element);\n }\n element.innerText = JSON.stringify(schema);\n}\n","\n\n\n\n\n","import mod from \"-!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./Item.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./Item.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./Item.vue?vue&type=template&id=5a87283c\"\nimport script from \"./Item.vue?vue&type=script&lang=js\"\nexport * from \"./Item.vue?vue&type=script&lang=js\"\nimport style0 from \"./Item.vue?vue&type=style&index=0&id=5a87283c&prod&lang=scss\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',{key:_vm.data.id,class:{cc: true, [_vm.cssStacType]: true, mixed: _vm.hasCatalogs && _vm.hasItems, empty: !_vm.hasCatalogs && !_vm.hasItems}},[_c('b-row',[_c('b-col',{staticClass:\"meta\"},[_c('section',{staticClass:\"intro\"},[_c('h2',[_vm._v(_vm._s(_vm.$t('description')))]),(_vm.data.deprecated)?_c('DeprecationNotice',{attrs:{\"data\":_vm.data}}):_vm._e(),(_vm.data['anon:warning'])?_c('AnonymizedNotice',{attrs:{\"warning\":_vm.data['anon:warning']}}):_vm._e(),(_vm.data.description)?_c('ReadMore',{attrs:{\"lines\":10,\"text\":_vm.$t('read.more'),\"text-less\":_vm.$t('read.less')}},[_c('Description',{attrs:{\"description\":_vm.data.description}})],1):_vm._e(),(Array.isArray(_vm.data.keywords) && _vm.data.keywords.length > 0)?_c('Keywords',{staticClass:\"mb-3\",attrs:{\"keywords\":_vm.data.keywords}}):_vm._e(),(_vm.isCollection)?_c('section',{staticClass:\"metadata mb-4\"},[(_vm.licenses)?_c('b-row',[_c('b-col',{staticClass:\"label\",attrs:{\"md\":\"4\"}},[_vm._v(_vm._s(_vm.$t('catalog.license')))]),_c('b-col',{staticClass:\"value\",attrs:{\"md\":\"8\"}},[_c('span',{domProps:{\"innerHTML\":_vm._s(_vm.licenses)}})])],1):_vm._e(),(_vm.temporalExtents)?_c('b-row',[_c('b-col',{staticClass:\"label\",attrs:{\"md\":\"4\"}},[_vm._v(_vm._s(_vm.$t('catalog.temporalExtent')))]),_c('b-col',{staticClass:\"value\",attrs:{\"md\":\"8\"}},[_c('span',{domProps:{\"innerHTML\":_vm._s(_vm.temporalExtents)}})])],1):_vm._e()],1):_vm._e(),(_vm.linkPosition === 'left')?_c('Links',{attrs:{\"title\":_vm.$t('additionalResources'),\"links\":_vm.additionalLinks,\"context\":_vm.data}}):_vm._e()],1),(_vm.isCollection || _vm.hasThumbnails)?_c('section',{staticClass:\"mb-4\"},[_c('b-card',{staticClass:\"maps-preview\",attrs:{\"no-body\":\"\"}},[_c('b-tabs',{ref:\"tabs\",attrs:{\"pills\":\"\",\"card\":\"\",\"vertical\":\"\",\"end\":\"\"},model:{value:(_vm.tab),callback:function ($$v) {_vm.tab=$$v},expression:\"tab\"}},[(_vm.isCollection)?_c('b-tab',{attrs:{\"title\":_vm.$t('map'),\"no-body\":\"\"}},[_c('Map',{attrs:{\"stac\":_vm.data,\"stacLayerData\":_vm.mapData,\"fitBoundsOnce\":\"\",\"popover\":\"\"},on:{\"dataChanged\":_vm.dataChanged}})],1):_vm._e(),(_vm.hasThumbnails)?_c('b-tab',{attrs:{\"title\":_vm.$t('thumbnails'),\"no-body\":\"\"}},[_c('Thumbnails',{attrs:{\"thumbnails\":_vm.thumbnails}})],1):_vm._e()],1)],1)],1):_vm._e(),(_vm.hasAssets)?_c('Assets',{attrs:{\"assets\":_vm.assets,\"context\":_vm.data,\"shown\":_vm.shownAssets},on:{\"showAsset\":_vm.showAsset}}):_vm._e(),(_vm.hasItemAssets && !_vm.hasItems)?_c('Assets',{attrs:{\"assets\":_vm.data.item_assets,\"context\":_vm.data,\"definition\":true}}):_vm._e(),(_vm.providers)?_c('Providers',{attrs:{\"providers\":_vm.providers}}):_vm._e(),_c('Metadata',{staticClass:\"mb-4\",attrs:{\"type\":_vm.data.type,\"data\":_vm.data,\"ignoreFields\":_vm.ignoredMetadataFields}}),(_vm.collectionLink)?_c('CollectionLink',{attrs:{\"link\":_vm.collectionLink}}):_vm._e(),(_vm.linkPosition === 'right')?_c('Links',{attrs:{\"title\":_vm.$t('additionalResources'),\"links\":_vm.additionalLinks,\"context\":_vm.data}}):_vm._e()],1),(_vm.hasCatalogs)?_c('b-col',{staticClass:\"catalogs-container\"},[_c('Catalogs',{attrs:{\"catalogs\":_vm.catalogs,\"hasMore\":!!_vm.nextCollectionsLink},on:{\"loadMore\":_vm.loadMoreCollections}})],1):_vm._e(),(_vm.hasItems)?_c('b-col',{staticClass:\"items-container\"},[_c('Items',{attrs:{\"stac\":_vm.data,\"items\":_vm.items,\"api\":_vm.isApi,\"showFilters\":_vm.showFilters,\"apiFilters\":_vm.filters,\"pagination\":_vm.itemPages,\"loading\":_vm.apiItemsLoading},on:{\"paginate\":_vm.paginateItems,\"filterItems\":_vm.filterItems,\"filtersShown\":_vm.filtersShown}}),(_vm.hasItemAssets)?_c('Assets',{attrs:{\"assets\":_vm.data.item_assets,\"context\":_vm.data,\"definition\":true}}):_vm._e()],1):_vm._e()],1)],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n","import mod from \"-!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./Catalog.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./Catalog.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./Catalog.vue?vue&type=template&id=41cf114e\"\nimport script from \"./Catalog.vue?vue&type=script&lang=js\"\nexport * from \"./Catalog.vue?vue&type=script&lang=js\"\nimport style0 from \"./Catalog.vue?vue&type=style&index=0&id=41cf114e&prod&lang=scss\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","\n\n\n","import mod from \"-!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./Browse.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./Browse.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./Browse.vue?vue&type=template&id=21cc23bf\"\nimport script from \"./Browse.vue?vue&type=script&lang=js\"\nexport * from \"./Browse.vue?vue&type=script&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","import Browse from '../views/Browse.vue';\n\nfunction getPath(route, config) {\n let path = route.params.pathMatch;\n if (config.allowExternalAccess && path.startsWith(\"external/\")) {\n path = '/' + path;\n }\n return {path};\n}\n\nfunction getRoutes(config) {\n let routes = [];\n\n if (!config.catalogUrl) {\n routes.push({\n path: \"/\",\n name: \"select\",\n component: () => import(\"../views/SelectDataSource.vue\")\n });\n routes.push({\n path: \"/search/external/(.*)\",\n name: \"search\",\n component: () => import(\"../views/Search.vue\"),\n props: route => {\n return {\n loadParent: `/external/${route.params.pathMatch}`\n };\n }\n });\n }\n else {\n routes.push({\n path: \"/search\",\n name: \"search\",\n component: () => import(\"../views/Search.vue\")\n });\n }\n\n routes.push({\n path: '/auth/logout',\n name: \"logout\",\n component: () => import(\"../views/Logout.vue\")\n });\n routes.push({\n path: '/auth',\n component: () => import(\"../views/LoginCallback.vue\")\n });\n\n routes.push({\n path: \"/validation/(.*)\",\n name: \"validation\",\n component: () => import(\"../views/Validation.vue\"),\n props: route => getPath(route, config)\n });\n\n routes.push({\n path: \"/(.*)\",\n name: \"browse\",\n component: Browse,\n props: route => getPath(route, config)\n });\n\n return routes;\n}\n\nexport default getRoutes;\n","import Auth from '../auth';\nimport i18n from '../i18n';\nimport AuthUtils from '../components/auth/utils';\nimport BrowserStorage, { Cookies } from '../browser-store';\n\nconst handleAuthError = async (cx, error) => {\n cx.commit('showGlobalError', {\n error,\n message: i18n.t('errors.authFailed')\n }, { root: true });\n await cx.dispatch('updateCredentials');\n};\n\nexport default function getStore(router) {\n return {\n namespaced: true,\n state: {\n // Wrap in a function and use the getter instead of the state\n // Unfortunately, some auth libraries have internal state, which vuex doesn't like\n // and thus reports: \"do not mutate vuex store state outside mutation handlers.\"\n method: () => new Auth(),\n actions: [],\n credentials: null,\n inProgress: false\n },\n getters: {\n method(state) {\n return state.method();\n },\n canAuthenticate(state, getters, rootState) {\n return AuthUtils.isSupported(getters.method, rootState);\n },\n isLoggedIn(state) {\n return state.credentials !== null;\n },\n showLogin(state, getters) {\n return !getters.isLoggedIn && state.inProgress;\n }\n },\n mutations: {\n setCredentials(state, credentials) {\n state.credentials = credentials; // e.g. Username + Password or a Bearer Token\n },\n setMethod(state, method) {\n state.method = () => method;\n },\n addAction(state, callback) {\n state.actions.push(callback);\n },\n resetActions(state) {\n state.actions = [];\n },\n setInProgress(state, inProgress = true) {\n state.inProgress = inProgress;\n }\n },\n actions: {\n async waitForAuth(cx) {\n if (Auth.equals(cx.getters.method, cx.rootState.authConfig)) {\n return;\n }\n await cx.dispatch('updateMethod', cx.rootState.authConfig);\n },\n async updateMethod(cx, config) {\n config = AuthUtils.convertLegacyAuthConfig(config);\n if (!Auth.equals(cx.getters.method, config)) {\n await cx.getters.method.close();\n }\n\n const changeListener = async (isLoggedIn, credentials) => {\n if (!isLoggedIn) {\n credentials = null;\n }\n await cx.dispatch('updateCredentials', credentials);\n if (isLoggedIn) {\n await cx.dispatch('executeActions');\n }\n else {\n cx.commit('resetActions');\n }\n };\n \n const storage = new BrowserStorage(true);\n storage.set('authConfig', config);\n\n const newAuth = await Auth.create(config, changeListener, router);\n cx.commit('setMethod', newAuth);\n },\n async requestLogin(cx) {\n if (cx.getters.isLoggedIn) {\n return;\n }\n cx.commit('setInProgress');\n try {\n await cx.getters.method.login();\n } catch(error) {\n handleAuthError(cx, error);\n }\n },\n async finalizeLogin(cx, credentials = null) {\n cx.commit('setInProgress', false);\n try {\n await cx.getters.method.confirmLogin(credentials);\n } catch(error) {\n handleAuthError(cx, error);\n }\n },\n async abortLogin(cx) {\n cx.commit('setInProgress', false);\n },\n async requestLogout(cx) {\n if (!cx.getters.isLoggedIn) {\n return;\n }\n cx.commit('setInProgress');\n await cx.getters.method.logout();\n },\n async finalizeLogout(cx) {\n cx.commit('setInProgress', false);\n try {\n await cx.getters.method.confirmLogout();\n } catch(error) {\n handleAuthError(cx, error);\n }\n },\n // Format the value and add it to query parameters or headers\n async updateCredentials(cx, value = null) {\n cx.commit('setCredentials', value);\n const intent = cx.getters.method.updateStore(value);\n if (intent.query) {\n cx.commit('setQueryParameter', intent.query, { root: true });\n }\n else if (intent.header) {\n cx.commit('setRequestHeader', intent.header, { root: true });\n }\n else if (intent.cookie) {\n const cookie = new Cookies(true);\n cookie.setItem(intent.cookie.key, intent.cookie.value);\n }\n },\n async executeActions(cx) {\n for (let callback of cx.state.actions) {\n try {\n const p = callback();\n if (p instanceof Promise) {\n p.catch(error => handleAuthError(cx, error));\n }\n } catch (error) {\n handleAuthError(cx, error);\n }\n }\n cx.commit('resetActions');\n }\n }\n };\n}\n","import Vue from \"vue\";\nimport Vuex from \"vuex\";\n\nimport URI from \"urijs\";\n\nimport i18n from '../i18n';\nimport { stacBrowserSpecialHandling } from \"../rels\";\nimport Utils, { BrowserError } from '../utils';\nimport STAC from '../models/stac';\n\nimport auth from './auth.js';\nimport { addQueryIfNotExists, isAuthenticationError, Loading, processSTAC, proxyUrl, unproxyUrl, stacRequest } from './utils';\nimport { getBest } from '../locale-id';\nimport I18N from '@radiantearth/stac-fields/I18N';\nimport { translateFields, executeCustomFunctions, loadMessages } from '../i18n';\nimport { TYPES } from \"../components/ApiCapabilitiesMixin\";\nimport BrowserStorage from \"../browser-store.js\";\n\nfunction getStore(config, router) {\n // Local settings (e.g. for currently loaded STAC entity)\n const localDefaults = () => ({\n url: '',\n title: config.catalogTitle,\n description: null,\n data: null,\n parents: null,\n globalError: null,\n\n localRequestQueryParameters: {},\n stateQueryParameters: {\n language: null,\n asset: [],\n itemdef: []\n },\n\n apiItems: [],\n apiItemsLink: null,\n apiItemsPagination: {}\n });\n\n const catalogDefaults = () => ({\n queue: [],\n privateQueryParameters: {},\n authActions: [],\n conformsTo: [],\n dataLanguage: null,\n dataLanguages: [],\n\n apiCollections: [],\n apiItemsLoading: {},\n nextCollectionsLink: null\n });\n\n return new Vuex.Store({\n strict: process.env.NODE_ENV !== 'production',\n modules: {\n auth: auth(router)\n },\n state: Object.assign({}, config, localDefaults(), catalogDefaults(), {\n // Global settings\n database: {}, // STAC object, Error object or Loading object or Promise (when loading)\n allowSelectCatalog: !config.catalogUrl,\n globalRequestQueryParameters: config.requestQueryParameters,\n uiLanguage: config.locale\n }),\n getters: {\n loading: state => !state.url || !state.data || state.database[state.url] instanceof Loading,\n getApiItemsLoading: state => data => {\n let id = '';\n if (data instanceof Loading) {\n return true;\n }\n else if (data instanceof STAC) {\n id = data.id;\n }\n else if (typeof data === 'string') {\n id = data;\n }\n return state.apiItemsLoading[id] || false;\n },\n error: state => state.database[state.url] instanceof Error ? state.database[state.url] : null,\n getStac: state => (source, returnErrorObject = false) => {\n if (source instanceof STAC) {\n return source;\n }\n if (Utils.isObject(source) && Utils.hasText(source.href)) {\n source = source.href;\n }\n if (!Utils.hasText(source)) {\n return null;\n }\n let absoluteUrl = Utils.toAbsolute(source, state.url);\n let data = state.database[absoluteUrl];\n if (data instanceof STAC || (returnErrorObject && data instanceof Error)) {\n return data;\n }\n else {\n return null;\n }\n },\n\n displayCatalogTitle: (state, getters) => STAC.getDisplayTitle(getters.root, state.catalogTitle),\n\n isCollection: state => state.data?.isCollection() || false,\n isCatalog: state => state.data?.isCatalog() || false,\n isCatalogLike: state => state.data?.isCatalogLike() || false,\n isItem: state => state.data?.isItem() || false,\n\n root: (_, getters) => getters.getStac(getters.rootLink),\n\n rootLink: state => {\n let link = state.data?.getStacLinkWithRel('root');\n if (link) {\n return link;\n }\n else if (state.catalogUrl) {\n return Utils.createLink(state.catalogUrl, 'root');\n }\n else if (state.url && state.data instanceof STAC && state.data.getLinksWithRels(['conformance', 'service-desc', 'service-doc', 'data', 'search']).length > 0) {\n return Utils.createLink(state.url, 'root');\n }\n else if (state.url) {\n // Fallback: If we detect OGC API like paths, try to guess the paths\n let uri = URI(state.url);\n let path = uri.segment(-2);\n if (['collections', 'items'].includes(path)) {\n uri.segment(-1, \"\");\n uri.segment(-1, \"\");\n if (path === 'items') {\n uri.segment(-1, \"\");\n uri.segment(-1, \"\");\n }\n return Utils.createLink(uri.toString(), 'root');\n }\n }\n return null;\n },\n parentLink: state => {\n if (state.data instanceof STAC) {\n let link = state.data.getStacLinkWithRel('parent');\n if (link) {\n return link;\n }\n }\n\n // Fallback: If we detect OGC API like paths, try to guess the paths\n if (state.url) {\n let uri = URI(state.url);\n let path = uri.segment(-2);\n if (['collections', 'items'].includes(path)) {\n uri.segment(-1, \"\");\n uri.segment(-1, \"\");\n return Utils.createLink(uri.toString(), 'parent');\n }\n }\n\n return null;\n },\n collectionLink: state => {\n if (state.data instanceof STAC) {\n let link = state.data?.getStacLinkWithRel('collection');\n if (link) {\n return link;\n }\n }\n\n // Fallback: If we detect OGC API like paths, try to guess the paths\n if (state.url) {\n let uri = URI(state.url);\n let path = uri.segment(-2);\n if (path == 'items') {\n uri.segment(-1, \"\");\n uri.segment(-1, \"\");\n return Utils.createLink(uri.toString(), 'collection');\n }\n }\n\n return null;\n },\n supportsConformance: state => classes => {\n if(!Array.isArray(classes)) {\n return classes;\n }\n let classRegexp = classes\n .map(c => c.replaceAll('*', '[^/]+').replace(/\\/?#/, '/?#'))\n .join('|');\n let regexp = new RegExp('^(' + classRegexp + ')$');\n return Boolean(state.conformsTo.find(uri => uri.match(regexp)));\n },\n supportsExtension: state => schemaUri => {\n return Utils.supportsExtension(state.data, schemaUri);\n },\n\n canSearch: (state, getters) => {\n return getters.canSearchCollections || getters.canSearchItems;\n },\n canSearchItems: (state, getters) => {\n return getters.supportsConformance(TYPES.Global.BasicFilters);\n },\n canSearchCollections: (state, getters) => {\n return getters.supportsConformance(TYPES.Collections.BasicFilters);\n },\n\n items: state => {\n if (state.apiItems.length > 0) {\n return state.apiItems;\n }\n else if (state.data) {\n return state.data.getStacLinksWithRel('item');\n }\n return [];\n },\n catalogs: state => {\n let hasCollections = Boolean(state.data instanceof STAC && state.data.getApiCollectionsLink() && state.apiCollections.length > 0);\n let hasChilds = Boolean(state.data instanceof STAC);\n let showCollections = !state.apiCatalogPriority || state.apiCatalogPriority === 'collections';\n let showChilds = !state.apiCatalogPriority || state.apiCatalogPriority === 'childs';\n let catalogs = [];\n if (hasCollections && showCollections) {\n catalogs = catalogs.concat(state.apiCollections);\n }\n if (hasChilds && showChilds) {\n catalogs = STAC.addMissingChildren(catalogs, state.data);\n }\n return catalogs;\n },\n\n // hasAsset also checks whether the assets have a href and thus are not item asset definitions\n hasAssets: (state, getters) => Boolean(Object.values(getters.assets).find(asset => Utils.isObject(asset) && typeof asset.href === 'string')),\n assets: (state, getters) => {\n if (!Utils.isObject(state.data?.assets)) {\n return {};\n }\n else if (state.showThumbnailsAsAssets) {\n return state.data.assets;\n }\n else {\n let assets = {};\n let thumbnails = getters.thumbnails;\n for (let key in state.data.assets) {\n let asset = state.data.assets[key];\n if (!thumbnails.includes(asset)) {\n assets[key] = asset;\n }\n }\n return assets;\n }\n },\n thumbnails: state => state.data ? state.data.getThumbnails(true) : [],\n additionalLinks: state => state.data ? state.data.getLinksWithOtherRels(stacBrowserSpecialHandling).filter(link => link.rel !== 'preview' || !Utils.canBrowserDisplayImage(link)) : [],\n\n toBrowserPath: (state, getters) => url => {\n if (!Utils.hasText(url)) {\n url = '/';\n }\n\n let absolute = Utils.toAbsolute(unproxyUrl(url, state.stacProxyUrl), state.url, false);\n let relative;\n if (!state.allowSelectCatalog && state.catalogUrl) {\n relative = absolute.relativeTo(state.catalogUrl);\n }\n\n if (typeof relative === 'undefined' || getters.isExternalUrl(absolute, false)) {\n if (!state.allowExternalAccess) {\n return absolute.toString();\n }\n let parts = ['/external'];\n let protocol = absolute.protocol();\n if (protocol !== 'https') {\n parts.push(protocol + ':');\n }\n parts.push(absolute.authority());\n parts.push(absolute.path().replace(/^\\//, ''));\n let path = parts.join('/');\n let q = absolute.query();\n if (q) {\n path += `?${q}`;\n }\n return path;\n }\n else {\n return '/' + relative.toString();\n }\n },\n fromBrowserPath: (state, getters) => url => {\n const externalRE = /^\\/(search\\/)?external\\//;\n if (!Utils.hasText(url) || url === '/') {\n url = state.catalogUrl;\n }\n else if (url.match(externalRE)) {\n let parts = url.replace(externalRE, '').split('/');\n let protocol;\n if (!parts[0].endsWith(':')) {\n protocol = 'https:';\n }\n else {\n protocol = parts.shift();\n }\n url = `${protocol}//${parts.join('/')}`;\n }\n else if (!state.allowSelectCatalog && state.catalogUrl) {\n url = Utils.toAbsolute(url, state.catalogUrl, false);\n }\n return getters.getRequestUrl(url, null, true);\n },\n isExternalUrl: state => (absoluteUrl, whitelist = true) => {\n if (!state.catalogUrl) {\n return false;\n }\n if (!(absoluteUrl instanceof URI)) {\n absoluteUrl = URI(absoluteUrl);\n }\n if (whitelist && Array.isArray(state.allowedDomains) && state.allowedDomains.includes(absoluteUrl.domain())) {\n return false;\n }\n let relative;\n if (absoluteUrl.is(\"relative\")) {\n relative = absoluteUrl;\n }\n else {\n relative = absoluteUrl.relativeTo(state.catalogUrl);\n if (relative.equals(absoluteUrl)) {\n return true;\n }\n }\n let relativeStr = relative.toString();\n return relativeStr.startsWith('//') || relativeStr.startsWith('../');\n },\n getRequestUrl: (state, getters) => (url, baseUrl = null, addLocalQueryParams = false) => {\n let absoluteUrl = Utils.toAbsolute(proxyUrl(url, state.stacProxyUrl), baseUrl ? baseUrl : state.url, false);\n if (!getters.isExternalUrl(absoluteUrl)) {\n // Check whether private params are present and add them if the URL is part of the catalog\n addQueryIfNotExists(absoluteUrl, state.privateQueryParameters);\n // Check if we need to add global request params\n addQueryIfNotExists(absoluteUrl, state.globalRequestQueryParameters);\n if (addLocalQueryParams) {\n // Check if we need to add local request params\n addQueryIfNotExists(absoluteUrl, state.localRequestQueryParameters);\n }\n }\n // If we are proxying a STAC Catalog, replace any URI with the proxied address.\n return absoluteUrl.toString();\n },\n\n acceptedLanguages: state => {\n const languages = {};\n // Implement in ascending order:\n languages['en'] = 0.1;\n if (Array.isArray(state.supportedLocales)) {\n state.supportedLocales.forEach(locale => languages[locale] = 0.2);\n }\n if (Utils.hasText(state.fallbackLocale)) {\n languages[state.fallbackLocale] = 0.5;\n }\n if (Array.isArray(navigator.languages)) {\n navigator.languages.forEach(locale => languages[locale] = 0.7);\n }\n if (Utils.hasText(state.locale)) {\n languages[state.locale] = 1;\n }\n return Object.entries(languages)\n .sort((a,b) => {\n if (a[1] > b[1]) {\n return -1;\n }\n else if (a[1] < b[1]) {\n return 1;\n }\n return 0;\n })\n .map(([l, q]) => q >= 1 ? l : `${l};q=${q}`)\n .join(',');\n }\n },\n mutations: {\n config(state, config) {\n // This should only be called from the config action\n for (let key in config) {\n let value = config[key];\n switch (key) {\n case 'catalogTitle':\n state.catalogTitle = value;\n break;\n case 'catalogUrl':\n if (typeof value === 'function') {\n state.catalogUrl = value();\n }\n else if (typeof value === 'string') {\n state.catalogUrl = value;\n }\n break;\n case 'crossOriginMedia':\n state.crossOriginMedia = ['anonymous', 'use-credentials'].includes(value) ? value : null;\n break;\n case 'cardViewSort':\n switch(value) {\n case 'asc':\n state.cardViewSort = 1;\n break;\n case 'desc':\n state.cardViewSort = -1;\n break;\n default:\n state.cardViewSort = 0;\n }\n break;\n default:\n state[key] = value;\n }\n }\n },\n languages(state, {uiLanguage, dataLanguage}) {\n state.dataLanguage = dataLanguage || null;\n state.uiLanguage = uiLanguage || null;\n },\n setQueryParameter(state, { type, key, value }) {\n type = `${type}QueryParameters`;\n if (typeof value === 'undefined') {\n Vue.delete(state[type], key);\n }\n else {\n Vue.set(state[type], key, value);\n }\n },\n setRequestHeader(state, { key, value }) {\n if (typeof value === 'undefined') {\n Vue.delete(state.requestHeaders, key);\n }\n else {\n Vue.set(state.requestHeaders, key, value);\n }\n },\n requestAuth(state, callback) {\n if (typeof callback === 'function') {\n state.doAuth.push(callback);\n }\n else {\n state.doAuth = [];\n }\n },\n setAuthData(state, value) {\n state.authData = value;\n },\n state(state, newState) {\n state.stateQueryParameters = newState;\n },\n updateState(state, {type, value}) {\n if (value === null || typeof value === 'undefined') {\n Vue.delete(state.stateQueryParameters, type);\n }\n else {\n Vue.set(state.stateQueryParameters, type, value);\n }\n },\n openCollapsible(state, { type, uid }) {\n const idx = state.stateQueryParameters[type].indexOf(uid);\n // need to prevent duplicates because of the way the collapse v-model works\n if (idx === -1) {\n state.stateQueryParameters[type].push(uid);\n }\n },\n closeCollapsible(state, { type, uid }) {\n const idx = state.stateQueryParameters[type].indexOf(uid);\n if (idx > -1) {\n Vue.delete(state.stateQueryParameters[type], idx);\n }\n },\n updateLoading(state, { url, show }) {\n let data = state.database[url];\n Vue.set(data, 'show', show || data.show);\n },\n loading(state, { url, loading }) {\n Vue.set(state.database, url, loading);\n if (loading.show) {\n state.url = url;\n }\n },\n loaded(state, { url, data }) {\n Vue.set(state.database, url, processSTAC(state, data));\n },\n clear(state, url) {\n Vue.delete(state.database, url);\n },\n resetCatalog(state, clearAll) {\n Object.assign(state, catalogDefaults());\n Object.assign(state, localDefaults());\n if (!state.supportedLocales.includes(state.locale)) {\n state.locale = config.locale;\n }\n if (clearAll) {\n state.catalogUrl = config.catalogUrl;\n state.catalogTitle = config.catalogTitle;\n state.database = {};\n }\n },\n resetPage(state) {\n Object.assign(state, localDefaults());\n },\n setPageMetadata(state, { title, description }) {\n state.title = title;\n if (typeof description !== 'undefined') {\n state.description = description;\n }\n },\n showPage(state, { url, title, description, stac }) {\n if (!stac) {\n stac = state.database[url] || null;\n }\n state.url = url || null;\n state.data = stac instanceof STAC ? stac : null;\n state.description = description;\n\n // Set title\n if (title) {\n state.title = title;\n }\n else {\n state.title = STAC.getDisplayTitle(state.data, state.catalogTitle);\n if (state.data) {\n let description = state.data.getMetadata('description');\n if (Utils.hasText(description)) {\n state.description = description;\n }\n }\n }\n\n if (state.data) {\n let source = state.data.isItem() ? state.data.properties : state.data;\n let languages = Array.isArray(source.languages) ? source.languages.slice() : [];\n if (Utils.isObject(source.language)) {\n languages.unshift(source.language);\n }\n state.dataLanguages = languages.filter(lang => Utils.isObject(lang) && typeof lang.code === 'string');\n }\n },\n errored(state, { url, error }) {\n if (!(error instanceof Error)) {\n error = new Error(error);\n }\n Vue.set(state.database, url, error);\n },\n queue(state, url) {\n state.queue.push(url);\n },\n unqueue(state, url) {\n let i = state.queue.indexOf(url);\n if (i !== -1) {\n state.queue.splice(i, 1);\n }\n },\n removeFromQueue(state, num) {\n state.queue.splice(0, num);\n },\n setConformanceClasses(state, classes) {\n if (Array.isArray(classes)) {\n state.conformsTo = classes;\n }\n },\n setApiItemsLink(state, link) {\n state.apiItemsLink = link;\n },\n toggleApiItemsLoading(state, collectionId = '') {\n if (state.apiItemsLoading[collectionId]) {\n Vue.delete(state.apiItemsLoading, collectionId);\n }\n else {\n Vue.set(state.apiItemsLoading, collectionId, true);\n }\n },\n setApiItems(state, { data, stac, show }) {\n if (!Utils.isObject(data) || !Array.isArray(data.features)) {\n return;\n }\n let apiItems = data.features.map(feature => processSTAC(state, feature));\n\n if (show) {\n state.apiItems = apiItems;\n }\n\n // Handle pagination links\n let pages = Utils.getPaginationLinks(data);\n\n if (show) {\n state.apiItemsPagination = pages;\n }\n\n if (stac instanceof STAC) {\n // ToDo: Prev link only required when state.apiItems is not cached(?) -> cache apiItems?\n stac.setApiData(apiItems, pages.next, pages.prev);\n }\n },\n addApiCollections(state, { data, stac, show }) {\n if (!Utils.isObject(data) || !Array.isArray(data.collections)) {\n return;\n }\n\n let collections = data.collections.map(collection => processSTAC(state, collection));\n let nextLink = Utils.getLinkWithRel(data.links, 'next');\n if (show) {\n state.nextCollectionsLink = nextLink;\n state.apiCollections = state.apiCollections.concat(collections);\n }\n if (stac instanceof STAC) {\n stac.setApiData(collections, nextLink);\n }\n },\n resetApiItems(state, link) {\n state.apiItems = [];\n state.apiItemsLink = link;\n state.apiItemsPagination = {};\n },\n parents(state, parents) {\n state.parents = parents;\n },\n showGlobalError(state, error) {\n if(error) {\n console.trace(error);\n }\n state.globalError = error;\n }\n },\n actions: {\n async config(cx, config) {\n const oldConfig = Object.assign({}, cx.state);\n cx.commit('config', config);\n // React on config changes\n for (let key in config) {\n let value = cx.state[key];\n if (value !== oldConfig[key]) {\n continue;\n }\n switch (key) {\n case 'authConfig':\n await cx.dispatch('auth/updateMethod', value);\n break;\n }\n }\n },\n async switchLocale(cx, {locale, userSelected}) {\n await cx.dispatch('config', {locale});\n\n if (cx.state.storeLocale && userSelected) {\n const storage = new BrowserStorage();\n storage.set('locale', locale);\n }\n\n // Locale for UI\n let uiLanguage = getBest(cx.state.supportedLocales, locale, cx.state.fallbackLocale);\n // Locale for data\n let dataLanguageCodes = cx.state.dataLanguages.map(l => l.code);\n let dataLanguageFallback = cx.state.dataLanguages.length > 0 ? cx.state.dataLanguages[0].code : uiLanguage;\n let dataLanguage = getBest(dataLanguageCodes, locale, dataLanguageFallback);\n\n // Load messages\n await loadMessages(uiLanguage);\n\n // Update stac-fields\n I18N.setLocales([uiLanguage, cx.state.fallbackLocale]);\n I18N.setTranslator(translateFields);\n\n // Execute other custom functions required to localize\n await executeCustomFunctions(uiLanguage);\n\n cx.commit('languages', {dataLanguage, uiLanguage});\n cx.commit('setQueryParameter', { type: 'state', key: 'language', value: locale });\n },\n async loadBackground(cx, count) {\n let urls = cx.state.queue.slice(0, count);\n if (urls.length > 0) {\n let promises = [];\n for (let url of urls) {\n promises.push(cx.dispatch('load', { url }));\n }\n cx.commit('removeFromQueue', count);\n return await Promise.all(promises);\n }\n },\n async loadParents(cx) {\n if (!(cx.state.data instanceof STAC)) {\n cx.commit('parents', []);\n return;\n }\n\n let parents = [];\n let stac = cx.state.data;\n while (stac) {\n let parentLink = stac.getLinkWithRel('parent') || stac.getLinkWithRel('root');\n if (!parentLink) {\n break;\n }\n let url = Utils.toAbsolute(parentLink.href, stac.getAbsoluteUrl());\n await cx.dispatch('load', { url });\n let parentStac = cx.getters.getStac(url, true);\n if (parentStac instanceof Error) {\n cx.commit('parents', parentStac);\n return;\n }\n if (parentStac === stac) {\n break;\n }\n parents.push(parentStac);\n stac = parentStac;\n }\n cx.commit('parents', parents);\n },\n async tryLogin(cx, {url, action}) {\n cx.commit('clear', url);\n cx.commit('errored', { url, error: new BrowserError(i18n.t('authentication.unauthorized')) });\n if (action) {\n cx.commit('auth/addAction', action);\n }\n await cx.dispatch('auth/requestLogin');\n },\n async load(cx, args) {\n let { url, show, force, noRetry } = args;\n\n const path = cx.getters.toBrowserPath(url);\n url = Utils.toAbsolute(url, cx.state.url);\n\n // Make sure we have all authentication details\n await cx.dispatch(\"auth/waitForAuth\");\n\n if (force) {\n cx.commit('clear', url);\n }\n\n let loading = new Loading(show);\n let data = cx.state.database[url];\n if (data instanceof Loading) {\n cx.commit('updateLoading', { url, show });\n return;\n }\n\n const hasData = data instanceof STAC && !data.isPotentiallyIncomplete();\n if (!hasData) {\n cx.commit('loading', { url, loading });\n try {\n const response = await stacRequest(cx, url);\n if (!Utils.isObject(response.data)) {\n throw new BrowserError(i18n.t('errors.invalidJsonObject'));\n }\n data = new STAC(response.data, url, path);\n cx.commit('loaded', { url, data });\n\n if (show) {\n // If we prefer another language abort redirect to the new language\n let localeLink = data.getLocaleLink(cx.state.dataLanguage);\n if (localeLink) {\n router.replace(cx.getters.toBrowserPath(localeLink.href));\n return;\n }\n }\n\n // Handle conformance classes\n let conformanceLink = data.getStacLinkWithRel('conformance');\n if (Array.isArray(data.conformsTo) && data.conformsTo.length > 0) {\n cx.commit('setConformanceClasses', data.conformsTo);\n }\n else if (conformanceLink) {\n await cx.dispatch('loadOgcApiConformance', conformanceLink);\n }\n } catch (error) {\n if (!noRetry && cx.state.authConfig && isAuthenticationError(error)) {\n await cx.dispatch('tryLogin', {\n url,\n action: () => cx.dispatch('load', Object.assign({noRetry: true, force: true, show: true}, args))\n });\n return;\n }\n console.error(error);\n cx.commit('errored', { url, error });\n return;\n }\n }\n\n // Load API Collections\n if (data.getApiCollectionsLink()) {\n let args = { stac: data, show: loading.show };\n try {\n await cx.dispatch('loadNextApiCollections', args);\n } catch (error) {\n cx.commit('showGlobalError', {\n message: i18n.t('errors.loadApiCollectionsFailed'),\n error\n });\n }\n }\n // Load API Items\n else if (data.getApiItemsLink()) {\n let args = { stac: data, show: loading.show };\n try {\n await cx.dispatch('loadApiItems', args);\n } catch (error) {\n cx.commit('showGlobalError', {\n message: i18n.t('errors.loadApiItemsFailed'),\n error\n });\n }\n }\n\n // Load the root catalog data if not available (e.g. after page refresh or external access)\n if (!cx.getters.root) {\n let catalogUrl = cx.state.catalogUrl;\n if (!catalogUrl) {\n const root = data.getLinkWithRel('root');\n if (root) {\n catalogUrl = Utils.toAbsolute(root.href, url);\n await cx.dispatch('config', { catalogUrl });\n }\n }\n if (catalogUrl) {\n await cx.dispatch(\"load\", { url: catalogUrl });\n }\n }\n\n // All tasks finished, show the page if requested\n if (loading.show) {\n cx.commit('showPage', { url });\n }\n },\n async loadApiItems(cx, args) {\n let { link, stac, show, filters, noRetry } = args;\n let collectionId = stac instanceof STAC ? stac.id : '';\n cx.commit('toggleApiItemsLoading', collectionId);\n\n try {\n let baseUrl = cx.state.url;\n if (stac instanceof STAC) {\n link = stac.getApiItemsLink();\n baseUrl = stac.getAbsoluteUrl();\n }\n\n link = Utils.addFiltersToLink(link, filters, cx.state.itemsPerPage);\n\n let response = await stacRequest(cx, link);\n if (!Utils.isObject(response.data) || !Array.isArray(response.data.features)) {\n throw new BrowserError(i18n.t('errors.invalidStacItems'));\n }\n else {\n response.data.features = response.data.features.map(item => {\n try {\n if (!Utils.isObject(item) || item.type !== 'Feature') {\n return null;\n }\n let selfLink = Utils.getLinkWithRel(item.links, 'self');\n let url;\n if (selfLink?.href) {\n url = Utils.toAbsolute(selfLink.href, baseUrl);\n }\n else if (typeof item.id !== 'undefined') {\n let apiCollectionsLink = cx.getters.root?.getApiCollectionsLink();\n if (baseUrl) {\n url = Utils.toAbsolute(`items/${item.id}`, baseUrl);\n }\n else if (apiCollectionsLink) {\n url = Utils.toAbsolute(`${collectionId}/items/${item.id}`, apiCollectionsLink.href);\n }\n else if (cx.state.catalogUrl) {\n url = Utils.toAbsolute(`collections/${collectionId}/items/${item.id}`, cx.state.catalogUrl);\n }\n else {\n return null;\n }\n }\n else {\n return null;\n }\n let data = cx.getters.getStac(url);\n if (data) {\n return data;\n }\n else {\n data = new STAC(item, url, cx.getters.toBrowserPath(url));\n data.markPotentiallyIncomplete();\n cx.commit('loaded', { data, url });\n return data;\n }\n } catch (error) {\n console.error(error);\n return null;\n }\n }).filter(item => item instanceof STAC);\n if (show) {\n cx.commit('setApiItemsLink', link);\n }\n cx.commit('setApiItems', { data: response.data, stac, show });\n cx.commit('toggleApiItemsLoading', collectionId);\n return response;\n }\n } catch (error) {\n cx.commit('toggleApiItemsLoading', collectionId);\n if (!noRetry && cx.state.authConfig && isAuthenticationError(error)) {\n await cx.dispatch('tryLogin', {\n url: link.href,\n action: () => cx.dispatch('loadApiItems', Object.assign({noRetry: true, force: true}, args))\n });\n return;\n }\n throw error;\n }\n },\n async loadNextApiCollections(cx, args) {\n let { stac, show, noRetry } = args;\n let link;\n if (stac) {\n // First page\n if (cx.state.apiCollections.length > 0) {\n // If we have already loaded collections, skip loading the first page\n return;\n }\n link = stac.getLinkWithRel('data');\n }\n else {\n // Second page and after\n stac = cx.state.data;\n link = cx.state.nextCollectionsLink;\n }\n if (!link) {\n return;\n }\n try {\n let response = await stacRequest(cx, link);\n if (!Utils.isObject(response.data) || !Array.isArray(response.data.collections)) {\n throw new BrowserError(i18n.t('errors.invalidStacCollections'));\n }\n else {\n response.data.collections = response.data.collections.map(collection => {\n let selfLink = Utils.getLinkWithRel(collection.links, 'self');\n let url;\n if (selfLink?.href) {\n url = Utils.toAbsolute(selfLink.href, cx.state.url || stac.getAbsoluteUrl());\n }\n else {\n url = Utils.toAbsolute(`collections/${collection.id}`, cx.state.catalogUrl || stac.getAbsoluteUrl());\n }\n let data = cx.getters.getStac(url);\n if (data) {\n return data;\n }\n else {\n data = new STAC(collection, url, cx.getters.toBrowserPath(url));\n data.markPotentiallyIncomplete();\n cx.commit('loaded', { data, url });\n return data;\n }\n });\n cx.commit('addApiCollections', { data: response.data, stac, show });\n }\n } catch (error) {\n if (!noRetry && cx.state.authConfig && isAuthenticationError(error)) {\n await cx.dispatch('tryLogin', {\n url: link.href,\n action: () => cx.dispatch('loadNextApiCollections', Object.assign({noRetry: true, force: true}, args))\n });\n return;\n }\n throw error;\n }\n },\n async loadOgcApiConformance(cx, link) {\n let response = await stacRequest(cx, link);\n if (Utils.isObject(response.data) && Array.isArray(response.data.conformsTo)) {\n cx.commit('setConformanceClasses', response.data.conformsTo);\n }\n },\n async loadGeoJson(cx, link) {\n try {\n let response = await stacRequest(cx, link);\n return response.data; // Use data with $refs included as fallback anyway\n } catch (error) {\n return null;\n }\n },\n async retryAfterAuth(cx) {\n let errorFn = error => cx.commit('showGlobalError', {\n error,\n message: i18n.t('errors.authFailed')\n });\n\n for (let callback of cx.state.doAuth) {\n try {\n let p = callback();\n if (p instanceof Promise) {\n p.catch(errorFn);\n }\n } catch (error) {\n errorFn(error);\n }\n }\n }\n },\n });\n}\n\nexport default getStore;\n","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('b-row',[_c('b-col',{attrs:{\"md\":\"12\"}},[_c('Source',{staticClass:\"float-right\",attrs:{\"title\":_vm.title,\"stacUrl\":_vm.url,\"stac\":_vm.data}}),_c('h1',[(_vm.icon)?[_c('img',{staticClass:\"icon mr-2\",attrs:{\"src\":_vm.icon.href,\"alt\":_vm.icon.title,\"title\":_vm.icon.title}})]:_vm._e(),_c('span',{staticClass:\"title\"},[_vm._v(_vm._s(_vm.title))])],2),(!_vm.isStacChooser())?_c('p',{staticClass:\"lead\"},[(_vm.containerLink)?_c('i18n',{staticClass:\"in mr-3\",attrs:{\"tag\":\"span\",\"path\":\"in\"},scopedSlots:_vm._u([{key:\"catalog\",fn:function(){return [_c('StacLink',{attrs:{\"data\":_vm.containerLink}})]},proxy:true}],null,false,1458487365)}):_vm._e(),_c('b-button-group',[(_vm.back)?_c('b-button',{attrs:{\"to\":_vm.selfBrowserLink,\"title\":_vm.$t('goBack.description', {type: _vm.type}),\"variant\":\"outline-primary\",\"size\":\"sm\"}},[_c('b-icon-arrow-left'),_vm._v(\" \"),_c('span',{staticClass:\"button-label prio\"},[_vm._v(_vm._s(_vm.$t('goBack.label')))])],1):_vm._e(),(_vm.parentLink)?_c('b-button',{attrs:{\"to\":_vm.toBrowserPath(_vm.parentLink.href),\"title\":_vm.parentLinkTitle,\"variant\":\"outline-primary\",\"size\":\"sm\"}},[_c('b-icon-arrow-90deg-up'),_vm._v(\" \"),_c('span',{staticClass:\"button-label prio\"},[_vm._v(_vm._s(_vm.$t('goToParent.label')))])],1):_vm._e(),(_vm.collectionLink)?_c('b-button',{attrs:{\"to\":_vm.toBrowserPath(_vm.collectionLink.href),\"title\":_vm.collectionLinkTitle,\"variant\":\"outline-primary\",\"size\":\"sm\"}},[_c('b-icon-folder-symlink'),_vm._v(\" \"),_c('span',{staticClass:\"button-label prio\"},[_vm._v(_vm._s(_vm.$t('goToCollection.label')))])],1):_vm._e(),_c('b-button',{directives:[{name:\"b-toggle\",rawName:\"v-b-toggle.sidebar\",modifiers:{\"sidebar\":true}}],attrs:{\"variant\":\"outline-primary\",\"size\":\"sm\",\"title\":_vm.$t('browse')},on:{\"click\":function($event){return _vm.$emit('enableSidebar')}}},[_c('b-icon-book'),_vm._v(\" \"),_c('span',{staticClass:\"button-label prio\"},[_vm._v(_vm._s(_vm.$t('browse')))])],1),(_vm.canSearch)?_c('b-button',{attrs:{\"variant\":\"outline-primary\",\"size\":\"sm\",\"to\":_vm.searchBrowserLink,\"title\":_vm.$t('search.title'),\"pressed\":_vm.isSearchPage()}},[_c('b-icon-search'),_vm._v(\" \"),_c('span',{staticClass:\"button-label prio\"},[_vm._v(_vm._s(_vm.$t('search.title')))])],1):_vm._e(),(_vm.canAuthenticate)?_c('b-button',{attrs:{\"variant\":\"outline-primary\",\"size\":\"sm\",\"title\":_vm.authTitle},on:{\"click\":_vm.logInOut}},[_c(_vm.authIcon,{tag:\"component\"}),_vm._v(\" \"),_c('span',{staticClass:\"button-label\"},[_vm._v(_vm._s(_vm.authLabel))])],1):_vm._e()],1)],1):_vm._e()],1)],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',{staticClass:\"share mt-1\"},[_c('b-button-group',[(_vm.showRoot)?_c('b-button',{attrs:{\"size\":\"sm\",\"variant\":\"outline-primary\",\"id\":\"popover-root-btn\"}},[_c('b-icon-box'),_vm._v(\" \"),_c('span',{staticClass:\"button-label\"},[_vm._v(_vm._s(_vm.rootTitle))])],1):_vm._e(),(_vm.stacUrl)?_c('b-button',{attrs:{\"size\":\"sm\",\"variant\":\"outline-primary\",\"id\":\"popover-link-btn\",\"title\":_vm.$t('source.detailsAboutSource')}},[_c('b-icon-link'),_vm._v(\" \"),_c('span',{staticClass:\"button-label\"},[_vm._v(_vm._s(_vm.$t('source.label')))])],1):_vm._e(),_c('b-button',{attrs:{\"size\":\"sm\",\"variant\":\"outline-primary\",\"id\":\"popover-share-btn\",\"title\":_vm.$t('source.share.withOthers')}},[_c('b-icon-share'),_vm._v(\" \"),_c('span',{staticClass:\"button-label\"},[_vm._v(_vm._s(_vm.$t('source.share.label')))])],1),_c('b-dropdown',{attrs:{\"size\":\"sm\",\"variant\":\"outline-primary\",\"right\":\"\",\"title\":_vm.$t('source.language.switch')},scopedSlots:_vm._u([{key:\"button-content\",fn:function(){return [_c('b-icon-flag'),_vm._v(\" \"),_c('span',{staticClass:\"button-label\"},[_vm._v(_vm._s(_vm.$t('source.language.label', {currentLanguage: _vm.currentLanguage})))])]},proxy:true}])},_vm._l((_vm.languages),function(l){return _c('b-dropdown-item',{key:l.code,staticClass:\"lang-item\",on:{\"click\":function($event){return _vm.switchLocale({locale: l.code, userSelected: true})}}},[(_vm.locale === l.code)?_c('b-icon-check'):_c('b-icon-blank'),_c('span',{staticClass:\"title\"},[_c('span',{attrs:{\"lang\":l.code}},[_vm._v(_vm._s(l.native))]),(l.global && l.global !== l.native)?[_vm._v(\" / \"),_c('span',{attrs:{\"lang\":\"en\"}},[_vm._v(_vm._s(l.global))])]:_vm._e()],2),(_vm.supportsLanguageExt && (!l.ui || !l.data))?_c('b-icon-exclamation-triangle',{staticClass:\"ml-2\",attrs:{\"title\":l.ui ? _vm.$t('source.language.onlyUI') : _vm.$t('source.language.onlyData')}}):_vm._e()],1)}),1)],1),(_vm.showRoot)?_c('b-popover',{attrs:{\"id\":\"popover-root\",\"target\":\"popover-root-btn\",\"triggers\":\"focus\",\"placement\":\"bottom\",\"container\":\"stac-browser\",\"title\":_vm.rootTitle}},[_c('RootStats')],1):_vm._e(),(_vm.stacUrl)?_c('b-popover',{attrs:{\"id\":\"popover-link\",\"target\":\"popover-link-btn\",\"triggers\":\"focus\",\"placement\":\"bottom\",\"container\":\"stac-browser\",\"title\":_vm.$t('source.title')}},[(_vm.stac)?[(_vm.stacId)?_c('b-row',{staticClass:\"stac-id\"},[_c('b-col',{attrs:{\"cols\":\"4\"}},[_vm._v(_vm._s(_vm.$t('source.id')))]),_c('b-col',[_c('code',[_vm._v(_vm._s(_vm.stacId))]),_c('CopyButton',{staticClass:\"ml-2\",attrs:{\"copyText\":_vm.stacId,\"button-props\":{size: 'sm'},\"variant\":\"primary\"}})],1)],1):_vm._e(),(_vm.stacVersion)?_c('b-row',{staticClass:\"stac-version\"},[_c('b-col',{attrs:{\"cols\":\"4\"}},[_vm._v(_vm._s(_vm.$t('source.stacVersion')))]),_c('b-col',[_vm._v(_vm._s(_vm.stacVersion))])],1):_vm._e(),_c('b-row',{staticClass:\"stac-valid\"},[_c('b-col',{attrs:{\"cols\":\"4\"}},[_vm._v(_vm._s(_vm.$t('source.valid')))]),_c('b-col',[_c('Validation',{attrs:{\"data\":_vm.stac}})],1)],1),_c('hr')]:_vm._e(),_c('Url',{attrs:{\"id\":\"stacUrl\",\"url\":_vm.stacUrl,\"label\":_vm.$t('source.locatedAt')}})],2):_vm._e(),_c('b-popover',{attrs:{\"id\":\"popover-share\",\"target\":\"popover-share-btn\",\"triggers\":\"focus\",\"placement\":\"bottom\",\"container\":\"stac-browser\",\"title\":_vm.$t('source.share.title')}},[_c('Url',{attrs:{\"id\":\"browserUrl\",\"url\":_vm.browserUrl(),\"label\":_vm.$t('source.share.sharePageWithOthers'),\"open\":false}}),(_vm.enableSocialSharing)?[_c('hr'),_c('SocialSharing',{attrs:{\"text\":_vm.sharingMessage,\"title\":_vm.title,\"url\":_vm.browserUrl()}})]:_vm._e()],2)],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('b-form-group',{attrs:{\"label\":_vm.label,\"label-for\":_vm.id}},[_c('b-input-group',{attrs:{\"size\":\"sm\"}},[_c('b-form-input',{ref:\"input\",attrs:{\"id\":_vm.id,\"value\":_vm.url,\"readonly\":\"\"}}),_c('b-input-group-append',[_c('CopyButton',{attrs:{\"copyText\":_vm.url,\"variant\":\"primary\"}}),(_vm.open)?_c('b-button',{attrs:{\"href\":_vm.url,\"target\":\"_blank\",\"variant\":\"primary\",\"title\":_vm.$t('open')}},[_c('b-icon-arrow-up-right-square')],1):_vm._e()],1)],1)],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n","import mod from \"-!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./Url.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./Url.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./Url.vue?vue&type=template&id=74684ede&scoped=true\"\nimport script from \"./Url.vue?vue&type=script&lang=js\"\nexport * from \"./Url.vue?vue&type=script&lang=js\"\nimport style0 from \"./Url.vue?vue&type=style&index=0&id=74684ede&prod&lang=scss&scoped=true\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"74684ede\",\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('section',_vm._l((_vm.urls),function(href,service){return _c('b-button',{key:service,staticClass:\"service mr-1\",class:service,attrs:{\"href\":href,\"target\":\"_blank\"}},[_c(service,{tag:\"component\"}),_vm._v(\" \"+_vm._s(_vm.$t(`source.share.${service}`))+\" \")],1)}),1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n","import mod from \"-!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./SocialSharing.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./SocialSharing.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./SocialSharing.vue?vue&type=template&id=daac02b4&scoped=true\"\nimport script from \"./SocialSharing.vue?vue&type=script&lang=js\"\nexport * from \"./SocialSharing.vue?vue&type=script&lang=js\"\nimport style0 from \"./SocialSharing.vue?vue&type=style&index=0&id=daac02b4&prod&lang=scss&scoped=true\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"daac02b4\",\n null\n \n)\n\nexport default component.exports","\n\n\n\n\n\n","import mod from \"-!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./Source.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./Source.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./Source.vue?vue&type=template&id=0aa087bf&scoped=true\"\nimport script from \"./Source.vue?vue&type=script&lang=js\"\nexport * from \"./Source.vue?vue&type=script&lang=js\"\nimport style0 from \"./Source.vue?vue&type=style&index=0&id=0aa087bf&prod&lang=scss\"\nimport style1 from \"./Source.vue?vue&type=style&index=1&id=0aa087bf&prod&lang=scss&scoped=true\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"0aa087bf\",\n null\n \n)\n\nexport default component.exports","\n\n\n\n\n","import mod from \"-!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./StacHeader.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./StacHeader.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./StacHeader.vue?vue&type=template&id=5da16391&scoped=true\"\nimport script from \"./StacHeader.vue?vue&type=script&lang=js\"\nexport * from \"./StacHeader.vue?vue&type=script&lang=js\"\nimport style0 from \"./StacHeader.vue?vue&type=style&index=0&id=5da16391&prod&lang=scss&scoped=true\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"5da16391\",\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c(_vm.authComponent,{tag:\"component\",on:{\"submit\":_vm.submit,\"reset\":_vm.reset}})\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n","import mod from \"-!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./Authentication.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./Authentication.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./Authentication.vue?vue&type=template&id=5dbcd191\"\nimport script from \"./Authentication.vue?vue&type=script&lang=js\"\nexport * from \"./Authentication.vue?vue&type=script&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","\n\n\n\n\n","import mod from \"-!../node_modules/thread-loader/dist/cjs.js!../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./StacBrowser.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../node_modules/thread-loader/dist/cjs.js!../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./StacBrowser.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./StacBrowser.vue?vue&type=template&id=21089a56\"\nimport script from \"./StacBrowser.vue?vue&type=script&lang=js\"\nexport * from \"./StacBrowser.vue?vue&type=script&lang=js\"\nimport style0 from \"./StacBrowser.vue?vue&type=style&index=0&id=21089a56&prod&lang=scss\"\n\n\n/* normalize component */\nimport normalizer from \"!../node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","import Vue from \"vue\";\nimport StacBrowser from \"./StacBrowser.vue\";\nimport i18n, { loadDefaultMessages } from './i18n';\n\nexport default function init() {\n return loadDefaultMessages().then(() => {\n return new Vue({\n i18n,\n render: h => h(StacBrowser)\n }).$mount(\"#stac-browser\");\n });\n}\n","import Vue from \"vue\";\nimport init from \"./init\";\n\nVue.config.productionTip = false;\n\ninit();\n","import Utils, { geojsonMediaType } from \"../utils\";\nimport Migrate from '@radiantearth/stac-migrate';\nimport { getBest } from '../locale-id';\n\nlet stacObjCounter = 0;\n\n// STAC Entity\nclass STAC {\n\n constructor(data, url, path, migrate = true) {\n this._id = stacObjCounter++;\n this._url = url;\n this._path = path;\n this._apiChildrenListeners = {};\n this._incomplete = false;\n this._apiChildren = {\n list: [],\n prev: false,\n next: false\n };\n\n if (migrate) {\n // Uncomment this line if the old checksum: fields should be converted\n // This is usually not needed so it's not enabled by default to shrink the bundle size\n // Migrate.enableMultihash(require('multihashes'));\n if (data.type === 'FeatureCollection') {\n data.features = data.features.map(item => Migrate.item(item, false));\n }\n else {\n data = Migrate.stac(data, false);\n }\n }\n for (let key in data) {\n if (typeof this[key] === 'undefined') {\n this[key] = data[key];\n }\n }\n if (!Utils.hasText(this.type)) {\n throw new Error('Not a valid STAC data source (no `type` present)');\n }\n }\n\n isPotentiallyIncomplete() {\n return this._incomplete;\n }\n\n markPotentiallyIncomplete() {\n this._incomplete = true;\n }\n\n isItem() {\n return this.type === 'Feature';\n }\n\n isCatalog() {\n return this.type === 'Catalog';\n }\n\n isCatalogLike() {\n return this.isCatalog() || this.isCollection();\n }\n\n isCollection() {\n return this.type === 'Collection';\n }\n\n isItemCollection() {\n return this.type === 'FeatureCollection';\n }\n\n hasApiData() {\n return this._apiChildren.list.length > 0;\n }\n\n setApiDataListener(id, listener = null) {\n if (typeof listener === 'function') {\n this._apiChildrenListeners[id] = listener;\n }\n else {\n delete this._apiChildrenListeners[id];\n }\n }\n\n setApiData(list, next = null, prev = null) {\n if (prev) {\n this._apiChildren.prev = prev;\n }\n if (next) {\n this._apiChildren.next = next;\n }\n this._apiChildren.list = list;\n\n for (let id in this._apiChildrenListeners) {\n try {\n this._apiChildrenListeners[id](this._apiChildren);\n } catch (error) {\n console.error(error);\n }\n }\n }\n\n getFileFormats() {\n let assets = [];\n if ((this.isItem() || this.isCollection()) && Utils.isObject(this.assets)) {\n assets = assets.concat(Object.values(this.assets));\n }\n if (this.isCollection() && Utils.isObject(this.item_assets)) {\n assets = assets.concat(Object.values(this.item_assets));\n }\n return assets\n .filter(asset => Array.isArray(asset.roles) && asset.roles.includes('data') && typeof asset.type === 'string') // Look for data files\n .map(asset => asset.type) // Array shall only contain media types\n .filter((v, i, a) => a.indexOf(v) === i); // Unique values\n }\n\n getChildren(priority = null) {\n if (!this.isCatalogLike()) {\n return [];\n }\n\n let showCollections = !priority || priority === 'collections';\n let showChilds = !priority || priority === 'childs';\n\n let children = [];\n if (showCollections && this._apiChildren.prev) {\n children.push(this._apiChildren.prev);\n }\n if (showCollections && this._apiChildren.list.length > 0) {\n children = this._apiChildren.list.slice(0);\n }\n if (showChilds) {\n children = STAC.addMissingChildren(children, this).concat(this.getLinksWithRels(['item']));\n }\n if (showCollections && this._apiChildren.next) {\n children.push(this._apiChildren.next);\n }\n return children;\n }\n\n static addMissingChildren(catalogs, stac) {\n let links = stac.getStacLinksWithRel('child').filter(link => {\n // Don't add links that are already in collections: https://github.com/radiantearth/stac-browser/issues/103\n // ToDo: The runtime of this can probably be improved\n let absoluteUrl = Utils.toAbsolute(link.href, stac.getAbsoluteUrl());\n return !catalogs.find(collection => collection.getAbsoluteUrl() === absoluteUrl);\n });\n // place the children first to avoid conflicts with the paginated collections\n // where the children are always at the end and can never be reached due to infinite scrolling\n return links.concat(catalogs);\n }\n\n getSearchLink() {\n // The search link MUST be 'application/geo+json' as otherwise it's likely not STAC\n // See https://github.com/opengeospatial/ogcapi-features/issues/832\n let links = Utils.getLinksWithRels(this.links, ['search'])\n .filter(link => Utils.isMediaType(link.type, geojsonMediaType))\n .map(link => Object.assign({}, link, {href: Utils.toAbsolute(link.href, this._url)}));\n // Prefer POST if present\n let post = links.find(link => Utils.hasText(link.method) && link.method.toUpperCase() === 'POST');\n return post || links[0] || null;\n }\n\n getApiCollectionsLink() {\n return this.getStacLinkWithRel('data');\n }\n\n getApiItemsLink() {\n return this.getStacLinkWithRel('items');\n }\n\n getMetadata(field) {\n if (this.isItem()) {\n return this.properties[field];\n }\n else if (this.isCatalogLike()) {\n return this[field];\n }\n return null;\n }\n\n getBrowserPath() {\n return this._path;\n }\n\n getAbsoluteUrl() {\n return this._url;\n }\n\n getLocaleLink(locale, fallbackLocale = null) {\n let links = this.getStacLinksWithRel('alternate')\n .filter(link => Utils.hasText(link.hreflang));\n \n let available;\n if (Array.isArray(this.languages)) {\n available = this.languages.map(l => l.code);\n }\n else {\n available = links.map(link => link.hreflang);\n }\n \n let best = getBest(available, locale, fallbackLocale);\n return links.find(link => link.hreflang === best) || null;\n }\n\n getStacLinksWithRel(rel, allowEmpty = true) {\n return Utils.getLinksWithRels(this.links, [rel])\n .filter(link => Utils.isStacMediaType(link.type, allowEmpty));\n }\n\n getStacLinkWithRel(rel, allowEmpty = true) {\n const links = this.getStacLinksWithRel(rel, allowEmpty);\n if (links.length > 0) {\n return links[0];\n }\n else {\n return null;\n }\n }\n\n getLinkWithRel(rel) {\n return Utils.getLinkWithRel(this.links, rel);\n }\n\n getLinksWithRels(rels) {\n return Utils.getLinksWithRels(this.links, rels);\n }\n\n getLinksWithOtherRels(rels) {\n return Utils.getLinksWithOtherRels(this.links, rels);\n }\n\n getAssetsWithRoles(roles) {\n let matches = [];\n if (Utils.isObject(this.assets)) {\n for (let key in this.assets) {\n let asset = this.assets[key];\n if (Utils.isObject(asset) && typeof asset.href === 'string' && Array.isArray(asset.roles) && asset.roles.find(role => roles.includes(role))) {\n matches.push(asset);\n }\n }\n }\n return matches;\n }\n\n static getDisplayTitle(sources, fallbackTitle = null) {\n if (!Array.isArray(sources)) {\n sources = [sources];\n }\n let stac = sources.find(o => o instanceof STAC);\n let link = sources.find(o => Utils.isObject(o) && !(o instanceof STAC));\n // Get title from STAC item/catalog/collection\n if (stac && Utils.hasText(stac.getTitle())) {\n return stac.getTitle();\n }\n // Get title from link\n else if (link && Utils.hasText(link.title)) {\n return link.title;\n }\n // Use id from STAC item/catalog/collection instead of titles\n else if (stac && Utils.hasText(stac.id)) {\n return stac.id;\n }\n // Use fallback title\n else if (Utils.hasText(fallbackTitle)) {\n return fallbackTitle;\n }\n // Use file or directory name from STAC as title\n else if (stac) {\n return Utils.titleForHref(stac.getAbsoluteUrl(), true);\n }\n // Use file or directory name from link as title\n else if (link && Utils.hasText(link.href)) {\n return Utils.titleForHref(link.href, true);\n }\n // Nothing available, return \"untitled\"\n else {\n return \"Untitled\";\n }\n }\n\n getTitle() {\n return this.getMetadata(\"title\");\n }\n\n _linkToAbsolute(link) {\n return Object.assign({}, link, { href: Utils.toAbsolute(link.href, this.getAbsoluteUrl()) });\n }\n\n getIcons() {\n return this.getLinksWithRels(['icon'])\n .filter(img => Utils.canBrowserDisplayImage(img))\n .map(img => this._linkToAbsolute(img));\n }\n\n /**\n * Get the thumbnails from the assets and links in a STAC entity.\n * \n * @param {boolean} browserOnly - Return only images that can be shown in a browser natively (PNG/JPG/GIF/WEBP).\n * @param {?string} prefer - If not `null` (default), prefers a role over the other. Either `thumbnail` or `overview`.\n * @returns \n */\n getThumbnails(browserOnly = false, prefer = null) { // prefer can be either \n let thumbnails = this.getAssetsWithRoles(['thumbnail', 'overview']);\n // Get from links only if no assets are available as they should usually be the same as in assets\n if (thumbnails.length === 0) {\n thumbnails = this.getLinksWithRels(['preview']);\n }\n // Some old catalogs use just a asset key\n if (thumbnails.length === 0 && Utils.isObject(this.assets) && Utils.isObject(this.assets.thumbnail)) {\n thumbnails = [this.assets.thumbnail];\n }\n if (browserOnly) {\n // Remove all images that can't be displayed in a browser\n thumbnails = thumbnails.filter(img => Utils.canBrowserDisplayImage(img));\n }\n if (prefer && thumbnails.length > 1) {\n // Prefer one role over the other.\n // The two step approach with two filters ensures the same sort bevahiour across all browsers:\n // see https://github.com/radiantearth/stac-browser/issues/370\n let filter = img => img.roles.includes(prefer);\n thumbnails = thumbnails\n .filter(filter)\n .concat(thumbnails.filter(img => !filter(img)));\n }\n return thumbnails.map(img => this._linkToAbsolute(img));\n }\n\n equals(other) {\n if (!Utils.isObject(other)) {\n return false;\n }\n if (this === other) {\n return true;\n }\n if (this.id === other.id && this.type == other.type) {\n return true;\n }\n return false;\n }\n\n}\n\nexport default STAC;\n","// STAC relation types\n\n// STAC hierarchical\nexport const stacHierarchy = [\n 'child',\n 'collection',\n 'item',\n 'parent',\n 'root',\n 'self',\n];\n\n// STAC API Pagination\nexport const stacPagination = [\n 'first',\n 'last',\n 'next',\n 'prev',\n 'previous',\n];\n\n// Queryables\nexport const ogcQueryables = [\n 'queryables', // Old way in STAC (deprecated)\n 'http://www.opengis.net/def/rel/ogc/1.0/queryables', // STAC and OGC APIs\n 'ogc-rel:queryables' // Alternative in OGC APIs\n];\n\n// Rels that STAC Browser can navigate to and display natively (i.e. Collections, Catalogs and Items)\nexport const stacBrowserNavigatesTo = [\n 'canonical', // Links to other catalogs or items v\n 'related',\n 'derived_from',\n 'latest-version', // version extension v\n 'predecessor-version',\n 'successor-version',\n 'source', // label extension,\n 'alternate' // language extension\n].concat(stacHierarchy).concat(stacPagination);\n\n// Rels that are handled in a special way and should not be shown in the link list\nexport const stacBrowserSpecialHandling = [\n 'conformance', // API related v\n 'data',\n 'items',\n 'search',\n 'icon', // Other v\n 'license',\n].concat(stacHierarchy).concat(stacPagination).concat(ogcQueryables);\n\n// OGC APIs\nexport const ogcRelPrefix = 'http://www.opengis.net/def/rel/ogc/1.0/';\n","import axios from \"axios\";\nimport URI from \"urijs\";\nimport Utils from \"../utils\";\n\nexport class Loading {\n\n constructor(show = false) {\n this.show = Boolean(show);\n }\n\n}\n\nexport function stacRequestOptions(cx, link) {\n // Convert a URL string to a Link Object\n if (typeof link === 'string') {\n link = {\n href: link\n };\n }\n // Return if the link is not an object or doesn't contain an href\n if (!Utils.isObject(link) || typeof link.href !== 'string') {\n return {};\n }\n\n // Generate URL including query strings\n const url = cx.getters.getRequestUrl(link.href);\n\n // Combine headers\n let headers = {\n 'Accept-Language': cx.getters.acceptedLanguages\n };\n if (Utils.hasText(link.type)) {\n headers.Accept = link.type;\n }\n if (!cx.getters.isExternalUrl(url)) {\n Object.assign(headers, cx.state.requestHeaders);\n }\n if (Utils.isObject(link.headers)) {\n Object.assign(headers, link.headers);\n }\n\n // Combine all options for axios request\n return {\n method: typeof link.method === 'string' ? link.method.toLowerCase() : 'get',\n url,\n headers,\n data: link.body\n // ToDo: Support for merge property from STAC API\n };\n}\n\nexport async function stacRequest(cx, link, axiosOptions = {}) {\n // Get options\n const options = stacRequestOptions(cx, link);\n // Execute the request\n return await axios(Object.assign(options, axiosOptions));\n}\n\n\nexport function unproxyUrl(absoluteUrl, proxy) {\n if (absoluteUrl instanceof URI) {\n absoluteUrl = absoluteUrl.toString();\n }\n if (typeof absoluteUrl === 'string' && Array.isArray(proxy)) {\n return absoluteUrl.replace(proxy[1], proxy[0]);\n }\n return absoluteUrl;\n}\n\nexport function proxyUrl(absoluteUrl, proxy) {\n if (absoluteUrl instanceof URI) {\n absoluteUrl = absoluteUrl.toString();\n }\n if (typeof absoluteUrl === 'string' && Array.isArray(proxy)) {\n return absoluteUrl.replace(proxy[0], proxy[1]);\n }\n return absoluteUrl;\n}\n\nexport function processSTAC(state, stac) {\n if (typeof state.preprocessSTAC === 'function') {\n stac = state.preprocessSTAC(stac, state);\n }\n return Object.freeze(stac);\n}\n\nexport function isAuthenticationError(error) {\n return [401, 403].includes(error?.response?.status);\n}\n\nexport function addQueryIfNotExists(uri, query) {\n if (Utils.size(query) == 0) {\n return uri;\n }\n for (let key in query) {\n if (!uri.hasQuery(key)) {\n uri.addQuery(key, query[key]);\n }\n }\n return uri;\n}\n","import URI from 'urijs';\nimport removeMd from 'remove-markdown';\nimport { stacPagination } from \"./rels\";\n\nexport const commonFileNames = ['catalog', 'collection', 'item'];\n\nexport const geojsonMediaType = \"application/geo+json\";\n\nexport const schemaMediaType = \"application/schema+json\";\n\nexport const stacMediaTypes = [\n 'application/json',\n geojsonMediaType,\n 'text/json'\n];\n\nexport const browserImageTypes = [\n 'image/gif',\n 'image/jpg',\n 'image/jpeg',\n 'image/apng',\n 'image/png',\n 'image/webp'\n];\n\nexport const cogMediaTypes = [\n \"image/tiff; application=geotiff; profile=cloud-optimized\",\n \"image/vnd.stac.geotiff; cloud-optimized=true\"\n];\n\nexport const geotiffMediaTypes = [\n \"application/geotiff\",\n \"image/tiff; application=geotiff\",\n \"image/vnd.stac.geotiff\",\n].concat(cogMediaTypes);\n\nexport const browserProtocols = [\n 'http',\n 'https'\n];\n\nexport const imageMediaTypes = browserImageTypes.concat(geotiffMediaTypes);\nexport const mapMediaTypes = imageMediaTypes.concat([geojsonMediaType]);\n\nexport class BrowserError extends Error {\n constructor(message) {\n super(message);\n }\n}\n\n/**\n * General utilities\n * \n * @class\n */\nexport default class Utils {\n\n /**\n * Checks whether a variable is a real object or not.\n * \n * This is a more strict version of `typeof x === 'object'` as this example would also succeeds for arrays and `null`.\n * This function only returns `true` for real objects and not for arrays, `null` or any other data types.\n * \n * @param {*} obj - A variable to check.\n * @returns {boolean} - `true` is the given variable is an object, `false` otherwise.\n */\n static isObject(obj) {\n return (typeof obj === 'object' && obj === Object(obj) && !Array.isArray(obj));\n }\n\n /**\n * Computes the size of an array (number of array elements) or object (number of key-value-pairs).\n * \n * Returns 0 for all other data types.\n * \n * @param {*} obj \n * @returns {integer}\n */\n static size(obj) {\n if (typeof obj === 'object' && obj !== null) {\n if (Array.isArray(obj)) {\n return obj.length;\n }\n else {\n return Object.keys(obj).length;\n }\n }\n return 0;\n }\n\n static isStacMediaType(type, allowEmpty = false) {\n return Utils.isMediaType(type, stacMediaTypes, allowEmpty);\n }\n\n static isMediaType(type, types, allowEmpty = false) {\n if (!Array.isArray(types)) {\n types = [types];\n }\n if (allowEmpty && !type) {\n return true;\n }\n else if (typeof type !== 'string') {\n return false;\n }\n else {\n return types.includes(type.toLowerCase());\n }\n }\n\n /**\n * Checks whether a variable is a string and contains at least one character.\n * \n * @param {*} string - A variable to check.\n * @returns {boolean} - `true` is the given variable is an string with length > 0, `false` otherwise.\n */\n static hasText(string) {\n return (typeof string === 'string' && string.length > 0);\n }\n\n static shortenTitle(fullStr, strLen, separator = '…') {\n if (fullStr.length <= strLen) {\n return fullStr;\n }\n\n let sepLen = separator.length;\n let charsToShow = strLen - sepLen;\n let frontChars = Math.ceil(charsToShow/2);\n let backChars = Math.floor(charsToShow/2);\n return fullStr.substr(0, frontChars) + \n separator + \n fullStr.substr(fullStr.length - backChars);\n }\n\n static isGdalVfsUri(url) {\n return typeof url === 'string' && url.startsWith('/vsi') && !url.startsWith('/vsicurl/');\n }\n\n static toAbsolute(href, baseUrl, stringify = true) {\n return Utils.normalizeUri(href, baseUrl, false, stringify);\n }\n\n static normalizeUri(href, baseUrl = null, noParams = false, stringify = true) {\n // Convert vsicurl URLs to normal URLs\n if (typeof href === 'string' && href.startsWith('/vsicurl/')) {\n href = href.replace(/^\\/vsicurl\\//, '');\n }\n // Parse URL and make absolute, if required\n let uri = URI(href);\n // Don't convert GDAL VFS URIs: https://github.com/radiantearth/stac-browser/issues/116\n if (baseUrl && uri.is(\"relative\") && !Utils.isGdalVfsUri(href)) {\n uri = uri.absoluteTo(baseUrl);\n }\n uri.normalize();\n if (noParams) {\n uri.query(\"\");\n uri.fragment(\"\");\n }\n return stringify ? uri.toString() : uri;\n }\n\n static getLinkWithRel(links, rel) {\n return Array.isArray(links) ? links.find(link => Utils.isObject(link) && Utils.hasText(link.href) && link.rel === rel) : null;\n }\n\n static getLinksWithRels(links, rels) {\n return Array.isArray(links) ? links.filter(link => Utils.isObject(link) && Utils.hasText(link.href) && rels.includes(link.rel)) : [];\n }\n\n static getLinksWithOtherRels(links, rels) {\n return Array.isArray(links) ? links.filter(link => Utils.isObject(link) && Utils.hasText(link.href) && !rels.includes(link.rel)) : [];\n }\n\n static removeTrailingSlash(str) {\n return str.replace(/\\/$/, '');\n }\n\n static equalUrl(a, b) {\n try {\n let uri1 = URI(a);\n let uri2 = URI(b);\n // Ignore trailing slash in URL paths\n uri1.path(Utils.removeTrailingSlash(uri1.path()));\n uri2.path(Utils.removeTrailingSlash(uri2.path()));\n return uri1.equals(uri2);\n } catch (error) {\n return false;\n }\n }\n\n static summarizeMd(text, maxLength = null) {\n if (!Utils.hasText(text)) {\n return '';\n }\n // Best-effort approach to remove some CommonMark (Markdown).\n // Likely not perfect, but seems good enough for most cases.\n text = removeMd(text).replaceAll(/[\\r\\n]+/g, ' ');\n if (maxLength > 0 && text.length > maxLength) {\n text = text.substr(0, maxLength) + '…';\n }\n return text;\n }\n\n static scrollTo(el) {\n if (!el) {\n return;\n }\n var rect = el.getBoundingClientRect();\n var isVisible = rect.top < window.innerHeight && rect.bottom >= 0;\n if (!isVisible) {\n el.scrollIntoView({\n behavior: \"smooth\",\n block: \"start\"\n });\n }\n }\n\n // Convert from UTC to locale time (needed for vue2-datetimepicker)\n // see https://github.com/mengxiong10/vue2-datepicker/issues/388\n static dateFromUTC(dt) {\n if (dt) {\n const value = new Date(dt);\n dt = new Date(value.getTime() + value.getTimezoneOffset() * 60 * 1000);\n }\n return dt;\n }\n\n static dateToUTC(dt) {\n if (dt instanceof Date) {\n dt = new Date(dt.getTime() - dt.getTimezoneOffset() * 60 * 1000);\n }\n return dt;\n }\n\n static formatDatetimeQuery(value) {\n return value.map(dt => {\n if (dt instanceof Date) {\n return dt.toISOString();\n }\n else if (dt) {\n return dt;\n }\n else {\n return '..';\n }\n }).join('/');\n }\n\n static formatSortbyForPOST(value) {\n // POST search requires sortby to be an array of objects containing a property name and sort direction.\n // See spec here: https://api.stacspec.org/v1.0.0-rc.1/item-search/#tag/Item-Search/operation/postItemSearch\n // This function converts the property name to the desired format.\n const sortby = {\n field: '',\n direction: 'asc'\n };\n \n // Check if the value starts with a minus sign (\"-\")\n if (value.startsWith('-')) {\n // sort by descending order\n sortby.field = value.substring(1);\n sortby.direction = 'desc';\n } else {\n //sort by ascending order\n sortby.field = value;\n }\n \n // Put the object in an array\n return [sortby];\n }\n\n static getPaginationLinks(data) {\n let pages = {};\n if (Utils.isObject(data)) {\n let pageLinks = Utils.getLinksWithRels(data.links, stacPagination);\n for (let pageLink of pageLinks) {\n let rel = pageLink.rel === 'previous' ? 'prev' : pageLink.rel;\n pages[rel] = pageLink;\n }\n }\n return pages;\n }\n\n static addFiltersToLink(link, filters = {}, itemsPerPage = null) {\n let isEmpty = value => {\n return (value === null\n || (typeof value === 'number' && !Number.isFinite(value))\n || (typeof value === 'string' && value.length === 0)\n || (typeof value === 'object' && Utils.size(value) === 0));\n };\n\n if (!Utils.isObject(filters)) {\n filters = {};\n }\n else {\n filters = Object.assign({}, filters);\n }\n\n if (typeof filters.limit !== 'number' && typeof itemsPerPage === 'number') {\n filters.limit = itemsPerPage;\n }\n\n if (Utils.hasText(link.method) && link.method.toUpperCase() === 'POST') {\n let body = Object.assign({}, link.body);\n\n for (let key in filters) {\n let value = filters[key];\n if (isEmpty(value)) {\n delete body[key];\n continue;\n }\n\n if (key === 'sortby') {\n value = Utils.formatSortbyForPOST(value);\n }\n else if (key === 'datetime') {\n value = Utils.formatDatetimeQuery(value);\n }\n else if (key === 'filters') {\n Object.assign(body, value.toJSON());\n continue;\n }\n\n body[key] = value;\n }\n return Object.assign({}, link, { body });\n }\n else { // GET\n // Construct new link with search params\n let url = URI(link.href);\n\n for (let key in filters) {\n let value = filters[key];\n if (isEmpty(value)) {\n url.removeQuery(key);\n continue;\n }\n\n if (key === 'datetime') {\n value = Utils.formatDatetimeQuery(value);\n }\n else if (key === 'bbox') {\n value = value.join(',');\n }\n else if ((key === 'collections' || key === 'ids' || key === 'q')) {\n value = value.join(',');\n }\n else if (key === 'filters') {\n let params = value.toText();\n url.setQuery(params);\n continue;\n }\n\n url.setQuery(key, value);\n }\n\n return Object.assign({}, link, { href: url.toString() });\n }\n }\n\n static titleForHref(href, preferFileName = false) {\n let uri = URI(href);\n let auth = uri.authority();\n let file = uri.filename().replace(/^(.{1,})\\.\\w+$/, '$1');\n let dir = uri.directory().replace(/^\\//, '');\n if (auth && file && !preferFileName) {\n let path = uri.path().replace(/^\\//, '');\n if (auth === 'doi.org' && path.startsWith('10.')) {\n return `DOI ${path}`;\n }\n else {\n return `${file} (${auth})`;\n }\n }\n else if (file && !commonFileNames.includes(file)) {\n return file;\n }\n else if (auth) {\n return auth;\n }\n else if (dir) {\n return dir;\n }\n else {\n return href;\n }\n }\n\n static canBrowserDisplayImage(img) {\n if (typeof img.href !== 'string') {\n return false;\n }\n let uri = URI(img.href);\n let protocol = uri.protocol().toLowerCase();\n if (protocol && !browserProtocols.includes(protocol)) {\n return false;\n }\n else if (browserImageTypes.includes(img.type)) {\n return true;\n }\n else if (browserImageTypes.includes('image/' + uri.suffix().toLowerCase())) {\n return true;\n }\n else if (img.type) {\n return false;\n }\n else {\n return true; // If no img.type is given, try to load it anyway: https://github.com/radiantearth/stac-browser/issues/147\n }\n }\n\n // Gets the value at path of object.\n // Drop in replacement for lodash.get\n static getValueFromObjectUsingPath(object, path) {\n if (object === null || typeof object !== 'object') {\n return;\n }\n object = object[path[0]];\n if (typeof object !== 'undefined' && path.length > 1) {\n return this.getValueFromObjectUsingPath(object, path.slice(1));\n }\n return object;\n }\n\n static search(searchterm, target, and = true) {\n if (typeof searchterm !== 'string' || searchterm.length === 0) {\n return false;\n }\n if (Utils.isObject(target)) {\n target = Object.values(target);\n }\n else if (typeof target === 'string') {\n target = [target];\n }\n\n if (!Array.isArray(target)) {\n return false;\n }\n\n let splitChars = /[\\s.,;!&({[)}]]+/g;\n\n // Prepare search terms\n searchterm = searchterm.toLowerCase().split(splitChars);\n\n // Prepare text to search in\n target = target\n .filter(s => typeof s === 'string') // Remove non-strings\n .join(' ') // Merge into a single string\n .replace(splitChars, ' ') // replace split chars with white spaces\n .toLowerCase(); // Lowercase\n\n // Search with \"and\" or \"or\"\n let fn = and ? 'every' : 'some';\n return searchterm[fn](term => target.includes(term));\n }\n\n static createLink(href, rel) {\n return { href, rel };\n }\n\n static supportsExtension(data, pattern) {\n if (!Utils.isObject(data) || !Array.isArray(data['stac_extensions'])) {\n return false;\n }\n let regexp = new RegExp('^' + pattern.replaceAll('*', '[^/]+') + '$');\n return Boolean(data['stac_extensions'].find(uri => regexp.test(uri)));\n }\n\n /**\n * Deep merge two objects.\n * @param target\n * @param ...sources\n */\n static mergeDeep(target, ...sources) {\n if (!sources.length) {\n return target;\n }\n const source = sources.shift();\n\n if (Utils.isObject(target) && Utils.isObject(source)) {\n for (const key in source) {\n if (Utils.isObject(source[key])) {\n if (!target[key]) {\n Object.assign(target, { [key]: {} });\n }\n Utils.mergeDeep(target[key], source[key]);\n } else {\n Object.assign(target, { [key]: source[key] });\n }\n }\n }\n\n return Utils.mergeDeep(target, ...sources);\n }\n\n}\n","import ErrorAlert from '../components/ErrorAlert.vue';\nimport Loading from '../components/Loading.vue';\nimport Utils, { BrowserError } from '../utils';\nimport URI from 'urijs';\nimport { mapState, mapGetters } from 'vuex';\n\nexport default {\n components: {\n ErrorAlert,\n Loading\n },\n props: {\n path: {\n type: String,\n required: true\n }\n },\n computed: {\n ...mapState([\"allowExternalAccess\", \"catalogUrl\", \"url\", \"redirectLegacyUrls\"]),\n ...mapGetters([\"fromBrowserPath\", \"error\", \"loading\"]),\n errorId() {\n if (this.error instanceof Error && this.error.isAxiosError && Utils.isObject(this.error.response)) {\n let res = this.error.response;\n if (Utils.isObject(res.data) && res.data.code) {\n return res.data.code;\n }\n else {\n return res.status;\n }\n }\n return null;\n },\n errorDescription() { \n if (this.error instanceof Error && this.error.isAxiosError && Utils.isObject(this.error.response)) {\n let res = this.error.response;\n if (Utils.isObject(res.data) && typeof res.data.description === 'string') { // STAC API compliant error response\n return res.data.description;\n }\n if (res.status === 401) {\n return this.$t('errors.unauthorized');\n }\n else if (res.status === 403) {\n return this.$t('errors.forbidden');\n }\n else if (res.status === 404) {\n return this.$t('errors.notFound');\n }\n else if (res.status > 500) {\n return this.$t('errors.serverError');\n }\n else if (res.status > 400) {\n return this.$t('errors.badRequest');\n }\n }\n else if (this.error instanceof BrowserError) {\n return this.error.message;\n }\n\n return this.$t('errors.networkError');\n },\n isExternal() {\n return URI(this.path).is(\"absolute\");\n }\n },\n watch: {\n path: {\n immediate: true,\n async handler(path, oldPath) {\n if (path === oldPath) {\n return;\n }\n else if (!this.allowExternalAccess && this.isExternal) {\n return;\n }\n else if (this.redirectLegacyUrls && await this.redirectLegacyUrl(path)) {\n return;\n }\n\n let url = this.fromBrowserPath(path || '/');\n this.$store.dispatch(\"load\", { url, show: true });\n }\n }\n },\n methods: {\n async redirectLegacyUrl(path) {\n if (!path || path === '/') {\n return false;\n }\n // Split all subpaths and remove the leading item or collection prefixes from the old STAC Browser routes\n let parts = path.split('/').filter(part => part.length > 0 && part !== 'item' && part !== 'collection');\n // Make sure all remaining parts are valid base58, otherwise they likely no legacy URLs\n if (parts.length > 0 && parts.every(part => part.match(/^[123456789abcdefghijkmnopqrstuvwxyzABCDEFGHJKLMNPQRSTUVWXYZ]+$/))) {\n // Lazy load base58 so that it's only in the loaded when really needed\n const { decode } = await import('bs58');\n // Decode last path element from base58, the others parts are not relevant for us\n let newPath = decode(parts[parts.length - 1]).toString();\n if (newPath) {\n let uri = URI(newPath);\n // Navigate to new URL\n this.$router.replace({\n // Remove trailing collections or items paths from APIs\n path: '/' + uri.path().replace(/(collections|items)\\/?$/, ''),\n query: uri.query(true)\n });\n return true;\n }\n }\n return false;\n }\n }\n};\n","var map = {\n\t\"./de-CH/config\": [\n\t\t79933,\n\t\t3\n\t],\n\t\"./de-CH/config.json\": [\n\t\t79933,\n\t\t3\n\t],\n\t\"./de-CH/datepicker\": [\n\t\t40895,\n\t\t9,\n\t\t895\n\t],\n\t\"./de-CH/datepicker.js\": [\n\t\t40895,\n\t\t9,\n\t\t895\n\t],\n\t\"./de-CH/default\": [\n\t\t968,\n\t\t9,\n\t\t4490,\n\t\t968\n\t],\n\t\"./de-CH/default.js\": [\n\t\t968,\n\t\t9,\n\t\t4490,\n\t\t968\n\t],\n\t\"./de-CH/duration\": [\n\t\t49637,\n\t\t9,\n\t\t9710,\n\t\t9637\n\t],\n\t\"./de-CH/duration.js\": [\n\t\t49637,\n\t\t9,\n\t\t9710,\n\t\t9637\n\t],\n\t\"./de-CH/validation\": [\n\t\t75270,\n\t\t9,\n\t\t5270\n\t],\n\t\"./de-CH/validation.js\": [\n\t\t75270,\n\t\t9,\n\t\t5270\n\t],\n\t\"./de/config\": [\n\t\t28417,\n\t\t3\n\t],\n\t\"./de/config.json\": [\n\t\t28417,\n\t\t3\n\t],\n\t\"./de/custom\": [\n\t\t45692,\n\t\t3,\n\t\t5692\n\t],\n\t\"./de/custom.json\": [\n\t\t45692,\n\t\t3,\n\t\t5692\n\t],\n\t\"./de/datepicker\": [\n\t\t74801,\n\t\t9,\n\t\t4801\n\t],\n\t\"./de/datepicker.js\": [\n\t\t74801,\n\t\t9,\n\t\t4801\n\t],\n\t\"./de/default\": [\n\t\t62862,\n\t\t9,\n\t\t4490,\n\t\t2862\n\t],\n\t\"./de/default.js\": [\n\t\t62862,\n\t\t9,\n\t\t4490,\n\t\t2862\n\t],\n\t\"./de/duration\": [\n\t\t54511,\n\t\t9,\n\t\t9710,\n\t\t4511\n\t],\n\t\"./de/duration.js\": [\n\t\t54511,\n\t\t9,\n\t\t9710,\n\t\t4511\n\t],\n\t\"./de/fields\": [\n\t\t14490,\n\t\t3,\n\t\t4490\n\t],\n\t\"./de/fields.json\": [\n\t\t14490,\n\t\t3,\n\t\t4490\n\t],\n\t\"./de/texts\": [\n\t\t99581,\n\t\t3,\n\t\t9581\n\t],\n\t\"./de/texts.json\": [\n\t\t99581,\n\t\t3,\n\t\t9581\n\t],\n\t\"./de/validation\": [\n\t\t62816,\n\t\t9,\n\t\t2816\n\t],\n\t\"./de/validation.js\": [\n\t\t62816,\n\t\t9,\n\t\t2816\n\t],\n\t\"./en-GB/config\": [\n\t\t23667,\n\t\t3\n\t],\n\t\"./en-GB/config.json\": [\n\t\t23667,\n\t\t3\n\t],\n\t\"./en-GB/custom\": [\n\t\t78798,\n\t\t3,\n\t\t8798\n\t],\n\t\"./en-GB/custom.json\": [\n\t\t78798,\n\t\t3,\n\t\t8798\n\t],\n\t\"./en-GB/datepicker\": [\n\t\t22605,\n\t\t9,\n\t\t2605\n\t],\n\t\"./en-GB/datepicker.js\": [\n\t\t22605,\n\t\t9,\n\t\t2605\n\t],\n\t\"./en-GB/default\": [\n\t\t63170,\n\t\t9,\n\t\t3170\n\t],\n\t\"./en-GB/default.js\": [\n\t\t63170,\n\t\t9,\n\t\t3170\n\t],\n\t\"./en-GB/duration\": [\n\t\t47843,\n\t\t9,\n\t\t9710,\n\t\t7843\n\t],\n\t\"./en-GB/duration.js\": [\n\t\t47843,\n\t\t9,\n\t\t9710,\n\t\t7843\n\t],\n\t\"./en-GB/fields\": [\n\t\t87400,\n\t\t3,\n\t\t7400\n\t],\n\t\"./en-GB/fields.json\": [\n\t\t87400,\n\t\t3,\n\t\t7400\n\t],\n\t\"./en-GB/texts\": [\n\t\t62963,\n\t\t3,\n\t\t2963\n\t],\n\t\"./en-GB/texts.json\": [\n\t\t62963,\n\t\t3,\n\t\t2963\n\t],\n\t\"./en-GB/validation\": [\n\t\t6492,\n\t\t9,\n\t\t6492\n\t],\n\t\"./en-GB/validation.js\": [\n\t\t6492,\n\t\t9,\n\t\t6492\n\t],\n\t\"./en-US/config\": [\n\t\t92444,\n\t\t3\n\t],\n\t\"./en-US/config.json\": [\n\t\t92444,\n\t\t3\n\t],\n\t\"./en-US/datepicker\": [\n\t\t95558,\n\t\t9,\n\t\t5558\n\t],\n\t\"./en-US/datepicker.js\": [\n\t\t95558,\n\t\t9,\n\t\t5558\n\t],\n\t\"./en-US/default\": [\n\t\t15691,\n\t\t9,\n\t\t5691\n\t],\n\t\"./en-US/default.js\": [\n\t\t15691,\n\t\t9,\n\t\t5691\n\t],\n\t\"./en-US/duration\": [\n\t\t49684,\n\t\t9,\n\t\t9710,\n\t\t9684\n\t],\n\t\"./en-US/duration.js\": [\n\t\t49684,\n\t\t9,\n\t\t9710,\n\t\t9684\n\t],\n\t\"./en-US/validation\": [\n\t\t3155,\n\t\t9,\n\t\t3155\n\t],\n\t\"./en-US/validation.js\": [\n\t\t3155,\n\t\t9,\n\t\t3155\n\t],\n\t\"./en/config\": [\n\t\t11401,\n\t\t3\n\t],\n\t\"./en/config.json\": [\n\t\t11401,\n\t\t3\n\t],\n\t\"./en/custom\": [\n\t\t85300,\n\t\t3,\n\t\t5300\n\t],\n\t\"./en/custom.json\": [\n\t\t85300,\n\t\t3,\n\t\t5300\n\t],\n\t\"./en/datepicker\": [\n\t\t71865,\n\t\t9,\n\t\t1865\n\t],\n\t\"./en/datepicker.js\": [\n\t\t71865,\n\t\t9,\n\t\t1865\n\t],\n\t\"./en/default\": [\n\t\t56886,\n\t\t9,\n\t\t6886\n\t],\n\t\"./en/default.js\": [\n\t\t56886,\n\t\t9,\n\t\t6886\n\t],\n\t\"./en/duration\": [\n\t\t86855,\n\t\t9,\n\t\t9710,\n\t\t6855\n\t],\n\t\"./en/duration.js\": [\n\t\t86855,\n\t\t9,\n\t\t9710,\n\t\t6855\n\t],\n\t\"./en/fields\": [\n\t\t87090,\n\t\t3,\n\t\t7090\n\t],\n\t\"./en/fields.json\": [\n\t\t87090,\n\t\t3,\n\t\t7090\n\t],\n\t\"./en/stac-fields\": [\n\t\t98236,\n\t\t9,\n\t\t8236\n\t],\n\t\"./en/stac-fields.js\": [\n\t\t98236,\n\t\t9,\n\t\t8236\n\t],\n\t\"./en/texts\": [\n\t\t33301,\n\t\t3,\n\t\t3301\n\t],\n\t\"./en/texts.json\": [\n\t\t33301,\n\t\t3,\n\t\t3301\n\t],\n\t\"./en/validation\": [\n\t\t98552,\n\t\t9,\n\t\t8552\n\t],\n\t\"./en/validation.js\": [\n\t\t98552,\n\t\t9,\n\t\t8552\n\t],\n\t\"./es/config\": [\n\t\t17212,\n\t\t3\n\t],\n\t\"./es/config.json\": [\n\t\t17212,\n\t\t3\n\t],\n\t\"./es/custom\": [\n\t\t14581,\n\t\t3,\n\t\t4581\n\t],\n\t\"./es/custom.json\": [\n\t\t14581,\n\t\t3,\n\t\t4581\n\t],\n\t\"./es/datepicker\": [\n\t\t54312,\n\t\t9,\n\t\t4312\n\t],\n\t\"./es/datepicker.js\": [\n\t\t54312,\n\t\t9,\n\t\t4312\n\t],\n\t\"./es/default\": [\n\t\t89113,\n\t\t9,\n\t\t9113\n\t],\n\t\"./es/default.js\": [\n\t\t89113,\n\t\t9,\n\t\t9113\n\t],\n\t\"./es/duration\": [\n\t\t46046,\n\t\t9,\n\t\t9710,\n\t\t6046\n\t],\n\t\"./es/duration.js\": [\n\t\t46046,\n\t\t9,\n\t\t9710,\n\t\t6046\n\t],\n\t\"./es/fields\": [\n\t\t11295,\n\t\t3,\n\t\t1295\n\t],\n\t\"./es/fields.json\": [\n\t\t11295,\n\t\t3,\n\t\t1295\n\t],\n\t\"./es/texts\": [\n\t\t90674,\n\t\t3,\n\t\t674\n\t],\n\t\"./es/texts.json\": [\n\t\t90674,\n\t\t3,\n\t\t674\n\t],\n\t\"./es/validation\": [\n\t\t35893,\n\t\t9,\n\t\t5893\n\t],\n\t\"./es/validation.js\": [\n\t\t35893,\n\t\t9,\n\t\t5893\n\t],\n\t\"./fr-CA/config\": [\n\t\t20995,\n\t\t3\n\t],\n\t\"./fr-CA/config.json\": [\n\t\t20995,\n\t\t3\n\t],\n\t\"./fr-CA/datepicker\": [\n\t\t6997,\n\t\t9,\n\t\t6997\n\t],\n\t\"./fr-CA/datepicker.js\": [\n\t\t6997,\n\t\t9,\n\t\t6997\n\t],\n\t\"./fr-CA/default\": [\n\t\t71082,\n\t\t9,\n\t\t5767,\n\t\t1082\n\t],\n\t\"./fr-CA/default.js\": [\n\t\t71082,\n\t\t9,\n\t\t5767,\n\t\t1082\n\t],\n\t\"./fr-CA/duration\": [\n\t\t27003,\n\t\t9,\n\t\t9710,\n\t\t7003\n\t],\n\t\"./fr-CA/duration.js\": [\n\t\t27003,\n\t\t9,\n\t\t9710,\n\t\t7003\n\t],\n\t\"./fr-CA/validation\": [\n\t\t38228,\n\t\t9,\n\t\t8228\n\t],\n\t\"./fr-CA/validation.js\": [\n\t\t38228,\n\t\t9,\n\t\t8228\n\t],\n\t\"./fr-CH/config\": [\n\t\t1738,\n\t\t3\n\t],\n\t\"./fr-CH/config.json\": [\n\t\t1738,\n\t\t3\n\t],\n\t\"./fr-CH/datepicker\": [\n\t\t81456,\n\t\t9,\n\t\t1456\n\t],\n\t\"./fr-CH/datepicker.js\": [\n\t\t81456,\n\t\t9,\n\t\t1456\n\t],\n\t\"./fr-CH/default\": [\n\t\t44545,\n\t\t9,\n\t\t5767,\n\t\t4545\n\t],\n\t\"./fr-CH/default.js\": [\n\t\t44545,\n\t\t9,\n\t\t5767,\n\t\t4545\n\t],\n\t\"./fr-CH/duration\": [\n\t\t67286,\n\t\t9,\n\t\t9710,\n\t\t7286\n\t],\n\t\"./fr-CH/duration.js\": [\n\t\t67286,\n\t\t9,\n\t\t9710,\n\t\t7286\n\t],\n\t\"./fr-CH/validation\": [\n\t\t82605,\n\t\t9,\n\t\t4986\n\t],\n\t\"./fr-CH/validation.js\": [\n\t\t82605,\n\t\t9,\n\t\t4986\n\t],\n\t\"./fr/config\": [\n\t\t37748,\n\t\t3\n\t],\n\t\"./fr/config.json\": [\n\t\t37748,\n\t\t3\n\t],\n\t\"./fr/custom\": [\n\t\t75197,\n\t\t3,\n\t\t5197\n\t],\n\t\"./fr/custom.json\": [\n\t\t75197,\n\t\t3,\n\t\t5197\n\t],\n\t\"./fr/datepicker\": [\n\t\t37036,\n\t\t9,\n\t\t7036\n\t],\n\t\"./fr/datepicker.js\": [\n\t\t37036,\n\t\t9,\n\t\t7036\n\t],\n\t\"./fr/default\": [\n\t\t1589,\n\t\t9,\n\t\t5767,\n\t\t1589\n\t],\n\t\"./fr/default.js\": [\n\t\t1589,\n\t\t9,\n\t\t5767,\n\t\t1589\n\t],\n\t\"./fr/duration\": [\n\t\t93658,\n\t\t9,\n\t\t9710,\n\t\t3658\n\t],\n\t\"./fr/duration.js\": [\n\t\t93658,\n\t\t9,\n\t\t9710,\n\t\t3658\n\t],\n\t\"./fr/fields\": [\n\t\t48148,\n\t\t3,\n\t\t5767\n\t],\n\t\"./fr/fields.json\": [\n\t\t48148,\n\t\t3,\n\t\t5767\n\t],\n\t\"./fr/texts\": [\n\t\t23418,\n\t\t3,\n\t\t3418\n\t],\n\t\"./fr/texts.json\": [\n\t\t23418,\n\t\t3,\n\t\t3418\n\t],\n\t\"./fr/validation\": [\n\t\t33129,\n\t\t9,\n\t\t3129\n\t],\n\t\"./fr/validation.js\": [\n\t\t33129,\n\t\t9,\n\t\t3129\n\t],\n\t\"./it-CH/config\": [\n\t\t16835,\n\t\t3\n\t],\n\t\"./it-CH/config.json\": [\n\t\t16835,\n\t\t3\n\t],\n\t\"./it-CH/datepicker\": [\n\t\t75862,\n\t\t9,\n\t\t3481\n\t],\n\t\"./it-CH/datepicker.js\": [\n\t\t75862,\n\t\t9,\n\t\t3481\n\t],\n\t\"./it-CH/default\": [\n\t\t77638,\n\t\t9,\n\t\t9476,\n\t\t7638\n\t],\n\t\"./it-CH/default.js\": [\n\t\t77638,\n\t\t9,\n\t\t9476,\n\t\t7638\n\t],\n\t\"./it-CH/duration\": [\n\t\t44567,\n\t\t9,\n\t\t9710,\n\t\t4567\n\t],\n\t\"./it-CH/duration.js\": [\n\t\t44567,\n\t\t9,\n\t\t9710,\n\t\t4567\n\t],\n\t\"./it-CH/validation\": [\n\t\t63048,\n\t\t9,\n\t\t3048\n\t],\n\t\"./it-CH/validation.js\": [\n\t\t63048,\n\t\t9,\n\t\t3048\n\t],\n\t\"./it/config\": [\n\t\t37295,\n\t\t3\n\t],\n\t\"./it/config.json\": [\n\t\t37295,\n\t\t3\n\t],\n\t\"./it/custom\": [\n\t\t5290,\n\t\t3,\n\t\t5290\n\t],\n\t\"./it/custom.json\": [\n\t\t5290,\n\t\t3,\n\t\t5290\n\t],\n\t\"./it/datepicker\": [\n\t\t36147,\n\t\t9,\n\t\t6147\n\t],\n\t\"./it/datepicker.js\": [\n\t\t36147,\n\t\t9,\n\t\t6147\n\t],\n\t\"./it/default\": [\n\t\t23108,\n\t\t9,\n\t\t9476,\n\t\t3108\n\t],\n\t\"./it/default.js\": [\n\t\t23108,\n\t\t9,\n\t\t9476,\n\t\t3108\n\t],\n\t\"./it/duration\": [\n\t\t67905,\n\t\t9,\n\t\t9710,\n\t\t7905\n\t],\n\t\"./it/duration.js\": [\n\t\t67905,\n\t\t9,\n\t\t9710,\n\t\t7905\n\t],\n\t\"./it/fields\": [\n\t\t39476,\n\t\t3,\n\t\t9476\n\t],\n\t\"./it/fields.json\": [\n\t\t39476,\n\t\t3,\n\t\t9476\n\t],\n\t\"./it/texts\": [\n\t\t27519,\n\t\t3,\n\t\t7519\n\t],\n\t\"./it/texts.json\": [\n\t\t27519,\n\t\t3,\n\t\t7519\n\t],\n\t\"./it/validation\": [\n\t\t66346,\n\t\t9,\n\t\t6346\n\t],\n\t\"./it/validation.js\": [\n\t\t66346,\n\t\t9,\n\t\t6346\n\t],\n\t\"./ja/config\": [\n\t\t15203,\n\t\t3\n\t],\n\t\"./ja/config.json\": [\n\t\t15203,\n\t\t3\n\t],\n\t\"./ja/custom\": [\n\t\t79870,\n\t\t3,\n\t\t9870\n\t],\n\t\"./ja/custom.json\": [\n\t\t79870,\n\t\t3,\n\t\t9870\n\t],\n\t\"./ja/datepicker\": [\n\t\t70675,\n\t\t9,\n\t\t675\n\t],\n\t\"./ja/datepicker.js\": [\n\t\t70675,\n\t\t9,\n\t\t675\n\t],\n\t\"./ja/default\": [\n\t\t4964,\n\t\t9,\n\t\t4964\n\t],\n\t\"./ja/default.js\": [\n\t\t4964,\n\t\t9,\n\t\t4964\n\t],\n\t\"./ja/duration\": [\n\t\t87905,\n\t\t9,\n\t\t9710,\n\t\t2667\n\t],\n\t\"./ja/duration.js\": [\n\t\t87905,\n\t\t9,\n\t\t9710,\n\t\t2667\n\t],\n\t\"./ja/fields\": [\n\t\t68376,\n\t\t3,\n\t\t8376\n\t],\n\t\"./ja/fields.json\": [\n\t\t68376,\n\t\t3,\n\t\t8376\n\t],\n\t\"./ja/texts\": [\n\t\t30883,\n\t\t3,\n\t\t883\n\t],\n\t\"./ja/texts.json\": [\n\t\t30883,\n\t\t3,\n\t\t883\n\t],\n\t\"./ja/validation\": [\n\t\t14826,\n\t\t9,\n\t\t4826\n\t],\n\t\"./ja/validation.js\": [\n\t\t14826,\n\t\t9,\n\t\t4826\n\t],\n\t\"./pt-BR/config\": [\n\t\t87503,\n\t\t3\n\t],\n\t\"./pt-BR/config.json\": [\n\t\t87503,\n\t\t3\n\t],\n\t\"./pt-BR/custom\": [\n\t\t54794,\n\t\t3,\n\t\t4794\n\t],\n\t\"./pt-BR/custom.json\": [\n\t\t54794,\n\t\t3,\n\t\t4794\n\t],\n\t\"./pt-BR/datepicker\": [\n\t\t20105,\n\t\t9,\n\t\t105\n\t],\n\t\"./pt-BR/datepicker.js\": [\n\t\t20105,\n\t\t9,\n\t\t105\n\t],\n\t\"./pt-BR/default\": [\n\t\t92294,\n\t\t9,\n\t\t2294\n\t],\n\t\"./pt-BR/default.js\": [\n\t\t92294,\n\t\t9,\n\t\t2294\n\t],\n\t\"./pt-BR/duration\": [\n\t\t44631,\n\t\t9,\n\t\t9710,\n\t\t4631\n\t],\n\t\"./pt-BR/duration.js\": [\n\t\t44631,\n\t\t9,\n\t\t9710,\n\t\t4631\n\t],\n\t\"./pt-BR/fields\": [\n\t\t1524,\n\t\t3,\n\t\t1524\n\t],\n\t\"./pt-BR/fields.json\": [\n\t\t1524,\n\t\t3,\n\t\t1524\n\t],\n\t\"./pt-BR/texts\": [\n\t\t69311,\n\t\t3,\n\t\t9311\n\t],\n\t\"./pt-BR/texts.json\": [\n\t\t69311,\n\t\t3,\n\t\t9311\n\t],\n\t\"./pt-BR/validation\": [\n\t\t70536,\n\t\t9,\n\t\t536\n\t],\n\t\"./pt-BR/validation.js\": [\n\t\t70536,\n\t\t9,\n\t\t536\n\t],\n\t\"./pt/config\": [\n\t\t22356,\n\t\t3\n\t],\n\t\"./pt/config.json\": [\n\t\t22356,\n\t\t3\n\t],\n\t\"./pt/custom\": [\n\t\t2653,\n\t\t3,\n\t\t2653\n\t],\n\t\"./pt/custom.json\": [\n\t\t2653,\n\t\t3,\n\t\t2653\n\t],\n\t\"./pt/datepicker\": [\n\t\t59856,\n\t\t9,\n\t\t9856\n\t],\n\t\"./pt/datepicker.js\": [\n\t\t59856,\n\t\t9,\n\t\t9856\n\t],\n\t\"./pt/default\": [\n\t\t56513,\n\t\t9,\n\t\t6513\n\t],\n\t\"./pt/default.js\": [\n\t\t56513,\n\t\t9,\n\t\t6513\n\t],\n\t\"./pt/duration\": [\n\t\t32438,\n\t\t9,\n\t\t9710,\n\t\t2438\n\t],\n\t\"./pt/duration.js\": [\n\t\t32438,\n\t\t9,\n\t\t9710,\n\t\t2438\n\t],\n\t\"./pt/fields\": [\n\t\t44455,\n\t\t3,\n\t\t4455\n\t],\n\t\"./pt/fields.json\": [\n\t\t44455,\n\t\t3,\n\t\t4455\n\t],\n\t\"./pt/texts\": [\n\t\t29946,\n\t\t3,\n\t\t9946\n\t],\n\t\"./pt/texts.json\": [\n\t\t29946,\n\t\t3,\n\t\t9946\n\t],\n\t\"./pt/validation\": [\n\t\t12685,\n\t\t9,\n\t\t2685\n\t],\n\t\"./pt/validation.js\": [\n\t\t12685,\n\t\t9,\n\t\t2685\n\t],\n\t\"./ro/config\": [\n\t\t99069,\n\t\t3\n\t],\n\t\"./ro/config.json\": [\n\t\t99069,\n\t\t3\n\t],\n\t\"./ro/custom\": [\n\t\t5160,\n\t\t3,\n\t\t5160\n\t],\n\t\"./ro/custom.json\": [\n\t\t5160,\n\t\t3,\n\t\t5160\n\t],\n\t\"./ro/datepicker\": [\n\t\t2929,\n\t\t9,\n\t\t2929\n\t],\n\t\"./ro/datepicker.js\": [\n\t\t2929,\n\t\t9,\n\t\t2929\n\t],\n\t\"./ro/default\": [\n\t\t63022,\n\t\t9,\n\t\t3022\n\t],\n\t\"./ro/default.js\": [\n\t\t63022,\n\t\t9,\n\t\t3022\n\t],\n\t\"./ro/duration\": [\n\t\t65583,\n\t\t9,\n\t\t9710,\n\t\t5583\n\t],\n\t\"./ro/duration.js\": [\n\t\t65583,\n\t\t9,\n\t\t9710,\n\t\t5583\n\t],\n\t\"./ro/fields\": [\n\t\t14758,\n\t\t3,\n\t\t4758\n\t],\n\t\"./ro/fields.json\": [\n\t\t14758,\n\t\t3,\n\t\t4758\n\t],\n\t\"./ro/texts\": [\n\t\t55577,\n\t\t3,\n\t\t5577\n\t],\n\t\"./ro/texts.json\": [\n\t\t55577,\n\t\t3,\n\t\t5577\n\t],\n\t\"./ro/validation\": [\n\t\t90944,\n\t\t9,\n\t\t944\n\t],\n\t\"./ro/validation.js\": [\n\t\t90944,\n\t\t9,\n\t\t944\n\t]\n};\nfunction webpackAsyncContext(req) {\n\tif(!__webpack_require__.o(map, req)) {\n\t\treturn Promise.resolve().then(function() {\n\t\t\tvar e = new Error(\"Cannot find module '\" + req + \"'\");\n\t\t\te.code = 'MODULE_NOT_FOUND';\n\t\t\tthrow e;\n\t\t});\n\t}\n\n\tvar ids = map[req], id = ids[0];\n\treturn Promise.all(ids.slice(2).map(__webpack_require__.e)).then(function() {\n\t\treturn __webpack_require__.t(id, ids[1] | 16)\n\t});\n}\nwebpackAsyncContext.keys = function() { return Object.keys(map); };\nwebpackAsyncContext.id = 93731;\nmodule.exports = webpackAsyncContext;","var map = {\n\t\"./de-CH/default.js\": [\n\t\t968,\n\t\t4490,\n\t\t968\n\t],\n\t\"./de/default.js\": [\n\t\t62862,\n\t\t4490,\n\t\t2862\n\t],\n\t\"./en-GB/default.js\": [\n\t\t63170,\n\t\t3170\n\t],\n\t\"./en-US/default.js\": [\n\t\t15691,\n\t\t5691\n\t],\n\t\"./en/default.js\": [\n\t\t56886,\n\t\t6886\n\t],\n\t\"./es/default.js\": [\n\t\t89113,\n\t\t9113\n\t],\n\t\"./fr-CA/default.js\": [\n\t\t71082,\n\t\t5767,\n\t\t1082\n\t],\n\t\"./fr-CH/default.js\": [\n\t\t44545,\n\t\t5767,\n\t\t4545\n\t],\n\t\"./fr/default.js\": [\n\t\t1589,\n\t\t5767,\n\t\t1589\n\t],\n\t\"./it-CH/default.js\": [\n\t\t77638,\n\t\t9476,\n\t\t7638\n\t],\n\t\"./it/default.js\": [\n\t\t23108,\n\t\t9476,\n\t\t3108\n\t],\n\t\"./ja/default.js\": [\n\t\t4964,\n\t\t4964\n\t],\n\t\"./pt-BR/default.js\": [\n\t\t92294,\n\t\t2294\n\t],\n\t\"./pt/default.js\": [\n\t\t56513,\n\t\t6513\n\t],\n\t\"./ro/default.js\": [\n\t\t63022,\n\t\t3022\n\t]\n};\nfunction webpackAsyncContext(req) {\n\tif(!__webpack_require__.o(map, req)) {\n\t\treturn Promise.resolve().then(function() {\n\t\t\tvar e = new Error(\"Cannot find module '\" + req + \"'\");\n\t\t\te.code = 'MODULE_NOT_FOUND';\n\t\t\tthrow e;\n\t\t});\n\t}\n\n\tvar ids = map[req], id = ids[0];\n\treturn Promise.all(ids.slice(1).map(__webpack_require__.e)).then(function() {\n\t\treturn __webpack_require__(id);\n\t});\n}\nwebpackAsyncContext.keys = function() { return Object.keys(map); };\nwebpackAsyncContext.id = 33545;\nmodule.exports = webpackAsyncContext;","var map = {\n\t\"./de-CH/config.json\": 79933,\n\t\"./de/config.json\": 28417,\n\t\"./en-GB/config.json\": 23667,\n\t\"./en-US/config.json\": 92444,\n\t\"./en/config.json\": 11401,\n\t\"./es/config.json\": 17212,\n\t\"./fr-CA/config.json\": 20995,\n\t\"./fr-CH/config.json\": 1738,\n\t\"./fr/config.json\": 37748,\n\t\"./it-CH/config.json\": 16835,\n\t\"./it/config.json\": 37295,\n\t\"./ja/config.json\": 15203,\n\t\"./pt-BR/config.json\": 87503,\n\t\"./pt/config.json\": 22356,\n\t\"./ro/config.json\": 99069\n};\n\n\nfunction webpackContext(req) {\n\tvar id = webpackContextResolve(req);\n\treturn __webpack_require__(id);\n}\nfunction webpackContextResolve(req) {\n\tif(!__webpack_require__.o(map, req)) {\n\t\tvar e = new Error(\"Cannot find module '\" + req + \"'\");\n\t\te.code = 'MODULE_NOT_FOUND';\n\t\tthrow e;\n\t}\n\treturn map[req];\n}\nwebpackContext.keys = function webpackContextKeys() {\n\treturn Object.keys(map);\n};\nwebpackContext.resolve = webpackContextResolve;\nmodule.exports = webpackContext;\nwebpackContext.id = 97991;","// The module cache\nvar __webpack_module_cache__ = {};\n\n// The require function\nfunction __webpack_require__(moduleId) {\n\t// Check if module is in cache\n\tvar cachedModule = __webpack_module_cache__[moduleId];\n\tif (cachedModule !== undefined) {\n\t\treturn cachedModule.exports;\n\t}\n\t// Create a new module (and put it into the cache)\n\tvar module = __webpack_module_cache__[moduleId] = {\n\t\tid: moduleId,\n\t\tloaded: false,\n\t\texports: {}\n\t};\n\n\t// Execute the module function\n\t__webpack_modules__[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n\t// Flag the module as loaded\n\tmodule.loaded = true;\n\n\t// Return the exports of the module\n\treturn module.exports;\n}\n\n// expose the modules object (__webpack_modules__)\n__webpack_require__.m = __webpack_modules__;\n\n","var webpackQueues = typeof Symbol === \"function\" ? Symbol(\"webpack queues\") : \"__webpack_queues__\";\nvar webpackExports = typeof Symbol === \"function\" ? Symbol(\"webpack exports\") : \"__webpack_exports__\";\nvar webpackError = typeof Symbol === \"function\" ? Symbol(\"webpack error\") : \"__webpack_error__\";\nvar resolveQueue = function(queue) {\n\tif(queue && queue.d < 1) {\n\t\tqueue.d = 1;\n\t\tqueue.forEach(function(fn) { fn.r--; });\n\t\tqueue.forEach(function(fn) { fn.r-- ? fn.r++ : fn(); });\n\t}\n}\nvar wrapDeps = function(deps) { return deps.map(function(dep) {\n\tif(dep !== null && typeof dep === \"object\") {\n\t\tif(dep[webpackQueues]) return dep;\n\t\tif(dep.then) {\n\t\t\tvar queue = [];\n\t\t\tqueue.d = 0;\n\t\t\tdep.then(function(r) {\n\t\t\t\tobj[webpackExports] = r;\n\t\t\t\tresolveQueue(queue);\n\t\t\t}, function(e) {\n\t\t\t\tobj[webpackError] = e;\n\t\t\t\tresolveQueue(queue);\n\t\t\t});\n\t\t\tvar obj = {};\n\t\t\tobj[webpackQueues] = function(fn) { fn(queue); };\n\t\t\treturn obj;\n\t\t}\n\t}\n\tvar ret = {};\n\tret[webpackQueues] = function() {};\n\tret[webpackExports] = dep;\n\treturn ret;\n}); };\n__webpack_require__.a = function(module, body, hasAwait) {\n\tvar queue;\n\thasAwait && ((queue = []).d = -1);\n\tvar depQueues = new Set();\n\tvar exports = module.exports;\n\tvar currentDeps;\n\tvar outerResolve;\n\tvar reject;\n\tvar promise = new Promise(function(resolve, rej) {\n\t\treject = rej;\n\t\touterResolve = resolve;\n\t});\n\tpromise[webpackExports] = exports;\n\tpromise[webpackQueues] = function(fn) { queue && fn(queue), depQueues.forEach(fn), promise[\"catch\"](function() {}); };\n\tmodule.exports = promise;\n\tbody(function(deps) {\n\t\tcurrentDeps = wrapDeps(deps);\n\t\tvar fn;\n\t\tvar getResult = function() { return currentDeps.map(function(d) {\n\t\t\tif(d[webpackError]) throw d[webpackError];\n\t\t\treturn d[webpackExports];\n\t\t}); }\n\t\tvar promise = new Promise(function(resolve) {\n\t\t\tfn = function() { resolve(getResult); };\n\t\t\tfn.r = 0;\n\t\t\tvar fnQueue = function(q) { q !== queue && !depQueues.has(q) && (depQueues.add(q), q && !q.d && (fn.r++, q.push(fn))); };\n\t\t\tcurrentDeps.map(function(dep) { dep[webpackQueues](fnQueue); });\n\t\t});\n\t\treturn fn.r ? promise : getResult();\n\t}, function(err) { (err ? reject(promise[webpackError] = err) : outerResolve(exports)), resolveQueue(queue); });\n\tqueue && queue.d < 0 && (queue.d = 0);\n};","var deferred = [];\n__webpack_require__.O = function(result, chunkIds, fn, priority) {\n\tif(chunkIds) {\n\t\tpriority = priority || 0;\n\t\tfor(var i = deferred.length; i > 0 && deferred[i - 1][2] > priority; i--) deferred[i] = deferred[i - 1];\n\t\tdeferred[i] = [chunkIds, fn, priority];\n\t\treturn;\n\t}\n\tvar notFulfilled = Infinity;\n\tfor (var i = 0; i < deferred.length; i++) {\n\t\tvar chunkIds = deferred[i][0];\n\t\tvar fn = deferred[i][1];\n\t\tvar priority = deferred[i][2];\n\t\tvar fulfilled = true;\n\t\tfor (var j = 0; j < chunkIds.length; j++) {\n\t\t\tif ((priority & 1 === 0 || notFulfilled >= priority) && Object.keys(__webpack_require__.O).every(function(key) { return __webpack_require__.O[key](chunkIds[j]); })) {\n\t\t\t\tchunkIds.splice(j--, 1);\n\t\t\t} else {\n\t\t\t\tfulfilled = false;\n\t\t\t\tif(priority < notFulfilled) notFulfilled = priority;\n\t\t\t}\n\t\t}\n\t\tif(fulfilled) {\n\t\t\tdeferred.splice(i--, 1)\n\t\t\tvar r = fn();\n\t\t\tif (r !== undefined) result = r;\n\t\t}\n\t}\n\treturn result;\n};","// getDefaultExport function for compatibility with non-harmony modules\n__webpack_require__.n = function(module) {\n\tvar getter = module && module.__esModule ?\n\t\tfunction() { return module['default']; } :\n\t\tfunction() { return module; };\n\t__webpack_require__.d(getter, { a: getter });\n\treturn getter;\n};","var getProto = Object.getPrototypeOf ? function(obj) { return Object.getPrototypeOf(obj); } : function(obj) { return obj.__proto__; };\nvar leafPrototypes;\n// create a fake namespace object\n// mode & 1: value is a module id, require it\n// mode & 2: merge all properties of value into the ns\n// mode & 4: return value when already ns object\n// mode & 16: return value when it's Promise-like\n// mode & 8|1: behave like require\n__webpack_require__.t = function(value, mode) {\n\tif(mode & 1) value = this(value);\n\tif(mode & 8) return value;\n\tif(typeof value === 'object' && value) {\n\t\tif((mode & 4) && value.__esModule) return value;\n\t\tif((mode & 16) && typeof value.then === 'function') return value;\n\t}\n\tvar ns = Object.create(null);\n\t__webpack_require__.r(ns);\n\tvar def = {};\n\tleafPrototypes = leafPrototypes || [null, getProto({}), getProto([]), getProto(getProto)];\n\tfor(var current = mode & 2 && value; typeof current == 'object' && !~leafPrototypes.indexOf(current); current = getProto(current)) {\n\t\tObject.getOwnPropertyNames(current).forEach(function(key) { def[key] = function() { return value[key]; }; });\n\t}\n\tdef['default'] = function() { return value; };\n\t__webpack_require__.d(ns, def);\n\treturn ns;\n};","// define getter functions for harmony exports\n__webpack_require__.d = function(exports, definition) {\n\tfor(var key in definition) {\n\t\tif(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n\t\t\tObject.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n\t\t}\n\t}\n};","__webpack_require__.f = {};\n// This file contains only the entry chunk.\n// The chunk loading function for additional chunks\n__webpack_require__.e = function(chunkId) {\n\treturn Promise.all(Object.keys(__webpack_require__.f).reduce(function(promises, key) {\n\t\t__webpack_require__.f[key](chunkId, promises);\n\t\treturn promises;\n\t}, []));\n};","// This function allow to reference async chunks\n__webpack_require__.u = function(chunkId) {\n\t// return url for filenames based on template\n\treturn \"js/\" + chunkId + \".\" + {\"57\":\"41f5038f\",\"105\":\"11f3ef3f\",\"126\":\"f21f415f\",\"143\":\"8a3d2c9a\",\"224\":\"4fba229c\",\"259\":\"c47d895a\",\"286\":\"63cf0a30\",\"287\":\"fa584da8\",\"401\":\"2c4f1f50\",\"536\":\"394026a4\",\"537\":\"16fe35b9\",\"572\":\"2c70a609\",\"635\":\"8dfb32bc\",\"674\":\"cd3424a3\",\"675\":\"6343e128\",\"771\":\"da878272\",\"883\":\"022b6cfd\",\"895\":\"61df85f7\",\"944\":\"93c5eccd\",\"967\":\"2187a41c\",\"968\":\"63b0be5d\",\"1082\":\"9524bfb4\",\"1277\":\"30f7efae\",\"1295\":\"c62bcc61\",\"1456\":\"c7df2c55\",\"1524\":\"9d335a36\",\"1589\":\"5695c617\",\"1802\":\"60389f93\",\"1865\":\"236dede4\",\"1935\":\"7e3ae466\",\"2018\":\"d8337473\",\"2294\":\"6b905d60\",\"2438\":\"9d08758b\",\"2568\":\"7b893d05\",\"2605\":\"61657992\",\"2653\":\"ead5227f\",\"2667\":\"e2075e28\",\"2685\":\"ae149e1e\",\"2816\":\"fadc65e3\",\"2862\":\"9f715c09\",\"2929\":\"8f5863d5\",\"2963\":\"588da4a4\",\"2986\":\"b845ef0e\",\"3022\":\"818b9d09\",\"3048\":\"037427d0\",\"3108\":\"ed5dbc8b\",\"3129\":\"5ea9e162\",\"3147\":\"234d0b46\",\"3155\":\"9a5e35a5\",\"3170\":\"24cdcd45\",\"3301\":\"9629eab8\",\"3418\":\"791d39ac\",\"3481\":\"b68e7796\",\"3545\":\"9312a5b8\",\"3621\":\"c03d14b0\",\"3627\":\"c74dd113\",\"3658\":\"005b6342\",\"3665\":\"60e41131\",\"4052\":\"11887452\",\"4312\":\"1dfee9ef\",\"4455\":\"32fd4e8a\",\"4490\":\"2d1bfd9d\",\"4511\":\"ffe2e0e6\",\"4527\":\"0577cbe4\",\"4545\":\"0e0c6c60\",\"4567\":\"9c165ed1\",\"4581\":\"09d75b82\",\"4631\":\"185ad2fe\",\"4648\":\"27991b24\",\"4741\":\"c2318a0f\",\"4748\":\"4d28f3f9\",\"4758\":\"68524464\",\"4794\":\"cbe91ede\",\"4801\":\"3798c5b3\",\"4826\":\"9ec0fb3b\",\"4870\":\"dd62072e\",\"4905\":\"fa8f82fd\",\"4964\":\"c30511c6\",\"4986\":\"fb82306e\",\"5048\":\"4de90b52\",\"5160\":\"5049d33b\",\"5197\":\"1c0284fb\",\"5262\":\"894c88c3\",\"5270\":\"a61c79e3\",\"5290\":\"4e66b59f\",\"5300\":\"5a758b2d\",\"5500\":\"68abc7ee\",\"5528\":\"f4b345f1\",\"5558\":\"92284de2\",\"5577\":\"88da2b76\",\"5583\":\"4ad93d3c\",\"5691\":\"b4332e7d\",\"5692\":\"53888e89\",\"5767\":\"dcd3e8f6\",\"5833\":\"4f6613e9\",\"5876\":\"53412eac\",\"5893\":\"1f30f06a\",\"6046\":\"7234cf3f\",\"6094\":\"92e6b69a\",\"6147\":\"c1651835\",\"6247\":\"0d27f607\",\"6340\":\"5204c7f2\",\"6346\":\"ac9f2233\",\"6492\":\"2b9980a8\",\"6513\":\"934550ef\",\"6750\":\"4dcdb154\",\"6763\":\"d5e36df2\",\"6780\":\"204a1480\",\"6855\":\"e1724cd1\",\"6866\":\"76342d7e\",\"6886\":\"ca913e92\",\"6892\":\"00f44640\",\"6935\":\"1e8283d8\",\"6941\":\"13c80f1c\",\"6948\":\"f672b487\",\"6997\":\"9ad3d2eb\",\"7003\":\"b064e28e\",\"7012\":\"1f22b1ae\",\"7036\":\"be852fcd\",\"7090\":\"15e869ce\",\"7130\":\"7b24d234\",\"7197\":\"925f5a53\",\"7250\":\"9d5b8ba0\",\"7286\":\"cbd78cd1\",\"7303\":\"add8a1d9\",\"7312\":\"ebf1e1ac\",\"7341\":\"5a9a881d\",\"7400\":\"bb1bffcb\",\"7457\":\"05737046\",\"7519\":\"43de9d9a\",\"7638\":\"f66112bf\",\"7659\":\"003bcc2a\",\"7820\":\"76e052c6\",\"7843\":\"fe60856c\",\"7905\":\"28030aa8\",\"7957\":\"5456ee53\",\"7964\":\"666a9c76\",\"8228\":\"7777ffe3\",\"8236\":\"973dee5b\",\"8376\":\"ec3800d9\",\"8499\":\"23d303cb\",\"8552\":\"8d732287\",\"8648\":\"3df871aa\",\"8775\":\"c4d351a5\",\"8798\":\"ae050e23\",\"9010\":\"2cfa5aaa\",\"9099\":\"4e5ff995\",\"9113\":\"76e2de12\",\"9232\":\"5c3401ef\",\"9236\":\"e05a32a6\",\"9311\":\"d9f0acbc\",\"9384\":\"dbed806a\",\"9476\":\"f2965c41\",\"9581\":\"dcdb60a1\",\"9637\":\"96af2b91\",\"9684\":\"722fad2b\",\"9710\":\"6bb10454\",\"9738\":\"17d17a36\",\"9856\":\"51f2956c\",\"9870\":\"1e0dbc7f\",\"9891\":\"f756d7a2\",\"9946\":\"5e885642\"}[chunkId] + \".js\";\n};","// This function allow to reference async chunks\n__webpack_require__.miniCssF = function(chunkId) {\n\t// return url for filenames based on template\n\treturn \"css/\" + chunkId + \".\" + {\"126\":\"1c24940f\",\"143\":\"ac728857\",\"401\":\"4149415b\",\"635\":\"f849b3f1\",\"967\":\"72c8c98f\",\"1802\":\"32ec082e\",\"2568\":\"6fac7cd8\",\"3147\":\"45781634\",\"3545\":\"2412eeb4\",\"4052\":\"63e96376\",\"4748\":\"fc757a13\",\"5430\":\"4794afa8\",\"5528\":\"45781634\",\"6780\":\"0780c10b\",\"6866\":\"081b4583\",\"7130\":\"c4ced7cf\",\"7250\":\"7090fc57\",\"7312\":\"81053aa2\",\"7341\":\"c9b64985\",\"7957\":\"e76d18ce\",\"8648\":\"4b50bc38\",\"8775\":\"bbca74ef\"}[chunkId] + \".css\";\n};","__webpack_require__.g = (function() {\n\tif (typeof globalThis === 'object') return globalThis;\n\ttry {\n\t\treturn this || new Function('return this')();\n\t} catch (e) {\n\t\tif (typeof window === 'object') return window;\n\t}\n})();","__webpack_require__.hmd = function(module) {\n\tmodule = Object.create(module);\n\tif (!module.children) module.children = [];\n\tObject.defineProperty(module, 'exports', {\n\t\tenumerable: true,\n\t\tset: function() {\n\t\t\tthrow new Error('ES Modules may not assign module.exports or exports.*, Use ESM export syntax, instead: ' + module.id);\n\t\t}\n\t});\n\treturn module;\n};","__webpack_require__.o = function(obj, prop) { return Object.prototype.hasOwnProperty.call(obj, prop); }","var inProgress = {};\nvar dataWebpackPrefix = \"@radiantearth/stac-browser:\";\n// loadScript function to load a script via script tag\n__webpack_require__.l = function(url, done, key, chunkId) {\n\tif(inProgress[url]) { inProgress[url].push(done); return; }\n\tvar script, needAttach;\n\tif(key !== undefined) {\n\t\tvar scripts = document.getElementsByTagName(\"script\");\n\t\tfor(var i = 0; i < scripts.length; i++) {\n\t\t\tvar s = scripts[i];\n\t\t\tif(s.getAttribute(\"src\") == url || s.getAttribute(\"data-webpack\") == dataWebpackPrefix + key) { script = s; break; }\n\t\t}\n\t}\n\tif(!script) {\n\t\tneedAttach = true;\n\t\tscript = document.createElement('script');\n\n\t\tscript.charset = 'utf-8';\n\t\tscript.timeout = 120;\n\t\tif (__webpack_require__.nc) {\n\t\t\tscript.setAttribute(\"nonce\", __webpack_require__.nc);\n\t\t}\n\t\tscript.setAttribute(\"data-webpack\", dataWebpackPrefix + key);\n\n\t\tscript.src = url;\n\t}\n\tinProgress[url] = [done];\n\tvar onScriptComplete = function(prev, event) {\n\t\t// avoid mem leaks in IE.\n\t\tscript.onerror = script.onload = null;\n\t\tclearTimeout(timeout);\n\t\tvar doneFns = inProgress[url];\n\t\tdelete inProgress[url];\n\t\tscript.parentNode && script.parentNode.removeChild(script);\n\t\tdoneFns && doneFns.forEach(function(fn) { return fn(event); });\n\t\tif(prev) return prev(event);\n\t}\n\tvar timeout = setTimeout(onScriptComplete.bind(null, undefined, { type: 'timeout', target: script }), 120000);\n\tscript.onerror = onScriptComplete.bind(null, script.onerror);\n\tscript.onload = onScriptComplete.bind(null, script.onload);\n\tneedAttach && document.head.appendChild(script);\n};","// define __esModule on exports\n__webpack_require__.r = function(exports) {\n\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n\t}\n\tObject.defineProperty(exports, '__esModule', { value: true });\n};","__webpack_require__.nmd = function(module) {\n\tmodule.paths = [];\n\tif (!module.children) module.children = [];\n\treturn module;\n};","__webpack_require__.p = \"/stac-browser/\";","if (typeof document === \"undefined\") return;\nvar createStylesheet = function(chunkId, fullhref, oldTag, resolve, reject) {\n\tvar linkTag = document.createElement(\"link\");\n\n\tlinkTag.rel = \"stylesheet\";\n\tlinkTag.type = \"text/css\";\n\tif (__webpack_require__.nc) {\n\t\tlinkTag.nonce = __webpack_require__.nc;\n\t}\n\tvar onLinkComplete = function(event) {\n\t\t// avoid mem leaks.\n\t\tlinkTag.onerror = linkTag.onload = null;\n\t\tif (event.type === 'load') {\n\t\t\tresolve();\n\t\t} else {\n\t\t\tvar errorType = event && event.type;\n\t\t\tvar realHref = event && event.target && event.target.href || fullhref;\n\t\t\tvar err = new Error(\"Loading CSS chunk \" + chunkId + \" failed.\\n(\" + errorType + \": \" + realHref + \")\");\n\t\t\terr.name = \"ChunkLoadError\";\n\t\t\terr.code = \"CSS_CHUNK_LOAD_FAILED\";\n\t\t\terr.type = errorType;\n\t\t\terr.request = realHref;\n\t\t\tif (linkTag.parentNode) linkTag.parentNode.removeChild(linkTag)\n\t\t\treject(err);\n\t\t}\n\t}\n\tlinkTag.onerror = linkTag.onload = onLinkComplete;\n\tlinkTag.href = fullhref;\n\n\n\tif (oldTag) {\n\t\toldTag.parentNode.insertBefore(linkTag, oldTag.nextSibling);\n\t} else {\n\t\tdocument.head.appendChild(linkTag);\n\t}\n\treturn linkTag;\n};\nvar findStylesheet = function(href, fullhref) {\n\tvar existingLinkTags = document.getElementsByTagName(\"link\");\n\tfor(var i = 0; i < existingLinkTags.length; i++) {\n\t\tvar tag = existingLinkTags[i];\n\t\tvar dataHref = tag.getAttribute(\"data-href\") || tag.getAttribute(\"href\");\n\t\tif(tag.rel === \"stylesheet\" && (dataHref === href || dataHref === fullhref)) return tag;\n\t}\n\tvar existingStyleTags = document.getElementsByTagName(\"style\");\n\tfor(var i = 0; i < existingStyleTags.length; i++) {\n\t\tvar tag = existingStyleTags[i];\n\t\tvar dataHref = tag.getAttribute(\"data-href\");\n\t\tif(dataHref === href || dataHref === fullhref) return tag;\n\t}\n};\nvar loadStylesheet = function(chunkId) {\n\treturn new Promise(function(resolve, reject) {\n\t\tvar href = __webpack_require__.miniCssF(chunkId);\n\t\tvar fullhref = __webpack_require__.p + href;\n\t\tif(findStylesheet(href, fullhref)) return resolve();\n\t\tcreateStylesheet(chunkId, fullhref, null, resolve, reject);\n\t});\n}\n// object to store loaded CSS chunks\nvar installedCssChunks = {\n\t3524: 0\n};\n\n__webpack_require__.f.miniCss = function(chunkId, promises) {\n\tvar cssChunks = {\"126\":1,\"143\":1,\"401\":1,\"635\":1,\"967\":1,\"1802\":1,\"2568\":1,\"3147\":1,\"3545\":1,\"4052\":1,\"4748\":1,\"5430\":1,\"5528\":1,\"6780\":1,\"6866\":1,\"7130\":1,\"7250\":1,\"7312\":1,\"7341\":1,\"7957\":1,\"8648\":1,\"8775\":1};\n\tif(installedCssChunks[chunkId]) promises.push(installedCssChunks[chunkId]);\n\telse if(installedCssChunks[chunkId] !== 0 && cssChunks[chunkId]) {\n\t\tpromises.push(installedCssChunks[chunkId] = loadStylesheet(chunkId).then(function() {\n\t\t\tinstalledCssChunks[chunkId] = 0;\n\t\t}, function(e) {\n\t\t\tdelete installedCssChunks[chunkId];\n\t\t\tthrow e;\n\t\t}));\n\t}\n};\n\n// no hmr\n\n// no prefetching\n\n// no preloaded","// no baseURI\n\n// object to store loaded and loading chunks\n// undefined = chunk not loaded, null = chunk preloaded/prefetched\n// [resolve, reject, Promise] = chunk loading, 0 = chunk loaded\nvar installedChunks = {\n\t3524: 0\n};\n\n__webpack_require__.f.j = function(chunkId, promises) {\n\t\t// JSONP chunk loading for javascript\n\t\tvar installedChunkData = __webpack_require__.o(installedChunks, chunkId) ? installedChunks[chunkId] : undefined;\n\t\tif(installedChunkData !== 0) { // 0 means \"already installed\".\n\n\t\t\t// a Promise means \"currently loading\".\n\t\t\tif(installedChunkData) {\n\t\t\t\tpromises.push(installedChunkData[2]);\n\t\t\t} else {\n\t\t\t\tif(5430 != chunkId) {\n\t\t\t\t\t// setup Promise in chunk cache\n\t\t\t\t\tvar promise = new Promise(function(resolve, reject) { installedChunkData = installedChunks[chunkId] = [resolve, reject]; });\n\t\t\t\t\tpromises.push(installedChunkData[2] = promise);\n\n\t\t\t\t\t// start chunk loading\n\t\t\t\t\tvar url = __webpack_require__.p + __webpack_require__.u(chunkId);\n\t\t\t\t\t// create error before stack unwound to get useful stacktrace later\n\t\t\t\t\tvar error = new Error();\n\t\t\t\t\tvar loadingEnded = function(event) {\n\t\t\t\t\t\tif(__webpack_require__.o(installedChunks, chunkId)) {\n\t\t\t\t\t\t\tinstalledChunkData = installedChunks[chunkId];\n\t\t\t\t\t\t\tif(installedChunkData !== 0) installedChunks[chunkId] = undefined;\n\t\t\t\t\t\t\tif(installedChunkData) {\n\t\t\t\t\t\t\t\tvar errorType = event && (event.type === 'load' ? 'missing' : event.type);\n\t\t\t\t\t\t\t\tvar realSrc = event && event.target && event.target.src;\n\t\t\t\t\t\t\t\terror.message = 'Loading chunk ' + chunkId + ' failed.\\n(' + errorType + ': ' + realSrc + ')';\n\t\t\t\t\t\t\t\terror.name = 'ChunkLoadError';\n\t\t\t\t\t\t\t\terror.type = errorType;\n\t\t\t\t\t\t\t\terror.request = realSrc;\n\t\t\t\t\t\t\t\tinstalledChunkData[1](error);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t};\n\t\t\t\t\t__webpack_require__.l(url, loadingEnded, \"chunk-\" + chunkId, chunkId);\n\t\t\t\t} else installedChunks[chunkId] = 0;\n\t\t\t}\n\t\t}\n};\n\n// no prefetching\n\n// no preloaded\n\n// no HMR\n\n// no HMR manifest\n\n__webpack_require__.O.j = function(chunkId) { return installedChunks[chunkId] === 0; };\n\n// install a JSONP callback for chunk loading\nvar webpackJsonpCallback = function(parentChunkLoadingFunction, data) {\n\tvar chunkIds = data[0];\n\tvar moreModules = data[1];\n\tvar runtime = data[2];\n\t// add \"moreModules\" to the modules object,\n\t// then flag all \"chunkIds\" as loaded and fire callback\n\tvar moduleId, chunkId, i = 0;\n\tif(chunkIds.some(function(id) { return installedChunks[id] !== 0; })) {\n\t\tfor(moduleId in moreModules) {\n\t\t\tif(__webpack_require__.o(moreModules, moduleId)) {\n\t\t\t\t__webpack_require__.m[moduleId] = moreModules[moduleId];\n\t\t\t}\n\t\t}\n\t\tif(runtime) var result = runtime(__webpack_require__);\n\t}\n\tif(parentChunkLoadingFunction) parentChunkLoadingFunction(data);\n\tfor(;i < chunkIds.length; i++) {\n\t\tchunkId = chunkIds[i];\n\t\tif(__webpack_require__.o(installedChunks, chunkId) && installedChunks[chunkId]) {\n\t\t\tinstalledChunks[chunkId][0]();\n\t\t}\n\t\tinstalledChunks[chunkId] = 0;\n\t}\n\treturn __webpack_require__.O(result);\n}\n\nvar chunkLoadingGlobal = self[\"webpackChunk_radiantearth_stac_browser\"] = self[\"webpackChunk_radiantearth_stac_browser\"] || [];\nchunkLoadingGlobal.forEach(webpackJsonpCallback.bind(null, 0));\nchunkLoadingGlobal.push = webpackJsonpCallback.bind(null, chunkLoadingGlobal.push.bind(chunkLoadingGlobal));","// startup\n// Load entry module and return exports\n// This entry module depends on other loaded chunks and execution need to be delayed\nvar __webpack_exports__ = __webpack_require__.O(undefined, [504], function() { return __webpack_require__(81943); })\n__webpack_exports__ = __webpack_require__.O(__webpack_exports__);\n"],"names":["render","_vm","this","_c","_self","directives","name","rawName","value","load","expression","modifiers","class","classes","attrs","isList","hasImage","_b","staticClass","thumbnail","_e","data","catalog","fileFormats","length","description","deprecated","_v","_s","$t","_l","format","key","_f","showKeywordsInCatalogCards","keywords","temporalExtent","domProps","_t","staticRenderFns","components","StacLink","Keywords","filters","summarize","text","Utils","summarizeMd","formatMediaType","shorten","mixins","ThumbnailCardMixin","StacFieldsMixin","formatTemporalExtent","props","type","Object","required","computed","mapState","mapGetters","push","getStac","_this$data","_this$data$extent","_this$data$extent$tem","isCollection","extent","temporal","interval","Array","isArray","getFileFormats","getMetadata","methods","visible","STAC","$store","commit","href","component","title","catalogCount","model","view","callback","$$v","isComplete","catalogs","sort","filterPlaceholder","searchTerm","allKeywords","limitText","selectedKeywords","showPagination","ref","pagination","on","paginate","hasSearchCritera","catalogView","loading","cardsComponent","tag","cardsComponentProps","scopedSlots","_u","fn","hasMore","loadMore","$event","toggle","id","BIconBricks","BIconListTask","String","default","selectedValue","$emit","ViewButtons","columns","get","state","cardViewMode","set","dispatch","Catalog","Loading","Pagination","SearchBox","SortButtons","Multiselect","ViewMixin","collectionsOnly","Boolean","count","Number","$tc","values","some","link","allCatalogs","map","stac","filter","hasKeywords","every","keyword","includes","haystack","concat","search","collator","Intl","Collator","uiLanguage","slice","a","b","compare","getDisplayTitle","reverse","created","cardViewSort","placement","$refs","topPagination","scrollTo","$el","copyColor","preventDefault","stopPropagation","copy","apply","arguments","buttonProps","copyIcon","BIconClipboard","BIconClipboardCheck","BIconClipboardX","copyText","variant","status","startsWith","focus","document","activeElement","Clipboard","error","console","setTimeout","compact","inline","markup","allowHTML","reader","commonmark","writer","safe","smart","parsed","parse","dismissible","message","url","Error","queued","isDeprecated","hasDescription","item","properties","showKeywordsInItemCards","datetime","Registry","require","formatTimestamp","start_datetime","end_datetime","hasText","items","itemCount","api","allowFilter","hasFilters","filtersOpen","filterCount","apiFilters","emitFilter","chunkedItems","showMore","BCollapse","BIconSearch","Item","SearchFilter","showFilters","chunkSize","shownItems","size","sortby","watch","mounted","reset","small","fill","stretch","top","first","prev","next","last","tooltip","attributes","icon","displayTitle","fallbackTitle","Function","button","icons","getIcons","find","o","isLink","isStacBrowserLink","isStacMediaType","allowExternalAccess","isExternalUrl","stacBrowserNavigatesTo","rel","obj","to","isObject","assign","target","getBrowserPath","toBrowserPath","privateQueryParameters","uri","URI","addParameters","prefix","queryKey","hasQuery","addQuery","toString","getRequestUrl","fallback","module","exports","catalogUrl","catalogTitle","allowedDomains","detectLocaleFromBrowser","storeLocale","locale","fallbackLocale","supportedLocales","apiCatalogPriority","useTileLayerAsFallback","displayGeoTiffByDefault","buildTileUrlTemplate","asset","encodeURIComponent","stacProxyUrl","pathPrefix","historyMode","showThumbnailsAsAssets","geoTiffResolution","redirectLegacyUrls","itemsPerPage","defaultThumbnailSize","maxPreviewsOnMap","crossOriginMedia","requestHeaders","requestQueryParameters","socialSharing","preprocessSTAC","authConfig","Auth","constructor","options","changeListener","router","getButtonTitle","getLoginLabel","i18n","t","getLogoutLabel","getComponent","getComponentProps","init","login","confirmLogin","credentials","logout","confirmLogout","close","updateStore","_updateStore","defaultName","defaultIn","defaultFormatter","formatter","in_","in","undefined","query","cookie","header","create","config","method","scheme","BasicAuth","ApIKey","OIDC","equals","JSON","stringify","BrowserStorage","enabled","engine","setItem","getItem","removeItem","session","window","sessionStorage","navigator","cookieEnabled","Cookies","NoOp","localStorage","JSON_INDICATOR","remove","clear","_defineProperty","getExpiry","minutes","date","Date","setTime","getTime","epires","toGMTString","expires","parts","split","c","trim","substring","decodeURIComponent","warn","CQL_TEXT","CQL_JSON","CQL_ADV_COMPARISON","TYPES","Items","BasicFilters","CollectionIdFilter","ItemIdFilter","CqlFilters","Sort","FreeText","Global","Collections","conformances","canSort","supportsConformance","canFilterExtents","canFilterFreeText","cql","textMode","jsonMode","advancedComparison","functions","mixin","showThumbnail","isItem","thumbnails","getThumbnails","width","height","src","alt","crossorigin","right","blankColor","AuthUtils","resolveAuth","context","isSupported","schema","convertLegacyAuthConfig","CONFIG_PATH","CONFIG_CLI","STAC_BROWSER_CONFIG","Vue","use","VueI18n","API_LANGUAGE_CONFORMANCE","LOCALE_CONFIG","loadLocaleConfig","CONFIG","messages","languages","postTranslation","path","loadDefaultMessages","Promise","all","loadMessages","async","mergeLocaleMessage","executeCustomFunctions","customizeFiles","customize","p","file","translateFields","vars","te","Fields","stringLocale","keywordPos","indexOf","substr","localeWithoutKeyword","replace","language","shift","retVar","toLowerCase","pop","toUpperCase","country","script","prepareSupported","supported","lgs","forEach","supportedLocale","countries","firstCountry","main","lg","getBest","defaultLocale","getAnyCountry","showLogin","globalError","hideError","sidebar","displayCatalogTitle","browserVersion","proxy","isExternal","errorDescription","errorId","tab","selectedAsset","dataChanged","hasAssets","assets","shownAssets","showAsset","additionalLinks","collectionLink","providers","ignoredMetadataFields","shownAssetsOnMap","shownBandsOnMap","selectedAssetKey","keys","thumbnailRefs","isThumbnail","tabs","bands","meta","toBrowserUrl","store","getters","location","origin","fragment","removeTrailingSlash","addSpatialCoverage","bbox","spatialCoverage","geo","box","join","formatTemporalCoverage","dates","dt","makeAssets","contentUrl","toAbsolute","getAbsoluteUrl","encodingFormat","makeLinks","links","isBasedOn","fallbackDescription","makeProvider","role","roles","email","mail","stacType","container","collection","tc","inX","createBaseSchema","_data$getMetadata","thumbnailUrl","stacUrl","inLanguage","code","license","_data$getLinkWithRel","getLinkWithRel","copyrightHolder","producer","provider","creator","citation","identifier","dateCreated","dateModified","datePublished","version","image","createCatalogSchema","parents","i","findIndex","_data$extent","_data$extent$temporal","_data$extent2","_data$extent2$spatial","temporalCoverage","spatial","associatedMedia","hasPart","dataset","isPartOf","createItemSchema","includedInDataCatalog","start","end","distribution","addSchemaToDocument","doc","element","getElementById","createElement","head","appendChild","innerText","AnonymizedNotice","Assets","BTabs","BTab","CollectionLink","Description","DeprecationNotice","Links","Map","Metadata","Providers","ReadMore","Thumbnails","ShowAssetMixin","immediate","handler","parentLink","cc","cssStacType","mixed","hasCatalogs","hasItems","empty","licenses","temporalExtents","linkPosition","hasThumbnails","mapData","hasItemAssets","item_assets","nextCollectionsLink","loadMoreCollections","isApi","itemPages","apiItemsLoading","paginateItems","filterItems","filtersShown","Catalogs","formatLicense","formatTemporalExtents","_this$data2","stateQueryParameters","getApiItemsLoading","summaries","extents","_this$data3","pages","apiItemsPagination","apiItemsLink","addFiltersToLink","getApiItemsLink","features","rootLink","show","$root","msg","BrowseMixin","getPath","route","params","pathMatch","getRoutes","routes","loadParent","Browse","handleAuthError","cx","root","getStore","namespaced","actions","inProgress","canAuthenticate","rootState","isLoggedIn","mutations","setCredentials","setMethod","addAction","resetActions","setInProgress","waitForAuth","updateMethod","storage","newAuth","requestLogin","finalizeLogin","abortLogin","requestLogout","finalizeLogout","updateCredentials","intent","executeActions","catch","localDefaults","localRequestQueryParameters","itemdef","apiItems","catalogDefaults","queue","authActions","conformsTo","dataLanguage","dataLanguages","apiCollections","Vuex","strict","process","modules","auth","database","allowSelectCatalog","globalRequestQueryParameters","source","returnErrorObject","absoluteUrl","_state$data","isCatalog","_state$data2","isCatalogLike","_state$data3","_state$data4","_","_state$data5","getStacLinkWithRel","createLink","getLinksWithRels","segment","_state$data6","classRegexp","replaceAll","regexp","RegExp","match","supportsExtension","schemaUri","canSearch","canSearchCollections","canSearchItems","getStacLinksWithRel","hasCollections","getApiCollectionsLink","hasChilds","showCollections","showChilds","addMissingChildren","_state$data7","getLinksWithOtherRels","stacBrowserSpecialHandling","canBrowserDisplayImage","relative","absolute","unproxyUrl","relativeTo","protocol","authority","q","fromBrowserPath","externalRE","endsWith","whitelist","domain","is","relativeStr","baseUrl","addLocalQueryParams","proxyUrl","addQueryIfNotExists","acceptedLanguages","entries","l","setQueryParameter","delete","setRequestHeader","requestAuth","doAuth","setAuthData","authData","newState","updateState","openCollapsible","uid","idx","closeCollapsible","updateLoading","loaded","processSTAC","resetCatalog","clearAll","resetPage","setPageMetadata","showPage","unshift","lang","errored","unqueue","splice","removeFromQueue","num","setConformanceClasses","setApiItemsLink","toggleApiItemsLoading","collectionId","setApiItems","feature","getPaginationLinks","setApiData","addApiCollections","collections","nextLink","resetApiItems","showGlobalError","trace","oldConfig","switchLocale","userSelected","dataLanguageCodes","dataLanguageFallback","I18N","loadBackground","urls","promises","loadParents","parentStac","tryLogin","action","BrowserError","args","force","noRetry","hasData","isPotentiallyIncomplete","response","stacRequest","localeLink","getLocaleLink","conformanceLink","isAuthenticationError","loadApiItems","selfLink","_cx$getters$root","apiCollectionsLink","markPotentiallyIncomplete","loadNextApiCollections","loadOgcApiConformance","loadGeoJson","retryAfterAuth","errorFn","isStacChooser","containerLink","back","selfBrowserLink","parentLinkTitle","collectionLinkTitle","searchBrowserLink","isSearchPage","authTitle","logInOut","authIcon","authLabel","showRoot","rootTitle","currentLanguage","native","global","supportsLanguageExt","ui","stacId","stacVersion","browserUrl","enableSocialSharing","sharingMessage","label","open","BFormGroup","BFormInput","BIconArrowUpRightSquare","BInputGroup","BInputGroupAppend","CopyButton","service","Email","Bsky","Mastodon","X","urlTemplates","bsky","mastodon","x","uriText","uriTitle","uriUrl","LANGUAGE_EXT","BDropdown","BDropdownItem","BIconBlank","BIconBox","BIconCheck","BIconExclamationTriangle","BIconFlag","BIconLink","BIconShare","BPopover","RootStats","Url","SocialSharing","Validation","_this$stac","stac_version","_this$stac2","newLang","alternate","uiSupported","dataSupported","mapActions","BIconArrow90degUp","BIconArrowLeft","BIconBook","BIconFolderSymlink","BIconLock","BIconUnlock","Source","authMethod","$route","searchLink","getSearchLink","equalUrl","mapMutations","$router","currentRoute","authComponent","submit","ApiKey","Basic","authComponentProps","beforeCreate","AlertPlugin","ButtonGroupPlugin","ButtonPlugin","BadgePlugin","CardPlugin","LayoutPlugin","SpinnerPlugin","directive","VBToggle","VBVisible","VueRouter","mode","base","Props","Watchers","newValue","Authentication","ErrorAlert","Sidebar","StacHeader","onDataLoaded","detectLocaleFromBrowserFromVueX","supportedLocalesFromVueX","storeLocaleFromVueX","STAC_BROWSER_VERSION","setAttribute","summary","$i18n","documentElement","deep","duplicated","oldRoot","canChange","doReset","doSet","onReady","detectLocale","parseQuery","afterEach","from","resetOp","$on","showError","setInterval","best","_params$state","privateFromHash","hash","private","realKey","localRequest","then","h","StacBrowser","$mount","productionTip","stacObjCounter","migrate","_id","_url","_path","_apiChildrenListeners","_incomplete","_apiChildren","list","Migrate","isItemCollection","hasApiData","setApiDataListener","listener","v","getChildren","priority","children","isMediaType","geojsonMediaType","post","field","available","hreflang","allowEmpty","rels","getAssetsWithRoles","matches","sources","getTitle","titleForHref","_linkToAbsolute","img","browserOnly","prefer","other","stacHierarchy","stacPagination","ogcQueryables","ogcRelPrefix","stacRequestOptions","headers","Accept","body","axiosOptions","axios","freeze","_error$response","commonFileNames","schemaMediaType","stacMediaTypes","browserImageTypes","cogMediaTypes","geotiffMediaTypes","browserProtocols","imageMediaTypes","mapMediaTypes","super","types","string","shortenTitle","fullStr","strLen","separator","sepLen","charsToShow","frontChars","Math","ceil","backChars","floor","isGdalVfsUri","normalizeUri","noParams","absoluteTo","normalize","str","uri1","uri2","maxLength","removeMd","el","rect","getBoundingClientRect","isVisible","innerHeight","bottom","scrollIntoView","behavior","block","dateFromUTC","getTimezoneOffset","dateToUTC","formatDatetimeQuery","toISOString","formatSortbyForPOST","direction","pageLinks","pageLink","isEmpty","isFinite","limit","toJSON","removeQuery","toText","setQuery","preferFileName","filename","dir","directory","suffix","getValueFromObjectUsingPath","object","searchterm","and","splitChars","s","term","pattern","test","mergeDeep","isAxiosError","res","oldPath","redirectLegacyUrl","part","decode","newPath","webpackAsyncContext","req","__webpack_require__","resolve","e","ids","webpackContext","webpackContextResolve","__webpack_module_cache__","moduleId","cachedModule","__webpack_modules__","call","m","webpackQueues","Symbol","webpackExports","webpackError","resolveQueue","d","r","wrapDeps","deps","dep","ret","hasAwait","currentDeps","outerResolve","reject","depQueues","Set","promise","rej","getResult","fnQueue","has","add","err","deferred","O","result","chunkIds","notFulfilled","Infinity","fulfilled","j","n","getter","__esModule","leafPrototypes","getProto","getPrototypeOf","__proto__","ns","def","current","getOwnPropertyNames","definition","defineProperty","enumerable","f","chunkId","reduce","u","miniCssF","g","globalThis","hmd","prop","prototype","hasOwnProperty","dataWebpackPrefix","done","needAttach","scripts","getElementsByTagName","getAttribute","charset","timeout","nc","onScriptComplete","event","onerror","onload","clearTimeout","doneFns","parentNode","removeChild","bind","toStringTag","nmd","paths","createStylesheet","fullhref","oldTag","linkTag","nonce","onLinkComplete","errorType","realHref","request","insertBefore","nextSibling","findStylesheet","existingLinkTags","dataHref","existingStyleTags","loadStylesheet","installedCssChunks","miniCss","cssChunks","installedChunks","installedChunkData","loadingEnded","realSrc","webpackJsonpCallback","parentChunkLoadingFunction","moreModules","runtime","chunkLoadingGlobal","self","__webpack_exports__"],"sourceRoot":""} \ No newline at end of file +{"version":3,"file":"js/app.2c769e18.js","mappings":"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BAAmB,CAClB,MACA,EACA,MAED,kBAAmB,CAClB,MACA,EACA,MAED,qBAAsB,CACrB,MACA,EACA,MAED,iBAAkB,CACjB,MACA,GAED,sBAAuB,CACtB,MACA,GAED,iBAAkB,CACjB,MACA,EACA,MAED,sBAAuB,CACtB,MACA,EACA,MAED,qBAAsB,CACrB,MACA,EACA,MAED,wBAAyB,CACxB,MACA,EACA,MAED,kBAAmB,CAClB,MACA,EACA,MAED,qBAAsB,CACrB,MACA,EACA,MAED,mBAAoB,CACnB,MACA,EACA,KACA,MAED,sBAAuB,CACtB,MACA,EACA,KACA,MAED,iBAAkB,CACjB,MACA,EACA,MAED,sBAAuB,CACtB,MACA,EACA,MAED,gBAAiB,CAChB,MACA,EACA,MAED,qBAAsB,CACrB,MACA,EACA,MAED,qBAAsB,CACrB,KACA,EACA,MAED,wBAAyB,CACxB,KACA,EACA,MAED,iBAAkB,CACjB,MACA,GAED,sBAAuB,CACtB,MACA,GAED,qBAAsB,CACrB,MACA,EACA,MAED,wBAAyB,CACxB,MACA,EACA,MAED,kBAAmB,CAClB,MACA,EACA,MAED,qBAAsB,CACrB,MACA,EACA,MAED,mBAAoB,CACnB,MACA,EACA,KACA,MAED,sBAAuB,CACtB,MACA,EACA,KACA,MAED,qBAAsB,CACrB,KACA,EACA,MAED,wBAAyB,CACxB,KACA,EACA,MAED,cAAe,CACd,MACA,GAED,mBAAoB,CACnB,MACA,GAED,cAAe,CACd,MACA,EACA,MAED,mBAAoB,CACnB,MACA,EACA,MAED,kBAAmB,CAClB,MACA,EACA,MAED,qBAAsB,CACrB,MACA,EACA,MAED,eAAgB,CACf,MACA,EACA,MAED,kBAAmB,CAClB,MACA,EACA,MAED,gBAAiB,CAChB,MACA,EACA,KACA,MAED,mBAAoB,CACnB,MACA,EACA,KACA,MAED,cAAe,CACd,MACA,EACA,MAED,mBAAoB,CACnB,MACA,EACA,MAED,mBAAoB,CACnB,MACA,EACA,MAED,sBAAuB,CACtB,MACA,EACA,MAED,aAAc,CACb,MACA,EACA,MAED,kBAAmB,CAClB,MACA,EACA,MAED,kBAAmB,CAClB,MACA,EACA,MAED,qBAAsB,CACrB,MACA,EACA,MAED,cAAe,CACd,MACA,GAED,mBAAoB,CACnB,MACA,GAED,cAAe,CACd,MACA,EACA,MAED,mBAAoB,CACnB,MACA,EACA,MAED,kBAAmB,CAClB,MACA,EACA,MAED,qBAAsB,CACrB,MACA,EACA,MAED,eAAgB,CACf,MACA,EACA,MAED,kBAAmB,CAClB,MACA,EACA,MAED,gBAAiB,CAChB,MACA,EACA,KACA,MAED,mBAAoB,CACnB,MACA,EACA,KACA,MAED,cAAe,CACd,MACA,EACA,MAED,mBAAoB,CACnB,MACA,EACA,MAED,aAAc,CACb,MACA,EACA,KAED,kBAAmB,CAClB,MACA,EACA,KAED,kBAAmB,CAClB,MACA,EACA,MAED,qBAAsB,CACrB,MACA,EACA,MAED,iBAAkB,CACjB,MACA,GAED,sBAAuB,CACtB,MACA,GAED,qBAAsB,CACrB,KACA,EACA,MAED,wBAAyB,CACxB,KACA,EACA,MAED,kBAAmB,CAClB,MACA,EACA,KACA,MAED,qBAAsB,CACrB,MACA,EACA,KACA,MAED,mBAAoB,CACnB,MACA,EACA,KACA,MAED,sBAAuB,CACtB,MACA,EACA,KACA,MAED,qBAAsB,CACrB,MACA,EACA,MAED,wBAAyB,CACxB,MACA,EACA,MAED,iBAAkB,CACjB,KACA,GAED,sBAAuB,CACtB,KACA,GAED,qBAAsB,CACrB,MACA,EACA,MAED,wBAAyB,CACxB,MACA,EACA,MAED,kBAAmB,CAClB,MACA,EACA,KACA,MAED,qBAAsB,CACrB,MACA,EACA,KACA,MAED,mBAAoB,CACnB,MACA,EACA,KACA,MAED,sBAAuB,CACtB,MACA,EACA,KACA,MAED,qBAAsB,CACrB,MACA,EACA,MAED,wBAAyB,CACxB,MACA,EACA,MAED,cAAe,CACd,MACA,GAED,mBAAoB,CACnB,MACA,GAED,cAAe,CACd,MACA,EACA,MAED,mBAAoB,CACnB,MACA,EACA,MAED,kBAAmB,CAClB,MACA,EACA,MAED,qBAAsB,CACrB,MACA,EACA,MAED,eAAgB,CACf,KACA,EACA,KACA,MAED,kBAAmB,CAClB,KACA,EACA,KACA,MAED,gBAAiB,CAChB,MACA,EACA,KACA,MAED,mBAAoB,CACnB,MACA,EACA,KACA,MAED,cAAe,CACd,MACA,EACA,MAED,mBAAoB,CACnB,MACA,EACA,MAED,aAAc,CACb,MACA,EACA,MAED,kBAAmB,CAClB,MACA,EACA,MAED,kBAAmB,CAClB,MACA,EACA,MAED,qBAAsB,CACrB,MACA,EACA,MAED,iBAAkB,CACjB,MACA,GAED,sBAAuB,CACtB,MACA,GAED,qBAAsB,CACrB,MACA,EACA,MAED,wBAAyB,CACxB,MACA,EACA,MAED,kBAAmB,CAClB,MACA,EACA,KACA,MAED,qBAAsB,CACrB,MACA,EACA,KACA,MAED,mBAAoB,CACnB,MACA,EACA,KACA,MAED,sBAAuB,CACtB,MACA,EACA,KACA,MAED,qBAAsB,CACrB,MACA,EACA,MAED,wBAAyB,CACxB,MACA,EACA,MAED,cAAe,CACd,MACA,GAED,mBAAoB,CACnB,MACA,GAED,cAAe,CACd,KACA,EACA,MAED,mBAAoB,CACnB,KACA,EACA,MAED,kBAAmB,CAClB,MACA,EACA,MAED,qBAAsB,CACrB,MACA,EACA,MAED,eAAgB,CACf,MACA,EACA,KACA,MAED,kBAAmB,CAClB,MACA,EACA,KACA,MAED,gBAAiB,CAChB,MACA,EACA,KACA,MAED,mBAAoB,CACnB,MACA,EACA,KACA,MAED,cAAe,CACd,MACA,EACA,MAED,mBAAoB,CACnB,MACA,EACA,MAED,aAAc,CACb,MACA,EACA,MAED,kBAAmB,CAClB,MACA,EACA,MAED,kBAAmB,CAClB,MACA,EACA,MAED,qBAAsB,CACrB,MACA,EACA,MAED,cAAe,CACd,MACA,GAED,mBAAoB,CACnB,MACA,GAED,cAAe,CACd,MACA,EACA,MAED,mBAAoB,CACnB,MACA,EACA,MAED,kBAAmB,CAClB,MACA,EACA,KAED,qBAAsB,CACrB,MACA,EACA,KAED,eAAgB,CACf,KACA,EACA,MAED,kBAAmB,CAClB,KACA,EACA,MAED,gBAAiB,CAChB,MACA,EACA,KACA,MAED,mBAAoB,CACnB,MACA,EACA,KACA,MAED,cAAe,CACd,MACA,EACA,MAED,mBAAoB,CACnB,MACA,EACA,MAED,aAAc,CACb,MACA,EACA,KAED,kBAAmB,CAClB,MACA,EACA,KAED,kBAAmB,CAClB,MACA,EACA,MAED,qBAAsB,CACrB,MACA,EACA,MAED,iBAAkB,CACjB,MACA,GAED,sBAAuB,CACtB,MACA,GAED,iBAAkB,CACjB,MACA,EACA,MAED,sBAAuB,CACtB,MACA,EACA,MAED,qBAAsB,CACrB,MACA,EACA,KAED,wBAAyB,CACxB,MACA,EACA,KAED,kBAAmB,CAClB,MACA,EACA,MAED,qBAAsB,CACrB,MACA,EACA,MAED,mBAAoB,CACnB,MACA,EACA,KACA,MAED,sBAAuB,CACtB,MACA,EACA,KACA,MAED,iBAAkB,CACjB,KACA,EACA,MAED,sBAAuB,CACtB,KACA,EACA,MAED,gBAAiB,CAChB,MACA,EACA,MAED,qBAAsB,CACrB,MACA,EACA,MAED,qBAAsB,CACrB,MACA,EACA,KAED,wBAAyB,CACxB,MACA,EACA,KAED,cAAe,CACd,MACA,GAED,mBAAoB,CACnB,MACA,GAED,cAAe,CACd,KACA,EACA,MAED,mBAAoB,CACnB,KACA,EACA,MAED,kBAAmB,CAClB,MACA,EACA,MAED,qBAAsB,CACrB,MACA,EACA,MAED,eAAgB,CACf,MACA,EACA,MAED,kBAAmB,CAClB,MACA,EACA,MAED,gBAAiB,CAChB,MACA,EACA,KACA,MAED,mBAAoB,CACnB,MACA,EACA,KACA,MAED,cAAe,CACd,MACA,EACA,MAED,mBAAoB,CACnB,MACA,EACA,MAED,aAAc,CACb,MACA,EACA,MAED,kBAAmB,CAClB,MACA,EACA,MAED,kBAAmB,CAClB,MACA,EACA,MAED,qBAAsB,CACrB,MACA,EACA,MAED,cAAe,CACd,MACA,GAED,mBAAoB,CACnB,MACA,GAED,cAAe,CACd,KACA,EACA,MAED,mBAAoB,CACnB,KACA,EACA,MAED,kBAAmB,CAClB,KACA,EACA,MAED,qBAAsB,CACrB,KACA,EACA,MAED,eAAgB,CACf,MACA,EACA,MAED,kBAAmB,CAClB,MACA,EACA,MAED,gBAAiB,CAChB,MACA,EACA,KACA,MAED,mBAAoB,CACnB,MACA,EACA,KACA,MAED,cAAe,CACd,MACA,EACA,MAED,mBAAoB,CACnB,MACA,EACA,MAED,aAAc,CACb,MACA,EACA,MAED,kBAAmB,CAClB,MACA,EACA,MAED,kBAAmB,CAClB,MACA,EACA,KAED,qBAAsB,CACrB,MACA,EACA,MAGF,SAASm9B,EAAoBC,GAC5B,IAAIC,EAAoB/1B,EAAEtH,EAAKo9B,GAC9B,OAAOlqB,QAAQoqB,UAAUxI,MAAK,WAC7B,IAAIyI,EAAI,IAAIx5B,MAAM,uBAAyBq5B,EAAM,KAEjD,MADAG,EAAEvjB,KAAO,mBACHujB,CACP,IAGD,IAAIC,EAAMx9B,EAAIo9B,GAAMl/B,EAAKs/B,EAAI,GAC7B,OAAOtqB,QAAQC,IAAIqqB,EAAI18B,MAAM,GAAGd,IAAIq9B,EAAoBE,IAAIzI,MAAK,WAChE,OAAOuI,EAAoB9xB,EAAErN,EAAa,GAATs/B,EAAI,GACtC,GACD,CACAL,EAAoBjmB,KAAO,WAAa,OAAOzc,OAAOyc,KAAKlX,EAAM,EACjEm9B,EAAoBj/B,GAAK,MACzB8K,EAAOC,QAAUk0B,C,wBCpkCjB,IAAIn9B,EAAM,CACT,qBAAsB,CACrB,IACA,KACA,KAED,kBAAmB,CAClB,MACA,KACA,MAED,qBAAsB,CACrB,MACA,MAED,qBAAsB,CACrB,MACA,MAED,kBAAmB,CAClB,MACA,MAED,kBAAmB,CAClB,MACA,MAED,qBAAsB,CACrB,MACA,KACA,MAED,qBAAsB,CACrB,MACA,KACA,MAED,kBAAmB,CAClB,KACA,KACA,MAED,qBAAsB,CACrB,MACA,KACA,MAED,kBAAmB,CAClB,MACA,KACA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","sources":["webpack://@radiantearth/stac-browser/./src/components/Catalog.vue","webpack://@radiantearth/stac-browser/src/components/Catalog.vue","webpack://@radiantearth/stac-browser/./src/components/Catalog.vue?b77d","webpack://@radiantearth/stac-browser/./src/components/Catalog.vue?462e","webpack://@radiantearth/stac-browser/./src/components/Catalogs.vue","webpack://@radiantearth/stac-browser/./src/components/ViewButtons.vue","webpack://@radiantearth/stac-browser/src/components/ViewButtons.vue","webpack://@radiantearth/stac-browser/./src/components/ViewButtons.vue?7d7e","webpack://@radiantearth/stac-browser/./src/components/ViewButtons.vue?e0ba","webpack://@radiantearth/stac-browser/./src/components/ViewMixin.js","webpack://@radiantearth/stac-browser/src/components/Catalogs.vue","webpack://@radiantearth/stac-browser/./src/components/Catalogs.vue?bd7f","webpack://@radiantearth/stac-browser/./src/components/Catalogs.vue?cc1b","webpack://@radiantearth/stac-browser/./src/components/CopyButton.vue","webpack://@radiantearth/stac-browser/src/components/CopyButton.vue","webpack://@radiantearth/stac-browser/./src/components/CopyButton.vue?ba0b","webpack://@radiantearth/stac-browser/./src/components/CopyButton.vue?5144","webpack://@radiantearth/stac-browser/./src/components/Description.vue","webpack://@radiantearth/stac-browser/src/components/Description.vue","webpack://@radiantearth/stac-browser/./src/components/Description.vue?2c0f","webpack://@radiantearth/stac-browser/./src/components/Description.vue?234b","webpack://@radiantearth/stac-browser/./src/components/ErrorAlert.vue","webpack://@radiantearth/stac-browser/src/components/ErrorAlert.vue","webpack://@radiantearth/stac-browser/./src/components/ErrorAlert.vue?0e59","webpack://@radiantearth/stac-browser/./src/components/ErrorAlert.vue?a728","webpack://@radiantearth/stac-browser/./src/components/Item.vue","webpack://@radiantearth/stac-browser/src/components/Item.vue","webpack://@radiantearth/stac-browser/./src/components/Item.vue?8cc2","webpack://@radiantearth/stac-browser/./src/components/Item.vue?9ab6","webpack://@radiantearth/stac-browser/./src/components/Items.vue","webpack://@radiantearth/stac-browser/src/components/Items.vue","webpack://@radiantearth/stac-browser/./src/components/Items.vue?10d9","webpack://@radiantearth/stac-browser/./src/components/Items.vue?2880","webpack://@radiantearth/stac-browser/./src/components/Loading.vue","webpack://@radiantearth/stac-browser/src/components/Loading.vue","webpack://@radiantearth/stac-browser/./src/components/Loading.vue?5767","webpack://@radiantearth/stac-browser/./src/components/Loading.vue?7ea9","webpack://@radiantearth/stac-browser/./src/components/Pagination.vue","webpack://@radiantearth/stac-browser/src/components/Pagination.vue","webpack://@radiantearth/stac-browser/./src/components/Pagination.vue?6519","webpack://@radiantearth/stac-browser/./src/components/Pagination.vue?c5cd","webpack://@radiantearth/stac-browser/./src/components/StacLink.vue","webpack://@radiantearth/stac-browser/src/components/StacLink.vue","webpack://@radiantearth/stac-browser/./src/components/StacLink.vue?f32a","webpack://@radiantearth/stac-browser/./src/components/StacLink.vue?a103","webpack://@radiantearth/stac-browser/./config.js","webpack://@radiantearth/stac-browser/./src/auth/index.js","webpack://@radiantearth/stac-browser/./src/browser-store.js","webpack://@radiantearth/stac-browser/./src/components/ApiCapabilitiesMixin.js","webpack://@radiantearth/stac-browser/./src/components/StacFieldsMixin.js","webpack://@radiantearth/stac-browser/./src/components/ThumbnailCardMixin.js","webpack://@radiantearth/stac-browser/./src/components/auth/utils.js","webpack://@radiantearth/stac-browser/./src/config.js","webpack://@radiantearth/stac-browser/./src/i18n.js","webpack://@radiantearth/stac-browser/./src/locale-id.js","webpack://@radiantearth/stac-browser/./src/StacBrowser.vue","webpack://@radiantearth/stac-browser/./src/views/Browse.vue","webpack://@radiantearth/stac-browser/./src/views/Item.vue","webpack://@radiantearth/stac-browser/./src/components/ShowAssetMixin.js","webpack://@radiantearth/stac-browser/./src/schema-org.js","webpack://@radiantearth/stac-browser/src/views/Item.vue","webpack://@radiantearth/stac-browser/./src/views/Item.vue?a34c","webpack://@radiantearth/stac-browser/./src/views/Item.vue?8b34","webpack://@radiantearth/stac-browser/./src/views/Catalog.vue","webpack://@radiantearth/stac-browser/src/views/Catalog.vue","webpack://@radiantearth/stac-browser/./src/views/Catalog.vue?75d2","webpack://@radiantearth/stac-browser/./src/views/Catalog.vue?ddb4","webpack://@radiantearth/stac-browser/src/views/Browse.vue","webpack://@radiantearth/stac-browser/./src/views/Browse.vue?fa85","webpack://@radiantearth/stac-browser/./src/views/Browse.vue?dda6","webpack://@radiantearth/stac-browser/./src/router/index.js","webpack://@radiantearth/stac-browser/./src/store/auth.js","webpack://@radiantearth/stac-browser/./src/store/index.js","webpack://@radiantearth/stac-browser/./src/components/StacHeader.vue","webpack://@radiantearth/stac-browser/./src/components/Source.vue","webpack://@radiantearth/stac-browser/./src/components/Url.vue","webpack://@radiantearth/stac-browser/src/components/Url.vue","webpack://@radiantearth/stac-browser/./src/components/Url.vue?dc88","webpack://@radiantearth/stac-browser/./src/components/Url.vue?ab5e","webpack://@radiantearth/stac-browser/./src/components/SocialSharing.vue","webpack://@radiantearth/stac-browser/src/components/SocialSharing.vue","webpack://@radiantearth/stac-browser/./src/components/SocialSharing.vue?c8fb","webpack://@radiantearth/stac-browser/./src/components/SocialSharing.vue?ad0a","webpack://@radiantearth/stac-browser/src/components/Source.vue","webpack://@radiantearth/stac-browser/./src/components/Source.vue?1cfb","webpack://@radiantearth/stac-browser/./src/components/Source.vue?90bb","webpack://@radiantearth/stac-browser/src/components/StacHeader.vue","webpack://@radiantearth/stac-browser/./src/components/StacHeader.vue?4fac","webpack://@radiantearth/stac-browser/./src/components/StacHeader.vue?4265","webpack://@radiantearth/stac-browser/./src/components/Authentication.vue","webpack://@radiantearth/stac-browser/src/components/Authentication.vue","webpack://@radiantearth/stac-browser/./src/components/Authentication.vue?6c8f","webpack://@radiantearth/stac-browser/./src/components/Authentication.vue?3302","webpack://@radiantearth/stac-browser/src/StacBrowser.vue","webpack://@radiantearth/stac-browser/./src/StacBrowser.vue?675d","webpack://@radiantearth/stac-browser/./src/StacBrowser.vue?36e0","webpack://@radiantearth/stac-browser/./src/init.js","webpack://@radiantearth/stac-browser/./src/main.js","webpack://@radiantearth/stac-browser/./src/models/stac.js","webpack://@radiantearth/stac-browser/./src/rels.js","webpack://@radiantearth/stac-browser/./src/store/utils.js","webpack://@radiantearth/stac-browser/./src/utils.js","webpack://@radiantearth/stac-browser/./src/views/BrowseMixin.js","webpack://@radiantearth/stac-browser/./src/locales/ lazy ^\\.\\/.*\\/.*$ namespace object","webpack://@radiantearth/stac-browser/./src/locales/ lazy ^\\.\\/.*\\/default\\.js$ namespace object","webpack://@radiantearth/stac-browser/./src/locales/ sync ^\\.\\/.*\\/config\\.json$","webpack://@radiantearth/stac-browser/webpack/bootstrap","webpack://@radiantearth/stac-browser/webpack/runtime/async module","webpack://@radiantearth/stac-browser/webpack/runtime/chunk loaded","webpack://@radiantearth/stac-browser/webpack/runtime/compat get default export","webpack://@radiantearth/stac-browser/webpack/runtime/create fake namespace object","webpack://@radiantearth/stac-browser/webpack/runtime/define property getters","webpack://@radiantearth/stac-browser/webpack/runtime/ensure chunk","webpack://@radiantearth/stac-browser/webpack/runtime/get javascript chunk filename","webpack://@radiantearth/stac-browser/webpack/runtime/get mini-css chunk filename","webpack://@radiantearth/stac-browser/webpack/runtime/global","webpack://@radiantearth/stac-browser/webpack/runtime/harmony module decorator","webpack://@radiantearth/stac-browser/webpack/runtime/hasOwnProperty shorthand","webpack://@radiantearth/stac-browser/webpack/runtime/load script","webpack://@radiantearth/stac-browser/webpack/runtime/make namespace object","webpack://@radiantearth/stac-browser/webpack/runtime/node module decorator","webpack://@radiantearth/stac-browser/webpack/runtime/publicPath","webpack://@radiantearth/stac-browser/webpack/runtime/css loading","webpack://@radiantearth/stac-browser/webpack/runtime/jsonp chunk loading","webpack://@radiantearth/stac-browser/webpack/startup"],"sourcesContent":["var render = function render(){var _vm=this,_c=_vm._self._c;return _c('b-card',{directives:[{name:\"b-visible\",rawName:\"v-b-visible.400\",value:(_vm.load),expression:\"load\",modifiers:{\"400\":true}}],class:_vm.classes,attrs:{\"no-body\":\"\",\"img-right\":_vm.isList}},[(_vm.hasImage)?_c('b-card-img-lazy',_vm._b({staticClass:\"thumbnail\",attrs:{\"offset\":\"200\"}},'b-card-img-lazy',_vm.thumbnail,false)):_vm._e(),_c('b-card-body',[_c('b-card-title',[_c('StacLink',{staticClass:\"stretched-link\",attrs:{\"data\":[_vm.data, _vm.catalog]}})],1),(_vm.data && (_vm.fileFormats.length > 0 || _vm.data.description || _vm.data.deprecated))?_c('b-card-text',{staticClass:\"intro\"},[(_vm.data.deprecated)?_c('b-badge',{staticClass:\"mr-1 mt-1 deprecated\",attrs:{\"variant\":\"warning\"}},[_vm._v(_vm._s(_vm.$t('deprecated')))]):_vm._e(),_vm._l((_vm.fileFormats),function(format){return _c('b-badge',{key:format,staticClass:\"mr-1 mt-1 fileformat\",attrs:{\"variant\":\"secondary\"}},[_vm._v(_vm._s(_vm._f(\"formatMediaType\")(format)))])}),_vm._v(\" \"+_vm._s(_vm._f(\"summarize\")(_vm.data.description))+\" \")],2):_vm._e(),(_vm.showKeywordsInCatalogCards && _vm.keywords.length > 0)?_c('Keywords',{attrs:{\"keywords\":_vm.keywords,\"variant\":\"primary\",\"center\":!_vm.isList}}):_vm._e(),(_vm.temporalExtent)?_c('b-card-text',{staticClass:\"datetime\"},[_c('small',{domProps:{\"innerHTML\":_vm._s(_vm.temporalExtent)}})]):_vm._e()],1),_c('b-card-footer',[_vm._t(\"footer\",null,{\"data\":_vm.data})],2)],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n","import mod from \"-!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./Catalog.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./Catalog.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./Catalog.vue?vue&type=template&id=50eb59b2\"\nimport script from \"./Catalog.vue?vue&type=script&lang=js\"\nexport * from \"./Catalog.vue?vue&type=script&lang=js\"\nimport style0 from \"./Catalog.vue?vue&type=style&index=0&id=50eb59b2&prod&lang=scss\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('section',{staticClass:\"catalogs mb-4\"},[_c('header',[_c('h2',{staticClass:\"title mr-2\"},[_vm._v(_vm._s(_vm.title))]),(_vm.catalogCount !== null)?_c('b-badge',{staticClass:\"mr-4\",attrs:{\"pill\":\"\",\"variant\":\"secondary\"}},[_vm._v(_vm._s(_vm.catalogCount))]):_vm._e(),_c('ViewButtons',{staticClass:\"mr-2\",model:{value:(_vm.view),callback:function ($$v) {_vm.view=$$v},expression:\"view\"}}),(_vm.isComplete && _vm.catalogs.length > 1)?_c('SortButtons',{model:{value:(_vm.sort),callback:function ($$v) {_vm.sort=$$v},expression:\"sort\"}}):_vm._e()],1),(_vm.isComplete && _vm.catalogs.length > 1)?_c('section',{staticClass:\"catalog-filter mb-2\"},[_c('SearchBox',{attrs:{\"placeholder\":_vm.filterPlaceholder},model:{value:(_vm.searchTerm),callback:function ($$v) {_vm.searchTerm=$$v},expression:\"searchTerm\"}}),(_vm.allKeywords.length > 0)?_c('multiselect',{attrs:{\"multiple\":\"\",\"options\":_vm.allKeywords,\"placeholder\":_vm.$t('multiselect.keywordsPlaceholder'),\"selectLabel\":_vm.$t('multiselect.selectLabel'),\"selectedLabel\":_vm.$t('multiselect.selectedLabel'),\"deselectLabel\":_vm.$t('multiselect.deselectLabel'),\"limitText\":_vm.limitText},model:{value:(_vm.selectedKeywords),callback:function ($$v) {_vm.selectedKeywords=$$v},expression:\"selectedKeywords\"}}):_vm._e()],1):_vm._e(),(_vm.showPagination)?_c('Pagination',{ref:\"topPagination\",attrs:{\"pagination\":_vm.pagination,\"placement\":\"top\"},on:{\"paginate\":_vm.paginate}}):_vm._e(),(_vm.hasSearchCritera && _vm.catalogView.length === 0)?_c('b-alert',{staticClass:\"mt-2\",attrs:{\"variant\":\"warning\",\"show\":\"\"}},[_vm._v(_vm._s(_vm.$t('catalogs.noMatches')))]):_vm._e(),_c('section',{staticClass:\"list\"},[(_vm.loading)?_c('Loading',{attrs:{\"fill\":\"\",\"top\":\"\"}}):_vm._e(),_c(_vm.cardsComponent,_vm._b({tag:\"component\"},'component',_vm.cardsComponentProps,false),_vm._l((_vm.catalogView),function(catalog){return _c('Catalog',{key:catalog.href,attrs:{\"catalog\":catalog},scopedSlots:_vm._u([{key:\"footer\",fn:function({data}){return [_vm._t(\"catalogFooter\",null,{\"data\":data})]}}],null,true)})}),1)],1),(_vm.showPagination)?_c('Pagination',{attrs:{\"pagination\":_vm.pagination},on:{\"paginate\":_vm.paginate}}):(_vm.hasMore)?_c('b-button',{directives:[{name:\"b-visible\",rawName:\"v-b-visible.300\",value:(_vm.loadMore),expression:\"loadMore\",modifiers:{\"300\":true}}],attrs:{\"variant\":\"primary\"},on:{\"click\":_vm.loadMore}},[_vm._v(_vm._s(_vm.$t('catalogs.loadMore')))]):_vm._e()],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('b-button-group',{attrs:{\"title\":_vm.$t('view.title'),\"size\":\"sm\"}},[_c('b-button',{attrs:{\"title\":_vm.$t('view.tiles.title'),\"variant\":\"outline-primary\",\"pressed\":_vm.value === 'cards'},on:{\"click\":function($event){return _vm.toggle('cards')}}},[_c('b-icon-bricks'),_vm._v(\" \"),_c('span',{staticClass:\"button-label\"},[_vm._v(_vm._s(_vm.$t('view.tiles.label')))])],1),_c('b-button',{attrs:{\"title\":_vm.$t('view.list.title'),\"variant\":\"outline-primary\",\"pressed\":_vm.value === 'list'},on:{\"click\":function($event){return _vm.toggle('list')}}},[_c('b-icon-list-task'),_vm._v(\" \"),_c('span',{staticClass:\"button-label\"},[_vm._v(_vm._s(_vm.$t('view.list.label')))])],1)],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n","import mod from \"-!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./ViewButtons.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./ViewButtons.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./ViewButtons.vue?vue&type=template&id=6a51668d\"\nimport script from \"./ViewButtons.vue?vue&type=script&lang=js\"\nexport * from \"./ViewButtons.vue?vue&type=script&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","import ViewButtons from './ViewButtons.vue';\n\nexport default {\n components: {\n ViewButtons\n },\n computed: {\n cardsComponent() {\n return (this.view === 'list') ? 'div' : 'b-card-group';\n },\n cardsComponentProps() {\n if (this.view === 'list') {\n return {\n class: [\n 'card-list'\n ]\n };\n }\n else {\n return {\n columns: true\n };\n }\n },\n view: {\n get() {\n return this.$store.state.cardViewMode;\n },\n async set(cardViewMode) {\n await this.$store.dispatch('config', { cardViewMode });\n }\n }\n }\n};\n","\n\n\n\n\n","import mod from \"-!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./Catalogs.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./Catalogs.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./Catalogs.vue?vue&type=template&id=3b49c796&scoped=true\"\nimport script from \"./Catalogs.vue?vue&type=script&lang=js\"\nexport * from \"./Catalogs.vue?vue&type=script&lang=js\"\nimport style0 from \"./Catalogs.vue?vue&type=style&index=0&id=3b49c796&prod&lang=scss&scoped=true\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"3b49c796\",\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('b-button',_vm._b({staticClass:\"copy-button\",attrs:{\"variant\":_vm.copyColor,\"title\":_vm.$t('copy')},on:{\"click\":function($event){$event.preventDefault();$event.stopPropagation();return _vm.copy.apply(null, arguments)}}},'b-button',_vm.buttonProps,false),[_c(_vm.copyIcon,{tag:\"component\"}),_vm._t(\"default\")],2)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n","import mod from \"-!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./CopyButton.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./CopyButton.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./CopyButton.vue?vue&type=template&id=033681c8\"\nimport script from \"./CopyButton.vue?vue&type=script&lang=js\"\nexport * from \"./CopyButton.vue?vue&type=script&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',{staticClass:\"styled-description\",class:{compact: _vm.compact, inline: _vm.inline},domProps:{\"innerHTML\":_vm._s(_vm.markup(_vm.description))}})\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n","import mod from \"-!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./Description.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./Description.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./Description.vue?vue&type=template&id=77c4c56a\"\nimport script from \"./Description.vue?vue&type=script&lang=js\"\nexport * from \"./Description.vue?vue&type=script&lang=js\"\nimport style0 from \"./Description.vue?vue&type=style&index=0&id=77c4c56a&prod&lang=scss\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('b-alert',{attrs:{\"variant\":\"danger\",\"show\":\"\",\"dismissible\":_vm.dismissible},on:{\"dismissed\":function($event){return _vm.$emit('close')}}},[_c('p',{staticClass:\"message\"},[_vm._v(_vm._s(_vm.message || _vm.$t('errors.default')))]),(_vm.error && _vm.error.message)?_c('dl',{staticClass:\"error\"},[_c('dt',[_vm._v(_vm._s(_vm.$t('errors.labels.cause')))]),_c('dd',[_vm._v(_vm._s(_vm.error.message))])]):_vm._e(),(_vm.description)?_c('dl',{staticClass:\"description\"},[_c('dt',[_vm._v(_vm._s(_vm.$t('errors.labels.reason')))]),_c('dd',[_vm._v(_vm._s(_vm.description))])]):_vm._e(),(_vm.id)?_c('dl',{staticClass:\"id\"},[_c('dt',[_vm._v(_vm._s(_vm.$t('errors.labels.code')))]),_c('dd',[_c('code',[_vm._v(_vm._s(_vm.id))])])]):_vm._e(),(_vm.url)?_c('dl',{staticClass:\"url\"},[_c('dt',[_vm._v(_vm._s(_vm.$t('errors.labels.requestURL')))]),_c('dd',[_c('code',[_vm._v(_vm._s(_vm.url))])])]):_vm._e()])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n","import mod from \"-!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./ErrorAlert.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./ErrorAlert.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./ErrorAlert.vue?vue&type=template&id=7a9d646a&scoped=true\"\nimport script from \"./ErrorAlert.vue?vue&type=script&lang=js\"\nexport * from \"./ErrorAlert.vue?vue&type=script&lang=js\"\nimport style0 from \"./ErrorAlert.vue?vue&type=style&index=0&id=7a9d646a&prod&lang=scss&scoped=true\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"7a9d646a\",\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('b-card',{directives:[{name:\"b-visible\",rawName:\"v-b-visible.400\",value:(_vm.load),expression:\"load\",modifiers:{\"400\":true}}],staticClass:\"item-card\",class:{queued: !_vm.data, deprecated: _vm.isDeprecated, description: _vm.hasDescription},attrs:{\"no-body\":\"\"}},[(_vm.hasImage)?_c('b-card-img-lazy',_vm._b({staticClass:\"thumbnail\",attrs:{\"offset\":\"200\"}},'b-card-img-lazy',_vm.thumbnail,false)):_vm._e(),_c('b-card-body',[_c('b-card-title',[_c('StacLink',{staticClass:\"stretched-link\",attrs:{\"data\":[_vm.data, _vm.item]}})],1),(_vm.fileFormats.length > 0 || _vm.hasDescription || _vm.isDeprecated)?_c('b-card-text',{staticClass:\"intro\"},[(_vm.isDeprecated)?_c('b-badge',{staticClass:\"mr-1 mt-1 deprecated\",attrs:{\"variant\":\"warning\"}},[_vm._v(_vm._s(_vm.$t('deprecated')))]):_vm._e(),_vm._l((_vm.fileFormats),function(format){return _c('b-badge',{key:format,staticClass:\"mr-1 mt-1 fileformat\",attrs:{\"variant\":\"secondary\"}},[_vm._v(_vm._s(_vm._f(\"formatMediaType\")(format)))])}),(_vm.hasDescription)?[_vm._v(_vm._s(_vm._f(\"summarize\")(_vm.data.properties.description)))]:_vm._e()],2):_vm._e(),(_vm.showKeywordsInItemCards && _vm.keywords.length > 0)?_c('Keywords',{attrs:{\"keywords\":_vm.keywords,\"variant\":\"primary\",\"center\":\"\"}}):_vm._e(),_c('b-card-text',[_c('small',{staticClass:\"text-muted\"},[(_vm.extent)?[_vm._v(_vm._s(_vm._f(\"formatTemporalExtent\")(_vm.extent)))]:(_vm.data && _vm.data.properties.datetime)?[_vm._v(_vm._s(_vm._f(\"formatTimestamp\")(_vm.data.properties.datetime)))]:[_vm._v(_vm._s(_vm.$t('items.noTime')))]],2)])],1)],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n","import mod from \"-!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./Item.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./Item.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./Item.vue?vue&type=template&id=7144a4b0\"\nimport script from \"./Item.vue?vue&type=script&lang=js\"\nexport * from \"./Item.vue?vue&type=script&lang=js\"\nimport style0 from \"./Item.vue?vue&type=style&index=0&id=7144a4b0&prod&lang=scss\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('section',{staticClass:\"items mb-4\"},[_c('header',[_c('h2',{staticClass:\"title mr-2\"},[_vm._v(_vm._s(_vm.$tc('stacItem', _vm.items.length )))]),(_vm.itemCount !== null)?_c('b-badge',{staticClass:\"mr-4\",attrs:{\"pill\":\"\",\"variant\":\"secondary\"}},[_vm._v(_vm._s(_vm.itemCount))]):_vm._e(),(!_vm.api && _vm.items.length > 1)?_c('SortButtons',{model:{value:(_vm.sort),callback:function ($$v) {_vm.sort=$$v},expression:\"sort\"}}):_vm._e()],1),(_vm.showPagination)?_c('Pagination',{ref:\"topPagination\",attrs:{\"pagination\":_vm.pagination,\"placement\":\"top\"},on:{\"paginate\":_vm.paginate}}):_vm._e(),(_vm.allowFilter)?[(_vm.api)?_c('b-button',{directives:[{name:\"b-toggle\",rawName:\"v-b-toggle.itemFilter\",modifiers:{\"itemFilter\":true}}],staticClass:\"mb-4 mt-2\",class:{'ml-3': _vm.showPagination},attrs:{\"variant\":_vm.hasFilters && !_vm.filtersOpen ? 'primary' : 'outline-primary'}},[_c('b-icon-search'),_vm._v(\" \"+_vm._s(_vm.filtersOpen ? _vm.$t('items.hideFilter') : _vm.$t('items.showFilter'))+\" \"),(_vm.hasFilters && !_vm.filtersOpen)?_c('b-badge',{attrs:{\"variant\":\"dark\"}},[_vm._v(_vm._s(_vm.filterCount))]):_vm._e()],1):_vm._e(),_c('b-collapse',{attrs:{\"id\":\"itemFilter\"},model:{value:(_vm.filtersOpen),callback:function ($$v) {_vm.filtersOpen=$$v},expression:\"filtersOpen\"}},[_c('SearchFilter',{attrs:{\"type\":\"Items\",\"title\":_vm.$t('items.filter'),\"parent\":_vm.stac,\"value\":_vm.apiFilters},on:{\"input\":_vm.emitFilter}})],1)]:_vm._e(),_c('section',{staticClass:\"list\"},[(_vm.loading)?_c('Loading',{attrs:{\"fill\":\"\",\"top\":\"\"}}):_vm._e(),(_vm.chunkedItems.length > 0)?_c('b-card-group',{attrs:{\"columns\":\"\"}},_vm._l((_vm.chunkedItems),function(item){return _c('Item',{key:item.href,attrs:{\"item\":item}})}),1):_c('b-alert',{attrs:{\"variant\":_vm.hasFilters ? 'warning' : 'info',\"show\":\"\"}},[(_vm.hasFilters)?[_vm._v(_vm._s(_vm.$t('search.noItemsFound')))]:[_vm._v(_vm._s(_vm.$t('items.noneAvailableForCollection')))]],2)],1),(_vm.showPagination)?_c('Pagination',{attrs:{\"pagination\":_vm.pagination},on:{\"paginate\":_vm.paginate}}):(_vm.hasMore)?_c('b-button',{directives:[{name:\"b-visible\",rawName:\"v-b-visible.300\",value:(_vm.showMore),expression:\"showMore\",modifiers:{\"300\":true}}],attrs:{\"variant\":\"primary\"},on:{\"click\":_vm.showMore}},[_vm._v(_vm._s(_vm.$t('showMore')))]):_vm._e()],2)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n","import mod from \"-!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./Items.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./Items.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./Items.vue?vue&type=template&id=2ba357b1\"\nimport script from \"./Items.vue?vue&type=script&lang=js\"\nexport * from \"./Items.vue?vue&type=script&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',{class:_vm.classes},[_c('b-spinner',{attrs:{\"label\":_vm.$t('loading'),\"small\":_vm.small}})],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n","import mod from \"-!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./Loading.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./Loading.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./Loading.vue?vue&type=template&id=67931bb8&scoped=true\"\nimport script from \"./Loading.vue?vue&type=script&lang=js\"\nexport * from \"./Loading.vue?vue&type=script&lang=js\"\nimport style0 from \"./Loading.vue?vue&type=style&index=0&id=67931bb8&prod&lang=scss&scoped=true\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"67931bb8\",\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('b-button-group',{class:_vm.classes},[_c('b-button',{attrs:{\"disabled\":!_vm.pagination.first,\"variant\":\"primary\"},on:{\"click\":function($event){return _vm.paginate(_vm.pagination.first)}}},[_vm._v(_vm._s(_vm.$t('pagination.first')))]),_c('b-button',{attrs:{\"disabled\":!_vm.pagination.prev,\"variant\":\"primary\"},on:{\"click\":function($event){return _vm.paginate(_vm.pagination.prev)}}},[_vm._v(_vm._s(_vm.$t('pagination.previous')))]),_c('b-button',{attrs:{\"disabled\":!_vm.pagination.next,\"variant\":\"primary\"},on:{\"click\":function($event){return _vm.paginate(_vm.pagination.next)}}},[_vm._v(_vm._s(_vm.$t('pagination.next')))]),(_vm.pagination.last)?_c('b-button',{attrs:{\"variant\":\"primary\"},on:{\"click\":function($event){return _vm.paginate(_vm.pagination.last)}}},[_vm._v(_vm._s(_vm.$t('pagination.last')))]):_vm._e()],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n","import mod from \"-!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./Pagination.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./Pagination.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./Pagination.vue?vue&type=template&id=56aa2ed6\"\nimport script from \"./Pagination.vue?vue&type=script&lang=js\"\nexport * from \"./Pagination.vue?vue&type=script&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c(_vm.component,_vm._b({tag:\"component\",staticClass:\"stac-link\",attrs:{\"title\":_vm.tooltip}},'component',_vm.attributes,false),[(_vm.icon)?[_c('img',{staticClass:\"icon mr-2\",attrs:{\"src\":_vm.icon.href,\"alt\":_vm.icon.title,\"title\":_vm.icon.title}})]:_vm._e(),_c('span',{staticClass:\"title\"},[_vm._v(_vm._s(_vm.displayTitle))])],2)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n","import mod from \"-!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./StacLink.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./StacLink.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./StacLink.vue?vue&type=template&id=935ce1da\"\nimport script from \"./StacLink.vue?vue&type=script&lang=js\"\nexport * from \"./StacLink.vue?vue&type=script&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","module.exports = {\n catalogUrl: null,\n catalogTitle: \"STAC Browser\",\n allowExternalAccess: true, // Must be true if catalogUrl is not given\n allowedDomains: [],\n detectLocaleFromBrowser: true,\n storeLocale: true,\n locale: \"en\",\n fallbackLocale: \"en\",\n supportedLocales: [\n \"de\",\n// \"de-CH\",\n \"es\",\n \"en\",\n// \"en-GB\",\n// \"en-US\",\n \"fr\",\n// \"fr-CA\",\n// \"fr-CH\",\n \"it\",\n// \"it-CH\",\n \"ro\",\n \"ja\",\n \"pt\",\n// \"pt-BR\"\n ],\n apiCatalogPriority: null,\n useTileLayerAsFallback: true,\n displayGeoTiffByDefault: false,\n buildTileUrlTemplate: ({href, asset}) => \"https://tiles.rdnt.io/tiles/{z}/{x}/{y}@2x?url=\" + encodeURIComponent(asset.href.startsWith(\"/vsi\") ? asset.href : href),\n stacProxyUrl: null,\n pathPrefix: \"/\",\n historyMode: \"history\",\n cardViewMode: \"cards\",\n cardViewSort: \"asc\",\n showKeywordsInItemCards: false,\n showKeywordsInCatalogCards: false,\n showThumbnailsAsAssets: false,\n geoTiffResolution: 128,\n redirectLegacyUrls: false,\n itemsPerPage: 12,\n defaultThumbnailSize: null,\n maxPreviewsOnMap: 50,\n crossOriginMedia: null,\n requestHeaders: {},\n requestQueryParameters: {},\n socialSharing: ['email', 'bsky', 'mastodon', 'x'],\n preprocessSTAC: null,\n authConfig: null\n};\n","import i18n from '../i18n';\nimport Utils from '../utils';\n\nexport default class Auth {\n\n /**\n * Constructs the authentication method.\n * \n * @param {Object.} options Any potential options the authentication method needs\n * @param {Function} changeListener A change listener with two parameters: loggedIn (boolean) and credentials (string|null)\n * @param {Router} router The Vue router instance\n */\n constructor(options = {}, changeListener = null, router = null) {\n this.options = options;\n this.changeListener = changeListener;\n this.router = router;\n }\n\n /**\n * A tooltip title for the authentication button.\n * \n * @returns {string}\n */\n getButtonTitle() {\n return null;\n }\n\n /**\n * A label for the button that is shown when unauthorized (logged out).\n * \n * @returns {string}\n */\n getLoginLabel() {\n return i18n.t('authentication.button.login');\n }\n\n /**\n * A label for the button that is shown when authorized (logged in).\n * \n * @returns {string}\n */\n getLogoutLabel() {\n return i18n.t('authentication.button.logout');\n }\n\n getComponent() {\n return null;\n }\n\n getComponentProps() {\n return {};\n }\n\n async init() {\n return;\n }\n\n async login() {\n }\n\n async confirmLogin(credentials) {\n if (this.changeListener) {\n await this.changeListener(true, credentials);\n }\n }\n\n async logout(/*credentials*/) {\n }\n\n async confirmLogout() {\n if (this.changeListener) {\n await this.changeListener(false);\n }\n }\n\n async close() {\n return;\n }\n\n updateStore(/*value*/) {\n return {};\n }\n\n _updateStore(value, defaultName = null, defaultIn = null, defaultFormatter = null) {\n const formatter = this.options.formatter || defaultFormatter;\n const key = this.options.name || defaultName;\n const in_ = this.options.in || defaultIn;\n\n // Format the credentials\n if (value) {\n if (formatter === 'Bearer') {\n value = `Bearer ${value}`;\n }\n else if (typeof formatter === 'function') {\n value = formatter(value);\n }\n }\n if (!Utils.hasText(value)) {\n value = undefined;\n }\n\n // Set cookie, query or request parameters\n if (in_ === 'query') {\n return { query: { type: 'private', key, value } };\n }\n else if (in_ === 'cookie') {\n return { cookie: { key, value } };\n }\n else if (in_ === 'header') {\n return { header: { key, value } };\n }\n else {\n return {};\n }\n }\n\n static async create(config, changeListener, router) {\n let method = new Auth();\n if (Utils.isObject(config)) {\n if (config.type === 'http' && config.scheme === 'basic') {\n const BasicAuth = (await import('./basic')).default;\n method = new BasicAuth(config, changeListener, router);\n }\n else if (config.type === 'apiKey') {\n const ApIKey = (await import('./apiKey')).default;\n method = new ApIKey(config, changeListener, router);\n }\n else if (config.type === 'openIdConnect') {\n const OIDC = (await import('./oidc')).default;\n method = new OIDC(config, changeListener, router);\n }\n }\n await method.init();\n return method;\n }\n\n static equals(method, config) {\n return JSON.stringify(method.options) === JSON.stringify(config);\n }\n\n}\n","import Utils from \"./utils\";\n\nexport default class BrowserStorage {\n\n static JSON_INDICATOR = \"\\n\\r\";\n\n static enabled(engine) {\n if (!Utils.isObject(engine)) {\n return false;\n }\n try {\n engine.setItem('test', 'yes');\n if (engine.getItem('test') === 'yes') {\n engine.removeItem('test');\n return true;\n }\n } catch(error) {\n console.error(error);\n }\n return false;\n }\n\n constructor(session = false) {\n if (session) {\n if (BrowserStorage.enabled(window.sessionStorage)) {\n this.engine = window.sessionStorage;\n }\n else if (navigator.cookieEnabled) {\n this.engine = new Cookies(true);\n }\n else {\n this.engine = new NoOp();\n }\n }\n else {\n if (BrowserStorage.enabled(window.localStorage)) {\n this.engine = window.localStorage;\n }\n else if (navigator.cookieEnabled) {\n this.engine = new Cookies();\n }\n else {\n this.engine = new NoOp();\n }\n }\n }\n\n get(name) {\n try {\n let data = this.engine.getItem(name);\n if (typeof data === 'string' && data.startsWith(BrowserStorage.JSON_INDICATOR)) {\n data = JSON.parse(data.slice(BrowserStorage.JSON_INDICATOR.length));\n }\n return data;\n } catch(error) {\n console.error(error);\n return null;\n }\n }\n\n set(name, value) {\n try {\n if (typeof value !== 'string') {\n value = BrowserStorage.JSON_INDICATOR + JSON.stringify(value);\n }\n this.engine.setItem(name, value);\n } catch(error) {\n console.error(error);\n }\n }\n\n remove(name) {\n try {\n this.engine.removeItem(name);\n } catch(error) {\n console.error(error);\n }\n }\n\n clear() {\n this.engine.clear();\n }\n\n}\n\nexport class Cookies {\n\n constructor(session = false) {\n this.session = session;\n }\n\n getExpiry(minutes = null) {\n if (minutes === null) {\n if (this.session) {\n minutes = 60; // 60 minutes\n }\n else {\n minutes = 1000 * 24 * 60; // 1000 days\n }\n }\n const date = new Date();\n date.setTime(date.getTime() + minutes * 60 * 1000);\n this.epires = date.toGMTString();\n }\n\n setItem(name, value, minutes = null) {\n const expires = this.getExpiry(minutes);\n value = encodeURIComponent(value);\n document.cookie = `${name}=${value}; expires=${expires}; path=/`;\n }\n\n getItem(name) {\n const prefix = name + \"=\";\n const parts = document.cookie.split(';');\n for (let c of parts) {\n c = c.trim();\n if (c.startsWith(prefix)) {\n const data = c.substring(prefix.length, c.length);\n return decodeURIComponent(data);\n }\n }\n return null;\n }\n\n removeItem(name) {\n this.set(name, \"\", -1);\n }\n\n clear() {\n document.cookie = '';\n }\n\n}\n\n\nclass NoOp {\n\n constructor(session = false) {\n this.session = session;\n }\n\n setItem(name/*, value*/) {\n console.warn(`Browser storage disabled, can't store ${name}`);\n }\n\n getItem(/*name*/) {\n return null;\n }\n\n removeItem(/*name*/) {\n }\n\n clear() {\n }\n\n}\n","// Add deprecated CQL conformance classes for stac-fastapi:\n// https://github.com/stac-utils/stac-fastapi/issues/539\nconst CQL_TEXT = [\n 'https://api.stacspec.org/v1.*/item-search#filter:cql-text', // deprecated\n 'http://www.opengis.net/spec/cql2/1.*/conf/cql2-text'\n];\nconst CQL_JSON = [\n 'https://api.stacspec.org/v1.*/item-search#filter:cql-json', // deprecated\n 'http://www.opengis.net/spec/cql2/1.*/conf/cql2-json'\n];\n\nconst CQL_ADV_COMPARISON = ['http://www.opengis.net/spec/cql2/1.*/conf/advanced-comparison-operators'];\n\nimport { mapGetters } from \"vuex\";\n\nexport const TYPES = {\n // OGC / STAC API - Features\n Items: {\n BasicFilters: [\n 'https://api.stacspec.org/v1.*/ogcapi-features',\n 'http://www.opengis.net/spec/ogcapi-features-1/1.*/conf/core'\n ],\n CollectionIdFilter: false,\n ItemIdFilter: false,\n // It seems some conformance classes use conf (correct) and some req (deprecated?) after the version number\n CqlFilters: ['http://www.opengis.net/spec/ogcapi-features-3/1.*/*/features-filter'],\n Sort: [\n 'https://api.stacspec.org/v1.*/ogcapi-features#sort',\n 'http://www.opengis.net/spec/ogcapi-records-1/1.*/conf/sorting'\n ],\n FreeText: ['https://api.stacspec.org/v1.*/ogcapi-features#free-text']\n },\n // STAC API - Item Search\n Global: {\n BasicFilters: ['https://api.stacspec.org/v1.*/item-search'],\n CollectionIdFilter: true,\n ItemIdFilter: true,\n CqlFilters: ['https://api.stacspec.org/v1.*/item-search#filter'],\n Sort: ['https://api.stacspec.org/v1.*/item-search#sort'],\n FreeText: ['https://api.stacspec.org/v1.*/item-search#free-text']\n },\n // OGC / STAC API - Collections\n Collections: {\n BasicFilters: ['https://api.stacspec.org/v1.*/collection-search'],\n CollectionIdFilter: false,\n ItemIdFilter: false,\n CqlFilters: ['https://api.stacspec.org/v1.*/collection-search#filter'],\n Sort: ['https://api.stacspec.org/v1.*/collection-search#sort'],\n FreeText: ['https://api.stacspec.org/v1.*/collection-search#free-text']\n }\n};\n\nexport default {\n props: {\n type: {\n type: String,\n required: true\n }\n },\n computed: {\n ...mapGetters(['supportsConformance']),\n\n conformances() {\n return TYPES[this.type];\n },\n\n canSort() {\n return this.supportsConformance(this.conformances.Sort);\n },\n canFilterExtents() {\n return this.supportsConformance(this.conformances.BasicFilters);\n },\n canFilterFreeText() {\n return this.supportsConformance(this.conformances.FreeText);\n },\n cql() {\n if (!this.supportsConformance(this.conformances.CqlFilters)) {\n return null;\n }\n let textMode = this.supportsConformance(CQL_TEXT);\n let jsonMode = this.supportsConformance(CQL_JSON);\n if (!textMode && !jsonMode) {\n return null;\n }\n\n return {\n textMode,\n jsonMode,\n advancedComparison: this.supportsConformance(CQL_ADV_COMPARISON)\n };\n }\n }\n};\n","import { mapState } from 'vuex';\n\nexport default functions => {\n let mixin = {\n computed: {\n ...mapState(['uiLanguage'])\n },\n methods: {}\n };\n for(let name in functions) {\n let fn = functions[name];\n mixin.methods[name] = function() {\n // We call uiLanguage once so that it's a dependency for the computed property\n // which makes the computed property to re-render when uiLanguage changes.\n this.uiLanguage;\n return fn(...arguments);\n };\n }\n return mixin;\n};\n","import { mapState } from 'vuex';\n\nexport default {\n props: {\n showThumbnail: {\n type: Boolean,\n default: true\n }\n },\n computed: {\n ...mapState(['cardViewMode', 'crossOriginMedia', 'defaultThumbnailSize']),\n isList() {\n return this.data && !this.data.isItem() && this.cardViewMode === 'list';\n },\n hasImage() {\n return this.showThumbnail && this.thumbnail;\n },\n thumbnail() {\n if (this.data) {\n let thumbnails = this.data.getThumbnails(true, 'thumbnail');\n if (thumbnails.length > 0) {\n let t = thumbnails[0];\n let width, height;\n if (Array.isArray(t['proj:shape']) && t['proj:shape'].length === 2) {\n [height, width] = t['proj:shape'];\n }\n else if (Array.isArray(this.defaultThumbnailSize) && this.defaultThumbnailSize.length === 2) {\n [height, width] = this.defaultThumbnailSize;\n }\n return {\n src: t.href,\n alt: t.title,\n crossorigin: this.crossOriginMedia,\n right: this.isList,\n blankColor: \"rgba(0, 0, 0, 0.125)\",\n width,\n height,\n // for b-card-img-lazy\n \"blank-width\": width,\n \"blank-height\": height\n };\n }\n }\n return null;\n }\n }\n};","import Utils from '../../utils.js';\nimport STAC from '../../models/stac.js';\nimport Auth from '../../auth/index.js';\n\nexport default class AuthUtils {\n\n static resolveAuth(obj, context) {\n if (context instanceof STAC && Utils.size(obj['auth:refs']) > 0) {\n const scheme = context.getMetadata('auth:schemes');\n if (Utils.size(scheme) > 0) {\n return obj['auth:refs']\n .map(ref => scheme[ref])\n .filter(ref => Utils.isObject(ref));\n }\n }\n return [];\n }\n\n static isSupported(method, config) {\n if (method instanceof Auth) {\n method = method.options;\n }\n switch(method.type) {\n case 'http':\n return (method.schema === 'basic');\n case 'apiKey':\n return (method.in === 'header' || method.in === 'query');\n case 'openIdConnect':\n return (config.historyMode === 'history');\n default:\n return false;\n }\n }\n\n static convertLegacyAuthConfig(config) {\n if (!Utils.isObject(config) || config.type === null) {\n return null;\n }\n else if (config.type === 'query' || config.type === 'header') {\n // It is the old format\n return {\n type: 'apiKey',\n in: config.type,\n name: config.key,\n description: config.description,\n formatter: config.formatter\n };\n }\n else {\n // Is the new format from the authentication extension\n return config;\n }\n }\n\n}\n","let config;\nif (typeof CONFIG_PATH === 'undefined') {\n config = require('../config');\n}\nelse {\n config = require(CONFIG_PATH);\n}\n\nexport default Object.assign(config, CONFIG_CLI, window.STAC_BROWSER_CONFIG);","import Vue from 'vue';\nimport VueI18n from 'vue-i18n';\nimport CONFIG from './config';\nimport { default as Fields } from '@radiantearth/stac-fields/I18N';\nimport Utils from './utils';\n\nVue.use(VueI18n);\n\nexport const API_LANGUAGE_CONFORMANCE = ['https://api.stacspec.org/v1.*/language'];\n\nconst LOCALE_CONFIG = {};\n\nfunction loadLocaleConfig() {\n // Load locale config\n for (let locale of CONFIG.supportedLocales) {\n LOCALE_CONFIG[locale] = require(`./locales/${locale}/config.json`);\n }\n const messages = {};\n // Add language names all other languages\n for (let locale in LOCALE_CONFIG) {\n messages[locale] = {\n languages: LOCALE_CONFIG\n };\n }\n return messages;\n}\n\nconst i18n = new VueI18n({\n locale: CONFIG.locale,\n fallbackLocale: CONFIG.fallbackLocale,\n messages: loadLocaleConfig(),\n // Todo: Workaround for https://github.com/kazupon/vue-i18n/issues/563\n postTranslation: (value, path) => {\n if (value === \"\") {\n const parts = path.split('.');\n let message = i18n.messages[CONFIG.fallbackLocale];\n for (const key of parts) {\n if (key in message) {\n message = message[key];\n }\n else {\n return value;\n }\n }\n return message;\n }\n return value;\n }\n});\nexport default i18n;\n\nexport function loadDefaultMessages() {\n return Promise.all([\n loadMessages(CONFIG.locale),\n loadMessages(CONFIG.fallbackLocale)\n ]);\n}\n\nexport async function loadMessages(locale) {\n // Check whether the language has already been loaded\n // Note that a languages key is already present thus check >1 and not >0\n if (Utils.size(i18n.messages[locale]) > 1) {\n return;\n }\n const messages = (await import(`./locales/${locale}/default.js`)).default;\n i18n.mergeLocaleMessage(locale, messages);\n}\n\nexport async function executeCustomFunctions(locale) {\n const customizeFiles = LOCALE_CONFIG[locale].customize;\n if (Utils.size(LOCALE_CONFIG[locale].customize) === 0) {\n return;\n }\n const p = customizeFiles.map(async (file) => {\n const fn = (await import(`./locales/${locale}/${file}`)).default;\n return await fn(locale);\n });\n return Promise.all(p);\n}\n\nexport function translateFields(value, vars = null) {\n if (typeof value !== 'string' || value.length === 0) {\n return value;\n }\n let key = `fields.${value}`;\n if (i18n.te(key)) {\n return i18n.t(key, null, vars);\n }\n return Fields.format(value, vars);\n}\n","// This code is based on https://github.com/cherry-projects/locale-id\n// Due to the \"heavy\" dependencies, it has been slimmed down\n\n// http://userguide.icu-project.org/locale\nexport default function parse(locale) {\n if (!locale) {\n return undefined;\n }\n\n // extract keyword\n const stringLocale = String(locale);\n const keywordPos = stringLocale.indexOf('@');\n\n const keyword = keywordPos !== -1\n ? stringLocale.substr(keywordPos + 1)\n : undefined;\n\n const localeWithoutKeyword = keywordPos !== -1\n ? stringLocale.substr(0, keywordPos)\n : stringLocale;\n\n // en-us => en_us\n const parts = String(localeWithoutKeyword)\n .replace(/-/g, '_')\n .split('_');\n\n if (!parts.length || parts.length > 4) {\n return undefined;\n }\n\n const language = parts.shift();\n if (!language) {\n return undefined;\n }\n\n const retVar = {\n keyword,\n language: language.toLowerCase(),\n };\n\n if (!parts.length) {\n return retVar;\n }\n\n if (parts.length === 3) {\n const variant = parts.pop();\n if (variant) {\n retVar.variant = variant.toUpperCase();\n }\n }\n\n let country = parts.pop();\n if (country.length > 3) {\n retVar.keyword = country;\n\n country = parts.pop();\n }\n\n if (country) {\n retVar.country = country.toUpperCase();\n }\n\n if (!parts.length) {\n return retVar;\n }\n\n const script = parts.pop();\n if (typeof script === 'string' && script.length >= 1) {\n retVar.script = script[0].toUpperCase() + script.substring(1).toLowerCase();\n }\n\n return retVar;\n}\n\nexport function normalize(locale, delimeter = '_') {\n const obj = parse(locale);\n if (!obj) {\n return obj;\n }\n\n let result = obj.language;\n\n if (obj.script) {\n result += `${delimeter}${obj.script}`;\n }\n\n if (obj.country) {\n result += `${delimeter}${obj.country}`;\n }\n\n return result;\n}\n\nconst splitAcceptLanguageRegEx = /([a-z]{1,8}(-[a-z]{1,8})?)\\s*(;\\s*q\\s*=\\s*(1|0\\.[0-9]+))?/ig;\nconst acceptLanguageItemRegEx = /^([a-z]{1,8}(-[a-z]{1,8})?)/i;\n\nexport function normalizeAcceptLanguage(acceptLanguage) {\n const returnItems = [];\n if (!acceptLanguage) {\n return returnItems;\n }\n\n const items = acceptLanguage.match(splitAcceptLanguageRegEx) || [];\n items.forEach(acceptLanguageItem => {\n const matches = acceptLanguageItem.match(acceptLanguageItemRegEx) || [];\n const locale = normalize(matches[0]);\n if (locale) {\n returnItems.push(locale);\n }\n });\n\n return returnItems;\n}\n\nexport function prepareSupported(supported) {\n const lgs = {};\n\n supported.forEach(supportedLocale => {\n const { language, country } = parse(supportedLocale);\n if (!language) {\n throw new Error(`Locale ${supportedLocale} is not parsable`);\n }\n\n if (!lgs[language]) {\n lgs[language] = {\n countries: {},\n firstCountry: undefined,\n main: undefined,\n };\n }\n\n const lg = lgs[language];\n if (country) {\n lg.countries[country] = supportedLocale;\n\n if (!lg.firstCountry) {\n lg.firstCountry = supportedLocale;\n }\n } else {\n lg.main = supportedLocale;\n }\n });\n\n return lgs;\n}\n\nexport function getBest(supported, locale, defaultLocale, getAnyCountry) {\n const lgs = Array.isArray(supported) ? prepareSupported(supported) : supported;\n\n // return defaultLocale if current locale is undefined\n if (!locale && defaultLocale) {\n return getBest(supported, defaultLocale, undefined, getAnyCountry);\n }\n\n if (!locale) {\n return undefined;\n }\n\n const { language, country } = parse(locale);\n if (!language) {\n return defaultLocale;\n }\n\n // selected locale is not supported\n if (!lgs[language]) {\n if (locale === defaultLocale) {\n return undefined;\n }\n\n return getBest(supported, defaultLocale, null, getAnyCountry);\n }\n\n const { countries, main = defaultLocale, firstCountry } = lgs[language];\n if (!countries || !country) {\n if (getAnyCountry && firstCountry) {\n return firstCountry;\n }\n\n return main;\n }\n\n if (getAnyCountry && firstCountry) {\n return countries[country] ? countries[country] : firstCountry;\n }\n\n return countries[country] ? countries[country] : main;\n}\n","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('b-container',{attrs:{\"id\":\"stac-browser\"}},[(_vm.showLogin)?_c('Authentication'):_vm._e(),(_vm.globalError)?_c('ErrorAlert',_vm._b({staticClass:\"global-error\",attrs:{\"dismissible\":\"\"},on:{\"close\":_vm.hideError}},'ErrorAlert',_vm.globalError,false)):_vm._e(),(_vm.sidebar)?_c('Sidebar'):_vm._e(),_c('header',[_c('div',{staticClass:\"logo\"},[_vm._v(_vm._s(_vm.displayCatalogTitle))]),_c('StacHeader',{on:{\"enableSidebar\":function($event){_vm.sidebar = true}}})],1),_c('router-view'),_c('footer',[_c('i18n',{staticClass:\"poweredby text-muted\",attrs:{\"tag\":\"small\",\"path\":\"poweredBy\"},scopedSlots:_vm._u([{key:\"link\",fn:function(){return [_c('a',{attrs:{\"href\":\"https://github.com/radiantearth/stac-browser\",\"target\":\"_blank\"}},[_vm._v(\"STAC Browser\")]),_vm._v(\" \"+_vm._s(_vm.browserVersion)+\" \")]},proxy:true}])})],1)],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('main',{staticClass:\"browse d-flex flex-column\"},[(!_vm.allowExternalAccess && _vm.isExternal)?_c('b-alert',{attrs:{\"show\":\"\"}},[_vm._v(_vm._s(_vm.$t('errors.noExternalAccess')))]):(_vm.error)?_c('ErrorAlert',{attrs:{\"url\":_vm.url,\"description\":_vm.errorDescription,\"id\":_vm.errorId}}):(_vm.loading)?_c('Loading',{attrs:{\"stretch\":\"\"}}):_c(_vm.component,{tag:\"component\"})],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',{key:_vm.data.id,staticClass:\"item\"},[_c('b-row',[_c('b-col',{staticClass:\"left\"},[_c('section',{staticClass:\"mb-4\"},[_c('b-card',{staticClass:\"maps-preview\",attrs:{\"no-body\":\"\"}},[_c('b-tabs',{ref:\"tabs\",attrs:{\"card\":\"\",\"pills\":\"\",\"vertical\":\"\",\"end\":\"\"},model:{value:(_vm.tab),callback:function ($$v) {_vm.tab=$$v},expression:\"tab\"}},[_c('b-tab',{attrs:{\"title\":_vm.$t('map'),\"no-body\":\"\"}},[_c('Map',{attrs:{\"stac\":_vm.data,\"stacLayerData\":_vm.selectedAsset,\"scrollWheelZoom\":\"\"},on:{\"dataChanged\":_vm.dataChanged}})],1),(_vm.thumbnails.length > 0)?_c('b-tab',{attrs:{\"title\":_vm.$t('thumbnails'),\"no-body\":\"\"}},[_c('Thumbnails',{attrs:{\"thumbnails\":_vm.thumbnails}})],1):_vm._e()],1)],1)],1),(_vm.hasAssets)?_c('Assets',{attrs:{\"assets\":_vm.assets,\"context\":_vm.data,\"shown\":_vm.shownAssets},on:{\"showAsset\":_vm.showAsset}}):_vm._e(),(_vm.additionalLinks.length > 0)?_c('Links',{attrs:{\"title\":_vm.$t('additionalResources'),\"links\":_vm.additionalLinks,\"context\":_vm.data}}):_vm._e()],1),_c('b-col',{staticClass:\"right\"},[_c('section',{staticClass:\"intro\"},[(_vm.data.properties.description)?_c('h2',[_vm._v(_vm._s(_vm.$t('description')))]):_vm._e(),(_vm.data.properties.deprecated)?_c('DeprecationNotice',{attrs:{\"data\":_vm.data}}):_vm._e(),(_vm.data.properties['anon:warning'])?_c('AnonymizedNotice',{attrs:{\"warning\":_vm.data.properties['anon:warning']}}):_vm._e(),(_vm.data.properties.description)?_c('ReadMore',{attrs:{\"lines\":10,\"text\":_vm.$t('read.more'),\"text-less\":_vm.$t('read.less')}},[_c('Description',{attrs:{\"description\":_vm.data.properties.description}})],1):_vm._e(),(Array.isArray(_vm.data.properties.keywords) && _vm.data.properties.keywords.length > 0)?_c('Keywords',{staticClass:\"mb-3\",attrs:{\"keywords\":_vm.data.properties.keywords}}):_vm._e()],1),(_vm.collectionLink)?_c('CollectionLink',{attrs:{\"link\":_vm.collectionLink}}):_vm._e(),(_vm.data.properties.providers)?_c('Providers',{attrs:{\"providers\":_vm.data.properties.providers}}):_vm._e(),_c('Metadata',{attrs:{\"data\":_vm.data,\"type\":\"Item\",\"ignoreFields\":_vm.ignoredMetadataFields}})],1)],1)],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import Utils from '../utils';\nimport { mapGetters } from 'vuex';\n\nexport default {\n data() {\n return {\n shownAssetsOnMap: [],\n shownBandsOnMap: [],\n tab: null,\n selectedAsset: null,\n selectedAssetKey: null\n };\n },\n computed: {\n ...mapGetters(['thumbnails', 'hasAssets', 'assets']),\n shownAssets() {\n if (this.tab === 0) {\n return this.shownAssetsOnMap;\n }\n else if (this.tab === 1 || (this.tab === null && this.thumbnails.length > 0)) {\n let keys = [];\n let thumbnailRefs = this.thumbnails.map(t => t.href);\n for(let key in this.assets) {\n let asset = this.assets[key];\n if (thumbnailRefs.includes(asset.href)) {\n keys.push(key);\n }\n }\n return keys;\n }\n return [];\n }\n },\n methods: {\n showAsset(asset, id, isThumbnail) {\n if (isThumbnail) {\n this.tab = 1;\n }\n else {\n this.tab = 0;\n this.selectedAsset = asset;\n this.selectedAssetKey = id;\n this.shownAssetsOnMap = [this.selectedAssetKey];\n }\n if (this.$refs.tabs) {\n Utils.scrollTo(this.$refs.tabs.$el);\n }\n },\n dataChanged(data) {\n if (!Utils.isObject(data)) {\n this.shownBandsOnMap = [];\n this.shownAssetsOnMap = [];\n }\n else if (data.assets || data.bands) {\n if (Utils.size(data.assets) > 0) {\n if (this.selectedAssetKey) {\n this.shownAssetsOnMap = [this.selectedAssetKey];\n }\n else {\n this.shownAssetsOnMap = data.assets.map(meta => meta.key);\n }\n }\n if (Utils.size(data.bands) > 0) {\n this.shownBandsOnMap = data.bands;\n }\n }\n else if (this.selectedAssetKey) {\n this.shownAssetsOnMap = [this.selectedAssetKey];\n }\n }\n }\n};\n","import Utils from './utils';\nimport STAC from './models/stac';\nimport URI from 'urijs';\nimport i18n from './i18n';\n\nfunction toBrowserUrl(url, store) {\n let path = store.getters.toBrowserPath(url);\n let uri = URI(window.location.origin.toString());\n if (store.state.historyMode === 'hash') {\n uri.path(store.state.pathPrefix);\n uri.fragment(path);\n }\n else {\n uri.path(Utils.removeTrailingSlash(store.state.pathPrefix) + path);\n }\n return uri.toString();\n}\n\nfunction addSpatialCoverage(schema, bbox) {\n if (Array.isArray(bbox) && bbox.length >= 4) {\n schema.spatialCoverage = {\n \"@type\": \"Place\",\n geo: {\n \"@type\": \"GeoShape\",\n box: (bbox || []).join(\" \")\n }\n };\n }\n}\n\nfunction formatTemporalCoverage(dates) {\n if (Array.isArray(dates) && dates.length === 2 && (typeof dates[0] === 'string' || typeof dates[1] === 'string')) {\n return dates.map(dt => dt ? dt : '..').join('/');\n }\n return null;\n}\n\nfunction makeAssets(data) {\n if (Utils.size(data.assets) > 0) {\n return Object.values(data.assets).map(a => ({\n \"@type\": \"DataDownload\",\n contentUrl: Utils.toAbsolute(a.href, data.getAbsoluteUrl()),\n encodingFormat: a.type,\n name: a.title\n }));\n }\n return [];\n}\n\nfunction makeLinks(links, data, store, type = \"DataCatalog\") {\n return links.map(link => {\n let name, isBasedOn;\n if (link instanceof STAC) {\n name = STAC.getDisplayTitle(link);\n isBasedOn = link.getAbsoluteUrl();\n }\n else {\n name = link.title;\n isBasedOn = Utils.toAbsolute(link.href, data.getAbsoluteUrl());\n }\n let obj = {\n \"@type\": type,\n name,\n url: toBrowserUrl(isBasedOn, store),\n isBasedOn\n };\n if (type === 'Dataset') {\n obj.description = fallbackDescription(link, store);\n }\n return obj;\n });\n}\n\nfunction makeProvider(providers, role) {\n return providers\n .filter(p => Utils.isObject(p) && Array.isArray(p.roles) && p.roles.includes(role))\n .map(p => ({\n \"@type\": \"Organization\",\n \"name\": p.name,\n \"description\": p.description,\n \"url\": p.url,\n \"email\": p.email || p.mail,\n }));\n}\n\nfunction fallbackDescription(data, store) {\n let stacType, container;\n if (data instanceof STAC) {\n stacType = data.isItem() ? \"Item\" : data.type;\n container = data.collection;\n }\n else if (Utils.isObject(data) && data.rel === 'item') {\n stacType = \"Item\";\n }\n if (stacType) {\n let type = i18n.tc(`stac${stacType}`);\n let inX = i18n.t('in', {catalog: container || store.catalogTitle});\n return `SpatioTemporal Asset Catalog (STAC)\\n${type} - ${data.id} ${inX}`;\n }\n}\n\nfunction createBaseSchema(data, type, store) {\n let name = STAC.getDisplayTitle(data);\n let stacUrl = data.getAbsoluteUrl();\n let url = toBrowserUrl(stacUrl, store);\n let inLanguage = data.getMetadata('language')?.code;\n let thumbnails = data.getThumbnails(true);\n let thumbnailUrl;\n if (thumbnails.length > 0) {\n thumbnailUrl = Utils.toAbsolute(thumbnails[0].href, data.getAbsoluteUrl());\n }\n let license = data.getMetadata('license');\n if (license && license !== 'proprietary' && license !== 'various' && license !== 'other') {\n license = `https://spdx.org/licenses/${license}.html`;\n }\n else {\n license = data.getLinkWithRel('license')?.href;\n }\n if (license) {\n license = Utils.toAbsolute(license, data.getAbsoluteUrl());\n }\n\n let providers = data.getMetadata('providers');\n let copyrightHolder; // licensor\n let producer; // producer\n let provider; // host\n let creator; // processor\n if (Utils.size(providers) > 0) {\n copyrightHolder = makeProvider(providers, \"licensor\");\n producer = makeProvider(providers, \"producer\");\n provider = makeProvider(providers, \"host\");\n creator = makeProvider(providers, \"processor\");\n }\n\n return {\n \"@context\": \"https://schema.org/\",\n \"@type\": type,\n name,\n description: data.getMetadata(\"description\") || fallbackDescription(data, store),\n citation: data.getMetadata(\"sci:citation\"),\n identifier: data.getMetadata(\"sci:doi\") || data.id,\n keywords: data.getMetadata(\"keywords\"),\n license,\n url,\n isBasedOn: stacUrl,\n dateCreated: data.getMetadata('created'),\n dateModified: data.getMetadata('updated'),\n datePublished: data.getMetadata('published'),\n expires: data.getMetadata('expires'),\n inLanguage,\n thumbnailUrl,\n version: data.getMetadata('version'),\n image: thumbnailUrl,\n copyrightHolder,\n producer,\n provider,\n creator\n };\n}\n\nexport function createCatalogSchema(data, parents, store) {\n if (!(data instanceof STAC)) {\n return null;\n }\n // Remove invalid links\n parents = parents.filter(link => Utils.isObject(link));\n if (parents.length > 1) {\n // Remove duplicates\n parents = parents.filter((link, i) => parents.findIndex(p => p.isBasedOn === link.isBasedOn) !== i);\n }\n\n let schema = createBaseSchema(data, 'DataCatalog', store);\n\n if (data.isCollection()) {\n if (data.extent?.temporal?.interval.length > 0) {\n schema.temporalCoverage = formatTemporalCoverage(data.extent.temporal.interval[0]);\n }\n\n if (data.extent?.spatial?.bbox.length > 0) {\n addSpatialCoverage(schema, data.extent.spatial.bbox[0]);\n }\n schema.associatedMedia = makeAssets(data);\n }\n\n schema.hasPart = makeLinks(store.getters.catalogs, data, store);\n schema.dataset = makeLinks(store.getters.items, data, store, \"Dataset\");\n schema.isPartOf = makeLinks(parents, data, store);\n\n return schema;\n}\n\nexport function createItemSchema(data, parents, store) {\n if (!(data instanceof STAC)) {\n return null;\n }\n parents = parents.filter(link => Utils.isObject(link));\n\n let schema = createBaseSchema(data, 'Dataset', store);\n\n schema.includedInDataCatalog = makeLinks(parents, data, store);\n\n let start = data.getMetadata('start_datetime');\n let end = data.getMetadata('end_datetime');\n if (start || end) {\n schema.temporalCoverage = formatTemporalCoverage([start, end]);\n }\n else {\n schema.temporalCoverage = data.getMetadata('datetime');\n }\n\n addSpatialCoverage(schema, data.bbox);\n schema.distribution = makeAssets(data);\n\n return schema;\n}\n\nexport function addSchemaToDocument(doc, schema) {\n let id = 'schema-org';\n let element = doc.getElementById(id);\n if (!element) {\n element = doc.createElement('script');\n element.type = 'application/ld+json';\n element.id = id;\n doc.head.appendChild(element);\n }\n element.innerText = JSON.stringify(schema);\n}\n","\n\n\n\n\n","import mod from \"-!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./Item.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./Item.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./Item.vue?vue&type=template&id=5a87283c\"\nimport script from \"./Item.vue?vue&type=script&lang=js\"\nexport * from \"./Item.vue?vue&type=script&lang=js\"\nimport style0 from \"./Item.vue?vue&type=style&index=0&id=5a87283c&prod&lang=scss\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',{key:_vm.data.id,class:{cc: true, [_vm.cssStacType]: true, mixed: _vm.hasCatalogs && _vm.hasItems, empty: !_vm.hasCatalogs && !_vm.hasItems}},[_c('b-row',[_c('b-col',{staticClass:\"meta\"},[_c('section',{staticClass:\"intro\"},[_c('h2',[_vm._v(_vm._s(_vm.$t('description')))]),(_vm.data.deprecated)?_c('DeprecationNotice',{attrs:{\"data\":_vm.data}}):_vm._e(),(_vm.data['anon:warning'])?_c('AnonymizedNotice',{attrs:{\"warning\":_vm.data['anon:warning']}}):_vm._e(),(_vm.data.description)?_c('ReadMore',{attrs:{\"lines\":10,\"text\":_vm.$t('read.more'),\"text-less\":_vm.$t('read.less')}},[_c('Description',{attrs:{\"description\":_vm.data.description}})],1):_vm._e(),(Array.isArray(_vm.data.keywords) && _vm.data.keywords.length > 0)?_c('Keywords',{staticClass:\"mb-3\",attrs:{\"keywords\":_vm.data.keywords}}):_vm._e(),(_vm.isCollection)?_c('section',{staticClass:\"metadata mb-4\"},[(_vm.licenses)?_c('b-row',[_c('b-col',{staticClass:\"label\",attrs:{\"md\":\"4\"}},[_vm._v(_vm._s(_vm.$t('catalog.license')))]),_c('b-col',{staticClass:\"value\",attrs:{\"md\":\"8\"}},[_c('span',{domProps:{\"innerHTML\":_vm._s(_vm.licenses)}})])],1):_vm._e(),(_vm.temporalExtents)?_c('b-row',[_c('b-col',{staticClass:\"label\",attrs:{\"md\":\"4\"}},[_vm._v(_vm._s(_vm.$t('catalog.temporalExtent')))]),_c('b-col',{staticClass:\"value\",attrs:{\"md\":\"8\"}},[_c('span',{domProps:{\"innerHTML\":_vm._s(_vm.temporalExtents)}})])],1):_vm._e()],1):_vm._e(),(_vm.linkPosition === 'left')?_c('Links',{attrs:{\"title\":_vm.$t('additionalResources'),\"links\":_vm.additionalLinks,\"context\":_vm.data}}):_vm._e()],1),(_vm.isCollection || _vm.hasThumbnails)?_c('section',{staticClass:\"mb-4\"},[_c('b-card',{staticClass:\"maps-preview\",attrs:{\"no-body\":\"\"}},[_c('b-tabs',{ref:\"tabs\",attrs:{\"pills\":\"\",\"card\":\"\",\"vertical\":\"\",\"end\":\"\"},model:{value:(_vm.tab),callback:function ($$v) {_vm.tab=$$v},expression:\"tab\"}},[(_vm.isCollection)?_c('b-tab',{attrs:{\"title\":_vm.$t('map'),\"no-body\":\"\"}},[_c('Map',{attrs:{\"stac\":_vm.data,\"stacLayerData\":_vm.mapData,\"fitBoundsOnce\":\"\",\"popover\":\"\"},on:{\"dataChanged\":_vm.dataChanged}})],1):_vm._e(),(_vm.hasThumbnails)?_c('b-tab',{attrs:{\"title\":_vm.$t('thumbnails'),\"no-body\":\"\"}},[_c('Thumbnails',{attrs:{\"thumbnails\":_vm.thumbnails}})],1):_vm._e()],1)],1)],1):_vm._e(),(_vm.hasAssets)?_c('Assets',{attrs:{\"assets\":_vm.assets,\"context\":_vm.data,\"shown\":_vm.shownAssets},on:{\"showAsset\":_vm.showAsset}}):_vm._e(),(_vm.hasItemAssets && !_vm.hasItems)?_c('Assets',{attrs:{\"assets\":_vm.data.item_assets,\"context\":_vm.data,\"definition\":true}}):_vm._e(),(_vm.providers)?_c('Providers',{attrs:{\"providers\":_vm.providers}}):_vm._e(),_c('Metadata',{staticClass:\"mb-4\",attrs:{\"type\":_vm.data.type,\"data\":_vm.data,\"ignoreFields\":_vm.ignoredMetadataFields}}),(_vm.collectionLink)?_c('CollectionLink',{attrs:{\"link\":_vm.collectionLink}}):_vm._e(),(_vm.linkPosition === 'right')?_c('Links',{attrs:{\"title\":_vm.$t('additionalResources'),\"links\":_vm.additionalLinks,\"context\":_vm.data}}):_vm._e()],1),(_vm.hasCatalogs)?_c('b-col',{staticClass:\"catalogs-container\"},[_c('Catalogs',{attrs:{\"catalogs\":_vm.catalogs,\"hasMore\":!!_vm.nextCollectionsLink},on:{\"loadMore\":_vm.loadMoreCollections}})],1):_vm._e(),(_vm.hasItems)?_c('b-col',{staticClass:\"items-container\"},[_c('Items',{attrs:{\"stac\":_vm.data,\"items\":_vm.items,\"api\":_vm.isApi,\"showFilters\":_vm.showFilters,\"apiFilters\":_vm.filters,\"pagination\":_vm.itemPages,\"loading\":_vm.apiItemsLoading},on:{\"paginate\":_vm.paginateItems,\"filterItems\":_vm.filterItems,\"filtersShown\":_vm.filtersShown}}),(_vm.hasItemAssets)?_c('Assets',{attrs:{\"assets\":_vm.data.item_assets,\"context\":_vm.data,\"definition\":true}}):_vm._e()],1):_vm._e()],1)],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n","import mod from \"-!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./Catalog.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./Catalog.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./Catalog.vue?vue&type=template&id=41cf114e\"\nimport script from \"./Catalog.vue?vue&type=script&lang=js\"\nexport * from \"./Catalog.vue?vue&type=script&lang=js\"\nimport style0 from \"./Catalog.vue?vue&type=style&index=0&id=41cf114e&prod&lang=scss\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","\n\n\n","import mod from \"-!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./Browse.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./Browse.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./Browse.vue?vue&type=template&id=21cc23bf\"\nimport script from \"./Browse.vue?vue&type=script&lang=js\"\nexport * from \"./Browse.vue?vue&type=script&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","import Browse from '../views/Browse.vue';\n\nfunction getPath(route, config) {\n let path = route.params.pathMatch;\n if (config.allowExternalAccess && path.startsWith(\"external/\")) {\n path = '/' + path;\n }\n return {path};\n}\n\nfunction getRoutes(config) {\n let routes = [];\n\n if (!config.catalogUrl) {\n routes.push({\n path: \"/\",\n name: \"select\",\n component: () => import(\"../views/SelectDataSource.vue\")\n });\n routes.push({\n path: \"/search/external/(.*)\",\n name: \"search\",\n component: () => import(\"../views/Search.vue\"),\n props: route => {\n return {\n loadParent: `/external/${route.params.pathMatch}`\n };\n }\n });\n }\n else {\n routes.push({\n path: \"/search\",\n name: \"search\",\n component: () => import(\"../views/Search.vue\")\n });\n }\n\n routes.push({\n path: '/auth/logout',\n name: \"logout\",\n component: () => import(\"../views/Logout.vue\")\n });\n routes.push({\n path: '/auth',\n component: () => import(\"../views/LoginCallback.vue\")\n });\n\n routes.push({\n path: \"/validation/(.*)\",\n name: \"validation\",\n component: () => import(\"../views/Validation.vue\"),\n props: route => getPath(route, config)\n });\n\n routes.push({\n path: \"/(.*)\",\n name: \"browse\",\n component: Browse,\n props: route => getPath(route, config)\n });\n\n return routes;\n}\n\nexport default getRoutes;\n","import Auth from '../auth';\nimport i18n from '../i18n';\nimport AuthUtils from '../components/auth/utils';\nimport BrowserStorage, { Cookies } from '../browser-store';\n\nconst handleAuthError = async (cx, error) => {\n cx.commit('showGlobalError', {\n error,\n message: i18n.t('errors.authFailed')\n }, { root: true });\n await cx.dispatch('updateCredentials');\n};\n\nexport default function getStore(router) {\n return {\n namespaced: true,\n state: {\n // Wrap in a function and use the getter instead of the state\n // Unfortunately, some auth libraries have internal state, which vuex doesn't like\n // and thus reports: \"do not mutate vuex store state outside mutation handlers.\"\n method: () => new Auth(),\n actions: [],\n credentials: null,\n inProgress: false\n },\n getters: {\n method(state) {\n return state.method();\n },\n canAuthenticate(state, getters, rootState) {\n return AuthUtils.isSupported(getters.method, rootState);\n },\n isLoggedIn(state) {\n return state.credentials !== null;\n },\n showLogin(state, getters) {\n return !getters.isLoggedIn && state.inProgress;\n }\n },\n mutations: {\n setCredentials(state, credentials) {\n state.credentials = credentials; // e.g. Username + Password or a Bearer Token\n },\n setMethod(state, method) {\n state.method = () => method;\n },\n addAction(state, callback) {\n state.actions.push(callback);\n },\n resetActions(state) {\n state.actions = [];\n },\n setInProgress(state, inProgress = true) {\n state.inProgress = inProgress;\n }\n },\n actions: {\n async waitForAuth(cx) {\n if (Auth.equals(cx.getters.method, cx.rootState.authConfig)) {\n return;\n }\n await cx.dispatch('updateMethod', cx.rootState.authConfig);\n },\n async updateMethod(cx, config) {\n config = AuthUtils.convertLegacyAuthConfig(config);\n if (!Auth.equals(cx.getters.method, config)) {\n await cx.getters.method.close();\n }\n\n const changeListener = async (isLoggedIn, credentials) => {\n if (!isLoggedIn) {\n credentials = null;\n }\n await cx.dispatch('updateCredentials', credentials);\n if (isLoggedIn) {\n await cx.dispatch('executeActions');\n }\n else {\n cx.commit('resetActions');\n }\n };\n \n const storage = new BrowserStorage(true);\n storage.set('authConfig', config);\n\n const newAuth = await Auth.create(config, changeListener, router);\n cx.commit('setMethod', newAuth);\n },\n async requestLogin(cx) {\n if (cx.getters.isLoggedIn) {\n return;\n }\n cx.commit('setInProgress');\n try {\n await cx.getters.method.login();\n } catch(error) {\n handleAuthError(cx, error);\n }\n },\n async finalizeLogin(cx, credentials = null) {\n cx.commit('setInProgress', false);\n try {\n await cx.getters.method.confirmLogin(credentials);\n } catch(error) {\n handleAuthError(cx, error);\n }\n },\n async abortLogin(cx) {\n cx.commit('setInProgress', false);\n },\n async requestLogout(cx) {\n if (!cx.getters.isLoggedIn) {\n return;\n }\n cx.commit('setInProgress');\n await cx.getters.method.logout();\n },\n async finalizeLogout(cx) {\n cx.commit('setInProgress', false);\n try {\n await cx.getters.method.confirmLogout();\n } catch(error) {\n handleAuthError(cx, error);\n }\n },\n // Format the value and add it to query parameters or headers\n async updateCredentials(cx, value = null) {\n cx.commit('setCredentials', value);\n const intent = cx.getters.method.updateStore(value);\n if (intent.query) {\n cx.commit('setQueryParameter', intent.query, { root: true });\n }\n else if (intent.header) {\n cx.commit('setRequestHeader', intent.header, { root: true });\n }\n else if (intent.cookie) {\n const cookie = new Cookies(true);\n cookie.setItem(intent.cookie.key, intent.cookie.value);\n }\n },\n async executeActions(cx) {\n for (let callback of cx.state.actions) {\n try {\n const p = callback();\n if (p instanceof Promise) {\n p.catch(error => handleAuthError(cx, error));\n }\n } catch (error) {\n handleAuthError(cx, error);\n }\n }\n cx.commit('resetActions');\n }\n }\n };\n}\n","import Vue from \"vue\";\nimport Vuex from \"vuex\";\n\nimport URI from \"urijs\";\n\nimport i18n from '../i18n';\nimport { stacBrowserSpecialHandling } from \"../rels\";\nimport Utils, { BrowserError } from '../utils';\nimport STAC from '../models/stac';\n\nimport auth from './auth.js';\nimport { addQueryIfNotExists, isAuthenticationError, Loading, processSTAC, proxyUrl, unproxyUrl, stacRequest } from './utils';\nimport { getBest } from '../locale-id';\nimport I18N from '@radiantearth/stac-fields/I18N';\nimport { translateFields, executeCustomFunctions, loadMessages } from '../i18n';\nimport { TYPES } from \"../components/ApiCapabilitiesMixin\";\nimport BrowserStorage from \"../browser-store.js\";\n\nfunction getStore(config, router) {\n // Local settings (e.g. for currently loaded STAC entity)\n const localDefaults = () => ({\n url: '',\n title: config.catalogTitle,\n description: null,\n data: null,\n parents: null,\n globalError: null,\n\n localRequestQueryParameters: {},\n stateQueryParameters: {\n language: null,\n asset: [],\n itemdef: []\n },\n\n apiItems: [],\n apiItemsLink: null,\n apiItemsPagination: {}\n });\n\n const catalogDefaults = () => ({\n queue: [],\n privateQueryParameters: {},\n authActions: [],\n conformsTo: [],\n dataLanguage: null,\n dataLanguages: [],\n\n apiCollections: [],\n apiItemsLoading: {},\n nextCollectionsLink: null\n });\n\n return new Vuex.Store({\n strict: process.env.NODE_ENV !== 'production',\n modules: {\n auth: auth(router)\n },\n state: Object.assign({}, config, localDefaults(), catalogDefaults(), {\n // Global settings\n database: {}, // STAC object, Error object or Loading object or Promise (when loading)\n allowSelectCatalog: !config.catalogUrl,\n globalRequestQueryParameters: config.requestQueryParameters,\n uiLanguage: config.locale\n }),\n getters: {\n loading: state => !state.url || !state.data || state.database[state.url] instanceof Loading,\n getApiItemsLoading: state => data => {\n let id = '';\n if (data instanceof Loading) {\n return true;\n }\n else if (data instanceof STAC) {\n id = data.id;\n }\n else if (typeof data === 'string') {\n id = data;\n }\n return state.apiItemsLoading[id] || false;\n },\n error: state => state.database[state.url] instanceof Error ? state.database[state.url] : null,\n getStac: state => (source, returnErrorObject = false) => {\n if (source instanceof STAC) {\n return source;\n }\n if (Utils.isObject(source) && Utils.hasText(source.href)) {\n source = source.href;\n }\n if (!Utils.hasText(source)) {\n return null;\n }\n let absoluteUrl = Utils.toAbsolute(source, state.url);\n let data = state.database[absoluteUrl];\n if (data instanceof STAC || (returnErrorObject && data instanceof Error)) {\n return data;\n }\n else {\n return null;\n }\n },\n\n displayCatalogTitle: (state, getters) => STAC.getDisplayTitle(getters.root, state.catalogTitle),\n\n isCollection: state => state.data?.isCollection() || false,\n isCatalog: state => state.data?.isCatalog() || false,\n isCatalogLike: state => state.data?.isCatalogLike() || false,\n isItem: state => state.data?.isItem() || false,\n\n root: (_, getters) => getters.getStac(getters.rootLink),\n\n rootLink: state => {\n let link = state.data?.getStacLinkWithRel('root');\n if (link) {\n return link;\n }\n else if (state.catalogUrl) {\n return Utils.createLink(state.catalogUrl, 'root');\n }\n else if (state.url && state.data instanceof STAC && state.data.getLinksWithRels(['conformance', 'service-desc', 'service-doc', 'data', 'search']).length > 0) {\n return Utils.createLink(state.url, 'root');\n }\n else if (state.url) {\n // Fallback: If we detect OGC API like paths, try to guess the paths\n let uri = URI(state.url);\n let path = uri.segment(-2);\n if (['collections', 'items'].includes(path)) {\n uri.segment(-1, \"\");\n uri.segment(-1, \"\");\n if (path === 'items') {\n uri.segment(-1, \"\");\n uri.segment(-1, \"\");\n }\n return Utils.createLink(uri.toString(), 'root');\n }\n }\n return null;\n },\n parentLink: state => {\n if (state.data instanceof STAC) {\n let link = state.data.getStacLinkWithRel('parent');\n if (link) {\n return link;\n }\n }\n\n // Fallback: If we detect OGC API like paths, try to guess the paths\n if (state.url) {\n let uri = URI(state.url);\n let path = uri.segment(-2);\n if (['collections', 'items'].includes(path)) {\n uri.segment(-1, \"\");\n uri.segment(-1, \"\");\n return Utils.createLink(uri.toString(), 'parent');\n }\n }\n\n return null;\n },\n collectionLink: state => {\n if (state.data instanceof STAC) {\n let link = state.data?.getStacLinkWithRel('collection');\n if (link) {\n return link;\n }\n }\n\n // Fallback: If we detect OGC API like paths, try to guess the paths\n if (state.url) {\n let uri = URI(state.url);\n let path = uri.segment(-2);\n if (path == 'items') {\n uri.segment(-1, \"\");\n uri.segment(-1, \"\");\n return Utils.createLink(uri.toString(), 'collection');\n }\n }\n\n return null;\n },\n supportsConformance: state => classes => {\n if(!Array.isArray(classes)) {\n return classes;\n }\n let classRegexp = classes\n .map(c => c.replaceAll('*', '[^/]+').replace(/\\/?#/, '/?#'))\n .join('|');\n let regexp = new RegExp('^(' + classRegexp + ')$');\n return Boolean(state.conformsTo.find(uri => uri.match(regexp)));\n },\n supportsExtension: state => schemaUri => {\n return Utils.supportsExtension(state.data, schemaUri);\n },\n\n canSearch: (state, getters) => {\n return getters.canSearchCollections || getters.canSearchItems;\n },\n canSearchItems: (state, getters) => {\n return getters.supportsConformance(TYPES.Global.BasicFilters);\n },\n canSearchCollections: (state, getters) => {\n return getters.supportsConformance(TYPES.Collections.BasicFilters);\n },\n\n items: state => {\n if (state.apiItems.length > 0) {\n return state.apiItems;\n }\n else if (state.data) {\n return state.data.getStacLinksWithRel('item');\n }\n return [];\n },\n catalogs: state => {\n let hasCollections = Boolean(state.data instanceof STAC && state.data.getApiCollectionsLink() && state.apiCollections.length > 0);\n let hasChilds = Boolean(state.data instanceof STAC);\n let showCollections = !state.apiCatalogPriority || state.apiCatalogPriority === 'collections';\n let showChilds = !state.apiCatalogPriority || state.apiCatalogPriority === 'childs';\n let catalogs = [];\n if (hasCollections && showCollections) {\n catalogs = catalogs.concat(state.apiCollections);\n }\n if (hasChilds && showChilds) {\n catalogs = STAC.addMissingChildren(catalogs, state.data);\n }\n return catalogs;\n },\n\n // hasAsset also checks whether the assets have a href and thus are not item asset definitions\n hasAssets: (state, getters) => Boolean(Object.values(getters.assets).find(asset => Utils.isObject(asset) && typeof asset.href === 'string')),\n assets: (state, getters) => {\n if (!Utils.isObject(state.data?.assets)) {\n return {};\n }\n else if (state.showThumbnailsAsAssets) {\n return state.data.assets;\n }\n else {\n let assets = {};\n let thumbnails = getters.thumbnails;\n for (let key in state.data.assets) {\n let asset = state.data.assets[key];\n if (!thumbnails.includes(asset)) {\n assets[key] = asset;\n }\n }\n return assets;\n }\n },\n thumbnails: state => state.data ? state.data.getThumbnails(true) : [],\n additionalLinks: state => state.data ? state.data.getLinksWithOtherRels(stacBrowserSpecialHandling).filter(link => link.rel !== 'preview' || !Utils.canBrowserDisplayImage(link)) : [],\n\n toBrowserPath: (state, getters) => url => {\n if (!Utils.hasText(url)) {\n url = '/';\n }\n\n let absolute = Utils.toAbsolute(unproxyUrl(url, state.stacProxyUrl), state.url, false);\n let relative;\n if (!state.allowSelectCatalog && state.catalogUrl) {\n relative = absolute.relativeTo(state.catalogUrl);\n }\n\n if (typeof relative === 'undefined' || getters.isExternalUrl(absolute, false)) {\n if (!state.allowExternalAccess) {\n return absolute.toString();\n }\n let parts = ['/external'];\n let protocol = absolute.protocol();\n if (protocol !== 'https') {\n parts.push(protocol + ':');\n }\n parts.push(absolute.authority());\n parts.push(absolute.path().replace(/^\\//, ''));\n let path = parts.join('/');\n let q = absolute.query();\n if (q) {\n path += `?${q}`;\n }\n return path;\n }\n else {\n return '/' + relative.toString();\n }\n },\n fromBrowserPath: (state, getters) => url => {\n const externalRE = /^\\/(search\\/)?external\\//;\n if (!Utils.hasText(url) || url === '/') {\n url = state.catalogUrl;\n }\n else if (url.match(externalRE)) {\n let parts = url.replace(externalRE, '').split('/');\n let protocol;\n if (!parts[0].endsWith(':')) {\n protocol = 'https:';\n }\n else {\n protocol = parts.shift();\n }\n url = `${protocol}//${parts.join('/')}`;\n }\n else if (!state.allowSelectCatalog && state.catalogUrl) {\n url = Utils.toAbsolute(url, state.catalogUrl, false);\n }\n return getters.getRequestUrl(url, null, true);\n },\n isExternalUrl: state => (absoluteUrl, whitelist = true) => {\n if (!state.catalogUrl) {\n return false;\n }\n if (!(absoluteUrl instanceof URI)) {\n absoluteUrl = URI(absoluteUrl);\n }\n if (whitelist && Array.isArray(state.allowedDomains) && state.allowedDomains.includes(absoluteUrl.domain())) {\n return false;\n }\n let relative;\n if (absoluteUrl.is(\"relative\")) {\n relative = absoluteUrl;\n }\n else {\n relative = absoluteUrl.relativeTo(state.catalogUrl);\n if (relative.equals(absoluteUrl)) {\n return true;\n }\n }\n let relativeStr = relative.toString();\n return relativeStr.startsWith('//') || relativeStr.startsWith('../');\n },\n getRequestUrl: (state, getters) => (url, baseUrl = null, addLocalQueryParams = false) => {\n let absoluteUrl = Utils.toAbsolute(proxyUrl(url, state.stacProxyUrl), baseUrl ? baseUrl : state.url, false);\n if (!getters.isExternalUrl(absoluteUrl)) {\n // Check whether private params are present and add them if the URL is part of the catalog\n addQueryIfNotExists(absoluteUrl, state.privateQueryParameters);\n // Check if we need to add global request params\n addQueryIfNotExists(absoluteUrl, state.globalRequestQueryParameters);\n if (addLocalQueryParams) {\n // Check if we need to add local request params\n addQueryIfNotExists(absoluteUrl, state.localRequestQueryParameters);\n }\n }\n // If we are proxying a STAC Catalog, replace any URI with the proxied address.\n return absoluteUrl.toString();\n },\n\n acceptedLanguages: state => {\n const languages = {};\n // Implement in ascending order:\n languages['en'] = 0.1;\n if (Array.isArray(state.supportedLocales)) {\n state.supportedLocales.forEach(locale => languages[locale] = 0.2);\n }\n if (Utils.hasText(state.fallbackLocale)) {\n languages[state.fallbackLocale] = 0.5;\n }\n if (Array.isArray(navigator.languages)) {\n navigator.languages.forEach(locale => languages[locale] = 0.7);\n }\n if (Utils.hasText(state.locale)) {\n languages[state.locale] = 1;\n }\n return Object.entries(languages)\n .sort((a,b) => {\n if (a[1] > b[1]) {\n return -1;\n }\n else if (a[1] < b[1]) {\n return 1;\n }\n return 0;\n })\n .map(([l, q]) => q >= 1 ? l : `${l};q=${q}`)\n .join(',');\n }\n },\n mutations: {\n config(state, config) {\n // This should only be called from the config action\n for (let key in config) {\n let value = config[key];\n switch (key) {\n case 'catalogTitle':\n state.catalogTitle = value;\n break;\n case 'catalogUrl':\n if (typeof value === 'function') {\n state.catalogUrl = value();\n }\n else if (typeof value === 'string') {\n state.catalogUrl = value;\n }\n break;\n case 'crossOriginMedia':\n state.crossOriginMedia = ['anonymous', 'use-credentials'].includes(value) ? value : null;\n break;\n case 'cardViewSort':\n switch(value) {\n case 'asc':\n state.cardViewSort = 1;\n break;\n case 'desc':\n state.cardViewSort = -1;\n break;\n default:\n state.cardViewSort = 0;\n }\n break;\n default:\n state[key] = value;\n }\n }\n },\n languages(state, {uiLanguage, dataLanguage}) {\n state.dataLanguage = dataLanguage || null;\n state.uiLanguage = uiLanguage || null;\n },\n setQueryParameter(state, { type, key, value }) {\n type = `${type}QueryParameters`;\n if (typeof value === 'undefined') {\n Vue.delete(state[type], key);\n }\n else {\n Vue.set(state[type], key, value);\n }\n },\n setRequestHeader(state, { key, value }) {\n if (typeof value === 'undefined') {\n Vue.delete(state.requestHeaders, key);\n }\n else {\n Vue.set(state.requestHeaders, key, value);\n }\n },\n requestAuth(state, callback) {\n if (typeof callback === 'function') {\n state.doAuth.push(callback);\n }\n else {\n state.doAuth = [];\n }\n },\n setAuthData(state, value) {\n state.authData = value;\n },\n state(state, newState) {\n state.stateQueryParameters = newState;\n },\n updateState(state, {type, value}) {\n if (value === null || typeof value === 'undefined') {\n Vue.delete(state.stateQueryParameters, type);\n }\n else {\n Vue.set(state.stateQueryParameters, type, value);\n }\n },\n openCollapsible(state, { type, uid }) {\n const idx = state.stateQueryParameters[type].indexOf(uid);\n // need to prevent duplicates because of the way the collapse v-model works\n if (idx === -1) {\n state.stateQueryParameters[type].push(uid);\n }\n },\n closeCollapsible(state, { type, uid }) {\n const idx = state.stateQueryParameters[type].indexOf(uid);\n if (idx > -1) {\n Vue.delete(state.stateQueryParameters[type], idx);\n }\n },\n updateLoading(state, { url, show }) {\n let data = state.database[url];\n Vue.set(data, 'show', show || data.show);\n },\n loading(state, { url, loading }) {\n Vue.set(state.database, url, loading);\n if (loading.show) {\n state.url = url;\n }\n },\n loaded(state, { url, data }) {\n Vue.set(state.database, url, processSTAC(state, data));\n },\n clear(state, url) {\n Vue.delete(state.database, url);\n },\n resetCatalog(state, clearAll) {\n Object.assign(state, catalogDefaults());\n Object.assign(state, localDefaults());\n if (!state.supportedLocales.includes(state.locale)) {\n state.locale = config.locale;\n }\n if (clearAll) {\n state.catalogUrl = config.catalogUrl;\n state.catalogTitle = config.catalogTitle;\n state.database = {};\n }\n },\n resetPage(state) {\n Object.assign(state, localDefaults());\n },\n setPageMetadata(state, { title, description }) {\n state.title = title;\n if (typeof description !== 'undefined') {\n state.description = description;\n }\n },\n showPage(state, { url, title, description, stac }) {\n if (!stac) {\n stac = state.database[url] || null;\n }\n state.url = url || null;\n state.data = stac instanceof STAC ? stac : null;\n state.description = description;\n\n // Set title\n if (title) {\n state.title = title;\n }\n else {\n state.title = STAC.getDisplayTitle(state.data, state.catalogTitle);\n if (state.data) {\n let description = state.data.getMetadata('description');\n if (Utils.hasText(description)) {\n state.description = description;\n }\n }\n }\n\n if (state.data) {\n let source = state.data.isItem() ? state.data.properties : state.data;\n let languages = Array.isArray(source.languages) ? source.languages.slice() : [];\n if (Utils.isObject(source.language)) {\n languages.unshift(source.language);\n }\n state.dataLanguages = languages.filter(lang => Utils.isObject(lang) && typeof lang.code === 'string');\n }\n },\n errored(state, { url, error }) {\n if (!(error instanceof Error)) {\n error = new Error(error);\n }\n Vue.set(state.database, url, error);\n },\n queue(state, url) {\n state.queue.push(url);\n },\n unqueue(state, url) {\n let i = state.queue.indexOf(url);\n if (i !== -1) {\n state.queue.splice(i, 1);\n }\n },\n removeFromQueue(state, num) {\n state.queue.splice(0, num);\n },\n setConformanceClasses(state, classes) {\n if (Array.isArray(classes)) {\n state.conformsTo = classes;\n }\n },\n setApiItemsLink(state, link) {\n state.apiItemsLink = link;\n },\n toggleApiItemsLoading(state, collectionId = '') {\n if (state.apiItemsLoading[collectionId]) {\n Vue.delete(state.apiItemsLoading, collectionId);\n }\n else {\n Vue.set(state.apiItemsLoading, collectionId, true);\n }\n },\n setApiItems(state, { data, stac, show }) {\n if (!Utils.isObject(data) || !Array.isArray(data.features)) {\n return;\n }\n let apiItems = data.features.map(feature => processSTAC(state, feature));\n\n if (show) {\n state.apiItems = apiItems;\n }\n\n // Handle pagination links\n let pages = Utils.getPaginationLinks(data);\n\n if (show) {\n state.apiItemsPagination = pages;\n }\n\n if (stac instanceof STAC) {\n // ToDo: Prev link only required when state.apiItems is not cached(?) -> cache apiItems?\n stac.setApiData(apiItems, pages.next, pages.prev);\n }\n },\n addApiCollections(state, { data, stac, show }) {\n if (!Utils.isObject(data) || !Array.isArray(data.collections)) {\n return;\n }\n\n let collections = data.collections.map(collection => processSTAC(state, collection));\n let nextLink = Utils.getLinkWithRel(data.links, 'next');\n if (show) {\n state.nextCollectionsLink = nextLink;\n state.apiCollections = state.apiCollections.concat(collections);\n }\n if (stac instanceof STAC) {\n stac.setApiData(collections, nextLink);\n }\n },\n resetApiItems(state, link) {\n state.apiItems = [];\n state.apiItemsLink = link;\n state.apiItemsPagination = {};\n },\n parents(state, parents) {\n state.parents = parents;\n },\n showGlobalError(state, error) {\n if(error) {\n console.trace(error);\n }\n state.globalError = error;\n }\n },\n actions: {\n async config(cx, config) {\n const oldConfig = Object.assign({}, cx.state);\n cx.commit('config', config);\n // React on config changes\n for (let key in config) {\n let value = cx.state[key];\n if (value !== oldConfig[key]) {\n continue;\n }\n switch (key) {\n case 'authConfig':\n await cx.dispatch('auth/updateMethod', value);\n break;\n }\n }\n },\n async switchLocale(cx, {locale, userSelected}) {\n await cx.dispatch('config', {locale});\n\n if (cx.state.storeLocale && userSelected) {\n const storage = new BrowserStorage();\n storage.set('locale', locale);\n }\n\n // Locale for UI\n let uiLanguage = getBest(cx.state.supportedLocales, locale, cx.state.fallbackLocale);\n // Locale for data\n let dataLanguageCodes = cx.state.dataLanguages.map(l => l.code);\n let dataLanguageFallback = cx.state.dataLanguages.length > 0 ? cx.state.dataLanguages[0].code : uiLanguage;\n let dataLanguage = getBest(dataLanguageCodes, locale, dataLanguageFallback);\n\n // Load messages\n await loadMessages(uiLanguage);\n\n // Update stac-fields\n I18N.setLocales([uiLanguage, cx.state.fallbackLocale]);\n I18N.setTranslator(translateFields);\n\n // Execute other custom functions required to localize\n await executeCustomFunctions(uiLanguage);\n\n cx.commit('languages', {dataLanguage, uiLanguage});\n cx.commit('setQueryParameter', { type: 'state', key: 'language', value: locale });\n },\n async loadBackground(cx, count) {\n let urls = cx.state.queue.slice(0, count);\n if (urls.length > 0) {\n let promises = [];\n for (let url of urls) {\n promises.push(cx.dispatch('load', { url }));\n }\n cx.commit('removeFromQueue', count);\n return await Promise.all(promises);\n }\n },\n async loadParents(cx) {\n if (!(cx.state.data instanceof STAC)) {\n cx.commit('parents', []);\n return;\n }\n\n let parents = [];\n let stac = cx.state.data;\n while (stac) {\n let parentLink = stac.getLinkWithRel('parent') || stac.getLinkWithRel('root');\n if (!parentLink) {\n break;\n }\n let url = Utils.toAbsolute(parentLink.href, stac.getAbsoluteUrl());\n await cx.dispatch('load', { url });\n let parentStac = cx.getters.getStac(url, true);\n if (parentStac instanceof Error) {\n cx.commit('parents', parentStac);\n return;\n }\n if (parentStac === stac) {\n break;\n }\n parents.push(parentStac);\n stac = parentStac;\n }\n cx.commit('parents', parents);\n },\n async tryLogin(cx, {url, action}) {\n cx.commit('clear', url);\n cx.commit('errored', { url, error: new BrowserError(i18n.t('authentication.unauthorized')) });\n if (action) {\n cx.commit('auth/addAction', action);\n }\n await cx.dispatch('auth/requestLogin');\n },\n async load(cx, args) {\n let { url, show, force, noRetry } = args;\n\n const path = cx.getters.toBrowserPath(url);\n url = Utils.toAbsolute(url, cx.state.url);\n\n // Make sure we have all authentication details\n await cx.dispatch(\"auth/waitForAuth\");\n\n if (force) {\n cx.commit('clear', url);\n }\n\n let loading = new Loading(show);\n let data = cx.state.database[url];\n if (data instanceof Loading) {\n cx.commit('updateLoading', { url, show });\n return;\n }\n\n const hasData = data instanceof STAC && !data.isPotentiallyIncomplete();\n if (!hasData) {\n cx.commit('loading', { url, loading });\n try {\n const response = await stacRequest(cx, url);\n if (!Utils.isObject(response.data)) {\n throw new BrowserError(i18n.t('errors.invalidJsonObject'));\n }\n data = new STAC(response.data, url, path);\n cx.commit('loaded', { url, data });\n\n if (show) {\n // If we prefer another language abort redirect to the new language\n let localeLink = data.getLocaleLink(cx.state.dataLanguage);\n if (localeLink) {\n router.replace(cx.getters.toBrowserPath(localeLink.href));\n return;\n }\n }\n\n // Handle conformance classes\n let conformanceLink = data.getStacLinkWithRel('conformance');\n if (Array.isArray(data.conformsTo) && data.conformsTo.length > 0) {\n cx.commit('setConformanceClasses', data.conformsTo);\n }\n else if (conformanceLink) {\n await cx.dispatch('loadOgcApiConformance', conformanceLink);\n }\n } catch (error) {\n if (!noRetry && cx.state.authConfig && isAuthenticationError(error)) {\n await cx.dispatch('tryLogin', {\n url,\n action: () => cx.dispatch('load', Object.assign({noRetry: true, force: true, show: true}, args))\n });\n return;\n }\n console.error(error);\n cx.commit('errored', { url, error });\n return;\n }\n }\n\n // Load API Collections\n if (data.getApiCollectionsLink()) {\n let args = { stac: data, show: loading.show };\n try {\n await cx.dispatch('loadNextApiCollections', args);\n } catch (error) {\n cx.commit('showGlobalError', {\n message: i18n.t('errors.loadApiCollectionsFailed'),\n error\n });\n }\n }\n // Load API Items\n else if (data.getApiItemsLink()) {\n let args = { stac: data, show: loading.show };\n try {\n await cx.dispatch('loadApiItems', args);\n } catch (error) {\n cx.commit('showGlobalError', {\n message: i18n.t('errors.loadApiItemsFailed'),\n error\n });\n }\n }\n\n // Load the root catalog data if not available (e.g. after page refresh or external access)\n if (!cx.getters.root) {\n let catalogUrl = cx.state.catalogUrl;\n if (!catalogUrl) {\n const root = data.getLinkWithRel('root');\n if (root) {\n catalogUrl = Utils.toAbsolute(root.href, url);\n await cx.dispatch('config', { catalogUrl });\n }\n }\n if (catalogUrl) {\n await cx.dispatch(\"load\", { url: catalogUrl });\n }\n }\n\n // All tasks finished, show the page if requested\n if (loading.show) {\n cx.commit('showPage', { url });\n }\n },\n async loadApiItems(cx, args) {\n let { link, stac, show, filters, noRetry } = args;\n let collectionId = stac instanceof STAC ? stac.id : '';\n cx.commit('toggleApiItemsLoading', collectionId);\n\n try {\n let baseUrl = cx.state.url;\n if (stac instanceof STAC) {\n link = stac.getApiItemsLink();\n baseUrl = stac.getAbsoluteUrl();\n }\n\n link = Utils.addFiltersToLink(link, filters, cx.state.itemsPerPage);\n\n let response = await stacRequest(cx, link);\n if (!Utils.isObject(response.data) || !Array.isArray(response.data.features)) {\n throw new BrowserError(i18n.t('errors.invalidStacItems'));\n }\n else {\n response.data.features = response.data.features.map(item => {\n try {\n if (!Utils.isObject(item) || item.type !== 'Feature') {\n return null;\n }\n let selfLink = Utils.getLinkWithRel(item.links, 'self');\n let url;\n if (selfLink?.href) {\n url = Utils.toAbsolute(selfLink.href, baseUrl);\n }\n else if (typeof item.id !== 'undefined') {\n let apiCollectionsLink = cx.getters.root?.getApiCollectionsLink();\n if (baseUrl) {\n url = Utils.toAbsolute(`items/${item.id}`, baseUrl);\n }\n else if (apiCollectionsLink) {\n url = Utils.toAbsolute(`${collectionId}/items/${item.id}`, apiCollectionsLink.href);\n }\n else if (cx.state.catalogUrl) {\n url = Utils.toAbsolute(`collections/${collectionId}/items/${item.id}`, cx.state.catalogUrl);\n }\n else {\n return null;\n }\n }\n else {\n return null;\n }\n let data = cx.getters.getStac(url);\n if (data) {\n return data;\n }\n else {\n data = new STAC(item, url, cx.getters.toBrowserPath(url));\n data.markPotentiallyIncomplete();\n cx.commit('loaded', { data, url });\n return data;\n }\n } catch (error) {\n console.error(error);\n return null;\n }\n }).filter(item => item instanceof STAC);\n if (show) {\n cx.commit('setApiItemsLink', link);\n }\n cx.commit('setApiItems', { data: response.data, stac, show });\n cx.commit('toggleApiItemsLoading', collectionId);\n return response;\n }\n } catch (error) {\n cx.commit('toggleApiItemsLoading', collectionId);\n if (!noRetry && cx.state.authConfig && isAuthenticationError(error)) {\n await cx.dispatch('tryLogin', {\n url: link.href,\n action: () => cx.dispatch('loadApiItems', Object.assign({noRetry: true, force: true}, args))\n });\n return;\n }\n throw error;\n }\n },\n async loadNextApiCollections(cx, args) {\n let { stac, show, noRetry } = args;\n let link;\n if (stac) {\n // First page\n if (cx.state.apiCollections.length > 0) {\n // If we have already loaded collections, skip loading the first page\n return;\n }\n link = stac.getLinkWithRel('data');\n }\n else {\n // Second page and after\n stac = cx.state.data;\n link = cx.state.nextCollectionsLink;\n }\n if (!link) {\n return;\n }\n try {\n let response = await stacRequest(cx, link);\n if (!Utils.isObject(response.data) || !Array.isArray(response.data.collections)) {\n throw new BrowserError(i18n.t('errors.invalidStacCollections'));\n }\n else {\n response.data.collections = response.data.collections.map(collection => {\n let selfLink = Utils.getLinkWithRel(collection.links, 'self');\n let url;\n if (selfLink?.href) {\n url = Utils.toAbsolute(selfLink.href, cx.state.url || stac.getAbsoluteUrl());\n }\n else {\n url = Utils.toAbsolute(`collections/${collection.id}`, cx.state.catalogUrl || stac.getAbsoluteUrl());\n }\n let data = cx.getters.getStac(url);\n if (data) {\n return data;\n }\n else {\n data = new STAC(collection, url, cx.getters.toBrowserPath(url));\n data.markPotentiallyIncomplete();\n cx.commit('loaded', { data, url });\n return data;\n }\n });\n cx.commit('addApiCollections', { data: response.data, stac, show });\n }\n } catch (error) {\n if (!noRetry && cx.state.authConfig && isAuthenticationError(error)) {\n await cx.dispatch('tryLogin', {\n url: link.href,\n action: () => cx.dispatch('loadNextApiCollections', Object.assign({noRetry: true, force: true}, args))\n });\n return;\n }\n throw error;\n }\n },\n async loadOgcApiConformance(cx, link) {\n let response = await stacRequest(cx, link);\n if (Utils.isObject(response.data) && Array.isArray(response.data.conformsTo)) {\n cx.commit('setConformanceClasses', response.data.conformsTo);\n }\n },\n async loadGeoJson(cx, link) {\n try {\n let response = await stacRequest(cx, link);\n return response.data; // Use data with $refs included as fallback anyway\n } catch (error) {\n return null;\n }\n },\n async retryAfterAuth(cx) {\n let errorFn = error => cx.commit('showGlobalError', {\n error,\n message: i18n.t('errors.authFailed')\n });\n\n for (let callback of cx.state.doAuth) {\n try {\n let p = callback();\n if (p instanceof Promise) {\n p.catch(errorFn);\n }\n } catch (error) {\n errorFn(error);\n }\n }\n }\n },\n });\n}\n\nexport default getStore;\n","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('b-row',[_c('b-col',{attrs:{\"md\":\"12\"}},[_c('Source',{staticClass:\"float-right\",attrs:{\"title\":_vm.title,\"stacUrl\":_vm.url,\"stac\":_vm.data}}),_c('h1',[(_vm.icon)?[_c('img',{staticClass:\"icon mr-2\",attrs:{\"src\":_vm.icon.href,\"alt\":_vm.icon.title,\"title\":_vm.icon.title}})]:_vm._e(),_c('span',{staticClass:\"title\"},[_vm._v(_vm._s(_vm.title))])],2),(!_vm.isStacChooser())?_c('p',{staticClass:\"lead\"},[(_vm.containerLink)?_c('i18n',{staticClass:\"in mr-3\",attrs:{\"tag\":\"span\",\"path\":\"in\"},scopedSlots:_vm._u([{key:\"catalog\",fn:function(){return [_c('StacLink',{attrs:{\"data\":_vm.containerLink}})]},proxy:true}],null,false,1458487365)}):_vm._e(),_c('b-button-group',[(_vm.back)?_c('b-button',{attrs:{\"to\":_vm.selfBrowserLink,\"title\":_vm.$t('goBack.description', {type: _vm.type}),\"variant\":\"outline-primary\",\"size\":\"sm\"}},[_c('b-icon-arrow-left'),_vm._v(\" \"),_c('span',{staticClass:\"button-label prio\"},[_vm._v(_vm._s(_vm.$t('goBack.label')))])],1):_vm._e(),(_vm.parentLink)?_c('b-button',{attrs:{\"to\":_vm.toBrowserPath(_vm.parentLink.href),\"title\":_vm.parentLinkTitle,\"variant\":\"outline-primary\",\"size\":\"sm\"}},[_c('b-icon-arrow-90deg-up'),_vm._v(\" \"),_c('span',{staticClass:\"button-label prio\"},[_vm._v(_vm._s(_vm.$t('goToParent.label')))])],1):_vm._e(),(_vm.collectionLink)?_c('b-button',{attrs:{\"to\":_vm.toBrowserPath(_vm.collectionLink.href),\"title\":_vm.collectionLinkTitle,\"variant\":\"outline-primary\",\"size\":\"sm\"}},[_c('b-icon-folder-symlink'),_vm._v(\" \"),_c('span',{staticClass:\"button-label prio\"},[_vm._v(_vm._s(_vm.$t('goToCollection.label')))])],1):_vm._e(),_c('b-button',{directives:[{name:\"b-toggle\",rawName:\"v-b-toggle.sidebar\",modifiers:{\"sidebar\":true}}],attrs:{\"variant\":\"outline-primary\",\"size\":\"sm\",\"title\":_vm.$t('browse')},on:{\"click\":function($event){return _vm.$emit('enableSidebar')}}},[_c('b-icon-book'),_vm._v(\" \"),_c('span',{staticClass:\"button-label prio\"},[_vm._v(_vm._s(_vm.$t('browse')))])],1),(_vm.canSearch)?_c('b-button',{attrs:{\"variant\":\"outline-primary\",\"size\":\"sm\",\"to\":_vm.searchBrowserLink,\"title\":_vm.$t('search.title'),\"pressed\":_vm.isSearchPage()}},[_c('b-icon-search'),_vm._v(\" \"),_c('span',{staticClass:\"button-label prio\"},[_vm._v(_vm._s(_vm.$t('search.title')))])],1):_vm._e(),(_vm.canAuthenticate)?_c('b-button',{attrs:{\"variant\":\"outline-primary\",\"size\":\"sm\",\"title\":_vm.authTitle},on:{\"click\":_vm.logInOut}},[_c(_vm.authIcon,{tag:\"component\"}),_vm._v(\" \"),_c('span',{staticClass:\"button-label\"},[_vm._v(_vm._s(_vm.authLabel))])],1):_vm._e()],1)],1):_vm._e()],1)],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',{staticClass:\"share mt-1\"},[_c('b-button-group',[(_vm.showRoot)?_c('b-button',{attrs:{\"size\":\"sm\",\"variant\":\"outline-primary\",\"id\":\"popover-root-btn\"}},[_c('b-icon-box'),_vm._v(\" \"),_c('span',{staticClass:\"button-label\"},[_vm._v(_vm._s(_vm.rootTitle))])],1):_vm._e(),(_vm.stacUrl)?_c('b-button',{attrs:{\"size\":\"sm\",\"variant\":\"outline-primary\",\"id\":\"popover-link-btn\",\"title\":_vm.$t('source.detailsAboutSource')}},[_c('b-icon-link'),_vm._v(\" \"),_c('span',{staticClass:\"button-label\"},[_vm._v(_vm._s(_vm.$t('source.label')))])],1):_vm._e(),_c('b-button',{attrs:{\"size\":\"sm\",\"variant\":\"outline-primary\",\"id\":\"popover-share-btn\",\"title\":_vm.$t('source.share.withOthers')}},[_c('b-icon-share'),_vm._v(\" \"),_c('span',{staticClass:\"button-label\"},[_vm._v(_vm._s(_vm.$t('source.share.label')))])],1),_c('b-dropdown',{attrs:{\"size\":\"sm\",\"variant\":\"outline-primary\",\"right\":\"\",\"title\":_vm.$t('source.language.switch')},scopedSlots:_vm._u([{key:\"button-content\",fn:function(){return [_c('b-icon-flag'),_vm._v(\" \"),_c('span',{staticClass:\"button-label\"},[_vm._v(_vm._s(_vm.$t('source.language.label', {currentLanguage: _vm.currentLanguage})))])]},proxy:true}])},_vm._l((_vm.languages),function(l){return _c('b-dropdown-item',{key:l.code,staticClass:\"lang-item\",on:{\"click\":function($event){return _vm.switchLocale({locale: l.code, userSelected: true})}}},[(_vm.locale === l.code)?_c('b-icon-check'):_c('b-icon-blank'),_c('span',{staticClass:\"title\"},[_c('span',{attrs:{\"lang\":l.code}},[_vm._v(_vm._s(l.native))]),(l.global && l.global !== l.native)?[_vm._v(\" / \"),_c('span',{attrs:{\"lang\":\"en\"}},[_vm._v(_vm._s(l.global))])]:_vm._e()],2),(_vm.supportsLanguageExt && (!l.ui || !l.data))?_c('b-icon-exclamation-triangle',{staticClass:\"ml-2\",attrs:{\"title\":l.ui ? _vm.$t('source.language.onlyUI') : _vm.$t('source.language.onlyData')}}):_vm._e()],1)}),1)],1),(_vm.showRoot)?_c('b-popover',{attrs:{\"id\":\"popover-root\",\"target\":\"popover-root-btn\",\"triggers\":\"focus\",\"placement\":\"bottom\",\"container\":\"stac-browser\",\"title\":_vm.rootTitle}},[_c('RootStats')],1):_vm._e(),(_vm.stacUrl)?_c('b-popover',{attrs:{\"id\":\"popover-link\",\"target\":\"popover-link-btn\",\"triggers\":\"focus\",\"placement\":\"bottom\",\"container\":\"stac-browser\",\"title\":_vm.$t('source.title')}},[(_vm.stac)?[(_vm.stacId)?_c('b-row',{staticClass:\"stac-id\"},[_c('b-col',{attrs:{\"cols\":\"4\"}},[_vm._v(_vm._s(_vm.$t('source.id')))]),_c('b-col',[_c('code',[_vm._v(_vm._s(_vm.stacId))]),_c('CopyButton',{staticClass:\"ml-2\",attrs:{\"copyText\":_vm.stacId,\"button-props\":{size: 'sm'},\"variant\":\"primary\"}})],1)],1):_vm._e(),(_vm.stacVersion)?_c('b-row',{staticClass:\"stac-version\"},[_c('b-col',{attrs:{\"cols\":\"4\"}},[_vm._v(_vm._s(_vm.$t('source.stacVersion')))]),_c('b-col',[_vm._v(_vm._s(_vm.stacVersion))])],1):_vm._e(),_c('b-row',{staticClass:\"stac-valid\"},[_c('b-col',{attrs:{\"cols\":\"4\"}},[_vm._v(_vm._s(_vm.$t('source.valid')))]),_c('b-col',[_c('Validation',{attrs:{\"data\":_vm.stac}})],1)],1),_c('hr')]:_vm._e(),_c('Url',{attrs:{\"id\":\"stacUrl\",\"url\":_vm.stacUrl,\"label\":_vm.$t('source.locatedAt')}})],2):_vm._e(),_c('b-popover',{attrs:{\"id\":\"popover-share\",\"target\":\"popover-share-btn\",\"triggers\":\"focus\",\"placement\":\"bottom\",\"container\":\"stac-browser\",\"title\":_vm.$t('source.share.title')}},[_c('Url',{attrs:{\"id\":\"browserUrl\",\"url\":_vm.browserUrl(),\"label\":_vm.$t('source.share.sharePageWithOthers'),\"open\":false}}),(_vm.enableSocialSharing)?[_c('hr'),_c('SocialSharing',{attrs:{\"text\":_vm.sharingMessage,\"title\":_vm.title,\"url\":_vm.browserUrl()}})]:_vm._e()],2)],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('b-form-group',{attrs:{\"label\":_vm.label,\"label-for\":_vm.id}},[_c('b-input-group',{attrs:{\"size\":\"sm\"}},[_c('b-form-input',{ref:\"input\",attrs:{\"id\":_vm.id,\"value\":_vm.url,\"readonly\":\"\"}}),_c('b-input-group-append',[_c('CopyButton',{attrs:{\"copyText\":_vm.url,\"variant\":\"primary\"}}),(_vm.open)?_c('b-button',{attrs:{\"href\":_vm.url,\"target\":\"_blank\",\"variant\":\"primary\",\"title\":_vm.$t('open')}},[_c('b-icon-arrow-up-right-square')],1):_vm._e()],1)],1)],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n","import mod from \"-!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./Url.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./Url.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./Url.vue?vue&type=template&id=74684ede&scoped=true\"\nimport script from \"./Url.vue?vue&type=script&lang=js\"\nexport * from \"./Url.vue?vue&type=script&lang=js\"\nimport style0 from \"./Url.vue?vue&type=style&index=0&id=74684ede&prod&lang=scss&scoped=true\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"74684ede\",\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('section',_vm._l((_vm.urls),function(href,service){return _c('b-button',{key:service,staticClass:\"service mr-1\",class:service,attrs:{\"href\":href,\"target\":\"_blank\"}},[_c(service,{tag:\"component\"}),_vm._v(\" \"+_vm._s(_vm.$t(`source.share.${service}`))+\" \")],1)}),1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n","import mod from \"-!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./SocialSharing.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./SocialSharing.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./SocialSharing.vue?vue&type=template&id=daac02b4&scoped=true\"\nimport script from \"./SocialSharing.vue?vue&type=script&lang=js\"\nexport * from \"./SocialSharing.vue?vue&type=script&lang=js\"\nimport style0 from \"./SocialSharing.vue?vue&type=style&index=0&id=daac02b4&prod&lang=scss&scoped=true\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"daac02b4\",\n null\n \n)\n\nexport default component.exports","\n\n\n\n\n\n","import mod from \"-!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./Source.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./Source.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./Source.vue?vue&type=template&id=0aa087bf&scoped=true\"\nimport script from \"./Source.vue?vue&type=script&lang=js\"\nexport * from \"./Source.vue?vue&type=script&lang=js\"\nimport style0 from \"./Source.vue?vue&type=style&index=0&id=0aa087bf&prod&lang=scss\"\nimport style1 from \"./Source.vue?vue&type=style&index=1&id=0aa087bf&prod&lang=scss&scoped=true\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"0aa087bf\",\n null\n \n)\n\nexport default component.exports","\n\n\n\n\n","import mod from \"-!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./StacHeader.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./StacHeader.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./StacHeader.vue?vue&type=template&id=5da16391&scoped=true\"\nimport script from \"./StacHeader.vue?vue&type=script&lang=js\"\nexport * from \"./StacHeader.vue?vue&type=script&lang=js\"\nimport style0 from \"./StacHeader.vue?vue&type=style&index=0&id=5da16391&prod&lang=scss&scoped=true\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"5da16391\",\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c(_vm.authComponent,{tag:\"component\",on:{\"submit\":_vm.submit,\"reset\":_vm.reset}})\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n","import mod from \"-!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./Authentication.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./Authentication.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./Authentication.vue?vue&type=template&id=5dbcd191\"\nimport script from \"./Authentication.vue?vue&type=script&lang=js\"\nexport * from \"./Authentication.vue?vue&type=script&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","\n\n\n\n\n","import mod from \"-!../node_modules/thread-loader/dist/cjs.js!../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./StacBrowser.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../node_modules/thread-loader/dist/cjs.js!../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./StacBrowser.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./StacBrowser.vue?vue&type=template&id=21089a56\"\nimport script from \"./StacBrowser.vue?vue&type=script&lang=js\"\nexport * from \"./StacBrowser.vue?vue&type=script&lang=js\"\nimport style0 from \"./StacBrowser.vue?vue&type=style&index=0&id=21089a56&prod&lang=scss\"\n\n\n/* normalize component */\nimport normalizer from \"!../node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","import Vue from \"vue\";\nimport StacBrowser from \"./StacBrowser.vue\";\nimport i18n, { loadDefaultMessages } from './i18n';\n\nexport default function init() {\n return loadDefaultMessages().then(() => {\n return new Vue({\n i18n,\n render: h => h(StacBrowser)\n }).$mount(\"#stac-browser\");\n });\n}\n","import Vue from \"vue\";\nimport init from \"./init\";\n\nVue.config.productionTip = false;\n\ninit();\n","import Utils, { geojsonMediaType } from \"../utils\";\nimport Migrate from '@radiantearth/stac-migrate';\nimport { getBest } from '../locale-id';\n\nlet stacObjCounter = 0;\n\n// STAC Entity\nclass STAC {\n\n constructor(data, url, path, migrate = true) {\n this._id = stacObjCounter++;\n this._url = url;\n this._path = path;\n this._apiChildrenListeners = {};\n this._incomplete = false;\n this._apiChildren = {\n list: [],\n prev: false,\n next: false\n };\n\n if (migrate) {\n // Uncomment this line if the old checksum: fields should be converted\n // This is usually not needed so it's not enabled by default to shrink the bundle size\n // Migrate.enableMultihash(require('multihashes'));\n if (data.type === 'FeatureCollection') {\n data.features = data.features.map(item => Migrate.item(item, false));\n }\n else {\n data = Migrate.stac(data, false);\n }\n }\n for (let key in data) {\n if (typeof this[key] === 'undefined') {\n this[key] = data[key];\n }\n }\n if (!Utils.hasText(this.type)) {\n throw new Error('Not a valid STAC data source (no `type` present)');\n }\n }\n\n isPotentiallyIncomplete() {\n return this._incomplete;\n }\n\n markPotentiallyIncomplete() {\n this._incomplete = true;\n }\n\n isItem() {\n return this.type === 'Feature';\n }\n\n isCatalog() {\n return this.type === 'Catalog';\n }\n\n isCatalogLike() {\n return this.isCatalog() || this.isCollection();\n }\n\n isCollection() {\n return this.type === 'Collection';\n }\n\n isItemCollection() {\n return this.type === 'FeatureCollection';\n }\n\n hasApiData() {\n return this._apiChildren.list.length > 0;\n }\n\n setApiDataListener(id, listener = null) {\n if (typeof listener === 'function') {\n this._apiChildrenListeners[id] = listener;\n }\n else {\n delete this._apiChildrenListeners[id];\n }\n }\n\n setApiData(list, next = null, prev = null) {\n if (prev) {\n this._apiChildren.prev = prev;\n }\n if (next) {\n this._apiChildren.next = next;\n }\n this._apiChildren.list = list;\n\n for (let id in this._apiChildrenListeners) {\n try {\n this._apiChildrenListeners[id](this._apiChildren);\n } catch (error) {\n console.error(error);\n }\n }\n }\n\n getFileFormats() {\n let assets = [];\n if ((this.isItem() || this.isCollection()) && Utils.isObject(this.assets)) {\n assets = assets.concat(Object.values(this.assets));\n }\n if (this.isCollection() && Utils.isObject(this.item_assets)) {\n assets = assets.concat(Object.values(this.item_assets));\n }\n return assets\n .filter(asset => Array.isArray(asset.roles) && asset.roles.includes('data') && typeof asset.type === 'string') // Look for data files\n .map(asset => asset.type) // Array shall only contain media types\n .filter((v, i, a) => a.indexOf(v) === i); // Unique values\n }\n\n getChildren(priority = null) {\n if (!this.isCatalogLike()) {\n return [];\n }\n\n let showCollections = !priority || priority === 'collections';\n let showChilds = !priority || priority === 'childs';\n\n let children = [];\n if (showCollections && this._apiChildren.prev) {\n children.push(this._apiChildren.prev);\n }\n if (showCollections && this._apiChildren.list.length > 0) {\n children = this._apiChildren.list.slice(0);\n }\n if (showChilds) {\n children = STAC.addMissingChildren(children, this).concat(this.getLinksWithRels(['item']));\n }\n if (showCollections && this._apiChildren.next) {\n children.push(this._apiChildren.next);\n }\n return children;\n }\n\n static addMissingChildren(catalogs, stac) {\n let links = stac.getStacLinksWithRel('child').filter(link => {\n // Don't add links that are already in collections: https://github.com/radiantearth/stac-browser/issues/103\n // ToDo: The runtime of this can probably be improved\n let absoluteUrl = Utils.toAbsolute(link.href, stac.getAbsoluteUrl());\n return !catalogs.find(collection => collection.getAbsoluteUrl() === absoluteUrl);\n });\n // place the children first to avoid conflicts with the paginated collections\n // where the children are always at the end and can never be reached due to infinite scrolling\n return links.concat(catalogs);\n }\n\n getSearchLink() {\n // The search link MUST be 'application/geo+json' as otherwise it's likely not STAC\n // See https://github.com/opengeospatial/ogcapi-features/issues/832\n let links = Utils.getLinksWithRels(this.links, ['search'])\n .filter(link => Utils.isMediaType(link.type, geojsonMediaType))\n .map(link => Object.assign({}, link, {href: Utils.toAbsolute(link.href, this._url)}));\n // Prefer POST if present\n let post = links.find(link => Utils.hasText(link.method) && link.method.toUpperCase() === 'POST');\n return post || links[0] || null;\n }\n\n getApiCollectionsLink() {\n return this.getStacLinkWithRel('data');\n }\n\n getApiItemsLink() {\n return this.getStacLinkWithRel('items');\n }\n\n getMetadata(field) {\n if (this.isItem()) {\n return this.properties[field];\n }\n else if (this.isCatalogLike()) {\n return this[field];\n }\n return null;\n }\n\n getBrowserPath() {\n return this._path;\n }\n\n getAbsoluteUrl() {\n return this._url;\n }\n\n getLocaleLink(locale, fallbackLocale = null) {\n let links = this.getStacLinksWithRel('alternate')\n .filter(link => Utils.hasText(link.hreflang));\n \n let available;\n if (Array.isArray(this.languages)) {\n available = this.languages.map(l => l.code);\n }\n else {\n available = links.map(link => link.hreflang);\n }\n \n let best = getBest(available, locale, fallbackLocale);\n return links.find(link => link.hreflang === best) || null;\n }\n\n getStacLinksWithRel(rel, allowEmpty = true) {\n return Utils.getLinksWithRels(this.links, [rel])\n .filter(link => Utils.isStacMediaType(link.type, allowEmpty));\n }\n\n getStacLinkWithRel(rel, allowEmpty = true) {\n const links = this.getStacLinksWithRel(rel, allowEmpty);\n if (links.length > 0) {\n return links[0];\n }\n else {\n return null;\n }\n }\n\n getLinkWithRel(rel) {\n return Utils.getLinkWithRel(this.links, rel);\n }\n\n getLinksWithRels(rels) {\n return Utils.getLinksWithRels(this.links, rels);\n }\n\n getLinksWithOtherRels(rels) {\n return Utils.getLinksWithOtherRels(this.links, rels);\n }\n\n getAssetsWithRoles(roles) {\n let matches = [];\n if (Utils.isObject(this.assets)) {\n for (let key in this.assets) {\n let asset = this.assets[key];\n if (Utils.isObject(asset) && typeof asset.href === 'string' && Array.isArray(asset.roles) && asset.roles.find(role => roles.includes(role))) {\n matches.push(asset);\n }\n }\n }\n return matches;\n }\n\n static getDisplayTitle(sources, fallbackTitle = null) {\n if (!Array.isArray(sources)) {\n sources = [sources];\n }\n let stac = sources.find(o => o instanceof STAC);\n let link = sources.find(o => Utils.isObject(o) && !(o instanceof STAC));\n // Get title from STAC item/catalog/collection\n if (stac && Utils.hasText(stac.getTitle())) {\n return stac.getTitle();\n }\n // Get title from link\n else if (link && Utils.hasText(link.title)) {\n return link.title;\n }\n // Use id from STAC item/catalog/collection instead of titles\n else if (stac && Utils.hasText(stac.id)) {\n return stac.id;\n }\n // Use fallback title\n else if (Utils.hasText(fallbackTitle)) {\n return fallbackTitle;\n }\n // Use file or directory name from STAC as title\n else if (stac) {\n return Utils.titleForHref(stac.getAbsoluteUrl(), true);\n }\n // Use file or directory name from link as title\n else if (link && Utils.hasText(link.href)) {\n return Utils.titleForHref(link.href, true);\n }\n // Nothing available, return \"untitled\"\n else {\n return \"Untitled\";\n }\n }\n\n getTitle() {\n return this.getMetadata(\"title\");\n }\n\n _linkToAbsolute(link) {\n return Object.assign({}, link, { href: Utils.toAbsolute(link.href, this.getAbsoluteUrl()) });\n }\n\n getIcons() {\n return this.getLinksWithRels(['icon'])\n .filter(img => Utils.canBrowserDisplayImage(img))\n .map(img => this._linkToAbsolute(img));\n }\n\n /**\n * Get the thumbnails from the assets and links in a STAC entity.\n * \n * @param {boolean} browserOnly - Return only images that can be shown in a browser natively (PNG/JPG/GIF/WEBP).\n * @param {?string} prefer - If not `null` (default), prefers a role over the other. Either `thumbnail` or `overview`.\n * @returns \n */\n getThumbnails(browserOnly = false, prefer = null) { // prefer can be either \n let thumbnails = this.getAssetsWithRoles(['thumbnail', 'overview']);\n // Get from links only if no assets are available as they should usually be the same as in assets\n if (thumbnails.length === 0) {\n thumbnails = this.getLinksWithRels(['preview']);\n }\n // Some old catalogs use just a asset key\n if (thumbnails.length === 0 && Utils.isObject(this.assets) && Utils.isObject(this.assets.thumbnail)) {\n thumbnails = [this.assets.thumbnail];\n }\n if (browserOnly) {\n // Remove all images that can't be displayed in a browser\n thumbnails = thumbnails.filter(img => Utils.canBrowserDisplayImage(img));\n }\n if (prefer && thumbnails.length > 1) {\n // Prefer one role over the other.\n // The two step approach with two filters ensures the same sort bevahiour across all browsers:\n // see https://github.com/radiantearth/stac-browser/issues/370\n let filter = img => img.roles.includes(prefer);\n thumbnails = thumbnails\n .filter(filter)\n .concat(thumbnails.filter(img => !filter(img)));\n }\n return thumbnails.map(img => this._linkToAbsolute(img));\n }\n\n equals(other) {\n if (!Utils.isObject(other)) {\n return false;\n }\n if (this === other) {\n return true;\n }\n if (this.id === other.id && this.type == other.type) {\n return true;\n }\n return false;\n }\n\n}\n\nexport default STAC;\n","// STAC relation types\n\n// STAC hierarchical\nexport const stacHierarchy = [\n 'child',\n 'collection',\n 'item',\n 'parent',\n 'root',\n 'self',\n];\n\n// STAC API Pagination\nexport const stacPagination = [\n 'first',\n 'last',\n 'next',\n 'prev',\n 'previous',\n];\n\n// Queryables\nexport const ogcQueryables = [\n 'queryables', // Old way in STAC (deprecated)\n 'http://www.opengis.net/def/rel/ogc/1.0/queryables', // STAC and OGC APIs\n 'ogc-rel:queryables' // Alternative in OGC APIs\n];\n\n// Rels that STAC Browser can navigate to and display natively (i.e. Collections, Catalogs and Items)\nexport const stacBrowserNavigatesTo = [\n 'canonical', // Links to other catalogs or items v\n 'related',\n 'derived_from',\n 'latest-version', // version extension v\n 'predecessor-version',\n 'successor-version',\n 'source', // label extension,\n 'alternate' // language extension\n].concat(stacHierarchy).concat(stacPagination);\n\n// Rels that are handled in a special way and should not be shown in the link list\nexport const stacBrowserSpecialHandling = [\n 'conformance', // API related v\n 'data',\n 'items',\n 'search',\n 'icon', // Other v\n 'license',\n].concat(stacHierarchy).concat(stacPagination).concat(ogcQueryables);\n\n// OGC APIs\nexport const ogcRelPrefix = 'http://www.opengis.net/def/rel/ogc/1.0/';\n","import axios from \"axios\";\nimport URI from \"urijs\";\nimport Utils from \"../utils\";\n\nexport class Loading {\n\n constructor(show = false) {\n this.show = Boolean(show);\n }\n\n}\n\nexport function stacRequestOptions(cx, link) {\n // Convert a URL string to a Link Object\n if (typeof link === 'string') {\n link = {\n href: link\n };\n }\n // Return if the link is not an object or doesn't contain an href\n if (!Utils.isObject(link) || typeof link.href !== 'string') {\n return {};\n }\n\n // Generate URL including query strings\n const url = cx.getters.getRequestUrl(link.href);\n\n // Combine headers\n let headers = {\n 'Accept-Language': cx.getters.acceptedLanguages\n };\n if (Utils.hasText(link.type)) {\n headers.Accept = link.type;\n }\n if (!cx.getters.isExternalUrl(url)) {\n Object.assign(headers, cx.state.requestHeaders);\n }\n if (Utils.isObject(link.headers)) {\n Object.assign(headers, link.headers);\n }\n\n // Combine all options for axios request\n return {\n method: typeof link.method === 'string' ? link.method.toLowerCase() : 'get',\n url,\n headers,\n data: link.body\n // ToDo: Support for merge property from STAC API\n };\n}\n\nexport async function stacRequest(cx, link, axiosOptions = {}) {\n // Get options\n const options = stacRequestOptions(cx, link);\n // Execute the request\n return await axios(Object.assign(options, axiosOptions));\n}\n\n\nexport function unproxyUrl(absoluteUrl, proxy) {\n if (absoluteUrl instanceof URI) {\n absoluteUrl = absoluteUrl.toString();\n }\n if (typeof absoluteUrl === 'string' && Array.isArray(proxy)) {\n return absoluteUrl.replace(proxy[1], proxy[0]);\n }\n return absoluteUrl;\n}\n\nexport function proxyUrl(absoluteUrl, proxy) {\n if (absoluteUrl instanceof URI) {\n absoluteUrl = absoluteUrl.toString();\n }\n if (typeof absoluteUrl === 'string' && Array.isArray(proxy)) {\n return absoluteUrl.replace(proxy[0], proxy[1]);\n }\n return absoluteUrl;\n}\n\nexport function processSTAC(state, stac) {\n if (typeof state.preprocessSTAC === 'function') {\n stac = state.preprocessSTAC(stac, state);\n }\n return Object.freeze(stac);\n}\n\nexport function isAuthenticationError(error) {\n return [401, 403].includes(error?.response?.status);\n}\n\nexport function addQueryIfNotExists(uri, query) {\n if (Utils.size(query) == 0) {\n return uri;\n }\n for (let key in query) {\n if (!uri.hasQuery(key)) {\n uri.addQuery(key, query[key]);\n }\n }\n return uri;\n}\n","import URI from 'urijs';\nimport removeMd from 'remove-markdown';\nimport { stacPagination } from \"./rels\";\n\nexport const commonFileNames = ['catalog', 'collection', 'item'];\n\nexport const geojsonMediaType = \"application/geo+json\";\n\nexport const schemaMediaType = \"application/schema+json\";\n\nexport const stacMediaTypes = [\n 'application/json',\n geojsonMediaType,\n 'text/json'\n];\n\nexport const browserImageTypes = [\n 'image/gif',\n 'image/jpg',\n 'image/jpeg',\n 'image/apng',\n 'image/png',\n 'image/webp'\n];\n\nexport const cogMediaTypes = [\n \"image/tiff; application=geotiff; profile=cloud-optimized\",\n \"image/vnd.stac.geotiff; cloud-optimized=true\"\n];\n\nexport const geotiffMediaTypes = [\n \"application/geotiff\",\n \"image/tiff; application=geotiff\",\n \"image/vnd.stac.geotiff\",\n].concat(cogMediaTypes);\n\nexport const browserProtocols = [\n 'http',\n 'https'\n];\n\nexport const imageMediaTypes = browserImageTypes.concat(geotiffMediaTypes);\nexport const mapMediaTypes = imageMediaTypes.concat([geojsonMediaType]);\n\nexport class BrowserError extends Error {\n constructor(message) {\n super(message);\n }\n}\n\n/**\n * General utilities\n * \n * @class\n */\nexport default class Utils {\n\n /**\n * Checks whether a variable is a real object or not.\n * \n * This is a more strict version of `typeof x === 'object'` as this example would also succeeds for arrays and `null`.\n * This function only returns `true` for real objects and not for arrays, `null` or any other data types.\n * \n * @param {*} obj - A variable to check.\n * @returns {boolean} - `true` is the given variable is an object, `false` otherwise.\n */\n static isObject(obj) {\n return (typeof obj === 'object' && obj === Object(obj) && !Array.isArray(obj));\n }\n\n /**\n * Computes the size of an array (number of array elements) or object (number of key-value-pairs).\n * \n * Returns 0 for all other data types.\n * \n * @param {*} obj \n * @returns {integer}\n */\n static size(obj) {\n if (typeof obj === 'object' && obj !== null) {\n if (Array.isArray(obj)) {\n return obj.length;\n }\n else {\n return Object.keys(obj).length;\n }\n }\n return 0;\n }\n\n static isStacMediaType(type, allowEmpty = false) {\n return Utils.isMediaType(type, stacMediaTypes, allowEmpty);\n }\n\n static isMediaType(type, types, allowEmpty = false) {\n if (!Array.isArray(types)) {\n types = [types];\n }\n if (allowEmpty && !type) {\n return true;\n }\n else if (typeof type !== 'string') {\n return false;\n }\n else {\n return types.includes(type.toLowerCase());\n }\n }\n\n /**\n * Checks whether a variable is a string and contains at least one character.\n * \n * @param {*} string - A variable to check.\n * @returns {boolean} - `true` is the given variable is an string with length > 0, `false` otherwise.\n */\n static hasText(string) {\n return (typeof string === 'string' && string.length > 0);\n }\n\n static shortenTitle(fullStr, strLen, separator = '…') {\n if (fullStr.length <= strLen) {\n return fullStr;\n }\n\n let sepLen = separator.length;\n let charsToShow = strLen - sepLen;\n let frontChars = Math.ceil(charsToShow/2);\n let backChars = Math.floor(charsToShow/2);\n return fullStr.substr(0, frontChars) + \n separator + \n fullStr.substr(fullStr.length - backChars);\n }\n\n static isGdalVfsUri(url) {\n return typeof url === 'string' && url.startsWith('/vsi') && !url.startsWith('/vsicurl/');\n }\n\n static toAbsolute(href, baseUrl, stringify = true) {\n return Utils.normalizeUri(href, baseUrl, false, stringify);\n }\n\n static normalizeUri(href, baseUrl = null, noParams = false, stringify = true) {\n // Convert vsicurl URLs to normal URLs\n if (typeof href === 'string' && href.startsWith('/vsicurl/')) {\n href = href.replace(/^\\/vsicurl\\//, '');\n }\n // Parse URL and make absolute, if required\n let uri = URI(href);\n // Don't convert GDAL VFS URIs: https://github.com/radiantearth/stac-browser/issues/116\n if (baseUrl && uri.is(\"relative\") && !Utils.isGdalVfsUri(href)) {\n uri = uri.absoluteTo(baseUrl);\n }\n uri.normalize();\n if (noParams) {\n uri.query(\"\");\n uri.fragment(\"\");\n }\n return stringify ? uri.toString() : uri;\n }\n\n static getLinkWithRel(links, rel) {\n return Array.isArray(links) ? links.find(link => Utils.isObject(link) && Utils.hasText(link.href) && link.rel === rel) : null;\n }\n\n static getLinksWithRels(links, rels) {\n return Array.isArray(links) ? links.filter(link => Utils.isObject(link) && Utils.hasText(link.href) && rels.includes(link.rel)) : [];\n }\n\n static getLinksWithOtherRels(links, rels) {\n return Array.isArray(links) ? links.filter(link => Utils.isObject(link) && Utils.hasText(link.href) && !rels.includes(link.rel)) : [];\n }\n\n static removeTrailingSlash(str) {\n return str.replace(/\\/$/, '');\n }\n\n static equalUrl(a, b) {\n try {\n let uri1 = URI(a);\n let uri2 = URI(b);\n // Ignore trailing slash in URL paths\n uri1.path(Utils.removeTrailingSlash(uri1.path()));\n uri2.path(Utils.removeTrailingSlash(uri2.path()));\n return uri1.equals(uri2);\n } catch (error) {\n return false;\n }\n }\n\n static summarizeMd(text, maxLength = null) {\n if (!Utils.hasText(text)) {\n return '';\n }\n // Best-effort approach to remove some CommonMark (Markdown).\n // Likely not perfect, but seems good enough for most cases.\n text = removeMd(text).replaceAll(/[\\r\\n]+/g, ' ');\n if (maxLength > 0 && text.length > maxLength) {\n text = text.substr(0, maxLength) + '…';\n }\n return text;\n }\n\n static scrollTo(el) {\n if (!el) {\n return;\n }\n var rect = el.getBoundingClientRect();\n var isVisible = rect.top < window.innerHeight && rect.bottom >= 0;\n if (!isVisible) {\n el.scrollIntoView({\n behavior: \"smooth\",\n block: \"start\"\n });\n }\n }\n\n // Convert from UTC to locale time (needed for vue2-datetimepicker)\n // see https://github.com/mengxiong10/vue2-datepicker/issues/388\n static dateFromUTC(dt) {\n if (dt) {\n const value = new Date(dt);\n dt = new Date(value.getTime() + value.getTimezoneOffset() * 60 * 1000);\n }\n return dt;\n }\n\n static dateToUTC(dt) {\n if (dt instanceof Date) {\n dt = new Date(dt.getTime() - dt.getTimezoneOffset() * 60 * 1000);\n }\n return dt;\n }\n\n static formatDatetimeQuery(value) {\n return value.map(dt => {\n if (dt instanceof Date) {\n return dt.toISOString();\n }\n else if (dt) {\n return dt;\n }\n else {\n return '..';\n }\n }).join('/');\n }\n\n static formatSortbyForPOST(value) {\n // POST search requires sortby to be an array of objects containing a property name and sort direction.\n // See spec here: https://api.stacspec.org/v1.0.0-rc.1/item-search/#tag/Item-Search/operation/postItemSearch\n // This function converts the property name to the desired format.\n const sortby = {\n field: '',\n direction: 'asc'\n };\n \n // Check if the value starts with a minus sign (\"-\")\n if (value.startsWith('-')) {\n // sort by descending order\n sortby.field = value.substring(1);\n sortby.direction = 'desc';\n } else {\n //sort by ascending order\n sortby.field = value;\n }\n \n // Put the object in an array\n return [sortby];\n }\n\n static getPaginationLinks(data) {\n let pages = {};\n if (Utils.isObject(data)) {\n let pageLinks = Utils.getLinksWithRels(data.links, stacPagination);\n for (let pageLink of pageLinks) {\n let rel = pageLink.rel === 'previous' ? 'prev' : pageLink.rel;\n pages[rel] = pageLink;\n }\n }\n return pages;\n }\n\n static addFiltersToLink(link, filters = {}, itemsPerPage = null) {\n let isEmpty = value => {\n return (value === null\n || (typeof value === 'number' && !Number.isFinite(value))\n || (typeof value === 'string' && value.length === 0)\n || (typeof value === 'object' && Utils.size(value) === 0));\n };\n\n if (!Utils.isObject(filters)) {\n filters = {};\n }\n else {\n filters = Object.assign({}, filters);\n }\n\n if (typeof filters.limit !== 'number' && typeof itemsPerPage === 'number') {\n filters.limit = itemsPerPage;\n }\n\n if (Utils.hasText(link.method) && link.method.toUpperCase() === 'POST') {\n let body = Object.assign({}, link.body);\n\n for (let key in filters) {\n let value = filters[key];\n if (isEmpty(value)) {\n delete body[key];\n continue;\n }\n\n if (key === 'sortby') {\n value = Utils.formatSortbyForPOST(value);\n }\n else if (key === 'datetime') {\n value = Utils.formatDatetimeQuery(value);\n }\n else if (key === 'filters') {\n Object.assign(body, value.toJSON());\n continue;\n }\n\n body[key] = value;\n }\n return Object.assign({}, link, { body });\n }\n else { // GET\n // Construct new link with search params\n let url = URI(link.href);\n\n for (let key in filters) {\n let value = filters[key];\n if (isEmpty(value)) {\n url.removeQuery(key);\n continue;\n }\n\n if (key === 'datetime') {\n value = Utils.formatDatetimeQuery(value);\n }\n else if (key === 'bbox') {\n value = value.join(',');\n }\n else if ((key === 'collections' || key === 'ids' || key === 'q')) {\n value = value.join(',');\n }\n else if (key === 'filters') {\n let params = value.toText();\n url.setQuery(params);\n continue;\n }\n\n url.setQuery(key, value);\n }\n\n return Object.assign({}, link, { href: url.toString() });\n }\n }\n\n static titleForHref(href, preferFileName = false) {\n let uri = URI(href);\n let auth = uri.authority();\n let file = uri.filename().replace(/^(.{1,})\\.\\w+$/, '$1');\n let dir = uri.directory().replace(/^\\//, '');\n if (auth && file && !preferFileName) {\n let path = uri.path().replace(/^\\//, '');\n if (auth === 'doi.org' && path.startsWith('10.')) {\n return `DOI ${path}`;\n }\n else {\n return `${file} (${auth})`;\n }\n }\n else if (file && !commonFileNames.includes(file)) {\n return file;\n }\n else if (auth) {\n return auth;\n }\n else if (dir) {\n return dir;\n }\n else {\n return href;\n }\n }\n\n static canBrowserDisplayImage(img) {\n if (typeof img.href !== 'string') {\n return false;\n }\n let uri = URI(img.href);\n let protocol = uri.protocol().toLowerCase();\n if (protocol && !browserProtocols.includes(protocol)) {\n return false;\n }\n else if (browserImageTypes.includes(img.type)) {\n return true;\n }\n else if (browserImageTypes.includes('image/' + uri.suffix().toLowerCase())) {\n return true;\n }\n else if (img.type) {\n return false;\n }\n else {\n return true; // If no img.type is given, try to load it anyway: https://github.com/radiantearth/stac-browser/issues/147\n }\n }\n\n // Gets the value at path of object.\n // Drop in replacement for lodash.get\n static getValueFromObjectUsingPath(object, path) {\n if (object === null || typeof object !== 'object') {\n return;\n }\n object = object[path[0]];\n if (typeof object !== 'undefined' && path.length > 1) {\n return this.getValueFromObjectUsingPath(object, path.slice(1));\n }\n return object;\n }\n\n static search(searchterm, target, and = true) {\n if (typeof searchterm !== 'string' || searchterm.length === 0) {\n return false;\n }\n if (Utils.isObject(target)) {\n target = Object.values(target);\n }\n else if (typeof target === 'string') {\n target = [target];\n }\n\n if (!Array.isArray(target)) {\n return false;\n }\n\n let splitChars = /[\\s.,;!&({[)}]]+/g;\n\n // Prepare search terms\n searchterm = searchterm.toLowerCase().split(splitChars);\n\n // Prepare text to search in\n target = target\n .filter(s => typeof s === 'string') // Remove non-strings\n .join(' ') // Merge into a single string\n .replace(splitChars, ' ') // replace split chars with white spaces\n .toLowerCase(); // Lowercase\n\n // Search with \"and\" or \"or\"\n let fn = and ? 'every' : 'some';\n return searchterm[fn](term => target.includes(term));\n }\n\n static createLink(href, rel) {\n return { href, rel };\n }\n\n static supportsExtension(data, pattern) {\n if (!Utils.isObject(data) || !Array.isArray(data['stac_extensions'])) {\n return false;\n }\n let regexp = new RegExp('^' + pattern.replaceAll('*', '[^/]+') + '$');\n return Boolean(data['stac_extensions'].find(uri => regexp.test(uri)));\n }\n\n /**\n * Deep merge two objects.\n * @param target\n * @param ...sources\n */\n static mergeDeep(target, ...sources) {\n if (!sources.length) {\n return target;\n }\n const source = sources.shift();\n\n if (Utils.isObject(target) && Utils.isObject(source)) {\n for (const key in source) {\n if (Utils.isObject(source[key])) {\n if (!target[key]) {\n Object.assign(target, { [key]: {} });\n }\n Utils.mergeDeep(target[key], source[key]);\n } else {\n Object.assign(target, { [key]: source[key] });\n }\n }\n }\n\n return Utils.mergeDeep(target, ...sources);\n }\n\n}\n","import ErrorAlert from '../components/ErrorAlert.vue';\nimport Loading from '../components/Loading.vue';\nimport Utils, { BrowserError } from '../utils';\nimport URI from 'urijs';\nimport { mapState, mapGetters } from 'vuex';\n\nexport default {\n components: {\n ErrorAlert,\n Loading\n },\n props: {\n path: {\n type: String,\n required: true\n }\n },\n computed: {\n ...mapState([\"allowExternalAccess\", \"catalogUrl\", \"url\", \"redirectLegacyUrls\"]),\n ...mapGetters([\"fromBrowserPath\", \"error\", \"loading\"]),\n errorId() {\n if (this.error instanceof Error && this.error.isAxiosError && Utils.isObject(this.error.response)) {\n let res = this.error.response;\n if (Utils.isObject(res.data) && res.data.code) {\n return res.data.code;\n }\n else {\n return res.status;\n }\n }\n return null;\n },\n errorDescription() { \n if (this.error instanceof Error && this.error.isAxiosError && Utils.isObject(this.error.response)) {\n let res = this.error.response;\n if (Utils.isObject(res.data) && typeof res.data.description === 'string') { // STAC API compliant error response\n return res.data.description;\n }\n if (res.status === 401) {\n return this.$t('errors.unauthorized');\n }\n else if (res.status === 403) {\n return this.$t('errors.forbidden');\n }\n else if (res.status === 404) {\n return this.$t('errors.notFound');\n }\n else if (res.status > 500) {\n return this.$t('errors.serverError');\n }\n else if (res.status > 400) {\n return this.$t('errors.badRequest');\n }\n }\n else if (this.error instanceof BrowserError) {\n return this.error.message;\n }\n\n return this.$t('errors.networkError');\n },\n isExternal() {\n return URI(this.path).is(\"absolute\");\n }\n },\n watch: {\n path: {\n immediate: true,\n async handler(path, oldPath) {\n if (path === oldPath) {\n return;\n }\n else if (!this.allowExternalAccess && this.isExternal) {\n return;\n }\n else if (this.redirectLegacyUrls && await this.redirectLegacyUrl(path)) {\n return;\n }\n\n let url = this.fromBrowserPath(path || '/');\n this.$store.dispatch(\"load\", { url, show: true });\n }\n }\n },\n methods: {\n async redirectLegacyUrl(path) {\n if (!path || path === '/') {\n return false;\n }\n // Split all subpaths and remove the leading item or collection prefixes from the old STAC Browser routes\n let parts = path.split('/').filter(part => part.length > 0 && part !== 'item' && part !== 'collection');\n // Make sure all remaining parts are valid base58, otherwise they likely no legacy URLs\n if (parts.length > 0 && parts.every(part => part.match(/^[123456789abcdefghijkmnopqrstuvwxyzABCDEFGHJKLMNPQRSTUVWXYZ]+$/))) {\n // Lazy load base58 so that it's only in the loaded when really needed\n const { decode } = await import('bs58');\n // Decode last path element from base58, the others parts are not relevant for us\n let newPath = decode(parts[parts.length - 1]).toString();\n if (newPath) {\n let uri = URI(newPath);\n // Navigate to new URL\n this.$router.replace({\n // Remove trailing collections or items paths from APIs\n path: '/' + uri.path().replace(/(collections|items)\\/?$/, ''),\n query: uri.query(true)\n });\n return true;\n }\n }\n return false;\n }\n }\n};\n","var map = {\n\t\"./de-CH/config\": [\n\t\t79933,\n\t\t3\n\t],\n\t\"./de-CH/config.json\": [\n\t\t79933,\n\t\t3\n\t],\n\t\"./de-CH/datepicker\": [\n\t\t40895,\n\t\t9,\n\t\t895\n\t],\n\t\"./de-CH/datepicker.js\": [\n\t\t40895,\n\t\t9,\n\t\t895\n\t],\n\t\"./de-CH/default\": [\n\t\t968,\n\t\t9,\n\t\t4490,\n\t\t968\n\t],\n\t\"./de-CH/default.js\": [\n\t\t968,\n\t\t9,\n\t\t4490,\n\t\t968\n\t],\n\t\"./de-CH/duration\": [\n\t\t49637,\n\t\t9,\n\t\t9710,\n\t\t9637\n\t],\n\t\"./de-CH/duration.js\": [\n\t\t49637,\n\t\t9,\n\t\t9710,\n\t\t9637\n\t],\n\t\"./de-CH/validation\": [\n\t\t75270,\n\t\t9,\n\t\t5270\n\t],\n\t\"./de-CH/validation.js\": [\n\t\t75270,\n\t\t9,\n\t\t5270\n\t],\n\t\"./de/config\": [\n\t\t28417,\n\t\t3\n\t],\n\t\"./de/config.json\": [\n\t\t28417,\n\t\t3\n\t],\n\t\"./de/custom\": [\n\t\t45692,\n\t\t3,\n\t\t5692\n\t],\n\t\"./de/custom.json\": [\n\t\t45692,\n\t\t3,\n\t\t5692\n\t],\n\t\"./de/datepicker\": [\n\t\t74801,\n\t\t9,\n\t\t4801\n\t],\n\t\"./de/datepicker.js\": [\n\t\t74801,\n\t\t9,\n\t\t4801\n\t],\n\t\"./de/default\": [\n\t\t62862,\n\t\t9,\n\t\t4490,\n\t\t2862\n\t],\n\t\"./de/default.js\": [\n\t\t62862,\n\t\t9,\n\t\t4490,\n\t\t2862\n\t],\n\t\"./de/duration\": [\n\t\t54511,\n\t\t9,\n\t\t9710,\n\t\t4511\n\t],\n\t\"./de/duration.js\": [\n\t\t54511,\n\t\t9,\n\t\t9710,\n\t\t4511\n\t],\n\t\"./de/fields\": [\n\t\t14490,\n\t\t3,\n\t\t4490\n\t],\n\t\"./de/fields.json\": [\n\t\t14490,\n\t\t3,\n\t\t4490\n\t],\n\t\"./de/texts\": [\n\t\t99581,\n\t\t3,\n\t\t9581\n\t],\n\t\"./de/texts.json\": [\n\t\t99581,\n\t\t3,\n\t\t9581\n\t],\n\t\"./de/validation\": [\n\t\t62816,\n\t\t9,\n\t\t2816\n\t],\n\t\"./de/validation.js\": [\n\t\t62816,\n\t\t9,\n\t\t2816\n\t],\n\t\"./en-GB/config\": [\n\t\t23667,\n\t\t3\n\t],\n\t\"./en-GB/config.json\": [\n\t\t23667,\n\t\t3\n\t],\n\t\"./en-GB/custom\": [\n\t\t78798,\n\t\t3,\n\t\t8798\n\t],\n\t\"./en-GB/custom.json\": [\n\t\t78798,\n\t\t3,\n\t\t8798\n\t],\n\t\"./en-GB/datepicker\": [\n\t\t22605,\n\t\t9,\n\t\t2605\n\t],\n\t\"./en-GB/datepicker.js\": [\n\t\t22605,\n\t\t9,\n\t\t2605\n\t],\n\t\"./en-GB/default\": [\n\t\t63170,\n\t\t9,\n\t\t3170\n\t],\n\t\"./en-GB/default.js\": [\n\t\t63170,\n\t\t9,\n\t\t3170\n\t],\n\t\"./en-GB/duration\": [\n\t\t47843,\n\t\t9,\n\t\t9710,\n\t\t7843\n\t],\n\t\"./en-GB/duration.js\": [\n\t\t47843,\n\t\t9,\n\t\t9710,\n\t\t7843\n\t],\n\t\"./en-GB/fields\": [\n\t\t87400,\n\t\t3,\n\t\t7400\n\t],\n\t\"./en-GB/fields.json\": [\n\t\t87400,\n\t\t3,\n\t\t7400\n\t],\n\t\"./en-GB/texts\": [\n\t\t62963,\n\t\t3,\n\t\t2963\n\t],\n\t\"./en-GB/texts.json\": [\n\t\t62963,\n\t\t3,\n\t\t2963\n\t],\n\t\"./en-GB/validation\": [\n\t\t6492,\n\t\t9,\n\t\t6492\n\t],\n\t\"./en-GB/validation.js\": [\n\t\t6492,\n\t\t9,\n\t\t6492\n\t],\n\t\"./en-US/config\": [\n\t\t92444,\n\t\t3\n\t],\n\t\"./en-US/config.json\": [\n\t\t92444,\n\t\t3\n\t],\n\t\"./en-US/datepicker\": [\n\t\t95558,\n\t\t9,\n\t\t5558\n\t],\n\t\"./en-US/datepicker.js\": [\n\t\t95558,\n\t\t9,\n\t\t5558\n\t],\n\t\"./en-US/default\": [\n\t\t15691,\n\t\t9,\n\t\t5691\n\t],\n\t\"./en-US/default.js\": [\n\t\t15691,\n\t\t9,\n\t\t5691\n\t],\n\t\"./en-US/duration\": [\n\t\t49684,\n\t\t9,\n\t\t9710,\n\t\t9684\n\t],\n\t\"./en-US/duration.js\": [\n\t\t49684,\n\t\t9,\n\t\t9710,\n\t\t9684\n\t],\n\t\"./en-US/validation\": [\n\t\t3155,\n\t\t9,\n\t\t3155\n\t],\n\t\"./en-US/validation.js\": [\n\t\t3155,\n\t\t9,\n\t\t3155\n\t],\n\t\"./en/config\": [\n\t\t11401,\n\t\t3\n\t],\n\t\"./en/config.json\": [\n\t\t11401,\n\t\t3\n\t],\n\t\"./en/custom\": [\n\t\t85300,\n\t\t3,\n\t\t5300\n\t],\n\t\"./en/custom.json\": [\n\t\t85300,\n\t\t3,\n\t\t5300\n\t],\n\t\"./en/datepicker\": [\n\t\t71865,\n\t\t9,\n\t\t1865\n\t],\n\t\"./en/datepicker.js\": [\n\t\t71865,\n\t\t9,\n\t\t1865\n\t],\n\t\"./en/default\": [\n\t\t56886,\n\t\t9,\n\t\t6886\n\t],\n\t\"./en/default.js\": [\n\t\t56886,\n\t\t9,\n\t\t6886\n\t],\n\t\"./en/duration\": [\n\t\t86855,\n\t\t9,\n\t\t9710,\n\t\t6855\n\t],\n\t\"./en/duration.js\": [\n\t\t86855,\n\t\t9,\n\t\t9710,\n\t\t6855\n\t],\n\t\"./en/fields\": [\n\t\t87090,\n\t\t3,\n\t\t7090\n\t],\n\t\"./en/fields.json\": [\n\t\t87090,\n\t\t3,\n\t\t7090\n\t],\n\t\"./en/stac-fields\": [\n\t\t98236,\n\t\t9,\n\t\t8236\n\t],\n\t\"./en/stac-fields.js\": [\n\t\t98236,\n\t\t9,\n\t\t8236\n\t],\n\t\"./en/texts\": [\n\t\t33301,\n\t\t3,\n\t\t3301\n\t],\n\t\"./en/texts.json\": [\n\t\t33301,\n\t\t3,\n\t\t3301\n\t],\n\t\"./en/validation\": [\n\t\t98552,\n\t\t9,\n\t\t8552\n\t],\n\t\"./en/validation.js\": [\n\t\t98552,\n\t\t9,\n\t\t8552\n\t],\n\t\"./es/config\": [\n\t\t17212,\n\t\t3\n\t],\n\t\"./es/config.json\": [\n\t\t17212,\n\t\t3\n\t],\n\t\"./es/custom\": [\n\t\t14581,\n\t\t3,\n\t\t4581\n\t],\n\t\"./es/custom.json\": [\n\t\t14581,\n\t\t3,\n\t\t4581\n\t],\n\t\"./es/datepicker\": [\n\t\t54312,\n\t\t9,\n\t\t4312\n\t],\n\t\"./es/datepicker.js\": [\n\t\t54312,\n\t\t9,\n\t\t4312\n\t],\n\t\"./es/default\": [\n\t\t89113,\n\t\t9,\n\t\t9113\n\t],\n\t\"./es/default.js\": [\n\t\t89113,\n\t\t9,\n\t\t9113\n\t],\n\t\"./es/duration\": [\n\t\t46046,\n\t\t9,\n\t\t9710,\n\t\t6046\n\t],\n\t\"./es/duration.js\": [\n\t\t46046,\n\t\t9,\n\t\t9710,\n\t\t6046\n\t],\n\t\"./es/fields\": [\n\t\t11295,\n\t\t3,\n\t\t1295\n\t],\n\t\"./es/fields.json\": [\n\t\t11295,\n\t\t3,\n\t\t1295\n\t],\n\t\"./es/texts\": [\n\t\t90674,\n\t\t3,\n\t\t674\n\t],\n\t\"./es/texts.json\": [\n\t\t90674,\n\t\t3,\n\t\t674\n\t],\n\t\"./es/validation\": [\n\t\t35893,\n\t\t9,\n\t\t5893\n\t],\n\t\"./es/validation.js\": [\n\t\t35893,\n\t\t9,\n\t\t5893\n\t],\n\t\"./fr-CA/config\": [\n\t\t20995,\n\t\t3\n\t],\n\t\"./fr-CA/config.json\": [\n\t\t20995,\n\t\t3\n\t],\n\t\"./fr-CA/datepicker\": [\n\t\t6997,\n\t\t9,\n\t\t6997\n\t],\n\t\"./fr-CA/datepicker.js\": [\n\t\t6997,\n\t\t9,\n\t\t6997\n\t],\n\t\"./fr-CA/default\": [\n\t\t71082,\n\t\t9,\n\t\t5767,\n\t\t1082\n\t],\n\t\"./fr-CA/default.js\": [\n\t\t71082,\n\t\t9,\n\t\t5767,\n\t\t1082\n\t],\n\t\"./fr-CA/duration\": [\n\t\t27003,\n\t\t9,\n\t\t9710,\n\t\t7003\n\t],\n\t\"./fr-CA/duration.js\": [\n\t\t27003,\n\t\t9,\n\t\t9710,\n\t\t7003\n\t],\n\t\"./fr-CA/validation\": [\n\t\t38228,\n\t\t9,\n\t\t8228\n\t],\n\t\"./fr-CA/validation.js\": [\n\t\t38228,\n\t\t9,\n\t\t8228\n\t],\n\t\"./fr-CH/config\": [\n\t\t1738,\n\t\t3\n\t],\n\t\"./fr-CH/config.json\": [\n\t\t1738,\n\t\t3\n\t],\n\t\"./fr-CH/datepicker\": [\n\t\t81456,\n\t\t9,\n\t\t1456\n\t],\n\t\"./fr-CH/datepicker.js\": [\n\t\t81456,\n\t\t9,\n\t\t1456\n\t],\n\t\"./fr-CH/default\": [\n\t\t44545,\n\t\t9,\n\t\t5767,\n\t\t4545\n\t],\n\t\"./fr-CH/default.js\": [\n\t\t44545,\n\t\t9,\n\t\t5767,\n\t\t4545\n\t],\n\t\"./fr-CH/duration\": [\n\t\t67286,\n\t\t9,\n\t\t9710,\n\t\t7286\n\t],\n\t\"./fr-CH/duration.js\": [\n\t\t67286,\n\t\t9,\n\t\t9710,\n\t\t7286\n\t],\n\t\"./fr-CH/validation\": [\n\t\t82605,\n\t\t9,\n\t\t4986\n\t],\n\t\"./fr-CH/validation.js\": [\n\t\t82605,\n\t\t9,\n\t\t4986\n\t],\n\t\"./fr/config\": [\n\t\t37748,\n\t\t3\n\t],\n\t\"./fr/config.json\": [\n\t\t37748,\n\t\t3\n\t],\n\t\"./fr/custom\": [\n\t\t75197,\n\t\t3,\n\t\t5197\n\t],\n\t\"./fr/custom.json\": [\n\t\t75197,\n\t\t3,\n\t\t5197\n\t],\n\t\"./fr/datepicker\": [\n\t\t37036,\n\t\t9,\n\t\t7036\n\t],\n\t\"./fr/datepicker.js\": [\n\t\t37036,\n\t\t9,\n\t\t7036\n\t],\n\t\"./fr/default\": [\n\t\t1589,\n\t\t9,\n\t\t5767,\n\t\t1589\n\t],\n\t\"./fr/default.js\": [\n\t\t1589,\n\t\t9,\n\t\t5767,\n\t\t1589\n\t],\n\t\"./fr/duration\": [\n\t\t93658,\n\t\t9,\n\t\t9710,\n\t\t3658\n\t],\n\t\"./fr/duration.js\": [\n\t\t93658,\n\t\t9,\n\t\t9710,\n\t\t3658\n\t],\n\t\"./fr/fields\": [\n\t\t48148,\n\t\t3,\n\t\t5767\n\t],\n\t\"./fr/fields.json\": [\n\t\t48148,\n\t\t3,\n\t\t5767\n\t],\n\t\"./fr/texts\": [\n\t\t23418,\n\t\t3,\n\t\t3418\n\t],\n\t\"./fr/texts.json\": [\n\t\t23418,\n\t\t3,\n\t\t3418\n\t],\n\t\"./fr/validation\": [\n\t\t33129,\n\t\t9,\n\t\t3129\n\t],\n\t\"./fr/validation.js\": [\n\t\t33129,\n\t\t9,\n\t\t3129\n\t],\n\t\"./it-CH/config\": [\n\t\t16835,\n\t\t3\n\t],\n\t\"./it-CH/config.json\": [\n\t\t16835,\n\t\t3\n\t],\n\t\"./it-CH/datepicker\": [\n\t\t75862,\n\t\t9,\n\t\t3481\n\t],\n\t\"./it-CH/datepicker.js\": [\n\t\t75862,\n\t\t9,\n\t\t3481\n\t],\n\t\"./it-CH/default\": [\n\t\t77638,\n\t\t9,\n\t\t9476,\n\t\t7638\n\t],\n\t\"./it-CH/default.js\": [\n\t\t77638,\n\t\t9,\n\t\t9476,\n\t\t7638\n\t],\n\t\"./it-CH/duration\": [\n\t\t44567,\n\t\t9,\n\t\t9710,\n\t\t4567\n\t],\n\t\"./it-CH/duration.js\": [\n\t\t44567,\n\t\t9,\n\t\t9710,\n\t\t4567\n\t],\n\t\"./it-CH/validation\": [\n\t\t63048,\n\t\t9,\n\t\t3048\n\t],\n\t\"./it-CH/validation.js\": [\n\t\t63048,\n\t\t9,\n\t\t3048\n\t],\n\t\"./it/config\": [\n\t\t37295,\n\t\t3\n\t],\n\t\"./it/config.json\": [\n\t\t37295,\n\t\t3\n\t],\n\t\"./it/custom\": [\n\t\t5290,\n\t\t3,\n\t\t5290\n\t],\n\t\"./it/custom.json\": [\n\t\t5290,\n\t\t3,\n\t\t5290\n\t],\n\t\"./it/datepicker\": [\n\t\t36147,\n\t\t9,\n\t\t6147\n\t],\n\t\"./it/datepicker.js\": [\n\t\t36147,\n\t\t9,\n\t\t6147\n\t],\n\t\"./it/default\": [\n\t\t23108,\n\t\t9,\n\t\t9476,\n\t\t3108\n\t],\n\t\"./it/default.js\": [\n\t\t23108,\n\t\t9,\n\t\t9476,\n\t\t3108\n\t],\n\t\"./it/duration\": [\n\t\t67905,\n\t\t9,\n\t\t9710,\n\t\t7905\n\t],\n\t\"./it/duration.js\": [\n\t\t67905,\n\t\t9,\n\t\t9710,\n\t\t7905\n\t],\n\t\"./it/fields\": [\n\t\t39476,\n\t\t3,\n\t\t9476\n\t],\n\t\"./it/fields.json\": [\n\t\t39476,\n\t\t3,\n\t\t9476\n\t],\n\t\"./it/texts\": [\n\t\t27519,\n\t\t3,\n\t\t7519\n\t],\n\t\"./it/texts.json\": [\n\t\t27519,\n\t\t3,\n\t\t7519\n\t],\n\t\"./it/validation\": [\n\t\t66346,\n\t\t9,\n\t\t6346\n\t],\n\t\"./it/validation.js\": [\n\t\t66346,\n\t\t9,\n\t\t6346\n\t],\n\t\"./ja/config\": [\n\t\t15203,\n\t\t3\n\t],\n\t\"./ja/config.json\": [\n\t\t15203,\n\t\t3\n\t],\n\t\"./ja/custom\": [\n\t\t79870,\n\t\t3,\n\t\t9870\n\t],\n\t\"./ja/custom.json\": [\n\t\t79870,\n\t\t3,\n\t\t9870\n\t],\n\t\"./ja/datepicker\": [\n\t\t70675,\n\t\t9,\n\t\t675\n\t],\n\t\"./ja/datepicker.js\": [\n\t\t70675,\n\t\t9,\n\t\t675\n\t],\n\t\"./ja/default\": [\n\t\t4964,\n\t\t9,\n\t\t4964\n\t],\n\t\"./ja/default.js\": [\n\t\t4964,\n\t\t9,\n\t\t4964\n\t],\n\t\"./ja/duration\": [\n\t\t87905,\n\t\t9,\n\t\t9710,\n\t\t2667\n\t],\n\t\"./ja/duration.js\": [\n\t\t87905,\n\t\t9,\n\t\t9710,\n\t\t2667\n\t],\n\t\"./ja/fields\": [\n\t\t68376,\n\t\t3,\n\t\t8376\n\t],\n\t\"./ja/fields.json\": [\n\t\t68376,\n\t\t3,\n\t\t8376\n\t],\n\t\"./ja/texts\": [\n\t\t30883,\n\t\t3,\n\t\t883\n\t],\n\t\"./ja/texts.json\": [\n\t\t30883,\n\t\t3,\n\t\t883\n\t],\n\t\"./ja/validation\": [\n\t\t14826,\n\t\t9,\n\t\t4826\n\t],\n\t\"./ja/validation.js\": [\n\t\t14826,\n\t\t9,\n\t\t4826\n\t],\n\t\"./pt-BR/config\": [\n\t\t87503,\n\t\t3\n\t],\n\t\"./pt-BR/config.json\": [\n\t\t87503,\n\t\t3\n\t],\n\t\"./pt-BR/custom\": [\n\t\t54794,\n\t\t3,\n\t\t4794\n\t],\n\t\"./pt-BR/custom.json\": [\n\t\t54794,\n\t\t3,\n\t\t4794\n\t],\n\t\"./pt-BR/datepicker\": [\n\t\t20105,\n\t\t9,\n\t\t105\n\t],\n\t\"./pt-BR/datepicker.js\": [\n\t\t20105,\n\t\t9,\n\t\t105\n\t],\n\t\"./pt-BR/default\": [\n\t\t92294,\n\t\t9,\n\t\t2294\n\t],\n\t\"./pt-BR/default.js\": [\n\t\t92294,\n\t\t9,\n\t\t2294\n\t],\n\t\"./pt-BR/duration\": [\n\t\t44631,\n\t\t9,\n\t\t9710,\n\t\t4631\n\t],\n\t\"./pt-BR/duration.js\": [\n\t\t44631,\n\t\t9,\n\t\t9710,\n\t\t4631\n\t],\n\t\"./pt-BR/fields\": [\n\t\t1524,\n\t\t3,\n\t\t1524\n\t],\n\t\"./pt-BR/fields.json\": [\n\t\t1524,\n\t\t3,\n\t\t1524\n\t],\n\t\"./pt-BR/texts\": [\n\t\t69311,\n\t\t3,\n\t\t9311\n\t],\n\t\"./pt-BR/texts.json\": [\n\t\t69311,\n\t\t3,\n\t\t9311\n\t],\n\t\"./pt-BR/validation\": [\n\t\t70536,\n\t\t9,\n\t\t536\n\t],\n\t\"./pt-BR/validation.js\": [\n\t\t70536,\n\t\t9,\n\t\t536\n\t],\n\t\"./pt/config\": [\n\t\t22356,\n\t\t3\n\t],\n\t\"./pt/config.json\": [\n\t\t22356,\n\t\t3\n\t],\n\t\"./pt/custom\": [\n\t\t2653,\n\t\t3,\n\t\t2653\n\t],\n\t\"./pt/custom.json\": [\n\t\t2653,\n\t\t3,\n\t\t2653\n\t],\n\t\"./pt/datepicker\": [\n\t\t59856,\n\t\t9,\n\t\t9856\n\t],\n\t\"./pt/datepicker.js\": [\n\t\t59856,\n\t\t9,\n\t\t9856\n\t],\n\t\"./pt/default\": [\n\t\t56513,\n\t\t9,\n\t\t6513\n\t],\n\t\"./pt/default.js\": [\n\t\t56513,\n\t\t9,\n\t\t6513\n\t],\n\t\"./pt/duration\": [\n\t\t32438,\n\t\t9,\n\t\t9710,\n\t\t2438\n\t],\n\t\"./pt/duration.js\": [\n\t\t32438,\n\t\t9,\n\t\t9710,\n\t\t2438\n\t],\n\t\"./pt/fields\": [\n\t\t44455,\n\t\t3,\n\t\t4455\n\t],\n\t\"./pt/fields.json\": [\n\t\t44455,\n\t\t3,\n\t\t4455\n\t],\n\t\"./pt/texts\": [\n\t\t29946,\n\t\t3,\n\t\t9946\n\t],\n\t\"./pt/texts.json\": [\n\t\t29946,\n\t\t3,\n\t\t9946\n\t],\n\t\"./pt/validation\": [\n\t\t12685,\n\t\t9,\n\t\t2685\n\t],\n\t\"./pt/validation.js\": [\n\t\t12685,\n\t\t9,\n\t\t2685\n\t],\n\t\"./ro/config\": [\n\t\t99069,\n\t\t3\n\t],\n\t\"./ro/config.json\": [\n\t\t99069,\n\t\t3\n\t],\n\t\"./ro/custom\": [\n\t\t5160,\n\t\t3,\n\t\t5160\n\t],\n\t\"./ro/custom.json\": [\n\t\t5160,\n\t\t3,\n\t\t5160\n\t],\n\t\"./ro/datepicker\": [\n\t\t2929,\n\t\t9,\n\t\t2929\n\t],\n\t\"./ro/datepicker.js\": [\n\t\t2929,\n\t\t9,\n\t\t2929\n\t],\n\t\"./ro/default\": [\n\t\t63022,\n\t\t9,\n\t\t3022\n\t],\n\t\"./ro/default.js\": [\n\t\t63022,\n\t\t9,\n\t\t3022\n\t],\n\t\"./ro/duration\": [\n\t\t65583,\n\t\t9,\n\t\t9710,\n\t\t5583\n\t],\n\t\"./ro/duration.js\": [\n\t\t65583,\n\t\t9,\n\t\t9710,\n\t\t5583\n\t],\n\t\"./ro/fields\": [\n\t\t14758,\n\t\t3,\n\t\t4758\n\t],\n\t\"./ro/fields.json\": [\n\t\t14758,\n\t\t3,\n\t\t4758\n\t],\n\t\"./ro/texts\": [\n\t\t55577,\n\t\t3,\n\t\t5577\n\t],\n\t\"./ro/texts.json\": [\n\t\t55577,\n\t\t3,\n\t\t5577\n\t],\n\t\"./ro/validation\": [\n\t\t90944,\n\t\t9,\n\t\t944\n\t],\n\t\"./ro/validation.js\": [\n\t\t90944,\n\t\t9,\n\t\t944\n\t]\n};\nfunction webpackAsyncContext(req) {\n\tif(!__webpack_require__.o(map, req)) {\n\t\treturn Promise.resolve().then(function() {\n\t\t\tvar e = new Error(\"Cannot find module '\" + req + \"'\");\n\t\t\te.code = 'MODULE_NOT_FOUND';\n\t\t\tthrow e;\n\t\t});\n\t}\n\n\tvar ids = map[req], id = ids[0];\n\treturn Promise.all(ids.slice(2).map(__webpack_require__.e)).then(function() {\n\t\treturn __webpack_require__.t(id, ids[1] | 16)\n\t});\n}\nwebpackAsyncContext.keys = function() { return Object.keys(map); };\nwebpackAsyncContext.id = 93731;\nmodule.exports = webpackAsyncContext;","var map = {\n\t\"./de-CH/default.js\": [\n\t\t968,\n\t\t4490,\n\t\t968\n\t],\n\t\"./de/default.js\": [\n\t\t62862,\n\t\t4490,\n\t\t2862\n\t],\n\t\"./en-GB/default.js\": [\n\t\t63170,\n\t\t3170\n\t],\n\t\"./en-US/default.js\": [\n\t\t15691,\n\t\t5691\n\t],\n\t\"./en/default.js\": [\n\t\t56886,\n\t\t6886\n\t],\n\t\"./es/default.js\": [\n\t\t89113,\n\t\t9113\n\t],\n\t\"./fr-CA/default.js\": [\n\t\t71082,\n\t\t5767,\n\t\t1082\n\t],\n\t\"./fr-CH/default.js\": [\n\t\t44545,\n\t\t5767,\n\t\t4545\n\t],\n\t\"./fr/default.js\": [\n\t\t1589,\n\t\t5767,\n\t\t1589\n\t],\n\t\"./it-CH/default.js\": [\n\t\t77638,\n\t\t9476,\n\t\t7638\n\t],\n\t\"./it/default.js\": [\n\t\t23108,\n\t\t9476,\n\t\t3108\n\t],\n\t\"./ja/default.js\": [\n\t\t4964,\n\t\t4964\n\t],\n\t\"./pt-BR/default.js\": [\n\t\t92294,\n\t\t2294\n\t],\n\t\"./pt/default.js\": [\n\t\t56513,\n\t\t6513\n\t],\n\t\"./ro/default.js\": [\n\t\t63022,\n\t\t3022\n\t]\n};\nfunction webpackAsyncContext(req) {\n\tif(!__webpack_require__.o(map, req)) {\n\t\treturn Promise.resolve().then(function() {\n\t\t\tvar e = new Error(\"Cannot find module '\" + req + \"'\");\n\t\t\te.code = 'MODULE_NOT_FOUND';\n\t\t\tthrow e;\n\t\t});\n\t}\n\n\tvar ids = map[req], id = ids[0];\n\treturn Promise.all(ids.slice(1).map(__webpack_require__.e)).then(function() {\n\t\treturn __webpack_require__(id);\n\t});\n}\nwebpackAsyncContext.keys = function() { return Object.keys(map); };\nwebpackAsyncContext.id = 33545;\nmodule.exports = webpackAsyncContext;","var map = {\n\t\"./de-CH/config.json\": 79933,\n\t\"./de/config.json\": 28417,\n\t\"./en-GB/config.json\": 23667,\n\t\"./en-US/config.json\": 92444,\n\t\"./en/config.json\": 11401,\n\t\"./es/config.json\": 17212,\n\t\"./fr-CA/config.json\": 20995,\n\t\"./fr-CH/config.json\": 1738,\n\t\"./fr/config.json\": 37748,\n\t\"./it-CH/config.json\": 16835,\n\t\"./it/config.json\": 37295,\n\t\"./ja/config.json\": 15203,\n\t\"./pt-BR/config.json\": 87503,\n\t\"./pt/config.json\": 22356,\n\t\"./ro/config.json\": 99069\n};\n\n\nfunction webpackContext(req) {\n\tvar id = webpackContextResolve(req);\n\treturn __webpack_require__(id);\n}\nfunction webpackContextResolve(req) {\n\tif(!__webpack_require__.o(map, req)) {\n\t\tvar e = new Error(\"Cannot find module '\" + req + \"'\");\n\t\te.code = 'MODULE_NOT_FOUND';\n\t\tthrow e;\n\t}\n\treturn map[req];\n}\nwebpackContext.keys = function webpackContextKeys() {\n\treturn Object.keys(map);\n};\nwebpackContext.resolve = webpackContextResolve;\nmodule.exports = webpackContext;\nwebpackContext.id = 97991;","// The module cache\nvar __webpack_module_cache__ = {};\n\n// The require function\nfunction __webpack_require__(moduleId) {\n\t// Check if module is in cache\n\tvar cachedModule = __webpack_module_cache__[moduleId];\n\tif (cachedModule !== undefined) {\n\t\treturn cachedModule.exports;\n\t}\n\t// Create a new module (and put it into the cache)\n\tvar module = __webpack_module_cache__[moduleId] = {\n\t\tid: moduleId,\n\t\tloaded: false,\n\t\texports: {}\n\t};\n\n\t// Execute the module function\n\t__webpack_modules__[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n\t// Flag the module as loaded\n\tmodule.loaded = true;\n\n\t// Return the exports of the module\n\treturn module.exports;\n}\n\n// expose the modules object (__webpack_modules__)\n__webpack_require__.m = __webpack_modules__;\n\n","var webpackQueues = typeof Symbol === \"function\" ? Symbol(\"webpack queues\") : \"__webpack_queues__\";\nvar webpackExports = typeof Symbol === \"function\" ? Symbol(\"webpack exports\") : \"__webpack_exports__\";\nvar webpackError = typeof Symbol === \"function\" ? Symbol(\"webpack error\") : \"__webpack_error__\";\nvar resolveQueue = function(queue) {\n\tif(queue && queue.d < 1) {\n\t\tqueue.d = 1;\n\t\tqueue.forEach(function(fn) { fn.r--; });\n\t\tqueue.forEach(function(fn) { fn.r-- ? fn.r++ : fn(); });\n\t}\n}\nvar wrapDeps = function(deps) { return deps.map(function(dep) {\n\tif(dep !== null && typeof dep === \"object\") {\n\t\tif(dep[webpackQueues]) return dep;\n\t\tif(dep.then) {\n\t\t\tvar queue = [];\n\t\t\tqueue.d = 0;\n\t\t\tdep.then(function(r) {\n\t\t\t\tobj[webpackExports] = r;\n\t\t\t\tresolveQueue(queue);\n\t\t\t}, function(e) {\n\t\t\t\tobj[webpackError] = e;\n\t\t\t\tresolveQueue(queue);\n\t\t\t});\n\t\t\tvar obj = {};\n\t\t\tobj[webpackQueues] = function(fn) { fn(queue); };\n\t\t\treturn obj;\n\t\t}\n\t}\n\tvar ret = {};\n\tret[webpackQueues] = function() {};\n\tret[webpackExports] = dep;\n\treturn ret;\n}); };\n__webpack_require__.a = function(module, body, hasAwait) {\n\tvar queue;\n\thasAwait && ((queue = []).d = -1);\n\tvar depQueues = new Set();\n\tvar exports = module.exports;\n\tvar currentDeps;\n\tvar outerResolve;\n\tvar reject;\n\tvar promise = new Promise(function(resolve, rej) {\n\t\treject = rej;\n\t\touterResolve = resolve;\n\t});\n\tpromise[webpackExports] = exports;\n\tpromise[webpackQueues] = function(fn) { queue && fn(queue), depQueues.forEach(fn), promise[\"catch\"](function() {}); };\n\tmodule.exports = promise;\n\tbody(function(deps) {\n\t\tcurrentDeps = wrapDeps(deps);\n\t\tvar fn;\n\t\tvar getResult = function() { return currentDeps.map(function(d) {\n\t\t\tif(d[webpackError]) throw d[webpackError];\n\t\t\treturn d[webpackExports];\n\t\t}); }\n\t\tvar promise = new Promise(function(resolve) {\n\t\t\tfn = function() { resolve(getResult); };\n\t\t\tfn.r = 0;\n\t\t\tvar fnQueue = function(q) { q !== queue && !depQueues.has(q) && (depQueues.add(q), q && !q.d && (fn.r++, q.push(fn))); };\n\t\t\tcurrentDeps.map(function(dep) { dep[webpackQueues](fnQueue); });\n\t\t});\n\t\treturn fn.r ? promise : getResult();\n\t}, function(err) { (err ? reject(promise[webpackError] = err) : outerResolve(exports)), resolveQueue(queue); });\n\tqueue && queue.d < 0 && (queue.d = 0);\n};","var deferred = [];\n__webpack_require__.O = function(result, chunkIds, fn, priority) {\n\tif(chunkIds) {\n\t\tpriority = priority || 0;\n\t\tfor(var i = deferred.length; i > 0 && deferred[i - 1][2] > priority; i--) deferred[i] = deferred[i - 1];\n\t\tdeferred[i] = [chunkIds, fn, priority];\n\t\treturn;\n\t}\n\tvar notFulfilled = Infinity;\n\tfor (var i = 0; i < deferred.length; i++) {\n\t\tvar chunkIds = deferred[i][0];\n\t\tvar fn = deferred[i][1];\n\t\tvar priority = deferred[i][2];\n\t\tvar fulfilled = true;\n\t\tfor (var j = 0; j < chunkIds.length; j++) {\n\t\t\tif ((priority & 1 === 0 || notFulfilled >= priority) && Object.keys(__webpack_require__.O).every(function(key) { return __webpack_require__.O[key](chunkIds[j]); })) {\n\t\t\t\tchunkIds.splice(j--, 1);\n\t\t\t} else {\n\t\t\t\tfulfilled = false;\n\t\t\t\tif(priority < notFulfilled) notFulfilled = priority;\n\t\t\t}\n\t\t}\n\t\tif(fulfilled) {\n\t\t\tdeferred.splice(i--, 1)\n\t\t\tvar r = fn();\n\t\t\tif (r !== undefined) result = r;\n\t\t}\n\t}\n\treturn result;\n};","// getDefaultExport function for compatibility with non-harmony modules\n__webpack_require__.n = function(module) {\n\tvar getter = module && module.__esModule ?\n\t\tfunction() { return module['default']; } :\n\t\tfunction() { return module; };\n\t__webpack_require__.d(getter, { a: getter });\n\treturn getter;\n};","var getProto = Object.getPrototypeOf ? function(obj) { return Object.getPrototypeOf(obj); } : function(obj) { return obj.__proto__; };\nvar leafPrototypes;\n// create a fake namespace object\n// mode & 1: value is a module id, require it\n// mode & 2: merge all properties of value into the ns\n// mode & 4: return value when already ns object\n// mode & 16: return value when it's Promise-like\n// mode & 8|1: behave like require\n__webpack_require__.t = function(value, mode) {\n\tif(mode & 1) value = this(value);\n\tif(mode & 8) return value;\n\tif(typeof value === 'object' && value) {\n\t\tif((mode & 4) && value.__esModule) return value;\n\t\tif((mode & 16) && typeof value.then === 'function') return value;\n\t}\n\tvar ns = Object.create(null);\n\t__webpack_require__.r(ns);\n\tvar def = {};\n\tleafPrototypes = leafPrototypes || [null, getProto({}), getProto([]), getProto(getProto)];\n\tfor(var current = mode & 2 && value; typeof current == 'object' && !~leafPrototypes.indexOf(current); current = getProto(current)) {\n\t\tObject.getOwnPropertyNames(current).forEach(function(key) { def[key] = function() { return value[key]; }; });\n\t}\n\tdef['default'] = function() { return value; };\n\t__webpack_require__.d(ns, def);\n\treturn ns;\n};","// define getter functions for harmony exports\n__webpack_require__.d = function(exports, definition) {\n\tfor(var key in definition) {\n\t\tif(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n\t\t\tObject.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n\t\t}\n\t}\n};","__webpack_require__.f = {};\n// This file contains only the entry chunk.\n// The chunk loading function for additional chunks\n__webpack_require__.e = function(chunkId) {\n\treturn Promise.all(Object.keys(__webpack_require__.f).reduce(function(promises, key) {\n\t\t__webpack_require__.f[key](chunkId, promises);\n\t\treturn promises;\n\t}, []));\n};","// This function allow to reference async chunks\n__webpack_require__.u = function(chunkId) {\n\t// return url for filenames based on template\n\treturn \"js/\" + chunkId + \".\" + {\"57\":\"41f5038f\",\"105\":\"11f3ef3f\",\"126\":\"f21f415f\",\"143\":\"8a3d2c9a\",\"224\":\"4fba229c\",\"259\":\"c47d895a\",\"286\":\"63cf0a30\",\"287\":\"fa584da8\",\"401\":\"2c4f1f50\",\"536\":\"394026a4\",\"537\":\"16fe35b9\",\"572\":\"2c70a609\",\"635\":\"8dfb32bc\",\"674\":\"cd3424a3\",\"675\":\"6343e128\",\"771\":\"da878272\",\"883\":\"022b6cfd\",\"895\":\"61df85f7\",\"944\":\"93c5eccd\",\"967\":\"2187a41c\",\"968\":\"63b0be5d\",\"1082\":\"9524bfb4\",\"1277\":\"30f7efae\",\"1295\":\"c62bcc61\",\"1456\":\"c7df2c55\",\"1524\":\"9d335a36\",\"1589\":\"5695c617\",\"1802\":\"60389f93\",\"1865\":\"236dede4\",\"1935\":\"7e3ae466\",\"2018\":\"d8337473\",\"2294\":\"6b905d60\",\"2438\":\"9d08758b\",\"2568\":\"7b893d05\",\"2605\":\"61657992\",\"2653\":\"ead5227f\",\"2667\":\"e2075e28\",\"2685\":\"ae149e1e\",\"2816\":\"fadc65e3\",\"2862\":\"9f715c09\",\"2929\":\"8f5863d5\",\"2963\":\"588da4a4\",\"2986\":\"b845ef0e\",\"3022\":\"818b9d09\",\"3048\":\"037427d0\",\"3108\":\"342c1bac\",\"3129\":\"5ea9e162\",\"3147\":\"234d0b46\",\"3155\":\"9a5e35a5\",\"3170\":\"24cdcd45\",\"3301\":\"9629eab8\",\"3418\":\"791d39ac\",\"3481\":\"b68e7796\",\"3545\":\"9312a5b8\",\"3621\":\"c03d14b0\",\"3627\":\"c74dd113\",\"3658\":\"005b6342\",\"3665\":\"60e41131\",\"4052\":\"11887452\",\"4312\":\"1dfee9ef\",\"4455\":\"32fd4e8a\",\"4490\":\"2d1bfd9d\",\"4511\":\"ffe2e0e6\",\"4527\":\"0577cbe4\",\"4545\":\"0e0c6c60\",\"4567\":\"9c165ed1\",\"4581\":\"09d75b82\",\"4631\":\"185ad2fe\",\"4648\":\"27991b24\",\"4741\":\"c2318a0f\",\"4748\":\"4d28f3f9\",\"4758\":\"68524464\",\"4794\":\"cbe91ede\",\"4801\":\"3798c5b3\",\"4826\":\"9ec0fb3b\",\"4870\":\"dd62072e\",\"4905\":\"fa8f82fd\",\"4964\":\"c30511c6\",\"4986\":\"fb82306e\",\"5048\":\"4de90b52\",\"5160\":\"5049d33b\",\"5197\":\"1c0284fb\",\"5262\":\"894c88c3\",\"5270\":\"a61c79e3\",\"5290\":\"4e66b59f\",\"5300\":\"5a758b2d\",\"5500\":\"68abc7ee\",\"5528\":\"f4b345f1\",\"5558\":\"92284de2\",\"5577\":\"88da2b76\",\"5583\":\"4ad93d3c\",\"5691\":\"b4332e7d\",\"5692\":\"53888e89\",\"5767\":\"dcd3e8f6\",\"5833\":\"4f6613e9\",\"5876\":\"53412eac\",\"5893\":\"1f30f06a\",\"6046\":\"7234cf3f\",\"6094\":\"92e6b69a\",\"6147\":\"c1651835\",\"6247\":\"0d27f607\",\"6340\":\"5204c7f2\",\"6346\":\"ac9f2233\",\"6492\":\"2b9980a8\",\"6513\":\"934550ef\",\"6750\":\"4dcdb154\",\"6763\":\"d5e36df2\",\"6780\":\"204a1480\",\"6855\":\"e1724cd1\",\"6866\":\"76342d7e\",\"6886\":\"ca913e92\",\"6892\":\"00f44640\",\"6935\":\"1e8283d8\",\"6941\":\"13c80f1c\",\"6948\":\"f672b487\",\"6997\":\"9ad3d2eb\",\"7003\":\"b064e28e\",\"7012\":\"1f22b1ae\",\"7036\":\"be852fcd\",\"7090\":\"15e869ce\",\"7130\":\"7b24d234\",\"7197\":\"925f5a53\",\"7250\":\"9d5b8ba0\",\"7286\":\"cbd78cd1\",\"7303\":\"add8a1d9\",\"7312\":\"ebf1e1ac\",\"7341\":\"5a9a881d\",\"7400\":\"bb1bffcb\",\"7457\":\"05737046\",\"7519\":\"43de9d9a\",\"7638\":\"147e123d\",\"7659\":\"003bcc2a\",\"7820\":\"76e052c6\",\"7843\":\"fe60856c\",\"7905\":\"28030aa8\",\"7957\":\"5456ee53\",\"7964\":\"666a9c76\",\"8228\":\"7777ffe3\",\"8236\":\"973dee5b\",\"8376\":\"ec3800d9\",\"8499\":\"23d303cb\",\"8552\":\"8d732287\",\"8648\":\"3df871aa\",\"8775\":\"c4d351a5\",\"8798\":\"ae050e23\",\"9010\":\"2cfa5aaa\",\"9099\":\"4e5ff995\",\"9113\":\"76e2de12\",\"9232\":\"5c3401ef\",\"9236\":\"e05a32a6\",\"9311\":\"d9f0acbc\",\"9384\":\"dbed806a\",\"9476\":\"5a051b83\",\"9581\":\"dcdb60a1\",\"9637\":\"96af2b91\",\"9684\":\"722fad2b\",\"9710\":\"6bb10454\",\"9738\":\"17d17a36\",\"9856\":\"51f2956c\",\"9870\":\"1e0dbc7f\",\"9891\":\"f756d7a2\",\"9946\":\"5e885642\"}[chunkId] + \".js\";\n};","// This function allow to reference async chunks\n__webpack_require__.miniCssF = function(chunkId) {\n\t// return url for filenames based on template\n\treturn \"css/\" + chunkId + \".\" + {\"126\":\"1c24940f\",\"143\":\"ac728857\",\"401\":\"4149415b\",\"635\":\"f849b3f1\",\"967\":\"72c8c98f\",\"1802\":\"32ec082e\",\"2568\":\"6fac7cd8\",\"3147\":\"45781634\",\"3545\":\"2412eeb4\",\"4052\":\"63e96376\",\"4748\":\"fc757a13\",\"5430\":\"4794afa8\",\"5528\":\"45781634\",\"6780\":\"0780c10b\",\"6866\":\"081b4583\",\"7130\":\"c4ced7cf\",\"7250\":\"7090fc57\",\"7312\":\"81053aa2\",\"7341\":\"c9b64985\",\"7957\":\"e76d18ce\",\"8648\":\"4b50bc38\",\"8775\":\"bbca74ef\"}[chunkId] + \".css\";\n};","__webpack_require__.g = (function() {\n\tif (typeof globalThis === 'object') return globalThis;\n\ttry {\n\t\treturn this || new Function('return this')();\n\t} catch (e) {\n\t\tif (typeof window === 'object') return window;\n\t}\n})();","__webpack_require__.hmd = function(module) {\n\tmodule = Object.create(module);\n\tif (!module.children) module.children = [];\n\tObject.defineProperty(module, 'exports', {\n\t\tenumerable: true,\n\t\tset: function() {\n\t\t\tthrow new Error('ES Modules may not assign module.exports or exports.*, Use ESM export syntax, instead: ' + module.id);\n\t\t}\n\t});\n\treturn module;\n};","__webpack_require__.o = function(obj, prop) { return Object.prototype.hasOwnProperty.call(obj, prop); }","var inProgress = {};\nvar dataWebpackPrefix = \"@radiantearth/stac-browser:\";\n// loadScript function to load a script via script tag\n__webpack_require__.l = function(url, done, key, chunkId) {\n\tif(inProgress[url]) { inProgress[url].push(done); return; }\n\tvar script, needAttach;\n\tif(key !== undefined) {\n\t\tvar scripts = document.getElementsByTagName(\"script\");\n\t\tfor(var i = 0; i < scripts.length; i++) {\n\t\t\tvar s = scripts[i];\n\t\t\tif(s.getAttribute(\"src\") == url || s.getAttribute(\"data-webpack\") == dataWebpackPrefix + key) { script = s; break; }\n\t\t}\n\t}\n\tif(!script) {\n\t\tneedAttach = true;\n\t\tscript = document.createElement('script');\n\n\t\tscript.charset = 'utf-8';\n\t\tscript.timeout = 120;\n\t\tif (__webpack_require__.nc) {\n\t\t\tscript.setAttribute(\"nonce\", __webpack_require__.nc);\n\t\t}\n\t\tscript.setAttribute(\"data-webpack\", dataWebpackPrefix + key);\n\n\t\tscript.src = url;\n\t}\n\tinProgress[url] = [done];\n\tvar onScriptComplete = function(prev, event) {\n\t\t// avoid mem leaks in IE.\n\t\tscript.onerror = script.onload = null;\n\t\tclearTimeout(timeout);\n\t\tvar doneFns = inProgress[url];\n\t\tdelete inProgress[url];\n\t\tscript.parentNode && script.parentNode.removeChild(script);\n\t\tdoneFns && doneFns.forEach(function(fn) { return fn(event); });\n\t\tif(prev) return prev(event);\n\t}\n\tvar timeout = setTimeout(onScriptComplete.bind(null, undefined, { type: 'timeout', target: script }), 120000);\n\tscript.onerror = onScriptComplete.bind(null, script.onerror);\n\tscript.onload = onScriptComplete.bind(null, script.onload);\n\tneedAttach && document.head.appendChild(script);\n};","// define __esModule on exports\n__webpack_require__.r = function(exports) {\n\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n\t}\n\tObject.defineProperty(exports, '__esModule', { value: true });\n};","__webpack_require__.nmd = function(module) {\n\tmodule.paths = [];\n\tif (!module.children) module.children = [];\n\treturn module;\n};","__webpack_require__.p = \"/stac-browser/\";","if (typeof document === \"undefined\") return;\nvar createStylesheet = function(chunkId, fullhref, oldTag, resolve, reject) {\n\tvar linkTag = document.createElement(\"link\");\n\n\tlinkTag.rel = \"stylesheet\";\n\tlinkTag.type = \"text/css\";\n\tif (__webpack_require__.nc) {\n\t\tlinkTag.nonce = __webpack_require__.nc;\n\t}\n\tvar onLinkComplete = function(event) {\n\t\t// avoid mem leaks.\n\t\tlinkTag.onerror = linkTag.onload = null;\n\t\tif (event.type === 'load') {\n\t\t\tresolve();\n\t\t} else {\n\t\t\tvar errorType = event && event.type;\n\t\t\tvar realHref = event && event.target && event.target.href || fullhref;\n\t\t\tvar err = new Error(\"Loading CSS chunk \" + chunkId + \" failed.\\n(\" + errorType + \": \" + realHref + \")\");\n\t\t\terr.name = \"ChunkLoadError\";\n\t\t\terr.code = \"CSS_CHUNK_LOAD_FAILED\";\n\t\t\terr.type = errorType;\n\t\t\terr.request = realHref;\n\t\t\tif (linkTag.parentNode) linkTag.parentNode.removeChild(linkTag)\n\t\t\treject(err);\n\t\t}\n\t}\n\tlinkTag.onerror = linkTag.onload = onLinkComplete;\n\tlinkTag.href = fullhref;\n\n\n\tif (oldTag) {\n\t\toldTag.parentNode.insertBefore(linkTag, oldTag.nextSibling);\n\t} else {\n\t\tdocument.head.appendChild(linkTag);\n\t}\n\treturn linkTag;\n};\nvar findStylesheet = function(href, fullhref) {\n\tvar existingLinkTags = document.getElementsByTagName(\"link\");\n\tfor(var i = 0; i < existingLinkTags.length; i++) {\n\t\tvar tag = existingLinkTags[i];\n\t\tvar dataHref = tag.getAttribute(\"data-href\") || tag.getAttribute(\"href\");\n\t\tif(tag.rel === \"stylesheet\" && (dataHref === href || dataHref === fullhref)) return tag;\n\t}\n\tvar existingStyleTags = document.getElementsByTagName(\"style\");\n\tfor(var i = 0; i < existingStyleTags.length; i++) {\n\t\tvar tag = existingStyleTags[i];\n\t\tvar dataHref = tag.getAttribute(\"data-href\");\n\t\tif(dataHref === href || dataHref === fullhref) return tag;\n\t}\n};\nvar loadStylesheet = function(chunkId) {\n\treturn new Promise(function(resolve, reject) {\n\t\tvar href = __webpack_require__.miniCssF(chunkId);\n\t\tvar fullhref = __webpack_require__.p + href;\n\t\tif(findStylesheet(href, fullhref)) return resolve();\n\t\tcreateStylesheet(chunkId, fullhref, null, resolve, reject);\n\t});\n}\n// object to store loaded CSS chunks\nvar installedCssChunks = {\n\t3524: 0\n};\n\n__webpack_require__.f.miniCss = function(chunkId, promises) {\n\tvar cssChunks = {\"126\":1,\"143\":1,\"401\":1,\"635\":1,\"967\":1,\"1802\":1,\"2568\":1,\"3147\":1,\"3545\":1,\"4052\":1,\"4748\":1,\"5430\":1,\"5528\":1,\"6780\":1,\"6866\":1,\"7130\":1,\"7250\":1,\"7312\":1,\"7341\":1,\"7957\":1,\"8648\":1,\"8775\":1};\n\tif(installedCssChunks[chunkId]) promises.push(installedCssChunks[chunkId]);\n\telse if(installedCssChunks[chunkId] !== 0 && cssChunks[chunkId]) {\n\t\tpromises.push(installedCssChunks[chunkId] = loadStylesheet(chunkId).then(function() {\n\t\t\tinstalledCssChunks[chunkId] = 0;\n\t\t}, function(e) {\n\t\t\tdelete installedCssChunks[chunkId];\n\t\t\tthrow e;\n\t\t}));\n\t}\n};\n\n// no hmr\n\n// no prefetching\n\n// no preloaded","// no baseURI\n\n// object to store loaded and loading chunks\n// undefined = chunk not loaded, null = chunk preloaded/prefetched\n// [resolve, reject, Promise] = chunk loading, 0 = chunk loaded\nvar installedChunks = {\n\t3524: 0\n};\n\n__webpack_require__.f.j = function(chunkId, promises) {\n\t\t// JSONP chunk loading for javascript\n\t\tvar installedChunkData = __webpack_require__.o(installedChunks, chunkId) ? installedChunks[chunkId] : undefined;\n\t\tif(installedChunkData !== 0) { // 0 means \"already installed\".\n\n\t\t\t// a Promise means \"currently loading\".\n\t\t\tif(installedChunkData) {\n\t\t\t\tpromises.push(installedChunkData[2]);\n\t\t\t} else {\n\t\t\t\tif(5430 != chunkId) {\n\t\t\t\t\t// setup Promise in chunk cache\n\t\t\t\t\tvar promise = new Promise(function(resolve, reject) { installedChunkData = installedChunks[chunkId] = [resolve, reject]; });\n\t\t\t\t\tpromises.push(installedChunkData[2] = promise);\n\n\t\t\t\t\t// start chunk loading\n\t\t\t\t\tvar url = __webpack_require__.p + __webpack_require__.u(chunkId);\n\t\t\t\t\t// create error before stack unwound to get useful stacktrace later\n\t\t\t\t\tvar error = new Error();\n\t\t\t\t\tvar loadingEnded = function(event) {\n\t\t\t\t\t\tif(__webpack_require__.o(installedChunks, chunkId)) {\n\t\t\t\t\t\t\tinstalledChunkData = installedChunks[chunkId];\n\t\t\t\t\t\t\tif(installedChunkData !== 0) installedChunks[chunkId] = undefined;\n\t\t\t\t\t\t\tif(installedChunkData) {\n\t\t\t\t\t\t\t\tvar errorType = event && (event.type === 'load' ? 'missing' : event.type);\n\t\t\t\t\t\t\t\tvar realSrc = event && event.target && event.target.src;\n\t\t\t\t\t\t\t\terror.message = 'Loading chunk ' + chunkId + ' failed.\\n(' + errorType + ': ' + realSrc + ')';\n\t\t\t\t\t\t\t\terror.name = 'ChunkLoadError';\n\t\t\t\t\t\t\t\terror.type = errorType;\n\t\t\t\t\t\t\t\terror.request = realSrc;\n\t\t\t\t\t\t\t\tinstalledChunkData[1](error);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t};\n\t\t\t\t\t__webpack_require__.l(url, loadingEnded, \"chunk-\" + chunkId, chunkId);\n\t\t\t\t} else installedChunks[chunkId] = 0;\n\t\t\t}\n\t\t}\n};\n\n// no prefetching\n\n// no preloaded\n\n// no HMR\n\n// no HMR manifest\n\n__webpack_require__.O.j = function(chunkId) { return installedChunks[chunkId] === 0; };\n\n// install a JSONP callback for chunk loading\nvar webpackJsonpCallback = function(parentChunkLoadingFunction, data) {\n\tvar chunkIds = data[0];\n\tvar moreModules = data[1];\n\tvar runtime = data[2];\n\t// add \"moreModules\" to the modules object,\n\t// then flag all \"chunkIds\" as loaded and fire callback\n\tvar moduleId, chunkId, i = 0;\n\tif(chunkIds.some(function(id) { return installedChunks[id] !== 0; })) {\n\t\tfor(moduleId in moreModules) {\n\t\t\tif(__webpack_require__.o(moreModules, moduleId)) {\n\t\t\t\t__webpack_require__.m[moduleId] = moreModules[moduleId];\n\t\t\t}\n\t\t}\n\t\tif(runtime) var result = runtime(__webpack_require__);\n\t}\n\tif(parentChunkLoadingFunction) parentChunkLoadingFunction(data);\n\tfor(;i < chunkIds.length; i++) {\n\t\tchunkId = chunkIds[i];\n\t\tif(__webpack_require__.o(installedChunks, chunkId) && installedChunks[chunkId]) {\n\t\t\tinstalledChunks[chunkId][0]();\n\t\t}\n\t\tinstalledChunks[chunkId] = 0;\n\t}\n\treturn __webpack_require__.O(result);\n}\n\nvar chunkLoadingGlobal = self[\"webpackChunk_radiantearth_stac_browser\"] = self[\"webpackChunk_radiantearth_stac_browser\"] || [];\nchunkLoadingGlobal.forEach(webpackJsonpCallback.bind(null, 0));\nchunkLoadingGlobal.push = webpackJsonpCallback.bind(null, chunkLoadingGlobal.push.bind(chunkLoadingGlobal));","// startup\n// Load entry module and return exports\n// This entry module depends on other loaded chunks and execution need to be delayed\nvar __webpack_exports__ = __webpack_require__.O(undefined, [504], function() { return __webpack_require__(81943); })\n__webpack_exports__ = __webpack_require__.O(__webpack_exports__);\n"],"names":["render","_vm","this","_c","_self","directives","name","rawName","value","load","expression","modifiers","class","classes","attrs","isList","hasImage","_b","staticClass","thumbnail","_e","data","catalog","fileFormats","length","description","deprecated","_v","_s","$t","_l","format","key","_f","showKeywordsInCatalogCards","keywords","temporalExtent","domProps","_t","staticRenderFns","components","StacLink","Keywords","filters","summarize","text","Utils","summarizeMd","formatMediaType","shorten","mixins","ThumbnailCardMixin","StacFieldsMixin","formatTemporalExtent","props","type","Object","required","computed","mapState","mapGetters","push","getStac","_this$data","_this$data$extent","_this$data$extent$tem","isCollection","extent","temporal","interval","Array","isArray","getFileFormats","getMetadata","methods","visible","STAC","$store","commit","href","component","title","catalogCount","model","view","callback","$$v","isComplete","catalogs","sort","filterPlaceholder","searchTerm","allKeywords","limitText","selectedKeywords","showPagination","ref","pagination","on","paginate","hasSearchCritera","catalogView","loading","cardsComponent","tag","cardsComponentProps","scopedSlots","_u","fn","hasMore","loadMore","$event","toggle","id","BIconBricks","BIconListTask","String","default","selectedValue","$emit","ViewButtons","columns","get","state","cardViewMode","set","dispatch","Catalog","Loading","Pagination","SearchBox","SortButtons","Multiselect","ViewMixin","collectionsOnly","Boolean","count","Number","$tc","values","some","link","allCatalogs","map","stac","filter","hasKeywords","every","keyword","includes","haystack","concat","search","collator","Intl","Collator","uiLanguage","slice","a","b","compare","getDisplayTitle","reverse","created","cardViewSort","placement","$refs","topPagination","scrollTo","$el","copyColor","preventDefault","stopPropagation","copy","apply","arguments","buttonProps","copyIcon","BIconClipboard","BIconClipboardCheck","BIconClipboardX","copyText","variant","status","startsWith","focus","document","activeElement","Clipboard","error","console","setTimeout","compact","inline","markup","allowHTML","reader","commonmark","writer","safe","smart","parsed","parse","dismissible","message","url","Error","queued","isDeprecated","hasDescription","item","properties","showKeywordsInItemCards","datetime","Registry","require","formatTimestamp","start_datetime","end_datetime","hasText","items","itemCount","api","allowFilter","hasFilters","filtersOpen","filterCount","apiFilters","emitFilter","chunkedItems","showMore","BCollapse","BIconSearch","Item","SearchFilter","showFilters","chunkSize","shownItems","size","sortby","watch","mounted","reset","small","fill","stretch","top","first","prev","next","last","tooltip","attributes","icon","displayTitle","fallbackTitle","Function","button","icons","getIcons","find","o","isLink","isStacBrowserLink","isStacMediaType","allowExternalAccess","isExternalUrl","stacBrowserNavigatesTo","rel","obj","to","isObject","assign","target","getBrowserPath","toBrowserPath","privateQueryParameters","uri","URI","addParameters","prefix","queryKey","hasQuery","addQuery","toString","getRequestUrl","fallback","module","exports","catalogUrl","catalogTitle","allowedDomains","detectLocaleFromBrowser","storeLocale","locale","fallbackLocale","supportedLocales","apiCatalogPriority","useTileLayerAsFallback","displayGeoTiffByDefault","buildTileUrlTemplate","asset","encodeURIComponent","stacProxyUrl","pathPrefix","historyMode","showThumbnailsAsAssets","geoTiffResolution","redirectLegacyUrls","itemsPerPage","defaultThumbnailSize","maxPreviewsOnMap","crossOriginMedia","requestHeaders","requestQueryParameters","socialSharing","preprocessSTAC","authConfig","Auth","constructor","options","changeListener","router","getButtonTitle","getLoginLabel","i18n","t","getLogoutLabel","getComponent","getComponentProps","init","login","confirmLogin","credentials","logout","confirmLogout","close","updateStore","_updateStore","defaultName","defaultIn","defaultFormatter","formatter","in_","in","undefined","query","cookie","header","create","config","method","scheme","BasicAuth","ApIKey","OIDC","equals","JSON","stringify","BrowserStorage","enabled","engine","setItem","getItem","removeItem","session","window","sessionStorage","navigator","cookieEnabled","Cookies","NoOp","localStorage","JSON_INDICATOR","remove","clear","_defineProperty","getExpiry","minutes","date","Date","setTime","getTime","epires","toGMTString","expires","parts","split","c","trim","substring","decodeURIComponent","warn","CQL_TEXT","CQL_JSON","CQL_ADV_COMPARISON","TYPES","Items","BasicFilters","CollectionIdFilter","ItemIdFilter","CqlFilters","Sort","FreeText","Global","Collections","conformances","canSort","supportsConformance","canFilterExtents","canFilterFreeText","cql","textMode","jsonMode","advancedComparison","functions","mixin","showThumbnail","isItem","thumbnails","getThumbnails","width","height","src","alt","crossorigin","right","blankColor","AuthUtils","resolveAuth","context","isSupported","schema","convertLegacyAuthConfig","CONFIG_PATH","CONFIG_CLI","STAC_BROWSER_CONFIG","Vue","use","VueI18n","API_LANGUAGE_CONFORMANCE","LOCALE_CONFIG","loadLocaleConfig","CONFIG","messages","languages","postTranslation","path","loadDefaultMessages","Promise","all","loadMessages","async","mergeLocaleMessage","executeCustomFunctions","customizeFiles","customize","p","file","translateFields","vars","te","Fields","stringLocale","keywordPos","indexOf","substr","localeWithoutKeyword","replace","language","shift","retVar","toLowerCase","pop","toUpperCase","country","script","prepareSupported","supported","lgs","forEach","supportedLocale","countries","firstCountry","main","lg","getBest","defaultLocale","getAnyCountry","showLogin","globalError","hideError","sidebar","displayCatalogTitle","browserVersion","proxy","isExternal","errorDescription","errorId","tab","selectedAsset","dataChanged","hasAssets","assets","shownAssets","showAsset","additionalLinks","collectionLink","providers","ignoredMetadataFields","shownAssetsOnMap","shownBandsOnMap","selectedAssetKey","keys","thumbnailRefs","isThumbnail","tabs","bands","meta","toBrowserUrl","store","getters","location","origin","fragment","removeTrailingSlash","addSpatialCoverage","bbox","spatialCoverage","geo","box","join","formatTemporalCoverage","dates","dt","makeAssets","contentUrl","toAbsolute","getAbsoluteUrl","encodingFormat","makeLinks","links","isBasedOn","fallbackDescription","makeProvider","role","roles","email","mail","stacType","container","collection","tc","inX","createBaseSchema","_data$getMetadata","thumbnailUrl","stacUrl","inLanguage","code","license","_data$getLinkWithRel","getLinkWithRel","copyrightHolder","producer","provider","creator","citation","identifier","dateCreated","dateModified","datePublished","version","image","createCatalogSchema","parents","i","findIndex","_data$extent","_data$extent$temporal","_data$extent2","_data$extent2$spatial","temporalCoverage","spatial","associatedMedia","hasPart","dataset","isPartOf","createItemSchema","includedInDataCatalog","start","end","distribution","addSchemaToDocument","doc","element","getElementById","createElement","head","appendChild","innerText","AnonymizedNotice","Assets","BTabs","BTab","CollectionLink","Description","DeprecationNotice","Links","Map","Metadata","Providers","ReadMore","Thumbnails","ShowAssetMixin","immediate","handler","parentLink","cc","cssStacType","mixed","hasCatalogs","hasItems","empty","licenses","temporalExtents","linkPosition","hasThumbnails","mapData","hasItemAssets","item_assets","nextCollectionsLink","loadMoreCollections","isApi","itemPages","apiItemsLoading","paginateItems","filterItems","filtersShown","Catalogs","formatLicense","formatTemporalExtents","_this$data2","stateQueryParameters","getApiItemsLoading","summaries","extents","_this$data3","pages","apiItemsPagination","apiItemsLink","addFiltersToLink","getApiItemsLink","features","rootLink","show","$root","msg","BrowseMixin","getPath","route","params","pathMatch","getRoutes","routes","loadParent","Browse","handleAuthError","cx","root","getStore","namespaced","actions","inProgress","canAuthenticate","rootState","isLoggedIn","mutations","setCredentials","setMethod","addAction","resetActions","setInProgress","waitForAuth","updateMethod","storage","newAuth","requestLogin","finalizeLogin","abortLogin","requestLogout","finalizeLogout","updateCredentials","intent","executeActions","catch","localDefaults","localRequestQueryParameters","itemdef","apiItems","catalogDefaults","queue","authActions","conformsTo","dataLanguage","dataLanguages","apiCollections","Vuex","strict","process","modules","auth","database","allowSelectCatalog","globalRequestQueryParameters","source","returnErrorObject","absoluteUrl","_state$data","isCatalog","_state$data2","isCatalogLike","_state$data3","_state$data4","_","_state$data5","getStacLinkWithRel","createLink","getLinksWithRels","segment","_state$data6","classRegexp","replaceAll","regexp","RegExp","match","supportsExtension","schemaUri","canSearch","canSearchCollections","canSearchItems","getStacLinksWithRel","hasCollections","getApiCollectionsLink","hasChilds","showCollections","showChilds","addMissingChildren","_state$data7","getLinksWithOtherRels","stacBrowserSpecialHandling","canBrowserDisplayImage","relative","absolute","unproxyUrl","relativeTo","protocol","authority","q","fromBrowserPath","externalRE","endsWith","whitelist","domain","is","relativeStr","baseUrl","addLocalQueryParams","proxyUrl","addQueryIfNotExists","acceptedLanguages","entries","l","setQueryParameter","delete","setRequestHeader","requestAuth","doAuth","setAuthData","authData","newState","updateState","openCollapsible","uid","idx","closeCollapsible","updateLoading","loaded","processSTAC","resetCatalog","clearAll","resetPage","setPageMetadata","showPage","unshift","lang","errored","unqueue","splice","removeFromQueue","num","setConformanceClasses","setApiItemsLink","toggleApiItemsLoading","collectionId","setApiItems","feature","getPaginationLinks","setApiData","addApiCollections","collections","nextLink","resetApiItems","showGlobalError","trace","oldConfig","switchLocale","userSelected","dataLanguageCodes","dataLanguageFallback","I18N","loadBackground","urls","promises","loadParents","parentStac","tryLogin","action","BrowserError","args","force","noRetry","hasData","isPotentiallyIncomplete","response","stacRequest","localeLink","getLocaleLink","conformanceLink","isAuthenticationError","loadApiItems","selfLink","_cx$getters$root","apiCollectionsLink","markPotentiallyIncomplete","loadNextApiCollections","loadOgcApiConformance","loadGeoJson","retryAfterAuth","errorFn","isStacChooser","containerLink","back","selfBrowserLink","parentLinkTitle","collectionLinkTitle","searchBrowserLink","isSearchPage","authTitle","logInOut","authIcon","authLabel","showRoot","rootTitle","currentLanguage","native","global","supportsLanguageExt","ui","stacId","stacVersion","browserUrl","enableSocialSharing","sharingMessage","label","open","BFormGroup","BFormInput","BIconArrowUpRightSquare","BInputGroup","BInputGroupAppend","CopyButton","service","Email","Bsky","Mastodon","X","urlTemplates","bsky","mastodon","x","uriText","uriTitle","uriUrl","LANGUAGE_EXT","BDropdown","BDropdownItem","BIconBlank","BIconBox","BIconCheck","BIconExclamationTriangle","BIconFlag","BIconLink","BIconShare","BPopover","RootStats","Url","SocialSharing","Validation","_this$stac","stac_version","_this$stac2","newLang","alternate","uiSupported","dataSupported","mapActions","BIconArrow90degUp","BIconArrowLeft","BIconBook","BIconFolderSymlink","BIconLock","BIconUnlock","Source","authMethod","$route","searchLink","getSearchLink","equalUrl","mapMutations","$router","currentRoute","authComponent","submit","ApiKey","Basic","authComponentProps","beforeCreate","AlertPlugin","ButtonGroupPlugin","ButtonPlugin","BadgePlugin","CardPlugin","LayoutPlugin","SpinnerPlugin","directive","VBToggle","VBVisible","VueRouter","mode","base","Props","Watchers","newValue","Authentication","ErrorAlert","Sidebar","StacHeader","onDataLoaded","detectLocaleFromBrowserFromVueX","supportedLocalesFromVueX","storeLocaleFromVueX","STAC_BROWSER_VERSION","setAttribute","summary","$i18n","documentElement","deep","duplicated","oldRoot","canChange","doReset","doSet","onReady","detectLocale","parseQuery","afterEach","from","resetOp","$on","showError","setInterval","best","_params$state","privateFromHash","hash","private","realKey","localRequest","then","h","StacBrowser","$mount","productionTip","stacObjCounter","migrate","_id","_url","_path","_apiChildrenListeners","_incomplete","_apiChildren","list","Migrate","isItemCollection","hasApiData","setApiDataListener","listener","v","getChildren","priority","children","isMediaType","geojsonMediaType","post","field","available","hreflang","allowEmpty","rels","getAssetsWithRoles","matches","sources","getTitle","titleForHref","_linkToAbsolute","img","browserOnly","prefer","other","stacHierarchy","stacPagination","ogcQueryables","ogcRelPrefix","stacRequestOptions","headers","Accept","body","axiosOptions","axios","freeze","_error$response","commonFileNames","schemaMediaType","stacMediaTypes","browserImageTypes","cogMediaTypes","geotiffMediaTypes","browserProtocols","imageMediaTypes","mapMediaTypes","super","types","string","shortenTitle","fullStr","strLen","separator","sepLen","charsToShow","frontChars","Math","ceil","backChars","floor","isGdalVfsUri","normalizeUri","noParams","absoluteTo","normalize","str","uri1","uri2","maxLength","removeMd","el","rect","getBoundingClientRect","isVisible","innerHeight","bottom","scrollIntoView","behavior","block","dateFromUTC","getTimezoneOffset","dateToUTC","formatDatetimeQuery","toISOString","formatSortbyForPOST","direction","pageLinks","pageLink","isEmpty","isFinite","limit","toJSON","removeQuery","toText","setQuery","preferFileName","filename","dir","directory","suffix","getValueFromObjectUsingPath","object","searchterm","and","splitChars","s","term","pattern","test","mergeDeep","isAxiosError","res","oldPath","redirectLegacyUrl","part","decode","newPath","webpackAsyncContext","req","__webpack_require__","resolve","e","ids","webpackContext","webpackContextResolve","__webpack_module_cache__","moduleId","cachedModule","__webpack_modules__","call","m","webpackQueues","Symbol","webpackExports","webpackError","resolveQueue","d","r","wrapDeps","deps","dep","ret","hasAwait","currentDeps","outerResolve","reject","depQueues","Set","promise","rej","getResult","fnQueue","has","add","err","deferred","O","result","chunkIds","notFulfilled","Infinity","fulfilled","j","n","getter","__esModule","leafPrototypes","getProto","getPrototypeOf","__proto__","ns","def","current","getOwnPropertyNames","definition","defineProperty","enumerable","f","chunkId","reduce","u","miniCssF","g","globalThis","hmd","prop","prototype","hasOwnProperty","dataWebpackPrefix","done","needAttach","scripts","getElementsByTagName","getAttribute","charset","timeout","nc","onScriptComplete","event","onerror","onload","clearTimeout","doneFns","parentNode","removeChild","bind","toStringTag","nmd","paths","createStylesheet","fullhref","oldTag","linkTag","nonce","onLinkComplete","errorType","realHref","request","insertBefore","nextSibling","findStylesheet","existingLinkTags","dataHref","existingStyleTags","loadStylesheet","installedCssChunks","miniCss","cssChunks","installedChunks","installedChunkData","loadingEnded","realSrc","webpackJsonpCallback","parentChunkLoadingFunction","moreModules","runtime","chunkLoadingGlobal","self","__webpack_exports__"],"sourceRoot":""} \ No newline at end of file