UNPKG

graphdb-workbench

Version:
3 lines 41.3 kB
/*! For license information please see 20310.15a5b546ebe02134be46.bundle.js.LICENSE.txt */ export const __webpack_id__=20310;export const __webpack_ids__=[3640,4780,6275,9952,13395,20310,39910,44806,48607,50876,55947,58984];export const __webpack_modules__={3640:()=>{angular.module("graphdb.framework.rest.graphexplore.savedgraphs.service",[]).factory("SavedGraphsRestService",t),t.$inject=["$http"];const e="rest/explore-graph/saved";function t(t){return{getSavedGraphs:function(){return t.get(e)},getSavedGraph:function(r){return t.get(`${e}/${encodeURIComponent(r)}`)},editSavedGraph:function(r){return t.put(`${e}/${encodeURIComponent(r.id)}`,r)},deleteSavedGraph:function(r){return t.delete(`${e}/${encodeURIComponent(r.id)}`)},addNewSavedGraph:function(r){return t.post(e,r)}}}},4780:()=>{function e(){return{restrict:"AE",scope:{filterQueryObj:"=",filterFunction:"&",listItemsObj:"=",listItemsNotFiltered:"=",searchPlaceholder:"@"},templateUrl:"js/angular/graphexplore/templates/listItemsSearchFilterTemplate.html",link:function(e){e.filterFunction=e.filterFunction(),e.$watch("filterQueryObj.query",function(){var t,r,n,a;e.listItemsObj.items=(t=e.filterQueryObj.query,r=e.listItemsObj.items,n=e.listItemsNotFiltered,a=e.filterFunction,t.length>0?_.filter(n,a):r.length!==n.length?n:r)})}}}angular.module("graphdb.framework.graphexplore.directives.searchfilter",[]).directive("listItemsSearchFilter",e),e.$inject=[]},6275:()=>{function e(e){return{restrict:"AE",scope:{rdfsLabel:"=",rdfsComment:"=",expanded:"=",alwaysExpanded:"="},templateUrl:"js/angular/graphexplore/templates/rdfsCommentLabelTemplate.html",link:function(t,r){t.stringLimit=e,t.scrollToTop=function(){r[0].getElementsByClassName("rdfs-comment")[0].scrollTop=0},t.checkCommentLength=function(){return r[0].getElementsByClassName("rdfs-comment-text")[0].innerText.length<e},t.equalHeights=function(){const e=r[0].getElementsByClassName("rdfs-comment-text")[0].innerHeight;e<250&&t.expanded&&(r[0].getElementsByClassName("rdfs-comment")[0].innerHeight=e)},t.toggleFullComment=function(){t.expanded=!t.expanded},t.$watch("expanded || alwaysExpanded",function(r){t.stringLimit=r?t.rdfsComment.length:e})}}}angular.module("graphdb.framework.graphexplore.directives.rdfsdetails",[]).directive("rdfsCommentLabel",e).constant("SHORT_COMMENT_LENGTH",100),e.$inject=["SHORT_COMMENT_LENGTH"]},9952:()=>{angular.module("graphdb.framework.rest.graphexplore.data.service",[]).factory("GraphDataRestService",a),a.$inject=["$http"];const e="rest/class-hierarchy",t="rest/domain-range",r="rest/dependencies",n="rest/explore-graph";function a(a){return{getClassHierarchyData:function(t){return a.get(e,{params:{graphURI:t}})},reloadClassHierarchy:function(t){return a.get(e,{params:{doReload:!0,graphURI:t}})},getClassInstances:function(t){return a.get(`${e}/class-instances`,{params:{targetUri:t}})},getDomainRangeData:function(e,r){return a.get(t,{params:{targetUri:e,collapsed:r}})},checkDomainRangeData:function(e){return a.head(t,{params:{targetUri:e}})},getRelationshipsData:function(e,t,n){return a.get(`${r}/matrix`,{params:{mode:t,classes:_.map(e,function(e){return e.name}),graphURI:n}})},getRelationshipsClasses:function(e,t){return a.get(`${r}/classes`,{params:{mode:e,graphURI:t}})},getRelationshipsStatus:function(e){return a.get(`${r}/status`,{params:{graphURI:e}})},calculateRelationships:function(e){return a.get(`${r}/update`,{params:{graphURI:e}})},getPredicates:function(e,t,n){return a.get(`${r}/predicates`,{params:{from:e,to:t,mode:"all",graphURI:n}})},getInstanceNode:function(e){return a.get(`${n}/node`,{params:e})},getInstanceNodeLinks:function(e){return a.get(`${n}/links`,{params:e})},getProperties:function(e){return a.get(`${n}/properties`,{params:e})},updateGraph:function(e){let t={headers:{"Content-Type":"application/json"}};return t=Object.assign(t,e),a.post(`${n}/graph`,t)},getRdfsLabelAndComment:function(e,t,r){const n=r||{};return a({url:"rest/explore/details",method:"GET",params:_.extend(n,{uri:e,languages:t}),headers:{Accept:"application/json"}})}}}},13395:()=>{function e(e){return{initLazyList:function(t,r,n,a,s){return e(function(){const e=t+a-1,o=Math.max(0-a,e),i=Math.min(e+r-1,s.length);o>i?n([]):$.isArray(s)&&n(s.slice(o,i+1))},100,!0)}}}angular.module("graphdb.framework.graphexplore.services.uiscroll",[]).factory("UiScrollService",e),e.$inject=["$timeout"]},17458:(e,t,r)=>{r.r(t);var n=r(13853);angular.module("graphdb.framework.rest.graphconfig.service",[]).factory("GraphConfigRestService",o);const a="rest/explore-graph",s=`${a}/config`;function o(e){return{getGraphConfigs:function(){return e.get(s)},getGraphConfigSamples:function(){return e.get(`${a}/samples`)},loadGraphForConfig:function(t,r,n,a){return e.get(`${s}/graph/${encodeURIComponent(t.id)}?includeInferred=${r}&linksLimit=${n}&sameAsState=${a}`)},getConfig:function(t){return e.get(`${s}/${encodeURIComponent(t)}`).then(e=>(0,n.mapGraphsConfigResponseToModel)(e.data))},createGraphConfig:function(t){return e.post(s,t)},updateGraphConfig:function(t){return e.put(`${s}/${encodeURIComponent(t.id)}`,t)},deleteGraphConfig:function(t){return e.delete(`${s}/${encodeURIComponent(t.id)}`)},validateQuery:function(t,r,n,s,o){return e({method:"POST",url:`${a}/validate`,data:{query:t,queryType:r,params:n,all:s,oneOf:o}})}}}o.$inject=["$http"]},20310:(e,t,r)=>{r.r(t),r(82493),r(60116),r(5687),r(76933),r(60854),r(41962),r(62979),r(75468),r(96227),r(50167),r(73053),r(44645),r(19935),r(64088),r(88141),r(9952),r(13395),r(48607),r(3640),r(17458),r(50876),r(39910),r(55947),r(39518),r(96367),r(99448),r(38644),r(44806),r(6275),r(85759),r(4780),r(58984),r(93098),angular.module("graphdb.framework.graphexplore",["graphdb.framework.core.controllers","graphdb.framework.core.directives","graphdb.framework.rest.graphexplore.data.service","graphdb.framework.graphexplore.services.uiscroll","graphdb.framework.graphexplore.services.rdfsdetails","graphdb.framework.rest.graphexplore.savedgraphs.service","graphdb.framework.rest.graphconfig.service","graphdb.framework.graphexplore.controllers.class","graphdb.framework.graphexplore.controllers.domainrange","graphdb.framework.graphexplore.controllers.dependencies","graphdb.framework.graphexplore.controllers.graphviz","graphdb.framework.graphexplore.controllers.graphviz.config","graphdb.framework.graphexplore.directives.sysrepo","graphdb.framework.graphexplore.directives.rdfsdetails","graphdb.framework.graphexplore.directives.searchfilter","graphdb.framework.graphexplore.directives.class","graphdb.framework.graphexplore.directives.domainrange","graphdb.framework.graphexplore.directives.dependencies","graphdb.framework.graphexplore.directives.searchcontrols","graphdb.framework.core.directives.yasgui-component"])},39910:(e,t,r)=>{function n(e,t,r,n,a,s,o,i,c,l,u,d,p){e.predicatesObj={},e.predicatesQueryObj={},e.predicatesObj.items=[],e.predicatesQueryObj.query="",e.predicatesListNotFiltered=[],e.predicatesSearchPlaceholder="Search predicates",e.onopen=e.onclose=()=>angular.noop();const g={};let h=0,f=0;r.key="",g.get=function(t,r,n){return l.initLazyList(t,r,n,h,e.predicatesObj.items)},r.$watch(function(){return r.key},function(){h=0,_.each(e.predicatesObj.items,function(e){r.key>e&&h++}),f++}),g.revision=function(){return f},e.adapterContainer={adapter:{remain:!0}};const m=o.get(i.DOMAIN_RANGE_COLLAPSE_EDGES);function v(){const e=o.get(i.CLASS_HIERARCHY_LAST_SELECTED_CLASS);t.search("").hash(e).path("hierarchy")}e.collapseEdges=null===m||"true"===m,e.datasource=g,e.$on("reloadDomainRangeGraphView",function(e,r){const n=r.objectPropClassUri,a=r.objectPropClassName;t.path("domain-range-graph").search("uri",n).search("name",a)}),e.$on("switchEdgeMode",function(e,r){t.path("domain-range-graph").search("uri",r.uri).search("name",r.name).search("collapsed",r.collapsed)}),e.$on("repositoryIsSet",function(){y!==a.getActiveRepository()&&(y=a.getActiveRepository(),v())}),e.$on("changeCollapsedEdgesState",function(t,r){e.collapseEdges=!r,o.set(i.DOMAIN_RANGE_COLLAPSE_EDGES,e.collapseEdges)}),e.goToClassHierarchyView=v,e.copyToClipboard=function(e){u.openCopyToClipboardModal(e)},e.toggleCollapseEdgesState=function(){e.collapseEdges=!e.collapseEdges,s.history.pushState({collapsed:e.collapseEdges},"domainRangePage",null)},e.predicatesListFilterFunc=function(t){return t.resolvedUri.toLowerCase().indexOf(e.predicatesQueryObj.query.toLowerCase())>=0},e.$watch("predicatesObj.items",function(){e.predicatesObj.items>0&&n(function(){e.adapterContainer.adapter.reload()},30)}),e.$watch("selectedPredicate",function(){e.showPredicatesInfoPanel&&function(t){const r=t.target,n=t.source;e.encodedUri=encodeURIComponent(t.uri),e.sourceTargetObjectNodeUri=r.objectPropClassUri?r.objectPropClassUri:n.objectPropClassUri,e.encodedSourceTargetObjectNodeUri=encodeURIComponent(e.sourceTargetObjectNodeUri),e.sourceTargetObjectNodeName=r.objectPropClassName?r.objectPropClassName:n.objectPropClassName?n.objectPropClassName:"<i>Literal</i>",-1===e.sourceTargetObjectNodeName.indexOf("Literal")?c.getRdfsLabelAndComment(e.sourceTargetObjectNodeUri).success(function(t){e.rdfsLabel=t.label,e.rdfsComment=t.comment}).error(function(){d.error(p.instant("domain.range.error.get.label.comment"))}):(e.rdfsComment=void 0,e.rdfsLabel=void 0),e.predicatesObj.items=[],e.predicatesQueryObj.query="";const a=r.allEdges?r.allEdges:n.allEdges;_.each(a,function(t){const r={};r.absUri=encodeURIComponent(t.uri),r.absUriNonEncoded=t.uri,r.resolvedUri=t.name,r.isImplicit=t.implicit,e.predicatesObj.items.push(r)}),e.predicatesListNotFiltered=e.predicatesObj.items}(e.selectedPredicate)}),$(document).ready(function(){$(".compact-mode-toggle").click(function(){$(".tooltip").hide()})});let y=a.getActiveRepository()}r.r(t),r(32150),angular.module("graphdb.framework.graphexplore.controllers.domainrange",["ui.scroll.jqlite","ui.scroll","ngSanitize","graphdb.framework.utils.localstorageadapter"]).controller("DomainRangeGraphCtlr",n),n.$inject=["$scope","$location","$rootScope","$timeout","$repositories","$window","LocalStorageAdapter","LSKeys","GraphDataRestService","UiScrollService","ModalService","toastr","$translate"]},44806:()=>{function e(e,t){return{restrict:"A",scope:{},templateUrl:"js/angular/graphexplore/templates/systemRepoWarningTemplate.html",link:function(r){r.isSystemRepository=function(){return"SYSTEM"===e.getActiveRepository()},r.hasPermission=function(){return t.hasPermission()}}}}angular.module("graphdb.framework.graphexplore.directives.sysrepo",["graphdb.framework.graphexplore.controllers.class"]).directive("systemRepoWarning",e),e.$inject=["$repositories","$rootScope"]},48607:()=>{angular.module("graphdb.framework.graphexplore.services.rdfsdetails",[]).factory("RdfsLabelCommentService",function(){return{processAndFilterLabelAndComment:function(e){function t(e){const t={};for(let r in e)if(e.hasOwnProperty(r)){let n=r;r.indexOf(":")>-1&&(n=r,r=r.split(":")[1].toLowerCase()),t[r]=e[n]}return t}const r=e.results.bindings,n=[],a=[];_.each(r,function(e){let r;angular.isUndefined(e.label)||(r=t(e.label),n.push(r)),angular.isUndefined(e.comment)||(r=t(e.comment),a.push(r))});const s=function(e){return"en"===e.lang||"de"===e.lang},o=$.grep(n,s)[0],i=$.grep(a,s)[0];return{rdfsLabel:angular.isUndefined(o)?n.length>0?n[0].value:void 0:o.value,rdfsComment:angular.isUndefined(i)?a.length>0?a[0].value:void 0:i.value}}}})},50876:(e,t,r)=>{r.r(t),r(32150);var n=r(57962);const a=1500;function s(e,t,r,s,o,i,c,l,u,d,p,g,h,f,m,v,y){e.hasMoreGraphs=!1,e.classHierarchyData={},e.instancesObj={},e.instancesQueryObj={},e.instancesObj.items=[],e.instancesNotFiltered=[],e.isWarningShowed=!1,e.onopen=e.onclose=()=>angular.noop(),e.currentBrowserLimit=2e3,h.firefox?e.currentBrowserLimit=50:(h.safari||h.msie||h.msedge)&&(e.currentBrowserLimit=400),e.graphsDropdownToggled=t=>{e.hasMoreGraphs&&t&&c.warning(y.instant("dependencies.graphs.too.many.warning",{graphsLimit:n.NumberUtils.formatNumberToLocaleString(1e3,y.use())}))};const C={};let b=0,S=0;t.key="",C.get=function(t,r,n){return u.initLazyList(t,r,n,b,e.instancesObj.items)};let x=allGraphs;const w=function(){if(e.getActiveRepository())return v.resolveGraphs(s.getActiveRepository(),1001).success(function(t){e.graphsInRepo=t.results.bindings,e.hasMoreGraphs=e.graphsInRepo.length>1002,R()}).error(function(t){e.repositoryError=getError(t),c.error(getError(t),y.instant("graphexplore.error.getting.graphs"))})},R=function(){const t=f.get(`classHierarchy-selectedGraph-${s.getActiveRepository()}`);null!==t&&e.graphsInRepo.some(e=>e.contextID.uri===t.contextID.uri)?x=t:f.set(`classHierarchy-selectedGraph-${s.getActiveRepository()}`,x)},I=function(){return e.instancesObj.items.length<1e3?y.instant("graphexplore.search.class.instances"):y.instant("graphexplore.search.first.class.instances")};t.$watch(function(){return t.key},function(){b=0,_.each(e.instancesObj.items,function(e){t.key>e&&b++}),S++}),C.revision=function(){return S},e.adapterContainer={adapter:{remain:!0}};const E=[];function O(t,r,n){var s;e.classCountSlider.options&&e.classCountSlider.options.ceil!==r&&(e.classCountSlider={}),e.classCountSlider.value||(e.showExternalElements=!0,e.classCountSlider={value:r,options:{floor:1,ceil:r,vertical:!0,showSelectionBar:!0,onChange:function(){p(D,100,!0)}}},null===f.get(m.CLASS_HIERARCHY_CURRENT_SLIDER_VALUE)&&r>e.currentBrowserLimit&&(s=e.currentBrowserLimit,h.chrome?c.warning(y.instant("graphexplore.disabling.animations",{classLimit:s}),y.instant("graphexplore.reducing.visual.effects")):c.warning(y.instant("graphexplore.browser.performance",{browser:h.name,classLimit:s}),y.instant("graphexplore.reducing.visual.effects"))));const o=f.get(m.CLASS_HIERARCHY_SWITCH_PREFIXES);null!=o&&"true"!==o&&(e.showExternalElements=!0),n?e.classCountSlider.value=n:r>=a&&(e.classCountSlider.value=a,c.warning(y.instant("graphexplore.class.count.slider",{count:a}),y.instant("graphexplore.reducing.class.count"))),r>=25&&!window.ActiveXObject&&"ActiveXObject"in window&&!e.isWarningShowed&&(e.classCountSlider.value=25,e.isWarningShowed=!0,c.warning(y.instant("graphexplore.class.count.browser",{count:25}),y.instant("graphexplore.reducing.class.count"))),p(function(){e.$broadcast("reCalcViewDimensions");const t=document.getElementById("rzslider");let r=0;t.addEventListener("wheel",function(t){t.preventDefault(),t.stopPropagation();const n=(new Date).getTime();if(!(n-r>100))return;r=n;let a=e.classCountSlider.value;const s=e.classCountSlider.options.step||1;t.deltaY<=-1?a+=s:t.deltaY>=1&&(a-=s),a=Math.max(e.classCountSlider.options.floor,Math.min(e.classCountSlider.options.ceil,a)),a!==e.classCountSlider.value&&e.$apply(function(){e.classCountSlider.value=a,p(D,100,!0)})})},200),D()}function D(){e.currentSliderValue=e.classCountSlider.value}function j(e){const t=e.data.fullName,n=e.data.name;l.checkDomainRangeData(t).success(function(e,a){204===a?c.warning(y.instant("graphexplore.no.domain.range",{name:n})):(f.set(m.CLASS_HIERARCHY_LAST_SELECTED_CLASS,r.hash()),r.hash("").path("domain-range-graph").search("uri",t).search("name",n))}).error(function(){c.error(y.instant("graphexplore.error.request.failed",{name:n}))})}function A(){r.replace().hash("1"),e.instancesObj.items=[],e.showExternalElements=!1,e.showClassInfoPanel=!1,f.clearClassHieararchyState(),e.hidePrefixes="true"===f.get(m.CLASS_HIERARCHY_HIDE_PREFIXES),e.currentSliderValue=void 0,e.classHierarchyData={},t.$broadcast("angucomplete-alt:clearInput")}function L(){e.hasClassHierarchy()&&p(function(){$("#toolbar").removeClass("ng-hide")},0)}E.push(e.$on("goToDomainRangeGraphView",function(e,t){j(t)})),E.push(e.$on("classCount",O)),E.push(e.$on("repositoryIsSet",function(){o.isLicenseValid()&&k!==s.getActiveRepository()&&(k=s.getActiveRepository(),e.repositoryError=null,k&&(x=allGraphs,w().then(U)))})),E.push(t.$on("$translateChangeSuccess",()=>{e.instancesSearchPlaceholder=I()})),E.push(e.$on("$destroy",()=>{E.forEach(e=>e())})),e.datasource=C,e.goToDomainRangeGraphView=j,e.toggleClassInfoSidePanel=function(){e.showClassInfoPanel=!e.showClassInfoPanel,t.$broadcast("sidePanelClosed")},e.toggleHidePrefixes=function(){e.hidePrefixes=!e.hidePrefixes},e.getActiveRepositoryNoError=function(){if(!e.repositoryError)return s.getActiveRepository()},e.isSystemRepository=function(){return s.isSystemRepository()},e.confirmReloadClassHierarchy=function(){g.openSimpleModal({title:y.instant("confirm.operation"),message:y.instant("graphexplore.calculating.hierarchy"),warning:!0}).result.then(function(){A(),e.loader=!0,e.hierarchyError=!1,l.reloadClassHierarchy(x.contextID.uri).success(function(t){e.loader=!1,e.classHierarchyData=t,L(),O()}).error(function(t){e.loader=!1,e.hierarchyError=getError(t),c.error(getError(t),y.instant("graphexplore.error.rdf.class.request"))})})},e.focusOnRoot=function(){e.$broadcast("rootFocus")},e.copyToClipboard=function(e){g.openCopyToClipboardModal(e)},e.searchedClassCallback=function(e){if(e){const r={name:e.title};t.$broadcast("searchedClass",r)}},e.instancesQueryObj.query="",e.instancesFilterFunc=function(t){return t.resolvedUri.toLowerCase().indexOf(e.instancesQueryObj.query.toLowerCase())>=0},w(),e.$watch("instancesObj.items",function(){e.instancesObj.items.length>0&&p(function(){e.adapterContainer.adapter.reload()},30)}),e.$watch("selectedClass",function(){e.showClassInfoPanel&&function(t){const r=t.data.fullName;let n=t.data.name;if(n===r){const e=n.lastIndexOf("#");n=n.substring(e+1)}e.encodedUri=encodeURIComponent(r);const a="prefix onto:<http://www.ontotext.com/>\nselect ?s {\n ?s a <"+r+"> .\n}";e.resourceViewInstancesUriParameters={name:n,infer:!0,sameAs:!1,query:a,execute:!0},l.getRdfsLabelAndComment(r).success(function(t){e.rdfsLabel=t.label,e.rdfsComment=t.comment,e.expanded=!1}).error(function(){c.error("Error getting rdfs:label and rdfs:comment")}),e.instancesQueryObj.query="",e.instancesLoader=!0,l.getClassInstances(r).success(function(t){e.instancesObj.items=[],_.each(t,function(t,r){const n={};n.type=t.startsWith("<<")&&t.endsWith(">>")?"triple":"uri",n.absUri=encodeURIComponent(t),n.absUriNonEncoded=t,n.resolvedUri=r,e.instancesObj.items.push(n)}),e.instancesLoader=!1,e.instancesSearchPlaceholder=I(),e.instancesNotFiltered=e.instancesObj.items}).error(function(){c.error(y.instant("graphexplore.error.instances.request"))})}(e.selectedClass)}),e.goToResourceView=()=>{r.path("sparql").search(e.resourceViewInstancesUriParameters)},$(document).ready(function(){$(".prefix-toggle").click(function(){$(".tooltip").hide()})});let k=s.getActiveRepository();function U(){A(),!e.isSystemRepository()&&e.isLicenseValid()&&(e.hierarchyError=!1,e.loader=!0,l.getClassHierarchyData(x.contextID.uri).success(function(t,r){e.showExternalElements=!0,e.loader=!1,e.classHierarchyData=t,207===r&&c.warning(y.instant("graphexplore.update.diagram"),y.instant("graphexplore.repository.data.changed")),L()}).error(function(t){e.loader=!1,e.hierarchyError=getError(t),c.error(getError(t),y.instant("graphexplore.error.rdf.class.request"))}))}e.hasClassHierarchy=function(){return e.classHierarchyData.classCount&&e.getActiveRepositoryNoError()&&!e.isSystemRepository()},e.isLicenseValid=function(){return o.isLicenseValid()},e.chosenGraph=function(e){x=e,U(),f.set(`classHierarchy-selectedGraph-${s.getActiveRepository()}`,x)},e.getSelGraphValue=function(){return x.contextID.value},e.isAllGraphsSelected=function(){return"all.graphs.label"===e.getSelGraphValue()}}angular.module("graphdb.framework.graphexplore.controllers.class",["pageslide-directive","ngAnimate","ui.scroll.jqlite","ui.scroll","angucomplete-alt","rzSlider","toastr","graphdb.framework.utils.localstorageadapter"]).controller("RdfClassHierarchyCtlr",s),s.$inject=["$scope","$rootScope","$location","$repositories","$licenseService","$window","toastr","GraphDataRestService","UiScrollService","RdfsLabelCommentService","$timeout","ModalService","bowser","LocalStorageAdapter","LSKeys","RDF4JRepositoriesRestService","$translate"]},55947:(e,t,r)=>{r.r(t);var n=r(57962);const a={select:r(93462).select},s="WAIT",o="NO_REPO",i="READY",c="IN_PROGRESS",l="ERROR",u={contextID:{type:"all",value:"all.graphs.label",uri:""}};function d(e){if(e<1e3)return e;const t=Math.floor(Math.log(e)/Math.log(1e3));let r=e/Math.pow(1e3,t);return r=r%1>1/Math.pow(1e3,t-1)?r.toFixed(2):r.toFixed(0),r+["K","M","G","T","P","H"][t-1]}function p(e,t,r,d,p,g,h,f,m,v,y){let C=null;e.hasMoreGraphs=!1,e.status=r.getActiveRepository()?s:o,e.graphsDropdownToggled=t=>{e.hasMoreGraphs&&t&&d.warning(y.instant("dependencies.graphs.too.many.warning",{graphsLimit:n.NumberUtils.formatNumberToLocaleString(1e3,y.use())}))};let b=u;const S=function(){v.resolveGraphs(r.getActiveRepository(),1001).success(function(t){e.graphsInRepo=t.results.bindings,e.hasMoreGraphs=e.graphsInRepo.length>1002,x(),e.isSystemRepository()?"READY"!==e.status&&R():(e.status="WAIT",R(!0))}).error(function(t){e.repositoryError=getError(t),d.error(getError(t),y.instant("graphexplore.error.getting.graph"))})},x=function(){const t=m.get(`dependencies-selectedGraph-${r.getActiveRepository()}`);null!==t&&e.graphsInRepo.some(e=>e.contextID.uri===t.contextID.uri)?b=t:m.set(`dependencies-selectedGraph-${r.getActiveRepository()}`,b)},w=function(t){a.select("#dependencies-chord").html(""),e.status=s,g.getRelationshipsData(t,e.direction,b.contextID.uri).success(function(t){e.dependenciesData={matrix:t.right,nodes:t.left,hasLinks:_.sum(_.map(t.right,function(e){return _.sum(e)}))>0,direction:e.direction},e.status=i}).error(function(t){e.status=i,d.error(getError(t),y.instant("graphexplore.error.dependencies.count"))})},R=function(t){(e.status!==i||t)&&(e.status=s,g.getRelationshipsStatus(b.contextID.uri).success(function(t){if(e.status=t,e.status===c){if(null!==C)return;C=p(R,2e3)}e.status===i&&(null!==C&&(p.cancel(C),C=null),g.getRelationshipsClasses(e.direction,b.contextID.uri).success(function(t,r){e.allClasses.items=_.filter(t,O),e.allNotFilteredClasses=t,e.selectedClasses=void 0,angular.isUndefined(e.selectedClasses)&&(e.selectedClasses=t.slice(0,10)),w(e.selectedClasses),207===r&&d.warning(y.instant("graphexplore.update.diagram"),y.instant("graphexplore.repository.data.changed"))})),0===e.status.indexOf("ERROR;")&&(e.status=l,d.error(y.instant("graphexplore.error.dependencies.calc",{error:e.status.substring(6)})))}).error(function(t){e.status=l,d.error(getError(t),y.instant("graphexplore.error.dependencies.count.status"))}))};e.allClasses={},e.allClasses.items=[],e.allNotFilteredClasses=[],e.direction="all";const $={};let I=0,E=0;function O(t){return-1!==t.name.toLowerCase().indexOf(e.classQuery.query.toLowerCase())}t.key="",$.get=function(t,r,n){h.initLazyList(t,r,n,I,e.allClasses.items)},t.$watch(function(){return t.key},function(){I=0,_.each(e.allClasses.items,function(e){t.key>e&&I++}),E++}),$.revision=function(){return E},e.datasource=$,e.adapterContainer={adapter:{remain:!0}},e.classQuery={},e.classQuery.query="",e.classFilterFunc=O,e.$watch("allClasses.items",function(){e.allClasses.items.length>0&&p(function(){e.adapterContainer.adapter.reload()},30)}),e.$watch("direction",function(){!r.getActiveRepository()||e.isSystemRepository()||r.isActiveRepoFedXType()||S()}),e.$on("$destroy",function(){p.cancel(C)}),e.isLoading=function(){return e.status===c||e.status===s},e.confirmCalculateDependencies=function(){f.openSimpleModal({title:y.instant("confirm.operation"),message:y.instant("graphexplore.calculating.relationships"),warning:!0}).result.then(function(){e.calculateDependencies()})},e.calculateDependencies=function(){e.status=s,e.selectedClasses=void 0,g.calculateRelationships(b.contextID.uri).success(function(t){0===t.indexOf("ERROR;")?d.error(y.instant("graphexplore.error.dependencies.calc",{error:e.status.substring(6)})):R()}).error(function(e){d.error(y.instant("graphexplore.error.could.not.force.count",{error:getError(e)}))})},e.addClass=function(t){e.selectedClasses.push(t),w(e.selectedClasses)},e.removeClass=function(t){_.remove(e.selectedClasses,function(e){return e.name===t.name}),w(e.selectedClasses)},e.showClass=function(t){e.classToShow=t},e.isClassByNameShown=function(t){return void 0!==_.find(e.selectedClasses,{name:t})},e.addClassByName=function(t){e.selectedClasses.push(_.find(e.allClasses.items,{name:t})),w(e.selectedClasses)},e.removeClassByName=function(t){_.remove(e.selectedClasses,function(e){return e.name===t}),w(e.selectedClasses)},e.removeAllClasses=function(){e.selectedClasses=[],w(e.selectedClasses)},e.isSystemRepository=function(){return"SYSTEM"===r.getActiveRepository()};const D=e.$on("repositoryIsSet",function(){e.classQuery={},e.classQuery.query="",e.repositoryError=null,b=u,r.getActiveRepository()&&!r.isActiveRepoFedXType()?S():e.status=o});window.addEventListener("beforeunload",function e(){D(),window.removeEventListener("beforeunload",e)}),e.selectGraph=function(e){b=e,R(!0),m.set(`dependencies-selectedGraph-${r.getActiveRepository()}`,b)},e.getSelectedGraphValue=function(){return b.contextID.value},e.isAllGraphsSelected=function(){return"all.graphs.label"===e.getSelectedGraphValue()}}Object.defineProperty(r.g,"allGraphs",{get:()=>u}),angular.module("graphdb.framework.graphexplore.controllers.dependencies",["ui.scroll.jqlite","ui.scroll","toastr","ui.bootstrap","graphdb.framework.core.services.repositories","graphdb.framework.utils.localstorageadapter"]).controller("DependenciesChordCtrl",p).config(["$uibTooltipProvider",function(e){e.options({appendToBody:!0})}]).filter("humanize",function(){return d}),p.$inject=["$scope","$rootScope","$repositories","toastr","$timeout","GraphDataRestService","UiScrollService","ModalService","LocalStorageAdapter","RDF4JRepositoriesRestService","$translate"]},58984:()=>{function e(e,t){return{restrict:"AE",scope:{searchData:"=",searchFields:"@",titleField:"@",searchPlaceholder:"@",initialValue:"=",searchedObjCallback:"&"},templateUrl:"js/angular/graphexplore/templates/searchIconInputTemplate.html",link:function(r,n){r.searchedObjCallback=r.searchedObjCallback(),r.performSearchActionOnEnter=function(){e.$broadcast("onEnterKeypressSearchAction")},r.showInput=function(){$("#selectGraphDropdown").hide(),n.find("#search_input #search_input_value")[0].value="",n.find(".search-icon").addClass("animated bounceOut").css("z-index","-1"),n.find("#search_input .angucomplete-holder").css("display","block"),t(function(){n.find("#search_input .angucomplete-holder").css("width","250px").css("left","-215px"),t(function(){n.find(".close-icon").css("display","block").addClass("animated bounceIn").css("z-index","3"),n.find("#search_input #search_input_value").focus()},200)},1)},r.hideInput=function(){n.find("#search_input #search_input_value")[0].value="",n.find("#search_input .angucomplete-holder").css("width","0px").css("left","35px"),t(function(){n.find("#search_input .angucomplete-holder").css("display","none"),$("#selectGraphDropdown").show()},250),n.find(".close-icon").addClass("animated bounceOut").removeClass("bounceOut").css("z-index","-1").css("display","none").click(function(){$(".tooltip").hide()}),t(function(){n.find(".search-icon").css("display","inline-block").removeClass("bounceOut").addClass("bounceIn").css("z-index","3")},200)}}}}angular.module("graphdb.framework.graphexplore.directives.searchcontrols",[]).directive("searchIconInput",e),e.$inject=["$rootScope","$timeout"]},73053:()=>{window.angular.module("angucomplete-alt",[]).directive("angucompleteAlt",["$q","$parse","$http","$sce","$timeout","$templateCache","$interpolate",function(e,t,r,n,a,s,o){var i="/angucomplete-alt/index.html";function c(t,s,o,i){var c,l,u,d,p,g,h=s.find("input"),f=3,m=null,v="autocomplete-required",y=null,C=null,b=s[0].querySelector(".angucomplete-dropdown"),S=!1,x=null;function w(e,r){e&&("object"==typeof e?(t.searchStr=E(e),I({originalObject:e})):"string"==typeof e&&e.length>0?t.searchStr=e:console&&console.error&&console.error("Tried to set "+(r?"initial":"")+" value of angucomplete to",e,"which is an invalid value"),j(!0))}function R(e){x=null,t.hideResults(e),document.body.removeEventListener("click",R)}function $(e){return e.which?e.which:e.keyCode}function I(e){"function"==typeof t.selectedObject?t.selectedObject(e,t.selectedObjectData):t.selectedObject=e,j(!!e)}function E(e){return t.titleField.split(",").map(function(t){return O(e,t)}).join(" ")}function O(e,t){var r,n;if(t){r=t.split("."),n=e;for(var a=0;a<r.length;a++)n=n[r[a]]}else n=e;return n}function D(e,r){var a,s,o;if(o=new RegExp(r.replace(/[.*+?^${}()|[\]\\]/g,"\\$&"),"i"),e)return e.match&&e.replace||(e=e.toString()),a=(s=e.match(o))?e.replace(o,'<span class="'+t.matchClass+'">'+s[0]+"</span>"):e,n.trustAsHtml(a)}function j(e){t.notEmpty=e,y=t.searchStr,t.fieldRequired&&i&&t.inputName&&i[t.inputName].$setValidity(v,e)}function A(e){!t.overrideSuggestions||t.selectedObject&&t.selectedObject.originalObject===t.searchStr||(e&&e.preventDefault(),a.cancel(m),T(),I({originalObject:t.searchStr}),t.clearSelected&&(t.searchStr=null),H())}function L(){return s[0].querySelectorAll(".angucomplete-row")[t.currentIndex]}function k(e){b.scrollTop=b.scrollTop+e}function _(){var e=t.results[t.currentIndex];t.matchClass?h.val(E(e.originalObject)):h.val(e.title)}function U(e){return function(r,n,a,s){n||a||s||!r.data||(r=r.data),t.searching=!1,M(O(l(r),t.remoteUrlDataField),e)}}function N(e,r,n,a){t.searching=!1,0!==r&&-1!==r&&(r||n||a||(r=e.status),t.remoteUrlErrorCallback?t.remoteUrlErrorCallback(e,r,n,a):console&&console.error&&console.error("http error"))}function T(){C&&C.resolve()}function G(n){var a={},s=t.remoteUrl+encodeURIComponent(n);t.remoteUrlRequestFormatter&&(a={params:t.remoteUrlRequestFormatter(n)},s=t.remoteUrl),t.remoteUrlRequestWithCredentials&&(a.withCredentials=!0),T(),C=e.defer(),a.timeout=C.promise,r.get(s,a).success(U(n)).error(N)}function F(r){T(),C=e.defer(),t.remoteApiHandler(r,C.promise).then(U(r)).catch(N)}function H(){t.showDropdown=!1,t.results=[],b&&(b.scrollTop=0)}function P(){t.showDropdown=d,t.currentIndex=t.focusFirst?0:-1,t.results=[]}function q(e){!e||e.length<f||(t.localData?t.$apply(function(){var r;r=void 0!==t.localSearch()?t.localSearch()(e,t.localData):function(e){var r,n,a,s,o=t.searchFields.split(","),i=[];for(void 0!==t.parseInput()&&(e=t.parseInput()(e)),r=0;r<t.localData.length;r++){for(n=!1,a=0;a<o.length;a++)s=O(t.localData[r],o[a])||"",n=n||s.toString().toLowerCase().indexOf(e.toString().toLowerCase())>=0;n&&(i[i.length]=t.localData[r])}return i}(e),t.searching=!1,M(r,e)}):t.remoteApiHandler?F(e):G(e))}function M(e,r){var n,a,s,o,i,c;if(e&&e.length>0)for(t.results=[],n=0;n<e.length;n++)t.titleField&&""!==t.titleField&&(o=i=E(e[n])),a="",t.descriptionField&&(a=c=O(e[n],t.descriptionField)),s="",t.imageField&&(s=O(e[n],t.imageField)),t.matchClass&&(i=D(o,r),c=D(a,r)),t.results[t.results.length]={title:i,description:c,image:s,originalObject:e[n]};else t.results=[];t.autoMatch&&1===t.results.length&&function(e,r,n){if(!n)return!1;for(var a in r)if(r[a].toLowerCase()===n.toLowerCase())return t.selectResult(e),!0;return!1}(t.results[0],{title:o,desc:a||""},t.searchStr)?t.showDropdown=!1:0!==t.results.length||p?t.showDropdown=!0:t.showDropdown=!1}function V(){t.localData?M(t.localData,""):t.remoteApiHandler?F(""):G("")}s.on("mousedown",function(e){e.target.id?(x=e.target.id)===t.id+"_dropdown"&&document.body.addEventListener("click",R):x=e.target.className}),t.currentIndex=t.focusFirst?0:null,t.searching=!1,u=t.$watch("initialValue",function(e){e&&(u(),w(e,!0))}),t.$watch("fieldRequired",function(e,r){e!==r&&(e?y&&-1!==t.currentIndex?j(!0):j(!1):i[t.inputName].$setValidity(v,!0))}),t.$on("angucomplete-alt:clearInput",function(e,r){r&&r!==t.id||(t.searchStr=null,I(),j(!1),H())}),t.$on("angucomplete-alt:changeInput",function(e,r,n){r&&r===t.id&&w(n)}),t.onFocusHandler=function(){t.focusIn&&t.focusIn(),0!==f||t.searchStr&&0!==t.searchStr.length||(t.currentIndex=t.focusFirst?0:t.currentIndex,t.showDropdown=!0,V())},t.hideResults=function(){x&&(x===t.id+"_dropdown"||x.indexOf("angucomplete")>=0)?x=null:(c=a(function(){H(),t.$apply(function(){t.searchStr&&t.searchStr.length>0&&h.val(t.searchStr)})},200),T(),t.focusOut&&t.focusOut(),t.overrideSuggestions&&t.searchStr&&t.searchStr.length>0&&-1===t.currentIndex&&A())},t.resetHideResults=function(){c&&a.cancel(c)},t.hoverRow=function(e){t.currentIndex=e},t.selectResult=function(e){t.matchClass&&(e.title=E(e.originalObject),e.description=O(e.originalObject,t.descriptionField)),t.clearSelected?t.searchStr=null:t.searchStr=e.title,I(e),H()},t.inputChangeHandler=function(e){return e.length<f?(T(),H()):0===e.length&&0===f&&(t.searching=!1,V()),t.inputChanged&&(e=t.inputChanged(e)),e},t.fieldRequiredClass&&""!==t.fieldRequiredClass&&(v=t.fieldRequiredClass),t.minlength&&""!==t.minlength&&(f=parseInt(t.minlength,10)),t.pause||(t.pause=500),t.clearSelected||(t.clearSelected=!1),t.overrideSuggestions||(t.overrideSuggestions=!1),t.fieldRequired&&i&&(t.initialValue?j(!0):j(!1)),t.inputType=o.type?o.type:"text",t.textSearching=o.textSearching?o.textSearching:"Searching...",t.textNoResults=o.textNoResults?o.textNoResults:"No results found",d="false"!==t.textSearching,p="false"!==t.textNoResults,t.maxlength=o.maxlength?o.maxlength:524288,h.on("keydown",function(e){var r=$(e),n=null,a=null;13===r&&t.results?(t.currentIndex>=0&&t.currentIndex<t.results.length?(e.preventDefault(),t.selectResult(t.results[t.currentIndex])):(A(e),H()),t.$apply()):40===r&&t.results?(e.preventDefault(),t.currentIndex+1<t.results.length&&t.showDropdown&&(t.$apply(function(){t.currentIndex++,_()}),S&&(n=L(),b.getBoundingClientRect().top+parseInt(getComputedStyle(b).maxHeight,10)<n.getBoundingClientRect().bottom&&k(function(e){var t=getComputedStyle(e);return e.offsetHeight+parseInt(t.marginTop,10)+parseInt(t.marginBottom,10)}(n))))):38===r&&t.results?(e.preventDefault(),t.currentIndex>=1?(t.$apply(function(){t.currentIndex--,_()}),S&&(a=L().getBoundingClientRect().top-(b.getBoundingClientRect().top+parseInt(getComputedStyle(b).paddingTop,10)))<0&&k(a-1)):0===t.currentIndex&&t.$apply(function(){t.currentIndex=-1,h.val(t.searchStr)})):9===r?t.results&&t.results.length>0&&t.showDropdown?-1===t.currentIndex&&t.overrideSuggestions?A():(-1===t.currentIndex&&(t.currentIndex=0),t.selectResult(t.results[t.currentIndex]),t.$digest()):t.searchStr&&t.searchStr.length>0&&A():27===r&&e.preventDefault()}),h.on("keyup",function(e){var r=$(e);if(37!==r&&39!==r)if(38===r||13===r)e.preventDefault();else if(40===r)e.preventDefault(),!t.showDropdown&&t.searchStr&&t.searchStr.length>=f&&(P(),t.searching=!0,q(t.searchStr));else if(27===r)H(),t.$apply(function(){h.val(t.searchStr)});else{if(0===f&&!t.searchStr)return;t.searchStr&&""!==t.searchStr?t.searchStr.length>=f&&(P(),m&&a.cancel(m),t.searching=!0,m=a(function(){q(t.searchStr)},t.pause)):t.showDropdown=!1,y&&y!==t.searchStr&&!t.clearSelected&&t.$apply(function(){I()})}}),g="remoteUrlResponseFormatter",l=function(e){return t[g]?t[g](e):e},a(function(){var e=getComputedStyle(b);S=e.maxHeight&&"auto"===e.overflowY})}return s.put(i,'<div class="angucomplete-holder" ng-class="{\'angucomplete-dropdown-visible\': showDropdown}"> <input id="{{id}}_value" name="{{inputName}}" tabindex="{{fieldTabindex}}" ng-class="{\'angucomplete-input-not-empty\': notEmpty}" ng-model="searchStr" ng-disabled="disableInput" type="{{inputType}}" placeholder="{{placeholder}}" maxlength="{{maxlength}}" ng-focus="onFocusHandler()" class="{{inputClass}}" ng-focus="resetHideResults()" ng-blur="hideResults($event)" autocapitalize="off" autocorrect="off" autocomplete="off" ng-change="inputChangeHandler(searchStr)"/> <div id="{{id}}_dropdown" class="angucomplete-dropdown" ng-show="showDropdown"> <div class="angucomplete-searching" ng-show="searching" ng-bind="textSearching"></div> <div class="angucomplete-searching" ng-show="!searching && (!results || results.length == 0)" ng-bind="textNoResults"></div> <div class="angucomplete-row" ng-repeat="result in results" ng-click="selectResult(result)" ng-mouseenter="hoverRow($index)" ng-class="{\'angucomplete-selected-row\': $index == currentIndex}"> <div ng-if="imageField" class="angucomplete-image-holder"> <img ng-if="result.image && result.image != \'\'" ng-src="{{result.image}}" class="angucomplete-image"/> <div ng-if="!result.image && result.image != \'\'" class="angucomplete-image-default"></div> </div> <div class="angucomplete-title" ng-if="matchClass" ng-bind-html="result.title"></div> <div class="angucomplete-title" ng-if="!matchClass">{{ result.title }}</div> <div ng-if="matchClass && result.description && result.description != \'\'" class="angucomplete-description" ng-bind-html="result.description"></div> <div ng-if="!matchClass && result.description && result.description != \'\'" class="angucomplete-description">{{result.description}}</div> </div> </div></div>'),{restrict:"EA",require:"^?form",scope:{selectedObject:"=",selectedObjectData:"=",disableInput:"=",initialValue:"=",localData:"=",localSearch:"&",remoteUrlRequestFormatter:"=",remoteUrlRequestWithCredentials:"@",remoteUrlResponseFormatter:"=",remoteUrlErrorCallback:"=",remoteApiHandler:"=",id:"@",type:"@",placeholder:"@",textSearching:"@",textNoResults:"@",remoteUrl:"@",remoteUrlDataField:"@",titleField:"@",descriptionField:"@",imageField:"@",inputClass:"@",pause:"@",searchFields:"@",minlength:"@",matchClass:"@",clearSelected:"@",overrideSuggestions:"@",fieldRequired:"=",fieldRequiredClass:"@",inputChanged:"=",autoMatch:"@",focusOut:"&",focusIn:"&",fieldTabindex:"@",inputName:"@",focusFirst:"@",parseInput:"&"},templateUrl:function(e,t){return t.templateUrl||i},compile:function(e){var t=o.startSymbol(),r=o.endSymbol();if("{{"!==t||"}}"!==r){var n=e.html().replace(/\{\{/g,t).replace(/\}\}/g,r);e.html(n)}return c}}}])},85759:(e,t,r)=>{r.r(t);var n=r(88141),a=(r(9952),r(93462));function s(e,t){return{restrict:"A",template:'<div id="dependencies-chord"></div>',scope:{dependenciesData:"="},link:function(r){r.$watch("dependenciesData",function(){if(r.dependenciesData){const s=r.dependenciesData;!function(s,o){if(function(){let e=!0;for(const t of s)if(t.some(e=>0!==e)){e=!1;break}return e}())return;const i=a.scaleOrdinal(a.schemeCategory10),c=a.select("body").append("div").attr("class","tooltip").style("opacity",0);a.select("body").on("click",function(){c.style("opacity",0)});const l=Math.min(800,800)/2.8,u=l-24,d=a.arc().innerRadius(u).outerRadius(l),p=a.chord().padAngle(.04).sortSubgroups(a.descending).sortChords(a.ascending),g=a.ribbon().radius(u),h=a.select("#dependencies-chord").append("svg").attr("viewBox","0 0 800 800").attr("preserveAspectRatio","xMidYMid meet").style("font","10px sans-serif").append("g").attr("id","circle").attr("transform","translate(400,400)");h.append("circle").attr("r",l).style("fill","none");const f=p(s),m=h.selectAll(".group").data(f.groups).enter().append("g").attr("class","group").on("mouseover",function(){const e=m.nodes().indexOf(this);v.classed("fade",function(t){return t.source.index!==e&&t.target.index!==e})});m.append("title").text(function(e,t){return o[t]}),m.append("path").attr("id",function(e,t){return"group"+t}).attr("d",d).style("fill",function(e,t){return i(t)}),m.append("text").each(function(e){e.angle=(e.startAngle+e.endAngle)/2}).attr("dy",".35em").attr("transform",function(e){return"rotate("+(180*e.angle/Math.PI-90)+")translate("+(u+26)+")"+(e.angle>Math.PI?"rotate(180)":"")}).style("text-anchor",function(e){return e.angle>Math.PI?"end":null}).text(function(e){return o[e.index]});const v=h.selectAll(".chord").data(f).enter().append("path").attr("class","chord").style("fill",function(e){return i(e.target.index)}).style("fill-opacity",".67").style("stroke","#000").style("stroke-width",".25px").style("cursor","pointer").attr("d",g);v.on("mouseover",function(){a.select(this).style("fill-opacity","1")}),v.on("mouseout",function(){a.select(this).style("fill-opacity",".67")}),v.on("click",function(e,n){const a=o[n.source.index],s=o[n.target.index],i=e.pageX,l=e.pageY;t.getPredicates(a,s,r.selectedGraph&&r.selectedGraph.contextID.uri).success(function(e){let t="<div class='dependencies-tooltip'><div class='row'>"+a+" <i class='fa fa-exchange'></i> "+s+"</div>"+_.map(e.slice(0,10),function(e){const t=" <i class='fa fa-long-arrow-"+("out"===e.direction?"right":"left")+"'></i>";return"<div class='row'>"+e.predicate+" : "+e.weight+t+" </div>"}).join("");e.length>10?t=t+"<div class='pull-right'>And "+(e.length-10).toString()+" more...</div></div>":t+="</div>",c.html(t).style("left",i+"px").style("top",l+"px")}),c.transition().duration(200).style("opacity",1)}),a.select("#circle").on("mouseleave",function(){h.selectAll(".chord").classed("fade",!1)}),a.select("#download-svg").on("mouseover",function(){const t=n.A.Export.generateBase64ImageSource(".dependencies-chord svg");a.select(this).attrs({href:t,download:"dependencies-"+e.getActiveRepository()+".svg"})})}(s.matrix,s.nodes,s.direction)}})}}}angular.module("graphdb.framework.graphexplore.directives.dependencies",["graphdb.framework.graphexplore.controllers.dependencies","graphdb.framework.rest.graphexplore.data.service"]).directive("dependenciesChord",s),s.$inject=["$repositories","GraphDataRestService"]}}; //# sourceMappingURL=20310.15a5b546ebe02134be46.bundle.js.map