diff --git a/.github/workflows/docker_img.yml b/.github/workflows/docker_img.yml index a4db882dd1b3455b742dece71837b6c3bf4b7e5f..c083986028112220fcfb6d352b1a9bf97050b247 100644 --- a/.github/workflows/docker_img.yml +++ b/.github/workflows/docker_img.yml @@ -4,9 +4,7 @@ on: [ 'push' ] jobs: build-docker-img: - runs-on: ubuntu-latest - env: MATOMO_ID_DEV: '7' MATAMO_URL_DEV: 'https://stats-dev.humanbrainproject.eu/' @@ -68,3 +66,67 @@ jobs: docker-registry.ebrains.eu echo "Pushing $DOCKER_BUILT_TAG" docker push $DOCKER_BUILT_TAG + + trigger-deploy: + if: success() + runs-on: ubuntu-latest + env: + GITHUB_API_ROOT: https://api.github.com/repos/HumanBrainProject/interactive-viewer + + needs: build-docker-img + steps: + - uses: actions/checkout@v2 + - name: Set env var + run: | + echo "Using github.ref: $GITHUB_REF" + BRANCH_NAME=${GITHUB_REF#refs/heads/} + echo "BRANCH_NAME=$BRANCH_NAME" >> $GITHUB_ENV + + echo "Branch is $BRANCH_NAME ." + if [[ "$BRANCH_NAME" == 'master' ]] || [[ "$BRANCH_NAME" == 'staging' ]] + then + echo "OKD_URL=https://okd.hbp.eu:443" >> $GITHUB_ENV + echo "OKD_SECRET=${{ secrets.OKD_PROD_SECRET }}" >> $GITHUB_ENV + echo "OKD_PROJECT=interactive-viewer" >> $GITHUB_ENV + echo "Deploy on prod cluster..." + else + echo "OKD_URL=https://okd-dev.hbp.eu:443" >> $GITHUB_ENV + echo "OKD_SECRET=${{ secrets.OKD_DEV_SECRET }}" >> $GITHUB_ENV + echo "OKD_PROJECT=interactive-atlas-viewer" >> $GITHUB_ENV + echo "Deploy on dev cluster..." + fi + - name: 'Login via oc cli & deploy' + run: | + oc login $OKD_URL --token=$OKD_SECRET + oc project $OKD_PROJECT + + # sanitized branchname == remove _ / and lowercase everything + SANITIZED_BRANCH_NAME=$(echo ${BRANCH_NAME//[_\/]/} | awk '{ print tolower($0) }') + echo "SANITIZED_BRANCH_NAME=$SANITIZED_BRANCH_NAME" >> $GITHUB_ENV + echo "Working branch name: $BRANCH_NAME, sanitized branch name: $SANITIZED_BRANCH_NAME" + + # check if the deploy already exist + if oc get dc siibra-explorer-branch-deploy-$SANITIZED_BRANCH_NAME; then + # trigger redeploy if deployconfig exists already + echo "dc siibra-explorer-branch-deploy-$SANITIZED_BRANCH_NAME already exist, redeploy..." + oc rollout latest dc/siibra-explorer-branch-deploy-$SANITIZED_BRANCH_NAME + else + # create new app if deployconfig does not yet exist + echo "dc siibra-explorer-branch-deploy-$SANITIZED_BRANCH_NAME does not yet exist, create new app..." + oc new-app --template siibra-explorer-branch-deploy \ + -p BRANCH_NAME=$BRANCH_NAME \ + -p SANITIZED_BRANCH_NAME=$SANITIZED_BRANCH_NAME + fi + - name: 'Update status badge' + if: success() + run: | + curl -v \ + -X POST \ + -H "Authorization: Token ${{ secrets.WORKFLOW_TOKEN }}" \ + -H 'accept: application/vnd.github.v3+json' \ + ${GITHUB_API_ROOT}/statuses/${GITHUB_SHA} \ + -d '{ + "target_url":"https://siibra-explorer.apps-dev.hbp.eu/${{ env.SANITIZED_BRANCH_NAME }}", + "name": "Deployed at OKD", + "state": "success" + }' diff --git a/.openshift/okd_branch_tmpl.yaml b/.openshift/okd_branch_tmpl.yaml new file mode 100644 index 0000000000000000000000000000000000000000..09d58cde0ad934960050161d8f79b769cf1aa789 --- /dev/null +++ b/.openshift/okd_branch_tmpl.yaml @@ -0,0 +1,148 @@ +apiVersion: v1 +kind: Template +metadata: + name: siibra-explorer-branch-deploy + annotations: + description: "Deploy branch of siibra-explorer" + tags: "nodejs,siibra-explorer" +objects: +- apiVersion: v1 + kind: DeploymentConfig + metadata: + name: siibra-explorer-branch-deploy-${SANITIZED_BRANCH_NAME} + labels: + app: siibra-explorer-branch-deploy-${SANITIZED_BRANCH_NAME} + spec: + replicas: 1 + revisionHistoryLimit: 10 + selector: + deploymentconfig: siibra-explorer-branch-deploy-${SANITIZED_BRANCH_NAME} + template: + metadata: + labels: + app: siibra-explorer-branch-deploy + deploymentconfig: siibra-explorer-branch-deploy-${SANITIZED_BRANCH_NAME} + spec: + containers: + - env: + - name: SESSION_SECRET + value: ${SESSION_SECRET} + - name: HOSTNAME + value: https://siibra-explorer.apps-dev.hbp.eu + - name: HOST_PATHNAME + value: /${SANITIZED_BRANCH_NAME} + - name: IAV_STAGE + value: ${SANITIZED_BRANCH_NAME} + - name: BUILD_TEXT + value: ${SANITIZED_BRANCH_NAME} + - name: SCRIPT_SRC + value: '["stats-dev.humanbrainproject.eu"]' + - name: REDIS_PASSWORD + valueFrom: + secretKeyRef: + key: database-password + name: redis-rate-limiting-db-ephemeral + - name: REGIONAL_FEATURE_ENDPOINT_ARRAY + value: '["https://jugit.fz-juelich.de/x.gui/20201104_ieegcoord_output/-/raw/master/output/brainscape-json-left-v2.json","https://jugit.fz-juelich.de/x.gui/20201104_ieegcoord_output/-/raw/master/output/brainscape-json-right-v2.json","https://jugit.fz-juelich.de/x.gui/20201113_receptornewui/-/raw/master/output/receptor.json"]' + envFrom: + - configMapRef: + name: hbp-oauth-config-map + - configMapRef: + name: fluent-logging + - configMapRef: + name: plugins + - configMapRef: + name: other-deploy-config + - configMapRef: + name: obj-storage-env-var + prefix: OBJ_STORAGE_ + - configMapRef: + name: obj-stoage-credentials + prefix: OBJ_STORAGE_ + + image: "docker-registry.ebrains.eu/siibra-explorer/siibra-explorer:${BRANCH_NAME}" + imagePullPolicy: Always + livenessProbe: + failureThreshold: 3 + httpGet: + path: /${SANITIZED_BRANCH_NAME}/ready + port: 8080 + scheme: HTTP + initialDelaySeconds: 10 + periodSeconds: 10 + successThreshold: 1 + timeoutSeconds: 1 + readinessProbe: + failureThreshold: 3 + httpGet: + path: /${SANITIZED_BRANCH_NAME}/ready + port: 8080 + scheme: HTTP + initialDelaySeconds: 3 + periodSeconds: 10 + successThreshold: 1 + timeoutSeconds: 6 + name: siibra-explorer-${SANITIZED_BRANCH_NAME} + ports: + - containerPort: 8080 + protocol: TCP + resources: {} + terminationMessagePath: /dev/termination-log + terminationMessagePolicy: File + dnsPolicy: ClusterFirst + restartPolicy: Always + schedulerName: default-scheduler + securityContext: {} + terminationGracePeriodSeconds: 30 +- apiVersion: v1 + kind: Service + metadata: + labels: + app: siibra-explorer-branch-deploy-${SANITIZED_BRANCH_NAME} + name: siibra-explorer-branch-deploy-${SANITIZED_BRANCH_NAME} + spec: + ports: + - name: 8080-tcp + port: 8080 + protocol: TCP + targetPort: 8080 + selector: + deploymentconfig: siibra-explorer-branch-deploy-${SANITIZED_BRANCH_NAME} + type: ClusterIP +- apiVersion: v1 + kind: Route + metadata: + labels: + app: siibra-explorer-branch-deploy-${SANITIZED_BRANCH_NAME} + name: siibra-explorer-branch-deploy-${SANITIZED_BRANCH_NAME} + spec: + host: siibra-explorer.apps-dev.hbp.eu + path: /${SANITIZED_BRANCH_NAME} + port: + targetPort: 8080-tcp + tls: + insecureEdgeTerminationPolicy: Redirect + termination: edge + to: + kind: Service + name: siibra-explorer-branch-deploy-${SANITIZED_BRANCH_NAME} + weight: 100 + wildcardPolicy: None + +parameters: +- description: Session secret + from: '[A-Z0-9]{16}' + generate: expression + name: SESSION_SECRET +- name: BRANCH_NAME + required: true +- name: SANITIZED_BRANCH_NAME + required: true + description: | + A lot of routing/naming follow special rules: + - does not allow special characters, except for - or . . + - only allows lower case. + Strip all special characters from BRANCH_NAME, change to all lower case and pass it as SANITIZED_BRANCH_NAME + +labels: + template: siibra-explorer-branch-deploy-template diff --git a/src/auth/auth.service.spec.ts b/src/auth/auth.service.spec.ts index 3452a951549a93196fbed836a0915efa513601cc..504e7299ca852190d15e4218da246f132bbc6315 100644 --- a/src/auth/auth.service.spec.ts +++ b/src/auth/auth.service.spec.ts @@ -1,6 +1,7 @@ import { HttpClientTestingModule, HttpTestingController } from "@angular/common/http/testing" import { TestBed } from "@angular/core/testing" import { hot } from "jasmine-marbles" +import { PureContantService } from "src/util" import { AuthService } from "./auth.service" describe('>auth.service.ts', () => { @@ -11,7 +12,13 @@ describe('>auth.service.ts', () => { HttpClientTestingModule ], providers: [ - AuthService + AuthService, + { + provide: PureContantService, + useValue: { + backendUrl: `http://localhost:3000/` + } + } ] }) }) diff --git a/src/auth/auth.service.ts b/src/auth/auth.service.ts index 890fe89874e89f13217774198d4a9d2550a424fe..ae56dcc710806d93c05b0803cc42f0ac656accb1 100644 --- a/src/auth/auth.service.ts +++ b/src/auth/auth.service.ts @@ -2,6 +2,7 @@ import { HttpClient } from "@angular/common/http"; import { Injectable, OnDestroy } from "@angular/core"; import { Observable, of, Subscription } from "rxjs"; import { catchError, map, shareReplay } from "rxjs/operators"; +import { PureContantService } from "src/util"; import { BACKENDURL } from "src/util/constants"; const IV_REDIRECT_TOKEN = `IV_REDIRECT_TOKEN` @@ -38,8 +39,11 @@ export class AuthService implements OnDestroy { href: 'hbp-oidc-v2/auth' }] - constructor(private httpClient: HttpClient) { - this.user$ = this.httpClient.get<TUserRouteResp>(`${BACKENDURL}user`).pipe( + constructor( + private httpClient: HttpClient, + private constantSvc: PureContantService, + ) { + this.user$ = this.httpClient.get<TUserRouteResp>(`${this.constantSvc.backendUrl}user`).pipe( map(json => { if (json.error) { throw new Error(json.message || 'User not loggedin.') diff --git a/src/index.html b/src/index.html index af97a404f1035de4183c237a63bb6e1b551e1b5f..39aafb5fb94360cdc71dba34b69214dfa8e76fdb 100644 --- a/src/index.html +++ b/src/index.html @@ -11,6 +11,7 @@ <link rel="stylesheet" href="icons/iav-icons.css"> <link rel="stylesheet" href="theme.css"> <link rel="stylesheet" href="version.css"> + <link rel="icon" type="image/png" href="res/favicons/favicon-128-light.png"/> <script src="https://unpkg.com/kg-dataset-previewer@1.2.0/dist/kg-dataset-previewer/kg-dataset-previewer.js" defer> </script> diff --git a/src/main-common.ts b/src/main-common.ts index 6bab08d71f1a06e189d01db82b306d9fe098d49a..aebfaffc5d3208e82c686c67bacf27d9b332cef4 100644 --- a/src/main-common.ts +++ b/src/main-common.ts @@ -18,6 +18,11 @@ import '!!file-loader?context=src/res&name=icons/iav-icons.ttf!src/res/icons/iav import '!!file-loader?context=src/res&name=icons/iav-icons.woff!src/res/icons/iav-icons.woff' import '!!file-loader?context=src/res&name=icons/iav-icons.svg!src/res/icons/iav-icons.svg' +/** + * favicons + */ +import '!!file-loader?context=src/res/favicons&name=favicon-128-light.png!src/res/favicons/favicon-128-light.png' + import 'zone.js' import { enableProdMode } from '@angular/core'; diff --git a/src/plugin/atlasViewer.pluginService.service.spec.ts b/src/plugin/atlasViewer.pluginService.service.spec.ts index fe239f32b6d5121562cd4bd19cc53f1f7bf356f4..918063217692a6b3033aa0065036d85c969b9c3e 100644 --- a/src/plugin/atlasViewer.pluginService.service.spec.ts +++ b/src/plugin/atlasViewer.pluginService.service.spec.ts @@ -7,6 +7,7 @@ import { ComponentsModule } from "src/components" import { DialogService } from "src/services/dialogService.service" import { selectorPluginCspPermission } from "src/services/state/userConfigState.helper" import { AngularMaterialModule } from "src/ui/sharedModules/angularMaterial.module" +import { PureContantService } from "src/util" import { APPEND_SCRIPT_TOKEN, REMOVE_SCRIPT_TOKEN } from "src/util/constants" import { WidgetModule, WidgetServices } from "src/widget" import { PluginServices } from "./atlasViewer.pluginService.service" @@ -71,6 +72,12 @@ describe('> atlasViewer.pluginService.service.ts', () => { useValue: { getUserConfirm: () => Promise.resolve() } + }, + { + provide: PureContantService, + useValue: { + backendUrl: `http://localhost:3000/` + } } ] }).compileComponents().then(() => { diff --git a/src/plugin/atlasViewer.pluginService.service.ts b/src/plugin/atlasViewer.pluginService.service.ts index 1e35d24ec50d34909a8766d79ad13a0d218d1b17..42ac1eb77d55de2adb541adf8c98e60e079ae199 100644 --- a/src/plugin/atlasViewer.pluginService.service.ts +++ b/src/plugin/atlasViewer.pluginService.service.ts @@ -8,12 +8,13 @@ import { catchError, filter, map, mapTo, shareReplay, switchMap, switchMapTo, ta import { LoggingService } from 'src/logging'; import { PluginHandler } from 'src/util/pluginHandler'; import { WidgetUnit, WidgetServices } from "src/widget"; -import { APPEND_SCRIPT_TOKEN, REMOVE_SCRIPT_TOKEN, BACKENDURL, getHttpHeader } from 'src/util/constants'; +import { APPEND_SCRIPT_TOKEN, REMOVE_SCRIPT_TOKEN, getHttpHeader } from 'src/util/constants'; import { PluginFactoryDirective } from './pluginFactory.directive'; import { selectorPluginCspPermission } from 'src/services/state/userConfigState.helper'; import { DialogService } from 'src/services/dialogService.service'; import { DomSanitizer } from '@angular/platform-browser'; import { MatSnackBar } from '@angular/material/snack-bar'; +import { PureContantService } from 'src/util'; const requiresReloadMd = `\n\n***\n\n**warning**: interactive atlas viewer **will** be reloaded in order for the change to take effect.` @@ -56,6 +57,7 @@ export class PluginServices { private http: HttpClient, private log: LoggingService, private sanitizer: DomSanitizer, + private constantSvc: PureContantService, @Inject(APPEND_SCRIPT_TOKEN) private appendSrc: (src: string) => Promise<HTMLScriptElement>, @Inject(REMOVE_SCRIPT_TOKEN) private removeSrc: (src: HTMLScriptElement) => void, ) { @@ -65,8 +67,7 @@ export class PluginServices { /** * TODO convert to rxjs streams, instead of Promise.all */ - - const pluginManifestsUrl = `${BACKENDURL.replace(/\/$/,'/')}plugins/manifests` + const pluginManifestsUrl = `${this.constantSvc.backendUrl}plugins/manifests` this.http.get<IPluginManifest[]>(pluginManifestsUrl, { responseType: 'json', @@ -162,7 +163,7 @@ export class PluginServices { }) this.http.delete( - `${BACKENDURL.replace(/\/+$/g, '/')}user/pluginPermissions/${encodeURIComponent(pluginKey)}`, + `${this.constantSvc.backendUrl}user/pluginPermissions/${encodeURIComponent(pluginKey)}`, { headers: getHttpHeader() } @@ -239,7 +240,7 @@ export class PluginServices { catchError(() => of(false)), filter(v => !!v), switchMapTo( - this.http.post(`${BACKENDURL.replace(/\/+$/g, '/')}user/pluginPermissions`, + this.http.post(`${this.constantSvc.backendUrl}user/pluginPermissions`, { [pluginKey]: csp }, { responseType: 'json', @@ -254,7 +255,7 @@ export class PluginServices { }), take(1), ).subscribe( - val => val ? rs() : rj(), + val => val ? rs(null) : rj(`val is falsy`), err => rj(err) ) }) diff --git a/src/res/favicons/favicon-128-dark.svg b/src/res/favicons/favicon-128-dark.svg new file mode 100644 index 0000000000000000000000000000000000000000..49a9402c31fd7252b2dd3bc92e629d3a36d81a17 --- /dev/null +++ b/src/res/favicons/favicon-128-dark.svg @@ -0,0 +1,65 @@ +<?xml version="1.0" encoding="UTF-8" standalone="no"?> +<svg + xmlns:dc="http://purl.org/dc/elements/1.1/" + xmlns:cc="http://creativecommons.org/ns#" + xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" + xmlns:svg="http://www.w3.org/2000/svg" + xmlns="http://www.w3.org/2000/svg" + xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" + xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" + width="128mm" + height="128mm" + viewBox="0 0 128 128" + version="1.1" + id="svg8" + inkscape:version="1.0.2 (394de47547, 2021-03-26)" + sodipodi:docname="favicon-128-dark.svg"> + <defs + id="defs2" /> + <sodipodi:namedview + id="base" + pagecolor="#ffffff" + bordercolor="#666666" + borderopacity="1.0" + inkscape:pageopacity="0.0" + inkscape:pageshadow="2" + inkscape:zoom="1.4" + inkscape:cx="324.70471" + inkscape:cy="279.91944" + inkscape:document-units="mm" + inkscape:current-layer="layer2" + inkscape:document-rotation="0" + showgrid="false" + fit-margin-top="0" + fit-margin-left="0" + fit-margin-right="0" + fit-margin-bottom="0" + inkscape:window-width="1853" + inkscape:window-height="1025" + inkscape:window-x="67" + inkscape:window-y="27" + inkscape:window-maximized="1" /> + <metadata + id="metadata5"> + <rdf:RDF> + <cc:Work + rdf:about=""> + <dc:format>image/svg+xml</dc:format> + <dc:type + rdf:resource="http://purl.org/dc/dcmitype/StillImage" /> + <dc:title></dc:title> + </cc:Work> + </rdf:RDF> + </metadata> + <g + inkscape:groupmode="layer" + id="layer2" + inkscape:label="main" + style="display:inline" + transform="translate(-79.414325,-20.601907)"> + <path + style="fill:#ffffff;stroke-width:0.264583" + d="m 162.83944,128.89555 c -1.71263,-0.76119 -2.51354,-2.36516 -2.51354,-5.03388 0,-2.25335 0.78988,-3.77883 2.38125,-4.59886 2.34364,-1.20767 5.04289,-0.21921 5.96015,2.18259 0.5625,1.4729 0.4413,4.34887 -0.24282,5.76143 -0.83944,1.73329 -3.604,2.5692 -5.58504,1.68872 z m 3.49261,-1.63593 c 1.05602,-0.66537 1.47806,-3.54272 0.76867,-5.24053 -1.06024,-2.53752 -4.2164,-2.24958 -4.94489,0.45112 -0.36533,1.3544 -0.16041,3.36382 0.43584,4.27382 0.74822,1.14193 2.38765,1.36792 3.74038,0.51559 z m -39.87282,-3.28224 v -5.02708 h 3.3073 3.30729 v 0.66146 c 0,0.65913 -0.009,0.66145 -2.51354,0.66145 h -2.51355 v 1.45521 1.45521 h 2.24896 2.24896 v 0.79375 0.79375 h -2.24896 -2.24896 v 1.45521 1.45521 h 2.4915 c 2.49379,0 2.90743,0.15781 2.6006,0.99219 -0.0884,0.24024 -1.01868,0.33072 -3.40061,0.33072 h -3.27899 z m 7.9375,4.81268 c 0,-0.13636 0.65485,-1.20951 1.45521,-2.38478 0.80037,-1.17527 1.45521,-2.3002 1.45521,-2.49985 0,-0.19964 -0.60994,-1.24739 -1.35542,-2.32833 -1.81084,-2.62569 -1.8116,-2.62907 -0.59112,-2.61522 0.96613,0.011 1.07801,0.10373 2.1,1.74113 l 1.0795,1.72954 1.13439,-1.74113 c 1.02835,-1.57837 1.21805,-1.74112 2.02935,-1.74112 0.49223,0 0.89497,0.0976 0.89497,0.2168 0,0.11923 -0.45048,0.82058 -1.00107,1.55853 -0.55059,0.73796 -1.22383,1.75537 -1.49608,2.26091 l -0.495,0.91916 1.62837,2.43443 c 0.8956,1.33894 1.62836,2.48616 1.62836,2.54938 0,0.0632 -0.44834,0.11495 -0.99631,0.11495 -0.9347,0 -1.06576,-0.10637 -2.11905,-1.71979 -0.61751,-0.94588 -1.21097,-1.71645 -1.31879,-1.71237 -0.10783,0.004 -0.67231,0.74822 -1.25439,1.65365 -0.89834,1.39735 -1.18833,1.65876 -1.91823,1.72913 -0.47294,0.0456 -0.8599,-0.0286 -0.8599,-0.16502 z m 9.58531,-4.74653 0.072,-4.96094 2.36594,-0.0772 c 3.55309,-0.11592 4.9101,0.71487 4.9101,3.00606 0,2.39475 -0.96061,3.25698 -3.89065,3.49217 l -1.6656,0.1337 v 1.68357 1.68356 h -0.93188 -0.93188 z m 5.23136,-0.59532 c 0.52634,-0.52634 0.69769,-1.71985 0.32668,-2.27549 -0.36931,-0.55309 -1.35454,-0.89951 -2.55824,-0.89951 h -1.20802 v 1.85209 1.85208 h 1.45521 c 1.10243,0 1.58349,-0.12828 1.98437,-0.52917 z m 3.70417,0.51241 v -5.04385 l 0.85989,0.0829 0.8599,0.0829 0.0727,4.29948 0.0727,4.29948 h 2.2424 c 2.21551,0 2.24241,0.008 2.24241,0.66146 v 0.66145 h -3.175 -3.175 z m 17.99166,0.0168 v -5.02708 l 2.71198,0.001 c 2.22127,7.9e-4 2.86498,0.0943 3.55752,0.51654 1.45573,0.88762 1.51248,3.41795 0.10255,4.57238 l -0.73112,0.59863 0.8837,2.07396 c 0.48604,1.14069 0.88371,2.1305 0.88371,2.19958 0,0.0691 -0.38396,0.0883 -0.85324,0.0427 -0.77802,-0.0756 -0.91584,-0.23454 -1.56315,-1.8027 -0.91281,-2.21133 -1.12685,-2.42774 -2.30398,-2.32964 l -0.96817,0.0806 -0.0773,2.05052 -0.0773,2.05052 h -0.78261 -0.78263 v -5.02708 z m 5.1237,-1.07753 c 0.83208,-0.65453 0.88983,-1.37562 0.16797,-2.09748 -0.41157,-0.41157 -0.88194,-0.52917 -2.11667,-0.52917 h -1.5875 v 1.5875 1.5875 h 1.41953 c 1.03547,0 1.60814,-0.14836 2.11667,-0.54837 z m 4.4013,1.07752 v -5.02708 h 3.3073 3.30729 v 0.66146 c 0,0.65913 -0.009,0.66145 -2.51354,0.66145 h -2.51355 v 1.45521 1.45521 h 2.24896 2.24896 v 0.79375 0.79375 h -2.24896 -2.24896 v 1.45521 1.45521 h 2.51355 c 2.50472,0 2.51354,0.002 2.51354,0.66146 v 0.66145 h -3.30729 -3.3073 z m 8.73125,0 v -5.02708 h 2.75783 c 2.5548,0 2.81563,0.0486 3.543,0.66068 0.43184,0.36337 0.86108,0.96314 0.95387,1.33283 0.25133,1.00138 -0.29507,2.66624 -1.05728,3.22147 l -0.67115,0.4889 0.931,2.17514 0.931,2.17514 h -0.87632 c -0.83195,0 -0.914,-0.0904 -1.62079,-1.78593 -0.98454,-2.36185 -1.10215,-2.48856 -2.22268,-2.39463 l -0.94868,0.0795 -0.0773,2.05052 -0.0773,2.05052 h -0.78261 -0.78263 z m 4.96821,-0.94104 c 0.70292,-0.49234 0.77514,-1.58868 0.15016,-2.27927 -0.32907,-0.36362 -0.82218,-0.48386 -1.98437,-0.48386 h -1.5465 v 1.5875 1.5875 h 1.39634 c 0.83558,0 1.63249,-0.1654 1.98437,-0.41187 z m -97.572367,-9.5378 c -1.95888,-0.34634 -5.82084,-1.69103 -5.82084,-2.02677 0,-0.26055 1.56112,-3.71342 1.77614,-3.92844 0.17279,-0.17279 0.61281,-0.12624 1.29339,0.13682 1.5231,0.58871 4.90435,1.21598 6.554677,1.21598 2.60677,0 5.19386,-1.69122 5.19148,-3.39374 -0.003,-1.9815 -1.93734,-3.38013 -6.084437,-4.39883 -4.65894,-1.144439 -6.70269,-2.519669 -8.03124,-5.404209 -0.71141,-1.5446 -0.75135,-4.927329 -0.0761,-6.446859 0.70597,-1.588706 2.48912,-3.227144 4.27091,-3.924299 1.36156,-0.532739 2.0582,-0.621779 4.894797,-0.625631 3.42639,-0.0047 5.55454,0.402283 7.71765,1.475732 l 0.97077,0.481753 -0.70619,2.010008 c -0.80831,2.300676 -0.49127,2.212587 -4.26017,1.183737 -3.97503,-1.085119 -6.995447,-0.45827 -8.048857,1.670449 -0.41938,0.84746 -0.44249,1.10637 -0.15967,1.78914 0.64008,1.54529 2.27792,2.40158 6.602567,3.4519 5.57621,1.35429 8.19428,4.460389 7.88051,9.349499 -0.21116,3.29034 -1.90364,5.60538 -4.96953,6.79752 -1.17157,0.45555 -2.12561,0.57923 -4.89479,0.63451 -1.891777,0.0378 -3.737247,0.0161 -4.101047,-0.0483 z m 44.068567,-0.278 c -2.90689,-0.89207 -5.0522,-3.00939 -6.05006,-5.97114 -0.5442,-1.61522 -0.55975,-2.09043 -0.56972,-17.403258 l -0.0102,-15.742712 2.44739,-0.07608 2.4474,-0.07607 v 7.060514 7.060515 l 0.60161,-0.892728 c 1.56474,-2.321923 5.21496,-3.2175 9.04643,-2.219529 3.20198,0.834009 5.19421,2.399257 6.39662,5.02566 0.87053,1.901499 1.1483,3.650869 1.28015,8.062509 0.27496,9.199609 -2.10057,13.619369 -8.19669,15.250219 -1.75078,0.46837 -5.75011,0.42623 -7.39288,-0.0779 z m 6.49531,-4.951 c 1.40139,-0.66989 2.60987,-1.95865 3.38206,-3.60674 0.64143,-1.36901 0.68161,-1.69814 0.67829,-5.556249 -0.003,-3.1889 -0.10522,-4.39714 -0.46075,-5.43234 -1.99463,-5.807759 -9.23139,-5.807759 -11.22454,0 -0.5714,1.66496 -0.66746,9.662769 -0.13719,11.422529 0.38795,1.28749 1.62048,2.60265 3.10346,3.31151 1.26411,0.60425 3.22666,0.54581 4.65867,-0.13871 z m 36.45034,5.14101 c -2.86373,-0.55868 -5.63198,-2.86262 -6.48265,-5.39534 -0.73178,-2.17877 -0.62908,-5.24545 0.23901,-7.13684 1.7518,-3.816799 4.64695,-5.101829 11.69101,-5.189139 2.03163,-0.0252 3.74448,-0.0964 3.80632,-0.15823 0.2984,-0.2984 -0.60554,-3.52815 -1.21109,-4.32724 -1.09959,-1.451009 -2.65508,-1.980129 -5.34563,-1.818389 -1.24652,0.0749 -3.25381,0.3917 -4.46064,0.70393 -1.20684,0.31223 -2.30355,0.50013 -2.43715,0.41756 -0.1336,-0.0826 -0.32573,-0.59243 -0.42697,-1.13303 -0.10123,-0.540596 -0.34775,-1.375097 -0.54783,-1.854445 -0.20007,-0.479348 -0.29566,-0.98175 -0.21241,-1.116446 0.21936,-0.354926 3.38152,-1.248228 5.68631,-1.606368 2.64307,-0.410704 6.3822,-0.15327 8.3655,0.575956 2.33627,0.859007 4.12344,2.790721 4.91623,5.313863 0.57018,1.814649 0.60889,2.375279 0.60882,8.817039 -5e-5,5.765429 -0.0739,7.117489 -0.45609,8.351249 -0.88316,2.85093 -2.77719,4.61583 -5.82399,5.42691 -1.45391,0.38704 -6.18998,0.46426 -7.90875,0.12896 z m 6.92994,-5.20516 c 1.77043,-1.03673 2.34719,-2.50803 2.35786,-6.01479 l 0.006,-2.07533 -3.77031,0.097 c -3.29921,0.0848 -3.91253,0.17213 -4.90845,0.69861 -1.27367,0.67331 -2.69893,2.64825 -2.69733,3.73762 0.001,0.77735 0.83464,2.2531 1.67343,2.96288 1.53862,1.30197 5.57201,1.62847 7.33849,0.59406 z m -76.09176,4.86829 c -0.0718,-0.1876 -0.0996,-6.59187 -0.0618,-14.231709 l 0.0688,-13.890624 h 2.38125 2.38125 v 14.155204 14.155209 l -2.31943,0.0765 c -1.70628,0.0563 -2.35396,-0.0137 -2.45004,-0.26459 z m 10.10425,-0.0596 c -0.0802,-0.20897 -0.12269,-6.60857 -0.0945,-14.221349 l 0.0513,-13.841424 h 2.38125 2.38125 l 0.0684,14.221354 0.0684,14.221349 h -2.35524 c -1.80279,0 -2.38944,-0.0891 -2.50104,-0.37993 z m 35.11607,-0.30847 c -0.095,-0.37862 -0.11053,-4.99229 -0.0344,-10.25261 0.12618,-8.723899 0.18658,-9.715399 0.68747,-11.285189 1.29659,-4.063497 4.3606,-6.218859 9.29103,-6.535729 2.06626,-0.132795 5.29988,0.255791 5.29988,0.636886 0,0.08132 -0.2566,1.08418 -0.57023,2.228585 l -0.57023,2.080739 -2.15656,-0.16577 c -2.49177,-0.19153 -3.87041,0.25949 -5.3705,1.756959 -0.75709,0.75576 -1.76191,3.14282 -1.62992,3.87205 0.0228,0.12569 0.0273,4.30641 0.01,9.290499 l -0.0313,9.06198 h -2.37621 c -2.33876,0 -2.37893,-0.0108 -2.54898,-0.6884 z m -66.274827,-31.525 c -0.51012,-0.545486 -1.07676,-1.190866 -1.25921,-1.434176 -1.24584,-1.661446 -2.15941,-7.647514 -1.27868,-8.378449 0.35742,-0.296635 0.50679,-0.203116 1.06376,0.665993 0.37336,0.58261 0.71063,1.59372 0.79586,2.385928 0.0814,0.75616 0.33924,1.744826 0.57309,2.197036 0.23384,0.45221 0.49499,1.440876 0.58032,2.197036 0.0853,0.756161 0.32722,1.715942 0.53753,2.132844 0.60857,1.20638 0.0232,1.341514 -1.01267,0.233788 z m 2.33518,-0.912463 c -0.78294,-1.207471 -0.949,-2.328288 -0.34497,-2.328288 0.41496,0 2.3036,2.906953 2.1013,3.234277 -0.31707,0.513043 -1.09712,0.110664 -1.75633,-0.905989 z m 19.784637,0.858874 c -0.29105,-0.120382 -0.81183,-0.523184 -1.15731,-0.895117 -0.55328,-0.595656 -0.61424,-0.868323 -0.51154,-2.288169 0.14787,-2.044287 0.70615,-2.673019 2.52899,-2.848171 1.4406,-0.138425 2.76691,0.371144 3.23306,1.242139 0.42376,0.791816 0.32892,2.99125 -0.15903,3.6879 -0.76268,1.088877 -2.67211,1.623444 -3.93417,1.101418 z m 10.26163,0.07799 c -0.32245,-0.06853 -0.90073,-0.498295 -1.28506,-0.955046 -0.61462,-0.730435 -0.68434,-1.004578 -0.57889,-2.276186 0.10157,-1.224812 0.25311,-1.564764 0.99171,-2.224699 0.78581,-0.702127 1.01127,-0.767402 2.28555,-0.661731 1.64496,0.136414 2.35778,0.662517 2.77233,2.04614 0.37045,1.236472 -0.0824,3.038228 -0.89777,3.571827 -0.65206,0.426738 -2.38899,0.690716 -3.28787,0.499695 z m 39.75546,-1.455516 c -0.29653,-0.177535 -1.20228,-0.272483 -2.11667,-0.221882 -0.87909,0.04865 -4.69397,0.09826 -8.47751,0.110241 -6.435,0.02037 -6.93758,-0.01251 -7.78397,-0.509799 -1.26347,-0.74232 -1.8095,-2.382676 -1.36737,-4.107791 0.1744,-0.680468 0.2409,-1.540798 0.14777,-1.911847 -0.21966,-0.875197 -1.27098,-1.856041 -1.86604,-1.740942 -0.5115,0.09893 -1.67879,2.164519 -1.69064,2.991662 -0.0104,0.726839 -0.82481,2.78697 -1.10174,2.78697 -0.12575,0 -0.22863,-0.9525 -0.22863,-2.116667 0,-1.76389 -0.0882,-2.20486 -0.52917,-2.645833 -0.29104,-0.291042 -0.7205,-0.529167 -0.95435,-0.529167 -0.30134,0 -0.36952,-0.134858 -0.23409,-0.463021 0.1051,-0.254661 0.28802,-0.868269 0.40649,-1.363577 0.15095,-0.631092 0.8118,-1.46236 2.20859,-2.778125 1.43622,-1.352905 2.18899,-2.308765 2.69387,-3.420658 0.74796,-1.647211 1.82649,-2.555189 3.03725,-2.556962 0.3715,-5.29e-4 1.97885,0.490347 3.57187,1.090869 3.83806,1.446829 4.56223,1.507868 7.1508,0.602739 3.01212,-1.053232 4.23878,-0.986837 6.91838,0.374465 1.19732,0.608267 2.36214,1.105937 2.58849,1.105937 0.22635,0 0.97971,-0.287911 1.67413,-0.639802 1.74679,-0.885163 3.01721,-1.087554 3.93068,-0.626192 0.9818,0.495877 2.03292,1.101442 2.19747,1.265994 0.15255,0.152551 2.72448,1.837262 3.70417,2.426375 0.3638,0.218763 1.43537,0.542631 2.38125,0.719709 2.99201,0.560125 3.39696,0.760338 3.98279,1.969132 0.35752,0.737711 0.51671,1.548122 0.48115,2.449343 -0.0926,2.345902 2.17289,5.515176 2.79099,3.904435 0.0923,-0.240493 0.0322,-0.848045 -0.13348,-1.350118 -0.34463,-1.044218 -0.0719,-1.472047 1.11487,-1.748684 0.95905,-0.223563 1.99025,0.640426 2.77445,2.324568 0.80436,1.727398 0.79157,1.946883 -0.16307,2.799185 -1.41862,1.26654 -5.07464,1.602407 -21.82791,2.005256 -3.35735,0.08073 -4.91543,0.02297 -5.28082,-0.195813 z m 5.68028,-4.32481 c 1.18291,-0.746736 2.5284,-2.584754 2.23713,-3.056043 -0.18437,-0.298304 -1.0193,-0.247404 -2.83503,0.172836 -0.59591,0.137922 -0.7276,0.07816 -0.7276,-0.330192 0,-0.274224 0.28708,-0.921067 0.63796,-1.437425 0.83064,-1.222407 1.15012,-3.186075 0.59351,-3.648019 -0.44514,-0.369435 -0.4109,-0.415042 -1.86137,2.47964 -0.4375,0.873125 -0.951,1.744832 -1.14111,1.937128 -0.49165,0.497301 -0.42942,1.224616 0.21434,2.505184 0.62047,1.234238 1.25359,2.039979 1.60294,2.039979 0.12586,0 0.70151,-0.298389 1.27923,-0.663088 z m 10.83558,-0.900856 c 0.47081,-1.136634 0.25503,-1.478764 -0.93265,-1.478764 -1.28599,0 -1.48663,-0.589621 -0.52713,-1.549122 0.69901,-0.699008 0.88547,-1.597345 0.39453,-1.900764 -0.7978,-0.493069 -2.04158,2.305775 -1.70522,3.83721 0.0986,0.448789 0.47652,1.169297 0.83988,1.601128 0.77873,0.925462 1.40457,0.760236 1.93059,-0.509688 z M 155.5634,74.14944 c 0.50932,-0.1802 1.46083,-0.36475 2.11447,-0.41011 1.26066,-0.08749 3.35317,-0.704985 3.9048,-1.1523 0.47723,-0.386982 0.40641,-1.377841 -0.13229,-1.850882 -0.72957,-0.640646 -1.61816,-0.828932 -4.0435,-0.856782 -1.93665,-0.02225 -2.46318,-0.133008 -3.70416,-0.779272 -0.79564,-0.41434 -1.88046,-1.095203 -2.41073,-1.513027 -1.80091,-1.41904 -1.90833,-1.058617 -0.7384,2.477529 0.9759,2.94967 1.26258,3.424655 2.40734,3.988726 1.04811,0.516448 1.37981,0.528698 2.60247,0.09612 z m -48.71741,4.518051 c -0.75584,-0.625237 -1.23923,-1.693741 -1.41492,-3.127595 -0.14698,-1.199446 -0.0682,-1.678781 0.4775,-2.905003 1.67233,-3.757871 4.19907,-6.216615 6.89,-6.704573 0.38534,-0.06988 0.94096,-0.20333 1.23472,-0.296563 0.8268,-0.262419 2.84262,0.848153 3.54476,1.95291 1.04663,1.646785 2.41915,2.48593 3.62924,2.21887 0.57393,-0.126664 1.59669,-2.515833 1.75413,-4.097681 0.10368,-1.041612 -0.0254,-1.552559 -0.76848,-3.042708 l -0.89308,-1.790886 0.0841,-4.630208 c 0.0791,-4.356544 0.12399,-4.708397 0.75971,-5.953124 1.38713,-2.71598 2.27736,-3.644731 4.64358,-4.844518 2.07098,-1.050084 2.38275,-1.130576 4.58507,-1.183796 1.68752,-0.04078 2.86165,0.08791 4.10738,0.450175 1.84993,0.537972 2.92387,0.440743 2.37931,-0.215411 -0.17951,-0.216298 -1.12844,-0.434549 -2.3449,-0.539321 -3.51928,-0.30311 -4.34481,-1.003481 -2.47202,-2.097247 1.16316,-0.679324 3.50373,-0.620097 4.69949,0.118919 1.13086,0.698912 1.48162,1.769436 1.12483,3.433052 -0.33237,1.549826 -1.02426,2.121199 -3.13572,2.589562 -3.05232,0.677061 -7.3992,3.86716 -7.94452,5.830339 -0.14608,0.525889 -0.26767,1.432412 -0.27021,2.014495 -0.003,0.582084 -0.3046,2.248959 -0.67128,3.704167 -0.36667,1.455208 -0.73302,3.419739 -0.81411,4.365625 -0.22832,2.663033 -1.21812,5.429419 -3.31335,9.260416 -0.74008,1.353177 -0.71792,1.34838 -1.93549,0.418983 -1.45883,-1.113549 -3.33052,-1.596128 -4.85879,-1.252749 -1.07379,0.241266 -1.13531,0.220337 -1.51593,-0.515715 -0.46045,-0.890413 -1.38975,-1.026083 -2.04778,-0.298961 -0.45402,0.501682 -1.74517,3.401002 -2.45636,5.515801 -0.57096,1.69781 -0.80836,1.953474 -1.81395,1.953474 -0.46369,0 -1.02299,-0.148828 -1.24288,-0.330729 z M 98.677983,78.0112 c -1.64347,-0.791178 -1.71155,-1.369084 -0.39143,-3.322897 l 0.93148,-1.378624 -0.16733,-2.513542 c -0.16726,-2.512375 -0.16697,-2.51401 0.64084,-3.523012 0.444487,-0.555207 1.357347,-1.448175 2.028557,-1.984375 1.50167,-1.199612 2.83836,-3.509435 3.53031,-6.100426 0.44623,-1.670909 0.71416,-2.14621 1.86903,-3.31561 0.74148,-0.7508 1.34814,-1.445249 1.34814,-1.543219 0,-0.09797 -0.44112,-0.260884 -0.98026,-0.362027 -0.78348,-0.146981 -1.2525,-0.04136 -2.33637,0.526111 -1.64659,0.862102 -6.434197,5.505765 -7.306207,7.086542 -0.70093,1.270653 -1.40155,1.571013 -1.95645,0.838744 -0.60987,-0.80482 -0.44244,-1.492498 0.76857,-3.156788 2.8822,-3.960987 9.692297,-9.847603 12.857717,-11.114151 0.67892,-0.27165 1.26459,-0.808894 1.82554,-1.674598 1.53853,-2.374361 3.00047,-3.179549 6.28369,-3.460849 2.2984,-0.196922 2.70621,-0.326718 5.75862,-1.83285 2.69184,-1.328216 3.72518,-1.692106 5.72239,-2.01513 1.34053,-0.216816 2.65699,-0.511765 2.92545,-0.655442 0.58973,-0.315611 3.31898,-0.450679 3.5919,-0.177759 0.43429,0.434287 -0.515,0.79676 -2.597,0.99163 -1.21017,0.113269 -2.3964,0.283952 -2.63606,0.379295 -0.23967,0.09534 -1.212,1.100689 -2.16074,2.2341 -1.01357,1.210845 -2.25242,2.362992 -3.00384,2.793592 -0.70336,0.403061 -1.83688,1.271526 -2.51892,1.929918 l -1.24008,1.197078 -1.32251,-0.568928 c -2.84275,-1.222917 -4.1526,-0.612939 -8.0301,3.739483 -0.87946,0.987176 -1.52487,1.869009 -1.43425,1.959629 0.29663,0.296624 2.30602,-0.789364 2.83493,-1.532155 0.60988,-0.856496 2.60978,-1.695103 3.4753,-1.457285 0.33374,0.0917 0.95095,0.451141 1.37159,0.798764 0.68607,0.566978 0.80202,0.900305 1.1264,3.238272 0.35442,2.55451 0.33043,3.267697 -0.10995,3.267697 -0.26228,0 -0.75383,-1.332357 -1.00139,-2.714281 -0.33349,-1.861585 -1.51416,-2.765989 -2.5869,-1.981584 -0.76289,0.557842 -0.60384,2.166263 0.49759,5.031949 0.51792,1.347499 0.48262,3.30014 -0.08,4.426415 -0.40788,0.816483 -0.58782,0.929423 -1.52094,0.95463 -0.58209,0.01572 -1.45983,-0.133104 -1.95054,-0.330729 -1.71944,-0.692467 -3.48462,-0.309946 -4.72035,1.022914 -0.30704,0.331179 -1.00125,1.554644 -1.54268,2.71881 -0.54142,1.164167 -1.32765,2.616944 -1.74717,3.22839 -1.03788,1.512737 -1.66114,3.05924 -2.05775,5.105985 -0.39069,2.016209 -0.80523,3.23025 -1.19565,3.501678 -0.47925,0.333179 -1.826457,0.210013 -2.793157,-0.255365 z M 111.11171,56.257296 c 0.50839,-0.421452 0.84203,-0.848598 0.74141,-0.949211 -0.27914,-0.279141 -2.59179,0.931217 -2.59179,1.35645 0,0.604784 0.85716,0.416139 1.85038,-0.407239 z m 84.18841,20.177317 c -0.13816,-0.263506 -0.33393,-0.86451 -0.43506,-1.335569 -0.10683,-0.497625 -0.70194,-1.382482 -1.42037,-2.11193 -2.29928,-2.334538 -2.41739,-2.571001 -2.26763,-4.539729 0.21107,-2.774878 0.36379,-3.472079 0.76052,-3.472079 0.63467,0 1.40388,1.403969 2.47809,4.523023 0.57161,1.659681 1.23753,3.54285 1.47984,4.184821 0.48135,1.275268 0.46439,2.965154 -0.0314,3.127886 -0.17205,0.05647 -0.42586,-0.112919 -0.56401,-0.376423 z M 94.706333,75.158263 c -0.22702,-0.273544 -0.29095,-0.977987 -0.20182,-2.223799 0.2774,-3.877016 2.71375,-5.428858 3.0488,-1.941946 0.0993,1.033404 -0.0147,1.568677 -0.56575,2.656088 -0.37956,0.749028 -0.92057,1.485205 -1.20224,1.635948 -0.6582,0.352256 -0.68438,0.349192 -1.07899,-0.126291 z m 36.118527,-1.612561 c -0.43656,-0.352642 -1.24024,-0.777213 -1.78594,-0.943493 -0.5457,-0.166283 -0.99219,-0.390584 -0.99219,-0.498446 0,-0.107863 0.40601,-0.799434 0.90224,-1.536825 0.93743,-1.393023 1.47901,-3.261314 1.47901,-5.102153 0,-0.589584 0.34745,-2.280364 0.7721,-3.757289 0.42465,-1.476923 0.92012,-3.816408 1.10103,-5.198856 0.18483,-1.412357 0.54155,-2.874148 0.81425,-3.336655 0.62083,-1.052955 2.20045,-2.146321 3.83533,-2.654702 1.40618,-0.437267 6.26149,-0.792274 7.29343,-0.533273 0.90311,0.226668 1.41689,1.927111 0.99684,3.299206 -0.69251,2.26206 -2.18236,4.54834 -2.96391,4.54834 -0.19087,0 -1.13856,-0.714375 -2.10597,-1.5875 -0.96741,-0.873125 -1.88849,-1.5875 -2.04685,-1.5875 -0.56821,0 -0.27265,0.768589 0.50983,1.325759 1.31448,0.93599 1.64904,1.905288 1.6843,4.879657 0.0412,3.472669 -0.18968,3.887793 -3.19943,5.753764 -2.54476,1.577689 -3.07918,2.289058 -3.05237,4.062997 0.0158,1.042474 -0.029,1.105736 -0.94376,1.333505 -0.80241,0.199792 -1.00503,0.39824 -1.23225,1.20687 l -0.27194,0.967759 z m 66.46138,-0.989121 c -0.5873,-0.896326 -1.24159,-2.538227 -1.24159,-3.11567 0,-1.01968 0.506,-0.437943 1.23364,1.418297 0.41291,1.053332 0.79042,2.005832 0.83893,2.116666 0.21156,0.483397 -0.4623,0.143378 -0.83098,-0.419293 z m -10.62496,-4.387858 c -0.74348,-1.467175 -1.52951,-2.134615 -2.51561,-2.136073 -0.79888,-0.0011 -2.34116,-0.890641 -2.56762,-1.480802 -0.1076,-0.280408 0.27483,-0.856596 1.1483,-1.730062 l 1.30963,-1.309632 0.94246,0.739388 c 0.51835,0.406665 1.60228,1.156108 2.40874,1.665431 2.13443,1.348009 2.61454,2.849054 1.49214,4.665125 -0.78952,1.277474 -1.42085,1.159814 -2.21804,-0.413375 z M 98.289873,64.644577 c 0.36497,-2.188118 2.784567,-5.754687 3.904027,-5.754687 0.6448,0 1.24659,1.058637 1.24659,2.192932 0,1.805676 -0.95241,3.033776 -3.12364,4.027792 -2.058507,0.942417 -2.254397,0.897377 -2.026977,-0.466037 z m 78.572487,-1.361808 c -0.43656,-0.1919 -1.40796,-0.83626 -2.15866,-1.431914 -1.26545,-1.004086 -1.39427,-1.214099 -1.76775,-2.881884 -0.80814,-3.608758 -0.81237,-3.706524 -0.17516,-4.047548 0.94421,-0.505328 1.6849,-0.128453 2.32108,1.181013 0.32065,0.659973 0.67505,1.199954 0.78757,1.199954 0.11252,0 0.50102,0.274021 0.86333,0.608936 1.24587,1.151649 2.37855,1.098232 2.37855,-0.112165 0,-0.734095 0.76639,-0.603171 1.06488,0.181911 0.35599,0.936332 0.32361,3.121237 -0.0587,3.960299 -0.24556,0.538949 -1.95577,1.75859 -2.38471,1.700663 -0.0422,-0.0057 -0.43388,-0.167365 -0.87044,-0.359265 z m -23.28333,-1.326793 c -0.43657,-0.194032 -1.08454,-0.667903 -1.43995,-1.053049 -0.35541,-0.385144 -1.20594,-1.059447 -1.89007,-1.498452 -1.82383,-1.170353 -2.01802,-1.846149 -1.34551,-4.682577 0.8795,-3.709448 1.00084,-5.662962 0.41352,-6.657218 -0.45099,-0.763458 -0.60348,-0.831858 -1.81929,-0.816044 -2.07484,0.02698 -3.86372,-0.28203 -4.02211,-0.694785 -0.21217,-0.552892 0.42363,-1.895366 1.17907,-2.489595 1.04836,-0.824644 3.44682,-0.552608 6.08657,0.690346 1.18199,0.556554 2.22833,2.214846 2.37051,3.756896 0.10896,1.181819 0.0561,1.305808 -0.96551,2.264767 -1.11944,1.050798 -1.26421,1.455655 -0.81839,2.28868 0.78046,1.458306 3.70434,0.582895 6.48449,-1.94146 2.17936,-1.978842 2.85522,-2.274866 3.61792,-1.584629 0.56315,0.509646 1.30639,1.77982 1.2482,2.133148 -0.18524,1.124831 0.0825,1.711129 0.94621,2.072013 1.34762,0.56307 2.94048,0.494101 3.59003,-0.155443 0.29635,-0.296352 0.49466,-0.623774 0.4407,-0.727604 -0.054,-0.103833 -0.34944,-0.739167 -0.65662,-1.411851 -0.56018,-1.226733 -1.82619,-2.423994 -3.43175,-3.245398 -1.13077,-0.578495 -1.23169,-1.584637 -0.1323,-1.318829 1.6267,0.393293 3.46133,2.419038 5.19579,5.737048 1.56504,2.993911 2.02713,4.707498 1.58214,5.867138 -0.19206,0.500501 -3.46411,3.046645 -3.91525,3.046645 -0.16475,0 -1.00647,-0.714375 -1.87049,-1.5875 l -1.57093,-1.5875 -1.72808,0.0011 c -2.02318,0.0013 -3.21164,0.64234 -5.03823,2.717451 -1.19436,1.356873 -1.32646,1.402998 -2.51067,0.87667 z m 36.01631,-0.557363 c -0.23642,-0.236421 -0.42986,-0.581491 -0.42986,-0.766823 0,-0.387451 0.83901,-1.212734 1.2329,-1.212734 0.38808,0 0.95133,1.172803 0.84102,1.751161 -0.12301,0.644908 -1.09282,0.779637 -1.64406,0.228396 z m -6.92417,-1.83524 c -0.35719,-0.357187 -0.64944,-0.797271 -0.64944,-0.977963 0,-0.180695 -0.30102,-0.76291 -0.66893,-1.293813 -0.7211,-1.040545 -0.66351,-1.71863 0.16838,-1.982663 0.6233,-0.197829 4.86662,2.046462 5.26038,2.78221 0.75395,1.408774 0.0455,2.121662 -2.10862,2.121662 -1.08304,0 -1.48167,-0.129326 -2.00177,-0.649433 z m -9.8238,-7.622696 c -1.09021,-0.619228 -3.74463,-4.163287 -3.11822,-4.163287 1.08493,0 4.81042,3.354615 4.53181,4.080663 -0.19158,0.499237 -0.63453,0.525127 -1.41359,0.08262 z M 154.17434,44.22376 c -0.83675,-0.935689 -1.52136,-1.839057 -1.52136,-2.007484 0,-0.444583 1.94781,-0.08303 3.63802,0.675296 0.95763,0.429645 1.38907,0.776737 1.38907,1.117513 0,0.503175 -1.27908,1.916344 -1.73427,1.916074 -0.13756,-8e-5 -0.93472,-0.76571 -1.77146,-1.701399 z M 142.05395,42.5991 c -0.41029,-0.494368 -0.0619,-1.25153 0.63937,-1.389547 0.3082,-0.06066 0.43466,0.103124 0.43466,0.562915 0,0.907598 -0.61439,1.380466 -1.07403,0.826632 z" + id="path965" /> + </g> +</svg> diff --git a/src/res/favicons/favicon-128-light.png b/src/res/favicons/favicon-128-light.png new file mode 100644 index 0000000000000000000000000000000000000000..2e7496a4689c3a850f19de1b8722ce816af66b49 Binary files /dev/null and b/src/res/favicons/favicon-128-light.png differ diff --git a/src/res/favicons/favicon-128-light.svg b/src/res/favicons/favicon-128-light.svg new file mode 100644 index 0000000000000000000000000000000000000000..8e5472b32795cab964d9e78f993908d64edaae47 --- /dev/null +++ b/src/res/favicons/favicon-128-light.svg @@ -0,0 +1,65 @@ +<?xml version="1.0" encoding="UTF-8" standalone="no"?> +<svg + xmlns:dc="http://purl.org/dc/elements/1.1/" + xmlns:cc="http://creativecommons.org/ns#" + xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" + xmlns:svg="http://www.w3.org/2000/svg" + xmlns="http://www.w3.org/2000/svg" + xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" + xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" + width="128mm" + height="128mm" + viewBox="0 0 128 128" + version="1.1" + id="svg8" + inkscape:version="1.0.2 (394de47547, 2021-03-26)" + sodipodi:docname="favicon-128-light.svg"> + <defs + id="defs2" /> + <sodipodi:namedview + id="base" + pagecolor="#ffffff" + bordercolor="#666666" + borderopacity="1.0" + inkscape:pageopacity="0.0" + inkscape:pageshadow="2" + inkscape:zoom="1.4" + inkscape:cx="324.70471" + inkscape:cy="279.91944" + inkscape:document-units="mm" + inkscape:current-layer="layer2" + inkscape:document-rotation="0" + showgrid="false" + fit-margin-top="0" + fit-margin-left="0" + fit-margin-right="0" + fit-margin-bottom="0" + inkscape:window-width="1853" + inkscape:window-height="1025" + inkscape:window-x="67" + inkscape:window-y="27" + inkscape:window-maximized="1" /> + <metadata + id="metadata5"> + <rdf:RDF> + <cc:Work + rdf:about=""> + <dc:format>image/svg+xml</dc:format> + <dc:type + rdf:resource="http://purl.org/dc/dcmitype/StillImage" /> + <dc:title></dc:title> + </cc:Work> + </rdf:RDF> + </metadata> + <g + inkscape:groupmode="layer" + id="layer2" + inkscape:label="main" + style="display:inline" + transform="translate(-79.414325,-20.601907)"> + <path + style="fill:#000000;stroke-width:0.264583" + d="m 162.83944,128.89555 c -1.71263,-0.76119 -2.51354,-2.36516 -2.51354,-5.03388 0,-2.25335 0.78988,-3.77883 2.38125,-4.59886 2.34364,-1.20767 5.04289,-0.21921 5.96015,2.18259 0.5625,1.4729 0.4413,4.34887 -0.24282,5.76143 -0.83944,1.73329 -3.604,2.5692 -5.58504,1.68872 z m 3.49261,-1.63593 c 1.05602,-0.66537 1.47806,-3.54272 0.76867,-5.24053 -1.06024,-2.53752 -4.2164,-2.24958 -4.94489,0.45112 -0.36533,1.3544 -0.16041,3.36382 0.43584,4.27382 0.74822,1.14193 2.38765,1.36792 3.74038,0.51559 z m -39.87282,-3.28224 v -5.02708 h 3.3073 3.30729 v 0.66146 c 0,0.65913 -0.009,0.66145 -2.51354,0.66145 h -2.51355 v 1.45521 1.45521 h 2.24896 2.24896 v 0.79375 0.79375 h -2.24896 -2.24896 v 1.45521 1.45521 h 2.4915 c 2.49379,0 2.90743,0.15781 2.6006,0.99219 -0.0884,0.24024 -1.01868,0.33072 -3.40061,0.33072 h -3.27899 z m 7.9375,4.81268 c 0,-0.13636 0.65485,-1.20951 1.45521,-2.38478 0.80037,-1.17527 1.45521,-2.3002 1.45521,-2.49985 0,-0.19964 -0.60994,-1.24739 -1.35542,-2.32833 -1.81084,-2.62569 -1.8116,-2.62907 -0.59112,-2.61522 0.96613,0.011 1.07801,0.10373 2.1,1.74113 l 1.0795,1.72954 1.13439,-1.74113 c 1.02835,-1.57837 1.21805,-1.74112 2.02935,-1.74112 0.49223,0 0.89497,0.0976 0.89497,0.2168 0,0.11923 -0.45048,0.82058 -1.00107,1.55853 -0.55059,0.73796 -1.22383,1.75537 -1.49608,2.26091 l -0.495,0.91916 1.62837,2.43443 c 0.8956,1.33894 1.62836,2.48616 1.62836,2.54938 0,0.0632 -0.44834,0.11495 -0.99631,0.11495 -0.9347,0 -1.06576,-0.10637 -2.11905,-1.71979 -0.61751,-0.94588 -1.21097,-1.71645 -1.31879,-1.71237 -0.10783,0.004 -0.67231,0.74822 -1.25439,1.65365 -0.89834,1.39735 -1.18833,1.65876 -1.91823,1.72913 -0.47294,0.0456 -0.8599,-0.0286 -0.8599,-0.16502 z m 9.58531,-4.74653 0.072,-4.96094 2.36594,-0.0772 c 3.55309,-0.11592 4.9101,0.71487 4.9101,3.00606 0,2.39475 -0.96061,3.25698 -3.89065,3.49217 l -1.6656,0.1337 v 1.68357 1.68356 h -0.93188 -0.93188 z m 5.23136,-0.59532 c 0.52634,-0.52634 0.69769,-1.71985 0.32668,-2.27549 -0.36931,-0.55309 -1.35454,-0.89951 -2.55824,-0.89951 h -1.20802 v 1.85209 1.85208 h 1.45521 c 1.10243,0 1.58349,-0.12828 1.98437,-0.52917 z m 3.70417,0.51241 v -5.04385 l 0.85989,0.0829 0.8599,0.0829 0.0727,4.29948 0.0727,4.29948 h 2.2424 c 2.21551,0 2.24241,0.008 2.24241,0.66146 v 0.66145 h -3.175 -3.175 z m 17.99166,0.0168 v -5.02708 l 2.71198,0.001 c 2.22127,7.9e-4 2.86498,0.0943 3.55752,0.51654 1.45573,0.88762 1.51248,3.41795 0.10255,4.57238 l -0.73112,0.59863 0.8837,2.07396 c 0.48604,1.14069 0.88371,2.1305 0.88371,2.19958 0,0.0691 -0.38396,0.0883 -0.85324,0.0427 -0.77802,-0.0756 -0.91584,-0.23454 -1.56315,-1.8027 -0.91281,-2.21133 -1.12685,-2.42774 -2.30398,-2.32964 l -0.96817,0.0806 -0.0773,2.05052 -0.0773,2.05052 h -0.78261 -0.78263 v -5.02708 z m 5.1237,-1.07753 c 0.83208,-0.65453 0.88983,-1.37562 0.16797,-2.09748 -0.41157,-0.41157 -0.88194,-0.52917 -2.11667,-0.52917 h -1.5875 v 1.5875 1.5875 h 1.41953 c 1.03547,0 1.60814,-0.14836 2.11667,-0.54837 z m 4.4013,1.07752 v -5.02708 h 3.3073 3.30729 v 0.66146 c 0,0.65913 -0.009,0.66145 -2.51354,0.66145 h -2.51355 v 1.45521 1.45521 h 2.24896 2.24896 v 0.79375 0.79375 h -2.24896 -2.24896 v 1.45521 1.45521 h 2.51355 c 2.50472,0 2.51354,0.002 2.51354,0.66146 v 0.66145 h -3.30729 -3.3073 z m 8.73125,0 v -5.02708 h 2.75783 c 2.5548,0 2.81563,0.0486 3.543,0.66068 0.43184,0.36337 0.86108,0.96314 0.95387,1.33283 0.25133,1.00138 -0.29507,2.66624 -1.05728,3.22147 l -0.67115,0.4889 0.931,2.17514 0.931,2.17514 h -0.87632 c -0.83195,0 -0.914,-0.0904 -1.62079,-1.78593 -0.98454,-2.36185 -1.10215,-2.48856 -2.22268,-2.39463 l -0.94868,0.0795 -0.0773,2.05052 -0.0773,2.05052 h -0.78261 -0.78263 z m 4.96821,-0.94104 c 0.70292,-0.49234 0.77514,-1.58868 0.15016,-2.27927 -0.32907,-0.36362 -0.82218,-0.48386 -1.98437,-0.48386 h -1.5465 v 1.5875 1.5875 h 1.39634 c 0.83558,0 1.63249,-0.1654 1.98437,-0.41187 z m -97.572367,-9.5378 c -1.95888,-0.34634 -5.82084,-1.69103 -5.82084,-2.02677 0,-0.26055 1.56112,-3.71342 1.77614,-3.92844 0.17279,-0.17279 0.61281,-0.12624 1.29339,0.13682 1.5231,0.58871 4.90435,1.21598 6.554677,1.21598 2.60677,0 5.19386,-1.69122 5.19148,-3.39374 -0.003,-1.9815 -1.93734,-3.38013 -6.084437,-4.39883 -4.65894,-1.144439 -6.70269,-2.519669 -8.03124,-5.404209 -0.71141,-1.5446 -0.75135,-4.927329 -0.0761,-6.446859 0.70597,-1.588706 2.48912,-3.227144 4.27091,-3.924299 1.36156,-0.532739 2.0582,-0.621779 4.894797,-0.625631 3.42639,-0.0047 5.55454,0.402283 7.71765,1.475732 l 0.97077,0.481753 -0.70619,2.010008 c -0.80831,2.300676 -0.49127,2.212587 -4.26017,1.183737 -3.97503,-1.085119 -6.995447,-0.45827 -8.048857,1.670449 -0.41938,0.84746 -0.44249,1.10637 -0.15967,1.78914 0.64008,1.54529 2.27792,2.40158 6.602567,3.4519 5.57621,1.35429 8.19428,4.460389 7.88051,9.349499 -0.21116,3.29034 -1.90364,5.60538 -4.96953,6.79752 -1.17157,0.45555 -2.12561,0.57923 -4.89479,0.63451 -1.891777,0.0378 -3.737247,0.0161 -4.101047,-0.0483 z m 44.068567,-0.278 c -2.90689,-0.89207 -5.0522,-3.00939 -6.05006,-5.97114 -0.5442,-1.61522 -0.55975,-2.09043 -0.56972,-17.403258 l -0.0102,-15.742712 2.44739,-0.07608 2.4474,-0.07607 v 7.060514 7.060515 l 0.60161,-0.892728 c 1.56474,-2.321923 5.21496,-3.2175 9.04643,-2.219529 3.20198,0.834009 5.19421,2.399257 6.39662,5.02566 0.87053,1.901499 1.1483,3.650869 1.28015,8.062509 0.27496,9.199609 -2.10057,13.619369 -8.19669,15.250219 -1.75078,0.46837 -5.75011,0.42623 -7.39288,-0.0779 z m 6.49531,-4.951 c 1.40139,-0.66989 2.60987,-1.95865 3.38206,-3.60674 0.64143,-1.36901 0.68161,-1.69814 0.67829,-5.556249 -0.003,-3.1889 -0.10522,-4.39714 -0.46075,-5.43234 -1.99463,-5.807759 -9.23139,-5.807759 -11.22454,0 -0.5714,1.66496 -0.66746,9.662769 -0.13719,11.422529 0.38795,1.28749 1.62048,2.60265 3.10346,3.31151 1.26411,0.60425 3.22666,0.54581 4.65867,-0.13871 z m 36.45034,5.14101 c -2.86373,-0.55868 -5.63198,-2.86262 -6.48265,-5.39534 -0.73178,-2.17877 -0.62908,-5.24545 0.23901,-7.13684 1.7518,-3.816799 4.64695,-5.101829 11.69101,-5.189139 2.03163,-0.0252 3.74448,-0.0964 3.80632,-0.15823 0.2984,-0.2984 -0.60554,-3.52815 -1.21109,-4.32724 -1.09959,-1.451009 -2.65508,-1.980129 -5.34563,-1.818389 -1.24652,0.0749 -3.25381,0.3917 -4.46064,0.70393 -1.20684,0.31223 -2.30355,0.50013 -2.43715,0.41756 -0.1336,-0.0826 -0.32573,-0.59243 -0.42697,-1.13303 -0.10123,-0.540596 -0.34775,-1.375097 -0.54783,-1.854445 -0.20007,-0.479348 -0.29566,-0.98175 -0.21241,-1.116446 0.21936,-0.354926 3.38152,-1.248228 5.68631,-1.606368 2.64307,-0.410704 6.3822,-0.15327 8.3655,0.575956 2.33627,0.859007 4.12344,2.790721 4.91623,5.313863 0.57018,1.814649 0.60889,2.375279 0.60882,8.817039 -5e-5,5.765429 -0.0739,7.117489 -0.45609,8.351249 -0.88316,2.85093 -2.77719,4.61583 -5.82399,5.42691 -1.45391,0.38704 -6.18998,0.46426 -7.90875,0.12896 z m 6.92994,-5.20516 c 1.77043,-1.03673 2.34719,-2.50803 2.35786,-6.01479 l 0.006,-2.07533 -3.77031,0.097 c -3.29921,0.0848 -3.91253,0.17213 -4.90845,0.69861 -1.27367,0.67331 -2.69893,2.64825 -2.69733,3.73762 0.001,0.77735 0.83464,2.2531 1.67343,2.96288 1.53862,1.30197 5.57201,1.62847 7.33849,0.59406 z m -76.09176,4.86829 c -0.0718,-0.1876 -0.0996,-6.59187 -0.0618,-14.231709 l 0.0688,-13.890624 h 2.38125 2.38125 v 14.155204 14.155209 l -2.31943,0.0765 c -1.70628,0.0563 -2.35396,-0.0137 -2.45004,-0.26459 z m 10.10425,-0.0596 c -0.0802,-0.20897 -0.12269,-6.60857 -0.0945,-14.221349 l 0.0513,-13.841424 h 2.38125 2.38125 l 0.0684,14.221354 0.0684,14.221349 h -2.35524 c -1.80279,0 -2.38944,-0.0891 -2.50104,-0.37993 z m 35.11607,-0.30847 c -0.095,-0.37862 -0.11053,-4.99229 -0.0344,-10.25261 0.12618,-8.723899 0.18658,-9.715399 0.68747,-11.285189 1.29659,-4.063497 4.3606,-6.218859 9.29103,-6.535729 2.06626,-0.132795 5.29988,0.255791 5.29988,0.636886 0,0.08132 -0.2566,1.08418 -0.57023,2.228585 l -0.57023,2.080739 -2.15656,-0.16577 c -2.49177,-0.19153 -3.87041,0.25949 -5.3705,1.756959 -0.75709,0.75576 -1.76191,3.14282 -1.62992,3.87205 0.0228,0.12569 0.0273,4.30641 0.01,9.290499 l -0.0313,9.06198 h -2.37621 c -2.33876,0 -2.37893,-0.0108 -2.54898,-0.6884 z m -66.274827,-31.525 c -0.51012,-0.545486 -1.07676,-1.190866 -1.25921,-1.434176 -1.24584,-1.661446 -2.15941,-7.647514 -1.27868,-8.378449 0.35742,-0.296635 0.50679,-0.203116 1.06376,0.665993 0.37336,0.58261 0.71063,1.59372 0.79586,2.385928 0.0814,0.75616 0.33924,1.744826 0.57309,2.197036 0.23384,0.45221 0.49499,1.440876 0.58032,2.197036 0.0853,0.756161 0.32722,1.715942 0.53753,2.132844 0.60857,1.20638 0.0232,1.341514 -1.01267,0.233788 z m 2.33518,-0.912463 c -0.78294,-1.207471 -0.949,-2.328288 -0.34497,-2.328288 0.41496,0 2.3036,2.906953 2.1013,3.234277 -0.31707,0.513043 -1.09712,0.110664 -1.75633,-0.905989 z m 19.784637,0.858874 c -0.29105,-0.120382 -0.81183,-0.523184 -1.15731,-0.895117 -0.55328,-0.595656 -0.61424,-0.868323 -0.51154,-2.288169 0.14787,-2.044287 0.70615,-2.673019 2.52899,-2.848171 1.4406,-0.138425 2.76691,0.371144 3.23306,1.242139 0.42376,0.791816 0.32892,2.99125 -0.15903,3.6879 -0.76268,1.088877 -2.67211,1.623444 -3.93417,1.101418 z m 10.26163,0.07799 c -0.32245,-0.06853 -0.90073,-0.498295 -1.28506,-0.955046 -0.61462,-0.730435 -0.68434,-1.004578 -0.57889,-2.276186 0.10157,-1.224812 0.25311,-1.564764 0.99171,-2.224699 0.78581,-0.702127 1.01127,-0.767402 2.28555,-0.661731 1.64496,0.136414 2.35778,0.662517 2.77233,2.04614 0.37045,1.236472 -0.0824,3.038228 -0.89777,3.571827 -0.65206,0.426738 -2.38899,0.690716 -3.28787,0.499695 z m 39.75546,-1.455516 c -0.29653,-0.177535 -1.20228,-0.272483 -2.11667,-0.221882 -0.87909,0.04865 -4.69397,0.09826 -8.47751,0.110241 -6.435,0.02037 -6.93758,-0.01251 -7.78397,-0.509799 -1.26347,-0.74232 -1.8095,-2.382676 -1.36737,-4.107791 0.1744,-0.680468 0.2409,-1.540798 0.14777,-1.911847 -0.21966,-0.875197 -1.27098,-1.856041 -1.86604,-1.740942 -0.5115,0.09893 -1.67879,2.164519 -1.69064,2.991662 -0.0104,0.726839 -0.82481,2.78697 -1.10174,2.78697 -0.12575,0 -0.22863,-0.9525 -0.22863,-2.116667 0,-1.76389 -0.0882,-2.20486 -0.52917,-2.645833 -0.29104,-0.291042 -0.7205,-0.529167 -0.95435,-0.529167 -0.30134,0 -0.36952,-0.134858 -0.23409,-0.463021 0.1051,-0.254661 0.28802,-0.868269 0.40649,-1.363577 0.15095,-0.631092 0.8118,-1.46236 2.20859,-2.778125 1.43622,-1.352905 2.18899,-2.308765 2.69387,-3.420658 0.74796,-1.647211 1.82649,-2.555189 3.03725,-2.556962 0.3715,-5.29e-4 1.97885,0.490347 3.57187,1.090869 3.83806,1.446829 4.56223,1.507868 7.1508,0.602739 3.01212,-1.053232 4.23878,-0.986837 6.91838,0.374465 1.19732,0.608267 2.36214,1.105937 2.58849,1.105937 0.22635,0 0.97971,-0.287911 1.67413,-0.639802 1.74679,-0.885163 3.01721,-1.087554 3.93068,-0.626192 0.9818,0.495877 2.03292,1.101442 2.19747,1.265994 0.15255,0.152551 2.72448,1.837262 3.70417,2.426375 0.3638,0.218763 1.43537,0.542631 2.38125,0.719709 2.99201,0.560125 3.39696,0.760338 3.98279,1.969132 0.35752,0.737711 0.51671,1.548122 0.48115,2.449343 -0.0926,2.345902 2.17289,5.515176 2.79099,3.904435 0.0923,-0.240493 0.0322,-0.848045 -0.13348,-1.350118 -0.34463,-1.044218 -0.0719,-1.472047 1.11487,-1.748684 0.95905,-0.223563 1.99025,0.640426 2.77445,2.324568 0.80436,1.727398 0.79157,1.946883 -0.16307,2.799185 -1.41862,1.26654 -5.07464,1.602407 -21.82791,2.005256 -3.35735,0.08073 -4.91543,0.02297 -5.28082,-0.195813 z m 5.68028,-4.32481 c 1.18291,-0.746736 2.5284,-2.584754 2.23713,-3.056043 -0.18437,-0.298304 -1.0193,-0.247404 -2.83503,0.172836 -0.59591,0.137922 -0.7276,0.07816 -0.7276,-0.330192 0,-0.274224 0.28708,-0.921067 0.63796,-1.437425 0.83064,-1.222407 1.15012,-3.186075 0.59351,-3.648019 -0.44514,-0.369435 -0.4109,-0.415042 -1.86137,2.47964 -0.4375,0.873125 -0.951,1.744832 -1.14111,1.937128 -0.49165,0.497301 -0.42942,1.224616 0.21434,2.505184 0.62047,1.234238 1.25359,2.039979 1.60294,2.039979 0.12586,0 0.70151,-0.298389 1.27923,-0.663088 z m 10.83558,-0.900856 c 0.47081,-1.136634 0.25503,-1.478764 -0.93265,-1.478764 -1.28599,0 -1.48663,-0.589621 -0.52713,-1.549122 0.69901,-0.699008 0.88547,-1.597345 0.39453,-1.900764 -0.7978,-0.493069 -2.04158,2.305775 -1.70522,3.83721 0.0986,0.448789 0.47652,1.169297 0.83988,1.601128 0.77873,0.925462 1.40457,0.760236 1.93059,-0.509688 z M 155.5634,74.14944 c 0.50932,-0.1802 1.46083,-0.36475 2.11447,-0.41011 1.26066,-0.08749 3.35317,-0.704985 3.9048,-1.1523 0.47723,-0.386982 0.40641,-1.377841 -0.13229,-1.850882 -0.72957,-0.640646 -1.61816,-0.828932 -4.0435,-0.856782 -1.93665,-0.02225 -2.46318,-0.133008 -3.70416,-0.779272 -0.79564,-0.41434 -1.88046,-1.095203 -2.41073,-1.513027 -1.80091,-1.41904 -1.90833,-1.058617 -0.7384,2.477529 0.9759,2.94967 1.26258,3.424655 2.40734,3.988726 1.04811,0.516448 1.37981,0.528698 2.60247,0.09612 z m -48.71741,4.518051 c -0.75584,-0.625237 -1.23923,-1.693741 -1.41492,-3.127595 -0.14698,-1.199446 -0.0682,-1.678781 0.4775,-2.905003 1.67233,-3.757871 4.19907,-6.216615 6.89,-6.704573 0.38534,-0.06988 0.94096,-0.20333 1.23472,-0.296563 0.8268,-0.262419 2.84262,0.848153 3.54476,1.95291 1.04663,1.646785 2.41915,2.48593 3.62924,2.21887 0.57393,-0.126664 1.59669,-2.515833 1.75413,-4.097681 0.10368,-1.041612 -0.0254,-1.552559 -0.76848,-3.042708 l -0.89308,-1.790886 0.0841,-4.630208 c 0.0791,-4.356544 0.12399,-4.708397 0.75971,-5.953124 1.38713,-2.71598 2.27736,-3.644731 4.64358,-4.844518 2.07098,-1.050084 2.38275,-1.130576 4.58507,-1.183796 1.68752,-0.04078 2.86165,0.08791 4.10738,0.450175 1.84993,0.537972 2.92387,0.440743 2.37931,-0.215411 -0.17951,-0.216298 -1.12844,-0.434549 -2.3449,-0.539321 -3.51928,-0.30311 -4.34481,-1.003481 -2.47202,-2.097247 1.16316,-0.679324 3.50373,-0.620097 4.69949,0.118919 1.13086,0.698912 1.48162,1.769436 1.12483,3.433052 -0.33237,1.549826 -1.02426,2.121199 -3.13572,2.589562 -3.05232,0.677061 -7.3992,3.86716 -7.94452,5.830339 -0.14608,0.525889 -0.26767,1.432412 -0.27021,2.014495 -0.003,0.582084 -0.3046,2.248959 -0.67128,3.704167 -0.36667,1.455208 -0.73302,3.419739 -0.81411,4.365625 -0.22832,2.663033 -1.21812,5.429419 -3.31335,9.260416 -0.74008,1.353177 -0.71792,1.34838 -1.93549,0.418983 -1.45883,-1.113549 -3.33052,-1.596128 -4.85879,-1.252749 -1.07379,0.241266 -1.13531,0.220337 -1.51593,-0.515715 -0.46045,-0.890413 -1.38975,-1.026083 -2.04778,-0.298961 -0.45402,0.501682 -1.74517,3.401002 -2.45636,5.515801 -0.57096,1.69781 -0.80836,1.953474 -1.81395,1.953474 -0.46369,0 -1.02299,-0.148828 -1.24288,-0.330729 z M 98.677983,78.0112 c -1.64347,-0.791178 -1.71155,-1.369084 -0.39143,-3.322897 l 0.93148,-1.378624 -0.16733,-2.513542 c -0.16726,-2.512375 -0.16697,-2.51401 0.64084,-3.523012 0.444487,-0.555207 1.357347,-1.448175 2.028557,-1.984375 1.50167,-1.199612 2.83836,-3.509435 3.53031,-6.100426 0.44623,-1.670909 0.71416,-2.14621 1.86903,-3.31561 0.74148,-0.7508 1.34814,-1.445249 1.34814,-1.543219 0,-0.09797 -0.44112,-0.260884 -0.98026,-0.362027 -0.78348,-0.146981 -1.2525,-0.04136 -2.33637,0.526111 -1.64659,0.862102 -6.434197,5.505765 -7.306207,7.086542 -0.70093,1.270653 -1.40155,1.571013 -1.95645,0.838744 -0.60987,-0.80482 -0.44244,-1.492498 0.76857,-3.156788 2.8822,-3.960987 9.692297,-9.847603 12.857717,-11.114151 0.67892,-0.27165 1.26459,-0.808894 1.82554,-1.674598 1.53853,-2.374361 3.00047,-3.179549 6.28369,-3.460849 2.2984,-0.196922 2.70621,-0.326718 5.75862,-1.83285 2.69184,-1.328216 3.72518,-1.692106 5.72239,-2.01513 1.34053,-0.216816 2.65699,-0.511765 2.92545,-0.655442 0.58973,-0.315611 3.31898,-0.450679 3.5919,-0.177759 0.43429,0.434287 -0.515,0.79676 -2.597,0.99163 -1.21017,0.113269 -2.3964,0.283952 -2.63606,0.379295 -0.23967,0.09534 -1.212,1.100689 -2.16074,2.2341 -1.01357,1.210845 -2.25242,2.362992 -3.00384,2.793592 -0.70336,0.403061 -1.83688,1.271526 -2.51892,1.929918 l -1.24008,1.197078 -1.32251,-0.568928 c -2.84275,-1.222917 -4.1526,-0.612939 -8.0301,3.739483 -0.87946,0.987176 -1.52487,1.869009 -1.43425,1.959629 0.29663,0.296624 2.30602,-0.789364 2.83493,-1.532155 0.60988,-0.856496 2.60978,-1.695103 3.4753,-1.457285 0.33374,0.0917 0.95095,0.451141 1.37159,0.798764 0.68607,0.566978 0.80202,0.900305 1.1264,3.238272 0.35442,2.55451 0.33043,3.267697 -0.10995,3.267697 -0.26228,0 -0.75383,-1.332357 -1.00139,-2.714281 -0.33349,-1.861585 -1.51416,-2.765989 -2.5869,-1.981584 -0.76289,0.557842 -0.60384,2.166263 0.49759,5.031949 0.51792,1.347499 0.48262,3.30014 -0.08,4.426415 -0.40788,0.816483 -0.58782,0.929423 -1.52094,0.95463 -0.58209,0.01572 -1.45983,-0.133104 -1.95054,-0.330729 -1.71944,-0.692467 -3.48462,-0.309946 -4.72035,1.022914 -0.30704,0.331179 -1.00125,1.554644 -1.54268,2.71881 -0.54142,1.164167 -1.32765,2.616944 -1.74717,3.22839 -1.03788,1.512737 -1.66114,3.05924 -2.05775,5.105985 -0.39069,2.016209 -0.80523,3.23025 -1.19565,3.501678 -0.47925,0.333179 -1.826457,0.210013 -2.793157,-0.255365 z M 111.11171,56.257296 c 0.50839,-0.421452 0.84203,-0.848598 0.74141,-0.949211 -0.27914,-0.279141 -2.59179,0.931217 -2.59179,1.35645 0,0.604784 0.85716,0.416139 1.85038,-0.407239 z m 84.18841,20.177317 c -0.13816,-0.263506 -0.33393,-0.86451 -0.43506,-1.335569 -0.10683,-0.497625 -0.70194,-1.382482 -1.42037,-2.11193 -2.29928,-2.334538 -2.41739,-2.571001 -2.26763,-4.539729 0.21107,-2.774878 0.36379,-3.472079 0.76052,-3.472079 0.63467,0 1.40388,1.403969 2.47809,4.523023 0.57161,1.659681 1.23753,3.54285 1.47984,4.184821 0.48135,1.275268 0.46439,2.965154 -0.0314,3.127886 -0.17205,0.05647 -0.42586,-0.112919 -0.56401,-0.376423 z M 94.706333,75.158263 c -0.22702,-0.273544 -0.29095,-0.977987 -0.20182,-2.223799 0.2774,-3.877016 2.71375,-5.428858 3.0488,-1.941946 0.0993,1.033404 -0.0147,1.568677 -0.56575,2.656088 -0.37956,0.749028 -0.92057,1.485205 -1.20224,1.635948 -0.6582,0.352256 -0.68438,0.349192 -1.07899,-0.126291 z m 36.118527,-1.612561 c -0.43656,-0.352642 -1.24024,-0.777213 -1.78594,-0.943493 -0.5457,-0.166283 -0.99219,-0.390584 -0.99219,-0.498446 0,-0.107863 0.40601,-0.799434 0.90224,-1.536825 0.93743,-1.393023 1.47901,-3.261314 1.47901,-5.102153 0,-0.589584 0.34745,-2.280364 0.7721,-3.757289 0.42465,-1.476923 0.92012,-3.816408 1.10103,-5.198856 0.18483,-1.412357 0.54155,-2.874148 0.81425,-3.336655 0.62083,-1.052955 2.20045,-2.146321 3.83533,-2.654702 1.40618,-0.437267 6.26149,-0.792274 7.29343,-0.533273 0.90311,0.226668 1.41689,1.927111 0.99684,3.299206 -0.69251,2.26206 -2.18236,4.54834 -2.96391,4.54834 -0.19087,0 -1.13856,-0.714375 -2.10597,-1.5875 -0.96741,-0.873125 -1.88849,-1.5875 -2.04685,-1.5875 -0.56821,0 -0.27265,0.768589 0.50983,1.325759 1.31448,0.93599 1.64904,1.905288 1.6843,4.879657 0.0412,3.472669 -0.18968,3.887793 -3.19943,5.753764 -2.54476,1.577689 -3.07918,2.289058 -3.05237,4.062997 0.0158,1.042474 -0.029,1.105736 -0.94376,1.333505 -0.80241,0.199792 -1.00503,0.39824 -1.23225,1.20687 l -0.27194,0.967759 z m 66.46138,-0.989121 c -0.5873,-0.896326 -1.24159,-2.538227 -1.24159,-3.11567 0,-1.01968 0.506,-0.437943 1.23364,1.418297 0.41291,1.053332 0.79042,2.005832 0.83893,2.116666 0.21156,0.483397 -0.4623,0.143378 -0.83098,-0.419293 z m -10.62496,-4.387858 c -0.74348,-1.467175 -1.52951,-2.134615 -2.51561,-2.136073 -0.79888,-0.0011 -2.34116,-0.890641 -2.56762,-1.480802 -0.1076,-0.280408 0.27483,-0.856596 1.1483,-1.730062 l 1.30963,-1.309632 0.94246,0.739388 c 0.51835,0.406665 1.60228,1.156108 2.40874,1.665431 2.13443,1.348009 2.61454,2.849054 1.49214,4.665125 -0.78952,1.277474 -1.42085,1.159814 -2.21804,-0.413375 z M 98.289873,64.644577 c 0.36497,-2.188118 2.784567,-5.754687 3.904027,-5.754687 0.6448,0 1.24659,1.058637 1.24659,2.192932 0,1.805676 -0.95241,3.033776 -3.12364,4.027792 -2.058507,0.942417 -2.254397,0.897377 -2.026977,-0.466037 z m 78.572487,-1.361808 c -0.43656,-0.1919 -1.40796,-0.83626 -2.15866,-1.431914 -1.26545,-1.004086 -1.39427,-1.214099 -1.76775,-2.881884 -0.80814,-3.608758 -0.81237,-3.706524 -0.17516,-4.047548 0.94421,-0.505328 1.6849,-0.128453 2.32108,1.181013 0.32065,0.659973 0.67505,1.199954 0.78757,1.199954 0.11252,0 0.50102,0.274021 0.86333,0.608936 1.24587,1.151649 2.37855,1.098232 2.37855,-0.112165 0,-0.734095 0.76639,-0.603171 1.06488,0.181911 0.35599,0.936332 0.32361,3.121237 -0.0587,3.960299 -0.24556,0.538949 -1.95577,1.75859 -2.38471,1.700663 -0.0422,-0.0057 -0.43388,-0.167365 -0.87044,-0.359265 z m -23.28333,-1.326793 c -0.43657,-0.194032 -1.08454,-0.667903 -1.43995,-1.053049 -0.35541,-0.385144 -1.20594,-1.059447 -1.89007,-1.498452 -1.82383,-1.170353 -2.01802,-1.846149 -1.34551,-4.682577 0.8795,-3.709448 1.00084,-5.662962 0.41352,-6.657218 -0.45099,-0.763458 -0.60348,-0.831858 -1.81929,-0.816044 -2.07484,0.02698 -3.86372,-0.28203 -4.02211,-0.694785 -0.21217,-0.552892 0.42363,-1.895366 1.17907,-2.489595 1.04836,-0.824644 3.44682,-0.552608 6.08657,0.690346 1.18199,0.556554 2.22833,2.214846 2.37051,3.756896 0.10896,1.181819 0.0561,1.305808 -0.96551,2.264767 -1.11944,1.050798 -1.26421,1.455655 -0.81839,2.28868 0.78046,1.458306 3.70434,0.582895 6.48449,-1.94146 2.17936,-1.978842 2.85522,-2.274866 3.61792,-1.584629 0.56315,0.509646 1.30639,1.77982 1.2482,2.133148 -0.18524,1.124831 0.0825,1.711129 0.94621,2.072013 1.34762,0.56307 2.94048,0.494101 3.59003,-0.155443 0.29635,-0.296352 0.49466,-0.623774 0.4407,-0.727604 -0.054,-0.103833 -0.34944,-0.739167 -0.65662,-1.411851 -0.56018,-1.226733 -1.82619,-2.423994 -3.43175,-3.245398 -1.13077,-0.578495 -1.23169,-1.584637 -0.1323,-1.318829 1.6267,0.393293 3.46133,2.419038 5.19579,5.737048 1.56504,2.993911 2.02713,4.707498 1.58214,5.867138 -0.19206,0.500501 -3.46411,3.046645 -3.91525,3.046645 -0.16475,0 -1.00647,-0.714375 -1.87049,-1.5875 l -1.57093,-1.5875 -1.72808,0.0011 c -2.02318,0.0013 -3.21164,0.64234 -5.03823,2.717451 -1.19436,1.356873 -1.32646,1.402998 -2.51067,0.87667 z m 36.01631,-0.557363 c -0.23642,-0.236421 -0.42986,-0.581491 -0.42986,-0.766823 0,-0.387451 0.83901,-1.212734 1.2329,-1.212734 0.38808,0 0.95133,1.172803 0.84102,1.751161 -0.12301,0.644908 -1.09282,0.779637 -1.64406,0.228396 z m -6.92417,-1.83524 c -0.35719,-0.357187 -0.64944,-0.797271 -0.64944,-0.977963 0,-0.180695 -0.30102,-0.76291 -0.66893,-1.293813 -0.7211,-1.040545 -0.66351,-1.71863 0.16838,-1.982663 0.6233,-0.197829 4.86662,2.046462 5.26038,2.78221 0.75395,1.408774 0.0455,2.121662 -2.10862,2.121662 -1.08304,0 -1.48167,-0.129326 -2.00177,-0.649433 z m -9.8238,-7.622696 c -1.09021,-0.619228 -3.74463,-4.163287 -3.11822,-4.163287 1.08493,0 4.81042,3.354615 4.53181,4.080663 -0.19158,0.499237 -0.63453,0.525127 -1.41359,0.08262 z M 154.17434,44.22376 c -0.83675,-0.935689 -1.52136,-1.839057 -1.52136,-2.007484 0,-0.444583 1.94781,-0.08303 3.63802,0.675296 0.95763,0.429645 1.38907,0.776737 1.38907,1.117513 0,0.503175 -1.27908,1.916344 -1.73427,1.916074 -0.13756,-8e-5 -0.93472,-0.76571 -1.77146,-1.701399 z M 142.05395,42.5991 c -0.41029,-0.494368 -0.0619,-1.25153 0.63937,-1.389547 0.3082,-0.06066 0.43466,0.103124 0.43466,0.562915 0,0.907598 -0.61439,1.380466 -1.07403,0.826632 z" + id="path965" /> + </g> +</svg> diff --git a/src/services/state/ngViewerState.store.spec.ts b/src/services/state/ngViewerState.store.spec.ts index 40fb2682d0f4705c23db0db61cfe637ad4fc6882..21173833cf134a9e53274c3017abf97bdef947fb 100644 --- a/src/services/state/ngViewerState.store.spec.ts +++ b/src/services/state/ngViewerState.store.spec.ts @@ -24,8 +24,9 @@ describe('> ngViewerState.store.ts', () => { provideMockStore({ initialState: initState }), { provide: PureContantService, - useValue: class { - useTouchUI$ = of(false) + useValue: { + useTouchUI$: of(false), + backendUrl: `http://localhost:3000/` } } ] diff --git a/src/services/state/ngViewerState.store.ts b/src/services/state/ngViewerState.store.ts index 69c1ee08d890385126ddea84be2a3780be3650c2..b028a6be9f12ed69d22a7da64de7df40831c7dc9 100644 --- a/src/services/state/ngViewerState.store.ts +++ b/src/services/state/ngViewerState.store.ts @@ -4,7 +4,7 @@ import { Effect, Actions, ofType } from '@ngrx/effects'; import { withLatestFrom, map, distinctUntilChanged, scan, shareReplay, filter, mapTo, debounceTime, catchError, skip, throttleTime } from 'rxjs/operators'; import { getNgIds } from 'src/util/fn'; import { Action, select, Store, createReducer, on } from '@ngrx/store' -import { BACKENDURL, CYCLE_PANEL_MESSAGE } from 'src/util/constants'; +import { CYCLE_PANEL_MESSAGE } from 'src/util/constants'; import { HttpClient } from '@angular/common/http'; import { INgLayerInterface, ngViewerActionAddNgLayer, ngViewerActionRemoveNgLayer, ngViewerActionSetPerspOctantRemoval } from './ngViewerState.store.helper' import { PureContantService } from 'src/util'; @@ -208,7 +208,7 @@ export class NgViewerUseEffect implements OnDestroy { distinctUntilChanged(), throttleTime(1000) ).subscribe(ngViewerState => { - this.http.post(`${BACKENDURL}user/config`, JSON.stringify({ ngViewerState }), { + this.http.post(`${this.pureConstantService.backendUrl}user/config`, JSON.stringify({ ngViewerState }), { headers: { 'Content-type': 'application/json' } @@ -216,7 +216,7 @@ export class NgViewerUseEffect implements OnDestroy { }) ) - this.applySavedUserConfig$ = this.http.get<TUserConfigResp>(`${BACKENDURL}user/config`).pipe( + this.applySavedUserConfig$ = this.http.get<TUserConfigResp>(`${this.pureConstantService.backendUrl}user/config`).pipe( map(json => { if (json.error) { throw new Error(json.message || 'User not loggedin.') diff --git a/src/services/state/userConfigState.store.spec.ts b/src/services/state/userConfigState.store.spec.ts index 00ef5fb3326a16378fe3fdb8d1a89cc0b4a35389..6b497bec1c9e9e9a0a536021532c2add3aa14be2 100644 --- a/src/services/state/userConfigState.store.spec.ts +++ b/src/services/state/userConfigState.store.spec.ts @@ -5,6 +5,7 @@ import { Action } from "@ngrx/store" import { MockStore, provideMockStore } from "@ngrx/store/testing" import { from, Observable } from "rxjs" import { AngularMaterialModule } from "src/ui/sharedModules/angularMaterial.module" +import { PureContantService } from "src/util" import { DialogService } from "../dialogService.service" import { actionUpdatePluginCsp, UserConfigStateUseEffect } from "./userConfigState.store" import { viewerStateSelectedParcellationSelector, viewerStateSelectedRegionsSelector, viewerStateSelectedTemplateSelector } from "./viewerState/selectors" @@ -28,7 +29,13 @@ describe('> userConfigState.store.spec.ts', () => { } } }), - DialogService + DialogService, + { + provide: PureContantService, + useValue: { + backendUrl: 'http://localhost:3000/' + } + } ] }) diff --git a/src/services/state/userConfigState.store.ts b/src/services/state/userConfigState.store.ts index 964cd35efeb63378715fefb1144ff38a61f92412..81fef3205c4020651d6169012d43c19da67ec0f9 100644 --- a/src/services/state/userConfigState.store.ts +++ b/src/services/state/userConfigState.store.ts @@ -12,6 +12,7 @@ import { serialiseParcellationRegion } from 'common/util' import { HttpClient } from "@angular/common/http"; import { actionSetMobileUi, viewerStateNewViewer, viewerStateSelectParcellation, viewerStateSetSelectedRegions } from "./viewerState/actions"; import { viewerStateSelectedParcellationSelector, viewerStateSelectedRegionsSelector, viewerStateSelectedTemplateSelector } from "./viewerState/selectors"; +import { PureContantService } from "src/util"; interface ICsp{ 'connect-src'?: string[] @@ -119,6 +120,7 @@ export class UserConfigStateUseEffect implements OnDestroy { private store$: Store<any>, private dialogService: DialogService, private http: HttpClient, + private constantSvc: PureContantService, ) { const viewerState$ = this.store$.pipe( select('viewerState'), @@ -409,7 +411,7 @@ export class UserConfigStateUseEffect implements OnDestroy { public restoreSRSsFromStorage$: Observable<any> @Effect() - public setInitPluginPermission$ = this.http.get(`${BACKENDURL.replace(/\/+$/g, '/')}user/pluginPermissions`, { + public setInitPluginPermission$ = this.http.get(`${this.constantSvc.backendUrl}user/pluginPermissions`, { responseType: 'json' }).pipe( /** diff --git a/src/ui/logoContainer/logoContainer.component.ts b/src/ui/logoContainer/logoContainer.component.ts index 6af1710795ec7efa9d2a9b8347e38b0e4c3269f2..b7a85fda32a4147929b64e02be4f72c8481066b4 100644 --- a/src/ui/logoContainer/logoContainer.component.ts +++ b/src/ui/logoContainer/logoContainer.component.ts @@ -1,5 +1,4 @@ import { Component } from "@angular/core"; -import { BACKENDURL } from "src/util/constants"; import { PureContantService } from "src/util"; import { Subscription } from "rxjs"; @@ -13,20 +12,20 @@ import { Subscription } from "rxjs"; export class LogoContainer { // only used to define size - public imgSrc = `${BACKENDURL}logo` + public imgSrc = `${this.pureConstantService.backendUrl}logo` public containerStyle = { - backgroundImage: `url('${BACKENDURL}logo')` + backgroundImage: `url('${this.pureConstantService.backendUrl}logo')` } private subscriptions: Subscription[] = [] constructor( - pureConstantService: PureContantService + private pureConstantService: PureContantService ){ this.subscriptions.push( pureConstantService.darktheme$.subscribe(flag => { this.containerStyle = { - backgroundImage: `url('${BACKENDURL}logo${!!flag ? '?darktheme=true' : ''}')` + backgroundImage: `url('${this.pureConstantService.backendUrl}logo${!!flag ? '?darktheme=true' : ''}')` } }) )