Commit 6ad651bc authored by Magnus Westergaard's avatar Magnus Westergaard
Browse files

Removed patron-client code.

parent 6e8e2e46
{
"presets": [
"es2015",
"stage-2",
"react"
],
"plugins": [
[
"array-includes"
],
[
"react-intl",
{
"messagesDir": "./build/messages/",
"enforceDescriptions": true
}
]
],
"env": {
"development": {
"plugins": [
"react-hot-loader/babel"
]
},
"production": {
"plugins": [
"transform-react-constant-elements",
"transform-react-inline-elements"
]
},
"test": {
"plugins": [
"rewire"
]
}
}
}
{
"extends": [
"standard",
"standard-react"
],
"rules": {
"react/jsx-no-bind": [
2,
{
"ignoreRefs": true,
"allowArrowFunctions": true
}
],
"prefer-template": 2,
"react/jsx-indent-props": 0,
"react/jsx-indent": 0,
"no-return-assign": 0,
"jsx-quotes": [
"error",
"prefer-double"
],
"no-var": 2,
"prefer-const": 2,
"prefer-arrow-callback": [
"error",
{
"allowNamedFunctions": true
}
],
"arrow-parens": 0,
"no-useless-escape": 0
}
}
public/dist/
node_modules/
npm-debug.log
build/
es5-compiled/
.sass-cache/
\ No newline at end of file
FROM node:9.11.1
RUN mkdir -p /usr/src/app
WORKDIR /usr/src/app
COPY package.json /usr/src/app/
COPY public /usr/src/app/
COPY src/backend /usr/src/app/backend
COPY src/common /usr/src/app/common
RUN npm set progress=false
RUN npm set color=false
RUN npm install > install.log 2>&1
COPY . /usr/src/app
EXPOSE 8000
CMD [ "npm", "run", "production"]
\ No newline at end of file
FROM node:9.11.1
RUN mkdir -p /usr/src/app
WORKDIR /usr/src/app
COPY package.json /usr/src/app/
COPY .eslintrc /usr/src/app/
RUN npm set progress=false
RUN npm set color=false
RUN npm install > install.log 2>&1
COPY . /usr/src/app
EXPOSE 8000
CMD [ "npm", "run", "productionbuild"]
FROM node:9.11.1
RUN mkdir -p /usr/src/app
WORKDIR /usr/src/app
COPY package.json /usr/src/app/
RUN npm set progress=false
RUN npm set color=false
RUN npm install > install.log 2>&1
COPY . /usr/src/app
VOLUME /usr/src/app/src
VOLUME /usr/src/app/test
EXPOSE 8000
CMD [ "npm", "run", "dockerdev" ]
\ No newline at end of file
GITREF=$(shell git rev-parse HEAD)
IMAGE=digibib/redef-patron-client
CONTAINER=patron_client
PCPATH=$(shell pwd)
HOST_VOLUME_BINDINGS=-v $(PCPATH)/src:/usr/src/app/src \
-v $(PCPATH)/test:/usr/src/app/test
.PHONY: test lit logs push
lint:
docker run --rm $(HOST_VOLUME_BINDINGS) $(IMAGE):$(GITREF) npm run -s lint
test: lint
docker run --rm $(HOST_VOLUME_BINDINGS) $(IMAGE):$(GITREF) npm test
logs:
docker logs -f $(CONTAINER)
push:
ifndef TAG
@echo "You must specify TAG when pushing"
exit 1
endif
docker push $(IMAGE):$(TAG)
# Patron client
Patron client is the main interface for patrons to interact with the library on the internet, including searching and browsing the catalogue.
Patron-client is a browser-based application. It is consuming data from [Services](../services/README.md) and the search index.
## Technologies used
All modules are specified in package.json.
* [Node.JS](https://nodejs.org/)
* Server
* [Express](http://expressjs.com/)
* Templating/Browser rendering
* [React](http://facebook.github.io/react/)
* [React-router](https://github.com/rackt/react-routerq)
* [Redux](https://github.com/rackt/redux)
* Testing
* [Mocha](https://mochajs.org/)
* React-test-utils
* [Jsdom](https://github.com/tmpvar/jsdom)
* Build
* Gulp (watch, uglify, generate sourcemaps, browserify)
## Build
See [Makefile](Makefile).
## Troubleshooting
Logs can be viewed via:
* Running `make logs` in the `/vagrant/redef/patron-client` (when you have ssh'ed into dev-ship)
<!DOCTYPE html>
<html lang="no">
<head>
<meta charset="utf-8" />
<meta http-equiv="x-ua-compatible" content="ie=edge">
<!--meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1"-->
<meta name="viewport" content="initial-scale=1, minimum-scale=1, maximum-scale=10, user-scalable=yes">
<link rel="shortcut icon" href="/images/favicon.png" type="image/png" />
<title>Deichman - søk</title>
<script>
dataLayer = [];
</script>
<!-- Google Tag Manager -->
<script>(function (w, d, s, l, i) {
w[ l ] = w[ l ] || [];
w[ l ].push(
{ 'gtm.start': new Date().getTime(), event: 'gtm.js' }
);
var f = d.getElementsByTagName(s)[ 0 ],
j = d.createElement(s), dl = l != 'dataLayer' ? '&l=' + l : '';
j.async = true;
j.src =
'https://www.googletagmanager.com/gtm.js?id=' + i + dl;
f.parentNode.insertBefore(j, f);
})(window, document, 'script', 'dataLayer', 'GTM-K9G3NVD');</script>
<!-- End Google Tag Manager -->
<script src="https://www.google.com/recaptcha/api.js" async defer></script>
</head>
<body>
<!-- Google Tag Manager (noscript) -->
<noscript>
<iframe src="https://www.googletagmanager.com/ns.html?id=GTM-K9G3NVD"
height="0" width="0" style="display:none;visibility:hidden"></iframe>
</noscript>
<!-- End Google Tag Manager (noscript) -->
<div id="app"></div>
<!-- Survey -->
<script> (function(a,b,c,d,e,f,g,h,i){i=/(^|;)\s*_tmc=([^;]+)/.exec(a[c]),i=i?i[2]:"",("done"!==i|| /[?&]_tmcf?(=|&|$)/.test(e))&&(g=a.getElementsByTagName(b)[0],h=a.createElement(b),h[d]("src",f+ "?r="+i+"&"+1*new Date),h[d]("type","text/javascript"),h.async=!0,g.parentNode.insertBefore(h,g)) })(document,"script","cookie","setAttribute",location.search,"//in.taskanalytics.com/00357/tm.js"); </script>
<!-- End Survey -->
</body>
</html>
This diff is collapsed.
{
"name": "redef-patron-client",
"version": "0.0.1",
"description": "Patron client for the redef part of ls.ext.",
"author": "Digital Development Team at Oslo Public Library <digibib@gmail.com>",
"main": "src/frontend/main.js",
"repository": {
"type": "git",
"url": "https://github.com/digibib/ls.ext"
},
"bugs": {
"url": "https://github.com/digibib/ls.ext/issues"
},
"keywords": [
"library",
"patron"
],
"directories": {
"test": "test"
},
"standard": {
"parser": "babel-eslint"
},
"scripts": {
"build": "npm run clean && webpack",
"clean": "rimraf public/dist",
"lint": "eslint *.js test src",
"dockerdev": "cross-env POLL=true npm start",
"dist": "npm run clean && npm run lint && npm test && cross-env NODE_ENV=production webpack --config webpack.config.production.js",
"productionbuild": "npm run clean && cross-env NODE_ENV=production webpack --config webpack.config.production.js",
"start": "npm run clean && webpack && node --inspect src/backend/server.js",
"production": "cross-env NODE_ENV=production node src/backend/server.js",
"test": "cross-env NODE_ENV=test mocha -R min --recursive --compilers js:babel-core/register --require ./test/setup.js",
"test:debug": "cross-env NODE_ENV=test mocha debug --recursive --compilers js:babel-core/register --require ./test/setup.js",
"test:watch": "npm test -- --watch",
"test_verbose": "cross-env NODE_ENV=test mocha --recursive --compilers js:babel-core/register --require ./test/setup.js",
"test_watch_verbose": "npm run test_verbose -- --watch",
"verify": "npm run lint && npm test",
"es5": "rimraf es5-compiled && cross-env BABEL_ENV=test babel test --watch --out-dir es5-compiled/test --source-maps inline & cross-env BABEL_ENV=test babel src --watch --out-dir es5-compiled/src --source-maps inline",
"dev": "KOHA_API_USER=api KOHA_API_PASS=secret PORT=8001 npm start",
"devnode": "KOHA_API_USER=api KOHA_API_PASS=secret PORT=8001 node --inspect src/backend/server.js"
},
"devDependencies": {
"babel-eslint": "7.1.1",
"babel-loader": "6.2.9",
"babel-plugin-array-includes": "2.0.3",
"babel-plugin-react-intl": "2.2.0",
"babel-plugin-react-transform": "2.0.2",
"babel-plugin-rewire": "1.0.0",
"babel-plugin-transform-react-constant-elements": "6.9.1",
"babel-plugin-transform-react-inline-elements": "6.8.0",
"babel-polyfill": "6.20.0",
"babel-preset-es2015": "6.18.0",
"babel-preset-react": "6.16.0",
"babel-preset-stage-2": "6.18.0",
"babel-register": "6.18.0",
"breakpoint-sass": "2.7.1",
"css-loader": "0.26.1",
"es5-shim": "4.5.9",
"eslint": "3.12.1",
"eslint-config-standard-react": "4.2.0",
"expect": "1.20.2",
"extract-text-webpack-plugin": "2.0.0-beta.4",
"fs": "0.0.1-security",
"html-webpack-plugin": "2.24.1",
"ignore-styles": "5.0.1",
"intl": "1.2.5",
"intl-locales-supported": "1.0.0",
"isomorphic-fetch": "2.2.1",
"jsdom": "9.8.3",
"ld-graph": "git+https://github.com/digibib/ld-graph.git#44119447f1f345c57347549b28d013673d1698cf",
"localstorage-polyfill": "1.0.1",
"mocha": "3.2.0",
"node-browser-environment": "2.0.8",
"node-sass": "4.5.3",
"raw-loader": "0.5.1",
"prop-types": "15.6.1",
"react": "15.6",
"react-addons-create-fragment": "15.4.1",
"react-dom": "15.6",
"react-hot-loader": "3.0.0-beta.6",
"react-intl": "2.1.5",
"react-modal": "1.5.2",
"react-paginate": "git+https://github.com/digibib/react-paginate.git#92682bf7386458abf6089c52ecf91b28b147d955",
"react-redux": "4.4.5",
"react-responsive": "1.2.1",
"react-router": "2.8.1",
"react-router-redux": "4.0.6",
"react-transition-group": "1.2.1",
"react-transform-catch-errors": "1.0.2",
"redux": "3.6.0",
"redux-form": "6.3.2",
"redux-localstorage": "1.0.0-rc4",
"redux-localstorage-filter": "0.1.1",
"redux-logger": "2.7.4",
"redux-thunk": "2.1.0",
"rimraf": "2.5.4",
"sass-loader": "4.0.2",
"standard": "8.6.0",
"style-loader": "0.13.1",
"susy": "2.2.12",
"thenby": "1.2.3",
"urijs": "1.18.4",
"webpack": "2.1.0-beta.25",
"webpack-dev-middleware": "1.8.4",
"webpack-hot-middleware": "2.13.2",
"compression-webpack-plugin": "0.3.2"
},
"dependencies": {
"bcrypt-nodejs": "0.0.3",
"body-parser": "1.15.2",
"cross-env": "3.1.3",
"express": "4.14.0",
"express-session": "1.14.2",
"express-static-gzip": "0.2.2",
"jsonld": "0.4.11",
"lucene-query-parser": "^1.1.0",
"moment": "^2.17.1",
"node-mysql": "0.4.2",
"node-uuid": "1.4.7",
"query-string": "4.2.3",
"react-datepicker": "^0.40.0",
"react-infinite-scroller": "^1.0.15",
"react-sticky-el": "^1.0.13",
"react-tooltip-component": "^0.3.0",
"react-recaptcha": "2.3.7",
"sanitize-html": "1.13.0",
"url-loader": "0.5.7",
"xml2js": "0.4.17"
}
}
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 19.99 24.42"><title>Location24</title><g id="Layer_2" data-name="Layer 2"><g id="Layer_1-2" data-name="Layer 1"><path d="M17.07,3A9.91,9.91,0,0,0,2.92,3a10.21,10.21,0,0,0,0,14.29L10,24.42l7.08-7.16A10.21,10.21,0,0,0,17.07,3ZM15.65,15.85,10,21.58,4.34,15.85a8.21,8.21,0,0,1,0-11.48,7.93,7.93,0,0,1,11.31,0A8.21,8.21,0,0,1,15.65,15.85Z"/><path d="M10,5a5,5,0,1,0,5,5A5,5,0,0,0,10,5Zm0,8a3,3,0,1,1,3-3A3,3,0,0,1,10,13Z"/></g></g></svg>
\ No newline at end of file
<?xml version="1.0" encoding="utf-8"?>
<!-- Generator: Adobe Illustrator 22.0.1, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
viewBox="0 0 18.2 18.2" style="enable-background:new 0 0 18.2 18.2;" xml:space="preserve">
<title>film</title>
<g>
<path d="M9.1,18.2c-5,0-9.1-4.1-9.1-9.1S4.1,0,9.1,0s9.1,4.1,9.1,9.1S14.2,18.2,9.1,18.2z M9.1,1.9C5.2,1.9,2,5.1,2,9
s3.2,7.1,7.1,7.1s7.1-3.2,7.1-7.1C16.3,5.1,13.1,1.9,9.1,1.9z"/>
</g>
</svg>
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 13.41 13.41"><title>arrow_down</title><g id="Layer_2" data-name="Layer 2"><g id="Layer_1-2" data-name="Layer 1"><polygon points="7.71 9.59 7.71 0 5.71 0 5.71 9.59 1.41 5.29 0 6.71 6.71 13.41 13.41 6.71 12 5.29 7.71 9.59"/></g></g></svg>
\ No newline at end of file
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 13.41 13.41"><title>arrow_left</title><g id="Layer_2" data-name="Layer 2"><g id="Layer_1-2" data-name="Layer 1"><polygon points="8.12 1.41 6.71 0 0 6.71 6.71 13.41 8.12 12 3.83 7.71 13.41 7.71 13.41 5.71 3.83 5.71 8.12 1.41"/></g></g></svg>
\ No newline at end of file
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 13.41 13.41"><title>arrow_right</title><g id="Layer_2" data-name="Layer 2"><g id="Layer_1-2" data-name="Layer 1"><polygon points="5.29 1.41 9.59 5.71 0 5.71 0 7.71 9.59 7.71 5.29 12 6.71 13.41 13.41 6.71 6.71 0 5.29 1.41"/></g></g></svg>
\ No newline at end of file
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 13.41 13.41"><title>arrow_up</title><g id="Layer_2" data-name="Layer 2"><g id="Layer_1-2" data-name="Layer 1"><polygon points="0 6.71 1.41 8.12 5.71 3.83 5.71 13.41 7.71 13.41 7.71 3.83 12 8.12 13.41 6.71 6.71 0 0 6.71"/></g></g></svg>
\ No newline at end of file
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16"><title>book16 </title><g id="Layer_2" data-name="Layer 2"><g id="Layer_1-2" data-name="Layer 1"><path d="M8,3,0,0V12l8,4,8-4V0ZM2,2.89,7,4.76v8.5l-5-2.5Zm12,7.87-5,2.5V4.76l5-1.87Z"/></g></g></svg>
\ No newline at end of file
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><title>book24</title><g id="Layer_2" data-name="Layer 2"><g id="Layer_1-2" data-name="Layer 1"><path d="M12,4,0,0V20l12,4,12-4V0ZM2,2.77l9,3V21.56l-9-3ZM22,18.56l-9,3V5.77l9-3Z"/></g></g></svg>
\ No newline at end of file
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="23px" height="19px" viewBox="0 0 23 19" version="1.1">
<g id="Page-1" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">
<g id="iPhone-6" transform="translate(-342.000000, -20.000000)" fill="#fff">
<g id="Group" transform="translate(342.000000, 20.000000)">
<rect id="Rectangle-42" x="0" y="0" width="23" height="3"/>
<rect id="Rectangle-42" x="-5.18696197e-13" y="8" width="23" height="3"/>
<rect id="Rectangle-42" x="-5.18696197e-13" y="16" width="23" height="3"/>
</g>
</g>
</g>
</svg>
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="13px" height="10px" viewBox="0 0 13 10" version="1.1">
<title>Triangle 1</title>
<desc>Created with Sketch.</desc>
<defs/>
<g id="Page-1" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">
<g id="Search-Result-1-Copy" transform="translate(-1255.000000, -239.000000)" fill="#212121">
<path d="M1255.30041,240.335394 C1254.98831,239.874019 1255.18544,239.5 1255.73014,239.5 L1267.26986,239.5 C1267.8193,239.5 1268.01592,239.867765 1267.69959,240.335394 L1262.06512,248.664606 C1261.75301,249.125981 1261.25122,249.132235 1260.93488,248.664606 L1255.30041,240.335394 Z" id="Triangle-1"/>
</g>
</g>
</svg>
<?xml version="1.0" encoding="utf-8"?>
<svg width="1792" height="1792" viewBox="0 0 1792 1792" xmlns="http://www.w3.org/2000/svg"><path d="M192 1664h288v-288h-288v288zm352 0h320v-288h-320v288zm-352-352h288v-320h-288v320zm352 0h320v-320h-320v320zm-352-384h288v-288h-288v288zm736 736h320v-288h-320v288zm-384-736h320v-288h-320v288zm768 736h288v-288h-288v288zm-384-352h320v-320h-320v320zm-352-864v-288q0-13-9.5-22.5t-22.5-9.5h-64q-13 0-22.5 9.5t-9.5 22.5v288q0 13 9.5 22.5t22.5 9.5h64q13 0 22.5-9.5t9.5-22.5zm736 864h288v-320h-288v320zm-384-384h320v-288h-320v288zm384 0h288v-288h-288v288zm32-480v-288q0-13-9.5-22.5t-22.5-9.5h-64q-13 0-22.5 9.5t-9.5 22.5v288q0 13 9.5 22.5t22.5 9.5h64q13 0 22.5-9.5t9.5-22.5zm384-64v1280q0 52-38 90t-90 38h-1408q-52 0-90-38t-38-90v-1280q0-52 38-90t90-38h128v-96q0-66 47-113t113-47h64q66 0 113 47t47 113v96h384v-96q0-66 47-113t113-47h64q66 0 113 47t47 113v96h128q52 0 90 38t38 90z"/></svg>
\ No newline at end of file
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 13.41 8.12"><title>chevron_down</title><g id="Layer_2" data-name="Layer 2"><g id="Layer_1-2" data-name="Layer 1"><polygon points="6.71 5.29 1.41 0 0 1.41 6.71 8.12 13.41 1.41 12 0 6.71 5.29"/></g></g></svg>
\ No newline at end of file
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 8.12 13.41"><title>chevron_left</title><g id="Layer_2" data-name="Layer 2"><g id="Layer_1-2" data-name="Layer 1"><polygon points="6.71 0 0 6.71 6.71 13.41 8.12 12 2.83 6.71 8.12 1.41 6.71 0"/></g></g></svg>
\ No newline at end of file
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 8.12 13.41"><title>chevron_right</title><g id="Layer_2" data-name="Layer 2"><g id="Layer_1-2" data-name="Layer 1"><polygon points="0 1.41 5.29 6.71 0 12 1.41 13.41 8.12 6.71 1.41 0 0 1.41"/></g></g></svg>
\ No newline at end of file
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 13.41 8.12"><title>chevron_up</title><g id="Layer_2" data-name="Layer 2"><g id="Layer_1-2" data-name="Layer 1"><polygon points="0 6.71 1.41 8.12 6.71 2.83 12 8.12 13.41 6.71 6.71 0 0 6.71"/></g></g></svg>
\ No newline at end of file
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16"><title>clock16</title><g id="Layer_2" data-name="Layer 2"><g id="Layer_1-2" data-name="Layer 1"><path d="M8,16a8,8,0,1,1,8-8A8,8,0,0,1,8,16ZM8,2a6,6,0,1,0,6,6A6,6,0,0,0,8,2Z"/><path d="M5.94,10.94,4.82,9.28,7.33,7.59,7,4.41l2-.2.36,3.63A1.37,1.37,0,0,1,8.77,9Z"/></g></g></svg>
\ No newline at end of file
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><title>clock24</title><g id="Layer_2" data-name="Layer 2"><g id="Layer_1-2" data-name="Layer 1"><path d="M12,24A12,12,0,1,1,24,12,12,12,0,0,1,12,24ZM12,2A10,10,0,1,0,22,12,10,10,0,0,0,12,2Z"/><path d="M8.44,16.14,7.32,14.48l4.22-2.84L11,6.3l2-.19.56,5.69a1.61,1.61,0,0,1-.69,1.36Z"/></g></g></svg>
\ No newline at end of file
<svg xmlns="http://www.w3.org/2000/svg" viewBox="-18767 1647 226.541 32">
<defs>
<style>
.cls-1 {
fill: #fff;
}
</style>
</defs>
<g id="Group_5362" data-name="Group 5362" transform="translate(-18767.001 1647)">
<path id="Path_4038" data-name="Path 4038" class="cls-1" d="M0,3.2H12.151a11.378,11.378,0,0,1,9.584,4.452,16.62,16.62,0,0,1,3.038,10.291,20.571,20.571,0,0,1-1.807,8.746C20.845,31.3,17.231,33.6,12.072,33.6H0ZM11.339,30.067a10.813,10.813,0,0,0,3.352-.445,7.406,7.406,0,0,0,3.849-3.116,13.429,13.429,0,0,0,1.728-4.714,17.794,17.794,0,0,0,.314-3.195c0-3.771-.733-6.678-2.2-8.773s-3.823-3.116-7.07-3.116H4.164V30.041h7.175Z" transform="translate(0 -2.362)"/>
<path id="Path_4039" data-name="Path 4039" class="cls-1" d="M121.7,3.2h22.049V6.918H125.707v9.218h16.681v3.509H125.707V29.936h18.357V33.55H121.7Z" transform="translate(-89.831 -2.362)"/>
<path id="Path_4040" data-name="Path 4040" class="cls-1" d="M235.7,3.2h4.164V33.6H235.7Z" transform="translate(-173.978 -2.362)"/>
<path id="Path_4041" data-name="Path 4041" class="cls-1" d="M298.761,3.038a10.792,10.792,0,0,1,3.509,6.913h-4.007a8.39,8.39,0,0,0-2.671-4.661,8.322,8.322,0,0,0-5.63-1.728,8.9,8.9,0,0,0-7.123,3.169c-1.807,2.095-2.723,5.342-2.723,9.689a14.168,14.168,0,0,0,2.462,8.668c1.624,2.226,4.059,3.326,7.306,3.326a7.669,7.669,0,0,0,6.809-3.509,13.376,13.376,0,0,0,1.859-4.845h4.007a13.8,13.8,0,0,1-3.509,8.039,12.4,12.4,0,0,1-9.663,3.9,12.664,12.664,0,0,1-8.8-3.221q-4.674-4.242-4.687-13.093a16.907,16.907,0,0,1,3.509-11.025A12.886,12.886,0,0,1,289.91,0C293.707,0,296.666,1.021,298.761,3.038Z" transform="translate(-203.651)"/>
<path id="Path_4042" data-name="Path 4042" class="cls-1" d="M402.4,3.2h4.164V15.77H422.2V3.2h4.164V33.6H422.2V19.357H406.59V33.576h-4.164V3.2Z" transform="translate(-297.025 -2.362)"/>
<path id="Path_4043" data-name="Path 4043" class="cls-1" d="M522.5,3.2h5.892l8.746,25.689L545.806,3.2h5.866V33.6h-3.928V15.639c0-.628.026-1.65.052-3.09s.052-2.959.052-4.609l-8.668,25.637H535.1L526.323,7.94v.943c0,.733.026,1.885.052,3.4.052,1.519.052,2.645.052,3.352V33.576H522.5Z" transform="translate(-385.675 -2.362)"/>
<path id="Path_4044" data-name="Path 4044" class="cls-1" d="M663.344,3.2h4.635L679,33.6h-4.5L671.33,24.49H659.416l-3.3,9.113H651.9Zm6.835,17.938L665.491,7.7,660.62,21.138Z" transform="translate(-481.19 -2.362)"/>
<path id="Path_4045" data-name="Path 4045" class="cls-1" d="M773.7,3.2h4.844l15.162,24.563V3.2h3.928V33.6H793L777.628,9.066V33.6H773.7Z" transform="translate(-571.094 -2.362)"/>
</g>
</svg>
<svg xmlns="http://www.w3.org/2000/svg" viewBox="-16980 6935 28.047 53.997">
<defs>
<style>
.cls-1 {
fill: #fff;
}
</style>
</defs>
<path id="f_1_" class="cls-1" d="M18.206,54V29.358h8.269l1.239-9.6H18.206V13.63c0-2.788.763-4.671,4.766-4.671h5.076V.381A67.375,67.375,0,0,0,20.636,0C13.3,0,8.293,4.48,8.293,12.677v7.077H0v9.6H8.293V54Z" transform="translate(-16980 6935)"/>
</svg>
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 21.21 22.76"><title>film</title><g id="Layer_2" data-name="Layer 2"><g id="Layer_1-2" data-name="Layer 1"><path d="M13.58,8.16l0,0,0,0H10L20.78,5.54,19.43,0,12,1.8h0l0,0L5.1,3.48h0L0,4.72l1.21,5V22.76h20V8.16Zm5.63,2v1.7H17.3l-1.71-1.7Zm-16,0H5.63l1.71,1.7H3.21Zm7,1.7-1.71-1.7h4.29l1.7,1.7ZM18,2.42l.41,1.65-1.87.45L14.44,3.27ZM11.69,3.94l2.06,1.25-4.17,1L7.52,5ZM4.77,5.62,6.83,6.88l-4,1L2.42,6.2ZM3.21,20.76v-6.9h16v6.9Z"/><rect x="6.63" y="16.27" width="9.17" height="2"/></g></g></svg>
\ No newline at end of file
<svg xmlns="http://www.w3.org/2000/svg" viewBox="-17473 6935 54.738 53.999">
<defs>
<style>
.cls-1 {
fill: #fff;
}
</style>
</defs>
<path id="Subtraction_1" data-name="Subtraction 1" class="cls-1" d="M17930.736-2407H17902a12.914,12.914,0,0,1-9.193-3.809A12.917,12.917,0,0,1,17889-2420v-28a12.917,12.917,0,0,1,3.809-9.192A12.914,12.914,0,0,1,17902-2461h28.734a13.017,13.017,0,0,1,13,13v28A13.017,13.017,0,0,1,17930.736-2407Zm-4.75-34.027a7.407,7.407,0,0,0-7.4,7.4,7.4,7.4,0,0,0,7.4,7.395,7.4,7.4,0,0,0,7.395-7.395A7.4,7.4,0,0,0,17925.986-2441.029Zm-19.234,0a7.407,7.407,0,0,0-7.4,7.4,7.4,7.4,0,0,0,7.4,7.395,7.4,7.4,0,0,0,7.395-7.395A7.4,7.4,0,0,0,17906.752-2441.029Z" transform="translate(-35362 9396)"/>
</svg>
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 13"><title>headset16</title><g id="Layer_2" data-name="Layer 2"><g id="Layer_1-2" data-name="Layer 1"><path d="M13,7V5A5,5,0,0,0,3,5V7a3,3,0,0,0,0,6H6V7H5V5a3,3,0,0,1,6,0V7H10v6h3a3,3,0,0,0,0-6ZM4,11H3A1,1,0,0,1,3,9H4Zm9,0H12V9h1a1,1,0,0,1,0,2Z"/></g></g></svg>
\ No newline at end of file
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 20"><title>headset24</title><g id="Layer_2" data-name="Layer 2"><g id="Layer_1-2" data-name="Layer 1"><path d="M19,10V7A7,7,0,0,0,5,7v3A5,5,0,0,0,5,20H9V10H7V7A5,5,0,0,1,17,7v3H15V20h4a5,5,0,0,0,0-10ZM7,18H5a3,3,0,0,1,0-6H7Zm12,0H17V12h2a3,3,0,0,1,0,6Z"/></g></g></svg>
\ No newline at end of file
<svg xmlns="http://www.w3.org/2000/svg" viewBox="-17313 6935.003 54.008 53.997">
<defs>
<style>
.cls-1 {
fill: #fff;
}
</style>
</defs>
<g id="Group_5026" data-name="Group 5026" transform="translate(-17889 2339)">
<path id="Path_3813" data-name="Path 3813" class="cls-1" d="M26.993,4.865c7.212,0,8.058.032,10.909.161a14.732,14.732,0,0,1,5.015.932,8.378,8.378,0,0,1,3.108,2.015,8.247,8.247,0,0,1,2.015,3.108,15.008,15.008,0,0,1,.932,5.015c.129,2.85.161,3.7.161,10.909s-.032,8.058-.161,10.909a14.732,14.732,0,0,1-.932,5.015,8.378,8.378,0,0,1-2.015,3.108,8.247,8.247,0,0,1-3.108,2.015,15.008,15.008,0,0,1-5.015.932c-2.85.129-3.7.161-10.909.161s-8.058-.032-10.909-.161a14.732,14.732,0,0,1-5.015-.932,8.378,8.378,0,0,1-3.108-2.015,8.247,8.247,0,0,1-2.015-3.108,15.008,15.008,0,0,1-.932-5.015c-.129-2.85-.161-3.7-.161-10.909s.032-8.058.161-10.909a14.732,14.732,0,0,1,.932-5.015A8.378,8.378,0,0,1,7.962,7.973a8.247,8.247,0,0,1,3.108-2.015,15.008,15.008,0,0,1,5.015-.932c2.85-.139,3.708-.161,10.909-.161m0-4.865c-7.33,0-8.251.032-11.134.161A19.786,19.786,0,0,0,9.312,1.414,13.157,13.157,0,0,0,4.533,4.533,13.39,13.39,0,0,0,1.414,9.312,19.8,19.8,0,0,0,.161,15.87C.032,18.742,0,19.664,0,26.993s.032,8.251.161,11.134a19.916,19.916,0,0,0,1.254,6.558,13.157,13.157,0,0,0,3.118,4.779,13.39,13.39,0,0,0,4.779,3.118,19.8,19.8,0,0,0,6.558,1.254C18.753,53.965,19.664,54,27,54s8.251-.032,11.134-.161A19.916,19.916,0,0,0,44.7,52.583a13.158,13.158,0,0,0,4.779-3.118,13.39,13.39,0,0,0,3.118-4.779,19.8,19.8,0,0,0,1.254-6.558c.129-2.883.161-3.793.161-11.134s-.032-8.251-.161-11.134A19.916,19.916,0,0,0,52.593,9.3a13.158,13.158,0,0,0-3.118-4.779A13.39,13.39,0,0,0,44.7,1.4,19.8,19.8,0,0,0,38.138.15C35.244.032,34.323,0,26.993,0Z" transform="translate(576 4596.003)"/>
<path id="Path_3814" data-name="Path 3814" class="cls-1" d="M136.366,122.6a13.866,13.866,0,1,0,13.866,13.866A13.868,13.868,0,0,0,136.366,122.6Zm0,22.857a9,9,0,1,1,9-9A9,9,0,0,1,136.366,145.457Z" transform="translate(466.627 4486.54)"/>
<ellipse id="Ellipse_173" data-name="Ellipse 173" class="cls-1" cx="3.236" cy="3.236" rx="3.236" ry="3.236" transform="translate(614.17 4605.347)"/>
</g>
</svg>
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 13.45 16.42"><title>location16</title><g id="Layer_2" data-name="Layer 2"><g id="Layer_1-2" data-name="Layer 1"><path d="M6.72,16.42,2,11.6A6.86,6.86,0,0,1,2,2a6.66,6.66,0,0,1,9.52,0,6.85,6.85,0,0,1,0,9.6ZM6.72,2A4.65,4.65,0,0,0,3.39,3.4a4.84,4.84,0,0,0,0,6.8l3.33,3.38,3.34-3.38a4.86,4.86,0,0,0,0-6.8A4.68,4.68,0,0,0,6.72,2Z"/><path d="M6.72,9.84A3.11,3.11,0,1,1,9.84,6.73,3.12,3.12,0,0,1,6.72,9.84Zm0-4.22A1.11,1.11,0,1,0,7.84,6.73,1.11,1.11,0,0,0,6.72,5.62Z"/></g></g></svg>
\ No newline at end of file
<?xml version="1.0" encoding="utf-8"?>
<!-- Generator: Adobe Illustrator 22.0.1, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
viewBox="0 0 1339.3 202.2">
<g fill="#FFF">
<path class="st0" d="M366,12.2h-7.1c-5.1,0-9.1,3.9-9.1,9.1v160.1c0,4.9,4.2,8.8,9.3,8.8h6.9c5.1,0,9.1-3.9,9.1-8.8V21.2
C375.1,16.1,371.2,12.2,366,12.2z"/>
<path class="st0" d="M493.6,34.2c21.8,0.2,34.8,14.7,40.9,34.3c1.7,5.1,6.9,7.6,11.7,5.9l7.3-2.2c4.7-1.5,6.9-5.9,5.6-10.5
c-7.6-30.8-33-51.4-65.6-51.4c-46.2,0-76,37.1-76.1,90.8c0,0,0,0.1,0,0.1c0,0,0,0.1,0,0.1c0.1,53.7,29.9,90.8,76.1,90.8
c32.5,0,58-20.6,65.6-51.4c1.2-4.6-1-9.1-5.6-10.5l-7.3-2.2c-4.9-1.7-10,0.7-11.7,5.9c-6.1,19.6-19.1,34-40.9,34.3
c-31.1,0.2-50.7-26.4-50.7-66.8V101C442.9,60.6,462.5,33.9,493.6,34.2z"/>
<path class="st0" d="M725,12.2h-7.3c-4.9,0-9.1,4.2-9.1,9.3v67.8h-81V21.5c0-5.1-4.2-9.3-9.3-9.3h-7.1c-5.1,0-9.3,4.2-9.3,9.3V181
c0,4.9,4.2,9.1,9.3,9.1h7.1c5.1,0,9.3-4.2,9.3-9.1v-67.3h81V181c0,4.9,4.2,9.1,9.1,9.1h7.3c5.1,0,9.3-4.2,9.3-9.1V21.5
C734.3,16.3,730.2,12.2,725,12.2z"/>
<path class="st0" d="M948.9,12.2h-12.2c-4.7,0-7.3,2.7-9.1,5.9L874,113.7L820.9,18c-1.7-3.7-4.9-5.9-9.1-5.9h-12.5
c-4.9,0-8.8,4.2-8.8,9.3V181c0,4.9,3.9,9.1,8.8,9.1h6.9c5.1,0,9.1-4.2,9.1-9.1l-0.2-126l44.8,77.6c1.5,2.9,4.2,5.6,8.3,5.6h12
c3.9,0,7.1-2.9,8.3-5.6l44.8-77.6L933,181c0,4.9,3.9,9.1,9.1,9.1h6.9c4.9,0,8.8-4.2,8.8-9.1V21.5C957.7,16.3,953.8,12.2,948.9,12.2
z"/>
<path class="st0" d="M1307.6,12.2h-6.9c-5.1,0-9.1,4.2-9.1,9.3v120.2l-80.9-124.1c-1.7-2.9-5.1-5.4-9.5-5.4h-10.3
c-5.1,0-9.3,4.2-9.3,9.3V181c0,4.9,4.2,9.1,9.3,9.1h6.9c5.1,0,9.1-4.2,9.1-9.1V56.9l82.4,127c1.7,2.9,4.9,6.1,9.3,6.1h9.1
c5.1,0,9.3-4.2,9.3-9.1V21.5C1316.9,16.3,1312.7,12.2,1307.6,12.2z"/>
<path class="st0" d="M1083.2,18.5c-1.5-3.7-4.6-6.4-8.3-6.4h-9.8c-3.7,0-6.9,2.7-8.3,6.4l-62.7,162c-2,4.9,1.5,9.5,7.6,9.5h9.5
c3.7,0,7.3-2.7,8.6-5.9l11.7-29.8h76.8l11.6,29.8c1.5,3.9,4.7,5.9,8.8,5.9h10c5.6,0,8.8-4.7,7.1-9.5L1083.2,18.5z M1069.7,50.8