From cc06d53a57f06a8759108164e2b3b2c040478c2b Mon Sep 17 00:00:00 2001 From: Grzegorz Leoniec Date: Thu, 27 Dec 2018 16:06:40 +0100 Subject: [PATCH 001/169] Inital minimal working version with graqhql, metascraper and oembed --- .babelrc | 12 + .eslintrc.js | 18 + .gitignore | 61 + .graphqlconfig | 3 + LICENSE | 21 + package.json | 53 + src/graphql-schema.js | 8 + src/index.js | 17 + src/schema.graphql | 19 + src/scraper.js | 128 ++ yarn.lock | 3799 +++++++++++++++++++++++++++++++++++++++++ 11 files changed, 4139 insertions(+) create mode 100644 .babelrc create mode 100644 .eslintrc.js create mode 100644 .gitignore create mode 100644 .graphqlconfig create mode 100755 LICENSE create mode 100644 package.json create mode 100644 src/graphql-schema.js create mode 100644 src/index.js create mode 100644 src/schema.graphql create mode 100644 src/scraper.js create mode 100644 yarn.lock diff --git a/.babelrc b/.babelrc new file mode 100644 index 000000000..2d91b3635 --- /dev/null +++ b/.babelrc @@ -0,0 +1,12 @@ +{ + "presets": [ + [ + "@babel/preset-env", + { + "targets": { + "node": "10" + } + } + ] + ] +} diff --git a/.eslintrc.js b/.eslintrc.js new file mode 100644 index 000000000..ae2dcb316 --- /dev/null +++ b/.eslintrc.js @@ -0,0 +1,18 @@ +module.exports = { + "extends": "standard", + "parser": "babel-eslint", + "env": { + "es6": true, + "node": true, + }, + "rules": { + "indent": [ + "error", + 2 + ], + "quotes": [ + "error", + "single" + ] + } +}; diff --git a/.gitignore b/.gitignore new file mode 100644 index 000000000..ad46b3088 --- /dev/null +++ b/.gitignore @@ -0,0 +1,61 @@ +# Logs +logs +*.log +npm-debug.log* +yarn-debug.log* +yarn-error.log* + +# Runtime data +pids +*.pid +*.seed +*.pid.lock + +# Directory for instrumented libs generated by jscoverage/JSCover +lib-cov + +# Coverage directory used by tools like istanbul +coverage + +# nyc test coverage +.nyc_output + +# Grunt intermediate storage (http://gruntjs.com/creating-plugins#storing-task-files) +.grunt + +# Bower dependency directory (https://bower.io/) +bower_components + +# node-waf configuration +.lock-wscript + +# Compiled binary addons (https://nodejs.org/api/addons.html) +build/Release + +# Dependency directories +node_modules/ +jspm_packages/ + +# TypeScript v1 declaration files +typings/ + +# Optional npm cache directory +.npm + +# Optional eslint cache +.eslintcache + +# Optional REPL history +.node_repl_history + +# Output of 'npm pack' +*.tgz + +# Yarn Integrity file +.yarn-integrity + +# dotenv environment variables file +.env + +# next.js build output +.next diff --git a/.graphqlconfig b/.graphqlconfig new file mode 100644 index 000000000..ca328bc83 --- /dev/null +++ b/.graphqlconfig @@ -0,0 +1,3 @@ +{ + "schemaPath": "./src/schema.graphql" +} diff --git a/LICENSE b/LICENSE new file mode 100755 index 000000000..45cc9972b --- /dev/null +++ b/LICENSE @@ -0,0 +1,21 @@ +MIT License + +Copyright (c) 2018 Human-Connection + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. diff --git a/package.json b/package.json new file mode 100644 index 000000000..4e59f09dd --- /dev/null +++ b/package.json @@ -0,0 +1,53 @@ +{ + "name": "nitro-embed", + "version": "0.0.1", + "description": "API Service for fetching URL Information like images, icons, descriptions etc. thourgh OpenGraph, oEmbed and other standards.", + "main": "src/index.js", + "scripts": { + "dev": "nodemon src/", + "start": "node src/", + "test": "test" + }, + "repository": { + "type": "git", + "url": "git+https://github.com/Human-Connection/Nitro-Embed.git" + }, + "keywords": [ + "pengraph", + "oembed" + ], + "author": "Grzegorz Leoniec (http://app-interactive.de)", + "license": "MIT", + "bugs": { + "url": "https://github.com/Human-Connection/Nitro-Embed/issues" + }, + "homepage": "https://github.com/Human-Connection/Nitro-Embed#readme", + "dependencies": { + "@metascraper/helpers": "^4.8.5", + "apollo-server": "^2.3.1", + "got": "^9.5.0", + "graphql": "^14.0.2", + "lodash": "^4.17.11", + "metascraper": "^4.8.5", + "metascraper-audio": "^4.8.5", + "metascraper-author": "^4.8.5", + "metascraper-clearbit-logo": "^4.8.5", + "metascraper-date": "^4.8.5", + "metascraper-description": "^4.8.5", + "metascraper-image": "^4.8.5", + "metascraper-lang": "^4.8.5", + "metascraper-lang-detector": "^4.8.5", + "metascraper-logo": "^4.8.5", + "metascraper-logo-favicon": "^4.8.5", + "metascraper-publisher": "^4.8.5", + "metascraper-title": "^4.8.5", + "metascraper-url": "^4.8.5", + "metascraper-video": "^4.8.5", + "metascraper-youtube": "^4.8.5", + "request": "^2.88.0", + "request-promise-native": "^1.0.5" + }, + "devDependencies": { + "nodemon": "^1.18.9" + } +} diff --git a/src/graphql-schema.js b/src/graphql-schema.js new file mode 100644 index 000000000..332ec18bc --- /dev/null +++ b/src/graphql-schema.js @@ -0,0 +1,8 @@ +const fs = require('fs') +const path = require('path') + +const { gql } = require('apollo-server') + +module.exports = gql(fs + .readFileSync(path.join(__dirname, 'schema.graphql')) + .toString('utf-8')) diff --git a/src/index.js b/src/index.js new file mode 100644 index 000000000..7015e0a53 --- /dev/null +++ b/src/index.js @@ -0,0 +1,17 @@ +const { ApolloServer, gql } = require('apollo-server') +const scraper = require('./scraper.js') +const typeDefs = require('./graphql-schema.js') + +const resolvers = { + Query: { + async embed(obj, {url}, ctx, info) { + return await scraper.fetch(url) + } + } +} + +const server = new ApolloServer({ typeDefs, resolvers }) + +server.listen({ port: 3050 }).then(({ url }) => { + console.log(`🚀 Nitro Embed - Server is ready at ${url}`) +}) diff --git a/src/schema.graphql b/src/schema.graphql new file mode 100644 index 000000000..229745bb6 --- /dev/null +++ b/src/schema.graphql @@ -0,0 +1,19 @@ +type Embed { + type: String + title: String + author: String + publisher: String + date: String + description: String + url: String + image: String + audio: String + video: String + lang: String + logo: String + embed: String +} + +type Query { + embed(url: String!): Embed +} diff --git a/src/scraper.js b/src/scraper.js new file mode 100644 index 000000000..8c44dc0dd --- /dev/null +++ b/src/scraper.js @@ -0,0 +1,128 @@ +const metascraper = require('metascraper')([ + require('metascraper-author')(), + require('metascraper-date')(), + require('metascraper-description')(), + require('metascraper-image')(), + require('metascraper-lang')(), + require('metascraper-lang-detector')(), + require('metascraper-logo')(), + require('metascraper-logo-favicon')(), + // require('metascraper-clearbit-logo')(), + require('metascraper-publisher')(), + require('metascraper-title')(), + require('metascraper-url')(), + require('metascraper-video')(), + require('metascraper-youtube')() + + // require('./rules/metascraper-embed')() +]) +const got = require('got') +const request = require('request-promise-native') +const find = require('lodash/find') +const isEmpty = require('lodash/isEmpty') +const each = require('lodash/each') +const urlParser = require('url') + +// quick in memory cache +let cache = {} + +let oEmbedProviders = [] +const getEmbedProviders = async () => { + let providers = await request('https://oembed.com/providers.json') + providers = JSON.parse(providers) + oEmbedProviders = providers + return providers +} +getEmbedProviders() + +const removeEmptyAttrs = obj => { + let output = {} + each(obj, (o, k) => { + if (!isEmpty(o)) { + output[k] = o + } + }) + return output +} + +const scraper = { + async fetch(targetUrl) { + + if (targetUrl.indexOf('//youtu.be/')) { + // replace youtu.be to get proper results + targetUrl = targetUrl.replace('//youtu.be/', '//youtube.com/') + } + + let meta = {} + let embed = {} + + // only get data from requested services + await Promise.all([ + new Promise(async (resolve, reject) => { + try { + meta = await scraper.fetchMeta(targetUrl) + resolve() + } catch(err) { + resolve() + } + }), + new Promise(async (resolve, reject) => { + try { + embed = await scraper.fetchEmbed(targetUrl) + resolve() + } catch(err) { + resolve() + } + }) + ]) + return { + ...(removeEmptyAttrs(meta)), + ...(removeEmptyAttrs(embed)) + } + }, + async fetchEmbed(targetUrl) { + const url = urlParser.parse(targetUrl) + const embedMeta = find(oEmbedProviders, provider => { + return provider.provider_url.indexOf(url.hostname) >= 0 + }) + if (!embedMeta) { + return {} + } + const embedUrl = embedMeta.endpoints[0].url.replace('{format}', 'json') + + let data = await request(`${embedUrl}?url=${targetUrl}`) + if (data) { + data = JSON.parse(data) + + let output = { + type: data.type, + embed: data.html, + author: data.author_name, + date: data.upload_date ? new Date(data.upload_date).toISOString() : null + } + + return output + } + return {} + }, + async fetchMeta(targetUrl) { + + // const parsedURL = urlParser.parse(targetUrl) + // console.log(parsedURL) + + // get from cache + if (cache[targetUrl]) { + return cache[targetUrl] + } + + const { body: html, url } = await got(targetUrl) + const metadata = await metascraper({ html, url }) + + // write to cache + cache[targetUrl] = metadata + + return metadata + } +} + +module.exports = scraper diff --git a/yarn.lock b/yarn.lock new file mode 100644 index 000000000..dd072e74a --- /dev/null +++ b/yarn.lock @@ -0,0 +1,3799 @@ +# THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY. +# yarn lockfile v1 + + +"@apollographql/apollo-tools@^0.2.6": + version "0.2.9" + resolved "https://registry.yarnpkg.com/@apollographql/apollo-tools/-/apollo-tools-0.2.9.tgz#1e20999d11728ef47f8f812f2be0426b5dde1a51" + integrity sha512-AEIQwPkS0QLbkpb6WyRhV4aOMxuErasp47ABv5niDKOasQH8mrD8JSGKJAHuQxVe4kB8DE9sLRoc5qeQ0KFCHA== + dependencies: + apollo-env "0.2.5" + +"@apollographql/graphql-playground-html@^1.6.6": + version "1.6.6" + resolved "https://registry.yarnpkg.com/@apollographql/graphql-playground-html/-/graphql-playground-html-1.6.6.tgz#022209e28a2b547dcde15b219f0c50f47aa5beb3" + integrity sha512-lqK94b+caNtmKFs5oUVXlSpN3sm5IXZ+KfhMxOtr0LR2SqErzkoJilitjDvJ1WbjHlxLI7WtCjRmOLdOGJqtMQ== + +"@metascraper/helpers@^4.8.5": + version "4.8.5" + resolved "https://registry.yarnpkg.com/@metascraper/helpers/-/helpers-4.8.5.tgz#1291fc121b543d4d7c1510a22d3b6d6780e74c64" + integrity sha512-nRkmAiYNvRUIYuXY0WrS3aRw+E+qBUTYfbP7xNjlIeAD/udWOLWr+nj0GdXe2hLUBebDK9luxpvYQ6wBQu+OZQ== + dependencies: + audio-extensions "0.0.0" + chrono-node "~1.3.5" + condense-whitespace "~1.0.0" + file-extension "~4.0.5" + image-extensions "~1.1.0" + is-relative-url "~2.0.0" + iso-639-3 "~1.1.0" + isostring "0.0.1" + lodash "~4.17.11" + mime-types "~2.1.21" + normalize-url "~4.1.0" + smartquotes "~2.3.1" + title "~3.4.0" + truncate "~2.0.1" + url-regex "~4.1.1" + video-extensions "~1.1.0" + +"@protobufjs/aspromise@^1.1.1", "@protobufjs/aspromise@^1.1.2": + version "1.1.2" + resolved "https://registry.yarnpkg.com/@protobufjs/aspromise/-/aspromise-1.1.2.tgz#9b8b0cc663d669a7d8f6f5d0893a14d348f30fbf" + integrity sha1-m4sMxmPWaafY9vXQiToU00jzD78= + +"@protobufjs/base64@^1.1.2": + version "1.1.2" + resolved "https://registry.yarnpkg.com/@protobufjs/base64/-/base64-1.1.2.tgz#4c85730e59b9a1f1f349047dbf24296034bb2735" + integrity sha512-AZkcAA5vnN/v4PDqKyMR5lx7hZttPDgClv83E//FMNhR2TMcLUhfRUBHCmSl0oi9zMgDDqRUJkSxO3wm85+XLg== + +"@protobufjs/codegen@^2.0.4": + version "2.0.4" + resolved "https://registry.yarnpkg.com/@protobufjs/codegen/-/codegen-2.0.4.tgz#7ef37f0d010fb028ad1ad59722e506d9262815cb" + integrity sha512-YyFaikqM5sH0ziFZCN3xDC7zeGaB/d0IUb9CATugHWbd1FRFwWwt4ld4OYMPWu5a3Xe01mGAULCdqhMlPl29Jg== + +"@protobufjs/eventemitter@^1.1.0": + version "1.1.0" + resolved "https://registry.yarnpkg.com/@protobufjs/eventemitter/-/eventemitter-1.1.0.tgz#355cbc98bafad5978f9ed095f397621f1d066b70" + integrity sha1-NVy8mLr61ZePntCV85diHx0Ga3A= + +"@protobufjs/fetch@^1.1.0": + version "1.1.0" + resolved "https://registry.yarnpkg.com/@protobufjs/fetch/-/fetch-1.1.0.tgz#ba99fb598614af65700c1619ff06d454b0d84c45" + integrity sha1-upn7WYYUr2VwDBYZ/wbUVLDYTEU= + dependencies: + "@protobufjs/aspromise" "^1.1.1" + "@protobufjs/inquire" "^1.1.0" + +"@protobufjs/float@^1.0.2": + version "1.0.2" + resolved "https://registry.yarnpkg.com/@protobufjs/float/-/float-1.0.2.tgz#5e9e1abdcb73fc0a7cb8b291df78c8cbd97b87d1" + integrity sha1-Xp4avctz/Ap8uLKR33jIy9l7h9E= + +"@protobufjs/inquire@^1.1.0": + version "1.1.0" + resolved "https://registry.yarnpkg.com/@protobufjs/inquire/-/inquire-1.1.0.tgz#ff200e3e7cf2429e2dcafc1140828e8cc638f089" + integrity sha1-/yAOPnzyQp4tyvwRQIKOjMY48Ik= + +"@protobufjs/path@^1.1.2": + version "1.1.2" + resolved "https://registry.yarnpkg.com/@protobufjs/path/-/path-1.1.2.tgz#6cc2b20c5c9ad6ad0dccfd21ca7673d8d7fbf68d" + integrity sha1-bMKyDFya1q0NzP0hynZz2Nf79o0= + +"@protobufjs/pool@^1.1.0": + version "1.1.0" + resolved "https://registry.yarnpkg.com/@protobufjs/pool/-/pool-1.1.0.tgz#09fd15f2d6d3abfa9b65bc366506d6ad7846ff54" + integrity sha1-Cf0V8tbTq/qbZbw2ZQbWrXhG/1Q= + +"@protobufjs/utf8@^1.1.0": + version "1.1.0" + resolved "https://registry.yarnpkg.com/@protobufjs/utf8/-/utf8-1.1.0.tgz#a777360b5b39a1a2e5106f8e858f2fd2d060c570" + integrity sha1-p3c2C1s5oaLlEG+OhY8v0tBgxXA= + +"@sindresorhus/is@^0.14.0": + version "0.14.0" + resolved "https://registry.yarnpkg.com/@sindresorhus/is/-/is-0.14.0.tgz#9fb3a3cf3132328151f353de4632e01e52102bea" + integrity sha512-9NET910DNaIPngYnLLPeg+Ogzqsi9uM4mSboU5y6p8S5DzMTVEsJZrawi+BoDNUVBa2DhJqQYUFvMDfgU062LQ== + +"@szmarczak/http-timer@^1.1.0": + version "1.1.1" + resolved "https://registry.yarnpkg.com/@szmarczak/http-timer/-/http-timer-1.1.1.tgz#6402258dfe467532b26649ef076b4d11f74fb612" + integrity sha512-WljfOGkmSJe8SUkl+4TPvN2ec0dpUGVyfTBQLoXJUiILs+wBSc4Kvp2N3aAWE4VwwDSLGdmD3/bufS5BgZpVSQ== + dependencies: + defer-to-connect "^1.0.1" + +"@types/accepts@^1.3.5": + version "1.3.5" + resolved "https://registry.yarnpkg.com/@types/accepts/-/accepts-1.3.5.tgz#c34bec115cfc746e04fe5a059df4ce7e7b391575" + integrity sha512-jOdnI/3qTpHABjM5cx1Hc0sKsPoYCp+DP/GJRGtDlPd7fiV9oXGGIcjW/ZOxLIvjGz8MA+uMZI9metHlgqbgwQ== + dependencies: + "@types/node" "*" + +"@types/body-parser@*", "@types/body-parser@1.17.0": + version "1.17.0" + resolved "https://registry.yarnpkg.com/@types/body-parser/-/body-parser-1.17.0.tgz#9f5c9d9bd04bb54be32d5eb9fc0d8c974e6cf58c" + integrity sha512-a2+YeUjPkztKJu5aIF2yArYFQQp8d51wZ7DavSHjFuY1mqVgidGyzEQ41JIVNy82fXj8yPgy2vJmfIywgESW6w== + dependencies: + "@types/connect" "*" + "@types/node" "*" + +"@types/connect@*": + version "3.4.32" + resolved "https://registry.yarnpkg.com/@types/connect/-/connect-3.4.32.tgz#aa0e9616b9435ccad02bc52b5b454ffc2c70ba28" + integrity sha512-4r8qa0quOvh7lGD0pre62CAb1oni1OO6ecJLGCezTmhQ8Fz50Arx9RUszryR8KlgK6avuSXvviL6yWyViQABOg== + dependencies: + "@types/node" "*" + +"@types/cors@^2.8.4": + version "2.8.4" + resolved "https://registry.yarnpkg.com/@types/cors/-/cors-2.8.4.tgz#50991a759a29c0b89492751008c6af7a7c8267b0" + integrity sha512-ipZjBVsm2tF/n8qFGOuGBkUij9X9ZswVi9G3bx/6dz7POpVa6gVHcj1wsX/LVEn9MMF41fxK/PnZPPoTD1UFPw== + dependencies: + "@types/express" "*" + +"@types/events@*": + version "1.2.0" + resolved "https://registry.yarnpkg.com/@types/events/-/events-1.2.0.tgz#81a6731ce4df43619e5c8c945383b3e62a89ea86" + integrity sha512-KEIlhXnIutzKwRbQkGWb/I4HFqBuUykAdHgDED6xqwXJfONCjF5VoE0cXEiurh3XauygxzeDzgtXUqvLkxFzzA== + +"@types/express-serve-static-core@*": + version "4.16.0" + resolved "https://registry.yarnpkg.com/@types/express-serve-static-core/-/express-serve-static-core-4.16.0.tgz#fdfe777594ddc1fe8eb8eccce52e261b496e43e7" + integrity sha512-lTeoCu5NxJU4OD9moCgm0ESZzweAx0YqsAcab6OB0EB3+As1OaHtKnaGJvcngQxYsi9UNv0abn4/DRavrRxt4w== + dependencies: + "@types/events" "*" + "@types/node" "*" + "@types/range-parser" "*" + +"@types/express@*", "@types/express@4.16.0": + version "4.16.0" + resolved "https://registry.yarnpkg.com/@types/express/-/express-4.16.0.tgz#6d8bc42ccaa6f35cf29a2b7c3333cb47b5a32a19" + integrity sha512-TtPEYumsmSTtTetAPXlJVf3kEqb6wZK0bZojpJQrnD/djV4q1oB6QQ8aKvKqwNPACoe02GNiy5zDzcYivR5Z2w== + dependencies: + "@types/body-parser" "*" + "@types/express-serve-static-core" "*" + "@types/serve-static" "*" + +"@types/long@^4.0.0": + version "4.0.0" + resolved "https://registry.yarnpkg.com/@types/long/-/long-4.0.0.tgz#719551d2352d301ac8b81db732acb6bdc28dbdef" + integrity sha512-1w52Nyx4Gq47uuu0EVcsHBxZFJgurQ+rTKS3qMHxR1GY2T8c2AJYd6vZoZ9q1rupaDjU0yT+Jc2XTyXkjeMA+Q== + +"@types/mime@*": + version "2.0.0" + resolved "https://registry.yarnpkg.com/@types/mime/-/mime-2.0.0.tgz#5a7306e367c539b9f6543499de8dd519fac37a8b" + integrity sha512-A2TAGbTFdBw9azHbpVd+/FkdW2T6msN1uct1O9bH3vTerEHKZhTXJUQXy+hNq1B0RagfU8U+KBdqiZpxjhOUQA== + +"@types/node@*", "@types/node@^10.1.0": + version "10.12.18" + resolved "https://registry.yarnpkg.com/@types/node/-/node-10.12.18.tgz#1d3ca764718915584fcd9f6344621b7672665c67" + integrity sha512-fh+pAqt4xRzPfqA6eh3Z2y6fyZavRIumvjhaCL753+TVkGKGhpPeyrJG2JftD0T9q4GF00KjefsQ+PQNDdWQaQ== + +"@types/range-parser@*": + version "1.2.3" + resolved "https://registry.yarnpkg.com/@types/range-parser/-/range-parser-1.2.3.tgz#7ee330ba7caafb98090bece86a5ee44115904c2c" + integrity sha512-ewFXqrQHlFsgc09MK5jP5iR7vumV/BYayNC6PgJO2LPe8vrnNFyjQjSppfEngITi0qvfKtzFvgKymGheFM9UOA== + +"@types/serve-static@*": + version "1.13.2" + resolved "https://registry.yarnpkg.com/@types/serve-static/-/serve-static-1.13.2.tgz#f5ac4d7a6420a99a6a45af4719f4dcd8cd907a48" + integrity sha512-/BZ4QRLpH/bNYgZgwhKEh+5AsboDBcUdlBYgzoLX0fpj3Y2gp6EApyOlM3bK53wQS/OE1SrdSYBAbux2D1528Q== + dependencies: + "@types/express-serve-static-core" "*" + "@types/mime" "*" + +"@types/ws@^6.0.0": + version "6.0.1" + resolved "https://registry.yarnpkg.com/@types/ws/-/ws-6.0.1.tgz#ca7a3f3756aa12f62a0a62145ed14c6db25d5a28" + integrity sha512-EzH8k1gyZ4xih/MaZTXwT2xOkPiIMSrhQ9b8wrlX88L0T02eYsddatQlwVFlEPyEqV0ChpdpNnE51QPH6NVT4Q== + dependencies: + "@types/events" "*" + "@types/node" "*" + +abbrev@1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/abbrev/-/abbrev-1.1.1.tgz#f8f2c887ad10bf67f634f005b6987fed3179aac8" + integrity sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q== + +accepts@^1.3.5, accepts@~1.3.5: + version "1.3.5" + resolved "https://registry.yarnpkg.com/accepts/-/accepts-1.3.5.tgz#eb777df6011723a3b14e8a72c0805c8e86746bd2" + integrity sha1-63d99gEXI6OxTopywIBcjoZ0a9I= + dependencies: + mime-types "~2.1.18" + negotiator "0.6.1" + +aggregate-error@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/aggregate-error/-/aggregate-error-1.0.0.tgz#888344dad0220a72e3af50906117f48771925fac" + integrity sha1-iINE2tAiCnLjr1CQYRf0h3GSX6w= + dependencies: + clean-stack "^1.0.0" + indent-string "^3.0.0" + +ajv@^6.5.5: + version "6.6.2" + resolved "https://registry.yarnpkg.com/ajv/-/ajv-6.6.2.tgz#caceccf474bf3fc3ce3b147443711a24063cc30d" + integrity sha512-FBHEW6Jf5TB9MGBgUUA9XHkTbjXYfAUjY43ACMfmdMRHniyoMHjHjzD50OK8LGDWQwp4rWEsIq5kEqq7rvIM1g== + dependencies: + fast-deep-equal "^2.0.1" + fast-json-stable-stringify "^2.0.0" + json-schema-traverse "^0.4.1" + uri-js "^4.2.2" + +ansi-align@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/ansi-align/-/ansi-align-2.0.0.tgz#c36aeccba563b89ceb556f3690f0b1d9e3547f7f" + integrity sha1-w2rsy6VjuJzrVW82kPCx2eNUf38= + dependencies: + string-width "^2.0.0" + +ansi-regex@^2.0.0: + version "2.1.1" + resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-2.1.1.tgz#c3b33ab5ee360d86e0e628f0468ae7ef27d654df" + integrity sha1-w7M6te42DYbg5ijwRorn7yfWVN8= + +ansi-regex@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-3.0.0.tgz#ed0317c322064f79466c02966bddb605ab37d998" + integrity sha1-7QMXwyIGT3lGbAKWa922Bas32Zg= + +ansi-styles@^3.1.0, ansi-styles@^3.2.1: + version "3.2.1" + resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-3.2.1.tgz#41fbb20243e50b12be0f04b8dedbf07520ce841d" + integrity sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA== + dependencies: + color-convert "^1.9.0" + +anymatch@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/anymatch/-/anymatch-2.0.0.tgz#bcb24b4f37934d9aa7ac17b4adaf89e7c76ef2eb" + integrity sha512-5teOsQWABXHHBFP9y3skS5P3d/WfWXpv3FUpy+LorMrNYaT9pI4oLMQX7jzQ2KklNpGpWHzdCXTDT2Y3XGlZBw== + dependencies: + micromatch "^3.1.4" + normalize-path "^2.1.1" + +apollo-cache-control@0.4.0: + version "0.4.0" + resolved "https://registry.yarnpkg.com/apollo-cache-control/-/apollo-cache-control-0.4.0.tgz#fec343e6ec95aa4f1b88e07e62f067bee0c48397" + integrity sha512-WuriaNQIugTE8gYwfBWWCbbQTSKul/cV4JMi5UgqNIUvjHvnKZQLKbt5uYWow6QQNMkLT9hey8QPYkWpogkeSA== + dependencies: + apollo-server-env "2.2.0" + graphql-extensions "0.4.0" + +apollo-datasource@0.2.1: + version "0.2.1" + resolved "https://registry.yarnpkg.com/apollo-datasource/-/apollo-datasource-0.2.1.tgz#3ecef4efe64f7a04a43862f32027d38ac09e142c" + integrity sha512-r185+JTa5KuF1INeTAk7AEP76zwMN6c8Ph1lmpzJMNwBUEzTGnLClrccCskCBx4SxfnkdKbuQdwn9JwCJUWrdg== + dependencies: + apollo-server-caching "0.2.1" + apollo-server-env "2.2.0" + +apollo-engine-reporting-protobuf@0.2.0: + version "0.2.0" + resolved "https://registry.yarnpkg.com/apollo-engine-reporting-protobuf/-/apollo-engine-reporting-protobuf-0.2.0.tgz#2aaf4d2eddefe7924d469cf1135267bc0deadf73" + integrity sha512-qI+GJKN78UMJ9Aq/ORdiM2qymZ5yswem+/VDdVFocq+/e1QqxjnpKjQWISkswci5+WtpJl9SpHBNxG98uHDKkA== + dependencies: + protobufjs "^6.8.6" + +apollo-engine-reporting@0.2.0: + version "0.2.0" + resolved "https://registry.yarnpkg.com/apollo-engine-reporting/-/apollo-engine-reporting-0.2.0.tgz#e71816b1f46e782f8538c5a118148d4c0e628e25" + integrity sha512-Q6FfVb10v/nrv8FaFsPjIYlWh62jaYav3LuMgM9PsHWGK/zRQFXOEwLxcY2UCvG7O1moxF3XGmfBhMgo54py+Q== + dependencies: + apollo-engine-reporting-protobuf "0.2.0" + apollo-server-env "2.2.0" + async-retry "^1.2.1" + graphql-extensions "0.4.0" + lodash "^4.17.10" + +apollo-env@0.2.5: + version "0.2.5" + resolved "https://registry.yarnpkg.com/apollo-env/-/apollo-env-0.2.5.tgz#162c785bccd2aea69350a7600fab4b7147fc9da5" + integrity sha512-Gc7TEbwCl7jJVutnn8TWfzNSkrrqyoo0DP92BQJFU9pZbJhpidoXf2Sw1YwOJl82rRKH3ujM3C8vdZLOgpFcFA== + dependencies: + core-js "^3.0.0-beta.3" + node-fetch "^2.2.0" + +apollo-link@^1.2.3: + version "1.2.6" + resolved "https://registry.yarnpkg.com/apollo-link/-/apollo-link-1.2.6.tgz#d9b5676d79c01eb4e424b95c7171697f6ad2b8da" + integrity sha512-sUNlA20nqIF3gG3F8eyMD+mO80fmf3dPZX+GUOs3MI9oZR8ug09H3F0UsWJMcpEg6h55Yy5wZ+BMmAjrbenF/Q== + dependencies: + apollo-utilities "^1.0.0" + zen-observable-ts "^0.8.13" + +apollo-server-caching@0.2.1: + version "0.2.1" + resolved "https://registry.yarnpkg.com/apollo-server-caching/-/apollo-server-caching-0.2.1.tgz#7e67f8c8cac829e622b394f0fb82579cabbeadfd" + integrity sha512-+U9F3X297LL8Gqy6ypfDNEv/DfV/tDht9Dr2z3AMaEkNW1bwO6rmdDL01zYxDuVDVq6Z3qSiNCSO2pXE2F0zmA== + dependencies: + lru-cache "^5.0.0" + +apollo-server-core@2.3.1: + version "2.3.1" + resolved "https://registry.yarnpkg.com/apollo-server-core/-/apollo-server-core-2.3.1.tgz#cbdc0020a0dfecf2220cf5062dbb304fdf56edf2" + integrity sha512-8jMWYOQIZi9mDJlHe2rXg8Cp4xKYogeRu23jkcNy+k5UjZL+eO+kHXbNFiTaP4HLYYEpe2XE3asxp6q5YUEQeQ== + dependencies: + "@apollographql/apollo-tools" "^0.2.6" + "@apollographql/graphql-playground-html" "^1.6.6" + "@types/ws" "^6.0.0" + apollo-cache-control "0.4.0" + apollo-datasource "0.2.1" + apollo-engine-reporting "0.2.0" + apollo-server-caching "0.2.1" + apollo-server-env "2.2.0" + apollo-server-errors "2.2.0" + apollo-server-plugin-base "0.2.1" + apollo-tracing "0.4.0" + graphql-extensions "0.4.1" + graphql-subscriptions "^1.0.0" + graphql-tag "^2.9.2" + graphql-tools "^4.0.0" + graphql-upload "^8.0.2" + json-stable-stringify "^1.0.1" + lodash "^4.17.10" + subscriptions-transport-ws "^0.9.11" + ws "^6.0.0" + +apollo-server-env@2.2.0: + version "2.2.0" + resolved "https://registry.yarnpkg.com/apollo-server-env/-/apollo-server-env-2.2.0.tgz#5eec5dbf46581f663fd6692b2e05c7e8ae6d6034" + integrity sha512-wjJiI5nQWPBpNmpiLP389Ezpstp71szS6DHAeTgYLb/ulCw3CTuuA+0/E1bsThVWiQaDeHZE0sE3yI8q2zrYiA== + dependencies: + node-fetch "^2.1.2" + util.promisify "^1.0.0" + +apollo-server-errors@2.2.0: + version "2.2.0" + resolved "https://registry.yarnpkg.com/apollo-server-errors/-/apollo-server-errors-2.2.0.tgz#5b452a1d6ff76440eb0f127511dc58031a8f3cb5" + integrity sha512-gV9EZG2tovFtT1cLuCTavnJu2DaKxnXPRNGSTo+SDI6IAk6cdzyW0Gje5N2+3LybI0Wq5KAbW6VLei31S4MWmg== + +apollo-server-express@2.3.1: + version "2.3.1" + resolved "https://registry.yarnpkg.com/apollo-server-express/-/apollo-server-express-2.3.1.tgz#0598e2fa0a0d9e6eb570c0bb6ce65c31810a9c09" + integrity sha512-J+rObr4GdT/5j6qTByUJoSvZSjTAX/7VqIkr2t+GxwcVUFGet2MdOHuV6rtWKc8CRgvVKfKN6iBrb2EOFcp2LQ== + dependencies: + "@apollographql/graphql-playground-html" "^1.6.6" + "@types/accepts" "^1.3.5" + "@types/body-parser" "1.17.0" + "@types/cors" "^2.8.4" + "@types/express" "4.16.0" + accepts "^1.3.5" + apollo-server-core "2.3.1" + body-parser "^1.18.3" + cors "^2.8.4" + graphql-subscriptions "^1.0.0" + graphql-tools "^4.0.0" + type-is "^1.6.16" + +apollo-server-plugin-base@0.2.1: + version "0.2.1" + resolved "https://registry.yarnpkg.com/apollo-server-plugin-base/-/apollo-server-plugin-base-0.2.1.tgz#d08c9576f7f11ab6e212f352d482faaa4059a31e" + integrity sha512-497NIY9VWRYCrMSkgR11IrIUO4Fsy6aGgnpOJoTdLQAnkDD9SJDSRzwKj4gypUoTT2unfKDng4eMxXVZlHvjOw== + +apollo-server@^2.3.1: + version "2.3.1" + resolved "https://registry.yarnpkg.com/apollo-server/-/apollo-server-2.3.1.tgz#4d2b6bbb48b44d86076680304705b8b7ae952d37" + integrity sha512-+S+/BhLJF9Ms99OK9HpC4P6rcVWTobWWKeLSVdgxqG487i/kwMrCAw/ICrDVJGeOGJRi6PndVu9XdHWHuX1lvQ== + dependencies: + apollo-server-core "2.3.1" + apollo-server-express "2.3.1" + express "^4.0.0" + graphql-subscriptions "^1.0.0" + graphql-tools "^4.0.0" + +apollo-tracing@0.4.0: + version "0.4.0" + resolved "https://registry.yarnpkg.com/apollo-tracing/-/apollo-tracing-0.4.0.tgz#4b939063f4292422ac5a3564b76d1d88dec0a916" + integrity sha512-BlM8iQUQva4fm0xD/pLwkcz0degfB9a/aAn4k4cK36eLVD8XUkl7ptEB0c+cwcj7tOYpV1r5QX1XwdayBzlHSg== + dependencies: + apollo-server-env "2.2.0" + graphql-extensions "0.4.0" + +apollo-utilities@^1.0.0, apollo-utilities@^1.0.1: + version "1.0.27" + resolved "https://registry.yarnpkg.com/apollo-utilities/-/apollo-utilities-1.0.27.tgz#77c550f9086552376eca3a48e234a1466b5b057e" + integrity sha512-nzrMQ89JMpNmYnVGJ4t8zN75gQbql27UDhlxNi+3OModp0Masx5g+fQmQJ5B4w2dpRuYOsdwFLmj3lQbwOKV1Q== + dependencies: + fast-json-stable-stringify "^2.0.0" + +aproba@^1.0.3: + version "1.2.0" + resolved "https://registry.yarnpkg.com/aproba/-/aproba-1.2.0.tgz#6802e6264efd18c790a1b0d517f0f2627bf2c94a" + integrity sha512-Y9J6ZjXtoYh8RnXVCMOU/ttDmk1aBjunq9vO0ta5x85WDQiQfUF9sIPBITdbiiIVcBo03Hi3jMxigBtsddlXRw== + +arch@^2.1.0: + version "2.1.1" + resolved "https://registry.yarnpkg.com/arch/-/arch-2.1.1.tgz#8f5c2731aa35a30929221bb0640eed65175ec84e" + integrity sha512-BLM56aPo9vLLFVa8+/+pJLnrZ7QGGTVHWsCwieAWT9o9K8UeGaQbzZbGoabWLOo2ksBCztoXdqBZBplqLDDCSg== + +are-we-there-yet@~1.1.2: + version "1.1.5" + resolved "https://registry.yarnpkg.com/are-we-there-yet/-/are-we-there-yet-1.1.5.tgz#4b35c2944f062a8bfcda66410760350fe9ddfc21" + integrity sha512-5hYdAkZlcG8tOLujVDTgCT+uPX0VnpAH28gWsLfzpXYm7wP6mp5Q/gYyR7YQ0cKVJcXJnl3j2kpBan13PtQf6w== + dependencies: + delegates "^1.0.0" + readable-stream "^2.0.6" + +arg@1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/arg/-/arg-1.0.0.tgz#444d885a4e25b121640b55155ef7cd03975d6050" + integrity sha512-Wk7TEzl1KqvTGs/uyhmHO/3XLd3t1UeU4IstvPXVzGPM522cTjqjNZ99esCkcL52sjqjo8e8CTBcWhkxvGzoAw== + +arr-diff@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/arr-diff/-/arr-diff-4.0.0.tgz#d6461074febfec71e7e15235761a329a5dc7c520" + integrity sha1-1kYQdP6/7HHn4VI1dhoyml3HxSA= + +arr-flatten@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/arr-flatten/-/arr-flatten-1.1.0.tgz#36048bbff4e7b47e136644316c99669ea5ae91f1" + integrity sha512-L3hKV5R/p5o81R7O02IGnwpDmkp6E982XhtbuwSe3O4qOtMMMtodicASA1Cny2U+aCXcNpml+m4dPsvsJ3jatg== + +arr-union@^3.1.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/arr-union/-/arr-union-3.1.0.tgz#e39b09aea9def866a8f206e288af63919bae39c4" + integrity sha1-45sJrqne+Gao8gbiiK9jkZuuOcQ= + +array-flatten@1.1.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/array-flatten/-/array-flatten-1.1.1.tgz#9a5f699051b1e7073328f2a008968b64ea2955d2" + integrity sha1-ml9pkFGx5wczKPKgCJaLZOopVdI= + +array-uniq@^1.0.2: + version "1.0.3" + resolved "https://registry.yarnpkg.com/array-uniq/-/array-uniq-1.0.3.tgz#af6ac877a25cc7f74e058894753858dfdb24fdb6" + integrity sha1-r2rId6Jcx/dOBYiUdThY39sk/bY= + +array-unique@^0.3.2: + version "0.3.2" + resolved "https://registry.yarnpkg.com/array-unique/-/array-unique-0.3.2.tgz#a894b75d4bc4f6cd679ef3244a9fd8f46ae2d428" + integrity sha1-qJS3XUvE9s1nnvMkSp/Y9Gri1Cg= + +arrify@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/arrify/-/arrify-1.0.1.tgz#898508da2226f380df904728456849c1501a4b0d" + integrity sha1-iYUI2iIm84DfkEcoRWhJwVAaSw0= + +asn1@~0.2.3: + version "0.2.4" + resolved "https://registry.yarnpkg.com/asn1/-/asn1-0.2.4.tgz#8d2475dfab553bb33e77b54e59e880bb8ce23136" + integrity sha512-jxwzQpLQjSmWXgwaCZE9Nz+glAG01yF1QnWgbhGwHI5A6FRIEY6IVqtHhIepHqI7/kyEyQEagBC5mBEFlIYvdg== + dependencies: + safer-buffer "~2.1.0" + +assert-plus@1.0.0, assert-plus@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/assert-plus/-/assert-plus-1.0.0.tgz#f12e0f3c5d77b0b1cdd9146942e4e96c1e4dd525" + integrity sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU= + +assign-symbols@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/assign-symbols/-/assign-symbols-1.0.0.tgz#59667f41fadd4f20ccbc2bb96b8d4f7f78ec0367" + integrity sha1-WWZ/QfrdTyDMvCu5a41Pf3jsA2c= + +async-each@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/async-each/-/async-each-1.0.1.tgz#19d386a1d9edc6e7c1c85d388aedbcc56d33602d" + integrity sha1-GdOGodntxufByF04iu28xW0zYC0= + +async-limiter@~1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/async-limiter/-/async-limiter-1.0.0.tgz#78faed8c3d074ab81f22b4e985d79e8738f720f8" + integrity sha512-jp/uFnooOiO+L211eZOoSyzpOITMXx1rBITauYykG3BRYPu8h0UcxsPNB04RR5vo4Tyz3+ay17tR6JVf9qzYWg== + +async-retry@^1.2.1: + version "1.2.3" + resolved "https://registry.yarnpkg.com/async-retry/-/async-retry-1.2.3.tgz#a6521f338358d322b1a0012b79030c6f411d1ce0" + integrity sha512-tfDb02Th6CE6pJUF2gjW5ZVjsgwlucVXOEQMvEX9JgSJMs9gAX+Nz3xRuJBKuUYjTSYORqvDBORdAQ3LU59g7Q== + dependencies: + retry "0.12.0" + +asynckit@^0.4.0: + version "0.4.0" + resolved "https://registry.yarnpkg.com/asynckit/-/asynckit-0.4.0.tgz#c79ed97f7f34cb8f2ba1bc9790bcc366474b4b79" + integrity sha1-x57Zf380y48robyXkLzDZkdLS3k= + +atob@^2.1.1: + version "2.1.2" + resolved "https://registry.yarnpkg.com/atob/-/atob-2.1.2.tgz#6d9517eb9e030d2436666651e86bd9f6f13533c9" + integrity sha512-Wm6ukoaOGJi/73p/cl2GvLjTI5JM1k/O14isD73YML8StrH/7/lRFgmg8nICZgD3bZZvjwCGxtMOD3wWNAu8cg== + +audio-extensions@0.0.0: + version "0.0.0" + resolved "https://registry.yarnpkg.com/audio-extensions/-/audio-extensions-0.0.0.tgz#d0eefe077fb9eb625898eed9985890548cf1f8d2" + integrity sha1-0O7+B3+562JYmO7ZmFiQVIzx+NI= + +aws-sign2@~0.7.0: + version "0.7.0" + resolved "https://registry.yarnpkg.com/aws-sign2/-/aws-sign2-0.7.0.tgz#b46e890934a9591f2d2f6f86d7e6a9f1b3fe76a8" + integrity sha1-tG6JCTSpWR8tL2+G1+ap8bP+dqg= + +aws4@^1.8.0: + version "1.8.0" + resolved "https://registry.yarnpkg.com/aws4/-/aws4-1.8.0.tgz#f0e003d9ca9e7f59c7a508945d7b2ef9a04a542f" + integrity sha512-ReZxvNHIOv88FlT7rxcXIIC0fPt4KZqZbOlivyWtXLt8ESx84zd3kMC6iK5jVeS2qt+g7ftS7ye4fi06X5rtRQ== + +backo2@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/backo2/-/backo2-1.0.2.tgz#31ab1ac8b129363463e35b3ebb69f4dfcfba7947" + integrity sha1-MasayLEpNjRj41s+u2n038+6eUc= + +balanced-match@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/balanced-match/-/balanced-match-1.0.0.tgz#89b4d199ab2bee49de164ea02b89ce462d71b767" + integrity sha1-ibTRmasr7kneFk6gK4nORi1xt2c= + +base@^0.11.1: + version "0.11.2" + resolved "https://registry.yarnpkg.com/base/-/base-0.11.2.tgz#7bde5ced145b6d551a90db87f83c558b4eb48a8f" + integrity sha512-5T6P4xPgpp0YDFvSWwEZ4NoE3aM4QBQXDzmVbraCkFj8zHM+mba8SyqB5DbZWyR7mYHo6Y7BdQo3MoA4m0TeQg== + dependencies: + cache-base "^1.0.1" + class-utils "^0.3.5" + component-emitter "^1.2.1" + define-property "^1.0.0" + isobject "^3.0.1" + mixin-deep "^1.2.0" + pascalcase "^0.1.1" + +bcrypt-pbkdf@^1.0.0: + version "1.0.2" + resolved "https://registry.yarnpkg.com/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.2.tgz#a4301d389b6a43f9b67ff3ca11a3f6637e360e9e" + integrity sha1-pDAdOJtqQ/m2f/PKEaP2Y342Dp4= + dependencies: + tweetnacl "^0.14.3" + +binary-extensions@^1.0.0: + version "1.12.0" + resolved "https://registry.yarnpkg.com/binary-extensions/-/binary-extensions-1.12.0.tgz#c2d780f53d45bba8317a8902d4ceeaf3a6385b14" + integrity sha512-DYWGk01lDcxeS/K9IHPGWfT8PsJmbXRtRd2Sx72Tnb8pcYZQFF1oSDb8hJtS1vhp212q1Rzi5dUf9+nq0o9UIg== + +body-parser@1.18.3, body-parser@^1.18.3: + version "1.18.3" + resolved "https://registry.yarnpkg.com/body-parser/-/body-parser-1.18.3.tgz#5b292198ffdd553b3a0f20ded0592b956955c8b4" + integrity sha1-WykhmP/dVTs6DyDe0FkrlWlVyLQ= + dependencies: + bytes "3.0.0" + content-type "~1.0.4" + debug "2.6.9" + depd "~1.1.2" + http-errors "~1.6.3" + iconv-lite "0.4.23" + on-finished "~2.3.0" + qs "6.5.2" + raw-body "2.3.3" + type-is "~1.6.16" + +boolbase@~1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/boolbase/-/boolbase-1.0.0.tgz#68dff5fbe60c51eb37725ea9e3ed310dcc1e776e" + integrity sha1-aN/1++YMUes3cl6p4+0xDcwed24= + +boxen@^1.2.1: + version "1.3.0" + resolved "https://registry.yarnpkg.com/boxen/-/boxen-1.3.0.tgz#55c6c39a8ba58d9c61ad22cd877532deb665a20b" + integrity sha512-TNPjfTr432qx7yOjQyaXm3dSR0MH9vXp7eT1BFSl/C51g+EFnOR9hTg1IreahGBmDNCehscshe45f+C1TBZbLw== + dependencies: + ansi-align "^2.0.0" + camelcase "^4.0.0" + chalk "^2.0.1" + cli-boxes "^1.0.0" + string-width "^2.0.0" + term-size "^1.2.0" + widest-line "^2.0.0" + +brace-expansion@^1.1.7: + version "1.1.11" + resolved "https://registry.yarnpkg.com/brace-expansion/-/brace-expansion-1.1.11.tgz#3c7fcbf529d87226f3d2f52b966ff5271eb441dd" + integrity sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA== + dependencies: + balanced-match "^1.0.0" + concat-map "0.0.1" + +braces@^2.3.0, braces@^2.3.1: + version "2.3.2" + resolved "https://registry.yarnpkg.com/braces/-/braces-2.3.2.tgz#5979fd3f14cd531565e5fa2df1abfff1dfaee729" + integrity sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w== + dependencies: + arr-flatten "^1.1.0" + array-unique "^0.3.2" + extend-shallow "^2.0.1" + fill-range "^4.0.0" + isobject "^3.0.1" + repeat-element "^1.1.2" + snapdragon "^0.8.1" + snapdragon-node "^2.0.1" + split-string "^3.0.2" + to-regex "^3.0.1" + +busboy@^0.2.14: + version "0.2.14" + resolved "https://registry.yarnpkg.com/busboy/-/busboy-0.2.14.tgz#6c2a622efcf47c57bbbe1e2a9c37ad36c7925453" + integrity sha1-bCpiLvz0fFe7vh4qnDetNseSVFM= + dependencies: + dicer "0.2.5" + readable-stream "1.1.x" + +bytes@3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/bytes/-/bytes-3.0.0.tgz#d32815404d689699f85a4ea4fa8755dd13a96048" + integrity sha1-0ygVQE1olpn4Wk6k+odV3ROpYEg= + +cache-base@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/cache-base/-/cache-base-1.0.1.tgz#0a7f46416831c8b662ee36fe4e7c59d76f666ab2" + integrity sha512-AKcdTnFSWATd5/GCPRxr2ChwIJ85CeyrEyjRHlKxQ56d4XJMGym0uAiKn0xbLOGOl3+yRpOTi484dVCEc5AUzQ== + dependencies: + collection-visit "^1.0.0" + component-emitter "^1.2.1" + get-value "^2.0.6" + has-value "^1.0.0" + isobject "^3.0.1" + set-value "^2.0.0" + to-object-path "^0.3.0" + union-value "^1.0.0" + unset-value "^1.0.0" + +cacheable-request@^5.1.0: + version "5.2.1" + resolved "https://registry.yarnpkg.com/cacheable-request/-/cacheable-request-5.2.1.tgz#41814b0460b68b9baf74f57f5a6046224d55d71e" + integrity sha512-+dLut9zvvuIM/MrtdHBVSh/QYJ9+uCKYoqww9cOYrndQH4O4rD/qH0IAwFhD5WJKfmWE6WgCOrLQPd/H5YJRVQ== + dependencies: + clone-response "^1.0.2" + get-stream "^4.0.0" + http-cache-semantics "^4.0.0" + keyv "^3.0.0" + lowercase-keys "^1.0.1" + normalize-url "^3.1.0" + responselike "^1.0.2" + +camelcase@^4.0.0: + version "4.1.0" + resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-4.1.0.tgz#d545635be1e33c542649c69173e5de6acfae34dd" + integrity sha1-1UVjW+HjPFQmScaRc+Xeas+uNN0= + +capture-stack-trace@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/capture-stack-trace/-/capture-stack-trace-1.0.1.tgz#a6c0bbe1f38f3aa0b92238ecb6ff42c344d4135d" + integrity sha512-mYQLZnx5Qt1JgB1WEiMCf2647plpGeQ2NMR/5L0HNZzGQo4fuSPnK+wjfPnKZV0aiJDgzmWqqkV/g7JD+DW0qw== + +caseless@~0.12.0: + version "0.12.0" + resolved "https://registry.yarnpkg.com/caseless/-/caseless-0.12.0.tgz#1b681c21ff84033c826543090689420d187151dc" + integrity sha1-G2gcIf+EAzyCZUMJBolCDRhxUdw= + +chalk@2.3.0: + version "2.3.0" + resolved "https://registry.yarnpkg.com/chalk/-/chalk-2.3.0.tgz#b5ea48efc9c1793dccc9b4767c93914d3f2d52ba" + integrity sha512-Az5zJR2CBujap2rqXGaJKaPHyJ0IrUimvYNX+ncCy8PJP4ltOGTrHUIo097ZaL2zMeKYpiCdqDvS6zdrTFok3Q== + dependencies: + ansi-styles "^3.1.0" + escape-string-regexp "^1.0.5" + supports-color "^4.0.0" + +chalk@^2.0.1, chalk@^2.4.1: + version "2.4.1" + resolved "https://registry.yarnpkg.com/chalk/-/chalk-2.4.1.tgz#18c49ab16a037b6eb0152cc83e3471338215b66e" + integrity sha512-ObN6h1v2fTJSmUXoS3nMQ92LbDK9be4TV+6G+omQlGJFdcUX5heKi1LZ1YnRMIgwTLEj3E24bT6tYni50rlCfQ== + dependencies: + ansi-styles "^3.2.1" + escape-string-regexp "^1.0.5" + supports-color "^5.3.0" + +cheerio-advanced-selectors@~2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/cheerio-advanced-selectors/-/cheerio-advanced-selectors-2.0.1.tgz#fb5ec70a4599e8cec1cf669c6d9b90a3fa969c48" + integrity sha512-5wHR8bpiD5pdUtaS81A6hnJezzoDzL1TLWfK6bxnLkIgEKPV26BlOdMCcvuj3fTE7JSalsTUeNU7AOD/u6bYhw== + +cheerio@~1.0.0-rc.2: + version "1.0.0-rc.2" + resolved "https://registry.yarnpkg.com/cheerio/-/cheerio-1.0.0-rc.2.tgz#4b9f53a81b27e4d5dac31c0ffd0cfa03cc6830db" + integrity sha1-S59TqBsn5NXawxwP/Qz6A8xoMNs= + dependencies: + css-select "~1.2.0" + dom-serializer "~0.1.0" + entities "~1.1.1" + htmlparser2 "^3.9.1" + lodash "^4.15.0" + parse5 "^3.0.1" + +chokidar@^2.0.4: + version "2.0.4" + resolved "https://registry.yarnpkg.com/chokidar/-/chokidar-2.0.4.tgz#356ff4e2b0e8e43e322d18a372460bbcf3accd26" + integrity sha512-z9n7yt9rOvIJrMhvDtDictKrkFHeihkNl6uWMmZlmL6tJtX9Cs+87oK+teBx+JIgzvbX3yZHT3eF8vpbDxHJXQ== + dependencies: + anymatch "^2.0.0" + async-each "^1.0.0" + braces "^2.3.0" + glob-parent "^3.1.0" + inherits "^2.0.1" + is-binary-path "^1.0.0" + is-glob "^4.0.0" + lodash.debounce "^4.0.8" + normalize-path "^2.1.1" + path-is-absolute "^1.0.0" + readdirp "^2.0.0" + upath "^1.0.5" + optionalDependencies: + fsevents "^1.2.2" + +chownr@^1.1.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/chownr/-/chownr-1.1.1.tgz#54726b8b8fff4df053c42187e801fb4412df1494" + integrity sha512-j38EvO5+LHX84jlo6h4UzmOwi0UgW61WRyPtJz4qaadK5eY3BTS5TY/S1Stc3Uk2lIM6TPevAlULiEJwie860g== + +chrono-node@~1.3.5: + version "1.3.5" + resolved "https://registry.yarnpkg.com/chrono-node/-/chrono-node-1.3.5.tgz#a2495298a32da82bcc01ad9be7d77efa5e244122" + integrity sha1-oklSmKMtqCvMAa2b59d++l4kQSI= + dependencies: + moment "^2.10.3" + +ci-info@^1.5.0: + version "1.6.0" + resolved "https://registry.yarnpkg.com/ci-info/-/ci-info-1.6.0.tgz#2ca20dbb9ceb32d4524a683303313f0304b1e497" + integrity sha512-vsGdkwSCDpWmP80ncATX7iea5DWQemg1UgCW5J8tqjU3lYw4FBYuj89J0CTVomA7BEfvSZd84GmHko+MxFQU2A== + +class-utils@^0.3.5: + version "0.3.6" + resolved "https://registry.yarnpkg.com/class-utils/-/class-utils-0.3.6.tgz#f93369ae8b9a7ce02fd41faad0ca83033190c463" + integrity sha512-qOhPa/Fj7s6TY8H8esGu5QNpMMQxz79h+urzrNYN6mn+9BnxlDGf5QZ+XeCDsxSjPqsSR56XOZOJmpeurnLMeg== + dependencies: + arr-union "^3.1.0" + define-property "^0.2.5" + isobject "^3.0.0" + static-extend "^0.1.1" + +clean-stack@^1.0.0, clean-stack@~1.3.0: + version "1.3.0" + resolved "https://registry.yarnpkg.com/clean-stack/-/clean-stack-1.3.0.tgz#9e821501ae979986c46b1d66d2d432db2fd4ae31" + integrity sha1-noIVAa6XmYbEax1m0tQy2y/UrjE= + +cli-boxes@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/cli-boxes/-/cli-boxes-1.0.0.tgz#4fa917c3e59c94a004cd61f8ee509da651687143" + integrity sha1-T6kXw+WclKAEzWH47lCdplFocUM= + +clipboardy@1.2.2: + version "1.2.2" + resolved "https://registry.yarnpkg.com/clipboardy/-/clipboardy-1.2.2.tgz#2ce320b9ed9be1514f79878b53ff9765420903e2" + integrity sha512-16KrBOV7bHmHdxcQiCvfUFYVFyEah4FI8vYT1Fr7CGSA4G+xBWMEfUEQJS1hxeHGtI9ju1Bzs9uXSbj5HZKArw== + dependencies: + arch "^2.1.0" + execa "^0.8.0" + +clone-response@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/clone-response/-/clone-response-1.0.2.tgz#d1dc973920314df67fbeb94223b4ee350239e96b" + integrity sha1-0dyXOSAxTfZ/vrlCI7TuNQI56Ws= + dependencies: + mimic-response "^1.0.0" + +code-point-at@^1.0.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/code-point-at/-/code-point-at-1.1.0.tgz#0d070b4d043a5bea33a2f1a40e2edb3d9a4ccf77" + integrity sha1-DQcLTQQ6W+ozovGkDi7bPZpMz3c= + +collapse-white-space@^1.0.3: + version "1.0.4" + resolved "https://registry.yarnpkg.com/collapse-white-space/-/collapse-white-space-1.0.4.tgz#ce05cf49e54c3277ae573036a26851ba430a0091" + integrity sha512-YfQ1tAUZm561vpYD+5eyWN8+UsceQbSrqqlc/6zDY2gtAE+uZLSdkkovhnGpmCThsvKBFakq4EdY/FF93E8XIw== + +collection-visit@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/collection-visit/-/collection-visit-1.0.0.tgz#4bc0373c164bc3291b4d368c829cf1a80a59dca0" + integrity sha1-S8A3PBZLwykbTTaMgpzxqApZ3KA= + dependencies: + map-visit "^1.0.0" + object-visit "^1.0.0" + +color-convert@^1.9.0: + version "1.9.3" + resolved "https://registry.yarnpkg.com/color-convert/-/color-convert-1.9.3.tgz#bb71850690e1f136567de629d2d5471deda4c1e8" + integrity sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg== + dependencies: + color-name "1.1.3" + +color-name@1.1.3: + version "1.1.3" + resolved "https://registry.yarnpkg.com/color-name/-/color-name-1.1.3.tgz#a7d0558bd89c42f795dd42328f740831ca53bc25" + integrity sha1-p9BVi9icQveV3UIyj3QIMcpTvCU= + +combined-stream@^1.0.6, combined-stream@~1.0.6: + version "1.0.7" + resolved "https://registry.yarnpkg.com/combined-stream/-/combined-stream-1.0.7.tgz#2d1d24317afb8abe95d6d2c0b07b57813539d828" + integrity sha512-brWl9y6vOB1xYPZcpZde3N9zDByXTosAeMDo4p1wzo6UMOX4vumB+TP1RZ76sfE6Md68Q0NJSrE/gbezd4Ul+w== + dependencies: + delayed-stream "~1.0.0" + +component-emitter@^1.2.1: + version "1.2.1" + resolved "https://registry.yarnpkg.com/component-emitter/-/component-emitter-1.2.1.tgz#137918d6d78283f7df7a6b7c5a63e140e69425e6" + integrity sha1-E3kY1teCg/ffemt8WmPhQOaUJeY= + +concat-map@0.0.1: + version "0.0.1" + resolved "https://registry.yarnpkg.com/concat-map/-/concat-map-0.0.1.tgz#d8a96bd77fd68df7793a73036a3ba0d5405d477b" + integrity sha1-2Klr13/Wjfd5OnMDajug1UBdR3s= + +condense-whitespace@~1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/condense-whitespace/-/condense-whitespace-1.0.0.tgz#8376d98ef028e6cb2cd2468e28ce42c5c65ab1a9" + integrity sha1-g3bZjvAo5sss0kaOKM5CxcZasak= + +configstore@^3.0.0: + version "3.1.2" + resolved "https://registry.yarnpkg.com/configstore/-/configstore-3.1.2.tgz#c6f25defaeef26df12dd33414b001fe81a543f8f" + integrity sha512-vtv5HtGjcYUgFrXc6Kx747B83MRRVS5R1VTEQoXvuP+kMI+if6uywV0nDGoiydJRy4yk7h9od5Og0kxx4zUXmw== + dependencies: + dot-prop "^4.1.0" + graceful-fs "^4.1.2" + make-dir "^1.0.0" + unique-string "^1.0.0" + write-file-atomic "^2.0.0" + xdg-basedir "^3.0.0" + +console-control-strings@^1.0.0, console-control-strings@~1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/console-control-strings/-/console-control-strings-1.1.0.tgz#3d7cf4464db6446ea644bf4b39507f9851008e8e" + integrity sha1-PXz0Rk22RG6mRL9LOVB/mFEAjo4= + +content-disposition@0.5.2: + version "0.5.2" + resolved "https://registry.yarnpkg.com/content-disposition/-/content-disposition-0.5.2.tgz#0cf68bb9ddf5f2be7961c3a85178cb85dba78cb4" + integrity sha1-DPaLud318r55YcOoUXjLhdunjLQ= + +content-type@~1.0.4: + version "1.0.4" + resolved "https://registry.yarnpkg.com/content-type/-/content-type-1.0.4.tgz#e138cc75e040c727b1966fe5e5f8c9aee256fe3b" + integrity sha512-hIP3EEPs8tB9AT1L+NUqtwOAps4mk2Zob89MWXMHjHWg9milF/j4osnnQLXBCBFBk/tvIG/tUc9mOUJiPBhPXA== + +cookie-signature@1.0.6: + version "1.0.6" + resolved "https://registry.yarnpkg.com/cookie-signature/-/cookie-signature-1.0.6.tgz#e303a882b342cc3ee8ca513a79999734dab3ae2c" + integrity sha1-4wOogrNCzD7oylE6eZmXNNqzriw= + +cookie@0.3.1: + version "0.3.1" + resolved "https://registry.yarnpkg.com/cookie/-/cookie-0.3.1.tgz#e7e0a1f9ef43b4c8ba925c5c5a96e806d16873bb" + integrity sha1-5+Ch+e9DtMi6klxcWpboBtFoc7s= + +copy-descriptor@^0.1.0: + version "0.1.1" + resolved "https://registry.yarnpkg.com/copy-descriptor/-/copy-descriptor-0.1.1.tgz#676f6eb3c39997c2ee1ac3a924fd6124748f578d" + integrity sha1-Z29us8OZl8LuGsOpJP1hJHSPV40= + +core-js@^3.0.0-beta.3: + version "3.0.0-beta.6" + resolved "https://registry.yarnpkg.com/core-js/-/core-js-3.0.0-beta.6.tgz#f1ee6c8bd9c1941f992fda01f886b3b40ceb1510" + integrity sha512-06k0SnRTdYGlTNek5vAqfxbQjTtMM0zC2xJ79T1QM5UkZS0JQegrOgDiGh43n1QICnOe5+bcvS0zOGTm2C7rBA== + +core-util-is@1.0.2, core-util-is@~1.0.0: + version "1.0.2" + resolved "https://registry.yarnpkg.com/core-util-is/-/core-util-is-1.0.2.tgz#b5fd54220aa2bc5ab57aab7140c940754503c1a7" + integrity sha1-tf1UIgqivFq1eqtxQMlAdUUDwac= + +cors@^2.8.4: + version "2.8.5" + resolved "https://registry.yarnpkg.com/cors/-/cors-2.8.5.tgz#eac11da51592dd86b9f06f6e7ac293b3df875d29" + integrity sha512-KIHbLJqu73RGr/hnbrO9uBeixNGuvSQjul/jdFvS/KFSIH1hWVd1ng7zOHx+YrEfInLG7q4n6GHQ9cDtxv/P6g== + dependencies: + object-assign "^4" + vary "^1" + +create-error-class@^3.0.0: + version "3.0.2" + resolved "https://registry.yarnpkg.com/create-error-class/-/create-error-class-3.0.2.tgz#06be7abef947a3f14a30fd610671d401bca8b7b6" + integrity sha1-Br56vvlHo/FKMP1hBnHUAbyot7Y= + dependencies: + capture-stack-trace "^1.0.0" + +cross-spawn@^5.0.1: + version "5.1.0" + resolved "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-5.1.0.tgz#e8bd0efee58fcff6f8f94510a0a554bbfa235449" + integrity sha1-6L0O/uWPz/b4+UUQoKVUu/ojVEk= + dependencies: + lru-cache "^4.0.1" + shebang-command "^1.2.0" + which "^1.2.9" + +crypto-random-string@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/crypto-random-string/-/crypto-random-string-1.0.0.tgz#a230f64f568310e1498009940790ec99545bca7e" + integrity sha1-ojD2T1aDEOFJgAmUB5DsmVRbyn4= + +css-select@~1.2.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/css-select/-/css-select-1.2.0.tgz#2b3a110539c5355f1cd8d314623e870b121ec858" + integrity sha1-KzoRBTnFNV8c2NMUYj6HCxIeyFg= + dependencies: + boolbase "~1.0.0" + css-what "2.1" + domutils "1.5.1" + nth-check "~1.0.1" + +css-what@2.1: + version "2.1.2" + resolved "https://registry.yarnpkg.com/css-what/-/css-what-2.1.2.tgz#c0876d9d0480927d7d4920dcd72af3595649554d" + integrity sha512-wan8dMWQ0GUeF7DGEPVjhHemVW/vy6xUYmFzRY8RYqgA0JtXC9rJmbScBjqSu6dg9q0lwPQy6ZAmJVr3PPTvqQ== + +dashdash@^1.12.0: + version "1.14.1" + resolved "https://registry.yarnpkg.com/dashdash/-/dashdash-1.14.1.tgz#853cfa0f7cbe2fed5de20326b8dd581035f6e2f0" + integrity sha1-hTz6D3y+L+1d4gMmuN1YEDX24vA= + dependencies: + assert-plus "^1.0.0" + +debug@2.6.9, debug@^2.1.2, debug@^2.2.0, debug@^2.3.3: + version "2.6.9" + resolved "https://registry.yarnpkg.com/debug/-/debug-2.6.9.tgz#5d128515df134ff327e90a4c93f4e077a536341f" + integrity sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA== + dependencies: + ms "2.0.0" + +debug@^3.1.0: + version "3.2.6" + resolved "https://registry.yarnpkg.com/debug/-/debug-3.2.6.tgz#e83d17de16d8a7efb7717edbe5fb10135eee629b" + integrity sha512-mel+jf7nrtEl5Pn1Qx46zARXKDpBbvzezse7p7LqINmdoIk8PYP5SySaxEmYv6TZ0JyEKA1hsCId6DIhgITtWQ== + dependencies: + ms "^2.1.1" + +decode-uri-component@^0.2.0: + version "0.2.0" + resolved "https://registry.yarnpkg.com/decode-uri-component/-/decode-uri-component-0.2.0.tgz#eb3913333458775cb84cd1a1fae062106bb87545" + integrity sha1-6zkTMzRYd1y4TNGh+uBiEGu4dUU= + +decompress-response@^3.3.0: + version "3.3.0" + resolved "https://registry.yarnpkg.com/decompress-response/-/decompress-response-3.3.0.tgz#80a4dd323748384bfa248083622aedec982adff3" + integrity sha1-gKTdMjdIOEv6JICDYirt7Jgq3/M= + dependencies: + mimic-response "^1.0.0" + +deep-extend@^0.6.0: + version "0.6.0" + resolved "https://registry.yarnpkg.com/deep-extend/-/deep-extend-0.6.0.tgz#c4fa7c95404a17a9c3e8ca7e1537312b736330ac" + integrity sha512-LOHxIOaPYdHlJRtCQfDIVZtfw/ufM8+rVj649RIHzcm/vGwQRXFt6OPqIFWsm2XEMrNIEtWR64sY1LEKD2vAOA== + +defer-to-connect@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/defer-to-connect/-/defer-to-connect-1.0.1.tgz#41ec1dd670dc4c6dcbe7e54c9e44d784d025fe63" + integrity sha512-2e0FJesseUqQj671gvZWfUyxpnFx/5n4xleamlpCD3U6Fm5dh5qzmmLNxNhtmHF06+SYVHH8QU6FACffYTnj0Q== + +define-properties@^1.1.2: + version "1.1.3" + resolved "https://registry.yarnpkg.com/define-properties/-/define-properties-1.1.3.tgz#cf88da6cbee26fe6db7094f61d870cbd84cee9f1" + integrity sha512-3MqfYKj2lLzdMSf8ZIZE/V+Zuy+BgD6f164e8K2w7dgnpKArBDerGYpM46IYYcjnkdPNMjPk9A6VFB8+3SKlXQ== + dependencies: + object-keys "^1.0.12" + +define-property@^0.2.5: + version "0.2.5" + resolved "https://registry.yarnpkg.com/define-property/-/define-property-0.2.5.tgz#c35b1ef918ec3c990f9a5bc57be04aacec5c8116" + integrity sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY= + dependencies: + is-descriptor "^0.1.0" + +define-property@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/define-property/-/define-property-1.0.0.tgz#769ebaaf3f4a63aad3af9e8d304c9bbe79bfb0e6" + integrity sha1-dp66rz9KY6rTr56NMEybvnm/sOY= + dependencies: + is-descriptor "^1.0.0" + +define-property@^2.0.2: + version "2.0.2" + resolved "https://registry.yarnpkg.com/define-property/-/define-property-2.0.2.tgz#d459689e8d654ba77e02a817f8710d702cb16e9d" + integrity sha512-jwK2UV4cnPpbcG7+VRARKTZPUWowwXA8bzH5NP6ud0oeAxyYPuGZUAC7hMugpCdz4BeSZl2Dl9k66CHJ/46ZYQ== + dependencies: + is-descriptor "^1.0.2" + isobject "^3.0.1" + +delayed-stream@~1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/delayed-stream/-/delayed-stream-1.0.0.tgz#df3ae199acadfb7d440aaae0b29e2272b24ec619" + integrity sha1-3zrhmayt+31ECqrgsp4icrJOxhk= + +delegates@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/delegates/-/delegates-1.0.0.tgz#84c6e159b81904fdca59a0ef44cd870d31250f9a" + integrity sha1-hMbhWbgZBP3KWaDvRM2HDTElD5o= + +depd@~1.1.2: + version "1.1.2" + resolved "https://registry.yarnpkg.com/depd/-/depd-1.1.2.tgz#9bcd52e14c097763e749b274c4346ed2e560b5a9" + integrity sha1-m81S4UwJd2PnSbJ0xDRu0uVgtak= + +deprecated-decorator@^0.1.6: + version "0.1.6" + resolved "https://registry.yarnpkg.com/deprecated-decorator/-/deprecated-decorator-0.1.6.tgz#00966317b7a12fe92f3cc831f7583af329b86c37" + integrity sha1-AJZjF7ehL+kvPMgx91g68ym4bDc= + +destroy@~1.0.4: + version "1.0.4" + resolved "https://registry.yarnpkg.com/destroy/-/destroy-1.0.4.tgz#978857442c44749e4206613e37946205826abd80" + integrity sha1-l4hXRCxEdJ5CBmE+N5RiBYJqvYA= + +detect-libc@^1.0.2: + version "1.0.3" + resolved "https://registry.yarnpkg.com/detect-libc/-/detect-libc-1.0.3.tgz#fa137c4bd698edf55cd5cd02ac559f91a4c4ba9b" + integrity sha1-+hN8S9aY7fVc1c0CrFWfkaTEups= + +dicer@0.2.5: + version "0.2.5" + resolved "https://registry.yarnpkg.com/dicer/-/dicer-0.2.5.tgz#5996c086bb33218c812c090bddc09cd12facb70f" + integrity sha1-WZbAhrszIYyBLAkL3cCc0S+stw8= + dependencies: + readable-stream "1.1.x" + streamsearch "0.1.2" + +dom-serializer@0, dom-serializer@~0.1.0: + version "0.1.0" + resolved "https://registry.yarnpkg.com/dom-serializer/-/dom-serializer-0.1.0.tgz#073c697546ce0780ce23be4a28e293e40bc30c82" + integrity sha1-BzxpdUbOB4DOI75KKOKT5AvDDII= + dependencies: + domelementtype "~1.1.1" + entities "~1.1.1" + +domelementtype@1, domelementtype@^1.3.0: + version "1.3.1" + resolved "https://registry.yarnpkg.com/domelementtype/-/domelementtype-1.3.1.tgz#d048c44b37b0d10a7f2a3d5fee3f4333d790481f" + integrity sha512-BSKB+TSpMpFI/HOxCNr1O8aMOTZ8hT3pM3GQ0w/mWRmkhEDSFJkkyzz4XQsBV44BChwGkrDfMyjVD0eA2aFV3w== + +domelementtype@~1.1.1: + version "1.1.3" + resolved "https://registry.yarnpkg.com/domelementtype/-/domelementtype-1.1.3.tgz#bd28773e2642881aec51544924299c5cd822185b" + integrity sha1-vSh3PiZCiBrsUVRJJCmcXNgiGFs= + +domhandler@^2.3.0: + version "2.4.2" + resolved "https://registry.yarnpkg.com/domhandler/-/domhandler-2.4.2.tgz#8805097e933d65e85546f726d60f5eb88b44f803" + integrity sha512-JiK04h0Ht5u/80fdLMCEmV4zkNh2BcoMFBmZ/91WtYZ8qVXSKjiw7fXMgFPnHcSZgOo3XdinHvmnDUeMf5R4wA== + dependencies: + domelementtype "1" + +domutils@1.5.1: + version "1.5.1" + resolved "https://registry.yarnpkg.com/domutils/-/domutils-1.5.1.tgz#dcd8488a26f563d61079e48c9f7b7e32373682cf" + integrity sha1-3NhIiib1Y9YQeeSMn3t+Mjc2gs8= + dependencies: + dom-serializer "0" + domelementtype "1" + +domutils@^1.5.1: + version "1.7.0" + resolved "https://registry.yarnpkg.com/domutils/-/domutils-1.7.0.tgz#56ea341e834e06e6748af7a1cb25da67ea9f8c2a" + integrity sha512-Lgd2XcJ/NjEw+7tFvfKxOzCYKZsdct5lczQ2ZaQY8Djz7pfAD3Gbp8ySJWtreII/vDlMVmxwa6pHmdxIYgttDg== + dependencies: + dom-serializer "0" + domelementtype "1" + +dot-prop@^4.1.0: + version "4.2.0" + resolved "https://registry.yarnpkg.com/dot-prop/-/dot-prop-4.2.0.tgz#1f19e0c2e1aa0e32797c49799f2837ac6af69c57" + integrity sha512-tUMXrxlExSW6U2EXiiKGSBVdYgtV8qlHL+C10TsW4PURY/ic+eaysnSkwB4kA/mBlCyy/IKDJ+Lc3wbWeaXtuQ== + dependencies: + is-obj "^1.0.0" + +duplexer3@^0.1.4: + version "0.1.4" + resolved "https://registry.yarnpkg.com/duplexer3/-/duplexer3-0.1.4.tgz#ee01dd1cac0ed3cbc7fdbea37dc0a8f1ce002ce2" + integrity sha1-7gHdHKwO08vH/b6jfcCo8c4ALOI= + +ecc-jsbn@~0.1.1: + version "0.1.2" + resolved "https://registry.yarnpkg.com/ecc-jsbn/-/ecc-jsbn-0.1.2.tgz#3a83a904e54353287874c564b7549386849a98c9" + integrity sha1-OoOpBOVDUyh4dMVkt1SThoSamMk= + dependencies: + jsbn "~0.1.0" + safer-buffer "^2.1.0" + +ee-first@1.1.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/ee-first/-/ee-first-1.1.1.tgz#590c61156b0ae2f4f0255732a158b266bc56b21d" + integrity sha1-WQxhFWsK4vTwJVcyoViyZrxWsh0= + +encodeurl@~1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/encodeurl/-/encodeurl-1.0.2.tgz#ad3ff4c86ec2d029322f5a02c3a9a606c95b3f59" + integrity sha1-rT/0yG7C0CkyL1oCw6mmBslbP1k= + +end-of-stream@^1.1.0: + version "1.4.1" + resolved "https://registry.yarnpkg.com/end-of-stream/-/end-of-stream-1.4.1.tgz#ed29634d19baba463b6ce6b80a37213eab71ec43" + integrity sha512-1MkrZNvWTKCaigbn+W15elq2BB/L22nqrSY5DKlo3X6+vclJm8Bb5djXJBmEX6fS3+zCh/F4VBK5Z2KxJt4s2Q== + dependencies: + once "^1.4.0" + +entities@^1.1.1, entities@~1.1.1: + version "1.1.2" + resolved "https://registry.yarnpkg.com/entities/-/entities-1.1.2.tgz#bdfa735299664dfafd34529ed4f8522a275fea56" + integrity sha512-f2LZMYl1Fzu7YSBKg+RoROelpOaNrcGmE9AZubeDfrCEia483oW4MI4VyFd5VNHIgQ/7qm1I0wUHK1eJnn2y2w== + +es-abstract@^1.5.1: + version "1.12.0" + resolved "https://registry.yarnpkg.com/es-abstract/-/es-abstract-1.12.0.tgz#9dbbdd27c6856f0001421ca18782d786bf8a6165" + integrity sha512-C8Fx/0jFmV5IPoMOFPA9P9G5NtqW+4cOPit3MIuvR2t7Ag2K15EJTpxnHAYTzL+aYQJIESYeXZmDBfOBE1HcpA== + dependencies: + es-to-primitive "^1.1.1" + function-bind "^1.1.1" + has "^1.0.1" + is-callable "^1.1.3" + is-regex "^1.0.4" + +es-to-primitive@^1.1.1: + version "1.2.0" + resolved "https://registry.yarnpkg.com/es-to-primitive/-/es-to-primitive-1.2.0.tgz#edf72478033456e8dda8ef09e00ad9650707f377" + integrity sha512-qZryBOJjV//LaxLTV6UC//WewneB3LcXOL9NP++ozKVXsIIIpm/2c13UDiD9Jp2eThsecw9m3jPqDwTyobcdbg== + dependencies: + is-callable "^1.1.4" + is-date-object "^1.0.1" + is-symbol "^1.0.2" + +escape-html@~1.0.3: + version "1.0.3" + resolved "https://registry.yarnpkg.com/escape-html/-/escape-html-1.0.3.tgz#0258eae4d3d0c0974de1c169188ef0051d1d1988" + integrity sha1-Aljq5NPQwJdN4cFpGI7wBR0dGYg= + +escape-string-regexp@^1.0.5: + version "1.0.5" + resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz#1b61c0562190a8dff6ae3bb2cf0200ca130b86d4" + integrity sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ= + +etag@~1.8.1: + version "1.8.1" + resolved "https://registry.yarnpkg.com/etag/-/etag-1.8.1.tgz#41ae2eeb65efa62268aebfea83ac7d79299b0887" + integrity sha1-Qa4u62XvpiJorr/qg6x9eSmbCIc= + +eventemitter3@^3.1.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/eventemitter3/-/eventemitter3-3.1.0.tgz#090b4d6cdbd645ed10bf750d4b5407942d7ba163" + integrity sha512-ivIvhpq/Y0uSjcHDcOIccjmYjGLcP09MFGE7ysAwkAvkXfpZlC985pH2/ui64DKazbTW/4kN3yqozUxlXzI6cA== + +execa@^0.7.0: + version "0.7.0" + resolved "https://registry.yarnpkg.com/execa/-/execa-0.7.0.tgz#944becd34cc41ee32a63a9faf27ad5a65fc59777" + integrity sha1-lEvs00zEHuMqY6n68nrVpl/Fl3c= + dependencies: + cross-spawn "^5.0.1" + get-stream "^3.0.0" + is-stream "^1.1.0" + npm-run-path "^2.0.0" + p-finally "^1.0.0" + signal-exit "^3.0.0" + strip-eof "^1.0.0" + +execa@^0.8.0: + version "0.8.0" + resolved "https://registry.yarnpkg.com/execa/-/execa-0.8.0.tgz#d8d76bbc1b55217ed190fd6dd49d3c774ecfc8da" + integrity sha1-2NdrvBtVIX7RkP1t1J08d07PyNo= + dependencies: + cross-spawn "^5.0.1" + get-stream "^3.0.0" + is-stream "^1.1.0" + npm-run-path "^2.0.0" + p-finally "^1.0.0" + signal-exit "^3.0.0" + strip-eof "^1.0.0" + +expand-brackets@^2.1.4: + version "2.1.4" + resolved "https://registry.yarnpkg.com/expand-brackets/-/expand-brackets-2.1.4.tgz#b77735e315ce30f6b6eff0f83b04151a22449622" + integrity sha1-t3c14xXOMPa27/D4OwQVGiJEliI= + dependencies: + debug "^2.3.3" + define-property "^0.2.5" + extend-shallow "^2.0.1" + posix-character-classes "^0.1.0" + regex-not "^1.0.0" + snapdragon "^0.8.1" + to-regex "^3.0.1" + +express@^4.0.0: + version "4.16.4" + resolved "https://registry.yarnpkg.com/express/-/express-4.16.4.tgz#fddef61926109e24c515ea97fd2f1bdbf62df12e" + integrity sha512-j12Uuyb4FMrd/qQAm6uCHAkPtO8FDTRJZBDd5D2KOL2eLaz1yUNdUB/NOIyq0iU4q4cFarsUCrnFDPBcnksuOg== + dependencies: + accepts "~1.3.5" + array-flatten "1.1.1" + body-parser "1.18.3" + content-disposition "0.5.2" + content-type "~1.0.4" + cookie "0.3.1" + cookie-signature "1.0.6" + debug "2.6.9" + depd "~1.1.2" + encodeurl "~1.0.2" + escape-html "~1.0.3" + etag "~1.8.1" + finalhandler "1.1.1" + fresh "0.5.2" + merge-descriptors "1.0.1" + methods "~1.1.2" + on-finished "~2.3.0" + parseurl "~1.3.2" + path-to-regexp "0.1.7" + proxy-addr "~2.0.4" + qs "6.5.2" + range-parser "~1.2.0" + safe-buffer "5.1.2" + send "0.16.2" + serve-static "1.13.2" + setprototypeof "1.1.0" + statuses "~1.4.0" + type-is "~1.6.16" + utils-merge "1.0.1" + vary "~1.1.2" + +extend-shallow@^2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/extend-shallow/-/extend-shallow-2.0.1.tgz#51af7d614ad9a9f610ea1bafbb989d6b1c56890f" + integrity sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8= + dependencies: + is-extendable "^0.1.0" + +extend-shallow@^3.0.0, extend-shallow@^3.0.2: + version "3.0.2" + resolved "https://registry.yarnpkg.com/extend-shallow/-/extend-shallow-3.0.2.tgz#26a71aaf073b39fb2127172746131c2704028db8" + integrity sha1-Jqcarwc7OfshJxcnRhMcJwQCjbg= + dependencies: + assign-symbols "^1.0.0" + is-extendable "^1.0.1" + +extend@~3.0.2: + version "3.0.2" + resolved "https://registry.yarnpkg.com/extend/-/extend-3.0.2.tgz#f8b1136b4071fbd8eb140aff858b1019ec2915fa" + integrity sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g== + +extglob@^2.0.4: + version "2.0.4" + resolved "https://registry.yarnpkg.com/extglob/-/extglob-2.0.4.tgz#ad00fe4dc612a9232e8718711dc5cb5ab0285543" + integrity sha512-Nmb6QXkELsuBr24CJSkilo6UHHgbekK5UiZgfE6UHD3Eb27YC6oD+bhcT+tJ6cl8dmsgdQxnWlcry8ksBIBLpw== + dependencies: + array-unique "^0.3.2" + define-property "^1.0.0" + expand-brackets "^2.1.4" + extend-shallow "^2.0.1" + fragment-cache "^0.2.1" + regex-not "^1.0.0" + snapdragon "^0.8.1" + to-regex "^3.0.1" + +extsprintf@1.3.0: + version "1.3.0" + resolved "https://registry.yarnpkg.com/extsprintf/-/extsprintf-1.3.0.tgz#96918440e3041a7a414f8c52e3c574eb3c3e1e05" + integrity sha1-lpGEQOMEGnpBT4xS48V06zw+HgU= + +extsprintf@^1.2.0: + version "1.4.0" + resolved "https://registry.yarnpkg.com/extsprintf/-/extsprintf-1.4.0.tgz#e2689f8f356fad62cca65a3a91c5df5f9551692f" + integrity sha1-4mifjzVvrWLMplo6kcXfX5VRaS8= + +fast-deep-equal@^2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/fast-deep-equal/-/fast-deep-equal-2.0.1.tgz#7b05218ddf9667bf7f370bf7fdb2cb15fdd0aa49" + integrity sha1-ewUhjd+WZ79/Nwv3/bLLFf3Qqkk= + +fast-json-stable-stringify@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/fast-json-stable-stringify/-/fast-json-stable-stringify-2.0.0.tgz#d5142c0caee6b1189f87d3a76111064f86c8bbf2" + integrity sha1-1RQsDK7msRifh9OnYREGT4bIu/I= + +file-extension@~4.0.5: + version "4.0.5" + resolved "https://registry.yarnpkg.com/file-extension/-/file-extension-4.0.5.tgz#ae6cef34c28e7313a92baa4aa955755cacdf0ce3" + integrity sha512-l0rOL3aKkoi6ea7MNZe6OHgqYYpn48Qfflr8Pe9G9JPPTx5A+sfboK91ZufzIs59/lPqh351l0eb6iKU9J5oGg== + +fill-range@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/fill-range/-/fill-range-4.0.0.tgz#d544811d428f98eb06a63dc402d2403c328c38f7" + integrity sha1-1USBHUKPmOsGpj3EAtJAPDKMOPc= + dependencies: + extend-shallow "^2.0.1" + is-number "^3.0.0" + repeat-string "^1.6.1" + to-regex-range "^2.1.0" + +finalhandler@1.1.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/finalhandler/-/finalhandler-1.1.1.tgz#eebf4ed840079c83f4249038c9d703008301b105" + integrity sha512-Y1GUDo39ez4aHAw7MysnUD5JzYX+WaIj8I57kO3aEPT1fFRL4sr7mjei97FgnwhAyyzRYmQZaTHb2+9uZ1dPtg== + dependencies: + debug "2.6.9" + encodeurl "~1.0.2" + escape-html "~1.0.3" + on-finished "~2.3.0" + parseurl "~1.3.2" + statuses "~1.4.0" + unpipe "~1.0.0" + +for-in@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/for-in/-/for-in-1.0.2.tgz#81068d295a8142ec0ac726c6e2200c30fb6d5e80" + integrity sha1-gQaNKVqBQuwKxybG4iAMMPttXoA= + +forever-agent@~0.6.1: + version "0.6.1" + resolved "https://registry.yarnpkg.com/forever-agent/-/forever-agent-0.6.1.tgz#fbc71f0c41adeb37f96c577ad1ed42d8fdacca91" + integrity sha1-+8cfDEGt6zf5bFd60e1C2P2sypE= + +form-data@~2.3.2: + version "2.3.3" + resolved "https://registry.yarnpkg.com/form-data/-/form-data-2.3.3.tgz#dcce52c05f644f298c6a7ab936bd724ceffbf3a6" + integrity sha512-1lLKB2Mu3aGP1Q/2eCOx0fNbRMe7XdwktwOruhfqqd0rIJWwN4Dh+E3hrPSlDCXnSR7UtZ1N38rVXm+6+MEhJQ== + dependencies: + asynckit "^0.4.0" + combined-stream "^1.0.6" + mime-types "^2.1.12" + +forwarded@~0.1.2: + version "0.1.2" + resolved "https://registry.yarnpkg.com/forwarded/-/forwarded-0.1.2.tgz#98c23dab1175657b8c0573e8ceccd91b0ff18c84" + integrity sha1-mMI9qxF1ZXuMBXPozszZGw/xjIQ= + +fragment-cache@^0.2.1: + version "0.2.1" + resolved "https://registry.yarnpkg.com/fragment-cache/-/fragment-cache-0.2.1.tgz#4290fad27f13e89be7f33799c6bc5a0abfff0d19" + integrity sha1-QpD60n8T6Jvn8zeZxrxaCr//DRk= + dependencies: + map-cache "^0.2.2" + +franc@~4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/franc/-/franc-4.0.0.tgz#365951bc787b92ffbb1c63c1c492d6b76cbd3a56" + integrity sha512-4991aLWY5sLg2fsyiOPflUjye5XBKyUO4V9O4FTBbQ7xKugvnmP9x3m3LlrpD7kq1BebMThNkEXnK52HaU3ZkQ== + dependencies: + trigram-utils "^1.0.0" + +fresh@0.5.2: + version "0.5.2" + resolved "https://registry.yarnpkg.com/fresh/-/fresh-0.5.2.tgz#3d8cadd90d976569fa835ab1f8e4b23a105605a7" + integrity sha1-PYyt2Q2XZWn6g1qx+OSyOhBWBac= + +fs-capacitor@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/fs-capacitor/-/fs-capacitor-1.0.1.tgz#ff9dbfa14dfaf4472537720f19c3088ed9278df0" + integrity sha512-XdZK0Q78WP29Vm3FGgJRhRhrBm51PagovzWtW2kJ3Q6cYJbGtZqWSGTSPwvtEkyjIirFd7b8Yes/dpOYjt4RRQ== + +fs-minipass@^1.2.5: + version "1.2.5" + resolved "https://registry.yarnpkg.com/fs-minipass/-/fs-minipass-1.2.5.tgz#06c277218454ec288df77ada54a03b8702aacb9d" + integrity sha512-JhBl0skXjUPCFH7x6x61gQxrKyXsxB5gcgePLZCwfyCGGsTISMoIeObbrvVeP6Xmyaudw4TT43qV2Gz+iyd2oQ== + dependencies: + minipass "^2.2.1" + +fs.realpath@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/fs.realpath/-/fs.realpath-1.0.0.tgz#1504ad2523158caa40db4a2787cb01411994ea4f" + integrity sha1-FQStJSMVjKpA20onh8sBQRmU6k8= + +fsevents@^1.2.2: + version "1.2.4" + resolved "https://registry.yarnpkg.com/fsevents/-/fsevents-1.2.4.tgz#f41dcb1af2582af3692da36fc55cbd8e1041c426" + integrity sha512-z8H8/diyk76B7q5wg+Ud0+CqzcAF3mBBI/bA5ne5zrRUUIvNkJY//D3BqyH571KuAC4Nr7Rw7CjWX4r0y9DvNg== + dependencies: + nan "^2.9.2" + node-pre-gyp "^0.10.0" + +function-bind@^1.1.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/function-bind/-/function-bind-1.1.1.tgz#a56899d3ea3c9bab874bb9773b7c5ede92f4895d" + integrity sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A== + +gauge@~2.7.3: + version "2.7.4" + resolved "https://registry.yarnpkg.com/gauge/-/gauge-2.7.4.tgz#2c03405c7538c39d7eb37b317022e325fb018bf7" + integrity sha1-LANAXHU4w51+s3sxcCLjJfsBi/c= + dependencies: + aproba "^1.0.3" + console-control-strings "^1.0.0" + has-unicode "^2.0.0" + object-assign "^4.1.0" + signal-exit "^3.0.0" + string-width "^1.0.1" + strip-ansi "^3.0.1" + wide-align "^1.1.0" + +get-src@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/get-src/-/get-src-1.0.1.tgz#ca11dbe4a93c7f3aa85cec95fcb0b2dfaa9539ee" + integrity sha1-yhHb5Kk8fzqoXOyV/LCy36qVOe4= + +get-stream@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/get-stream/-/get-stream-3.0.0.tgz#8e943d1358dc37555054ecbe2edb05aa174ede14" + integrity sha1-jpQ9E1jcN1VQVOy+LtsFqhdO3hQ= + +get-stream@^4.0.0, get-stream@^4.1.0: + version "4.1.0" + resolved "https://registry.yarnpkg.com/get-stream/-/get-stream-4.1.0.tgz#c1b255575f3dc21d59bfc79cd3d2b46b1c3a54b5" + integrity sha512-GMat4EJ5161kIy2HevLlr4luNjBgvmj413KaQA7jt4V8B4RDsfpHk7WQ9GVqfYyyx8OS/L66Kox+rJRNklLK7w== + dependencies: + pump "^3.0.0" + +get-value@^2.0.3, get-value@^2.0.6: + version "2.0.6" + resolved "https://registry.yarnpkg.com/get-value/-/get-value-2.0.6.tgz#dc15ca1c672387ca76bd37ac0a395ba2042a2c28" + integrity sha1-3BXKHGcjh8p2vTesCjlbogQqLCg= + +get-video-id@~3.1.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/get-video-id/-/get-video-id-3.1.0.tgz#44f025a99f824f8f54789dd5d0bf55d122531940" + integrity sha512-dWjLwCBtvGB8aP5S91Vs5W01dTaEykY43whz+wSS9G0zkuTmh7FZ1rZ4A5M33vf/8vvHPlMhLreUSdEJ4yW7Dw== + dependencies: + get-src "^1.0.1" + +getpass@^0.1.1: + version "0.1.7" + resolved "https://registry.yarnpkg.com/getpass/-/getpass-0.1.7.tgz#5eff8e3e684d569ae4cb2b1282604e8ba62149fa" + integrity sha1-Xv+OPmhNVprkyysSgmBOi6YhSfo= + dependencies: + assert-plus "^1.0.0" + +glob-parent@^3.1.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/glob-parent/-/glob-parent-3.1.0.tgz#9e6af6299d8d3bd2bd40430832bd113df906c5ae" + integrity sha1-nmr2KZ2NO9K9QEMIMr0RPfkGxa4= + dependencies: + is-glob "^3.1.0" + path-dirname "^1.0.0" + +glob@^7.0.5: + version "7.1.3" + resolved "https://registry.yarnpkg.com/glob/-/glob-7.1.3.tgz#3960832d3f1574108342dafd3a67b332c0969df1" + integrity sha512-vcfuiIxogLV4DlGBHIUOwI0IbrJ8HWPc4MU7HzviGeNho/UJDfi6B5p3sHeWIQ0KGIU0Jpxi5ZHxemQfLkkAwQ== + dependencies: + fs.realpath "^1.0.0" + inflight "^1.0.4" + inherits "2" + minimatch "^3.0.4" + once "^1.3.0" + path-is-absolute "^1.0.0" + +global-dirs@^0.1.0: + version "0.1.1" + resolved "https://registry.yarnpkg.com/global-dirs/-/global-dirs-0.1.1.tgz#b319c0dd4607f353f3be9cca4c72fc148c49f445" + integrity sha1-sxnA3UYH81PzvpzKTHL8FIxJ9EU= + dependencies: + ini "^1.3.4" + +got@^6.7.1: + version "6.7.1" + resolved "https://registry.yarnpkg.com/got/-/got-6.7.1.tgz#240cd05785a9a18e561dc1b44b41c763ef1e8db0" + integrity sha1-JAzQV4WpoY5WHcG0S0HHY+8ejbA= + dependencies: + create-error-class "^3.0.0" + duplexer3 "^0.1.4" + get-stream "^3.0.0" + is-redirect "^1.0.0" + is-retry-allowed "^1.0.0" + is-stream "^1.0.0" + lowercase-keys "^1.0.0" + safe-buffer "^5.0.1" + timed-out "^4.0.0" + unzip-response "^2.0.1" + url-parse-lax "^1.0.0" + +got@^9.3.2, got@^9.5.0, got@~9.5.0: + version "9.5.0" + resolved "https://registry.yarnpkg.com/got/-/got-9.5.0.tgz#6fd0312c6b694c0a11d9119d95fd7daed174eb49" + integrity sha512-N+4kb6i9t1lauJ4NwLVVoFVLxZNa6i+iivtNzCSVw7+bVbTXoq0qXctdd8i9rj3lrI0zDk5NGzcO4bfpEP6Uuw== + dependencies: + "@sindresorhus/is" "^0.14.0" + "@szmarczak/http-timer" "^1.1.0" + cacheable-request "^5.1.0" + decompress-response "^3.3.0" + duplexer3 "^0.1.4" + get-stream "^4.1.0" + lowercase-keys "^1.0.1" + mimic-response "^1.0.1" + p-cancelable "^1.0.0" + to-readable-stream "^1.0.0" + url-parse-lax "^3.0.0" + +graceful-fs@^4.1.11, graceful-fs@^4.1.2: + version "4.1.15" + resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.1.15.tgz#ffb703e1066e8a0eeaa4c8b80ba9253eeefbfb00" + integrity sha512-6uHUhOPEBgQ24HM+r6b/QwWfZq+yiFcipKFrOFiBEnWdy5sdzYoi+pJeQaPI5qOLRFqWmAXUPQNsielzdLoecA== + +graphql-extensions@0.4.0: + version "0.4.0" + resolved "https://registry.yarnpkg.com/graphql-extensions/-/graphql-extensions-0.4.0.tgz#5857c7b7b9f20dbccbfd88730fffa5963b3c61ee" + integrity sha512-8TUgIIUVpXWOcqq9RdmTSHUrhc3a/s+saKv9cCl8TYWHK9vyJIdea7ZaSKHGDthZNcsN+C3LulZYRL3Ah8ukoA== + dependencies: + "@apollographql/apollo-tools" "^0.2.6" + +graphql-extensions@0.4.1: + version "0.4.1" + resolved "https://registry.yarnpkg.com/graphql-extensions/-/graphql-extensions-0.4.1.tgz#92c49a8409ffbfb24559d7661ab60cc90d6086e4" + integrity sha512-Xei4rBxbsTHU6dYiq9y1xxbpRMU3+Os7yD3vXV5W4HbTaxRMizDmu6LAvV4oBEi0ttwICHARQjYTjDTDhHnxrQ== + dependencies: + "@apollographql/apollo-tools" "^0.2.6" + +graphql-subscriptions@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/graphql-subscriptions/-/graphql-subscriptions-1.0.0.tgz#475267694b3bd465af6477dbab4263a3f62702b8" + integrity sha512-+ytmryoHF1LVf58NKEaNPRUzYyXplm120ntxfPcgOBC7TnK7Tv/4VRHeh4FAR9iL+O1bqhZs4nkibxQ+OA5cDQ== + dependencies: + iterall "^1.2.1" + +graphql-tag@^2.9.2: + version "2.10.0" + resolved "https://registry.yarnpkg.com/graphql-tag/-/graphql-tag-2.10.0.tgz#87da024be863e357551b2b8700e496ee2d4353ae" + integrity sha512-9FD6cw976TLLf9WYIUPCaaTpniawIjHWZSwIRZSjrfufJamcXbVVYfN2TWvJYbw0Xf2JjYbl1/f2+wDnBVw3/w== + +graphql-tools@^4.0.0: + version "4.0.3" + resolved "https://registry.yarnpkg.com/graphql-tools/-/graphql-tools-4.0.3.tgz#23b5cb52c519212b1b2e4630a361464396ad264b" + integrity sha512-NNZM0WSnVLX1zIMUxu7SjzLZ4prCp15N5L2T2ro02OVyydZ0fuCnZYRnx/yK9xjGWbZA0Q58yEO//Bv/psJWrg== + dependencies: + apollo-link "^1.2.3" + apollo-utilities "^1.0.1" + deprecated-decorator "^0.1.6" + iterall "^1.1.3" + uuid "^3.1.0" + +graphql-upload@^8.0.2: + version "8.0.2" + resolved "https://registry.yarnpkg.com/graphql-upload/-/graphql-upload-8.0.2.tgz#1c1f116f15b7f8485cf40ff593a21368f0f58856" + integrity sha512-u8a5tKPfJ0rU4MY+B3skabL8pEjMkm3tUzq25KBx6nT0yEWmqUO7Z5tdwvwYLFpkLwew94Gue0ARbZtar3gLTw== + dependencies: + busboy "^0.2.14" + fs-capacitor "^1.0.0" + http-errors "^1.7.1" + object-path "^0.11.4" + +graphql@^14.0.2: + version "14.0.2" + resolved "https://registry.yarnpkg.com/graphql/-/graphql-14.0.2.tgz#7dded337a4c3fd2d075692323384034b357f5650" + integrity sha512-gUC4YYsaiSJT1h40krG3J+USGlwhzNTXSb4IOZljn9ag5Tj+RkoXrWp+Kh7WyE3t1NCfab5kzCuxBIvOMERMXw== + dependencies: + iterall "^1.2.2" + +har-schema@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/har-schema/-/har-schema-2.0.0.tgz#a94c2224ebcac04782a0d9035521f24735b7ec92" + integrity sha1-qUwiJOvKwEeCoNkDVSHyRzW37JI= + +har-validator@~5.1.0: + version "5.1.3" + resolved "https://registry.yarnpkg.com/har-validator/-/har-validator-5.1.3.tgz#1ef89ebd3e4996557675eed9893110dc350fa080" + integrity sha512-sNvOCzEQNr/qrvJgc3UG/kD4QtlHycrzwS+6mfTrrSq97BvaYcPZZI1ZSqGSPR73Cxn4LKTD4PttRwfU7jWq5g== + dependencies: + ajv "^6.5.5" + har-schema "^2.0.0" + +has-flag@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-2.0.0.tgz#e8207af1cc7b30d446cc70b734b5e8be18f88d51" + integrity sha1-6CB68cx7MNRGzHC3NLXovhj4jVE= + +has-flag@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-3.0.0.tgz#b5d454dc2199ae225699f3467e5a07f3b955bafd" + integrity sha1-tdRU3CGZriJWmfNGfloH87lVuv0= + +has-symbols@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/has-symbols/-/has-symbols-1.0.0.tgz#ba1a8f1af2a0fc39650f5c850367704122063b44" + integrity sha1-uhqPGvKg/DllD1yFA2dwQSIGO0Q= + +has-unicode@^2.0.0: + version "2.0.1" + resolved "https://registry.yarnpkg.com/has-unicode/-/has-unicode-2.0.1.tgz#e0e6fe6a28cf51138855e086d1691e771de2a8b9" + integrity sha1-4Ob+aijPUROIVeCG0Wkedx3iqLk= + +has-value@^0.3.1: + version "0.3.1" + resolved "https://registry.yarnpkg.com/has-value/-/has-value-0.3.1.tgz#7b1f58bada62ca827ec0a2078025654845995e1f" + integrity sha1-ex9YutpiyoJ+wKIHgCVlSEWZXh8= + dependencies: + get-value "^2.0.3" + has-values "^0.1.4" + isobject "^2.0.0" + +has-value@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/has-value/-/has-value-1.0.0.tgz#18b281da585b1c5c51def24c930ed29a0be6b177" + integrity sha1-GLKB2lhbHFxR3vJMkw7SmgvmsXc= + dependencies: + get-value "^2.0.6" + has-values "^1.0.0" + isobject "^3.0.0" + +has-values@^0.1.4: + version "0.1.4" + resolved "https://registry.yarnpkg.com/has-values/-/has-values-0.1.4.tgz#6d61de95d91dfca9b9a02089ad384bff8f62b771" + integrity sha1-bWHeldkd/Km5oCCJrThL/49it3E= + +has-values@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/has-values/-/has-values-1.0.0.tgz#95b0b63fec2146619a6fe57fe75628d5a39efe4f" + integrity sha1-lbC2P+whRmGab+V/51Yo1aOe/k8= + dependencies: + is-number "^3.0.0" + kind-of "^4.0.0" + +has@^1.0.1: + version "1.0.3" + resolved "https://registry.yarnpkg.com/has/-/has-1.0.3.tgz#722d7cbfc1f6aa8241f16dd814e011e1f41e8796" + integrity sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw== + dependencies: + function-bind "^1.1.1" + +htmlparser2@^3.10.0, htmlparser2@^3.9.1: + version "3.10.0" + resolved "https://registry.yarnpkg.com/htmlparser2/-/htmlparser2-3.10.0.tgz#5f5e422dcf6119c0d983ed36260ce9ded0bee464" + integrity sha512-J1nEUGv+MkXS0weHNWVKJJ+UrLfePxRWpN3C9bEi9fLxL2+ggW94DQvgYVXsaT30PGwYRIZKNZXuyMhp3Di4bQ== + dependencies: + domelementtype "^1.3.0" + domhandler "^2.3.0" + domutils "^1.5.1" + entities "^1.1.1" + inherits "^2.0.1" + readable-stream "^3.0.6" + +http-cache-semantics@^4.0.0: + version "4.0.1" + resolved "https://registry.yarnpkg.com/http-cache-semantics/-/http-cache-semantics-4.0.1.tgz#6c2ef57e22090b177828708a52eaeae9d1d63e1b" + integrity sha512-OO/9K7uFN30qwAKvslzmCTbimZ/uRjtdN5S50vvWLwUKqFuZj0n96XyCzF5tHRHEO/Q4JYC01hv41gkX06gmHA== + +http-errors@1.6.3, http-errors@~1.6.2, http-errors@~1.6.3: + version "1.6.3" + resolved "https://registry.yarnpkg.com/http-errors/-/http-errors-1.6.3.tgz#8b55680bb4be283a0b5bf4ea2e38580be1d9320d" + integrity sha1-i1VoC7S+KDoLW/TqLjhYC+HZMg0= + dependencies: + depd "~1.1.2" + inherits "2.0.3" + setprototypeof "1.1.0" + statuses ">= 1.4.0 < 2" + +http-errors@^1.7.1: + version "1.7.1" + resolved "https://registry.yarnpkg.com/http-errors/-/http-errors-1.7.1.tgz#6a4ffe5d35188e1c39f872534690585852e1f027" + integrity sha512-jWEUgtZWGSMba9I1N3gc1HmvpBUaNC9vDdA46yScAdp+C5rdEuKWUBLWTQpW9FwSWSbYYs++b6SDCxf9UEJzfw== + dependencies: + depd "~1.1.2" + inherits "2.0.3" + setprototypeof "1.1.0" + statuses ">= 1.5.0 < 2" + toidentifier "1.0.0" + +http-signature@~1.2.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/http-signature/-/http-signature-1.2.0.tgz#9aecd925114772f3d95b65a60abb8f7c18fbace1" + integrity sha1-muzZJRFHcvPZW2WmCruPfBj7rOE= + dependencies: + assert-plus "^1.0.0" + jsprim "^1.2.2" + sshpk "^1.7.0" + +iconv-lite@0.4.23: + version "0.4.23" + resolved "https://registry.yarnpkg.com/iconv-lite/-/iconv-lite-0.4.23.tgz#297871f63be507adcfbfca715d0cd0eed84e9a63" + integrity sha512-neyTUVFtahjf0mB3dZT77u+8O0QB89jFdnBkd5P1JgYPbPaia3gXXOVL2fq8VyU2gMMD7SaN7QukTB/pmXYvDA== + dependencies: + safer-buffer ">= 2.1.2 < 3" + +iconv-lite@^0.4.4: + version "0.4.24" + resolved "https://registry.yarnpkg.com/iconv-lite/-/iconv-lite-0.4.24.tgz#2022b4b25fbddc21d2f524974a474aafe733908b" + integrity sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA== + dependencies: + safer-buffer ">= 2.1.2 < 3" + +ignore-by-default@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/ignore-by-default/-/ignore-by-default-1.0.1.tgz#48ca6d72f6c6a3af00a9ad4ae6876be3889e2b09" + integrity sha1-SMptcvbGo68Aqa1K5odr44ieKwk= + +ignore-walk@^3.0.1: + version "3.0.1" + resolved "https://registry.yarnpkg.com/ignore-walk/-/ignore-walk-3.0.1.tgz#a83e62e7d272ac0e3b551aaa82831a19b69f82f8" + integrity sha512-DTVlMx3IYPe0/JJcYP7Gxg7ttZZu3IInhuEhbchuqneY9wWe5Ojy2mXLBaQFUQmo0AW2r3qG7m1mg86js+gnlQ== + dependencies: + minimatch "^3.0.4" + +image-extensions@~1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/image-extensions/-/image-extensions-1.1.0.tgz#b8e6bf6039df0056e333502a00b6637a3105d894" + integrity sha1-uOa/YDnfAFbjM1AqALZjejEF2JQ= + +import-lazy@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/import-lazy/-/import-lazy-2.1.0.tgz#05698e3d45c88e8d7e9d92cb0584e77f096f3e43" + integrity sha1-BWmOPUXIjo1+nZLLBYTnfwlvPkM= + +imurmurhash@^0.1.4: + version "0.1.4" + resolved "https://registry.yarnpkg.com/imurmurhash/-/imurmurhash-0.1.4.tgz#9218b9b2b928a238b13dc4fb6b6d576f231453ea" + integrity sha1-khi5srkoojixPcT7a21XbyMUU+o= + +indent-string@^3.0.0: + version "3.2.0" + resolved "https://registry.yarnpkg.com/indent-string/-/indent-string-3.2.0.tgz#4a5fd6d27cc332f37e5419a504dbb837105c9289" + integrity sha1-Sl/W0nzDMvN+VBmlBNu4NxBckok= + +inflight@^1.0.4: + version "1.0.6" + resolved "https://registry.yarnpkg.com/inflight/-/inflight-1.0.6.tgz#49bd6331d7d02d0c09bc910a1075ba8165b56df9" + integrity sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk= + dependencies: + once "^1.3.0" + wrappy "1" + +inherits@2, inherits@2.0.3, inherits@^2.0.1, inherits@^2.0.3, inherits@~2.0.1, inherits@~2.0.3: + version "2.0.3" + resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.3.tgz#633c2c83e3da42a502f52466022480f4208261de" + integrity sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4= + +ini@^1.3.4, ini@~1.3.0: + version "1.3.5" + resolved "https://registry.yarnpkg.com/ini/-/ini-1.3.5.tgz#eee25f56db1c9ec6085e0c22778083f596abf927" + integrity sha512-RZY5huIKCMRWDUqZlEi72f/lmXKMvuszcMBduliQ3nnWbx9X/ZBQO7DijMEYS9EhHBb2qacRUMtC7svLwe0lcw== + +ip-regex@^1.0.1: + version "1.0.3" + resolved "https://registry.yarnpkg.com/ip-regex/-/ip-regex-1.0.3.tgz#dc589076f659f419c222039a33316f1c7387effd" + integrity sha1-3FiQdvZZ9BnCIgOaMzFvHHOH7/0= + +ipaddr.js@1.8.0: + version "1.8.0" + resolved "https://registry.yarnpkg.com/ipaddr.js/-/ipaddr.js-1.8.0.tgz#eaa33d6ddd7ace8f7f6fe0c9ca0440e706738b1e" + integrity sha1-6qM9bd16zo9/b+DJygRA5wZzix4= + +is-absolute-url@^2.0.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/is-absolute-url/-/is-absolute-url-2.1.0.tgz#50530dfb84fcc9aa7dbe7852e83a37b93b9f2aa6" + integrity sha1-UFMN+4T8yap9vnhS6Do3uTufKqY= + +is-accessor-descriptor@^0.1.6: + version "0.1.6" + resolved "https://registry.yarnpkg.com/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz#a9e12cb3ae8d876727eeef3843f8a0897b5c98d6" + integrity sha1-qeEss66Nh2cn7u84Q/igiXtcmNY= + dependencies: + kind-of "^3.0.2" + +is-accessor-descriptor@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz#169c2f6d3df1f992618072365c9b0ea1f6878656" + integrity sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ== + dependencies: + kind-of "^6.0.0" + +is-binary-path@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/is-binary-path/-/is-binary-path-1.0.1.tgz#75f16642b480f187a711c814161fd3a4a7655898" + integrity sha1-dfFmQrSA8YenEcgUFh/TpKdlWJg= + dependencies: + binary-extensions "^1.0.0" + +is-buffer@^1.1.5: + version "1.1.6" + resolved "https://registry.yarnpkg.com/is-buffer/-/is-buffer-1.1.6.tgz#efaa2ea9daa0d7ab2ea13a97b2b8ad51fefbe8be" + integrity sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w== + +is-callable@^1.1.3, is-callable@^1.1.4: + version "1.1.4" + resolved "https://registry.yarnpkg.com/is-callable/-/is-callable-1.1.4.tgz#1e1adf219e1eeb684d691f9d6a05ff0d30a24d75" + integrity sha512-r5p9sxJjYnArLjObpjA4xu5EKI3CuKHkJXMhT7kwbpUyIFD1n5PMAsoPvWnvtZiNz7LjkYDRZhd7FlI0eMijEA== + +is-ci@^1.0.10: + version "1.2.1" + resolved "https://registry.yarnpkg.com/is-ci/-/is-ci-1.2.1.tgz#e3779c8ee17fccf428488f6e281187f2e632841c" + integrity sha512-s6tfsaQaQi3JNciBH6shVqEDvhGut0SUXr31ag8Pd8BBbVVlcGfWhpPmEOoM6RJ5TFhbypvf5yyRw/VXW1IiWg== + dependencies: + ci-info "^1.5.0" + +is-data-descriptor@^0.1.4: + version "0.1.4" + resolved "https://registry.yarnpkg.com/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz#0b5ee648388e2c860282e793f1856fec3f301b56" + integrity sha1-C17mSDiOLIYCgueT8YVv7D8wG1Y= + dependencies: + kind-of "^3.0.2" + +is-data-descriptor@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz#d84876321d0e7add03990406abbbbd36ba9268c7" + integrity sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ== + dependencies: + kind-of "^6.0.0" + +is-date-object@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/is-date-object/-/is-date-object-1.0.1.tgz#9aa20eb6aeebbff77fbd33e74ca01b33581d3a16" + integrity sha1-mqIOtq7rv/d/vTPnTKAbM1gdOhY= + +is-descriptor@^0.1.0: + version "0.1.6" + resolved "https://registry.yarnpkg.com/is-descriptor/-/is-descriptor-0.1.6.tgz#366d8240dde487ca51823b1ab9f07a10a78251ca" + integrity sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg== + dependencies: + is-accessor-descriptor "^0.1.6" + is-data-descriptor "^0.1.4" + kind-of "^5.0.0" + +is-descriptor@^1.0.0, is-descriptor@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/is-descriptor/-/is-descriptor-1.0.2.tgz#3b159746a66604b04f8c81524ba365c5f14d86ec" + integrity sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg== + dependencies: + is-accessor-descriptor "^1.0.0" + is-data-descriptor "^1.0.0" + kind-of "^6.0.2" + +is-extendable@^0.1.0, is-extendable@^0.1.1: + version "0.1.1" + resolved "https://registry.yarnpkg.com/is-extendable/-/is-extendable-0.1.1.tgz#62b110e289a471418e3ec36a617d472e301dfc89" + integrity sha1-YrEQ4omkcUGOPsNqYX1HLjAd/Ik= + +is-extendable@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/is-extendable/-/is-extendable-1.0.1.tgz#a7470f9e426733d81bd81e1155264e3a3507cab4" + integrity sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA== + dependencies: + is-plain-object "^2.0.4" + +is-extglob@^2.1.0, is-extglob@^2.1.1: + version "2.1.1" + resolved "https://registry.yarnpkg.com/is-extglob/-/is-extglob-2.1.1.tgz#a88c02535791f02ed37c76a1b9ea9773c833f8c2" + integrity sha1-qIwCU1eR8C7TfHahueqXc8gz+MI= + +is-fullwidth-code-point@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz#ef9e31386f031a7f0d643af82fde50c457ef00cb" + integrity sha1-754xOG8DGn8NZDr4L95QxFfvAMs= + dependencies: + number-is-nan "^1.0.0" + +is-fullwidth-code-point@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz#a3b30a5c4f199183167aaab93beefae3ddfb654f" + integrity sha1-o7MKXE8ZkYMWeqq5O+764937ZU8= + +is-glob@^3.1.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/is-glob/-/is-glob-3.1.0.tgz#7ba5ae24217804ac70707b96922567486cc3e84a" + integrity sha1-e6WuJCF4BKxwcHuWkiVnSGzD6Eo= + dependencies: + is-extglob "^2.1.0" + +is-glob@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/is-glob/-/is-glob-4.0.0.tgz#9521c76845cc2610a85203ddf080a958c2ffabc0" + integrity sha1-lSHHaEXMJhCoUgPd8ICpWML/q8A= + dependencies: + is-extglob "^2.1.1" + +is-installed-globally@^0.1.0: + version "0.1.0" + resolved "https://registry.yarnpkg.com/is-installed-globally/-/is-installed-globally-0.1.0.tgz#0dfd98f5a9111716dd535dda6492f67bf3d25a80" + integrity sha1-Df2Y9akRFxbdU13aZJL2e/PSWoA= + dependencies: + global-dirs "^0.1.0" + is-path-inside "^1.0.0" + +is-npm@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/is-npm/-/is-npm-1.0.0.tgz#f2fb63a65e4905b406c86072765a1a4dc793b9f4" + integrity sha1-8vtjpl5JBbQGyGBydloaTceTufQ= + +is-number@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/is-number/-/is-number-3.0.0.tgz#24fd6201a4782cf50561c810276afc7d12d71195" + integrity sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU= + dependencies: + kind-of "^3.0.2" + +is-obj@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/is-obj/-/is-obj-1.0.1.tgz#3e4729ac1f5fde025cd7d83a896dab9f4f67db0f" + integrity sha1-PkcprB9f3gJc19g6iW2rn09n2w8= + +is-path-inside@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/is-path-inside/-/is-path-inside-1.0.1.tgz#8ef5b7de50437a3fdca6b4e865ef7aa55cb48036" + integrity sha1-jvW33lBDej/cprToZe96pVy0gDY= + dependencies: + path-is-inside "^1.0.1" + +is-plain-object@^2.0.1, is-plain-object@^2.0.3, is-plain-object@^2.0.4: + version "2.0.4" + resolved "https://registry.yarnpkg.com/is-plain-object/-/is-plain-object-2.0.4.tgz#2c163b3fafb1b606d9d17928f05c2a1c38e07677" + integrity sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og== + dependencies: + isobject "^3.0.1" + +is-port-reachable@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/is-port-reachable/-/is-port-reachable-2.0.0.tgz#54d13d654917eb433ae3ee2dcbc3774f2cd44eb2" + integrity sha1-VNE9ZUkX60M64+4ty8N3TyzUTrI= + +is-reachable@~3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/is-reachable/-/is-reachable-3.0.0.tgz#73ac3e3ff1d77af49b1dcd8d02a4bcf2721a4cec" + integrity sha512-bviQzO/xMpY1HV/4vLdLQ2waQu8D9elkNZTKsA1UOlWytU7XnLKP8Yn6GOkoZ52VEiwCCkj7biBhKGbgjtyDRg== + dependencies: + arrify "^1.0.1" + got "^9.3.2" + is-port-reachable "^2.0.0" + p-any "^1.1.0" + p-timeout "^2.0.1" + port-numbers "^4.0.4" + prepend-http "^2.0.0" + router-ips "^1.0.0" + url-parse "^1.4.4" + +is-redirect@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/is-redirect/-/is-redirect-1.0.0.tgz#1d03dded53bd8db0f30c26e4f95d36fc7c87dc24" + integrity sha1-HQPd7VO9jbDzDCbk+V02/HyH3CQ= + +is-regex@^1.0.4: + version "1.0.4" + resolved "https://registry.yarnpkg.com/is-regex/-/is-regex-1.0.4.tgz#5517489b547091b0930e095654ced25ee97e9491" + integrity sha1-VRdIm1RwkbCTDglWVM7SXul+lJE= + dependencies: + has "^1.0.1" + +is-relative-url@~2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/is-relative-url/-/is-relative-url-2.0.0.tgz#72902d7fe04b3d4792e7db15f9db84b7204c9cef" + integrity sha1-cpAtf+BLPUeS59sV+duEtyBMnO8= + dependencies: + is-absolute-url "^2.0.0" + +is-retry-allowed@^1.0.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/is-retry-allowed/-/is-retry-allowed-1.1.0.tgz#11a060568b67339444033d0125a61a20d564fb34" + integrity sha1-EaBgVotnM5REAz0BJaYaINVk+zQ= + +is-stream@^1.0.0, is-stream@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/is-stream/-/is-stream-1.1.0.tgz#12d4a3dd4e68e0b79ceb8dbc84173ae80d91ca44" + integrity sha1-EtSj3U5o4Lec6428hBc66A2RykQ= + +is-symbol@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/is-symbol/-/is-symbol-1.0.2.tgz#a055f6ae57192caee329e7a860118b497a950f38" + integrity sha512-HS8bZ9ox60yCJLH9snBpIwv9pYUAkcuLhSA1oero1UB5y9aiQpRA8y2ex945AOtCZL1lJDeIk3G5LthswI46Lw== + dependencies: + has-symbols "^1.0.0" + +is-typedarray@~1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/is-typedarray/-/is-typedarray-1.0.0.tgz#e479c80858df0c1b11ddda6940f96011fcda4a9a" + integrity sha1-5HnICFjfDBsR3dppQPlgEfzaSpo= + +is-windows@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/is-windows/-/is-windows-1.0.2.tgz#d1850eb9791ecd18e6182ce12a30f396634bb19d" + integrity sha512-eXK1UInq2bPmjyX6e3VHIzMLobc4J94i4AWn+Hpq3OU5KkrRC96OAcR3PRJ/pGu6m8TRnBHP9dkXQVsT/COVIA== + +isarray@0.0.1: + version "0.0.1" + resolved "https://registry.yarnpkg.com/isarray/-/isarray-0.0.1.tgz#8a18acfca9a8f4177e09abfc6038939b05d1eedf" + integrity sha1-ihis/Kmo9Bd+Cav8YDiTmwXR7t8= + +isarray@1.0.0, isarray@~1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/isarray/-/isarray-1.0.0.tgz#bb935d48582cba168c06834957a54a3e07124f11" + integrity sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE= + +isexe@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/isexe/-/isexe-2.0.0.tgz#e8fbf374dc556ff8947a10dcb0572d633f2cfa10" + integrity sha1-6PvzdNxVb/iUehDcsFctYz8s+hA= + +iso-639-3@~1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/iso-639-3/-/iso-639-3-1.1.0.tgz#83722daf55490a707c318ae18a33ba3bab06c843" + integrity sha512-l3BAnxNpyRIZA4mEzI2md/YVrxQ3hI8hiQe7TFyQknjyOh8vCzobZuAXTFHELco0FBkYRx4FkAlIqkKrHhnzgw== + +isobject@^2.0.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/isobject/-/isobject-2.1.0.tgz#f065561096a3f1da2ef46272f815c840d87e0c89" + integrity sha1-8GVWEJaj8dou9GJy+BXIQNh+DIk= + dependencies: + isarray "1.0.0" + +isobject@^3.0.0, isobject@^3.0.1: + version "3.0.1" + resolved "https://registry.yarnpkg.com/isobject/-/isobject-3.0.1.tgz#4e431e92b11a9731636aa1f9c8d1ccbcfdab78df" + integrity sha1-TkMekrEalzFjaqH5yNHMvP2reN8= + +isostring@0.0.1: + version "0.0.1" + resolved "https://registry.yarnpkg.com/isostring/-/isostring-0.0.1.tgz#ddb608efbfc89cda86db9cb16be090a788134c7f" + integrity sha1-3bYI77/InNqG25yxa+CQp4gTTH8= + +isstream@~0.1.2: + version "0.1.2" + resolved "https://registry.yarnpkg.com/isstream/-/isstream-0.1.2.tgz#47e63f7af55afa6f92e1500e690eb8b8529c099a" + integrity sha1-R+Y/evVa+m+S4VAOaQ64uFKcCZo= + +iterall@^1.1.3, iterall@^1.2.1, iterall@^1.2.2: + version "1.2.2" + resolved "https://registry.yarnpkg.com/iterall/-/iterall-1.2.2.tgz#92d70deb8028e0c39ff3164fdbf4d8b088130cd7" + integrity sha512-yynBb1g+RFUPY64fTrFv7nsjRrENBQJaX2UL+2Szc9REFrSNm1rpSXHGzhmAy7a9uv3vlvgBlXnf9RqmPH1/DA== + +jsbn@~0.1.0: + version "0.1.1" + resolved "https://registry.yarnpkg.com/jsbn/-/jsbn-0.1.1.tgz#a5e654c2e5a2deb5f201d96cefbca80c0ef2f513" + integrity sha1-peZUwuWi3rXyAdls77yoDA7y9RM= + +json-buffer@3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/json-buffer/-/json-buffer-3.0.0.tgz#5b1f397afc75d677bde8bcfc0e47e1f9a3d9a898" + integrity sha1-Wx85evx11ne96Lz8Dkfh+aPZqJg= + +json-schema-traverse@^0.4.1: + version "0.4.1" + resolved "https://registry.yarnpkg.com/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz#69f6a87d9513ab8bb8fe63bdb0979c448e684660" + integrity sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg== + +json-schema@0.2.3: + version "0.2.3" + resolved "https://registry.yarnpkg.com/json-schema/-/json-schema-0.2.3.tgz#b480c892e59a2f05954ce727bd3f2a4e882f9e13" + integrity sha1-tIDIkuWaLwWVTOcnvT8qTogvnhM= + +json-stable-stringify@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/json-stable-stringify/-/json-stable-stringify-1.0.1.tgz#9a759d39c5f2ff503fd5300646ed445f88c4f9af" + integrity sha1-mnWdOcXy/1A/1TAGRu1EX4jE+a8= + dependencies: + jsonify "~0.0.0" + +json-stringify-safe@~5.0.1: + version "5.0.1" + resolved "https://registry.yarnpkg.com/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz#1296a2d58fd45f19a0f6ce01d65701e2c735b6eb" + integrity sha1-Epai1Y/UXxmg9s4B1lcB4sc1tus= + +jsonify@~0.0.0: + version "0.0.0" + resolved "https://registry.yarnpkg.com/jsonify/-/jsonify-0.0.0.tgz#2c74b6ee41d93ca51b7b5aaee8f503631d252a73" + integrity sha1-LHS27kHZPKUbe1qu6PUDYx0lKnM= + +jsprim@^1.2.2: + version "1.4.1" + resolved "https://registry.yarnpkg.com/jsprim/-/jsprim-1.4.1.tgz#313e66bc1e5cc06e438bc1b7499c2e5c56acb6a2" + integrity sha1-MT5mvB5cwG5Di8G3SZwuXFastqI= + dependencies: + assert-plus "1.0.0" + extsprintf "1.3.0" + json-schema "0.2.3" + verror "1.10.0" + +keyv@^3.0.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/keyv/-/keyv-3.1.0.tgz#ecc228486f69991e49e9476485a5be1e8fc5c4d9" + integrity sha512-9ykJ/46SN/9KPM/sichzQ7OvXyGDYKGTaDlKMGCAlg2UK8KRy4jb0d8sFc+0Tt0YYnThq8X2RZgCg74RPxgcVA== + dependencies: + json-buffer "3.0.0" + +kind-of@^3.0.2, kind-of@^3.0.3, kind-of@^3.2.0: + version "3.2.2" + resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-3.2.2.tgz#31ea21a734bab9bbb0f32466d893aea51e4a3c64" + integrity sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ= + dependencies: + is-buffer "^1.1.5" + +kind-of@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-4.0.0.tgz#20813df3d712928b207378691a45066fae72dd57" + integrity sha1-IIE989cSkosgc3hpGkUGb65y3Vc= + dependencies: + is-buffer "^1.1.5" + +kind-of@^5.0.0: + version "5.1.0" + resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-5.1.0.tgz#729c91e2d857b7a419a1f9aa65685c4c33f5845d" + integrity sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw== + +kind-of@^6.0.0, kind-of@^6.0.2: + version "6.0.2" + resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-6.0.2.tgz#01146b36a6218e64e58f3a8d66de5d7fc6f6d051" + integrity sha512-s5kLOcnH0XqDO+FvuaLX8DDjZ18CGFk7VygH40QoKPUQhW4e2rvM0rwUq0t8IQDOwYSeLK01U90OjzBTme2QqA== + +latest-version@^3.0.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/latest-version/-/latest-version-3.1.0.tgz#a205383fea322b33b5ae3b18abee0dc2f356ee15" + integrity sha1-ogU4P+oyKzO1rjsYq+4NwvNW7hU= + dependencies: + package-json "^4.0.0" + +lodash.clonedeep@^4.5.0: + version "4.5.0" + resolved "https://registry.yarnpkg.com/lodash.clonedeep/-/lodash.clonedeep-4.5.0.tgz#e23f3f9c4f8fbdde872529c1071857a086e5ccef" + integrity sha1-4j8/nE+Pvd6HJSnBBxhXoIblzO8= + +lodash.debounce@^4.0.8: + version "4.0.8" + resolved "https://registry.yarnpkg.com/lodash.debounce/-/lodash.debounce-4.0.8.tgz#82d79bff30a67c4005ffd5e2515300ad9ca4d7af" + integrity sha1-gteb/zCmfEAF/9XiUVMArZyk168= + +lodash.escaperegexp@^4.1.2: + version "4.1.2" + resolved "https://registry.yarnpkg.com/lodash.escaperegexp/-/lodash.escaperegexp-4.1.2.tgz#64762c48618082518ac3df4ccf5d5886dae20347" + integrity sha1-ZHYsSGGAglGKw99Mz11YhtriA0c= + +lodash.isplainobject@^4.0.6: + version "4.0.6" + resolved "https://registry.yarnpkg.com/lodash.isplainobject/-/lodash.isplainobject-4.0.6.tgz#7c526a52d89b45c45cc690b88163be0497f550cb" + integrity sha1-fFJqUtibRcRcxpC4gWO+BJf1UMs= + +lodash.isstring@^4.0.1: + version "4.0.1" + resolved "https://registry.yarnpkg.com/lodash.isstring/-/lodash.isstring-4.0.1.tgz#d527dfb5456eca7cc9bb95d5daeaf88ba54a5451" + integrity sha1-1SfftUVuynzJu5XV2ur4i6VKVFE= + +lodash.mergewith@^4.6.1: + version "4.6.1" + resolved "https://registry.yarnpkg.com/lodash.mergewith/-/lodash.mergewith-4.6.1.tgz#639057e726c3afbdb3e7d42741caa8d6e4335927" + integrity sha512-eWw5r+PYICtEBgrBE5hhlT6aAa75f411bgDz/ZL2KZqYV03USvucsxcHUIlGTDTECs1eunpI7HOV7U+WLDvNdQ== + +lodash@^4.13.1, lodash@^4.15.0, lodash@^4.17.10, lodash@^4.17.11, lodash@~4.17.10, lodash@~4.17.11: + version "4.17.11" + resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.11.tgz#b39ea6229ef607ecd89e2c8df12536891cac9b8d" + integrity sha512-cQKh8igo5QUhZ7lg38DYWAxMvjSAKG0A8wGSVimP07SIUEK2UO+arSRKbRZWtelMtN5V0Hkwh5ryOto/SshYIg== + +long@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/long/-/long-4.0.0.tgz#9a7b71cfb7d361a194ea555241c92f7468d5bf28" + integrity sha512-XsP+KhQif4bjX1kbuSiySJFNAehNxgLb6hPRGJ9QsUr8ajHkuXGdrHmFUTUUXhDwVX2R5bY4JNZEwbUiMhV+MA== + +lowercase-keys@^1.0.0, lowercase-keys@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/lowercase-keys/-/lowercase-keys-1.0.1.tgz#6f9e30b47084d971a7c820ff15a6c5167b74c26f" + integrity sha512-G2Lj61tXDnVFFOi8VZds+SoQjtQC3dgokKdDG2mTm1tx4m50NUHBOZSBwQQHyy0V12A0JTG4icfZQH+xPyh8VA== + +lru-cache@^4.0.1: + version "4.1.5" + resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-4.1.5.tgz#8bbe50ea85bed59bc9e33dcab8235ee9bcf443cd" + integrity sha512-sWZlbEP2OsHNkXrMl5GYk/jKk70MBng6UU4YI/qGDYbgf6YbP4EvmqISbXCoJiRKs+1bSpFHVgQxvJ17F2li5g== + dependencies: + pseudomap "^1.0.2" + yallist "^2.1.2" + +lru-cache@^5.0.0: + version "5.1.1" + resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-5.1.1.tgz#1da27e6710271947695daf6848e847f01d84b920" + integrity sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w== + dependencies: + yallist "^3.0.2" + +make-dir@^1.0.0: + version "1.3.0" + resolved "https://registry.yarnpkg.com/make-dir/-/make-dir-1.3.0.tgz#79c1033b80515bd6d24ec9933e860ca75ee27f0c" + integrity sha512-2w31R7SJtieJJnQtGc7RVL2StM2vGYVfqUOvUDxH6bC6aJTxPxTF0GnIgCyu7tjockiUWAYQRbxa7vKn34s5sQ== + dependencies: + pify "^3.0.0" + +map-cache@^0.2.2: + version "0.2.2" + resolved "https://registry.yarnpkg.com/map-cache/-/map-cache-0.2.2.tgz#c32abd0bd6525d9b051645bb4f26ac5dc98a0dbf" + integrity sha1-wyq9C9ZSXZsFFkW7TyasXcmKDb8= + +map-visit@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/map-visit/-/map-visit-1.0.0.tgz#ecdca8f13144e660f1b5bd41f12f3479d98dfb8f" + integrity sha1-7Nyo8TFE5mDxtb1B8S80edmN+48= + dependencies: + object-visit "^1.0.0" + +media-typer@0.3.0: + version "0.3.0" + resolved "https://registry.yarnpkg.com/media-typer/-/media-typer-0.3.0.tgz#8710d7af0aa626f8fffa1ce00168545263255748" + integrity sha1-hxDXrwqmJvj/+hzgAWhUUmMlV0g= + +merge-descriptors@1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/merge-descriptors/-/merge-descriptors-1.0.1.tgz#b00aaa556dd8b44568150ec9d1b953f3f90cbb61" + integrity sha1-sAqqVW3YtEVoFQ7J0blT8/kMu2E= + +metascraper-audio@^4.8.5: + version "4.8.5" + resolved "https://registry.yarnpkg.com/metascraper-audio/-/metascraper-audio-4.8.5.tgz#1738fdac2f5731f5172edca233834b087c9f4c29" + integrity sha512-GuoYuE/+fEkKYOsd658iYlRo2XOWqxKKZM6yMPKnpSOXWJSySZWhfmPoFkz40tadwfBWx01nKnIwwopmiZFXEQ== + dependencies: + "@metascraper/helpers" "^4.8.5" + +metascraper-author@^4.8.5: + version "4.8.5" + resolved "https://registry.yarnpkg.com/metascraper-author/-/metascraper-author-4.8.5.tgz#444f4685bff8ba4a5aae65a8378bd0b0686e3407" + integrity sha512-3RppM4OjUI7+aWzMoFhIBlqRXi5GZ+1p7N4fYO2ztEDZFopyIHuMK9AbBgmHUb7OEeVvSMKh6OAGV7lRANuYyQ== + dependencies: + "@metascraper/helpers" "^4.8.5" + lodash "~4.17.10" + +metascraper-clearbit-logo@^4.8.5: + version "4.8.5" + resolved "https://registry.yarnpkg.com/metascraper-clearbit-logo/-/metascraper-clearbit-logo-4.8.5.tgz#d1e672f1804f7edce507317eb6aeb94a88f29529" + integrity sha512-D53DO9gQFwDqgq6r0qbV92YFpLZTW3Zck17WmlkmPbl9wDLH8EOP5AC0S4h9hu40qwqR2gSqIaH298iQJ+gYvA== + dependencies: + got "~9.5.0" + qsm "~2.1.0" + +metascraper-date@^4.8.5: + version "4.8.5" + resolved "https://registry.yarnpkg.com/metascraper-date/-/metascraper-date-4.8.5.tgz#9494ac9b4e99e9bd79d7e39972263c87a49f3054" + integrity sha512-m+9deKQDNrrR8O91z0ZQcDnCK7QHFGZnBR8rPYFoWaXxbLVsST5YlT5A6+tYUTswfqjP1FK+r9R0t+5UQA7Ydw== + dependencies: + "@metascraper/helpers" "^4.8.5" + +metascraper-description@^4.8.5: + version "4.8.5" + resolved "https://registry.yarnpkg.com/metascraper-description/-/metascraper-description-4.8.5.tgz#9155b5c7f64e997f8f12209e0140e7de25614e01" + integrity sha512-0oPEiRXgAyJoQstEPgua0OZ4wD35Htf1oSMzJvejn6rYdfXaeI8RREVtsL/TsUmizyf/iKlneslnfH4/+iN42g== + dependencies: + "@metascraper/helpers" "^4.8.5" + +metascraper-image@^4.8.5: + version "4.8.5" + resolved "https://registry.yarnpkg.com/metascraper-image/-/metascraper-image-4.8.5.tgz#f679fb4ca110e7aa84dab77813b1d18a7e9fb05d" + integrity sha512-hTvZU2NCnWBOs0xUI8Dz1/ZSPYdf6+UpCp/T9CN9+eyZIA8iRZGqlsPeNIJjVHQ9jf7k2ypnSeYrZnInjXGHcA== + dependencies: + "@metascraper/helpers" "^4.8.5" + +metascraper-lang-detector@^4.8.5: + version "4.8.5" + resolved "https://registry.yarnpkg.com/metascraper-lang-detector/-/metascraper-lang-detector-4.8.5.tgz#68cea1b2b9640393da21ce9717d88a3fe956f015" + integrity sha512-jYyhBjkUoGGl7OHtP7ALUuOwNs9bh/smstQIJIuIM42y7DNccQh1sRLBvcLdweRYB6wr6HIsWo/tdhIhpu/WFQ== + dependencies: + "@metascraper/helpers" "^4.8.5" + franc "~4.0.0" + iso-639-3 "~1.1.0" + +metascraper-lang@^4.8.5: + version "4.8.5" + resolved "https://registry.yarnpkg.com/metascraper-lang/-/metascraper-lang-4.8.5.tgz#6857fd6f45f41203f769b1e3d82d98841aed4ff6" + integrity sha512-HAw+k96lAz9w+RWYNH40CSrV/cuB4sbD4iVfp4taPz2tZ5K0UZnS+OPT9ZJWnSUCkNCWL988TBwza+6N9niI9w== + dependencies: + "@metascraper/helpers" "^4.8.5" + +metascraper-logo-favicon@^4.8.5: + version "4.8.5" + resolved "https://registry.yarnpkg.com/metascraper-logo-favicon/-/metascraper-logo-favicon-4.8.5.tgz#cd6e8aec1be3bf9a944566ea4ce28f837364068f" + integrity sha512-5MxzyHGzySG7axIv5WTRfQ3IAl4E9+F1JGd5+CLGDr1CctOlSUbCcyPo2D5KVJpXDBbL1pW7P7mEvl2Vxz/9jg== + dependencies: + "@metascraper/helpers" "^4.8.5" + got "~9.5.0" + lodash "~4.17.11" + +metascraper-logo@^4.8.5: + version "4.8.5" + resolved "https://registry.yarnpkg.com/metascraper-logo/-/metascraper-logo-4.8.5.tgz#45cb44618e41a5b69c9da8fb28ae4061281b2033" + integrity sha512-fu6Ff9niFt+2HdZgaAI3B5LOIf5BTXA80sE2p+9iW4w3BH15r6N+N42COmVtjHAyJSxYpEWzlF0E3+hnR9qp1g== + dependencies: + "@metascraper/helpers" "^4.8.5" + +metascraper-publisher@^4.8.5: + version "4.8.5" + resolved "https://registry.yarnpkg.com/metascraper-publisher/-/metascraper-publisher-4.8.5.tgz#762d4f257123987b812a919173991432062641b7" + integrity sha512-9DvfBTy+X+rXoKujAC6BHwgfqkekWGZx5ci1JNG13ypYUKztyATrKxy2XUSImUFfL0F7zHVLd3QxrknKimNq2Q== + dependencies: + "@metascraper/helpers" "^4.8.5" + +metascraper-title@^4.8.5: + version "4.8.5" + resolved "https://registry.yarnpkg.com/metascraper-title/-/metascraper-title-4.8.5.tgz#406de3b443442b34cfffba207d4b53de9343ad98" + integrity sha512-h7MNKZNWUUlA92WsjXg5UyBquyNu6NY7XfDLoi+G62DIBZkXAfrsFkchigyqEJhTDaEH0ualw3RoqzYaEHJkoQ== + dependencies: + "@metascraper/helpers" "^4.8.5" + lodash "~4.17.10" + +metascraper-url@^4.8.5: + version "4.8.5" + resolved "https://registry.yarnpkg.com/metascraper-url/-/metascraper-url-4.8.5.tgz#37fe18af596da0e0b999a85dce1b30b6d8adb4fb" + integrity sha512-hmAzyQnRTjYrgb9UI6eEbPoiTqbEl0tUOHDKBNy27lMUxcozvJo16SEUUJKdgyMD2QNXGbmnnze8YyK+nVgaBA== + dependencies: + "@metascraper/helpers" "^4.8.5" + +metascraper-video@^4.8.5: + version "4.8.5" + resolved "https://registry.yarnpkg.com/metascraper-video/-/metascraper-video-4.8.5.tgz#d70129ea04889ce9dfcd4216ea71757b4ea1390b" + integrity sha512-EWWcaFYUChHoA2Q9dbALTHB0sETRlDaendGDCXrJo2fQHlBiO/iioCiuUvTJg1UDCF1hFlNWxsBqSBxO9d2wvA== + dependencies: + "@metascraper/helpers" "^4.8.5" + lodash "~4.17.11" + +metascraper-youtube@^4.8.5: + version "4.8.5" + resolved "https://registry.yarnpkg.com/metascraper-youtube/-/metascraper-youtube-4.8.5.tgz#1f0ccb0170b3844dbc05c831c17c1944c1996c4b" + integrity sha512-CoFdoL9E8+EQe1dYXM5BXciE5A6JMwqCHyaao4hLiAthTCGtAXHTXivSCEqcQckwnKAjxkujVH7DrLixJOFNjw== + dependencies: + "@metascraper/helpers" "^4.8.5" + get-video-id "~3.1.0" + is-reachable "~3.0.0" + p-locate "~3.0.0" + +metascraper@^4.8.5: + version "4.8.5" + resolved "https://registry.yarnpkg.com/metascraper/-/metascraper-4.8.5.tgz#5d8f5aa2190d273a3dbf7abbfb38f1e5c7201403" + integrity sha512-BcM8suZkX6j2MsSRO2O69UXJzqbG7Pr5frOYOv/6zm1qn/RmYgxElFJl9MQfbpewpIhEkFrmfRJqOxnYGPRDgQ== + dependencies: + "@metascraper/helpers" "^4.8.5" + cheerio "~1.0.0-rc.2" + cheerio-advanced-selectors "~2.0.1" + lodash "~4.17.11" + p-reduce "~1.0.0" + sanitize-html "~1.20.0" + whoops "~4.0.1" + +methods@~1.1.2: + version "1.1.2" + resolved "https://registry.yarnpkg.com/methods/-/methods-1.1.2.tgz#5529a4d67654134edcc5266656835b0f851afcee" + integrity sha1-VSmk1nZUE07cxSZmVoNbD4Ua/O4= + +micromatch@^3.1.10, micromatch@^3.1.4: + version "3.1.10" + resolved "https://registry.yarnpkg.com/micromatch/-/micromatch-3.1.10.tgz#70859bc95c9840952f359a068a3fc49f9ecfac23" + integrity sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg== + dependencies: + arr-diff "^4.0.0" + array-unique "^0.3.2" + braces "^2.3.1" + define-property "^2.0.2" + extend-shallow "^3.0.2" + extglob "^2.0.4" + fragment-cache "^0.2.1" + kind-of "^6.0.2" + nanomatch "^1.2.9" + object.pick "^1.3.0" + regex-not "^1.0.0" + snapdragon "^0.8.1" + to-regex "^3.0.2" + +mime-db@~1.37.0: + version "1.37.0" + resolved "https://registry.yarnpkg.com/mime-db/-/mime-db-1.37.0.tgz#0b6a0ce6fdbe9576e25f1f2d2fde8830dc0ad0d8" + integrity sha512-R3C4db6bgQhlIhPU48fUtdVmKnflq+hRdad7IyKhtFj06VPNVdk2RhiYL3UjQIlso8L+YxAtFkobT0VK+S/ybg== + +mime-types@^2.1.12, mime-types@~2.1.18, mime-types@~2.1.19, mime-types@~2.1.21: + version "2.1.21" + resolved "https://registry.yarnpkg.com/mime-types/-/mime-types-2.1.21.tgz#28995aa1ecb770742fe6ae7e58f9181c744b3f96" + integrity sha512-3iL6DbwpyLzjR3xHSFNFeb9Nz/M8WDkX33t1GFQnFOllWk8pOrh/LSrB5OXlnlW5P9LH73X6loW/eogc+F5lJg== + dependencies: + mime-db "~1.37.0" + +mime@1.4.1: + version "1.4.1" + resolved "https://registry.yarnpkg.com/mime/-/mime-1.4.1.tgz#121f9ebc49e3766f311a76e1fa1c8003c4b03aa6" + integrity sha512-KI1+qOZu5DcW6wayYHSzR/tXKCDC5Om4s1z2QJjDULzLcmf3DvzS7oluY4HCTrc+9FiKmWUgeNLg7W3uIQvxtQ== + +mimic-fn@~1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/mimic-fn/-/mimic-fn-1.1.0.tgz#e667783d92e89dbd342818b5230b9d62a672ad18" + integrity sha1-5md4PZLonb00KBi1IwudYqZyrRg= + +mimic-response@^1.0.0, mimic-response@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/mimic-response/-/mimic-response-1.0.1.tgz#4923538878eef42063cb8a3e3b0798781487ab1b" + integrity sha512-j5EctnkH7amfV/q5Hgmoal1g2QHFJRraOtmx0JpIqkxhBhI/lJSl1nMpQ45hVarwNETOoWEimndZ4QK0RHxuxQ== + +minimatch@^3.0.4: + version "3.0.4" + resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-3.0.4.tgz#5166e286457f03306064be5497e8dbb0c3d32083" + integrity sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA== + dependencies: + brace-expansion "^1.1.7" + +minimist@0.0.8: + version "0.0.8" + resolved "https://registry.yarnpkg.com/minimist/-/minimist-0.0.8.tgz#857fcabfc3397d2625b8228262e86aa7a011b05d" + integrity sha1-hX/Kv8M5fSYluCKCYuhqp6ARsF0= + +minimist@^1.2.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/minimist/-/minimist-1.2.0.tgz#a35008b20f41383eec1fb914f4cd5df79a264284" + integrity sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ= + +minipass@^2.2.1, minipass@^2.3.4: + version "2.3.5" + resolved "https://registry.yarnpkg.com/minipass/-/minipass-2.3.5.tgz#cacebe492022497f656b0f0f51e2682a9ed2d848" + integrity sha512-Gi1W4k059gyRbyVUZQ4mEqLm0YIUiGYfvxhF6SIlk3ui1WVxMTGfGdQ2SInh3PDrRTVvPKgULkpJtT4RH10+VA== + dependencies: + safe-buffer "^5.1.2" + yallist "^3.0.0" + +minizlib@^1.1.1: + version "1.2.1" + resolved "https://registry.yarnpkg.com/minizlib/-/minizlib-1.2.1.tgz#dd27ea6136243c7c880684e8672bb3a45fd9b614" + integrity sha512-7+4oTUOWKg7AuL3vloEWekXY2/D20cevzsrNT2kGWm+39J9hGTCBv8VI5Pm5lXZ/o3/mdR4f8rflAPhnQb8mPA== + dependencies: + minipass "^2.2.1" + +mixin-deep@^1.2.0: + version "1.3.1" + resolved "https://registry.yarnpkg.com/mixin-deep/-/mixin-deep-1.3.1.tgz#a49e7268dce1a0d9698e45326c5626df3543d0fe" + integrity sha512-8ZItLHeEgaqEvd5lYBXfm4EZSFCX29Jb9K+lAHhDKzReKBQKj3R+7NOF6tjqYi9t4oI8VUfaWITJQm86wnXGNQ== + dependencies: + for-in "^1.0.2" + is-extendable "^1.0.1" + +mkdirp@^0.5.0, mkdirp@^0.5.1: + version "0.5.1" + resolved "https://registry.yarnpkg.com/mkdirp/-/mkdirp-0.5.1.tgz#30057438eac6cf7f8c4767f38648d6697d75c903" + integrity sha1-MAV0OOrGz3+MR2fzhkjWaX11yQM= + dependencies: + minimist "0.0.8" + +moment@^2.10.3: + version "2.23.0" + resolved "https://registry.yarnpkg.com/moment/-/moment-2.23.0.tgz#759ea491ac97d54bac5ad776996e2a58cc1bc225" + integrity sha512-3IE39bHVqFbWWaPOMHZF98Q9c3LDKGTmypMiTM2QygGXXElkFWIH7GxfmlwmY2vwa+wmNsoYZmG2iusf1ZjJoA== + +ms@2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/ms/-/ms-2.0.0.tgz#5608aeadfc00be6c2901df5f9861788de0d597c8" + integrity sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g= + +ms@^2.1.1: + version "2.1.1" + resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.1.tgz#30a5864eb3ebb0a66f2ebe6d727af06a09d86e0a" + integrity sha512-tgp+dl5cGk28utYktBsrFqA7HKgrhgPsg6Z/EfhWI4gl1Hwq8B/GmY/0oXZ6nF8hDVesS/FpnYaD/kOWhYQvyg== + +n-gram@^1.0.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/n-gram/-/n-gram-1.1.0.tgz#c07fb7d6d59aa42d10fbf680fc4c46a30766c1ee" + integrity sha512-S5dWZFQxmEVf7cfyxK9sVyvB0mmTxgL6z9Ww77q20oG8fidOgkwZqsgj7+4DkZVqxdE/Y+0KLU55yw08ssKqkA== + +nan@^2.9.2: + version "2.12.1" + resolved "https://registry.yarnpkg.com/nan/-/nan-2.12.1.tgz#7b1aa193e9aa86057e3c7bbd0ac448e770925552" + integrity sha512-JY7V6lRkStKcKTvHO5NVSQRv+RV+FIL5pvDoLiAtSL9pKlC5x9PKQcZDsq7m4FO4d57mkhC6Z+QhAh3Jdk5JFw== + +nanomatch@^1.2.9: + version "1.2.13" + resolved "https://registry.yarnpkg.com/nanomatch/-/nanomatch-1.2.13.tgz#b87a8aa4fc0de8fe6be88895b38983ff265bd119" + integrity sha512-fpoe2T0RbHwBTBUOftAfBPaDEi06ufaUai0mE6Yn1kacc3SnTErfb/h+X94VXzI64rKFHYImXSvdwGGCmwOqCA== + dependencies: + arr-diff "^4.0.0" + array-unique "^0.3.2" + define-property "^2.0.2" + extend-shallow "^3.0.2" + fragment-cache "^0.2.1" + is-windows "^1.0.2" + kind-of "^6.0.2" + object.pick "^1.3.0" + regex-not "^1.0.0" + snapdragon "^0.8.1" + to-regex "^3.0.1" + +needle@^2.2.1: + version "2.2.4" + resolved "https://registry.yarnpkg.com/needle/-/needle-2.2.4.tgz#51931bff82533b1928b7d1d69e01f1b00ffd2a4e" + integrity sha512-HyoqEb4wr/rsoaIDfTH2aVL9nWtQqba2/HvMv+++m8u0dz808MaagKILxtfeSN7QU7nvbQ79zk3vYOJp9zsNEA== + dependencies: + debug "^2.1.2" + iconv-lite "^0.4.4" + sax "^1.2.4" + +negotiator@0.6.1: + version "0.6.1" + resolved "https://registry.yarnpkg.com/negotiator/-/negotiator-0.6.1.tgz#2b327184e8992101177b28563fb5e7102acd0ca9" + integrity sha1-KzJxhOiZIQEXeyhWP7XnECrNDKk= + +node-fetch@^2.1.2, node-fetch@^2.2.0: + version "2.3.0" + resolved "https://registry.yarnpkg.com/node-fetch/-/node-fetch-2.3.0.tgz#1a1d940bbfb916a1d3e0219f037e89e71f8c5fa5" + integrity sha512-MOd8pV3fxENbryESLgVIeaGKrdl+uaYhCSSVkjeOb/31/njTpcis5aWfdqgNlHIrKOLRbMnfPINPOML2CIFeXA== + +node-pre-gyp@^0.10.0: + version "0.10.3" + resolved "https://registry.yarnpkg.com/node-pre-gyp/-/node-pre-gyp-0.10.3.tgz#3070040716afdc778747b61b6887bf78880b80fc" + integrity sha512-d1xFs+C/IPS8Id0qPTZ4bUT8wWryfR/OzzAFxweG+uLN85oPzyo2Iw6bVlLQ/JOdgNonXLCoRyqDzDWq4iw72A== + dependencies: + detect-libc "^1.0.2" + mkdirp "^0.5.1" + needle "^2.2.1" + nopt "^4.0.1" + npm-packlist "^1.1.6" + npmlog "^4.0.2" + rc "^1.2.7" + rimraf "^2.6.1" + semver "^5.3.0" + tar "^4" + +nodemon@^1.18.9: + version "1.18.9" + resolved "https://registry.yarnpkg.com/nodemon/-/nodemon-1.18.9.tgz#90b467efd3b3c81b9453380aeb2a2cba535d0ead" + integrity sha512-oj/eEVTEI47pzYAjGkpcNw0xYwTl4XSTUQv2NPQI6PpN3b75PhpuYk3Vb3U80xHCyM2Jm+1j68ULHXl4OR3Afw== + dependencies: + chokidar "^2.0.4" + debug "^3.1.0" + ignore-by-default "^1.0.1" + minimatch "^3.0.4" + pstree.remy "^1.1.6" + semver "^5.5.0" + supports-color "^5.2.0" + touch "^3.1.0" + undefsafe "^2.0.2" + update-notifier "^2.5.0" + +nopt@^4.0.1: + version "4.0.1" + resolved "https://registry.yarnpkg.com/nopt/-/nopt-4.0.1.tgz#d0d4685afd5415193c8c7505602d0d17cd64474d" + integrity sha1-0NRoWv1UFRk8jHUFYC0NF81kR00= + dependencies: + abbrev "1" + osenv "^0.1.4" + +nopt@~1.0.10: + version "1.0.10" + resolved "https://registry.yarnpkg.com/nopt/-/nopt-1.0.10.tgz#6ddd21bd2a31417b92727dd585f8a6f37608ebee" + integrity sha1-bd0hvSoxQXuScn3Vhfim83YI6+4= + dependencies: + abbrev "1" + +normalize-path@^2.1.1: + version "2.1.1" + resolved "https://registry.yarnpkg.com/normalize-path/-/normalize-path-2.1.1.tgz#1ab28b556e198363a8c1a6f7e6fa20137fe6aed9" + integrity sha1-GrKLVW4Zg2Oowab35vogE3/mrtk= + dependencies: + remove-trailing-separator "^1.0.1" + +normalize-url@^3.1.0: + version "3.3.0" + resolved "https://registry.yarnpkg.com/normalize-url/-/normalize-url-3.3.0.tgz#b2e1c4dc4f7c6d57743df733a4f5978d18650559" + integrity sha512-U+JJi7duF1o+u2pynbp2zXDW2/PADgC30f0GsHZtRh+HOcXHnw137TrNlyxxRvWW5fjKd3bcLHPxofWuCjaeZg== + +normalize-url@~4.1.0: + version "4.1.0" + resolved "https://registry.yarnpkg.com/normalize-url/-/normalize-url-4.1.0.tgz#307e74c87473efa81969ad1b4bb91f1990178904" + integrity sha512-X781mkWeK6PDMAZJfGn/wnwil4dV6pIdF9euiNqtA89uJvZuNDJO2YyJxiwpPhTQcF5pYUU1v+kcOxzYV6rZlA== + +npm-bundled@^1.0.1: + version "1.0.5" + resolved "https://registry.yarnpkg.com/npm-bundled/-/npm-bundled-1.0.5.tgz#3c1732b7ba936b3a10325aef616467c0ccbcc979" + integrity sha512-m/e6jgWu8/v5niCUKQi9qQl8QdeEduFA96xHDDzFGqly0OOjI7c+60KM/2sppfnUU9JJagf+zs+yGhqSOFj71g== + +npm-packlist@^1.1.6: + version "1.1.12" + resolved "https://registry.yarnpkg.com/npm-packlist/-/npm-packlist-1.1.12.tgz#22bde2ebc12e72ca482abd67afc51eb49377243a" + integrity sha512-WJKFOVMeAlsU/pjXuqVdzU0WfgtIBCupkEVwn+1Y0ERAbUfWw8R4GjgVbaKnUjRoD2FoQbHOCbOyT5Mbs9Lw4g== + dependencies: + ignore-walk "^3.0.1" + npm-bundled "^1.0.1" + +npm-run-path@^2.0.0: + version "2.0.2" + resolved "https://registry.yarnpkg.com/npm-run-path/-/npm-run-path-2.0.2.tgz#35a9232dfa35d7067b4cb2ddf2357b1871536c5f" + integrity sha1-NakjLfo11wZ7TLLd8jV7GHFTbF8= + dependencies: + path-key "^2.0.0" + +npmlog@^4.0.2: + version "4.1.2" + resolved "https://registry.yarnpkg.com/npmlog/-/npmlog-4.1.2.tgz#08a7f2a8bf734604779a9efa4ad5cc717abb954b" + integrity sha512-2uUqazuKlTaSI/dC8AzicUck7+IrEaOnN/e0jd3Xtt1KcGpwx30v50mL7oPyr/h9bL3E4aZccVwpwP+5W9Vjkg== + dependencies: + are-we-there-yet "~1.1.2" + console-control-strings "~1.1.0" + gauge "~2.7.3" + set-blocking "~2.0.0" + +nth-check@~1.0.1: + version "1.0.2" + resolved "https://registry.yarnpkg.com/nth-check/-/nth-check-1.0.2.tgz#b2bd295c37e3dd58a3bf0700376663ba4d9cf05c" + integrity sha512-WeBOdju8SnzPN5vTUJYxYUxLeXpCaVP5i5e0LF8fg7WORF2Wd7wFX/pk0tYZk7s8T+J7VLy0Da6J1+wCT0AtHg== + dependencies: + boolbase "~1.0.0" + +number-is-nan@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/number-is-nan/-/number-is-nan-1.0.1.tgz#097b602b53422a522c1afb8790318336941a011d" + integrity sha1-CXtgK1NCKlIsGvuHkDGDNpQaAR0= + +oauth-sign@~0.9.0: + version "0.9.0" + resolved "https://registry.yarnpkg.com/oauth-sign/-/oauth-sign-0.9.0.tgz#47a7b016baa68b5fa0ecf3dee08a85c679ac6455" + integrity sha512-fexhUFFPTGV8ybAtSIGbV6gOkSv8UtRbDBnAyLQw4QPKkgNlsH2ByPGtMUqdWkos6YCRmAqViwgZrJc/mRDzZQ== + +object-assign@^4, object-assign@^4.1.0: + version "4.1.1" + resolved "https://registry.yarnpkg.com/object-assign/-/object-assign-4.1.1.tgz#2109adc7965887cfc05cbbd442cac8bfbb360863" + integrity sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM= + +object-copy@^0.1.0: + version "0.1.0" + resolved "https://registry.yarnpkg.com/object-copy/-/object-copy-0.1.0.tgz#7e7d858b781bd7c991a41ba975ed3812754e998c" + integrity sha1-fn2Fi3gb18mRpBupde04EnVOmYw= + dependencies: + copy-descriptor "^0.1.0" + define-property "^0.2.5" + kind-of "^3.0.3" + +object-keys@^1.0.12: + version "1.0.12" + resolved "https://registry.yarnpkg.com/object-keys/-/object-keys-1.0.12.tgz#09c53855377575310cca62f55bb334abff7b3ed2" + integrity sha512-FTMyFUm2wBcGHnH2eXmz7tC6IwlqQZ6mVZ+6dm6vZ4IQIHjs6FdNsQBuKGPuUUUY6NfJw2PshC08Tn6LzLDOag== + +object-path@^0.11.4: + version "0.11.4" + resolved "https://registry.yarnpkg.com/object-path/-/object-path-0.11.4.tgz#370ae752fbf37de3ea70a861c23bba8915691949" + integrity sha1-NwrnUvvzfePqcKhhwju6iRVpGUk= + +object-visit@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/object-visit/-/object-visit-1.0.1.tgz#f79c4493af0c5377b59fe39d395e41042dd045bb" + integrity sha1-95xEk68MU3e1n+OdOV5BBC3QRbs= + dependencies: + isobject "^3.0.0" + +object.getownpropertydescriptors@^2.0.3: + version "2.0.3" + resolved "https://registry.yarnpkg.com/object.getownpropertydescriptors/-/object.getownpropertydescriptors-2.0.3.tgz#8758c846f5b407adab0f236e0986f14b051caa16" + integrity sha1-h1jIRvW0B62rDyNuCYbxSwUcqhY= + dependencies: + define-properties "^1.1.2" + es-abstract "^1.5.1" + +object.pick@^1.3.0: + version "1.3.0" + resolved "https://registry.yarnpkg.com/object.pick/-/object.pick-1.3.0.tgz#87a10ac4c1694bd2e1cbf53591a66141fb5dd747" + integrity sha1-h6EKxMFpS9Lhy/U1kaZhQftd10c= + dependencies: + isobject "^3.0.1" + +on-finished@~2.3.0: + version "2.3.0" + resolved "https://registry.yarnpkg.com/on-finished/-/on-finished-2.3.0.tgz#20f1336481b083cd75337992a16971aa2d906947" + integrity sha1-IPEzZIGwg811M3mSoWlxqi2QaUc= + dependencies: + ee-first "1.1.1" + +once@^1.3.0, once@^1.3.1, once@^1.4.0: + version "1.4.0" + resolved "https://registry.yarnpkg.com/once/-/once-1.4.0.tgz#583b1aa775961d4b113ac17d9c50baef9dd76bd1" + integrity sha1-WDsap3WWHUsROsF9nFC6753Xa9E= + dependencies: + wrappy "1" + +os-homedir@^1.0.0: + version "1.0.2" + resolved "https://registry.yarnpkg.com/os-homedir/-/os-homedir-1.0.2.tgz#ffbc4988336e0e833de0c168c7ef152121aa7fb3" + integrity sha1-/7xJiDNuDoM94MFox+8VISGqf7M= + +os-tmpdir@^1.0.0: + version "1.0.2" + resolved "https://registry.yarnpkg.com/os-tmpdir/-/os-tmpdir-1.0.2.tgz#bbe67406c79aa85c5cfec766fe5734555dfa1274" + integrity sha1-u+Z0BseaqFxc/sdm/lc0VV36EnQ= + +osenv@^0.1.4: + version "0.1.5" + resolved "https://registry.yarnpkg.com/osenv/-/osenv-0.1.5.tgz#85cdfafaeb28e8677f416e287592b5f3f49ea410" + integrity sha512-0CWcCECdMVc2Rw3U5w9ZjqX6ga6ubk1xDVKxtBQPK7wis/0F2r9T6k4ydGYhecl7YUBxBVxhL5oisPsNxAPe2g== + dependencies: + os-homedir "^1.0.0" + os-tmpdir "^1.0.0" + +p-any@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/p-any/-/p-any-1.1.0.tgz#1d03835c7eed1e34b8e539c47b7b60d0d015d4e1" + integrity sha512-Ef0tVa4CZ5pTAmKn+Cg3w8ABBXh+hHO1aV8281dKOoUHfX+3tjG2EaFcC+aZyagg9b4EYGsHEjz21DnEE8Og2g== + dependencies: + p-some "^2.0.0" + +p-cancelable@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/p-cancelable/-/p-cancelable-1.0.0.tgz#07e9c6d22c31f9c6784cb4f1e1454a79b6d9e2d6" + integrity sha512-USgPoaC6tkTGlS831CxsVdmZmyb8tR1D+hStI84MyckLOzfJlYQUweomrwE3D8T7u5u5GVuW064LT501wHTYYA== + +p-finally@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/p-finally/-/p-finally-1.0.0.tgz#3fbcfb15b899a44123b34b6dcc18b724336a2cae" + integrity sha1-P7z7FbiZpEEjs0ttzBi3JDNqLK4= + +p-limit@^2.0.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/p-limit/-/p-limit-2.1.0.tgz#1d5a0d20fb12707c758a655f6bbc4386b5930d68" + integrity sha512-NhURkNcrVB+8hNfLuysU8enY5xn2KXphsHBaC2YmRNTZRc7RWusw6apSpdEj3jo4CMb6W9nrF6tTnsJsJeyu6g== + dependencies: + p-try "^2.0.0" + +p-locate@~3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/p-locate/-/p-locate-3.0.0.tgz#322d69a05c0264b25997d9f40cd8a891ab0064a4" + integrity sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ== + dependencies: + p-limit "^2.0.0" + +p-reduce@~1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/p-reduce/-/p-reduce-1.0.0.tgz#18c2b0dd936a4690a529f8231f58a0fdb6a47dfa" + integrity sha1-GMKw3ZNqRpClKfgjH1ig/bakffo= + +p-some@^2.0.0: + version "2.0.1" + resolved "https://registry.yarnpkg.com/p-some/-/p-some-2.0.1.tgz#65d87c8b154edbcf5221d167778b6d2e150f6f06" + integrity sha1-Zdh8ixVO289SIdFnd4ttLhUPbwY= + dependencies: + aggregate-error "^1.0.0" + +p-timeout@^2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/p-timeout/-/p-timeout-2.0.1.tgz#d8dd1979595d2dc0139e1fe46b8b646cb3cdf038" + integrity sha512-88em58dDVB/KzPEx1X0N3LwFfYZPyDc4B6eF38M1rk9VTZMbxXXgjugz8mmwpS9Ox4BDZ+t6t3QP5+/gazweIA== + dependencies: + p-finally "^1.0.0" + +p-try@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/p-try/-/p-try-2.0.0.tgz#85080bb87c64688fa47996fe8f7dfbe8211760b1" + integrity sha512-hMp0onDKIajHfIkdRk3P4CdCmErkYAxxDtP3Wx/4nZ3aGlau2VKh3mZpcuFkH27WQkL/3WBCPOktzA9ZOAnMQQ== + +package-json@^4.0.0: + version "4.0.1" + resolved "https://registry.yarnpkg.com/package-json/-/package-json-4.0.1.tgz#8869a0401253661c4c4ca3da6c2121ed555f5eed" + integrity sha1-iGmgQBJTZhxMTKPabCEh7VVfXu0= + dependencies: + got "^6.7.1" + registry-auth-token "^3.0.1" + registry-url "^3.0.3" + semver "^5.1.0" + +parse5@^3.0.1: + version "3.0.3" + resolved "https://registry.yarnpkg.com/parse5/-/parse5-3.0.3.tgz#042f792ffdd36851551cf4e9e066b3874ab45b5c" + integrity sha512-rgO9Zg5LLLkfJF9E6CCmXlSE4UVceloys8JrFqCcHloC3usd/kJCyPDwH2SOlzix2j3xaP9sUX3e8+kvkuleAA== + dependencies: + "@types/node" "*" + +parseurl@~1.3.2: + version "1.3.2" + resolved "https://registry.yarnpkg.com/parseurl/-/parseurl-1.3.2.tgz#fc289d4ed8993119460c156253262cdc8de65bf3" + integrity sha1-/CidTtiZMRlGDBViUyYs3I3mW/M= + +pascalcase@^0.1.1: + version "0.1.1" + resolved "https://registry.yarnpkg.com/pascalcase/-/pascalcase-0.1.1.tgz#b363e55e8006ca6fe21784d2db22bd15d7917f14" + integrity sha1-s2PlXoAGym/iF4TS2yK9FdeRfxQ= + +path-dirname@^1.0.0: + version "1.0.2" + resolved "https://registry.yarnpkg.com/path-dirname/-/path-dirname-1.0.2.tgz#cc33d24d525e099a5388c0336c6e32b9160609e0" + integrity sha1-zDPSTVJeCZpTiMAzbG4yuRYGCeA= + +path-is-absolute@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/path-is-absolute/-/path-is-absolute-1.0.1.tgz#174b9268735534ffbc7ace6bf53a5a9e1b5c5f5f" + integrity sha1-F0uSaHNVNP+8es5r9TpanhtcX18= + +path-is-inside@^1.0.1: + version "1.0.2" + resolved "https://registry.yarnpkg.com/path-is-inside/-/path-is-inside-1.0.2.tgz#365417dede44430d1c11af61027facf074bdfc53" + integrity sha1-NlQX3t5EQw0cEa9hAn+s8HS9/FM= + +path-key@^2.0.0: + version "2.0.1" + resolved "https://registry.yarnpkg.com/path-key/-/path-key-2.0.1.tgz#411cadb574c5a140d3a4b1910d40d80cc9f40b40" + integrity sha1-QRyttXTFoUDTpLGRDUDYDMn0C0A= + +path-to-regexp@0.1.7: + version "0.1.7" + resolved "https://registry.yarnpkg.com/path-to-regexp/-/path-to-regexp-0.1.7.tgz#df604178005f522f15eb4490e7247a1bfaa67f8c" + integrity sha1-32BBeABfUi8V60SQ5yR6G/qmf4w= + +performance-now@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/performance-now/-/performance-now-2.1.0.tgz#6309f4e0e5fa913ec1c69307ae364b4b377c9e7b" + integrity sha1-Ywn04OX6kT7BxpMHrjZLSzd8nns= + +pify@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/pify/-/pify-3.0.0.tgz#e5a4acd2c101fdf3d9a4d07f0dbc4db49dd28176" + integrity sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY= + +port-numbers@^4.0.4: + version "4.0.4" + resolved "https://registry.yarnpkg.com/port-numbers/-/port-numbers-4.0.4.tgz#fe1c1fa7cd551f4ceb835b3bbf88c07baa0783d7" + integrity sha512-iicgo0Gltog+OinSw/ESmKOLi4Kfus/OQ6KfN4iOObYVh/Ap13PlFIBulPooBMKnEVm2SUO3Fs2Lk6T9culk1Q== + +posix-character-classes@^0.1.0: + version "0.1.1" + resolved "https://registry.yarnpkg.com/posix-character-classes/-/posix-character-classes-0.1.1.tgz#01eac0fe3b5af71a2a6c02feabb8c1fef7e00eab" + integrity sha1-AerA/jta9xoqbAL+q7jB/vfgDqs= + +postcss@^7.0.5: + version "7.0.7" + resolved "https://registry.yarnpkg.com/postcss/-/postcss-7.0.7.tgz#2754d073f77acb4ef08f1235c36c5721a7201614" + integrity sha512-HThWSJEPkupqew2fnuQMEI2YcTj/8gMV3n80cMdJsKxfIh5tHf7nM5JigNX6LxVMqo6zkgQNAI88hyFvBk41Pg== + dependencies: + chalk "^2.4.1" + source-map "^0.6.1" + supports-color "^5.5.0" + +prepend-http@^1.0.1: + version "1.0.4" + resolved "https://registry.yarnpkg.com/prepend-http/-/prepend-http-1.0.4.tgz#d4f4562b0ce3696e41ac52d0e002e57a635dc6dc" + integrity sha1-1PRWKwzjaW5BrFLQ4ALlemNdxtw= + +prepend-http@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/prepend-http/-/prepend-http-2.0.0.tgz#e92434bfa5ea8c19f41cdfd401d741a3c819d897" + integrity sha1-6SQ0v6XqjBn0HN/UAddBo8gZ2Jc= + +process-nextick-args@~2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/process-nextick-args/-/process-nextick-args-2.0.0.tgz#a37d732f4271b4ab1ad070d35508e8290788ffaa" + integrity sha512-MtEC1TqN0EU5nephaJ4rAtThHtC86dNN9qCuEhtshvpVBkAW5ZO7BASN9REnF9eoXGcRub+pFuKEpOHE+HbEMw== + +protobufjs@^6.8.6: + version "6.8.8" + resolved "https://registry.yarnpkg.com/protobufjs/-/protobufjs-6.8.8.tgz#c8b4f1282fd7a90e6f5b109ed11c84af82908e7c" + integrity sha512-AAmHtD5pXgZfi7GMpllpO3q1Xw1OYldr+dMUlAnffGTAhqkg72WdmSY71uKBF/JuyiKs8psYbtKrhi0ASCD8qw== + dependencies: + "@protobufjs/aspromise" "^1.1.2" + "@protobufjs/base64" "^1.1.2" + "@protobufjs/codegen" "^2.0.4" + "@protobufjs/eventemitter" "^1.1.0" + "@protobufjs/fetch" "^1.1.0" + "@protobufjs/float" "^1.0.2" + "@protobufjs/inquire" "^1.1.0" + "@protobufjs/path" "^1.1.2" + "@protobufjs/pool" "^1.1.0" + "@protobufjs/utf8" "^1.1.0" + "@types/long" "^4.0.0" + "@types/node" "^10.1.0" + long "^4.0.0" + +proxy-addr@~2.0.4: + version "2.0.4" + resolved "https://registry.yarnpkg.com/proxy-addr/-/proxy-addr-2.0.4.tgz#ecfc733bf22ff8c6f407fa275327b9ab67e48b93" + integrity sha512-5erio2h9jp5CHGwcybmxmVqHmnCBZeewlfJ0pex+UW7Qny7OOZXTtH56TGNyBizkgiOwhJtMKrVzDTeKcySZwA== + dependencies: + forwarded "~0.1.2" + ipaddr.js "1.8.0" + +pseudomap@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/pseudomap/-/pseudomap-1.0.2.tgz#f052a28da70e618917ef0a8ac34c1ae5a68286b3" + integrity sha1-8FKijacOYYkX7wqKw0wa5aaChrM= + +psl@^1.1.24, psl@^1.1.28: + version "1.1.31" + resolved "https://registry.yarnpkg.com/psl/-/psl-1.1.31.tgz#e9aa86d0101b5b105cbe93ac6b784cd547276184" + integrity sha512-/6pt4+C+T+wZUieKR620OpzN/LlnNKuWjy1iFLQ/UG35JqHlR/89MP1d96dUfkf6Dne3TuLQzOYEYshJ+Hx8mw== + +pstree.remy@^1.1.6: + version "1.1.6" + resolved "https://registry.yarnpkg.com/pstree.remy/-/pstree.remy-1.1.6.tgz#73a55aad9e2d95814927131fbf4dc1b62d259f47" + integrity sha512-NdF35+QsqD7EgNEI5mkI/X+UwaxVEbQaz9f4IooEmMUv6ZPmlTQYGjBPJGgrlzNdjSvIy4MWMg6Q6vCgBO2K+w== + +pump@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/pump/-/pump-3.0.0.tgz#b4a2116815bde2f4e1ea602354e8c75565107a64" + integrity sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww== + dependencies: + end-of-stream "^1.1.0" + once "^1.3.1" + +punycode@^1.4.1: + version "1.4.1" + resolved "https://registry.yarnpkg.com/punycode/-/punycode-1.4.1.tgz#c0d5a63b2718800ad8e1eb0fa5269c84dd41845e" + integrity sha1-wNWmOycYgArY4esPpSachN1BhF4= + +punycode@^2.1.0, punycode@^2.1.1: + version "2.1.1" + resolved "https://registry.yarnpkg.com/punycode/-/punycode-2.1.1.tgz#b58b010ac40c22c5657616c8d2c2c02c7bf479ec" + integrity sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A== + +qs@6.5.2, qs@~6.5.2: + version "6.5.2" + resolved "https://registry.yarnpkg.com/qs/-/qs-6.5.2.tgz#cb3ae806e8740444584ef154ce8ee98d403f3e36" + integrity sha512-N5ZAX4/LxJmF+7wN74pUD6qAh9/wnvdQcjq9TZjevvXzSUo7bfmw91saqMjzGS2xq91/odN2dW/WOl7qQHNDGA== + +qsm@~2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/qsm/-/qsm-2.1.0.tgz#53c5d28424e2900e1b83d8e958bc916552322516" + integrity sha512-v+5GHA5DkXpqHGXnrZMqft2I2esvq7BJTm+EKN3L+BFzKcx/JwmazJzrebOjuOzYrJreT+JS13K78TReKkI17Q== + +querystringify@^2.0.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/querystringify/-/querystringify-2.1.0.tgz#7ded8dfbf7879dcc60d0a644ac6754b283ad17ef" + integrity sha512-sluvZZ1YiTLD5jsqZcDmFyV2EwToyXZBfpoVOmktMmW+VEnhgakFHnasVph65fOjGPTWN0Nw3+XQaSeMayr0kg== + +range-parser@~1.2.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/range-parser/-/range-parser-1.2.0.tgz#f49be6b487894ddc40dcc94a322f611092e00d5e" + integrity sha1-9JvmtIeJTdxA3MlKMi9hEJLgDV4= + +raw-body@2.3.3: + version "2.3.3" + resolved "https://registry.yarnpkg.com/raw-body/-/raw-body-2.3.3.tgz#1b324ece6b5706e153855bc1148c65bb7f6ea0c3" + integrity sha512-9esiElv1BrZoI3rCDuOuKCBRbuApGGaDPQfjSflGxdy4oyzqghxu6klEkkVIvBje+FF0BX9coEv8KqW6X/7njw== + dependencies: + bytes "3.0.0" + http-errors "1.6.3" + iconv-lite "0.4.23" + unpipe "1.0.0" + +rc@^1.0.1, rc@^1.1.6, rc@^1.2.7: + version "1.2.8" + resolved "https://registry.yarnpkg.com/rc/-/rc-1.2.8.tgz#cd924bf5200a075b83c188cd6b9e211b7fc0d3ed" + integrity sha512-y3bGgqKj3QBdxLbLkomlohkvsA8gdAiUQlSBJnBhfn+BPxg4bc62d8TcBW15wavDfgexCgccckhcZvywyQYPOw== + dependencies: + deep-extend "^0.6.0" + ini "~1.3.0" + minimist "^1.2.0" + strip-json-comments "~2.0.1" + +readable-stream@1.1.x: + version "1.1.14" + resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-1.1.14.tgz#7cf4c54ef648e3813084c636dd2079e166c081d9" + integrity sha1-fPTFTvZI44EwhMY23SB54WbAgdk= + dependencies: + core-util-is "~1.0.0" + inherits "~2.0.1" + isarray "0.0.1" + string_decoder "~0.10.x" + +readable-stream@^2.0.2, readable-stream@^2.0.6: + version "2.3.6" + resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-2.3.6.tgz#b11c27d88b8ff1fbe070643cf94b0c79ae1b0aaf" + integrity sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw== + dependencies: + core-util-is "~1.0.0" + inherits "~2.0.3" + isarray "~1.0.0" + process-nextick-args "~2.0.0" + safe-buffer "~5.1.1" + string_decoder "~1.1.1" + util-deprecate "~1.0.1" + +readable-stream@^3.0.6: + version "3.1.1" + resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-3.1.1.tgz#ed6bbc6c5ba58b090039ff18ce670515795aeb06" + integrity sha512-DkN66hPyqDhnIQ6Jcsvx9bFjhw214O4poMBcIMgPVpQvNy9a0e0Uhg5SqySyDKAmUlwt8LonTBz1ezOnM8pUdA== + dependencies: + inherits "^2.0.3" + string_decoder "^1.1.1" + util-deprecate "^1.0.1" + +readdirp@^2.0.0: + version "2.2.1" + resolved "https://registry.yarnpkg.com/readdirp/-/readdirp-2.2.1.tgz#0e87622a3325aa33e892285caf8b4e846529a525" + integrity sha512-1JU/8q+VgFZyxwrJ+SVIOsh+KywWGpds3NTqikiKpDMZWScmAYyKIgqkO+ARvNWJfXeXR1zxz7aHF4u4CyH6vQ== + dependencies: + graceful-fs "^4.1.11" + micromatch "^3.1.10" + readable-stream "^2.0.2" + +regex-not@^1.0.0, regex-not@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/regex-not/-/regex-not-1.0.2.tgz#1f4ece27e00b0b65e0247a6810e6a85d83a5752c" + integrity sha512-J6SDjUgDxQj5NusnOtdFxDwN/+HWykR8GELwctJ7mdqhcyy1xEc4SRFHUXvxTp661YaVKAjfRLZ9cCqS6tn32A== + dependencies: + extend-shallow "^3.0.2" + safe-regex "^1.1.0" + +registry-auth-token@^3.0.1: + version "3.3.2" + resolved "https://registry.yarnpkg.com/registry-auth-token/-/registry-auth-token-3.3.2.tgz#851fd49038eecb586911115af845260eec983f20" + integrity sha512-JL39c60XlzCVgNrO+qq68FoNb56w/m7JYvGR2jT5iR1xBrUA3Mfx5Twk5rqTThPmQKMWydGmq8oFtDlxfrmxnQ== + dependencies: + rc "^1.1.6" + safe-buffer "^5.0.1" + +registry-url@^3.0.3: + version "3.1.0" + resolved "https://registry.yarnpkg.com/registry-url/-/registry-url-3.1.0.tgz#3d4ef870f73dde1d77f0cf9a381432444e174942" + integrity sha1-PU74cPc93h138M+aOBQyRE4XSUI= + dependencies: + rc "^1.0.1" + +remove-trailing-separator@^1.0.1: + version "1.1.0" + resolved "https://registry.yarnpkg.com/remove-trailing-separator/-/remove-trailing-separator-1.1.0.tgz#c24bce2a283adad5bc3f58e0d48249b92379d8ef" + integrity sha1-wkvOKig62tW8P1jg1IJJuSN52O8= + +repeat-element@^1.1.2: + version "1.1.3" + resolved "https://registry.yarnpkg.com/repeat-element/-/repeat-element-1.1.3.tgz#782e0d825c0c5a3bb39731f84efee6b742e6b1ce" + integrity sha512-ahGq0ZnV5m5XtZLMb+vP76kcAM5nkLqk0lpqAuojSKGgQtn4eRi4ZZGm2olo2zKFH+sMsWaqOCW1dqAnOru72g== + +repeat-string@^1.6.1: + version "1.6.1" + resolved "https://registry.yarnpkg.com/repeat-string/-/repeat-string-1.6.1.tgz#8dcae470e1c88abc2d600fff4a776286da75e637" + integrity sha1-jcrkcOHIirwtYA//Sndihtp15jc= + +request-promise-core@1.1.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/request-promise-core/-/request-promise-core-1.1.1.tgz#3eee00b2c5aa83239cfb04c5700da36f81cd08b6" + integrity sha1-Pu4AssWqgyOc+wTFcA2jb4HNCLY= + dependencies: + lodash "^4.13.1" + +request-promise-native@^1.0.5: + version "1.0.5" + resolved "https://registry.yarnpkg.com/request-promise-native/-/request-promise-native-1.0.5.tgz#5281770f68e0c9719e5163fd3fab482215f4fda5" + integrity sha1-UoF3D2jgyXGeUWP9P6tIIhX0/aU= + dependencies: + request-promise-core "1.1.1" + stealthy-require "^1.1.0" + tough-cookie ">=2.3.3" + +request@^2.88.0: + version "2.88.0" + resolved "https://registry.yarnpkg.com/request/-/request-2.88.0.tgz#9c2fca4f7d35b592efe57c7f0a55e81052124fef" + integrity sha512-NAqBSrijGLZdM0WZNsInLJpkJokL72XYjUpnB0iwsRgxh7dB6COrHnTBNwN0E+lHDAJzu7kLAkDeY08z2/A0hg== + dependencies: + aws-sign2 "~0.7.0" + aws4 "^1.8.0" + caseless "~0.12.0" + combined-stream "~1.0.6" + extend "~3.0.2" + forever-agent "~0.6.1" + form-data "~2.3.2" + har-validator "~5.1.0" + http-signature "~1.2.0" + is-typedarray "~1.0.0" + isstream "~0.1.2" + json-stringify-safe "~5.0.1" + mime-types "~2.1.19" + oauth-sign "~0.9.0" + performance-now "^2.1.0" + qs "~6.5.2" + safe-buffer "^5.1.2" + tough-cookie "~2.4.3" + tunnel-agent "^0.6.0" + uuid "^3.3.2" + +requires-port@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/requires-port/-/requires-port-1.0.0.tgz#925d2601d39ac485e091cf0da5c6e694dc3dcaff" + integrity sha1-kl0mAdOaxIXgkc8NpcbmlNw9yv8= + +resolve-url@^0.2.1: + version "0.2.1" + resolved "https://registry.yarnpkg.com/resolve-url/-/resolve-url-0.2.1.tgz#2c637fe77c893afd2a663fe21aa9080068e2052a" + integrity sha1-LGN/53yJOv0qZj/iGqkIAGjiBSo= + +responselike@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/responselike/-/responselike-1.0.2.tgz#918720ef3b631c5642be068f15ade5a46f4ba1e7" + integrity sha1-kYcg7ztjHFZCvgaPFa3lpG9Loec= + dependencies: + lowercase-keys "^1.0.0" + +ret@~0.1.10: + version "0.1.15" + resolved "https://registry.yarnpkg.com/ret/-/ret-0.1.15.tgz#b8a4825d5bdb1fc3f6f53c2bc33f81388681c7bc" + integrity sha512-TTlYpa+OL+vMMNG24xSlQGEJ3B/RzEfUlLct7b5G/ytav+wPrplCpVMFuwzXbkecJrb6IYo1iFb0S9v37754mg== + +retry@0.12.0: + version "0.12.0" + resolved "https://registry.yarnpkg.com/retry/-/retry-0.12.0.tgz#1b42a6266a21f07421d1b0b54b7dc167b01c013b" + integrity sha1-G0KmJmoh8HQh0bC1S33BZ7AcATs= + +rimraf@^2.6.1: + version "2.6.2" + resolved "https://registry.yarnpkg.com/rimraf/-/rimraf-2.6.2.tgz#2ed8150d24a16ea8651e6d6ef0f47c4158ce7a36" + integrity sha512-lreewLK/BlghmxtfH36YYVg1i8IAce4TI7oao75I1g245+6BctqTVQiBP3YUJ9C6DQOXJmkYR9X9fCLtCOJc5w== + dependencies: + glob "^7.0.5" + +router-ips@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/router-ips/-/router-ips-1.0.0.tgz#44e00858ebebc0133d58e40b2cd8a1fbb04203f5" + integrity sha1-ROAIWOvrwBM9WOQLLNih+7BCA/U= + +safe-buffer@5.1.2, safe-buffer@^5.0.1, safe-buffer@^5.1.2, safe-buffer@~5.1.0, safe-buffer@~5.1.1: + version "5.1.2" + resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.1.2.tgz#991ec69d296e0313747d59bdfd2b745c35f8828d" + integrity sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g== + +safe-regex@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/safe-regex/-/safe-regex-1.1.0.tgz#40a3669f3b077d1e943d44629e157dd48023bf2e" + integrity sha1-QKNmnzsHfR6UPURinhV91IAjvy4= + dependencies: + ret "~0.1.10" + +"safer-buffer@>= 2.1.2 < 3", safer-buffer@^2.0.2, safer-buffer@^2.1.0, safer-buffer@~2.1.0: + version "2.1.2" + resolved "https://registry.yarnpkg.com/safer-buffer/-/safer-buffer-2.1.2.tgz#44fa161b0187b9549dd84bb91802f9bd8385cd6a" + integrity sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg== + +sanitize-html@~1.20.0: + version "1.20.0" + resolved "https://registry.yarnpkg.com/sanitize-html/-/sanitize-html-1.20.0.tgz#9a602beb1c9faf960fb31f9890f61911cc4d9156" + integrity sha512-BpxXkBoAG+uKCHjoXFmox6kCSYpnulABoGcZ/R3QyY9ndXbIM5S94eOr1IqnzTG8TnbmXaxWoDDzKC5eJv7fEQ== + dependencies: + chalk "^2.4.1" + htmlparser2 "^3.10.0" + lodash.clonedeep "^4.5.0" + lodash.escaperegexp "^4.1.2" + lodash.isplainobject "^4.0.6" + lodash.isstring "^4.0.1" + lodash.mergewith "^4.6.1" + postcss "^7.0.5" + srcset "^1.0.0" + xtend "^4.0.1" + +sax@^1.2.4: + version "1.2.4" + resolved "https://registry.yarnpkg.com/sax/-/sax-1.2.4.tgz#2816234e2378bddc4e5354fab5caa895df7100d9" + integrity sha512-NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw== + +semver-diff@^2.0.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/semver-diff/-/semver-diff-2.1.0.tgz#4bbb8437c8d37e4b0cf1a68fd726ec6d645d6d36" + integrity sha1-S7uEN8jTfksM8aaP1ybsbWRdbTY= + dependencies: + semver "^5.0.3" + +semver@^5.0.3, semver@^5.1.0, semver@^5.3.0, semver@^5.5.0: + version "5.6.0" + resolved "https://registry.yarnpkg.com/semver/-/semver-5.6.0.tgz#7e74256fbaa49c75aa7c7a205cc22799cac80004" + integrity sha512-RS9R6R35NYgQn++fkDWaOmqGoj4Ek9gGs+DPxNUZKuwE183xjJroKvyo1IzVFeXvUrvmALy6FWD5xrdJT25gMg== + +send@0.16.2: + version "0.16.2" + resolved "https://registry.yarnpkg.com/send/-/send-0.16.2.tgz#6ecca1e0f8c156d141597559848df64730a6bbc1" + integrity sha512-E64YFPUssFHEFBvpbbjr44NCLtI1AohxQ8ZSiJjQLskAdKuriYEP6VyGEsRDH8ScozGpkaX1BGvhanqCwkcEZw== + dependencies: + debug "2.6.9" + depd "~1.1.2" + destroy "~1.0.4" + encodeurl "~1.0.2" + escape-html "~1.0.3" + etag "~1.8.1" + fresh "0.5.2" + http-errors "~1.6.2" + mime "1.4.1" + ms "2.0.0" + on-finished "~2.3.0" + range-parser "~1.2.0" + statuses "~1.4.0" + +serve-static@1.13.2: + version "1.13.2" + resolved "https://registry.yarnpkg.com/serve-static/-/serve-static-1.13.2.tgz#095e8472fd5b46237db50ce486a43f4b86c6cec1" + integrity sha512-p/tdJrO4U387R9oMjb1oj7qSMaMfmOyd4j9hOFoxZe2baQszgHcSWjuya/CiT5kgZZKRudHNOA0pYXOl8rQ5nw== + dependencies: + encodeurl "~1.0.2" + escape-html "~1.0.3" + parseurl "~1.3.2" + send "0.16.2" + +set-blocking@~2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/set-blocking/-/set-blocking-2.0.0.tgz#045f9782d011ae9a6803ddd382b24392b3d890f7" + integrity sha1-BF+XgtARrppoA93TgrJDkrPYkPc= + +set-value@^0.4.3: + version "0.4.3" + resolved "https://registry.yarnpkg.com/set-value/-/set-value-0.4.3.tgz#7db08f9d3d22dc7f78e53af3c3bf4666ecdfccf1" + integrity sha1-fbCPnT0i3H945Trzw79GZuzfzPE= + dependencies: + extend-shallow "^2.0.1" + is-extendable "^0.1.1" + is-plain-object "^2.0.1" + to-object-path "^0.3.0" + +set-value@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/set-value/-/set-value-2.0.0.tgz#71ae4a88f0feefbbf52d1ea604f3fb315ebb6274" + integrity sha512-hw0yxk9GT/Hr5yJEYnHNKYXkIA8mVJgd9ditYZCe16ZczcaELYYcfvaXesNACk2O8O0nTiPQcQhGUQj8JLzeeg== + dependencies: + extend-shallow "^2.0.1" + is-extendable "^0.1.1" + is-plain-object "^2.0.3" + split-string "^3.0.1" + +setprototypeof@1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/setprototypeof/-/setprototypeof-1.1.0.tgz#d0bd85536887b6fe7c0d818cb962d9d91c54e656" + integrity sha512-BvE/TwpZX4FXExxOxZyRGQQv651MSwmWKZGqvmPcRIjDqWub67kTKuIMx43cZZrS/cBBzwBcNDWoFxt2XEFIpQ== + +shebang-command@^1.2.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/shebang-command/-/shebang-command-1.2.0.tgz#44aac65b695b03398968c39f363fee5deafdf1ea" + integrity sha1-RKrGW2lbAzmJaMOfNj/uXer98eo= + dependencies: + shebang-regex "^1.0.0" + +shebang-regex@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/shebang-regex/-/shebang-regex-1.0.0.tgz#da42f49740c0b42db2ca9728571cb190c98efea3" + integrity sha1-2kL0l0DAtC2yypcoVxyxkMmO/qM= + +signal-exit@^3.0.0, signal-exit@^3.0.2: + version "3.0.2" + resolved "https://registry.yarnpkg.com/signal-exit/-/signal-exit-3.0.2.tgz#b5fdc08f1287ea1178628e415e25132b73646c6d" + integrity sha1-tf3AjxKH6hF4Yo5BXiUTK3NkbG0= + +smartquotes@~2.3.1: + version "2.3.1" + resolved "https://registry.yarnpkg.com/smartquotes/-/smartquotes-2.3.1.tgz#01ebb595d6c7a9e24d90e8cb95c17d0e1af49407" + integrity sha1-Aeu1ldbHqeJNkOjLlcF9Dhr0lAc= + +snapdragon-node@^2.0.1: + version "2.1.1" + resolved "https://registry.yarnpkg.com/snapdragon-node/-/snapdragon-node-2.1.1.tgz#6c175f86ff14bdb0724563e8f3c1b021a286853b" + integrity sha512-O27l4xaMYt/RSQ5TR3vpWCAB5Kb/czIcqUFOM/C4fYcLnbZUc1PkjTAMjof2pBWaSTwOUd6qUHcFGVGj7aIwnw== + dependencies: + define-property "^1.0.0" + isobject "^3.0.0" + snapdragon-util "^3.0.1" + +snapdragon-util@^3.0.1: + version "3.0.1" + resolved "https://registry.yarnpkg.com/snapdragon-util/-/snapdragon-util-3.0.1.tgz#f956479486f2acd79700693f6f7b805e45ab56e2" + integrity sha512-mbKkMdQKsjX4BAL4bRYTj21edOf8cN7XHdYUJEe+Zn99hVEYcMvKPct1IqNe7+AZPirn8BCDOQBHQZknqmKlZQ== + dependencies: + kind-of "^3.2.0" + +snapdragon@^0.8.1: + version "0.8.2" + resolved "https://registry.yarnpkg.com/snapdragon/-/snapdragon-0.8.2.tgz#64922e7c565b0e14204ba1aa7d6964278d25182d" + integrity sha512-FtyOnWN/wCHTVXOMwvSv26d+ko5vWlIDD6zoUJ7LW8vh+ZBC8QdljveRP+crNrtBwioEUWy/4dMtbBjA4ioNlg== + dependencies: + base "^0.11.1" + debug "^2.2.0" + define-property "^0.2.5" + extend-shallow "^2.0.1" + map-cache "^0.2.2" + source-map "^0.5.6" + source-map-resolve "^0.5.0" + use "^3.1.0" + +source-map-resolve@^0.5.0: + version "0.5.2" + resolved "https://registry.yarnpkg.com/source-map-resolve/-/source-map-resolve-0.5.2.tgz#72e2cc34095543e43b2c62b2c4c10d4a9054f259" + integrity sha512-MjqsvNwyz1s0k81Goz/9vRBe9SZdB09Bdw+/zYyO+3CuPk6fouTaxscHkgtE8jKvf01kVfl8riHzERQ/kefaSA== + dependencies: + atob "^2.1.1" + decode-uri-component "^0.2.0" + resolve-url "^0.2.1" + source-map-url "^0.4.0" + urix "^0.1.0" + +source-map-url@^0.4.0: + version "0.4.0" + resolved "https://registry.yarnpkg.com/source-map-url/-/source-map-url-0.4.0.tgz#3e935d7ddd73631b97659956d55128e87b5084a3" + integrity sha1-PpNdfd1zYxuXZZlW1VEo6HtQhKM= + +source-map@^0.5.6: + version "0.5.7" + resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.5.7.tgz#8a039d2d1021d22d1ea14c80d8ea468ba2ef3fcc" + integrity sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w= + +source-map@^0.6.1: + version "0.6.1" + resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.6.1.tgz#74722af32e9614e9c287a8d0bbde48b5e2f1a263" + integrity sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g== + +split-string@^3.0.1, split-string@^3.0.2: + version "3.1.0" + resolved "https://registry.yarnpkg.com/split-string/-/split-string-3.1.0.tgz#7cb09dda3a86585705c64b39a6466038682e8fe2" + integrity sha512-NzNVhJDYpwceVVii8/Hu6DKfD2G+NrQHlS/V/qgv763EYudVwEcMQNxd2lh+0VrUByXN/oJkl5grOhYWvQUYiw== + dependencies: + extend-shallow "^3.0.0" + +srcset@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/srcset/-/srcset-1.0.0.tgz#a5669de12b42f3b1d5e83ed03c71046fc48f41ef" + integrity sha1-pWad4StC87HV6D7QPHEEb8SPQe8= + dependencies: + array-uniq "^1.0.2" + number-is-nan "^1.0.0" + +sshpk@^1.7.0: + version "1.16.0" + resolved "https://registry.yarnpkg.com/sshpk/-/sshpk-1.16.0.tgz#1d4963a2fbffe58050aa9084ca20be81741c07de" + integrity sha512-Zhev35/y7hRMcID/upReIvRse+I9SVhyVre/KTJSJQWMz3C3+G+HpO7m1wK/yckEtujKZ7dS4hkVxAnmHaIGVQ== + dependencies: + asn1 "~0.2.3" + assert-plus "^1.0.0" + bcrypt-pbkdf "^1.0.0" + dashdash "^1.12.0" + ecc-jsbn "~0.1.1" + getpass "^0.1.1" + jsbn "~0.1.0" + safer-buffer "^2.0.2" + tweetnacl "~0.14.0" + +static-extend@^0.1.1: + version "0.1.2" + resolved "https://registry.yarnpkg.com/static-extend/-/static-extend-0.1.2.tgz#60809c39cbff55337226fd5e0b520f341f1fb5c6" + integrity sha1-YICcOcv/VTNyJv1eC1IPNB8ftcY= + dependencies: + define-property "^0.2.5" + object-copy "^0.1.0" + +"statuses@>= 1.4.0 < 2", "statuses@>= 1.5.0 < 2": + version "1.5.0" + resolved "https://registry.yarnpkg.com/statuses/-/statuses-1.5.0.tgz#161c7dac177659fd9811f43771fa99381478628c" + integrity sha1-Fhx9rBd2Wf2YEfQ3cfqZOBR4Yow= + +statuses@~1.4.0: + version "1.4.0" + resolved "https://registry.yarnpkg.com/statuses/-/statuses-1.4.0.tgz#bb73d446da2796106efcc1b601a253d6c46bd087" + integrity sha512-zhSCtt8v2NDrRlPQpCNtw/heZLtfUDqxBM1udqikb/Hbk52LK4nQSwr10u77iopCW5LsyHpuXS0GnEc48mLeew== + +stealthy-require@^1.1.0: + version "1.1.1" + resolved "https://registry.yarnpkg.com/stealthy-require/-/stealthy-require-1.1.1.tgz#35b09875b4ff49f26a777e509b3090a3226bf24b" + integrity sha1-NbCYdbT/SfJqd35QmzCQoyJr8ks= + +streamsearch@0.1.2: + version "0.1.2" + resolved "https://registry.yarnpkg.com/streamsearch/-/streamsearch-0.1.2.tgz#808b9d0e56fc273d809ba57338e929919a1a9f1a" + integrity sha1-gIudDlb8Jz2Am6VzOOkpkZoanxo= + +string-width@^1.0.1: + version "1.0.2" + resolved "https://registry.yarnpkg.com/string-width/-/string-width-1.0.2.tgz#118bdf5b8cdc51a2a7e70d211e07e2b0b9b107d3" + integrity sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M= + dependencies: + code-point-at "^1.0.0" + is-fullwidth-code-point "^1.0.0" + strip-ansi "^3.0.0" + +"string-width@^1.0.2 || 2", string-width@^2.0.0, string-width@^2.1.1: + version "2.1.1" + resolved "https://registry.yarnpkg.com/string-width/-/string-width-2.1.1.tgz#ab93f27a8dc13d28cac815c462143a6d9012ae9e" + integrity sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw== + dependencies: + is-fullwidth-code-point "^2.0.0" + strip-ansi "^4.0.0" + +string_decoder@^1.1.1: + version "1.2.0" + resolved "https://registry.yarnpkg.com/string_decoder/-/string_decoder-1.2.0.tgz#fe86e738b19544afe70469243b2a1ee9240eae8d" + integrity sha512-6YqyX6ZWEYguAxgZzHGL7SsCeGx3V2TtOTqZz1xSTSWnqsbWwbptafNyvf/ACquZUXV3DANr5BDIwNYe1mN42w== + dependencies: + safe-buffer "~5.1.0" + +string_decoder@~0.10.x: + version "0.10.31" + resolved "https://registry.yarnpkg.com/string_decoder/-/string_decoder-0.10.31.tgz#62e203bc41766c6c28c9fc84301dab1c5310fa94" + integrity sha1-YuIDvEF2bGwoyfyEMB2rHFMQ+pQ= + +string_decoder@~1.1.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/string_decoder/-/string_decoder-1.1.1.tgz#9cf1611ba62685d7030ae9e4ba34149c3af03fc8" + integrity sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg== + dependencies: + safe-buffer "~5.1.0" + +strip-ansi@^3.0.0, strip-ansi@^3.0.1: + version "3.0.1" + resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-3.0.1.tgz#6a385fb8853d952d5ff05d0e8aaf94278dc63dcf" + integrity sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8= + dependencies: + ansi-regex "^2.0.0" + +strip-ansi@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-4.0.0.tgz#a8479022eb1ac368a871389b635262c505ee368f" + integrity sha1-qEeQIusaw2iocTibY1JixQXuNo8= + dependencies: + ansi-regex "^3.0.0" + +strip-eof@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/strip-eof/-/strip-eof-1.0.0.tgz#bb43ff5598a6eb05d89b59fcd129c983313606bf" + integrity sha1-u0P/VZim6wXYm1n80SnJgzE2Br8= + +strip-json-comments@~2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/strip-json-comments/-/strip-json-comments-2.0.1.tgz#3c531942e908c2697c0ec344858c286c7ca0a60a" + integrity sha1-PFMZQukIwml8DsNEhYwobHygpgo= + +subscriptions-transport-ws@^0.9.11: + version "0.9.15" + resolved "https://registry.yarnpkg.com/subscriptions-transport-ws/-/subscriptions-transport-ws-0.9.15.tgz#68a8b7ba0037d8c489fb2f5a102d1494db297d0d" + integrity sha512-f9eBfWdHsePQV67QIX+VRhf++dn1adyC/PZHP6XI5AfKnZ4n0FW+v5omxwdHVpd4xq2ZijaHEcmlQrhBY79ZWQ== + dependencies: + backo2 "^1.0.2" + eventemitter3 "^3.1.0" + iterall "^1.2.1" + symbol-observable "^1.0.4" + ws "^5.2.0" + +supports-color@^4.0.0: + version "4.5.0" + resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-4.5.0.tgz#be7a0de484dec5c5cddf8b3d59125044912f635b" + integrity sha1-vnoN5ITexcXN34s9WRJQRJEvY1s= + dependencies: + has-flag "^2.0.0" + +supports-color@^5.2.0, supports-color@^5.3.0, supports-color@^5.5.0: + version "5.5.0" + resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-5.5.0.tgz#e2e69a44ac8772f78a1ec0b35b689df6530efc8f" + integrity sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow== + dependencies: + has-flag "^3.0.0" + +symbol-observable@^1.0.4: + version "1.2.0" + resolved "https://registry.yarnpkg.com/symbol-observable/-/symbol-observable-1.2.0.tgz#c22688aed4eab3cdc2dfeacbb561660560a00804" + integrity sha512-e900nM8RRtGhlV36KGEU9k65K3mPb1WV70OdjfxlG2EAuM1noi/E/BaW/uMhL7bPEssK8QV57vN3esixjUvcXQ== + +tar@^4: + version "4.4.8" + resolved "https://registry.yarnpkg.com/tar/-/tar-4.4.8.tgz#b19eec3fde2a96e64666df9fdb40c5ca1bc3747d" + integrity sha512-LzHF64s5chPQQS0IYBn9IN5h3i98c12bo4NCO7e0sGM2llXQ3p2FGC5sdENN4cTW48O915Sh+x+EXx7XW96xYQ== + dependencies: + chownr "^1.1.1" + fs-minipass "^1.2.5" + minipass "^2.3.4" + minizlib "^1.1.1" + mkdirp "^0.5.0" + safe-buffer "^5.1.2" + yallist "^3.0.2" + +term-size@^1.2.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/term-size/-/term-size-1.2.0.tgz#458b83887f288fc56d6fffbfad262e26638efa69" + integrity sha1-RYuDiH8oj8Vtb/+/rSYuJmOO+mk= + dependencies: + execa "^0.7.0" + +timed-out@^4.0.0: + version "4.0.1" + resolved "https://registry.yarnpkg.com/timed-out/-/timed-out-4.0.1.tgz#f32eacac5a175bea25d7fab565ab3ed8741ef56f" + integrity sha1-8y6srFoXW+ol1/q1Zas+2HQe9W8= + +title@~3.4.0: + version "3.4.0" + resolved "https://registry.yarnpkg.com/title/-/title-3.4.0.tgz#17cdfae82602f87777f137047d36ec283389c9e3" + integrity sha512-gabSoHN82rROEFIkWr9GkwqTFihjdvumQflWsvwiNeIDpJbZOYrg3bXpR0SY4QcghGM1k5QrnI4k6XAiJwOWVw== + dependencies: + arg "1.0.0" + chalk "2.3.0" + clipboardy "1.2.2" + titleize "1.0.0" + +titleize@1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/titleize/-/titleize-1.0.0.tgz#7d350722061830ba6617631e0cfd3ea08398d95a" + integrity sha1-fTUHIgYYMLpmF2MeDP0+oIOY2Vo= + +tlds@^1.187.0: + version "1.203.1" + resolved "https://registry.yarnpkg.com/tlds/-/tlds-1.203.1.tgz#4dc9b02f53de3315bc98b80665e13de3edfc1dfc" + integrity sha512-7MUlYyGJ6rSitEZ3r1Q1QNV8uSIzapS8SmmhSusBuIc7uIxPPwsKllEP0GRp1NS6Ik6F+fRZvnjDWm3ecv2hDw== + +to-object-path@^0.3.0: + version "0.3.0" + resolved "https://registry.yarnpkg.com/to-object-path/-/to-object-path-0.3.0.tgz#297588b7b0e7e0ac08e04e672f85c1f4999e17af" + integrity sha1-KXWIt7Dn4KwI4E5nL4XB9JmeF68= + dependencies: + kind-of "^3.0.2" + +to-readable-stream@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/to-readable-stream/-/to-readable-stream-1.0.0.tgz#ce0aa0c2f3df6adf852efb404a783e77c0475771" + integrity sha512-Iq25XBt6zD5npPhlLVXGFN3/gyR2/qODcKNNyTMd4vbm39HUaOiAM4PMq0eMVC/Tkxz+Zjdsc55g9yyz+Yq00Q== + +to-regex-range@^2.1.0: + version "2.1.1" + resolved "https://registry.yarnpkg.com/to-regex-range/-/to-regex-range-2.1.1.tgz#7c80c17b9dfebe599e27367e0d4dd5590141db38" + integrity sha1-fIDBe53+vlmeJzZ+DU3VWQFB2zg= + dependencies: + is-number "^3.0.0" + repeat-string "^1.6.1" + +to-regex@^3.0.1, to-regex@^3.0.2: + version "3.0.2" + resolved "https://registry.yarnpkg.com/to-regex/-/to-regex-3.0.2.tgz#13cfdd9b336552f30b51f33a8ae1b42a7a7599ce" + integrity sha512-FWtleNAtZ/Ki2qtqej2CXTOayOH9bHDQF+Q48VpWyDXjbYxA4Yz8iDB31zXOBUlOHHKidDbqGVrTUvQMPmBGBw== + dependencies: + define-property "^2.0.2" + extend-shallow "^3.0.2" + regex-not "^1.0.2" + safe-regex "^1.1.0" + +toidentifier@1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/toidentifier/-/toidentifier-1.0.0.tgz#7e1be3470f1e77948bc43d94a3c8f4d7752ba553" + integrity sha512-yaOH/Pk/VEhBWWTlhI+qXxDFXlejDGcQipMlyxda9nthulaxLZUNcUqFxokp0vcYnvteJln5FNQDRrxj3YcbVw== + +touch@^3.1.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/touch/-/touch-3.1.0.tgz#fe365f5f75ec9ed4e56825e0bb76d24ab74af83b" + integrity sha512-WBx8Uy5TLtOSRtIq+M03/sKDrXCLHxwDcquSP2c43Le03/9serjQBIztjRz6FkJez9D/hleyAXTBGLwwZUw9lA== + dependencies: + nopt "~1.0.10" + +tough-cookie@>=2.3.3: + version "2.5.0" + resolved "https://registry.yarnpkg.com/tough-cookie/-/tough-cookie-2.5.0.tgz#cd9fb2a0aa1d5a12b473bd9fb96fa3dcff65ade2" + integrity sha512-nlLsUzgm1kfLXSXfRZMc1KLAugd4hqJHDTvc2hDIwS3mZAfMEuMbc03SujMF+GEcpaX/qboeycw6iO8JwVv2+g== + dependencies: + psl "^1.1.28" + punycode "^2.1.1" + +tough-cookie@~2.4.3: + version "2.4.3" + resolved "https://registry.yarnpkg.com/tough-cookie/-/tough-cookie-2.4.3.tgz#53f36da3f47783b0925afa06ff9f3b165280f781" + integrity sha512-Q5srk/4vDM54WJsJio3XNn6K2sCG+CQ8G5Wz6bZhRZoAe/+TxjWB/GlFAnYEbkYVlON9FMk/fE3h2RLpPXo4lQ== + dependencies: + psl "^1.1.24" + punycode "^1.4.1" + +trigram-utils@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/trigram-utils/-/trigram-utils-1.0.1.tgz#9248b88393c696095640eafd8d529d30761094da" + integrity sha512-9xJJ3zcPO/b60f9TF8svW9Q0HdpPebiTh2juIVSqcptwvxybOtek+YwbC+k1qf9TosNYyyC4JtSSFDGw+EE+gQ== + dependencies: + collapse-white-space "^1.0.3" + n-gram "^1.0.0" + trim "0.0.1" + +trim@0.0.1: + version "0.0.1" + resolved "https://registry.yarnpkg.com/trim/-/trim-0.0.1.tgz#5858547f6b290757ee95cccc666fb50084c460dd" + integrity sha1-WFhUf2spB1fulczMZm+1AITEYN0= + +truncate@~2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/truncate/-/truncate-2.0.1.tgz#dd1a6d15630515663d8475f6f24edf2f800ebb1b" + integrity sha1-3RptFWMFFWY9hHX28k7fL4AOuxs= + +tunnel-agent@^0.6.0: + version "0.6.0" + resolved "https://registry.yarnpkg.com/tunnel-agent/-/tunnel-agent-0.6.0.tgz#27a5dea06b36b04a0a9966774b290868f0fc40fd" + integrity sha1-J6XeoGs2sEoKmWZ3SykIaPD8QP0= + dependencies: + safe-buffer "^5.0.1" + +tweetnacl@^0.14.3, tweetnacl@~0.14.0: + version "0.14.5" + resolved "https://registry.yarnpkg.com/tweetnacl/-/tweetnacl-0.14.5.tgz#5ae68177f192d4456269d108afa93ff8743f4f64" + integrity sha1-WuaBd/GS1EViadEIr6k/+HQ/T2Q= + +type-is@^1.6.16, type-is@~1.6.16: + version "1.6.16" + resolved "https://registry.yarnpkg.com/type-is/-/type-is-1.6.16.tgz#f89ce341541c672b25ee7ae3c73dee3b2be50194" + integrity sha512-HRkVv/5qY2G6I8iab9cI7v1bOIdhm94dVjQCPFElW9W+3GeDOSHmy2EBYe4VTApuzolPcmgFTN3ftVJRKR2J9Q== + dependencies: + media-typer "0.3.0" + mime-types "~2.1.18" + +undefsafe@^2.0.2: + version "2.0.2" + resolved "https://registry.yarnpkg.com/undefsafe/-/undefsafe-2.0.2.tgz#225f6b9e0337663e0d8e7cfd686fc2836ccace76" + integrity sha1-Il9rngM3Zj4Njnz9aG/Cg2zKznY= + dependencies: + debug "^2.2.0" + +union-value@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/union-value/-/union-value-1.0.0.tgz#5c71c34cb5bad5dcebe3ea0cd08207ba5aa1aea4" + integrity sha1-XHHDTLW61dzr4+oM0IIHulqhrqQ= + dependencies: + arr-union "^3.1.0" + get-value "^2.0.6" + is-extendable "^0.1.1" + set-value "^0.4.3" + +unique-string@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/unique-string/-/unique-string-1.0.0.tgz#9e1057cca851abb93398f8b33ae187b99caec11a" + integrity sha1-nhBXzKhRq7kzmPizOuGHuZyuwRo= + dependencies: + crypto-random-string "^1.0.0" + +unpipe@1.0.0, unpipe@~1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/unpipe/-/unpipe-1.0.0.tgz#b2bf4ee8514aae6165b4817829d21b2ef49904ec" + integrity sha1-sr9O6FFKrmFltIF4KdIbLvSZBOw= + +unset-value@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/unset-value/-/unset-value-1.0.0.tgz#8376873f7d2335179ffb1e6fc3a8ed0dfc8ab559" + integrity sha1-g3aHP30jNRef+x5vw6jtDfyKtVk= + dependencies: + has-value "^0.3.1" + isobject "^3.0.0" + +unzip-response@^2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/unzip-response/-/unzip-response-2.0.1.tgz#d2f0f737d16b0615e72a6935ed04214572d56f97" + integrity sha1-0vD3N9FrBhXnKmk17QQhRXLVb5c= + +upath@^1.0.5: + version "1.1.0" + resolved "https://registry.yarnpkg.com/upath/-/upath-1.1.0.tgz#35256597e46a581db4793d0ce47fa9aebfc9fabd" + integrity sha512-bzpH/oBhoS/QI/YtbkqCg6VEiPYjSZtrHQM6/QnJS6OL9pKUFLqb3aFh4Scvwm45+7iAgiMkLhSbaZxUqmrprw== + +update-notifier@^2.5.0: + version "2.5.0" + resolved "https://registry.yarnpkg.com/update-notifier/-/update-notifier-2.5.0.tgz#d0744593e13f161e406acb1d9408b72cad08aff6" + integrity sha512-gwMdhgJHGuj/+wHJJs9e6PcCszpxR1b236igrOkUofGhqJuG+amlIKwApH1IW1WWl7ovZxsX49lMBWLxSdm5Dw== + dependencies: + boxen "^1.2.1" + chalk "^2.0.1" + configstore "^3.0.0" + import-lazy "^2.1.0" + is-ci "^1.0.10" + is-installed-globally "^0.1.0" + is-npm "^1.0.0" + latest-version "^3.0.0" + semver-diff "^2.0.0" + xdg-basedir "^3.0.0" + +uri-js@^4.2.2: + version "4.2.2" + resolved "https://registry.yarnpkg.com/uri-js/-/uri-js-4.2.2.tgz#94c540e1ff772956e2299507c010aea6c8838eb0" + integrity sha512-KY9Frmirql91X2Qgjry0Wd4Y+YTdrdZheS8TFwvkbLWf/G5KNJDCh6pKL5OZctEW4+0Baa5idK2ZQuELRwPznQ== + dependencies: + punycode "^2.1.0" + +urix@^0.1.0: + version "0.1.0" + resolved "https://registry.yarnpkg.com/urix/-/urix-0.1.0.tgz#da937f7a62e21fec1fd18d49b35c2935067a6c72" + integrity sha1-2pN/emLiH+wf0Y1Js1wpNQZ6bHI= + +url-parse-lax@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/url-parse-lax/-/url-parse-lax-1.0.0.tgz#7af8f303645e9bd79a272e7a14ac68bc0609da73" + integrity sha1-evjzA2Rem9eaJy56FKxovAYJ2nM= + dependencies: + prepend-http "^1.0.1" + +url-parse-lax@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/url-parse-lax/-/url-parse-lax-3.0.0.tgz#16b5cafc07dbe3676c1b1999177823d6503acb0c" + integrity sha1-FrXK/Afb42dsGxmZF3gj1lA6yww= + dependencies: + prepend-http "^2.0.0" + +url-parse@^1.4.4: + version "1.4.4" + resolved "https://registry.yarnpkg.com/url-parse/-/url-parse-1.4.4.tgz#cac1556e95faa0303691fec5cf9d5a1bc34648f8" + integrity sha512-/92DTTorg4JjktLNLe6GPS2/RvAd/RGr6LuktmWSMLEOa6rjnlrFXNgSbSmkNvCoL2T028A0a1JaJLzRMlFoHg== + dependencies: + querystringify "^2.0.0" + requires-port "^1.0.0" + +url-regex@~4.1.1: + version "4.1.1" + resolved "https://registry.yarnpkg.com/url-regex/-/url-regex-4.1.1.tgz#a5617b22e15e26dac57ce74c3f52088bcdfec995" + integrity sha512-ViSDgDPNKkrQHI81GLCjdDN+Rsk3tAW/uLXlBOJxtcHzWZjta58Z0APXhfXzS89YszsheMnEvXeDXsWUB53wwA== + dependencies: + ip-regex "^1.0.1" + tlds "^1.187.0" + +use@^3.1.0: + version "3.1.1" + resolved "https://registry.yarnpkg.com/use/-/use-3.1.1.tgz#d50c8cac79a19fbc20f2911f56eb973f4e10070f" + integrity sha512-cwESVXlO3url9YWlFW/TA9cshCEhtu7IKJ/p5soJ/gGpj7vbvFrAY/eIioQ6Dw23KjZhYgiIo8HOs1nQ2vr/oQ== + +util-deprecate@^1.0.1, util-deprecate@~1.0.1: + version "1.0.2" + resolved "https://registry.yarnpkg.com/util-deprecate/-/util-deprecate-1.0.2.tgz#450d4dc9fa70de732762fbd2d4a28981419a0ccf" + integrity sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8= + +util.promisify@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/util.promisify/-/util.promisify-1.0.0.tgz#440f7165a459c9a16dc145eb8e72f35687097030" + integrity sha512-i+6qA2MPhvoKLuxnJNpXAGhg7HphQOSUq2LKMZD0m15EiskXUkMvKdF4Uui0WYeCUGea+o2cw/ZuwehtfsrNkA== + dependencies: + define-properties "^1.1.2" + object.getownpropertydescriptors "^2.0.3" + +utils-merge@1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/utils-merge/-/utils-merge-1.0.1.tgz#9f95710f50a267947b2ccc124741c1028427e713" + integrity sha1-n5VxD1CiZ5R7LMwSR0HBAoQn5xM= + +uuid@^3.1.0, uuid@^3.3.2: + version "3.3.2" + resolved "https://registry.yarnpkg.com/uuid/-/uuid-3.3.2.tgz#1b4af4955eb3077c501c23872fc6513811587131" + integrity sha512-yXJmeNaw3DnnKAOKJE51sL/ZaYfWJRl1pK9dr19YFCu0ObS231AB1/LbqTKRAQ5kw8A90rA6fr4riOUpTZvQZA== + +vary@^1, vary@~1.1.2: + version "1.1.2" + resolved "https://registry.yarnpkg.com/vary/-/vary-1.1.2.tgz#2299f02c6ded30d4a5961b0b9f74524a18f634fc" + integrity sha1-IpnwLG3tMNSllhsLn3RSShj2NPw= + +verror@1.10.0: + version "1.10.0" + resolved "https://registry.yarnpkg.com/verror/-/verror-1.10.0.tgz#3a105ca17053af55d6e270c1f8288682e18da400" + integrity sha1-OhBcoXBTr1XW4nDB+CiGguGNpAA= + dependencies: + assert-plus "^1.0.0" + core-util-is "1.0.2" + extsprintf "^1.2.0" + +video-extensions@~1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/video-extensions/-/video-extensions-1.1.0.tgz#eaa86b45f29a853c2b873e9d8e23b513712997d6" + integrity sha1-6qhrRfKahTwrhz6djiO1E3Epl9Y= + +which@^1.2.9: + version "1.3.1" + resolved "https://registry.yarnpkg.com/which/-/which-1.3.1.tgz#a45043d54f5805316da8d62f9f50918d3da70b0a" + integrity sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ== + dependencies: + isexe "^2.0.0" + +whoops@~4.0.1: + version "4.0.1" + resolved "https://registry.yarnpkg.com/whoops/-/whoops-4.0.1.tgz#568d1768386fde94a27d80983bf207e453e78f20" + integrity sha512-XlSRD73wKOGE7SgOAsy6HCkcKDS6AQjjLW7egPzYOSOPU99H1QTioxobQ4cCP7a5ACjzNdd3/nxUXOn6ysijkA== + dependencies: + clean-stack "~1.3.0" + mimic-fn "~1.1.0" + +wide-align@^1.1.0: + version "1.1.3" + resolved "https://registry.yarnpkg.com/wide-align/-/wide-align-1.1.3.tgz#ae074e6bdc0c14a431e804e624549c633b000457" + integrity sha512-QGkOQc8XL6Bt5PwnsExKBPuMKBxnGxWWW3fU55Xt4feHozMUhdUMaBCk290qpm/wG5u/RSKzwdAC4i51YigihA== + dependencies: + string-width "^1.0.2 || 2" + +widest-line@^2.0.0: + version "2.0.1" + resolved "https://registry.yarnpkg.com/widest-line/-/widest-line-2.0.1.tgz#7438764730ec7ef4381ce4df82fb98a53142a3fc" + integrity sha512-Ba5m9/Fa4Xt9eb2ELXt77JxVDV8w7qQrH0zS/TWSJdLyAwQjWoOzpzj5lwVftDz6n/EOu3tNACS84v509qwnJA== + dependencies: + string-width "^2.1.1" + +wrappy@1: + version "1.0.2" + resolved "https://registry.yarnpkg.com/wrappy/-/wrappy-1.0.2.tgz#b5243d8f3ec1aa35f1364605bc0d1036e30ab69f" + integrity sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8= + +write-file-atomic@^2.0.0: + version "2.3.0" + resolved "https://registry.yarnpkg.com/write-file-atomic/-/write-file-atomic-2.3.0.tgz#1ff61575c2e2a4e8e510d6fa4e243cce183999ab" + integrity sha512-xuPeK4OdjWqtfi59ylvVL0Yn35SF3zgcAcv7rBPFHVaEapaDr4GdGgm3j7ckTwH9wHL7fGmgfAnb0+THrHb8tA== + dependencies: + graceful-fs "^4.1.11" + imurmurhash "^0.1.4" + signal-exit "^3.0.2" + +ws@^5.2.0: + version "5.2.2" + resolved "https://registry.yarnpkg.com/ws/-/ws-5.2.2.tgz#dffef14866b8e8dc9133582514d1befaf96e980f" + integrity sha512-jaHFD6PFv6UgoIVda6qZllptQsMlDEJkTQcybzzXDYM1XO9Y8em691FGMPmM46WGyLU4z9KMgQN+qrux/nhlHA== + dependencies: + async-limiter "~1.0.0" + +ws@^6.0.0: + version "6.1.2" + resolved "https://registry.yarnpkg.com/ws/-/ws-6.1.2.tgz#3cc7462e98792f0ac679424148903ded3b9c3ad8" + integrity sha512-rfUqzvz0WxmSXtJpPMX2EeASXabOrSMk1ruMOV3JBTBjo4ac2lDjGGsbQSyxj8Odhw5fBib8ZKEjDNvgouNKYw== + dependencies: + async-limiter "~1.0.0" + +xdg-basedir@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/xdg-basedir/-/xdg-basedir-3.0.0.tgz#496b2cc109eca8dbacfe2dc72b603c17c5870ad4" + integrity sha1-SWsswQnsqNus/i3HK2A8F8WHCtQ= + +xtend@^4.0.1: + version "4.0.1" + resolved "https://registry.yarnpkg.com/xtend/-/xtend-4.0.1.tgz#a5c6d532be656e23db820efb943a1f04998d63af" + integrity sha1-pcbVMr5lbiPbgg77lDofBJmNY68= + +yallist@^2.1.2: + version "2.1.2" + resolved "https://registry.yarnpkg.com/yallist/-/yallist-2.1.2.tgz#1c11f9218f076089a47dd512f93c6699a6a81d52" + integrity sha1-HBH5IY8HYImkfdUS+TxmmaaoHVI= + +yallist@^3.0.0, yallist@^3.0.2: + version "3.0.3" + resolved "https://registry.yarnpkg.com/yallist/-/yallist-3.0.3.tgz#b4b049e314be545e3ce802236d6cd22cd91c3de9" + integrity sha512-S+Zk8DEWE6oKpV+vI3qWkaK+jSbIK86pCwe2IF/xwIpQ8jEuxpw9NyaGjmp9+BoJv5FV2piqCDcoCtStppiq2A== + +zen-observable-ts@^0.8.13: + version "0.8.13" + resolved "https://registry.yarnpkg.com/zen-observable-ts/-/zen-observable-ts-0.8.13.tgz#ae1fd77c84ef95510188b1f8bca579d7a5448fc2" + integrity sha512-WDb8SM0tHCb6c0l1k60qXWlm1ok3zN9U4VkLdnBKQwIYwUoB9psH7LIFgR+JVCCMmBxUgOjskIid8/N02k/2Bg== + dependencies: + zen-observable "^0.8.0" + +zen-observable@^0.8.0: + version "0.8.11" + resolved "https://registry.yarnpkg.com/zen-observable/-/zen-observable-0.8.11.tgz#d3415885eeeb42ee5abb9821c95bb518fcd6d199" + integrity sha512-N3xXQVr4L61rZvGMpWe8XoCGX8vhU35dPyQ4fm5CY/KDlG0F75un14hjbckPXTDuKUY6V0dqR2giT6xN8Y4GEQ== From 3b49e9fa84a86f854df02d5b1ec7fb725d7db204 Mon Sep 17 00:00:00 2001 From: Grzegorz Leoniec Date: Thu, 27 Dec 2018 16:41:32 +0100 Subject: [PATCH 002/169] Create README.md --- README.md | 10 ++++++++++ 1 file changed, 10 insertions(+) create mode 100644 README.md diff --git a/README.md b/README.md new file mode 100644 index 000000000..c2ed048b4 --- /dev/null +++ b/README.md @@ -0,0 +1,10 @@ +# Nitro-Embed +API Service for fetching URL Information like images, icons, descriptions etc. thourgh OpenGraph, oEmbed and other standards. + +> early version of simpler embed api with Metascraper and oEmbed for better results. + +## TODOS +- [x] Metascraper +- [x] oEmbed +- [ ] API Cache +- [ ] Image Caching From 18bfc85dcaa707ee9443f224f70d22cd3750eb3c Mon Sep 17 00:00:00 2001 From: Grzegorz Leoniec Date: Fri, 28 Dec 2018 12:55:42 +0100 Subject: [PATCH 003/169] added 404 error, better error correction for oEmbed, audio and soundcloud --- package.json | 1 + src/scraper.js | 27 +++++++++++++++++++++++---- yarn.lock | 7 +++++++ 3 files changed, 31 insertions(+), 4 deletions(-) diff --git a/package.json b/package.json index 4e59f09dd..77ea21967 100644 --- a/package.json +++ b/package.json @@ -40,6 +40,7 @@ "metascraper-logo": "^4.8.5", "metascraper-logo-favicon": "^4.8.5", "metascraper-publisher": "^4.8.5", + "metascraper-soundcloud": "^4.8.5", "metascraper-title": "^4.8.5", "metascraper-url": "^4.8.5", "metascraper-video": "^4.8.5", diff --git a/src/scraper.js b/src/scraper.js index 8c44dc0dd..834fad11c 100644 --- a/src/scraper.js +++ b/src/scraper.js @@ -11,11 +11,15 @@ const metascraper = require('metascraper')([ require('metascraper-publisher')(), require('metascraper-title')(), require('metascraper-url')(), + require('metascraper-audio')(), + require('metascraper-soundcloud')(), require('metascraper-video')(), require('metascraper-youtube')() // require('./rules/metascraper-embed')() ]) +const { ApolloError } = require('apollo-server') + const got = require('got') const request = require('request-promise-native') const find = require('lodash/find') @@ -69,31 +73,46 @@ const scraper = { new Promise(async (resolve, reject) => { try { embed = await scraper.fetchEmbed(targetUrl) + console.log(embed) resolve() } catch(err) { + console.error(err) resolve() } }) ]) - return { + + const output = { ...(removeEmptyAttrs(meta)), ...(removeEmptyAttrs(embed)) } + + if (isEmpty(output)) { + throw new ApolloError('Not found', 404) + } + + return output }, async fetchEmbed(targetUrl) { const url = urlParser.parse(targetUrl) const embedMeta = find(oEmbedProviders, provider => { return provider.provider_url.indexOf(url.hostname) >= 0 }) + console.log('embedMeta', embedMeta) if (!embedMeta) { return {} } const embedUrl = embedMeta.endpoints[0].url.replace('{format}', 'json') - let data = await request(`${embedUrl}?url=${targetUrl}`) - if (data) { + let data + try { + data = await request(`${embedUrl}?url=${targetUrl}`) data = JSON.parse(data) - + } catch (err) { + data = await request(`${embedUrl}?url=${targetUrl}&format=json`) + data = JSON.parse(data) + } + if (data) { let output = { type: data.type, embed: data.html, diff --git a/yarn.lock b/yarn.lock index dd072e74a..3db4db7b9 100644 --- a/yarn.lock +++ b/yarn.lock @@ -2275,6 +2275,13 @@ metascraper-publisher@^4.8.5: dependencies: "@metascraper/helpers" "^4.8.5" +metascraper-soundcloud@^4.8.5: + version "4.8.5" + resolved "https://registry.yarnpkg.com/metascraper-soundcloud/-/metascraper-soundcloud-4.8.5.tgz#6593ba8a26fedbb4a3bebc6d2803e22b38278621" + integrity sha512-fChxmwqCLyans9RKKg1jaL7dh/6twIBgaQm/NjvlKcp4+V39J85wQlZPHBgoXl+K/uMwy94wMftKWWQ1Hxxgkw== + dependencies: + "@metascraper/helpers" "^4.8.5" + metascraper-title@^4.8.5: version "4.8.5" resolved "https://registry.yarnpkg.com/metascraper-title/-/metascraper-title-4.8.5.tgz#406de3b443442b34cfffba207d4b53de9343ad98" From f44121bcc117b2e7e9421de1a3b755d325ea1bfa Mon Sep 17 00:00:00 2001 From: Grzegorz Leoniec Date: Fri, 28 Dec 2018 13:03:09 +0100 Subject: [PATCH 004/169] better logging and only in dev --- src/index.js | 4 ++++ src/scraper.js | 9 ++++++--- 2 files changed, 10 insertions(+), 3 deletions(-) diff --git a/src/index.js b/src/index.js index 7015e0a53..7c6e1432e 100644 --- a/src/index.js +++ b/src/index.js @@ -12,6 +12,10 @@ const resolvers = { const server = new ApolloServer({ typeDefs, resolvers }) +if (process.env.NODE_ENV !== 'production') { + process.env.DEBUG = true +} + server.listen({ port: 3050 }).then(({ url }) => { console.log(`🚀 Nitro Embed - Server is ready at ${url}`) }) diff --git a/src/scraper.js b/src/scraper.js index 834fad11c..6bed1a522 100644 --- a/src/scraper.js +++ b/src/scraper.js @@ -67,16 +67,20 @@ const scraper = { meta = await scraper.fetchMeta(targetUrl) resolve() } catch(err) { + if (process.env.DEBUG) { + console.error(`ERROR at fetchMeta | ${err.message}`) + } resolve() } }), new Promise(async (resolve, reject) => { try { embed = await scraper.fetchEmbed(targetUrl) - console.log(embed) resolve() } catch(err) { - console.error(err) + if (process.env.DEBUG) { + console.error(`ERROR at fetchEmbed | ${err.message}`) + } resolve() } }) @@ -98,7 +102,6 @@ const scraper = { const embedMeta = find(oEmbedProviders, provider => { return provider.provider_url.indexOf(url.hostname) >= 0 }) - console.log('embedMeta', embedMeta) if (!embedMeta) { return {} } From 32fad6118c092511f1f4dc6c85a380590ea24b0b Mon Sep 17 00:00:00 2001 From: Grzegorz Leoniec Date: Fri, 28 Dec 2018 16:08:39 +0100 Subject: [PATCH 005/169] fix youtube start parameter --- src/scraper.js | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/src/scraper.js b/src/scraper.js index 6bed1a522..8dc80effa 100644 --- a/src/scraper.js +++ b/src/scraper.js @@ -19,6 +19,7 @@ const metascraper = require('metascraper')([ // require('./rules/metascraper-embed')() ]) const { ApolloError } = require('apollo-server') +const parseUrl = require('url') const got = require('got') const request = require('request-promise-native') @@ -57,6 +58,8 @@ const scraper = { targetUrl = targetUrl.replace('//youtu.be/', '//youtube.com/') } + const url = parseUrl.parse(targetUrl, true) + let meta = {} let embed = {} @@ -95,6 +98,13 @@ const scraper = { throw new ApolloError('Not found', 404) } + // fix youtube start parameter + const YouTubeStartParam = url.query.t || url.query.start + if (output.publisher === 'YouTube' && YouTubeStartParam) { + output.embed = output.embed.replace('?feature=oembed', `?feature=oembed&start=${YouTubeStartParam}`) + output.url += `&start=${YouTubeStartParam}` + } + return output }, async fetchEmbed(targetUrl) { From f8f0ff3d06a51a9b1fba54d169894f734054c2d3 Mon Sep 17 00:00:00 2001 From: Grzegorz Leoniec Date: Fri, 28 Dec 2018 16:35:36 +0100 Subject: [PATCH 006/169] added sources to results from which data was aggregated --- src/schema.graphql | 1 + src/scraper.js | 33 ++++++++++++++++++++++----------- 2 files changed, 23 insertions(+), 11 deletions(-) diff --git a/src/schema.graphql b/src/schema.graphql index 229745bb6..e7108d3ef 100644 --- a/src/schema.graphql +++ b/src/schema.graphql @@ -12,6 +12,7 @@ type Embed { lang: String logo: String embed: String + sources: [String] } type Query { diff --git a/src/scraper.js b/src/scraper.js index 8dc80effa..9399cad6c 100644 --- a/src/scraper.js +++ b/src/scraper.js @@ -26,6 +26,8 @@ const request = require('request-promise-native') const find = require('lodash/find') const isEmpty = require('lodash/isEmpty') const each = require('lodash/each') +const isArray = require('lodash/isArray') +const mergeWith = require('lodash/mergeWith') const urlParser = require('url') // quick in memory cache @@ -52,12 +54,15 @@ const removeEmptyAttrs = obj => { const scraper = { async fetch(targetUrl) { - if (targetUrl.indexOf('//youtu.be/')) { // replace youtu.be to get proper results targetUrl = targetUrl.replace('//youtu.be/', '//youtube.com/') } + if (cache[targetUrl]) { + return cache[targetUrl] + } + const url = parseUrl.parse(targetUrl, true) let meta = {} @@ -89,10 +94,15 @@ const scraper = { }) ]) - const output = { - ...(removeEmptyAttrs(meta)), - ...(removeEmptyAttrs(embed)) - } + const output = mergeWith( + meta, + embed, + (objValue, srcValue) => { + if (isArray(objValue)) { + return objValue.concat(srcValue); + } + } + ) if (isEmpty(output)) { throw new ApolloError('Not found', 404) @@ -105,6 +115,9 @@ const scraper = { output.url += `&start=${YouTubeStartParam}` } + // write to cache + cache[targetUrl] = output + return output }, async fetchEmbed(targetUrl) { @@ -133,6 +146,8 @@ const scraper = { date: data.upload_date ? new Date(data.upload_date).toISOString() : null } + output.sources = ['oembed'] + return output } return {} @@ -142,16 +157,12 @@ const scraper = { // const parsedURL = urlParser.parse(targetUrl) // console.log(parsedURL) - // get from cache - if (cache[targetUrl]) { - return cache[targetUrl] - } + // get from cach const { body: html, url } = await got(targetUrl) const metadata = await metascraper({ html, url }) - // write to cache - cache[targetUrl] = metadata + metadata.sources = ['resource'] return metadata } From 8e71c27b52af9b30d8eec5712b4c7a95be954a52 Mon Sep 17 00:00:00 2001 From: Grzegorz Leoniec Date: Fri, 28 Dec 2018 19:43:29 +0100 Subject: [PATCH 007/169] fallback to link type where possible --- src/scraper.js | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/scraper.js b/src/scraper.js index 9399cad6c..7b1a6ad60 100644 --- a/src/scraper.js +++ b/src/scraper.js @@ -140,7 +140,7 @@ const scraper = { } if (data) { let output = { - type: data.type, + type: data.type || 'link', embed: data.html, author: data.author_name, date: data.upload_date ? new Date(data.upload_date).toISOString() : null @@ -163,6 +163,7 @@ const scraper = { const metadata = await metascraper({ html, url }) metadata.sources = ['resource'] + metadata.type = 'link' return metadata } From 053cc868883e7ad2d3dd982bf402c6c50b698c8b Mon Sep 17 00:00:00 2001 From: Grzegorz Leoniec Date: Fri, 28 Dec 2018 19:52:32 +0100 Subject: [PATCH 008/169] Improved readme --- README.md | 39 ++++++++++++++++++++++++++++++++++++++- 1 file changed, 38 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index c2ed048b4..d8c0706a1 100644 --- a/README.md +++ b/README.md @@ -3,8 +3,45 @@ API Service for fetching URL Information like images, icons, descriptions etc. t > early version of simpler embed api with Metascraper and oEmbed for better results. -## TODOS +## Todo`s - [x] Metascraper - [x] oEmbed - [ ] API Cache - [ ] Image Caching + + +## Install and start development server + +Install dependencies +```shell +yarn install +``` + +Start development server +```shell +yarn dev +``` + +## Example Request +Use the following request by posting it against the endpoint or open the url the `yarn dev` script did gave you and fire it there to get your first result. + +```grapql +{ + embed(url: "https://human-connection.org") { + type + embed + title + description + author + publisher + url + date + image + audio + video + lang + logo + sources + } +} +``` From 9ddf89d874461363035ba881228542080884a2e6 Mon Sep 17 00:00:00 2001 From: Grzegorz Leoniec Date: Fri, 28 Dec 2018 19:58:48 +0100 Subject: [PATCH 009/169] Added API Playground screenshot --- README.md | 5 +++++ screenshot.png | Bin 0 -> 110105 bytes 2 files changed, 5 insertions(+) create mode 100644 screenshot.png diff --git a/README.md b/README.md index d8c0706a1..be2a17020 100644 --- a/README.md +++ b/README.md @@ -3,12 +3,17 @@ API Service for fetching URL Information like images, icons, descriptions etc. t > early version of simpler embed api with Metascraper and oEmbed for better results. +![API Screenshot](screenshot.png) + +--- + ## Todo`s - [x] Metascraper - [x] oEmbed - [ ] API Cache - [ ] Image Caching +--- ## Install and start development server diff --git a/screenshot.png b/screenshot.png new file mode 100644 index 0000000000000000000000000000000000000000..e8359c47f4baced42a4d8f72b03094aefe2b6223 GIT binary patch literal 110105 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≶eN+sK6sSKcKJ*&U_u?alv>Cp2w-L<_}0_geci|Kw< zfw?}d7K(@gl&B*l-~xRn?ZAm6KmvlyB?1lD0689@0Fe0512tfn0wNUtZxt0d1RC(* zFN8oNE6tZxXIcwbexK}s4HQtIKEPrOz~d+ZQ&mcdo4szj&;7X4GpI#CZ~X=^K!GNr z0wrzWi6ffUIM`Z#v^b^=dR(HI_^+#^q@(~rL_zldkkJ|k5%a1Ip9rIIE@`*%sg-{% zV3pPv6n^p+%u?;k2O!M|Fj2r+4j^fzfNc4acIFqHM{ToJeWz~>@q78utv6kd5|F1U z-Q<~}GV){D9O2fVp9B*%iwO7ug3u$tDvyCw6YSL<1_cKHbq~vG3mp**#@~iYq3P-P z;$|#*8pe%YFH@4}7e=ch3C07su5ea8c4DHI@wyQ^&@l^{M{a%wvyKS$WgMZJ-1RWh$FjZFLoEiAAkw%#{I9vS3v4etf8E5 zF!SOEI(oc)r3QDsF=ehOKE^Ldu#0bA6<v>0(P$EEL#Y|5+S+oO5)2P|nxN8;ZGT zZR>5u0q27J=>8*iXtUQymut8t5EVc7uEBYC}FkpQJ!ZMS{QQ@;)7> zSW{%Krjyu2Ci8XQxAn8!-^A;4Uq;fvqESI>ve0-`&~O}xWW}4dvwCamx09*vQrTLE zLnvZiz%VN?sqJ*vmanJt+jEL`NjYh)JrT0Qig-&x3kyVb$D@TANCN}{!qmk8bQ{?{ z7-ex~3L1Fb)~$9T1ba)GVM9u?`NyQbD7edPn-3xAJ?@4CVn+-vq=p7cMAYW^sGBlR z3UuU@B0~e45$)UnS(9DeZ*hEI_qoWcKZ26W7+w&|=HAh_OP%3eO3OfRa5v~=ppEd2 zy^3Zn=rN5mC9+jEkFx3CW<$MaRCh3q)9TF^F52vPDrDO10fX;u#``EP{m&0k+!mDd zi2gVrE;>XKb`;2uvLn%Tbak{K?=>{8I#!#0)jVV zwo~nKko4?D4@OrH?ndu3_^hIyS_*>7a~=?M#Q!y*SVsZT9ML zzL;8g9`kH$Xt{TgB(C+y{N?d6hoJ3+>(~*`lMl&Y#YBda(wW5vfP5FRqqAqf>?rB< zXSS4Z5w4VzLQs%<;Y@@3&MaX5e%V?W+E|rgcv`ioLgenN}&Kkg6iBFFW+fc?D;+ z6`W6m_3cL`Z*rNFkTL=X1FSfO0j3ZO(({3|LN_lM3h)hTplcLU-TKb*wGC>n@Iqh{ ze}LsHnu+Bj14+@uSM}`Q%^l7A7Z_kN2pm zFrp`aZN;BN9zNVA9`nQ6mUfA<@Zy!eeC^-G;0vRF2nWCkzXg@&I}7G?Z}r^}#sTYg zhm$xMuPppO**y1weS`VCfn<;b25qjufx-M+q+F!i#^qiu{0;M?RkirkmGpdqTw^poSQoAPt7hc#z!vWi{6QG2xoS(g68KJf3w| z$*vH0ciaNd2+)7Wa_;hrd!c?^#6-Eie?98*=)_wzdo7ujN^M=;h#3?@iX%0`zA+m! z9nkeMexrK-ToU3;0O$=+>UV7eZ~iQlXueNd^T!|=h(HHDmFe8^MeT-{dArgoy{K2} z86rA4U9)WL@b#w23-s$jbUt2L?tN*9cI3M}b+mAQv%k;$3A}&N# z4oYh6(n?qV-a3It`PWxbk{7M&fN18k2!@u$;5ehGs}D z2>F%sCmTE}cl}Qw%-aZ}?jWG>EEfHvK7p=;KD6$~7fyS)4N|8FVGEKJ9Q6}7Clh5- zj((T+c6QfW7jpmM^%Ebea?KA;9mgN-g(M2{kvtWK@heI4+w_(~o?hT+-U|E(*Hu-m zW`hK!+G`Hm%c>cS5)N8^8^XJZBTb843*1QK6=!5)!^)0F{DCj%Aazk4K;=S6F*-VV z{~NV$=<~&LyM}M+Bo=5`4pBJv{;kk!l&s2$1XodW@7<&_BMHu`9~eHGiFL>GU=e*= z%@}A|Oy2k94cp(pjA(0dwb6G?B+jzSwa2V~3)IFi_isf3%z2zp#@GUoN~oC=@6Swg zxK}JPAvi}E@%J1NV=j&EOE0YUOv74zC<|3T5xfQNUoAH!%p`)Y9Vs?mU1Vn*dWK8u zksnA3C;X`w?#gdPV{%4y|7Hj#k%cy@Auh)4^c6W1=}fihQTr~x6K4qV$aPBRR7fn> zi)cePvlr1K0p}WmSCDus%U{!PhkYesEbF6a=^iZpG4wYy5(}g*1C4~w(}*aG$tIAw z^Q`sny!rb!f7DXTs~l=)*max=u`s`KEC|+;K$^@z`{Ix}L|eTbj)r;B0AsUY5k7Z! z9HTkh4F*I5`0T411PxXou?kT<#AFxeVhQ(sDTPfIq`TsAt5~Gp_IXB|NWe5)a8A4c z|Eqn;G)V6*Cav43*L3p}YZw|CLT&_r0iViZan1tp$hqyVQhptx(?SFRgxXWg-R!9e zWV;0qdN>RO3On>&-A(<4@1T})Uy7x#x?5)Y8jRB3LKd2e3!#P2<5-|f9xm792G>@% zHYaeJfTu&6jNai#dv(`z8g{>B*R{GlAd__2)4%~I@R4wC#OEuUZqK9s%Kzl>hGL8W zsf3>#vQ$Nd-q^ELVEA_J^AsaCWwfDSvtM0gQ(X0$1R>|X6KKXnZc9%;E+3nyaSr^| zpe+NH|3|6)jea8>SYQhv%8Q1QO`9?-yNM?mM-NJ?sor%Y$ux4vh(Kq8f1_9N|LnP9Pk88B^@@#DeKqZ~jmQIh~kzU{}s_QIneLP&^05$<~1 zu;-V-iG;i1_#5r)`;Ce_*_(@pyViSu%%=cjB*jReWD}&<9NEeMXK#L6SSX z=NeoMuPH?m+bpDqP8g4G|IUnrn!_@(_`jdX5Ddu@NEPf>?o|2nW<^4C4GbSAaqzbc4XTFY>WG^=9v>; zfQ%}Ph7i)EzT66g(W&mq&E5TbN5qZoURgqfUC{dmy7?Q4%RK*@bp*xYBCcVuc_dT< z!_;r@|CRThaZxnQzB986EP2UG&KU_JumTc95hMvJIV?d0Nef6u7zGg|8IWKg8BnqW ziOLwrNkxKyxPoNKlG9y$p65O1!#VeUJMaDd&ZnK}sjmKabyZJQ_4ai2GnpvHHyVy` z94IENfIOu^J)8h$$cOyxD?`@JoxM|Lkwrz!F3pcV9-=Aa0(OkihwkeSNCEO^*oVhW zGM!IH`Yyg&f7S%BpbROUV1r(Y>f&-~I2_}-^lqa^FuPa2CezVrrb!K9EkG=Kp` z>UmpKA2ewVM_FM{H0@Ax1%*=Wa2%PlgctaDd6xtjoM07GBX~Am3|$+)QsBsoU0G4@ z9NN_A6DEJSG**<;9^d6D1a5E`M{7Ij%-&#L%b=z9ah*QhJ&K<`A%CK%X&ZL$hr*Y& z#!OQ_02ZfiII$c8F&!L5%i(Uvtn+zCIlh+mXDx=c;;bDw%h411mK7f0o7Jh!mC5Aq ziU_%i?hPmZ_jK0f-#&EejqAjB)G(!k&+KRy<4xooJd%yQ7nl@~eOGR1_;p9^WB0I| z4`|MPU)529U*ZUZ%fP}Tb@fm7zYb_FaYG5Nsd-i$Dq>WQ%%|8p8iAfyR2yrzn|3df zyIIP1pp=2fkP~!^jBE2BTO4ti?5WrgGcC7E)w&F}EH~&_nb`$gTvGXLU12y|%(FkF zBu?{lVMP`*i4~0lCwS1o*#GBMx+VA~JxCXR%tSJVGYoi0gM(&Tu+Cq1+@xCX?a=cC zG@c!tN2k|RfcAWm&9iR(5X2J;1VJ6PgFsqeL{bqOmZXQSW+6;0Q*QVbY>#v}3L-fe zqBznqPEWM*?(Stf0`bKEsWA%l@Ap4e1%>}65M@|2%WN)5)58!YpkZox|2UNG%$1>} zy151nQQ%Jr)S<#m(uU7s3CAgdC5Pq}WzZX)UA*Q)F$Vd2(`8m zs17P$Eb5^)9q}gktbJSs@%cV7`B)+j?7F{CzbMYnQP8T$BjK@OQ*-TXBXBkb3g2yA zq2kx{r!u4?zS{AD$EB~*Vyd}OVfXe1mtA{Z-uVoM-u#PnXLMyYC@X7;&&>%gA8$a_ zvsHf-D1E8&xvpsDIZZml+Ti(zQk3b3SxFxK4)r8X5i;4t4ETy(Hacdl&v`!57@v=iARrn5CvDd^-cNFr^C9w*3fY?Y9}5>_uw z&}qKi%>6>ODXXD?fW=)2DWmK!qt98nu+MKiweW9nAx%6|!Mei*bzgEzW;1)=5r->( zv%5MIhJ9>ONBXmMJzm;}z2{-yaJ>yaOQ1@RB@3f~GMKMFe(xCrlebvl6}AqKwVyWh ziz+L%$2KM)-O?j7jxqwH=f4G#zf|;fHcv0{cRuCQ!@t`u(Cf6nNX-dxCK>c7NPlzX zp33*=2++K-+gQ|f=2mmKyC^`ht6;!APtL1!Nd1Z7b~-AkW9c{_m{G>^LaA(SDV{3G%dg)l+Cl%IS~ z*ZIHsd z>DGe{P{NYu*3*O?raIomekk%9dA2ZSM1_+upt3TH#6@hudtm!JB{0e-Kkx;>T-_40 zx=*FNIJLB}C6$EwU8D)s<1wW#s&1XV&N!LewZSicK@gc~SqR`eDnyBAEXEP4AB=op zq{7~gKJ(HD;xPm`KYXU=4gg-qJZw2*G>NmM>s2z8IlK0pR6aX zr@rWQ@v+(<8qLSATT6C6i;uF>Z`vT(n>Wb4=k9&F)p6IHcDK><$lyYfOIAv|Kcc4# z$E#IZkH?{~q@M;|{kK9ROqwp|duhSGzG@`#qDeuE9Br7zX9cL6kmI6LQ9ZG;>awd- zQGL{8^*n5Fo;wIZ{6wEz5k$`ze&o5NJqwck zK;t(*(UvovuENs%C^1CO41OPW@5V_g0YpFT3E;y5CD76m=k-N9y*>&ct*2mNG;Zk^ zru1z1nbvX?xwZzxBZ$Oa)Q9D6blcn$3?q<3dttItCj_UW2U_VoHYXXhV3s7{6h?mZ zD-+2u-RD?`FFh9;zl0%11HzfSpt6c%?_uL65JP;&MAjr-bv5WAHGfs$0NDu@=LeIp zgb(Gy$k*S-vkG#fz`t5N3HQ_tsTGB{h`M1(AO31m8I9j1;tS7Jqv;_}@GoRKaLKP< z^BOq~0*JD}A7IMp0sTq8peZ>_Dg9p{*ucQDuZ1WqffoBW0y-?g;IC^aVV?=K7e>qv zJmmofbZ{bIbKoC4t6@n>kS7IMz6o<$a6hJ$4I|$rjBt+Ntt^xge=fa>!N#; z?@!_50h=*fRQSi$Nwe?k1re1p_u95{zVObfWX|m6dE2oIA^5Zhr8n#D84iLG$KfL1 zVlZ<-`b>%1O1+=vt+i9u(qUUD|7Rxf%c4D1`y1=u+E04h}N`a_9g^omlw zdiu4l6W&7sR4f*klvAVL&7|nt#0*&)a~Vzd6$QXgUoN;m-SKW1UOAU)vG73f*6FML zvkydtpRb3F+qW8$Gemvgsqn+!=y^#O$sOaStX|ywxiMS*>I?qp(cNHM`MW+|HC*A6 z&o_Vd{^)t1vN=8NK6$TWW3^&M+izVpFYi$tIrs8o4^x`wTP2?H^2oa8YdiGv_R7pV z+FED#Q28R+of`3b1@Z2cHcB3%+)((wD%f-qjeqoleqnKr;-NNN^wJSd)-bqKclr^J zerNX$v&YVmXA;GV&qc}d(6Y(=ujG?&!#STjjusw28yd1Y$xAF<+`dY;Fy|KVyOW@* zmTDigZC2vpx>946-#1RyRs%VoZz4!F3`AaBh_LUW9K$C?QXbZAeQ|x4MQv_yUocWz zveQ^Cg`zG-OO}u3Xd+umN7Riw83wx)rgS&oTFX4IzPZ6ar%>6{NB-VZMe=q%L!;Q- zX6MRk>s^%>?aAT~wR<2+OFn5z{M1E2V$mi<(0QMLbvhcs znBI>SF-nZ3c8ynH=~pz_=fMv}(~Rzrtpw{EQ5?ZK2oCCEFl)}zC`T$_FqNFkH}`Jh zWz_OPYj=mlgT^suSkZS+e3>Hd7~mLT0Tt>;PXStU(^;++pnnWdQJ^IjJ$=_JVg*VI zA#;H_uk+-QiV3@qYTId=X3ZBL9zUBvX4+Plttj-Cq1Y8%y9lo30^4Tmc%Pk|H?%y8#Ok)~ zT}B_$;1%Siz{gr35wd*R-I9;H_@P3mNSBqc`T|ffa7QsySSDl#9liD}F`Q~AY4<4w zU8%Y`9nlxD?oBEc$V$t4g@|Cnh zuV%~88*_sEI=P(*+1=eCtfI$000z#DfSNrvm>Ls`--ZpbuJ;U~n|Z>y+uFZBErtE~ z9V#}psmgAF&;#bRmU0>CezPHL#h|v44eYLKVU+%@cDi;mo|$np+iMLHcf9gL-|{yG zC6lwVXwafGc&FhcH?R-PFZk9Lm^UFnfNE<$fvVeek4lS7rajr$URIIo~rNkatxBKV!k z(16UUzK>&>yV&En6P&xegMdrB<0EBOiv&IcBU(3B_rvy=j{OiKmeHeKG;L2DsdIw z6d*A#qCsJT2BsRVu8m;Q86jEF1S=0sM8O6K3p(L{iiBrv9{2RB#Lah$tWNj3`ih>? zTE(QYYp3h#-KMX`)X8)#%RA2rufJIs`p|tH#Q{E}0+T>6;@BHmjC>f>k$}ciqBoW+ z`8d$&yr8Qt#Djvu@o%!&|GC}Ak?@ZWZV&x=3fW!*gpuC@h=Lfxe}e*aHGng21I@R9 z?>?F_AEAyUKv5V>5(G8E-_%^C_?x8;6mC_LMkdzzo7llZSO#=8Ik@w&($-W5b>V4k zSO+%1642>jkxrbkEI%nVl~`s&$Uy)MH~}>Z**KmdxZ*4B5L$ z0LnFl5R(Of$4e#hcCEftjoI`ZF4*cAbVnHuCu7ALV)$k2g7xSYOsFrMOoE2WciWV#yD3RnQQ7@eM?hI zR_8xxHD9BMU*9{;b07m=K)vh+3*vOo%D@3MmsHIGZ3WrU$XwqNiU4(BNw zeHHhoqvFw4X|q^CG{+n8;qE2yt#a!e=b~!z<8$!tlku-$7Em=bsGj{DBQJ~;CSw+R zxB&}UDx3V2ORlwaDw+D7sf;)Iz0CE`aEGEu=XbGGKI0>6#cb!Q9yHUJ z_CLLL|17HdHT5nhfmM2qg7Bs1n+B!WKSLx3gzxLReWFf3-=$braDPxnqjFl*XC!%0 ztc);FiGEVjfHK!cT-MZ(v--`W_5VUApSh=jtR!>hl+}VOyVi=TgC0G8;bpI8eHY}K$UMrVZK2X_g|71Axj=Ymiliz5|%eC=2O)p(N}ko z3|l;NJnUuBb+6|Y=UfbSTvSQN;xX9TkxL@|$}FvLX@NL_<_>Wnr1F+Zzun!?EQsDq_~Q7t$s5=%Of z$GAl^+~nGqBr?Y8Lc7}`!JqU+`(UlWR{+tD0vU`Qc+mq3%3XOq$J$@Fx5V!|^UVgF32(ATXleq(=nt3mE99$82ZP=GXkUYu0!?*~d&4g7ikIBCfX&y?Su&u$2X* zUUTYTf)Fr>{f(3;D^VGfE`!g#s_Vs`KqPX3GlKxsKKy^7nd`|7GabVd2Mq;u)**?PWFn zQ)6bIX20nT#Gs)B2_{l@9NSQI&7p{tHr%u!B&l{#O|+9{v6U?Q(jeYgtnyPbl^SLzpMWd5msh?>~^ z_d_alH90!}qths8nC5To1wrpW;XAo47^pf}6w~Fw5Vhbx@%@4J{@1pHAxa;tijmv= zzp&lOc&+*j1OP4IOG9NI=jAgHx`PT#gT*m8a77ytB~e4VNH~^A9efRDlIKU;LYV@D z|9vD3VF8}GX8=Gug@wUz2ghlBeS9F2_hzeW)BLhM^<6^>R1^G_fH)#-bU2i26nF!) zkSEZk(^K+L+P;Mq2+BAjj`+WhXoGG8`u;F!h=1qJiZ5=FER^7&D|-$<3VOyE8s;05 zcpnG=6!NSxADBKIwQcPj{!((QuS@8McMKBsuw=q>RS>xWSZts-0(pq#rd2eE-Ip_uA93v z5%gfRtaZinJ_(Z;b`);~am9IUGKaNM|I@R05VhmyY<6SvmP!xR=R3QoJ8)K%2&rWZ z?FsqK%_oAsT3k&F)JxDXN83R7xzgN(;jmXy6K!VVPg5w>o~k9=#M91p(IWr#&J&F~Ia*W|V6m-AoB1;^*USV_9$9Y$IQmcyw%^d9)1G!P7I)5+gj z4Q#7;8>-YDrt>JT-96i_(*H?$juTJG`0J~^ANx-&dp`C^|)BEp2Gk zW_eVi^4{W;ve}TYxVf2_kCBqX8>rC}3MT`-`T~!~#pVghwbI64cR)KlIXiV?v_T(= zU?89Km&{c9#OX!8yK2{*$K&lwB7%*M_bE%7o!RgWGycC4qsrQsa`!7PDD|S#IIkSb ztW;3dOfrutXwxnmrnYr>_wk;NSAeaIs%3PBb#-9zjDR(6N7${LdOs__&9suKV$Pb~ zX@b&5Ev;^GXojI=c&@0!Hgi(8B5!K7M$MlbxA6Wjv8Nzn$0Gq{zUhQ2alntc&PoB^exwe0@&wcN?_!04@lhs`ZxN z@>AcpPitR#@}lY1=k_J`-!0aO6GhlF?~ho}4y~QDv!98GE)pd5aNRFpuE8!Yui0mv zar=d%_(lEnLSiqMiRC)6CI7{lWn<*n^;!0qBPUHOioI{@=4{)fGWtxNrpw5^{Bd52 zBttXs5*~7(Mf_KZmvVwt9d3V7a9&{zzyM;bcYJ94p?u5x+Y%CSRwcW#IZIpzcx-Rty5ZOTDS zl{66hX(sD}b5r`i^r`JI)dCl6`fm?Y{L(~w-Y$FxcMJ{QGj}@QpZhsbc8tFK$*s50 zE9Os`7`sEyrzk~%g*>(8vN?&#N5tC~5Abr3?dbR)yc6Gwy!(oN1%Wmm=UGcHg0$dR zs&nt9^1dvEXXRtdQcvxlr5OxxM{*FS92hKxXmBed`Q^%M~@$9J5Gu6@&~X3!|{1YgC~|T)6pU0;?1h^L*GRnO;Wss882fq z$$yALB)Tr?^yS|A5pdm8?>HiuK0ZySdV2%>+sqZ97%jVcrAzl2w&LMQrW95YyUXLu zMl<;}wYkx8qe*wq*d@OGY>K4i&Yl_wW?5uYby(y^t0#`p?QhiyPr0MxKR`V%xk@D*E_l(q(-7eZ)fTh%^F!orE+#i{XC=dQTb=1epOXO57T9#r3Sq} zb7c_U67I8KecSg*_xw-~`?Rr5tp?ki0m?nk&c(fvQuxrlo^v*wXxo>tMFOwj$W^W@ zFJuQVaq}r(gMIp3du6U*OP_{v9isGUW}zL(*Ewntf+bqfy(hRKJPVGMrECj@eA)X8 zkZ#FtmGIQHkC=&VXT3JyjgQssG9KRLzVzJo{^na;aS7-1ztp6vdw!EVIbOSw7tmv5 z8TVmdn0kZr;N_!>d=4D*wVsetZ;|#o$}9d*sJqfjBNE%}Fi9+=JH$N#%DJgr%X|;# z)y%Zu5{oVm$bP@!3FR~U zOVUs0CgYWZDEV!;V@hr&KWV=EB~776w`#2N(_Hw~bIqSm|IF=erCyO^IK*vxHmw)y-u|2U`X|z{!E4Un zv;<%KWN5!Q%#CU5K0W?os$6EaD()ElkZZM%(Uw5ciP2^eP?JI*QDfXZO!-vF>dK>B zp-K&swNSAzS%=5hjA)13)KrA1z$5CsgJ5l_8Hc%#HX@X6Wsth>$KGNCyX^ zeCYPvw>FMzJ3rZ24v6;S9W>Jr)?8k9EVua8?~$Z(dt1ryga5}cx=8J<0X^UT2*xYP zD+cKH$gYuVL7X->e-F)SEbZ;mnk}Ck1jP5e7m`e|u{jbq%>!S3eI!kkE`Ikℜee zMUr*mO4o}!vO5#UZ$^{1bwmNp`zW6EqR_m6hnf?N#OUO{)#X7?4+011Er2Yo)YKl@ zy Date: Fri, 28 Dec 2018 20:01:42 +0100 Subject: [PATCH 010/169] Upgraded screenshot --- screenshot.png | Bin 110105 -> 114913 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/screenshot.png b/screenshot.png index e8359c47f4baced42a4d8f72b03094aefe2b6223..cd6f87fbaacef64332cafcf2116b7d784255db29 100644 GIT binary patch literal 114913 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 z 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%0Aq{F9TVjYF| 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 literal 110105 zcmY)UWmr|;*9Ho&9dvi6(k&g*-JJp(kQO8)BsZyqgfvK}(nv{eKtQBJKypiWcOHKK z=X$UAoUb!R&9TOPkGW=)wx$veCM6~S05~ej^11+k1_uBr6FTH+1g1bQ007{1ZFPNx z$Hzxf4sl$1ZVY1To0}U@_^6uQNSVY=PtP!DIPn>HXr8tUyrism#bxH9 zYV#oA;3H*VB?fqb3O!O%5r%3@s(Q;m)6=9hqLfu{NU?<}Yh6eQg|PrevUFXFOlty0 zUh)s7U=RhFrw(Pg6GaLPAZ4K}b0kF-qAa%GKR+b%)gybQO2Q~gN-07f`-)6ijv~i~ zqQI6s)QCLMf-KO0lundPOM!`v`|g&*AFoKO>QQO92 z%rm^s>i*eh>*__N^d=!S>war&eszz|BJt$n+Bf9m`tAu^t^H5!6j<1;o*^yy!ui9 z^seg$l@z`=*WX1`%YRQyO#Eo?DsTG(u`P2;Xag94kDU*HK_gp)VnDv^3=1mqd|c2J(>NGIyeCc9u{nEc~P0NT47^^AQTE#~J z@?><#(?F;|=5qv4g91W@bK}E+G8P0dh62V0&Y|Q$i!>aRmjghg$lDZ10pty9k&CNp@NV3m=<65i*#lKDpe4bJUt3BCNTy5FH+-cM!lb$T@i8E{X|W@P*reP(>uH{IW>5-%}tNC5EBK zaL^TuLH+xiKMPMI>x1fW6mocc1N*^mfzcdJ()Dv8^cnzil*oKq(f#5L5wh8|Q`QqC zSv6J8hyeC9L`J{k#8_tm{VF<4U!An{K$4P~i=zk2nZpPDDJZTw@IVwCH@AtbfWpom zm$mQeDKt@YaDg-VZS%qB~@RUn*>d&%A8&06VK;IS>J zU+xdvyHgPDCq*#!(TDa{N0$Y3h{%C&7=aq0&#LPkI_GwBk`{>X!!@=7hrC}@J5=UZ zGNy}jS3xm}?ylNY32BKu6N!FxAVnX1xj>|A<4c|rS9_n(Yg9C_d1cY_ z#l4m(Ps>-+106Jc-RK~%eBrizvtp>^4B@Wrx4~$$Inb-XO#`U$Oj`4a6PVL+@7k!y z8r)XpU^qC=hd^ft-wAT|Luq@7;kIjwYFrv=YN0GxW~vYG+^pV3GcKfmS=tG$-{#Nm zRGO#*d2{}!li`@3y5rDnwV(G0nezvthGc=9OkBXddK@!$x*sM|<<70a5`X;5`)DEjn1V#i(VSCMO!d?ei@qd1ET zsk|#(HM3x$^G#js0-lBA`^k9C6W$?vgoy65C1S0jfPS6a&XsFm*H+bQ+(_Y1ud-2D zLE8EaeUUBSivD8JdcaSf)K6~O>To5k8P(#6xykW2aHhsOIY_O?`VYaf5|qVkO$212 z`mgz%En}NmY_3hx08R57S>6V)w|s~~Fij)}EF51}*pD)de&?1Er0E;b8C}Slfm7p} z&dEz`ffN$F`Xw-z^QMduF=p42f5KKmz&knCyH-~!Bg26lH*h@P#*^qCRh$H+hKhO7 zY@LATlk2G`P)2R#i9jXhGZ0BzHL(9vsmN6?bN&R8FoKO+R(dYJM0&{#Lpak6+~FWa z^nA0pOCQ{4gHVw{vQBrYY>XP$E62=UDpeEB?DY6)^Ps&kA?$8ax`whU_I(jGz2z~l zo)w5NH!C7u)yTiFy|lR69!#B3Z#Yj^7x$A^v1jg~_bpn3>N7?OMF0JVhCVj)al@9h z6w_k7OvMS+V(&~e-zr2w=S0I{sG)kV015jskk*?(xB6D*S@>9`Vq2=T?0_~LK;@XZQs8_E2jhwBXmp35q3JR`y zeRq_nZ=lKKLE!nL+=kf~8tBNCqcTbb{F8vj=jR8v@|tFfSVB0K9nl75TG%2rnn=;NAqXddFrl9H;HKB%J~A~9pBL4?wA zLCbsU(P%5WWDKYKFHu~K7A4Db3{HW!%RhMH4mgQmiA(YUBy2ey7;4Ph0J?qZ`Cp(k zdWpGmXzej?q?Eiak$KGZRElkfdn?Ia%Ca)Gs^o3AwYDfqS8}}y+=?1T=+f9CBwsEm z|H((@2-%F$h(;!X@VrkcYD3K6)ToFiHPQ^~I0WS(&BxFg-t9)Y;?p8ipUs((e3-$l z!B@Nw61aQ`%fNntgRb-1RtVv`j0Sd8S5N&xf5VaVoC(?{djXHgRqfWg^A$ss;!puC z73Bsu!D!8WkS{5?AlMat{WAMYBzagEDrD9?`^k;Wg+~eQBSA<7rr-M$!RJ;qhoOq- z49~xy$Q&*CHtWM9s#kb_kJy7N*j3Y+T)(_w^_XUKS+bEUk$DpN+G+xmU$OUvh@AI0sTnyEmKALp(@Mr2-JA@&imC5iRR}1mex-JC~cUrVxK-D#)H25Tn*YO|5S84 zJ*#^Ut+=i6aP!m2dSK!l7`e?No9&@nk$&=B&Oo<1i43a-|Kj`US0DzQ!pA(@fF56Xo7!dwezH5ahgwhnqQUH)TG~ zE!V9)JwM)ZVJoZRSMOi_J~2TW^P~71A^)ncUQOItWL5#v^(n!LSI#dGANc6Q@!3aC zK&0JoobZgb2chWX0rF+P&D5qmOc>so3u9wK%ajvc0iMoov=R{ooc88YhW-1it!;HU zlLkb_ED@$OnEUQ|%jmmvSI7%OnBI4Zv=jk#=V@DQbo zPW;VtM7?P*%J)m_SQG`tw+=HWm>gm=H2Kqi$&`6rj<02qoDQ8b3%lv3fBq=sfd$cw z_8(p`L7PQ-r4oYQH-n#!tezPA$dWeT>;^KFcKdmn+XhY`i@x|AVQ(p6yccyg;*5DT zeM@)9C3N$8RRi74L?`)05cJcN7)1``2$>e?jZM@8X&ZRy>ST4CF<0_0cU~t7G`;74 zp!E;H+Fk$dLuy*k8G&j%>)Y90i@3P>E%863Z|ZxF_;DVQXcBOf0yQ>n8(TE>rTibD zy71v1?F!Q%g`xl9{umVXN(%O$RqcYj2w_~_ARG*aaD3D&4Gi9@|AwvL|Eob;8eyQm z|J2?DlOrGhLy!A`C7L2;YQ&#gR-NmTpy^b-xcdJZ(D0qpsM(yEf zI|Osj`%2Up3Nr>CX{>}EC47$n`!x`4q_7ekG_}%xgetJ4#LtZ6rN}NWVVD>)S8^%-fynY&?{;b^s7+!)*Mwq$>C%VXd)lAlVl{Kv^!sf&kOE45bMU>!++Bh}FwyM@RbQpPy^2Xi2pLXkmEAkD@^b)KbhNqL)9I^Av zCj|DHx8ndM=qye!D0S?G;DvZ~NnUmlR-Q}HY^@DZWC;Dof*P?9qAup{#Ax1T#!Jg^ z84oPdy(NDf^((83z()xbUvxK|OSCJR;InyO&RtY>X2!VKGyo4&m2VHX`3p`TNzCBh z;)6Cv=72^F;8wEW00JZ>l-xlM&I5iG20+Y<083~yDhTxkADINq&?BU&*bpqBDj9f) zP{&?o>$e47eCeof_-@ex6eM*F%k(8OEiF1`*kyUw^;fR#X@&Ncj>M9PdmXyFI!59>&G}J80HiTi15;*$-`_pFV zNk4d_L?lw*h*q3<;b_VvGfAI5o|a8a?!9Xec09_f)VdOT{17aMPmBfi4wR3>|R|SQ-GRW!AgKHt%k!= z0DHCUugq?sRK^B{sm$vir@)s38IYzmO37ac>Rt=pN+uHt`pYwjrYXsHiGJZ1__ANu z&ri`;2Y4_j4Y+%c4EK04Wz13&cpE!@Jo|f-USLxd|NVtBg>|7q z;b&?xVaMx0kY{_d=%syn5aM^h<#QamT33@Trr!gO|T$w+21NWuqG@ zGOct!GaF{I8tYun1VBe#OC~OdK9mlCC9nCxt}al|^A7v1H$2}evn(ms@8@MnQIZrb z_hJ=EC$u{ZMt|%C5*|%!D3hF|_g1zt+Dj3-)fcYR4{53v=TtQ1PprxG=FSv;x)I%6 zGnR4;j44{jjC2J}8VBn|T&9eT#AQBS;m%5@|4ThcP*_ISOYciBSo=)Zw4mTeZcI%n zc;kKY9QOW|Gm$;QF@d@|D17nTsdwAjrT_LyjzL=xLlfBlZU4~G-L zLz#8Q#DIKl5d5O)Xm^1x#DY0tb>p;8&RF@-4Wdv=!mpUe;Wr-XQP98-I zX);jR7nwRLqvMD&dLNg0QDxu)%ZoC~p-f@lGeKmiuN*FbI)4SIkRI7Q{VH)YO16_ zhl*SN9x1Bsi2C4sh8s!KObqObI!C0)0JM{e!~>)>?9o6x&P^OmFOyzjR)zRRDF+RlHH zh)O|+@P3GT6ofLO?!}R#KS8mVso`jM=^1m3d{NqB7xmvkBme0+k7MItU|5h8{eoPKM>5nOP7lkY-k3}qw`PzU3 z!Mh{KRft%V_6_|@C6&q4Mq!t2%P}h0_0c-O2B*0tRg_s*%JRt%^uwqk8 zjk5oYBlsw%8of>wG<(}Sqq+ow(TecX+%M_&a{4mr`;Yd&Upbd(8H@cGu{|L5GTbD_=98w zkOZ?DCB~qN%sz`H(vFdwg_IR(ITG|(qdnJJGBvt5wwYsSt(`1>$+wc z-FQGy+0BFd;l9l|2qBQIy3*QGP!QD42oJV63yuOhDy7b_$@vH{AkBc}t_?YYQ6E@F zLEMElFiO;3dlx5;?(;$TK z2K89=*P(5}k}FIom9~be0WuPuMR_=%K2dCyl`ZG75Fn(gO9>E7XPZE*;+hI@#Guq! zJz_9sy8WV)2r>8T4h>jvx*p&ws;Cl_U5vf?94cuu-SCl(E&{VZL3{jw()Pv^IG{j8 z9DGcBd6g)pDj8ISedve-A#XNj_uuJe-m@L=L!P5u@UO) zGWDfbnrG}-)x}cEZ)19w3WGLTgS{rQIwZ;8Dn~ru`!E0D0J)ZRfy#} zb9L^Za2B-Ymw$H>-EZ$5w!|C;fKE*S1f;M*~FC?ezi_JHIZWnNt+ zJATGDG_w#wgYtRogl^M1KJ5wY4e4$+qdx0M6W}*R^U>Bl;w9Nop9`@w7JI=^ z5--P_6@v1-E|ad$+mZYcUit&R5w)7Q07-~eef}STF$nPy4+DRPno~Pcvm;O zq+!pgNOCd9_iL*mL3!y9#loG8P6f8&A%x;!X+k{$ap(szmZKqJ@SeSnDo)D!jzEC zYf0^I9y&H^(|aF+I30>8(gyMH=4ei++E4i16%}ir>%MtL>A(vdbi7u-ETOI6{(xls?1OK1wSO&Dv)AH;)!%hwqx@> z+#+f2)qasIg?12G(8EBxrafN41iV+@OHelnz(QKXN$#l&#qh3AD0e(u%v7~_>c5s? zSblmSwOmhpDBEm8Qu(dLH#mz?;rf6;@pt+%5*jGy!D;_x07$Y9eykAa$r!$ejp?fg z(xNQXRQ8v0m}0P@N>ZL!A+QZ8P&(hSax~(=gubE8!lTyras%aF$-R>GMnh@Khcj)D z{V++IEno^Kv^ij=k=KpY%MIA;#m#*4u`nt2bC5RrmDy<+%~l~+dN7L0uO%ecmIjK1 zLk-~yr>+2bl9$lR-K@%l^-uLojp{J37tY42MW^^jr5obQ@OW;R?5`*OB1}}%%;%S< z@H)0VrNU%S0r6dAk0nVPEHJR;|JoVrM(tD?q=yJk$nG*5o5%G1O>Z*W;ID`<^(g*M zeB=(j%LFq^{S^;0V6kS!j;HJ~r!N1($_h0)s5|$PmHx>>-j{7g_V)(pfFmsydMoLP z$rOn7j|7KQCcO(3zQz90d_3&VR)2Awv^Z15ujdvC!@6lU8w)!tWP}lde0DauwlwJ@ zxVF9%9IgERQL(QMxyHSB9 zmtsT=bEP;vtJkB~U(>&5LDTD8>F6j3^UdgFIw-EWsnP9GP4x3H>p|FnAOPa4r@MQt z@j~nSH&0D~NJ$UTLyQ(Q_=Np8_v3)h!+x~9hwM3JK50=z>$_V9DE8Bqjd1j_AT z88rVg>4te9Ch>V1Rkv@qm(=^0@a=IM2t*D6z$y4L;0>PR#md2~um^L{EN0fWD$3ntWvE0I zS0G1&WmaB#5P70%?Y4Shx*jPn91a4$TeE|lm7Y}e|$8gWRIx+2CbIw`~5WRgh z)=E2m9cP~4tydsBl+rfHlfMczBg`aVGc{-Tx^u@QLBE;`d6L0z#SZd3sc-mdF#Z0k zfT4Trk1nNZ6O}Bx>Ev^Y23=+Ye)d%n;qNh#2Fi+eS@qV3`Xt$dX=WNyEaAr=iL?Jv zZ?vbR9}~0VAAN;9#mBDuIhZum)9xKh3Q3cp&xTX3EZd;Wn93kS=04bG@ef&;(vHL8 z+E7`$3VL-DMq})+fenjVeKB^vMPE!5^sBZ1v#Gm3AyzHtX9_3H&IYf}c%jd}VuJ<8 z_^ln9nb;p9?~vqzE$8Ob1?F&lB2{v>&m(I?+|&AwL=h4Zn9zV7>8B&e;7x&}OmOR7 zSTInydkhhS`ZalL2@XcVxLHZa={I7tTh^=?W)bBYp(4mPFP^5La$@=1PX;mf0SnXA&yl8YY6aU#j#$t8NqGO1OcJ_Xo-CHTa!x&5pXLN> zbKvmg916QEkKWoR(Zi0i+fSWcD5Jr?)8;Y1zE=6Dv+D=WB~`D4<;o~T2Tn|&uRt^M z!s9~q$%#?6dBXJBU zaWXG@sfEEvf5!m|<8O*yb=%)V%ps>f1fdQ|g)3o+1V-aw8dC^*UhA9U5e1;UelI}Te{+l+G@y|m3=+xUSFR5 z)tkrTm0dEf)ZVrbNnGjpKs&8Sj>%=<%fl;Y3`&1@$xxgmo8QO6-#rM=E3}~4zps~? zUVJe+!uY*=SWR343xj?u(BU%JF+ojX26(UK>ryxR)WPQUB~DNa1WWt}bZeG4x*SII z<S|hiNTsA6ZD-KeHd&CI(@Wfo z^A;!NiTD`lvk(#R z5@Z<-J819V5T&Bx!FPs3Jow?_W+48O6&a6d8CA)F9im|sDnZ50$T_P&98jA7i%>v+ z>P6$%lgQ}V-&lz=`H3?ZA#gcpEzxtBHBXHXbWiOe0^ZpHTNv^C8^fZt)bXmp##l>Y z4|A5#Nn@jaL6<5r5k=p%ccS(OR9o@dPJMjhXq|cT^$FG|!&IpHp1(5UCoLQ*;SLHu z#3I+TL}}r3bGzX?mF02==byYI`%Cz$eQ)I9R&V^hc;O*m_*A^V>ElG96%m4{PvVkNx1|cs2u`(iv z@My-MnC$Xj8M39O4Q%(u7@K<3KTTDy=Kj_2%tO_jsVzh*ZMZQ2x z4kTytE)t$OfYPX1iU+Xpk1A`PtdEmt6j2DWV}7SDyBmUGDF@D}fsaZ(oUQ*|ozco^ z1~<-t1wvn-mgsKJ zf*aEq2FMTbGqH~)8&D|>pusGhguHxn9a~FQMG-pPYq0JQ3GkGtw+h#Le|GzamOif9 zQh(79MgD6L;8juNNvVi^vuXHe3Q@x`JfcWVKKRVOA;4s&GSvxgTPH0CW>zHZTJZ4` znCSKt;EFk-dyX8yBEJWd5 z6#NmlCX-zk<3eccDc1z}EiOk`;=e@w_>z&6%X2{@As6A$t&{+VFu+hv<<(sET0 zKda^AM&G|!ey-|sb1cLLqe1hPGKgrJKb~VdrVD@!rN< zgHZHL3C+Il$12M-Tuo+w72Z!!BFPY_I(W$}0Ujlps9k->={!nxIgeu0#_cWC7WDRO zE(#rn#(uOM3!Vl+I2vJ1H9hE&l#ut|$>Uv2?`Fzw`kt#={=Ea6_v+-+8$Q>1UnfiFm&BbQ~t%nw9~+EVxC zJu9bg9h9(UNNomIxN%}1hS!BiRS^FZM{b13Lm+p#_sHr@geYn6Dutd7;UInY`tsmj z_8nPX(TtnM#6e$(R*w0QxtJQ0LpK)2tWhi*3~7Z6$@%jp$o!9)qXTc95eMDgq3Kg( zY;J{XEj}K6?k@Z>dq*&jC=Gu0^!(&UL>Nmcdco*VDD|ehHMwLJd{Pas4K*@TI|6^F z=8cT=K%?b9?Va@JPl-YhO}%yPQ~POseNneLNR!go!`H3PGfggs@NDjnZ6@l|iwg$O zsjrwic2eAFEp#Ylv(_sjte_dZR59)JhZBOZKSa>a>kCr+1tzeR5zk?=gc;k{K1^b` z``ryF_UzMNn%deHdWPYpq#jRYfDaK49cosGPr7$2JO~yA_ftVO)Y4WFSaf+TFumIL ztZ|c)*N%B6Op63HIuoL>q1ewEUBKHH!xbuEW)M++!tU}X))zS;qrIPdh-z_}xqVcc z6+7JQU811s*e@7B{7cU?rLHC;+=X)B86I5Ts@M1&kzE|HI2jX?0^5dgd_mY>yC9;% z7S!0Zh;Pw^yfsI00SXClCCsazQDYZhL;`Q#eMBepj0@&zDzu@xx>-nELGm6Atp6;$ zy;wb|1mgZ{{MD zGznUKYos=>?PfadwZyoneo*6phooH|ia)Hy+%x3Hs^X4l7ain8+B>E6(Q&at=$5Z)MK z#Ps+alVOX^I+i#L3y4dUv>+DHM33h$l>A`<=<>yWDdbK*cQaxSm(ipf+ioA zemj{tIXgR->*;+f2sd)X_AP>sE}5vyH!kvQBUN2(Z2s*<;S*ppqJ06MnKIlcRao{~ z!3M0VLk`V5LLR(u0^V`e2E2==ze#{!Vv1vsQ)Gr4kfd_KusOoOBX3i_{n0h}PzC2A zJkq)tf%Q7FV)iH!tMbLsl(nNc8&xf&a-U!ms*e8|>Xy#n?55|MpigE+ag^4bQ|OAo zZYXzh%SVq^%a4%^EB~vKwgT~;TPPy%oR59+Oy%*d-S2G8mh5={gW%C9{F*nkQxRb9 zZzaVBB*}St(B(&`?+ccEo_@g_HNQ`9PwVPS{!&tu$%HM#;Yp#=2%oRe_SZ4+9;U7S zGxR_$&86|eTzVur$SAh%Jw2hDf}o2zn+2+4NG`BUK%8eYzS)nUV585%*uAiuA#ccZ z_zCKkMyOcnq3;^-%z}a`@jmnfS|aF_5#@wuX-Pb*LU>l~bWQz97caus8y7dxtrSx7 zoSo>A(W5u$%{CeAx?^miZ{ejsI{O^gF7NbU?i{LLW8`4?s9;UZP?{qGf0>yC^3KS! zgZUTX=QZtfvldi20r`xlw{N)zE_OGQK0F9MH%&~g)^Iq!d+CkP0avkhz-<)_Qp=o< znyiPbPV(Y1$Kiht2xc^IK5$f97!*pAp z_k7yMNB!`V`NTm@U~k~AWPbnFr-A-~Su^!Ht%ZJkH+f7kd^Z*T29gbiVAZeFoaiDN zYcC&ZHy=QyI_Hruh$9}U-fC7R7TZul{-;A3Wa&5XC6C0`ms0nLkh6z|6{91s$!ETE z9;$BkuPfTZ@~bb!R_gl&o*DcQO`KvRrmm*+f*x|%6NBHpJ%WZ8{ePBPVWWl7Ty9=t zq?hK!{4r39$f>mG*r&LjZ4@A(sF;TaE%Q_O!ozZ9EFX#ZQfIuv$UD82U zmjR|a)25W|sHlzQy$$Ya?6Ss=p+OjCi9M zn64-)LXzg`VTO5hg=zC;NHKr79Lx=s9{Cdhd2(waRt%FuL_xYmrqpeE0nbPzeA zcyU5(>2zSD=YaKpo}#CpE~BVtmDtQT;)iQuSUkq|q?tk0iF5dbTtv+JzJXWxnG z{?M~{G>y9_;QLzKrRn2#uI z#!5@quebf|2rVODb3A-Za5d^4>oG?GKQZ2Yi`osni!FnMqNb!o?7zS8qDhkJq z=4a33WpOiXu~y@u;DE>N-FF>Ve0Usb>bD;pvSNDK0>g8N#suEX_pLqB{7+JFtq*tY zCn78AQc#rczfgJ!)0#p_Y4q>}NAwB;ypZ3zItp^2{rtgvJ$a5a>IpR-Z$nJoMlyEp zl!R{Yr`w2uG}Xj_p^z{h4h|h$9qwVSXhIBwMe)asD809t;mPK-i&vc%hrV_lZ~GQ| zs+WarZauaN0Mcm1u)EV9hVAVO<}C&gHuN%(^Qv`y_N|+c034^(v|12P4A3;p66_gW zPAYLYnK39|__-B!wl?>$G;Mg)w@qLGz_dVco)04MFbD6~>mZTy$pnBD{b56~dNZN% zy0s>UiW1Qv*8O(}wY0*@7q~Edk5j7S6^rh?MpA|bx0rBY3o0CdE$ST{k&_Yh- zc_EEHvsJg=nBr%Uh^Wxg%c;}t?E7rw_s3`D03rtrSmL4pv@Yf%;GmGsq{7Wf<<2G$ zr?pO12&;VDbz^Suusp&KA%O-g4W^ZI@4ifiF{_^Y4LdZ*LnT~A&YkKE z#Vf&x91J}V`_g%TU9V+t?VI@1>N5>0-&+1LelqzOukcK*$t^9LPlu z_+aw9^w8q{PSb^r@<0RC@^X04k~?$cU)*81vpRqXSWRiZn1Kd@SmGINul*e)|S52{(?ucL7%3sVoC&2i!hE{yOGSN0A52 ze;jb3RJk0q z$tr>M;51=qZKmhvUg#AN5RkSNcx_fUSY^)0%tpqpe>hh1(l#P3GFg*@sQ{h7Nxy{2 z`+S*ImD6NXt0kU-!~A)orBVN=KfZ5riT6dly^0#|NqRy12|sWc-cC8 z{b{BHhQ6tJHq8`UI4rfD_bBbWVWqU3UmSMHEzB-pZSnRC2-q~LWYBxZ-?%_op?MUZu%>4s{xmG)TqP9A^Xwy#e1jU1Z|!EYI-di4f0M9tfpTw%hYFr&mWr-B5%nd z=xyztLe!YgG@*z}rdq5yD+0I5X%QGuCHPGO#a!Hq<0s3X19XuewTaZ?O&HF?v*Chu z)_2)oumNlopo4mc1T;9)wBDRJJ6=ErRE0y{Wv3WpUR9iC&o>T9% z7()fUHWth%&$}eFl#>lS?BTqQS;*%jM<6zln2epHX8~ABLHS0Tacy9AonbW*`C{J7 zEO^Tj4RV5ui1=rlf}QE*K`+ZPD<++yx{iI})=C`b-4}J0xWtqxRUd3lt^KOd&J`JC z2;JK9hFLC}Ggj4zq!PJG$%jDt8NfY@$_u4R3jjfw>LqLdZOi(1?j}Nv`@z0P zjlao&_&MrgO-md*0Y&-F+F9$4L{t$WABA|>JDiyImDnVTnF(lG)ikK4z|j;Bm<;H8 zA!@}sD1rs(DO_YKL}ii|>yu&Z2q-9RBImoJs3)-$z;KTM&ny=jA6uZ$F`_lOFK)9<7giIJx=dAVM*wElKA-Aze z4RRHv#^HP`gR!exFw~^rzJ=*pl|DRgQm++Z&9NzE#dNrC4MzL`u{pH)6JFhO+*|k2 z+V1eW8{>xlQ7pu~na)y{Dx5-Gl&=~8bUP9u)KYnNQ<+QoC&?99?^Y3M+JY%mKtT(_H%MW(yqb z`Gi(|Bv@fPcaH)cO*1LsaeYMo?hh}KrKz_;_#&4p4?IiLn_X&%W$ZiB9wb_*nWD?k zM|iL1kJx(t=nB7rKOR3jE8?CmvXGx%R~zZ{g&FBcu4QhO9=~UO0v9~sDpC3op0kI7 zENe_OULF5j&>OxIMj9?mR+_eyZ8D2(>3=vmYL`m7l-p6v-F|*Bl+sI=+I{-3aC@{W zP!bKS_K(9e#;AJ89BWk3+sHpEbbG3IQ0950$ys(aqGXyC=A9V zisM8rj@77f_?_Yd(#@|^e{UuU(N78}(Pno8vWRWfw2fYui%zldGYtxG+STzNHb0f1A853<=#tiVXfuHUJk+u6OshW*yLf?7$QK%+=v1o8SQ~wR+ zROILIQhyc8vKG3M{!Xl@2B3NR#p?T61Iq0}TkS7K)hl0v71z_gUhu*a9^5FR$tx|M z_L5|I8#APMw>HImTc^b6h6nt3_tG?S%+(%mx|akL`l+_aC^{Caj&e25SLZC9KXQY+ zs-R%ApWM(eG@eglh?4Gh%{|{}{?RY()xR1_fE*JDV4K21=nNY#GGOw!tP}pAeqd&{ z{dyQ#9>0NWQ`_?+{tsO#nYGbI+(s#$&gDkpH|~xf+!4!W`hUo(+B&1MO{DJ1zU@vP zMt(&Lvpv6>h15i58?DbSiaV}AYMxVZY&JPGwKQsIt4fc=7X-^iR0iU`NwHz-rg zTj?VmKg)*s`-X(6#)fs(j(F9+Z)t#xv+QEN{2lsHRFN>t^%{G~N@<<Wl>0eX7XH%>G+N2Px6A7J#E4eeED(0ucM*Rm*|xZt>w8RL z_O<{~FKe|2G0t@IEONSB5g(S|;DVe^uXRGu)kylN$92qK%7A~z7&k_P!kU(Yo4>ul zM^h850Hj41-<1fE3pm5tf@Yy2Hog{p;=n3yRw@6Cig0f=-EY51VOM@pQvrDcw_V0K zwF0Uk2(4~!e+4@KiSIkL7zz2N#&0t&yHi)N`FqG$cfadq{sn6I2(Hx6TodPTyA~J? zGH6&o8REdQ7)vtOn4XzsmD9pSUzSM{e&&Lawx&EiLaHpOyQN4r)&$;IR`FEYN!Zzp zy+!UENb3y46c+zBbAvwj5!F^OnG`UGh+vwcJIBaHU7fkv}T7nDuY}p zc5E!hx9QOSnzYa>3E1zhzk0a1_IUWW-TR{9=77=yy1CG|{Xvewq4*~n1lA?fPYXY! zFm;P}!Gb}!{jpU%lENcC>*w1gN~0UA67=mFV2N)J=uj9>=yy$luh8S&xQ)?qklW0_ z9f5RgCb^VA_#`ba8N)yl<@ad2$Yb*(y`D7kMTlFO9}rhxW9Tf~S}R@yq<+D2p$65L zIkFw&AaVrSYupuGe<%t@>#~MQlKo)-de)FIbjo~`+BPwYwm;lQQ5iGh2%f4gF`H*& zUv=*lY1Bb?HmaaD4uKt-qf-j5{*42P;O|_)8M&R{A;X0>aRABJKRokY__QLY-S=y# z9qQTAKW8ZIj9e6KPPjtQGZ62Q4M@Uq;=`A2g5zgE-*>7yZ78%slZZ*7)&|3& zAl@Om<_GNS^OA_YQ3R%Zr1bAdP{6ZS;}{mp0Ct>EkK=Qzb4a=hS6_sli=Z5GmQzOX z7#kx#3s5I;;bcvYin5Pm$Y*U<~0()LDs5r6R zpnT>)f*M`Me#U8LG=B4UhyU^M`m4Zw?@HYtV$;T1&AgGGh$Q95f6{I2^v9xe0$G~eaJ>_`}?c7HwGXbFd$(6oe&ncQ9$29%-_?^ zzN)qKR_}v%7uGMa0J5ABEptq;dPB|ezn;GKPgX$TMNe8NSh&QZk~H)XERt}ggEDg_ zW6bUay@FPXhl{?Zhp0|kcwk2AsQ z&TvJ3y<#7hqUykmksZs(+XRnxUTsrXOh|nWP1y;a>5{Y810Fx>0*9Csz@c`>ZZ((C zZ|=cAUpy)eFPwvZEI9}`abIEmXz1M)Y>Ev!-^H2vy8hd(qh!OLh2>>m#MPY%v1D&( z%vF*(rjwM+jo51*y@G(s#1nntQ1hvj%t9TsxYsbXTJ1HE&*~T!{9A-;=_HP$^w1=R z!%93cTnIqL*l%;+vsxe@JeF@F3U?opr;cLvhO*m|`>Z4shHD9sXCA2+IoMTT5Jj3_ zA<0wq$h1}*)qN|nP^O6@zNjY){TpZzE#yi>TbL)FR^b>Ml(U7?u(~7+tqd%w`s%$C zW2C+tMr1*QH!%Z#8YD-6KVVe^B9)}b!h7bvS^R~z5J>RJWkGu!c~I) zdYNy0_lOWpiSBvTSJrnPNLAz=Vm&`azwa5uP5dHjYt`chXffge~WkLRD)2qBy z6Y*rhxQ{g|DxHx3hlQ_jq{IFGzxQ&vy1SX2ZYG9lW;RT_y1V=89%H(DrrC5{&2;Cu zV!BP&&-?fN`~%PPob#OXI(>+xoqrh9y+Y#i*qy}jJNBM3hQ}U~|Eu{iB8I9kQ$7UsrPPfy-~d>Mnf`0jIU8eN}aPyHW(s~uQ*u8;k1x4<=^yRVX8W)Ybhn)5Ppqi zh0);pu`Z>Bo|`G?i9M>{YQqBCra^FqpJl|3XDyS16}<(S6DaawJLANZGZhNVrL=kzk@`7q^w)U#)qlvl*;9$$)t{k z=_KYo8qC#ECE!DH`^9H_ipb5TSxG03zMyZ^#QaBYq@J%sG0E8a|lG~dSlWOqT&Fb<2`eHG1O|)urHZY);3nMdLOZBI`Z}hrd zx%Tv&iv0i_cquqEcAf7>2vp2vnwlORVh+IX!BvJyrJC{EYY1y5x=m7jKW&rLv&dcJ zgrLqxHN2KD7!$6`NSGpn2!%_M^Q7~N2zZJ3TjWItu&(X9uS zn#O(i{u4g`ywdwi#}2JZhbai9sWdoi&ths1^Q8es16~WIMYJjvpCg{megsE}o_gWE zgZ^VJ2)d4Udh~X9U6Z#kK~R{nx&u*EzB2!y(YCs*7=l*+>9htycS8M-V#_^dS zF*0BSd7v*~4fr=_r0SwCHM*9|fo@*0JApk+u!ucAmlYLVs>nJfWy~J}%cHzduhA5@ z5LfrsyqAjArxbf?X|oo?)K?Tu%Z#j|{rHhX z9XOD|1N5A3?`>VB3FO+D)|?=Cky;QN^moEQkcv86=bMm#K&qnfCj%(6a{ID;=+T`c z6PuG0t^5fDoPS7PG(^m78@y!#99GIlAlOHid2x}ulHL{VVgVCG5P5u<9+;`{WPG<; ztEPUKWvNQLXg9$ROW|Uand6;crJN@ImS~kr;=Wa%Epc|gT z(_K+eq%8-C9_2s0jpTF_^{MIgVT)TBBIudv!@T<<=lzM!v15|%gLzyX6pnE-( zH9O^(2I8!_08tDP>eLp?uD2`pyeY&xO;XcJhVyW-GY)GP;7os2*c8JU24?RdI^4w?ucqoA;Gu_^Ax#rIIg-L-MD{8 z=<{i8V&g8;{N!Az?1et%kUtHX?1aYYbWR4J*bp)zPN&!7Utahr;-%<+-52Ttd~=Rd zmW@xtiC?qI*qfmxQv$m<{0VDCY7G9=SoNogh_vcBv?!_6x=~%;aM*)Sx=I8N_in4C zqWXk0rGSSqWVQ0~CPEGS?LUmW+4*O3a(gws;fS0}#9APD?%!%mNx^jem=W>==U2dd zIFocLblX$3)^qNb$=g?ur&ic=ToeBUr8ky4Ck*)^V8FB!Hv@(TOL6} z-e?%z?@^32Lhm0hEvk~Gp&X-8tk7&K;+mY0j@=gLQctqeslu z+)nFH9KsE!0Vs{jGKRZD5uJex&&{R#;v&TJ^C#l=7h`P-qf9iiMz7Y`*FyC8h7Fnj zwNiJ6UmY4Qh}lwk9H*r_KjH_CqoxL%U$kGSrEL3VaWGvf*TSUgjKJADxs5JFFUASK zhGkgiJrTED4Izd$3d^hr{`ft+YUEd#KaXKZ{!blukxz*CI-dRY8M#dzZX~kG`UIflMHE|QW(NXztuGpK6izO(X)SCPd5Q3^`W3J^V1a7-jNzk>Br(0 zGm$E^N2+d-Rp#l-lhg>_)p0I>nq=aAo7s`4GxB1v`F;=6locHwXVG_BKIE5}jH#u+-HQU^as z2B^wZX&!hTc$rNbHr^bKtionvW;@N~*3)JM4r7UAje>y%IL-^!^P}AVyme)4M>T62NCiu zc1)tC79NnJ1zCtYsGW$2ZqNvOKRq;eOjocXmU`bGE?-jIN}nnp+Lx(0WU%hul@vh^ za4BWe?%A`1)fYvf6dOc}?^^8qd0r_-lKiZ}Oubjus*xjK8|-iDmV1e{Q#ar~xb^g7 zd4e>{Xr%NSUvYN8c7Olb{RAN~r@n*hy4m#<{!o|;hFvlvQq5i=xHn|w3r7JI=uH^= z_EoFRJeq%A)leX-Y%9be#W^wy!olJa(oUwo}tJu&&X^TwY8u?Awx%4eFkjzN!X59ot{HW zy+8NsI|I0&qB>zS*<))Z%=svzLg>`Nn7hA-2|D=}ZfpQIiGoqxbc*ZrenTV8Gb1F( z%tK#V6%asE>H5P47K=`$Tc1-{>rbbfLjp-CR@Y+qWAJch*Ls~z@=Lx7f?*X~>oPAmVxn`@OGc zl-y+xf?y6~QwBqBTyFTFAD@O4!Di_2ED`MwqSHO84D+rU50izHftO{o#52=j)R-*JK)b1+ocIUwrX6vk|g6(Qn@R`0bG*V2JYFVolX#5RBC>4g+ zt6WbHd2N$83)Sa2)R!v)YCHv7t@YIb$J$!yFk|Dm5-O`teB6TeN6^qfc-lrT%$aRg z6_c@QS#E9+ou#VAmX0BTEwUXl!-1izlM=JAP}0iYW}oVhvIE|*C;SWcIfez2%49}= zv{<@e?O92GBb3SBk>xtx{+VoW9w-?YAmMwEOmcZu@3TkMj-~&Ew!tqlazr@4%V@!kUOTT-J+1d^Z zLG3$u%R9J4MDosfyb125*xhF;H*NTNoS-gEL5QSoldZdGlaTypN#t?fL;e?i86N{a z7r_30zvK?j3Fkw7?mNE_L?@jHagP_5>GwY6!mC;IbRQ!*Dkm3x4Hf0AkrPb-O3Au-huLRe*y9rTo!jXCoutfBY3?xJ8;wG%= zWxh&P`+g7-aqwu~cHH~n_{Z?a`$gU5Z`XX8TKklSZnDQWf2Iki)VEyWYU_9BArwez z&e%=Vgf(nd^)TS1bMq1;Uh*SrHj$G=ErGISS4qVO1rp?jN%>1GmkcL6zOO?3FC$MG zYNnpncPOQDJF!x#n((Ch_jeyVbk8j&>-fvc(Y);S`L<@E_$~E=;1#5KitTIEfOo+8 z5Rex5h?pC0M13FQ+QC*_&uZ0UDB7ThHc2QFA;}v0woc&F9C<~MsqGyR=0{~%p10?7 z%!T9rBzAyZ?7#bL@@$V1qfI(cN)6WZj?pfPs;H8u?U0zea_Q{UR6_9+05d<~Jw1uj zb)4n6@46Tw{sa6n52h)l35OKu1MAPSFSXAS3Ry(86bMb$g}~`SCry;rA|=S!BDGtmD}X{>GE{_&|zOru*ZC$SkwVq+C4PvT}+@#rgOs#Et5@E-thEQ&!%}wwzv{U0BZv8a{FC*D^gII(C5s z8G1KOLj9|?d}ZNqv(9BbA}1)v_era`4!s7(&4I=^;B;(*AoAm~NJcdhHQXIOF9j?I zrNfrn6jFCGuMjyCN^*2>jB8Pc-tls(K8NGrgsJd+Ex^fJNFPpG8}iC0M}`Ob^sfCR^}L`qe)y^BfB4q&L9Z~sp+Rgo(K8>x(IccB?x z2IImtZ*{v^WZ}-ZPHD-y@{3^$#y$c+Tbe!L;k0;E!Jpr}_2C;B8UxIAe1W->fION7 zM5hfdR*LK=seg`G-?50Cs4K`Pl;#PmIsG}P@V(M4Cf`|4B1f|$vSES z{R_SLYl77iVPPNa^C#b9Q%AzqRofE3U<}#u5|4!{O8r}lf!&XR?WU~9!7K8}ZDtR4 z4x^~SRhFAPVQw%vS#5zDh%z?1HWoiV_sx7wo7g!H%e9TnxV&<|H)`PR`BanGrrY`= z99@nTM2sF)sO>ciP#u&!IdUSz0DUnx={uCpLf7=r>X{h+=svgu`wPl3=bzRDqTUHi z>ncdiBddIzP=0h6E*ODRyuQ}XkQRlpgT+tx`(jcp#kpXgNrCf0FItTS_H#8kIG6*E z9LS2R9iNs*#H7BLsf!kCdnG~Kml5loW4U5T_(EwUj5T_BQBtXjD}kTiKaGPr^rZ*W z#F?*^%u-QTw7sUL<5MG2u?D#Ek-(@$tmAfhT9+Pr@vw6AMszeGsVFb*6&ULPX8(S; zpi(00acifVrk-#LSTzpp(S>Fqb-Zwbh#&uSuvh51;Vrx}S8gz&jhBJfK>h1v%#^i4 zY%<-C*%<8Aeca2b2<*w1m-8#(yjrE~Z`)nvNzy7T!pRA^A#;e_-moem$*;G~M~|Z;OZc zohPUnwk8=SbK9!6ekDQO{{i*ChvA-%dUk3DG}To&&UWHe&r<-AP}Te_Xg04Y`4}&n zW<>~vjlCpvv3=UcTr_ZK9PZnJt^jZa^cy|Yg&Zj}-t}FdzPV>|Wl3JMO56U9lQ7Ni zUh{_Jqfo|yl1VF-kG4*AOLbTu;oMursy$3f%GO)Mfs(iD5o)#ALp3JDWUkbcG_9y^YWwlGr~R&pa}(jk#W8Se993!TZICxWF<- zt}y$?0F5rjdiBgs>TyL2NI|Bw&}o<(BDb;{z9D#=`+{6$JDYO9|8uK!?g!G<+|m*p z(u6cvp7&y1SYH6b$p9|Itaa=!+E6EU=77P&&DxaVyL^_yhd{J%pV#(1HcaDy8b;pq zH_Z2wS*%)7`IeilSo9|H>^jAQ)!|BVQXr<9^*_G@!1$Azz=8EAuDY|+A#wJQCp{?9 z&m}3~u$2+ASY4an3AH|sWc#8LXow=QNy}5y; zk)dBb!gNOai*7AMd67j0PWX9296cxyC{y+J(=*#YU%G#er3o*SNb?6U--JMzA)!<9 z6-Jug;*zfS&o=Oh9_~w;=4HW&)+FEY!qqoQT7(Ue+oISG;>e@SH^=zFP;Q)$6!@CF z7%dH73&*Nq4)fD9FMk{XoGNcf>)YGuN*3RiR$t#W@11N^9O|~HpUCLiauho-W+vVD zQayxDQFyW}u2lpz@vMBzDG-LGY;1pxS2QROvB{QVEKtTmVPHMG?_@7n>Y2ezR=bo- z0nD#o4eyKt$D+sqU#H4}Iz)KSkA>ppbj!O$!}nHMHlh1qF^PWRhbz3Cbb%B_&zXIv zCD}olYGb0GiRxLfug|P?g#Tiwg~3rp1-Xg7uE4@Tb$E2qqA_Ofd$(W6EFPnteuo(Q zjKJ2n@PITV>>Rs$MRT{GcGp>yxg&R^Om)O!&L|HrG?Ni>7hrD5YKw3Gu$K&`uP6bb ze1N~ac}fK?q_+xrEo$>~IbyreASlw5?Sn_tA5+HENxOfrK*i8QftHacf^bW@IJr)D zVg@K<$ctSGQh{5xBb64>p^-8mls~}t^Xzwk2d!!6&aA)P+;wg_+kg2W@@928`4X+Y z!&#~3J$|z#r+p{7EI0cAkK}D?z})-Gmxe?weAEwV!X~T{wMvBn4b2J+5Sq2hE$>`_ zJ{?Qt@x1h0&BEk=y?155VW5+$qnyVH`{Z_nD(z06ta?Sc!au**ppXVM(usphtW|@P zxlO51rP6v(2^gu**)7QsY2J;J42fZ#3)X+o1N^KT8T_4qyC}z)`Aeyh#F6(V=Eq4= zpiwYL3sn=y5a|L|sc$CC{#~o;bHUo8sK!DPtj8w%*Y&p37%B+X$Sevg&-xbXM>YkI z!3jLP-F;JrLjHfW|7YIy;S~wWMW%c2ei*Ya`Mp*W%u*pl)>BT!H<rK-)&gTacH(Q$Gq&E4=S?DUw-n8 z!~zAOlX_!4>4Ba?+AjjFH)A)w=oyB?FC+eZC5w7p63+WOp{7!gs!&p)@fg+F4GpPM z3@>$`PP}k(jHxFhgO}jwW5&;bsOg}7u0r$K5)Hd~tja$Y%dy>fa)bB^J?9~~r1z*- z-p8DB1lbOY+tw$QtNzCqej^H|A3llPo=+oN;DwlS>pv}yv87_!vrIHu?D&e{j{m#i2SN$7>ufA+~~gfy{QST3NQI-kw?Joj2gj;P3oi)PEG@9ivN zW+H&>n$lhvAyVhzIb3e%m;k*>?6S)${UOl80RfQR&YVW}cGxjd64oG+9ZIB{rwX8y z=bi2Aww}EMc$J+#WdQ#jeZ6gNzSXht1)xL$h#5iJGY-I-;OFVsojdCei^TYEGT_NK*cR00p)DyxI)?DeX1y_#OUvAvqEZ{v*H z5cD#}@AXP0g5eA~h#Mx;239>&fKVU{;;R>Ba6SlPz)3Jp%FS|(biv$R5p70%^{(?| zi$~3iM8t4KyV?`OE-bIrSEPzvNTgAKF)0zyO`Omvt7fxJu1|7jaWN~X{PS0RuAIPM zzOP6D%l9?<-+WK|ILo7uxb0-7$c`RAYUc@VYBl!lHn{UUA|oE7*#WKmwt&OOa>~<~ z4a*x(LowKN8W^%^v%7}lU`gX7hO3NB0O9GfdPR)JR1l@jJ$AQQt4$kyi=p+3RF0RP zJhHDKNcdy6?eG3i_UmxvcLp+Y$SP}sBL>$-X}Q@K;0mcVsi zkPMkVMmGxge!F(elP@6Gez_>WPW8OPiUH6$se!a)ltn?eUa>QS9Ct#^;C-HW*;E!l z*b(#Z`1>H@54|x!y9$QY<>SZ)j_D6UKVgFjyf1c}IGk;=)0|k5Riq;NaPC3L1|bmx8Qga>dyoq?em7c2qKNSLNq4530gr7f-Z3X4{o9U2wviP{VJ zC@>f5Sx8(g%u`rjx{`#k@Co-9J4f-M*S>VSz$d*Z z@q$R*fHxbcq`=Q^8y^K>nmq!0_8kC(4mG@nI1bQ|u-z`fRcMSx?mTWpk*JcWla{|I z_l;2EB{I8mz(P<^kKlfJ)dnOvPT98DvgQXIpe=))ieC}xgHQi88z-CLyrzIx6P{FC zi|ZTaq-H7&F;ssowozHWlj9hYYChWza&QV(q?Y)NM0%>6c)2kTdC3+6NTs2^t+Qsi z|I{5ayRC%kFSRWOAKo|IBZS%GY@Md;sA(Dp1++5T16NYT-%~MNt4iV0%nYZqr z^}Z>&{<^Iq(j$d`p!|bs+RSVH38*LiN5t>0tqHxoM+r$-Pj4Hx*##g*af(C%445AP zFyC5$vPj$bqRNAr_TSqB5U#l!dfWIv1Em_!5hpw_GU}JL!x-^zUm|W5;s?Q3n26%y zAZrs0z|Qk&q8UZ>J1^5#JSTE^-MU)NFUU>ud3Z)k_;|D{2JHGP*XK4@?eeg}&*JDN z{+AJ*>@8?xJ|jCgUV!q0p{QeZUbSy9MqGe0Mv=cq>o4>VwjZrlB-*F9cF%Pxwd!T! zZL;Kqz3>nMU3^}CejvS1~r<~-9VyRkpF|A8P;9DHH{{Gt{VVgT;?(*9>2Rmu# zu>Vv`6u!UNKjZd3J5Zf%|3nD_(5l6A5(5d@*?|zk{GrX9hz;NfiBvrw6scCNhj|W| zhKM^60-hep?@_@K_+EI#sEEBK4tl7M^KMt=aH=D8*)?LUQ_85r(@~{cVpX?I))FW@ zmQ60m?g77k z(^xA0JQ$}GmIGoXqWn9QK<8F&N zf%5w_cP-^)xbVE}^T9`kHB&m#!|icj6oL@7CI~sMIp(dMQIq^4B{#Jn&F{p>d%)6? z45@myIPW(ype2%5uUZe06^8BD1X2JR(gFSxK7YmALJok~)r8y8(n7Y8wYEdYW%+=q z&&}q>uiO)<;n}|t*VJ4_szBkcKd%cXz3A~{rMkRn(Iex)8(-hi!gR7A(lVs6PTYx+ z{YbXJhuD|=O7HkpZpE8N>)Y4OX0Z6=Z-mLo$&`~nlpWu<`Ky$ptjQx@v%dEBEl|%! z;l4Fo9GxmeZIK0GXmq76#HzL;83wkfS7LlyibGejXNd}-+4a|Q8VE4W?Qe z1yzgW8gn5As;o}aQJkoSf2(D&j8&rO`aV!`C?>vS;!UfOU{Xs_1r8hs%0O*Z51KTV z8R8D#cgQs`MoPd*n(lrHZ6LdiB^VI!l)D4NBfvribidue#dg_b|HcFB!Lx!kK8JTf zn7kP9Vi?+XNPw_6-he>$8;*bnE!i3VN@8R2;9PL{)%YeE7Zk9Tg9I24Y<4CS*)+sfR+CSple< zXI}isP}LeDEql^dV@lxXZdYL^Vy=(5m0|>#>xWz(XMlkBf==(57N?hR;eY@B?GsRK zeg{vh8CYYQwV~WhNjz}|Xe9~7v?!hy1NDE12jmqLY>d`5$^tO7>0wekdcByZUtUK* zNJDYEaO+gguqFlxluOWc_KyF)e+XHXUoyI63B<|e-*`XxVL;*mD82@&@wQh1J5sXm` zR`~U|;0JRQ*yO*mAn|rI>rH<+RufA3dXK;Ni|0eth82a%t@E3_1{v!;HQZ>sY~4_O z=6m070!ID+TuRJG20(~Q5cQpz;;&U6?wZ$hcQnA8{-j!(DiAD{gwctr1sv$vgslf4 zbtO*IV^xG6mspJmIPD*KZ~w@n1M3^=>*p{8^5`flRHkUu10+6vuN;V4=fY_NFDD2C zI_0RDu8$a)vD?ZRe{EUiu&nRDjP!HTqjoD+?o)=GpcAI2xFemvRCw?nyoNgm-H0^tGdUoA#;*jLFw& zIC6j2C>ij6=AJ56*64mxuLl2Mm}a&0X-Q~p8Sj)nv@ymP{4n4c!ytKUTlb_d)_60# zF}QKvnN1PIWy*yz+*WmO#M#|KWO(YUld!)1@l)+FErtCzFXf;UYAK5hcRn^unGjf* ziwGYU36<2SaDyoMakxNRCLV{I z^v$pN@jX*d{ZyI`eeU@8~KZ!FWJuDkr)OZwKG?(iMR#TK+y0P za`gV4k9l{hJrjPvTH)&ya~)G|yFYHmW7%;1Lm~7f%epEH*465%7Qd?c(+BC+5s$sD z#n}bO_BtB3qD9>IKyH*Ugb}UdVmo7jqApYV z_X`wUYy2+Z%`Pud{u(xyq&uo2a=O#M;9OM6H-Eb~Ny9Tf5ub)O%JkDtijxtX%3!(l zexbyaF+@VpMgZ?vDPQrpOG8z%xk;CNy($05dLf5{O2JgPLAgPn&Ft(BS36)YcmBpm zL++yK(q-oYG4XXXkEnXKlcNi7J&*07r{!eCj=i5mnv2sXJ$OAAVn-|T9*Y-)Lgl^G za$k`}1SsAr$DTc0q|Fjr zGaJew>(+4f%ZeU>Q89P=Es8kw)jyQ<5>w&Ipy}_^f@R9?rY5a=ZljD?ZvZPJy%Y|3 z=vmYeWWup9wC8M?@pw6GUgj|zgbf_~23wCU{F`cFs4F2Ur~j~`)H|O2M}M^q_fn&6 zTSrK=xuf=%*mGOzyye4VSncTFOP#@0j3n;XA1w8?UISy1B^CwYtLr9%dl_iq1!UPf zVQk19m~}U1^Rk#xVctX%Y5%DAAm9rvj zcn#TSN z)*ju%v0ogKL0_gmjT_NUWv8XDWq6x=j}mY{c4Pc|JF)N;OZ}HC=G2ioQGszI;Q)kg zk_7i%VGxW*69YLbK?<${baoQKktM+N5|huT)O?G-jhie(8G*lbEUaIJYb#}};Bs>c zA*FXDM$Q_B^Ra%EtfD1XW+g9nLML+iz>uC7$6y6iLKw`l{%KIqY@-lCPM9mfR{_yQ z(YbeF(5XZx4ug#*z{nbTfgE#hc?wLt!bx|NhrU|KNRj_l#IZV0bJHCeX==QNIVF z>}ngqKeXj*yjJvl-b*wyL;mW_*f00EDe;iQMiz8%>`k|!j9!<&IzqrlvJuNCTdh=%bkML)% z^7oYhac*)}AuMs)9M5-rqnMjRvACcUe5b*oD0;#g`Tqez$!;>5j|rH`TgX=rL$AH^ zdVD&m{Ny@CNUGsq?|pk%oS~yB(bEE+li9{&Tyyc?QJs$fxgVc{3BYS!rsH3O1;W3~ z?xuaW5ztdKX^llUH(-*fKz)&LzQvDmiR6kpwK|{iIds;;ETU%dnGSv%3~VgQ$?|%u z4lzkN$kG)u*-NQXaUe1xds`;nS~O-y(}h$<|8S`F`$S+zsBES!VX)7JR&*LyRE6fA zU==8;=M>Dd<@GxA=TvZVWPYOIj`9Q*d2>aXwa@%u--fJ?mRkxbmAUpJ8#C7Aw|YC? z%;e=VX#yqlhblI^B_)d(@2bHTbBUvCTH?ZVa)H=T(DBQHlOME%PJvx_0nyxbiMg@lBzSGzsjbb$DE=$yZn`eP+%u}AobM(ILyLQD9i`Fmr z7M=y4NVr>vZDgd<68`6J`KVnpT(_uyzZ<_Ibjtkz{|rWj+-NOe+`VdAH=;iG?G2z@ z|JpUM6^kaECyA_zl0F{^qq}&ihVKsk?p`^(9Yh+g#(jOAZ{(F&auqftko0BjEZl(> zrPnhO_NmT1xZyi#XqG#2KCNR=D22kjEZ<_82bH?<8~r%|umOYP+nCllhoJIgGn0n< zH(1!u3@vwhsIffUE^b3}a>A4)dt`^~3o5YHfMhnophX*=?jSDz)SFxY_)PYylt2Oe zdVnn>8o^5@+E^z%i5vS4gViri+B{{0GPmIRaKC-^FTMQs$C zV|y|)0*W_R)CqZw>qHoBf9ca+i3N#?Z@eVrO!I4rwQHSuZ@m2hsH~GYkJpc>!>-w- zooGM#oBq9LU&D%ZjqIdSAt_`5uWqrT-!>Zr!E)2Fq`;T3frv5{Og7YTATS|K6*1Xn z2BDC&#C#J<=Jkr60UjCT*!y3iKX#7IPAcB0+4a0e`Hfy96KlV@18ttBwJ-F9zJ0`X2cf%TW+)`H}<=nxLP3$R~>tacF0 zcJLCce}SBJQiI#`F^dbDvBUu#ao3(D;NCVqQ@88WuAE#aC5X#^?kJ19^AsZwR_Q!HCe(^d(GgM$lWzo}b-RF$ zRe+N}tY#O`FF4gE!DCX3^+kK>aY#A!iXP>2g4}Qo!2%j`H^9Lk660ltCCsP$PRmmf z);p&T^^Zk|4#JiJnCXS$%=B;aK}U)}%;f}bn6jOwo92xcz*URYs?@l;W&;J_N(Bh7 zHf+Exwf=&fa(AdT#R0}MgP$?Meqk$5 zqdVC;NgpvTkgr&6_()~A(W z?ovMhl$IN*6z_*HRd9->b|0r8Z_^OBe-j$m7H8A=?q8o_4bQ})kehrO&G89pG+*pC z`bR3*suz@NlV|MwWX2iH-R9tOzC9;u$JK4VJv4-tb&^ri$V4*7%x%kY;Cf*5b%~#+ zvEf(8EH>1i;^Sxa^`E_8wFJYgF1?v@R1sQDkjf9(-15X;L8zfqoC@r$JRBNS`mz@0 zQPrY{XlTxKgRom&MSvLymW|iTnEwWjTBZ;FX#ScFBOCC(w51cx_9vn1YbSwR8b=xQ zMO(Yc9IOcwv=ZF!gLM?Q+SvCIxU=}<2FXRSsqxXsN9N|tB@&o;KsX(jv<@+nFr9kB zVM*wRNVQqv!SL+h-X4Vv{PMPM+YFrK0QMR?bWX(i#ryQjj416yO>UU{GT>pPd?)bY zw`(f)IFb$uERz@D_v#-DOf4ti_<=8#>xr=99_^|vF3tK?&V;d1lUcJgqm$TGS#cWO zKN)a3CW{KSiZNu%8H_f*+wjW0iL6Vk6jkWft#Bd?WplD0@ib?MbP(7&?*o-#ze1DO zEGsapMX<B6Ch2e~Q~!2j?-hd*StI22iW`v{gppyxWcKQh?vtc^^rD&t2>NhGXYvNKqK>R!ye01cB2rx4#Sp za4yrCNzC7W1e-s^u6ugC=+i~T$S@`!7Z^FW6el%1%qraT3ma6qbn&N9@)D^DVd*FM ztkv%4g>R`?(&rd^&fz$5cX7q*f>fq}O#92bH1v1VhnIJG77W$%mq@4s`!^sDi zI(0o{hO)O{OQdjMlfsNuEbdgDCU($Iyr!^Q0%BwSC>+M38jh0o=tL)AK5i^?Sra70 z#ivo(J+3UjX@F8*K?JwVFgwJ9G;ELb9f1LEM4=0A5;A%nClNbpeD#|F9#s3VisVuiqilOpK7)TNFx&9q-6?KkhO1s4p)N zy8EH}6Dl{2g1vMo*0>*AUrC7JNxzdLjVme_s?6?&)#7F|1Ix%Ml?39?Kd)lL&AnYg zDkA`a#Rp3aq1I~;(N9KhX`D>hv)FMbm+v4RI7!`kiF0n^oVhEH1P%OTURzJ8H)y7e@)GpRGL7jPsT^NjzwAsL8{VH}beo zjO)ls8o}`35lrvxusX}#8I)F6bft-Q8x<_LOGXfC8}COhS`mJ+-fxSe#-?OVnggWp zaP0WOnDKTcN_w*Y$y+1l%`Hj5-J|8Wk)MYVMFOFRD+I|4qD`SRya#9nCX7HnnxJwW zS$MTAEXUMlDEZ#a3VFa&4FKbOkMQNl(!gD83>;&rux20>@$=g$09Jqa1yxl15d}u` z6$q7i#%cFSL;sIV^Z&?PmOz~72dr;2KOP|+htxSq0)+EH+N|B1uTKF)7FOXTb%6Oi z{*`%T?zbci9#$l9c9c^wXp`Dn_zXJ25EIdX0wY6$$NvV@X z*B$}FJv~WUnSPMc`oE66vAVJr;o<2|c{O|^X7Zk53G>oux=7p#NZiwF0Paxk><>W9 z20AKuPZKhglJ_0(cuKJ!a7xV!u-n~B0wPNOzpw?8{M(yeTO$bsCOYvCmrC z6%wOH;YF<8V&Pnj@^012WR6Xg47f`BL(0(*t1y@7$vofaAh7A6XM~W>-*1*)pTOK( zZ7Pm5|3-Yp-UP>!y%^I7OaO(?of)8s6$vgc{RilGzBP1m>`LNfqk68G~4$yJjae zADavy_-|(D1p%-@aHE6UO}*2}_Ufcg8h!8QqwA`+nQ7MpIldGB+to~QwWJPyK#%L_ zJ}ZX(4(D4Wy*D_fR^pxcfu0moRo?TZjh#3Zl_iE86=&2H@@^FXF(}grlD*M0LwaY^ zHAc&NospMF29womhY$B}N(=)p20COX)r1pDuJL>W3(EXOC;$N;sT5EiZd>Ci&WIj& zD%U!SK4+b@|0#a*+ur-GXbX_g57w>s8}Mr0GM?%JrBRacjn57Jsdiru+;Yei@CUjN z)$*7)#?2~D53Z)lM7rdY@>5a*fA>Ay_oe32o`@jcNiZC^f{OwU-OnZ^4Ymidxl5`I-kijh{`-cX$v2Fim0w z{>T&~fosftESfvS`0Q=`vf(>a;lM}0k+4Q}>bbGyP;43N> z+Ca9GyzhQsQwE*&$Y-T>Gr{!;+~+tJJONz?#v3z2PhM18_4!yYSKk-u z=1stJrKG`qQ|V5R<0F=+l;hLYF2*EYDli)tMYaqcjxVysu3GVI?+}$CtJpZ%j?0$gm7hP3d z)m?S(#bjIVa5-GX(<1kM=`QDAdpTYq@QMlTc$lLgLkCFqPybGe!_C{KWa<*8q@*=i z8rnsEAG-EuaHG)GH{7Q!vh!M)e4WM^PWE75TL^F7Pij6t^a7IO(p@P?CuFreC~^fC ziKLw0IkbE#y7baBmNc*+o*-+VUS(|$&nQ*cY-MJ2T4A5`5EtAoScD{K7;18<9amFO zklvn<$wVng^S8^2%7?yjH7x4=OM~M>Cu>1DNh}w%FYAL2xXpkPvpX+t8`m$#FhSLR z_qfjnkH}3TPmwp}yDK)8;2>fX2fe0?28CHj6THt(-q_it7P|oetUVr~*|#I=yLH`6 zly9nqJ|D3Ay+k@tAOIvndP3u9$+UCkGC$@ZN{hKiu>^CPhvt^p^tIZ|4BzP`?2PkP zc>=Xvpq%T)jl;CgMpdKB(^Cdj{vS_6p?2Vrxu0|4`SRY)_PKg*7fyCB&k>vQbCrY@eV8N_)QJQ{NR{hbp`UC2hS5S~&TguO0@oKc z$P(5SEd?MJN3-;)*=fNBF~13ZHATcp&#G*R^Gi4O%@$4xVvYT@cJbGpvzJU`Sr9)H1U^*{TGA@nbd=N?Y51&;7+P}kNpYsgeFquoLqO|UPyh7$ z9oCv$>vyleG75A$QIu4`HZwC-*P0(@b^U^VHA%CtwtxGJm`wnng`Xw0zPA{)1bojR zws(6WC`NnD6HZE3Gi!c#kC>h3cwksa3>I`GP#1@0$YzoBz$9>r7<#xh>4Hk1m#@OQ zaPX@`xXrYrM{X+F!`3#O_G`6=tA?tV-TEb%ccomlOrKx-tZ8B4kWXUjXnt~?<%Fyb z%cT|_G4-(YJKyD21B%hbWWFNVxcF*f`(D}CR-!5bZE60KZ+$rx!_7!+yBl9{*U^K? z4q9vkWT}N%)XG0E&>l*Q4GVxIzJP+?E>nK%k08a3k)(Fg8q&hn1kw(I!%|U=zf%i- z<5Urq`hcnw**{42hK(fxcjHSDdKoDiu1ge+dQ}MlE@~S^g?wGOL`A@mbp0O;C(_(= zXC3L*cu6U0dn(P5e8i|`6Aq_tknxv(1~E|FsP`BzpjHX1Nit_ zY;1|Xx(iXO;T4{>)u(CFw2*RC@$zlU@Ypqy02(fFz{&jX$&`E>CuW*hL$5#{#yRBi3-MwEKKK5=g? zl-CDKe>Wq2nBF#7y1SUaTU=!N)uFhPQt!XNPuJa0Q&m-khQHj2(lO45slsBIrM0x! zJ5r2HB3SXcioN~pGNxyDze+UVLZqKQ4RC!MPB>1N(}dcUpjtA!g+5H#mYO_tpC>k9;Jy zU=q{c`#d>%Qe*^gP8}8xW;((3a!0*M-NA{IlEz+bVs^gR4ATX&Pv{V$MFSs?henmK*`=VHVT+NxW zJxKTfZn0z0s$FXf{tqK5;q}|W^4afg0~0UQfXf}Bb>2_q2U5l9@q+k z(v(h=!Peebvo73kXHPd0RNi9Cqu!H3WCY*DS#y@q#qN}+ucFl`@G?quHwzzr|D-K~ zOC!J+pHRErJ(2r!L_=~EPPR4AmQhWamJt_MD-P=$7Q&xhG)k1q#=(LJY=a%k#2-E? zf0*me5(epTMEaYpgsT|chyF-O;pUYw^VyHt8=d}M~!ITE1|53``bQ>VvB3k zl(9_8xrIj-Cu(Bcsi~o0<5^@M?fy-O`9dwA<0AfcA@eJfis2WYjSxXoa2Ly=%b$z9 zKUH|tv>!iasZ5U~;dBITkY3ZUWt}052#XHJ@6u5`Nq`ok=QXN-dksy5{dXtAtkF%17pW7U?^OnX0eSRDp zT*Y>IecoIgAD@3cqrG&qJlG#*_su0LJyVywcx?9T?JFZySh+#y?9KASbUz9(FDy{= zUN9PDtDCG#DT_#Naj=t=l#<5G{3(*wxFnXP2xx%i>C-gCZ#Ux&QKHpFvxwWudDn|- z{mg8&q;E|xik<2X_zMGaH-nt^0(@)1fegQAdq zdgwM#=v2m-c>L8Xq_X+)O;zuS#pPEgG2mwcmP^xjNAlq!t7bam!=GURZ_GbH8l<6<$j+187pJMs;cvc zsVug7Y066Kw0EcMz&Y2JcR9it|0G>Le{($n_^D1T7$CvZTX3AhBO$(OW)WdKpd5LF zf(rC%;-`DG>ff|1fBtd3bS#2wPyA5UKc+!iZyEpDNC+VYWeNL}8K=9GYwIu2JnK8; zC)Dz|)@m}~1jXdl5-qO`}9_<8qAO(c1f^y!7<>{yMWW z^C6$_;$N#n$Nl2#l;Cqu@Z74f(+(VB)eY{Ig&PP~@;4u~@#QSEF;*VArEr&|^W^|X z7~$W__YxKFlmqTeClLi9Qh**ZYa#PPDH2$(4!$m~wJ4mmH~<5);Ys3YL@f>yjSIHD zK(E=s{%5&3NUsJjfXP;dsrAF0paF5DAU?bvdx=sj92ALSU$aM#4aVYI5 zCW7C*wRBEhSexyt+4j~=Uv2qUZE)2)CV_vvL3Uw?XhM3V6B;D3>X9GWvzDTj9qVW% zwS~tX)37=FY?|Q|3dxK+4-yi-R3t_vV7&qK;?yR-;CW&xJLT&GnjgEil_O6|)&n)9 z6he3bSuMtyJUHEkz7^8(2B0&JGIyF`$g$Wk!<7hcS?s`_o9|~Lt>1|6Bv4fXhC7>4 z?K=f~uH6wF33S`Q{5|j|dtv;u3rx_XQrs1G{qg_f9?lM;os> zIbph1EvTp(@iTxKrBueAGW_d)=l9Y4qLdGer>aBP#=i5J`}Znvvw$t3Qi);o3$Dpl zQz8ru$Oa`KrH}#1fw-e6$R^ErF!6@$_sKzRAb#mc4=S6nS~JsNH7+1oGwyTH>4{!y zk|d=enz$4szm>V|8Q>}hYn7n@g2ee?T!s9<3K&U^${&qa!~{#M{8e$k;7V)EBh@q* z6VnA@{g_jD-N7*ALLHx< z(%#>xjee@;uAm9XIN{BnHdr6F%k!~Xk9oWUV8rd07^S7d8r`hboB5O!7j}enmY-jV z9LEn0d(xnl`ZEC9nwz9$`3_(DPs3%qou`xi65{^h?|#4(#^gNXvW6HX zUlq+dj3!ayg_B@@S@s$(sL;br=sxJ1l~0>U10T1|37k>F6E)CUrY^1qN(Xbvi=)Fp znixPCz>Xr<1-R0aBUJg}Hi5Aa`URa{soQXNgb&vcs#L*MVUtt@uGuhz${%p9ZXl&Y z07H@z>4UQ*BFm6qVgeaFAaI8S{Tne)$M%COKJlPiQ(YEfz_G;Yg*hBpXq-`>&8j*8{_)Ezc>)0e#4ay^Su~;-qP8JZ0 zIr9oP5QmlT^DDTnTva?z2}UN<^^pulrHKaU;g`7Ln%#R>phDkPzzRP`g|%9x&o3gk zcJF-5)C3JTg0%ckl1ah|Ro`y8(h$&_{D^Me44dXQiq8{B#at9rH^Mt^Q^t%eHdp1DC4vh#INMl@h+0XY{&@*BQQmp0T5Uo48%PtZ07hYku_jy8 zw?vfnqW29DXbw;8htF{doJ<-fG#nWM(%-BK@tWf$!Bt<})^*9F7eB@$pyjR1CxXN6 z&1Exh2?0bhO6c0%9gZBd`eZHC)}6u=x%188Nz!f1%y+F=R&l@G1&gfX_kQFZ*eAKbh$WE{3q%B z>(bFd_w>fq%`#URB6~$;hJK2UK5buh zBSL|;Z%5^spa^K|KXA2>X2ZPW^GK;I>NW`8{MDlYSA@8Mj&h5jwW-68xbdz@2o81X zSDy|7EOQfXH3iV*i`C2H3AYv$40deb6+lo5R`FI-K^@jOso~PZgaOJ(L!ZAYiunqh zsd+jA8Q9bVZEL6nGPX6KbtLPdzua_{EQL}!PT{6|jwr9}{eY`fu(}8l`VVYnV+q;I z^m-DgbSdp_tqMCPK)-R|T#}wlc>VYK`c1{;?wt{j0!}q83DetAO2fY!uem#1>aBL< zFSjT(!b1S$eU0P(ueKysbamIvu*K_i)vJ=s@cG1r@@0Q_RP-|A-%QwJ$a}O+O zG>{*W3}57Iqb>4Aw!hAM}?$~pxaq^0R)b|7PFX%`UCJ5)H> z>DqqM{mwr}&*1p7zA?MJwLHrs*xKHKy1rmn#Ttt~f3}l%ZI)(T&l-3ONB$)RbeN0q z!;gX9L1h$(sB}x~wu?c)*XW*;2ZEi}X>xT7~b`PVxg3h=5`o=-mvjk)!{=I;+`%&X0eSrHKTY4$x`ICwP-igpo1q0ZM)GZVjfeb<~U+!K7~=TOuV|z9O=Kpr4RVdXO)B zNs`~nhFb(j4MliU0geJ;6x|6N(0`+}4EP=zCHVIWQMupbQ~pd*sjK+ESv zG?hvv%#C-!6N?sUN@G1<0yk=1i+8ktOjk2{%Ha}SP)p*!5nQMzGieR=YuF&abO?G-b?LJrBHZSP)c3OaFBd3t8umVI*w_zG4lk+hCz*> ziDeoLEE@EgKYmAs7RUY6)rS7;&kB~|i!DJjzaMh6A8BEHV6I~%m_X$)w^=}5^7aIV z;g;%5gMBNuL$JHIgB4@xQ-GIgzD5{&kFk*sAEL zTxRF-;a_vXEos%QYvO{)B#tx^L=(ycF}6=AFqz-dF$KgwHC}?R!s}O<^8aNn7W7zA zr(G8Ow#HsK_TUTL`!SEZ9BIk5icmiAU*GQ*?QX$o_oi=cHOE)pT)6NJDCDgoAxyhC zYk`rutn!H6A=7A5!t-((k;Ir#dj8y9@FXpE)pO+B3ftXEQ6sAU>NZz{TdyO1&*Nyp-uR7R@DLTXv zI~VAJMUqsN*}GV&B?RNB8VnM3{gO0^d&9RRTRlj^&w}UoTS2RV0u8sAu}l6W>({vf zZ`4SPCJ?n4e-8~-vWw>h1u}~L5YMG*nNZl5Vl1ALF6UgEqS+frQGpuTKi@8S%k;+o zvGV@s!B9$F?F;@}JVCtTyIAWBSy|j%32xEm-iP(>Sx3zbnX>F#qTz5yL79Nxo$t$; zO)D|s`pT$W{!eA-=^~jU3$BQ=xZ>zBZk;W-435NT{t>|j&UPi`*5}g(osz!72+SE z43Th3q+lg_0$a(Pd8>B!!s1=^W)r>dGNYhBmYg^S&-YY8yv=^QWeCOZxz+Hcl1U>hyHkb7y zOBpBYB&9Egu#`oAv9vZW9uMPVGFa@`FTu85X&Ru9^o_xkegjiI6(<=hXr{NCAyk6T(4IOJwTECAZPkq^aDp@zZq0K3jrEC?;Y*RO=F z)n%+xd3{Zs@Y&icO4%wfZ9dN*Dtw@-|OLv^Ykp%9GyB7aA6yXE;H0bA* z`j2pCy3XEL&nEh`TaK68INm6)M)5uRgHw3j*|9q6-;wpy1UNuOJ&aY^0_IMKLId!* z5qzEx2Q}gOh-)~GQm|y)<}^6Yau4HrFbNc0#7!=mxQtexV-dXL{ORoN=`Q}*V zrep#ewiX)aW&CCNQ@D8ieTD#!#5IwdFh)PfDoz2G%>VX_7o3-M(r=^h;tt>Ptt`8q z5god&#om&UagDqMc9c~ox;LkAm~~V5q>Snt12)<#FINbheSNHl3eh(HW!5zFHkmaw zKTMx-t&m>mX7EIFv^Md-H%sf200}Isxt^}e_s5#LGx%f+ZpXR#9_RZ*J~?l1--h4M zDWly~t+M_syGKsL##Und3LM{#+bB|#C zlO!MWvvUEhSksKq_om;LNXS?7ODzLqv7uB7yZfX%-+DiSB}WOgWrUM+FInDw$A%%Y zx7503<(&cJLo7h2t5dp>K+{mO+%Nb$DOL zL{d;tJ~dzr)GR;he6Sy*QI!e@MD`d4cV^egVc42=lEB)5DVkKuj-j#>Z~bwivf|wx zB3dkl@b>FbT?QPC@Z~02XA>coL-8$gb9r@cwm$(w;!dgm9;W_32Zx7E&^O(1l7NOc zqHQ;Y&aNfn5G|IS)_=rDgFKJ z?y!JJB{uQJ3u>qQ#GGb!#D%G0JIj!T>bK0??<@O@o(b|2YF+CysGBW_t@O+0MRk=GR(4%L;T>Iu5rk{X!0t!}#}`B`XFn*nZdEXjPKd z5>CtPG-=*Z;oc=x>d?~F$d*a4cUUwq%qy+FuROjX>UT0$-Eq|cOCA}eL7^kn<+TYh5V0gF&Z$)plNK#I@45rxX89Z(4<-! zmF81FF?a}E{@^NVPliw*WvemmIX!(q>e-{MD?W!19ZjlrS}Ws$_fgI5+6*{Q)u2J7 zuI1AwlE%v;XhklI>yrg9x1i&!C8iu+m)0JGd-L6ebiV5s^Cz4|@5z6CL#r=QB=j zty9D4DS{Sk|E|*q^5Wk^U+`)mX9mxnfRo(PTlh=`Vqo_v-S?>b1Gz+*u}|6bQve*H zEw|Duqx_e=AJ=${#a7`)ib-%X^6(S7n7GLb+|23y1P>8kgpe4Kys>!vjp08e#ha4Q z*4drWU?MgkbRb9MUVv>0%k>es(%{^)_a6?1FE6M2Q6e7vw~-pT=A$7i5JRgSk-Hm#XK#5A6>clO;3Z2ii4G6A0KFbx5ZcZ zd=T&J7z@fl=1ymo))+q)xw5fR=kheEYnzUfCM9MSq?G6&58T+LYTfXW{zU&q0@vCX zUO*u&x&V-I+r?s7H^XYNIT)wLO4je@^2A_XysqG-)CF$(-rVuA&G)KSplrHiYAGaw za#o;tD2ZVgaP#o+8fZlbGz-Cw-J3Q3nccmr3q$}aagr0a`V(xN=g6^}AGi?<>Js8k z%&!Y;1nFJ=zBU}X0SaCZx>Ldx?(T=~-Ye>+ku3ekhlZ2X>&TEt-EU8MTbN*h$T)36 zxUU+COOw;F#KTxow327?ye>ow+oa~jC`Q-*zjPijmoC@$ASa)yvh$|+9SVGUSzp(Lrp8{~go;(Wlp{}9ZZ z%X#Cg5&t1r9M2pTb^$PX~-b{_=Xefh}HV{rfgyQcY5b|IsyM(N?OCcDtnhg`2>VVBjU^LA)=2s+t zdR6gxi5cQ85N~TI!ZUMPCm2}H$0Luz+^7cJLv`Z1#(b%DGg`$ncjHSFxVbL_3195N zgpsJxr7}w`(!b>@PGfEW`z;5Av)Va3g)Hy+CDxzh?N^Z|vYK8m{0j){fvu-4_Z6)b z_o%=8nm~ttA_*ST{<7UZLOLy*7|ulHpI=epA1`)$K!~rjGG_5_dr5#sih4bW(M>=i z^+!p~OlCIGNi2(m-neh^3g1NjQ1<^Oe*@2<<-h+ar3h&~8_a=CI98@0%!P44Ivjq= z$gIjc`hL40$MPy|$dctdtM1lQ7xWltW_45Hd=!l1DI7R)M3s*9oV|Xi{ z$@)_V;tXH?Xu>qjokEvHLe9u#aDV2aY+XDq&lC|#Skf^&X8DEfae$@3{H@w(n*8u* zaf!Uoq<<#A6$|e4TGmE;O0Y0>)J0&+p+oiI9p6P)fjH;~%+!13<(bVWS*vpLa9roe zD);7V113FoiERtB@l-DehXD=}QRJ}egs`~X*C$}+BY)6{h7V|BLZi??ErT+HMcR8v}-6GU3lJj zJL~o??ft{*`S~qHXB6q`my?-Ie$Q8H{1bcjI%(dG7k$s^<9L@49lPle_o#M)AR>}g z)%@-%oWIGP7{hHw_3CzP`vo#U0p@_zmwB}?SP(0V>n8O5A?3mZkw)r4*0FmyrFiYI zn6u#}l8e4P{vE5K#P|ipk(#mskxCRWiv@F_|Ngxb@QHb|Ftz_{FIT@>KGIQ2KBD#% zmi!uAQ#*z`M*?>wl`c@hNm`kxPHr7CSE3bU1yV}0E6lbS2N9BJ64sAKacmRhhc$%t zQ-8FCbtBuN(OBpMuVN!z*7*Cgm>{vd_+<}Zik*qbD0ZG-X3hr;D7;ZrK{dkT!Ym3> zf*6H-05pTdX!R|N-m&V2eu)=S$BHjVLh3N+79+M|g|>QSr{hpBfK<$HiEY76q6P#g z-B^6S5_!rYR-oZb;_?G*M`wL37(yM;aOAqs%_#r*uVa`}m5>XH?Y#Qww zKI~uWZPM+n7cBZo8F;=TTfFOGZeRW6FmdbP(@;7y!!F`?u{Usw1#{?V#l!9VHvQN+ zzz*^r8i`%=8l#DQf7P$=M~T|bTp#soJHBqDYpHKj&vU;D?5KXLdW!2KChtSN86W7h za^yhp?{PZ|alN|?KN1yT$9Se+W5@fKRgi(#0TVz5C6cBi{dFZltT=`iDdR*fP|zF3 z3_aU`|Ma5}K*TeV{sT3g;h?fcQY=f%V%9PZ3LYIxByxy>CmfQrWmJDXFI@l3Al~mj zMguqUawfrO50c>aJjSws$B^33`EieXC-iAMX$%yUH}&i?SeM0)y5F(C#3L zw^VTvw$w&aGbyd|EO=%CzFgnFgT&s{R5ydFJ`a^okU?878$uM42V45TIIc!bg61tQX*RaSPn-JBaS< zFX4ASoV3_fE&+FgNjqcc{PixXB30tYt*81eL3`5l6n{}sd>ZAY4Sntp=*phihhDAI zryncqe3;?3_BgNa_Qd&M;IzaWiY|?*^GvNdBK~qCDID{5k3^pgw5+aoLgC7!)#got zz!3|GEDI0(#cH)um|u5%`MthI_reI6{MKefL+!bSf5RSV%D7A2ty+5@t~<=K71YW$ zsojnIIa?LcUl311vtUAV@TV=F>89rwb7aIYbm%_O=WzDI6M@17wXFohcNoYPhx9Ay z6+vnn(osLHl4+&dHe&*j9ZS@00hU&<$h=?9n7mJsA1`z_+=U|PYCB0mT?>BwR> z#&7}v1A;$Xe=SG7IL6x}{E<~b>8X1-U(62AJ$lBe%;`8x`(DFMU=Wwh)R?+*FgiU7&b(Grln#P>{V1TAX0fRfiR4VZl1tRPtkcGoyX;-c6%< zkx!AUur%yE;yTm#p+d9%{k^B?{8x5+)l+#R;`6*j(dkom`|-?e?8b9$?M~vf z1rf$RdBlys>a~9NxS6-wSJ`$B18cIAbxt1ooSiWD^^9CfH}&J%N#KZPT6J(EOA42xotu2h501R#&r_-qPY=Wm6C;S;VQL|(JWdKHDhYD`>VUP`T}YEDOHv! z&k(=X3||6@M7hKK#ic}j}cl#ci;Z~w_dj5wWGO)aa`{V@DDgY9-AJw#@jvOa$y zVQ`rxv`eK@n>OqCvYF(t<3!UVPxX&RAM=2g^p3PQS0%ox^y@l87p+wte#7nps{fQm zM+}6ym+-O3{LVs54!(DyJ-a#EHFaNnD#L8Vb z3}#=V7F}L6u^L33_L(8G!XhsrFNOf0sNJB&mL-|1>iqk|5$GV>FpVAHg&wP4; zT}K&(GDz9rwQUO~+;#w+xv2X58@Sd?eU)qNd^*`@er00WTvDynyWa^t^qdp9)ca}s z{Pg&9iSV{PwnD^nf3mOdlwa zE(jm*!(Pof$_lx{@!Gvz|>$cOE-OQ~LIzA>J`&YigvbHVDDRDmpmiEOS?Xe$WdhT z>*85BiKwntyxx`Da3T&AievR2-}J+envfh*B&K;aVQl_Hfo*`im>Y3@HNfA=>Bx?_ zwt<4(>uikAmH^FZDn(LH&d%q%;WlPhT z%YVXwIi?qIQTU*4KZYlrQCnk-NR`zPhyf8T!_MckF=Z`6uQahp1VI7YTUYY&tZTXs1A?1%Sogqck9V9qgq1)P*~1fY-3h`>=j5OsUXl>O9Z z@gp0x2Q<9Ctd~|+EC?8B1d^wKM18N}qqXLi0Yca{yrotRNa>R~B56LToM|TmZQfh> z65>P`xpLBgs>HmSSk(#69|F+k0##BN+qUm3aEGnu%n5M6 zO(WQmg}J@#a+NvFdviD`7@pn8PE~Ld#E=4Ws-U(9%iJ164a{T@AIFJzp7dpXmfbpS zqNh$tpvcdF04|NxPwPJbatfe=P21qRG6-cRzsH4vE`J9R=BUM3;(e?Kl;G3^B+5jr zsDs0Y8H!02Nnv`Q7%`08zF`^}Z(6)oG)M4&fylzVK0Zb#_wJ)>qtBC4ljnUoFGgF# z^s*J3%V3oTpW9%!S`R#jjfZ`z3Cv3tZ9G;eV>XpT{FQRcIK4UB!LZryg|F>|%SfX5 z<6vNME_P0{S``XVnr+2Z;NcB8e#ra%%9iF5uFaJbWH3no2NC=4MdSi{1^qQRhD&|s*agXb$ zd;7HyiZ+k+WLP8%zDzOPx~Zm&vH+QT6mVxIJrvw)n{y81ib(5j6n`-TUKH`p){xe9 zx}wW9yh#-F_^*Wx%B$|nXGrG5aLL?YEq3DJcBOy8@};p~vshMZJWXCTlL)P@&-+RV z?j}nce_W4szIJB_{;j=sQc55Opw5>+p;>-6BcX<(7g@80njmJ1&huqEOp7)N+*sMS z>)SfE&VH=LV=>xDn?$FE62C95-K8$_5l1%* zw#oB-Ha_q|{N5XQp|~Od-JSD`JQ#TxJg!Z=K98ea%?T-3AKGP@-}?3=CVZZ+9_ptM z@@m>!SO&^q)wcpSJXKB}58@WxDo<4hJ(Wh&=4<_Fq@A8OQ-7yzs8?S#Jh~~1)GokF zR^)fs|D=DY&7nmK({)m*9yyLKVEWO`Cl+35=1;m|9%(+$eup5BpN{D@?CtZ*CGr;* zh*EHvYd@s~wb+8r*lj>(f#ZhoM!q!@d6CcD4<-P;b}N}mQL7Jo_TF)FtCdNrZK)!O z^1D?wzwO7Yr(Z2k2A;|et9C1j783(xxNq>@eYcXO?Hi3u0@K{a)QV$q%q`w;Sb5b> zAv+|a%IYquMrJTQ zM+omH;MO5Iok%db^?cwNb3e8N!Okkg0|AtiOSO(ihUv*5MM{iJvIi`RTUWB=!kvau z&!ch*_Na3`ixWMbAie z=gc?NiTqQsW5`s_>*eakfgbur;4=)Q6yCKYhf->16i-pjpzP34bS7CUTvZzQnfW+6 zML7J@V*}8DaHzad$kP}kl6NRbo51s(IF0d_yAQ*4HD^cCoXP`NbVa)#&wt<&;)puU zHFM|RP*)J^Wm&UGF}2W;*{f(9(zpbRr^k#`PU%V*+Z247`h(qryTexyZOtR9jN~ zM0{(?RO~MVpoi0%t4_lQd82Q{>0%QBW!2wD9kLNQJYfAGVT|=^ldN~(I&_q7qn=n`xaM@v46AgY-0BHjpC;Mk)gLbk z=bp*{*K6=Bo@owJ3JH3HvHpHp$s#U~xlJJjsgQxDjau8e8(W%4xHgnQ6?-!}5X`57 zv+u!<;h*ts{hZ_9s3F*s91~Jyz7;a+KyEJY(Wef51}cc0v5WPeG((r`nmx*^1HVX;+*)mbVYce=cEXM_wU zfy3Na@j)eETQO6c;edG02jM6CwQ;#~CMsO?M3;&(OOX;Hbm@HG zWm=~_3;bRe?uNC}XWnH7(WwgI%pumn%OX`y3lL~t`aX{Ll>oqe9pj+nfvk7hjz#um z`90s8+09B$XCWGCF$eX_6uzcnS85M2Mz2ZNzm(~}kfDMCZt}-JQEa~D2T0a_s1x+^}u+>MiMmG1YLE}MxaVhzT&TzeKAe@Es@`rVr~1@L%m@!NyaFk zmA&^5#mEH$fiNE?E{o#P8K?PbSb&D#+kLgw6x!$ZXaN)Ac%E08l=YA2&WLQpU?}X* zg}a@T6{4Z}ixf{&>K;ZeafvLc9CI+#C(4q!#hr1r?Q_UzuWl(}!VRmGUrgt^oj~`z zPM{wKvp^;S3)%-|t1+=IHLbMk>I!T9o_nL9WC05^T`7M}a+*z%24ez&3v>3fAY#aT zs>C!#!Q8=>m1r$<+|(4@`sd0 z!W2*Sw>?WG^xF>6KN$&#gdj%U4?w3}f|0XSH#K*Ww}F^%qB9fcr)I^QC$=BwLpF>Z zR@OV)2G9a)5Q=1{>@!si&@+1qUbB()f7wWtRQB!&hh6l+;_!T?F!<1OC}b4#gC8Q) zjZ&4_2*Zd*UY%n3D_6B6(W2hZaNfne#l?w^%G z>DvhqpXrrMkOP`W5tQa$2c+nA4s)2Wc3Cs>c;(RW|KKl%ZG;xHI=;uaJ%S5kjPETe zypO2yS5W}Sioyf+O?yE{T1gp$0tA)N&xYLNsGISc=JZoUzz`U!dk2EX`>>ib++)CU zqedEq(KGAN`taRfvpDHMV#2wPn^KX=9g}5h@u^^li zypSEJV{>LMQ>!BMg+d|>uSp>LI~6@eaLAQ0)JW@4|ckr^?Q!;jG9t zY*<5$4&M)N_XlnbaR!~=y%w@fY|OY{XhvKDEyHc9WWA zX_8bz@P-Er9f3>U`;#C1e)Q*cAlM1Th)g&g!S$yWei}!R93&&EG@IA49}{$B(;{XL zDAiyrKuET4(3<90R=tOCzT**)LTc`X1<7he;Vc>HoriE1(Mq#rr?|MH#SrnufmVLt z6ND6f7!JmbKF-I4VH1r(8f8%i?aNUA)3j^F6J< zUG?4lWAS_^Lpt`J-(VvgW$e5$J8N;_HQ2MCgHW`-#`?0q=|J&x(nT1#(nI!~&@pta zKYqIk7`Yriwkch+t?nEpP50-gpfqW?bu{zcGg$_M1=w6%)rL**$^<1($r=gRIZMA{ zYm|CE$MZwXTNf}&v)Nls%Hbg&h36X#Q*^gTAyuig7C}bDiq8f5UO$}F1)JOv(aLE%MJ%=;fWc$ATt;*RAak?^ zib{{j|6TijAeM3aoW7h9=~meIlZ(jQANi~y9F1T0?Mufu=(_}}MP5)1GG*=v!q}x~ z!#Yn~{3ljRE6B$;54#n;gG9o`A}7-U$X5rHt9zD*NX}soMyY)x6Ux*P9MTZk-c2>Q zmt=PzCp8FAnh}4JU-h11h(^n1D)%=EYIN?t*aOHvTI(;LM5s#dXyUPeAs;P|vt0+u zL(OXX;oY=S1D}4W%bPhHKM=>E%1;+W|S9yh3#5yy3=EDG}rhQTfv)is^#Ilh?7>WKh10r_k4M9bv#@r)s>^} zra|CBOL_`cA+jL?wfmJq&2o(H9~Al(=A?mhB06(crWmfePzIYtGR3b}{!RtD7+p=- zKtIZB$6XSV9&uK77&j5%%{Ls~febY(BLe(;Vz}t0+}^%Og85&_)}D0RtM=lzq0@s+pUL zq^GppXk#>)`6u3vrAK8cG#38`JNXmqLy&UNa@q^bU;n?3QtK}x=nbGTBLww&E_ zUZ}8s>162ONIkSaSJP~La4g)#6~Jv!K&*h>BNf8zPR!ojIEsGbp z80HC}H4phJ)@yX+@u{$&ZBy83@C`PPed}g(W30CFdkVnGI8BYl4k&>uk;B?iGHF#V z`;v){UYx^9&e{!?e}G_jA6B9gjI@BWso?rmWlT_o$jVi@w)^h8?1agsvSW|EN6Xg} zkVi0;5rrQ#IcxeY0rab=30O<|?T{AS4w*I~dml+_s=bzh^{qUIa%e52i(0N9%2oI2 zRUCJ?;0MlRO^mRzGKqRlf&f`3HYjC-H7={6e$h3$q=@;)t+UkF!93Y2?ADE};U z8@KdMLng|sa_CUZykN;EVArm38) zJ>)86dU9>O32VX-wx)>RX6qF{?%(085J&v-^o6|hy4z%KbE_h*THC(&5k;G{*yGl* zwyjC?j{2)#i1Z!R^DaZO#Hp2Tnzh1*rJ)GT4rzv^h7y^g%16Uo2|P-S{~>633cDOT zz18e2^&{Ef3(6N4E6B|Knmjv*p=<(3d|(;8F@j(`%MOWoatNh8;@!i8RX zE&@0EP6c`V>)My%p+dHaju?tN`+=*w0Nz2F#E&%Yq4~w&QzyyLK{R8d7Ghp&dSUy>5L!k!@IPV+5gQ8&Q{!R}?J>}RKQnjY=;ct_iGXBJ zfJl63tAahiYv}3kqa_4n26-W;9Jrb1JdJZ%5(BmTY1%q{{Z|pA11<4M%Oz-|h+G_V z8L{>9C88bu?jYVNl2$6_Hv;i1SP5WxPHQ$fpz3D;i|5HCJrGpe-~|c?{%7;6Xal^@ zWh&UYXT$!iC^3d?^2jDt#*OpuaY-g<%5+YPJK@9O(X)+k)G<~6F#=DttWVf!2eeG` zD!fd|pGK16KLtXAGkcr4Rf+lsC_DzAAa(_l8aEF%KAAx-NTlwGQOs~p?0=z47q@C1 zF)2d`PcOd6L$|R$66|hazOUZhFwj$Qy_=8!`-fd83xaVwcYv4k|NO@Y=OZqO)(11V zZX*$>~ zCgApzjMAj1VA=O6$U4j~KQXsm@Yn8F_DqsWf6}~Mp z6GaLISbna>LC`k=UG89ml+np zW-?2Ee5lF98We_tB_e;z>GkQnaVis!*Rci3ij|!dQ*mW-d<)k?=_`!yFVaDxQ&oA` zYc>Ra&Ny&#RB1;V&a5jah!8^hC>B7Fq21j`zozX*!W$)^0>Er8bvCZtB$$rp8l~P{ zU3YhO`E7&Hfq|XzPk=Zmq1F=6WV;0PJ35rK5737`B@-8WsD>%ny3B5GH5~~$PiwY= zOZtSwbZ2{Dq$zEy@Jyt$$3EP0fv1+$##BvkI<{Nb(Dn@~cFPH|x|zs<6G>W<3UlT| z-rmzE?s8j!kz{(z3Ua(9L~o-0htWy2Px_!>G9b<{GzUj#3!wSSR#y9sZ1n)BTl;IG z1HG9hkO=}N5cK3qmazdYYVfcG5uBx--J9KcNYcnq>;ezgYhFssHkAwyeP&pRShI$4 z559PA9@`2+zV>BPzUAfbn$88pm{p#7T{y5{Z^$L&b9`-ueH2aDSjfzcGvZ5^V_Z1Lo1W;!kNxh#vD_F*1%{{v z)6!wf!)g#-GQl|Wv~q09PjzPyPD&20+VV#S@(raB*z?3DBTH+3`uRXO-GwC6sN3|M z*!0F=KyR5YzzGlIQj|JPyXe8)ab>!+OzOyzjUGKP<+wn55v+x+Sm<5Upq9I3!xfob}euNNEP70b|s94U;f(3u?XE5D(Ui5pf zm?0zRwlK0KofHgX_*L*%r?sMiti%nn7*(pnwm{lo3f7}eW}~NKV+IQh55b) zv!|2)NkqPwnj<@UgIEfa7m(<|0PF=fMWnwx!V`ke{97#sMmnSc5-W<30ouTfjYm?z z)?F}9+Jmj$Y#bq>yO5CqMOAbF0ZaDs0w(tK*EsfiipaU$@|KdL94&r6MoR6n=7ym- z!5s?QVZC`E4|7h86FWuQ4jo*)^`j}Vf%*bQM+T8%YqStgW<+r!-f{114A;l}NHx26Ty5C?%n%@rhddCaycZFD-qfjV@PtW>NHmh6 zw1qXI1p0QMpGe>#3PYhGf6sJ!ji%)<|AyCn>w)~aoj5CoUc_PEorb&dSag$3lRLDb z$G(g-?bC?Qv4fMSR`&Lmm~dYpC$hCR!^>s*Pf&aLyMU^?5AWi=ZS25ej^(zd9btQc zgrt&74CbgH=RqWLCN-&zlNI85&kmG&PwR$PS2kNll#skvSwF0~;yy>BtFpX{z%!>0 z2S$BIuKo21(#P$dz_jds-xGrk4%d5|sf7*l*Y|@mG(keXC-^QQ zo*bf)*T3d|ZXNNJMTJ6Tq$DG~JsvOfCDzsgAlqwhTTwPDOI7w!qe=A}Wx!q^{J=n$ zfPlwf(Ns9;3Ln$RXEftj1HR1u{7S z21pzS!VS0pAg)mtj!2Zj+HS23T*cK zPE`DUWI}oy+1$@J-?veC+JKUjFC0x==Qf@XNKr`$?gzPXK3q!qOQSE7XUJ?~OK+{B zKLq}sS}-kiTkmL6Dy_?vfhkdi+J+}K2bi|_T%4}QKN@Xrt#t*3xC&IsJQqUiad?-Nu}xvyJO(!Dth>23XV^hD|B znCi+ng+ZMt&MDj}RzpDH1xLcnR3z<566vwJcjO94$hqKNN&zc#2v&q{gvx-Fbi(4T=tUPYH zO}Ut_Jo~(e1rPE4VD;ep(Zbb5eSMuvL9R5a#S2Ekb6Ha9$s~;aoj-u(zM!6s`dzZC zU?N_VSSZGFhLW^#a~=I#Jh)r~+-s$2d|zNFo*qhiMF;QXy>5xD*8iErcQT8CmdABj zWkgQ4d&D_LO|@)K?`70h& z6c^m}4ql>fx`#XP>5eSUWY6*(u2*lcE8}CLx;~>9s`UWRh_2O0qw3S&prg<%3QZuM zK=#rPcd^>p&_OIh1epK_Jlk3lIryrzTo#tOn2}*Oylz#bB^xH@m4$~!d=Esd6`NT%xgw+M~cD1VD;zk;Jh%E)Y#@0z1N zQ}yg0G$!ze-qn~Ps(YElxtdwPtCRL>Z4S2@$j|x$1xEGPqP<3(0T!!jF{8B?GzN$y zSK55sbCsyz^I1lfRI}wf#IDG4ej5GDngkKLvt}717ld5tz^>FeD4iC#7GIZ;n@?<0 zeQ+^dX!bw%4{0|a9NE9wKRLmi`)ekgDFykD&|Yk|M9}fJF+?s+nJ*nv7HhF4qrPnSD4}N`KFu!_FR?bV~!D_@Z~xDAie3mXWEw zEvz1@&_A($I@ovl2j$AG>i;M$cmhqn~`LOj_Dn2}Id{ z{g7kGhZUZts{ylu|D%Iwb-=tpu%hnk3pl8a} z$`wKX$2q2{XBH$I&nTo=JO~>BQf5#GvF+Jdve-pvYxm`I!pL)cfR*^wCvD2}mhDNz zh|QCe%F~iIdmGq$YHG@%>#s}SKPFKG-k)zrWm<8>eJX~CZ zV%z@I(r6bFKEK|V_PRI@_S;OTPx#>&$Nc|)1L0egR4$uc`#LsV0Y;e603`G<-RqayVG@#KL^HywdJxpFA8soSr)5bi>%-zLZ=4Jv z7T7{9-D4@49Yt?QuJ=c4L<3}$SR#}CGyWH{xCJ&I$9})}-FL%a(Cwd$6>asG)WWgv z3hHbuQn(87kaV2?nL-diHdu|>NI_a~PJC$uUTi(`*;+=K?+&|H`YjOWKV_H7_SA!} zAx-nS!RLP_U;vTTh{E(Qls2?Pez!IN@~`!K^S6}>w8odL?eOj`-sQ$UK`^jQ>I}8R zgG_y#*3}dwG0cztSKes6h91!V{x`EtNxz|( za4byO4jUNGhk>O08UMiWOQqdGg*2c3D=V7!NbWhwerdqP+3&;=lV!&2UzzO#v4b9R zN~Zw_Y*;b?BPo#aCnR-zV4MLpZwq{6sKyr( z5!EnL|Deh(0oIP}o46le3F9fIWXnVCb{wDLZ}c0+P9oYPQWW}>rpca@pz7J%utfA>cZ zBOBl+>64Y+W^J&GR2Xfli44f#02%AkL){Agif%mpHu~o)fD|hsyL8feKe*=nBw(=n zD6;?4SmRb2ELyow?~qCxrd3j}H5Gi|JI~5z-9uVlywep{Ki^kNdkz`H-qxC?_(kn=(9*`TZ6k8XW;@S}x*LmAVLw{zPD|Ktk+f$#Vm zOfhG?mSB{c&m0CoNHxnFz;rMQ;#A4F7PLHW9Z~IZ;2nKYA;y^Tx;GyM9?9w4mVypD zmH-)d;z8ytfqvLe8kI+ks96oqNQihNk$Zn*HR!Me1aGFqi$_a3IPgqN19!UNq3XP+ z{pGpm$s)}+?=ajopTZ9P+^(C{HC9Bx&GZe+7gj7d>H(EHJbdG;cTXtd%U7Q$$72c? z;#JgY;wdhtxh&g>r0=}%IWXQj8m5wIVtycd+v|Kc;B2+iQaqS-f{O?_5<|UyAJa3t zXMEW1ap5)d4RSK!HX}A8c1RnF11OZbM@+xf8*G9qmEhprHs78NQ6#T_h9(W-BzIB&^{T}~oa=Sv)LXJg zz4`Tr1yWr&IMkCeUzPOrWxHTK}bO_Cc`|83~$9cRH9;NQrh zO?dt+(dU^-?a0|(>Tl7!cIW+(Nt;w&kQ8m7@UdH%A`UblPixPFK^xX!T_k(`d_9wsh(^9Jz(8tBx4 z2?Iji5GAooyp(}vRM5I3xSv~57Z@o9*RjW8n4FT&bSoz9Jb-&J(<>DZlY`6xV^Tz= zKVYwX4W<12d2OmN&K5FO~>hm_)vXSIM#h>Z*;y(N`|8bnG;x$V0V=SD`P*dI1 zv?h|Ou4uNUx23fe7E=nTF?%yhAgHRcFtOMi^CObNsl&r%>NS=7V%W~pMrz#)7J`dh zGN?d_?l!d_uKK$ISOVejxGZPU&VsUiLiYo&;3I&Gu3Gk>{pAd>B&m`vTMnfLddEUk zU|SWg)xl+1qpxtBj9Bl}SQswoG`x+N40*wvF&>R`4Tr+@BCH0#B{rT4hHWR&G>A&W zR>+u9vW{CQ6F9DE3C<^Q_xM-=H1vpSMLppdr*e<5FtQY?uI1VPY35k`d-mC%RIzk* zKwSf~|?TBXXhNh#9F;^KE=Eo{g1rNu>griS#?aO78Cn8j9N zntV2Zzm%QYO1yV&rzKu3|7zGqnSnkDIR~*Z2+Fe3Hx&4J=A&oHXF-ip^07Kdjrc}w zYCsygtNm4UkiG1aIDcIwV?~&uDV5hmxP0?sT0LlWVZhC@ z+JCMEOl3iU7-)i)%A>^XACsG*mH+1i73NQ;W@a)801d^JH9?F3g~EXMpPmUg^8g{s znX$nP@C|ZIvPO4RfGIosov+dZ^{97u#{ew$n=c)tUX5*+lO2z@lIM4(`zsV`Lf&B= zMhHcRN4XttO@9eKGyLZ}8#Hk&qZxS~G*RFihq>_BMm)SiB9KP(G>iM37L92gU#vvmkrP2CQu;xAe+pTu+B zfdB#W77aptj4z$M%%4(NT3)#9=p(d>vysAy`n!;Z94N8pUWSjD^`^rsl0n{lK9$E= zRe>!PV^Cn;nP?t}n~}J)T~yNneTd^dRRO*ni3%g8aRQKhT}zCPA*}zX0O$TICuD|% za-#bQ3)2?n-)_$xe&Q;KW@>~E3h)lDby>62Zm!&knEuFJEghsxggqvAaBYeqGxypm zA^gNzvBvM_oPBa-gb9vvqB6lx#Gq4VpwBMW@~KZ(*9iXpX?Mq^VH#M|NNXICK_!wq z6rupjdq4%y9_RKBD zj<#*kiw6|LQ@iqjUm2?+J5IA0eVN%+Dl6@_?hEc`O7g}g`O3EF)&~O8NdP65 zq;FBLe84YFTNduOh@)4h;K5Wx_WC{?V z-Ix79|7%JL*Ej?|=7HB3oOX5c)9iy#Wm8&)!S@a|vgiXdTZ7>A-=Yn=9v9W$tJU6O z3r_vtNE~A^(7G*2R!p+T%8E*5ls0+#Yi5irR7AYq&r56Kb$7zgL+tA4NJ?*Kt9JZ^ z!5U&3usALxLidq(!Bkd0ysn>ZRdP8X=_YjpB7qdhy~$aMAD$J`xie|(LTt;D^G9UG z-jXz`((7i;U&|%pWoyLjqYkf<3fys&xCFF+{{35piJ(4Ypsl;xrDSpiq5S*zn9Q9_ zIJ%!yQ!o`hBPMW@?5FR|dA(3PXB@I9i->&|y~Q|GpydO73Eme93tH;l0f? zKxPssPn&;S&|4wc@hwS@a%DN za+;bcuUND8h-eWq($GUfu!c^_vnvP!g2-yhb#2PkbP@)rz4Bx#E`q<&UEknidItVsay z=4e2k0vK|1e4_PPxfj>oE9oyLOBtht=+o_Y-xw7>OPmimC@f}?ryqoul{@zVyq#1CUsu({C- zPoT`9nK5>klC*hHdcttgJaJK#+)!#0w&J$@iic#XolgP$Gd5%&73 z`3*$?T5Hzf*Jn3tce*h3&72v~avVB>-`)|aE$H_5?S-?GT?Ric7UEi0>UcTHmS6M> zj@BqkLiJ*{cv1A3#p-ld7-WJT-0wNl??SLm(fGZ`v^)ik1}}Vv1d2 z7Ckd|yVHZzr=ABT2=nBZS+xYU`Tn5g^W8n(2AU;KX5P2EZlKSKln&t03cgyw#d$d4j!VHJ0zepKXtYuXgWq%hoGD&& z!@8pR(~7^jX!vx;X=90*bXAqZSByCsS;!^0K!LUrn(FCsTRbcuLd)faGrstd^%A?T z{>2YjRT_-^$i1o}+XTt<6hS8UsB^jrIfuWJQpsO7wbDNeEcXDPG-@|(5V zeX%&#;CkL8g*|_d8bmld)0yPaX;uJmL7(kTO<0G))|5*x=oB9rA4`-fhJIs+^@R31+f}ELH%Sk!ti0PBpFC=OfKqKQ3-~{m!Uqs; zenO)B`e(*Jzs+AP2YZGGg#sz?=UmJ5uabuMMxE^_uxN_vaLfoKti^$qn_*7Mn*Qbn20SAQ@|Qn9ca|b|qYd}^1x33?yk_!QR=kl1)swjRVIsN5*GPDw0_-(Z zGS?l=2(QQn?OJhBm5O(~9~fyU$gKi}@Fy3I27?ljXDuoWga~#(F%>^v#+&SnGTXVAoir0u`!L;Oc>+X=~6d2~=U07=A= z3+eSN07;<;*qfsn8ExC@dZC#8B7B!oXF&-uaq?^DT4Cz5mX+O=AHZ?>7Cw$IUTd!7PK^{e*oAY~t zvd_^H=q@1(sX@^d>B-wAw`Hl&+09Mn-lv_(?Hsx1 zMuBlxLF>NY9W;Z1yb1641{Kj^9`(a(`S*AwB$o2;$xLS(k*9{Gu)>keFj2dSta*`6 zQ@+{#paDZY^t_eji&d(QR3ohkT#%+Qi-c`z%Zy;6glr7UjR!y^cdE7W5acJnV=F?q zk_Oa>VF?iY5bkoj!~(xa>}v20c`^iENbv+V);E~`!|7hL6aiSob7I2;Y)h!(?Mxo6 zi|}GTK-1s128q9vm3Pz_$N*0vhd>UNjX8tD`OeB&1*FKP+fUWgqJMjK=Tx2D}Vk^WKFUp>-f8lOh6^j{Gll-5KTEFO=Hl1B|)H&?V z=>wn!u^6oFhay&AaK68wdYRPnx3C?LJNVQ?e~81X!8iu7Hp|Z-#2J<0+hYMF7W5P$ z%N1((ofbO7JQNteKI|)6hWjyHUN7z~ ziD+?%*ZAAC5^i@>0$r`W)B~iYd`V6+Ql~5*lA)AC8Ypha$3Mm(;s1@oO-Ofau*U^; zq`UEE^R?Rsv|&rtGZgfXg|y_j4#oj2KSZ{N9&u?ySq2w1p_yXpKwkasQI>H0Q-wk9 z-_w_VwQh2S)U-4HHoHzL;k&8m<;a0*Cbf%4RJSY(bIA(ifuN3R7{%Y`eP|CQqMw;67;Y8#*7dhI?3?aqPBQfL@5J1+`xl_B;Kzrl ziw4$f))&7QjgC-z2S7aFHux+7;FV6=ZN+p!_YWL^&E>UE#>IQB=l#cqHJj+TH0wKI zxqCrgZqMINat%)o3jQ}h(){r^%7n8Dkth0xA3G}RiO(*bOp~|fC-|2#idwq(7C)+d zVSl+cJu+}Ru6npBO02Hh>iT8Qo?XT~tksjJvr(Gz#m`MNbcg_T^$^MV`A*3u2 z{BJT6)-Yo6hDWCFVf)DF-YKYX;!v-@=Pz!A?<3`6A0{QF?oYeEG|!^QQrH*S^PXUV z#noWR(;2BP0f5EMi*YVI^UWJOm{z3{4$l|r{3r_vl$_(_WH?fQ8G+5qF-N1i;oB7!0^2IZp8Bc^vk!8Y@LI7LB(v|K9yB=2Fj(Ka& z3^<%sf+~5ton{2i1`dBkVe+QS%tobEoOV9U$XMOdRAwV(ABB6KcQ`Y{i7RGOi%5M+ zuz}}?gP_UYMmpzsJgbs|b~c0hdMEhg>^!${v*{P#%kC1N5S~63pWC>I1%2sWCkJ>+ ze||nA9{9-pZlgAqwsuCuYyGMR+es~MzZvzzi3J^@*j3p7m>2O5XYM&_Be3;| zV#(zlI*V3Xq^M>|_ZE>u^Q(9iTRp+K&q$Pwmt^v@{GTs#ge`X7n7G)41LhaQB8B;w zWqJFVhiGB{25z~vQhm4@fFDdkTEr|1gX{zP0&jXG9w$}QVX|%tFooNjGe0zpC0XCP zE#m5r7aGTsmUGe2t5w-d5glB=9#cos>wLaYw2rOZOw#U60KH%CE69~K0YC=%s<6GT zY3KQP*+`NQ;~%~AV}^@jt;ZOv6VE#%%cMe==lXeJv0nLQjMWl@`cW;Z>-ki@+&xVu zbr=^Xz!$`U=Ere)fmj8t&!l$yX3XFN)b(NWvM##X0agSg_y{D+_h?y(vgE2s7i}PC zi%EKj-CB*Zf70-l^;SJ< z%7eH;-NZmM23(L?33($esGBa+uVh;-7aC=z2n+l{(3s8l89LWC#g{!c zK+rgTX9^5{+`(?^8yWkfq`f9g7zxFWqzPzi@48(XWi?&O0%$LGm-|N^R+fV|CAgfL zi#EI4M=DQZfsusw-qBGD;W~RX~@TSj{V=M?w$tr?*$l( zwuNzLsQm}pK0Bai@oVe^M6o$hBIEqH3X~>7zicJ%pUE`CUwWx_Ub3^BCm;V6W) zCA9I(IOO?_Ak2d zbVG$zam6DOQ=NCyEK+@uIno7Gh<23Ctlnj43?Z{-m(*IDvo%vtV3Nl zuhBHJ>k+_2MpRtL?-MC*B%M#|liZz0yfsGsBHY!;Di<4mq351O(S|(Sukz)d4W(N)1fkmp2Ce-S{(hKA`4F@- zFg=kuvw|~8duM&v?Q&jI>B4yBb=cSQ@RMo|arhG4v-%KUTol{~vHxX4=}`~v$Da@E zSwBV>;k6--@wJWQs^!=~EwdB1ra)nV3@Dd4k~++#HWAvl60oye-XjwVoeB2cS+>8B zl2;5o9m;L9=`$1exg_O9uxJ8k{~}`Xb9RC|ub$TP&S1ruSIUPk)!1ueKNSjRrp!Aq zzFmBCJH*NRhgiT)0dM{O6aOz2dSrsN(a2|L>Y!8yz8^<#!D}>B;1@dKgh<>!8cDav zh5xkLPQAtq7|FQzvn$7@g^7j=jDZ}ei3mX%Rnle zbyoq==Brs!Z9HUJahx?|iM|q(&3h2h%_I^9rc zu=kXf z5=A2cNdkNS5>+Tr0-wW3s3H{h?xwLB;o7~=d#R6ZFK%E?4A_P%?e$WRl~@>TXWM)O z8+d&oDdfPyLL=7Wd)uGN(-7EBHT{kG`@3;zZMHO%ANCA!aaGVc%gDjtzTEOR9Yo%K zfvU@C$ISQ|8Hgzj-FO7|1OA ze7Ty=Vbpt%1zMjTyT?5w0ZT4@ht7}z+w#S{pMFJPGPcD7(C$teEW37@|68bxkS3JD z*Z`UkD=;9n*Z!bD1mXfe^YPr-CcQcTcquqo%M5>T_VX>`2hKPdAG&Mp9GtF7c>~e^h zyM12ks<6zW4O4EiSZj~~L9ob&96aQc(Q!Lvhk`ZtcFj{|K%(htk`}{nZw>RMhGGm2 zp(%*`{P0XUnGG;yvo&_3QBool{ud*D;&l4I|;=WJFq5RP963{3}BDf#HB77dd1GF#Hcrzvy#ex zcRd7RKNuVvm{c~N`nwZHIA(an={gXVgsH?^5a?PN%@Z^Z%TObu0RAD{ZpsaZa*JQIn)|#6&aN>N1q2CO-YrBC;WLMN^cd@q$FQz@biS#3o97)r}rzarC%d#>2=W@JV&D zUEZFmK`TMB*ZXOvw)CFS9a$Ix>fEH2M#X%iRso#D^XhAQr9L(0~xpn|1vMT@|GWNmsbDEb^7Qkk zcH$~dpbA*SUhbmI21YwDdr>LTmm}kAR~krllF_goLd#6-Zq%T9J~;3W_&S`H`s4MO zvMJqQ&|&G>S{rRBz2zs1^?@L{nU#u* zNosXHzRBlkZx780f`XH|%C6sQEVQIV5h{cd>5q4bwec2&u7!3v7^0I58MCpbv!}BY zY}2*Kot=Ju@4lu)?8;JA@rs_6`|<+xO|1zks{NK{kTGRqNI5*^oWYlbHc>oHR?I3M zVEXj;7RqDZ<#V)b?I530-6K9_Tvq;pkmO}leb3evV^QF*Eoc1Jq^%OVX^f#cwQu&Zn}GPOP>I1P zvM0Y8D@MOg8m3ZxVBt!i0&AJ<=?Mml+?_~ThAE5`Ivx3V zODIh&2TX2~YkqDAbZ<~}vyJOWjYF**DpkmO@IzBDU%N=10%?GeqVPsY& z`t(38rJ<~7frEGXZ;Q#e)jWrfI8|+j&%@ZKOUw*BENJ%gwa_W3T=daXAE(u>`|(Rf zz4T!WmEe4=pfLBw^Fgu`vB_3DG1R>#La}DguSwD9x^rU1U`bKT2#mi*ci4ZP8 zyA2TV4>M3`i;Q%WHE1@30e()O6EWah6xHVQH}?9LXQf$pLu-)Aa^O8FuRrRD|5+5S zo17+qCwyhJh`1P7zw_oaQ-4S-l{?A-3m^Ib0S|BbXTgW$1wDMr; z5JjFKW_fk4Gd5U)-sqtKqhW_v3Dm?_XV(g#3{aPcDRa~M$Xc6wmZDoS=TC#g7R}Su zX;3FTsBk(l@)+M_Aa|hMP#IL~PR27;m1IPuge~YUUd&*~X?N)JSm~C(T%*hFSe=^Pwx!Kg5iIt~Ls2%Rca@r*Aws%fg)MAjzjwg~W}n){|ay z8yms9_AD&s`{!W;3cH|%M*BI{EM-_Y&&8&CkUAJk2e7q(e5sqohEj(mRItMfI`vIn zN{YkEdW~*`lNbgr&9X^SuCqISB_3vi5VVKvuh~P2_krA^1Z-@}c#Y@WIsj5koIFM# z$~Qeglo*O0-eLVBhhN&RG0vgjkT{V_7CkZ!yaM_c8=!zvYZDeVSndxsd=QhCZ4XuXAE3ReT%^ z>MNFlPkkaI$`<69-xv)?_Q|`F%vFK11-mq0VwxXT89%spyyl09j6>BuVd$hOF<=Fl zegG9X?%e$djHm`;55O8mvs0PZl|Ew_zb9>!kj1h2Rd2WaIvo_$^VU7-u>y!A_H~RQ zIYEqcKalK^AAJ#z*Hk5$1-`z=?rN_^W-plp==z*PzV{ts|EA$E6T@#S)uzg;5wt!) z;I2GNfH1_nsHg6d?J^CByy(5yW{HY=jYu+ z26EmCcK=tCSh(3mD;+qTC%v2jpk04F*4?<#40`Gx)eEZmAUDB;tcAhO6v4)(i@vAJ z&LZw@^eTz7#zQJ?<~1xC?jU8#1_sY-Vj70mrtYrujj4&{U^IK9kf0BCCZZXu@5me6 z?3>H+W165Lf{i-x03pZni%ReJlLf($FokMbZetHG#E9EC za{gR)Q`r0*Z)HUh1`9(Uiijx@eLR<)3UPYG>NUD3DB`2}(gb?O)sRXuH7IZL3)*n_ zbqI#FPVC$X$u9#*PRYQ?G@X*kNY^x6Fz$a^f6{`pf=qe4tnia(QngC8oheR#1B1<78NUQn@$T|fW-<~uSD zvz1Y^5690W#iMh0FD^EFD7kF5+JYQ}cCzH?%$#d&A*6f?C89)-WN$eMDbfBpo8^9M zT!S=LaRNNi@0uTCh8NpQH!y$$?m$XI{WwV-)KM`ZtSEhlQ7&s@jG~}<6y!G&c`-^7 zBTPe95AQQgJVGd| zS63s*Bilb6wxcngw8!&i6`_ucYYJ>@1UVyKPCiacB~V(5fU1V}0Bq{nK*htZ$9u<* zs}h9qYL0F);~`NDvk@8T9GmB%NlxM<7;?dqH4zo0fnl}~0UHtk<4a)`Eyc>38lZ*h zK$`>+UiWpd$WC!9#K27K6l!TQz>hU5WLjp6{)360f}8ng9M^_>V{zyl!_)lE;^(EU zB#)P~I@YhnXcN=Oh$;iydqPf<;*pPM@#NaG!RdBVLg^fg9+G=I@HF9@c&XcE=^tz_ zali__gV6z<>{mGu1s@mp_RPbX{qYk)m3|+=luG- z5fbDq#?ND40xh+6N77@+pF}w6;}0;7nxGIoCV5L^z4=YdD*7!_Xp-ZEtRsxZx3nvY zjW7tpcZlLsl{XQcxw3=EInA`{LI<5E#sxs$%=wniXop?%H6DM3CmHd)(4}Vqu?@Vr z-nvu6ncIJA=(qp=p?Fuv2072|rP(;rgt8tA`rdt@eLVj=b@&f?`f*R+V#}bHuk4o@ z3O`o;FhqG`AFEC}+ybfX>)QnLY0VUw4q65#T}cgn;0&39a0)wO(ckI-)7*} zc~0iaRFw}31Ds^Wn6t-57ntq1ERmK9VeWFe-Cyl1qhNg4D08#?-$kx)-q{qI9!-n?3KZ1;ST{Gr~=NcgHG1jO9U`cG<-m$v?}v zxd?2crCQlW!}TCkWyQO&&Z41u9CSAf6^f8`6sp5jX~2C4vlb$^F}9^Wf^Pq%*%&|;tJ2UO2M9#n-TK;x60 zTA{$NUffC6cWuV1N2`jWFDI;f3E^6GRagygd^a)l`#N=dbH#H8`_A~Ti3!X3U71pQ z^k*#}c#}ca_=d$@?=NC zm$Yg#VM1p*d-M##C_DjDSJS0ohy$GMkBs3O3*Y3ixj~bbWa^*xrQ@B{-J;V;>{$^b z4K2zan8zOBN)RR!QuTvFm|^CcZ8X1HYSL$~7ps+6Bj*i~N59ut;Ox9Mx1~=m@KviW z=SqgA8B4XpT(#M51XQjhdk$(~T>hSlb(AYDM8a_^yItFn`QJbPXX9KzC#Xd`BM&3P zeWhdjvf*WZtBS{2VWpXWTSc5cu8S^+3W;?5^K7K&+mbANSKoxuymVH$WN&#NPb`CRdV| zX(}~(XYvR$F3!H_VfRg-tu|EpKWC%@ zqRnUo#ZjJ)`;}vXu+&q(FHENZ>n7rLh%^$ z4jdfCab20u%M?aaVp9&DF8aH!?jRNv!KGQ~7Gg)J}?U3GbxqyCzoQwVN-h=Di zZD|N$ow9B67xtg*t$--1y&3j@_Rj-!VyaJaEXv`iwjYdI1P3A)uHf^4e*JaJ7Wa=h z^H_d7PW_l3&5z9t9s%&0vwTQTo z`W4v?fwz0;lak>X42M;$A0~+n@FztD-VW#Ym3*qLblDV{wErieb8_I~w zwpCib=r5YdDQ0Cyo@ty-8cu1q;$q?D>grk{`MPm3_&zh=d?d2$ z!89C^|E|B&RBdlYf;lFekP{1KU%{0ll*A}q*6ZDYm;_LeKu`=R9+xIO!>d3+Kh}Va zS;WbDtMPV6LbOH(!><~2NHLp*HG3-L(BZxBL6jDQ>UEG=O6b5&NOk=NG%?t(*msw3 zh~=U`9Zs%rvW7Rih#-F)`|4yq6*=!cOKcT|Q4-Pplj%t`7QSP9Jnv*$X=Af3 z#y($LfIdV(%(M0W4qNv|eoY@rAk#9yWKU#H>&K&M9t`_jorIV!o%7996;`QU2cs^Q zU+W?Pg#ZHslbx`2pT-TV8_|7g3Yf-#@h@~Ek`PMjqV#p4pK||a)SoW%5~B0Hmv$>b zu8-78x|M_4v#=|@aXbO{J%)AU&>*XwT%(&KB@f@F5@*|iOujZKt?sQ8*C?~cy(pt^ zb=={7v-jzum(|-Dmz3q!j$$-R8N;vZxu|^guzM zGLqj1_@}YLn(p?UP{u7RFJ-8~k~J<6A2%;=h3euGlh$xj-SMg_>MeO~Fgom7ecPQvXU}v0OxeT3i#{hp)wxe# zz~S0YP0MguRKJSkRy2*(KDC92l5rHbsJ4VvT<#Fa@@EKc@545XPlh|i@3@hjPn<1A z7up*QY@9($b0xxIt=!xXa;_cuolK;fh%{k z0FlhtA9x=ylRCjeC`&9v>#W#kQA9Z!`~%jpu2U#w%C3Y(FmoP#$=}xeoi}uGFT74o z-a^tBbk41>qYd$j@0R+zj zmx-8J#;ak1!~RY0Xp)}6cOgIAm770l(=cz{sM?OiZ6la^W)qtZ#&oyJL;Y<0LDU3( zXbm`IpQl`c;weU=!8XEmVM~Xu=(`xva45-0>Cz$>wGgf)Es`X9;fN-08{QJfv^H9)jjW~+@ooQ!@qOBhDwY2NuY@maM^lorl6Pr^Sy$xvIp=9nG{ zqO=ivcTU90WwKYMtuQ89*+Q0Y%nH|AnABhhUYJsHNIi&vAiRG^mYbWMy|BFn!V*$@ zN86lfKwl9ENPJ^atzi=dKDhMteo+ex`NQ?qa;+@;MUAg5&Bb;5hg_D8l@yoTenKf~ z!|xVM<<$&o41oH5d`yg(=bk3xR!3$TDoa$5Vea~G6%>`bM}_s@cC~7h;FrUT_R^hh z)jq1KSxxrGRc=3@!|x`Wf`ahNbtbQ4nme_(M42f6xV5LmGgshUD5g;L@jA6)ihx`$ zYr;NktR&`fiq0WMwJsEW*HH{^#Xc(LN+^3Na|A!?*;rUU9JW$b@Mv!)4>L$<)x%rf$=l`w;PMe*tlpBbKLX z4V3dOfSxw08pp9kN^OP8;3}DAn==ttkL<8p-@tkHr-?YOOQJE>#qMN5Wp6DS`e)&^ z1?QSzbZMp&UFRv|kgdn|O7}%ao-|$Eg#$VszQz3G+mzo~?(CLA9|E@bFEVY+Kgk^V z_!522(q%R67HCDWoHrHv>(W<+y&2;0`@q8cww7W?aWjAit*_ABc*9C^z^iebe9;&1`T_P$HEuARvMpz&AyO<516cg+`{8hnjz=@;P|;I z=w}{qta;pD|FZF5xkIsavoU1(tX%7Hh&p19)>eKrA2<0D*c?ba!X9AYL7<$k5;g6f zO5yCWMKgQKAz($_z?mEI?vfik%|RPoCqzGbA44XmVV?U7CZ}FVzPh1pd3rCF%%x%0 zj@yaov(3jJcJV}sv4!8rid69;nlh}&RQIvs5rn^M+Z+{-e`>D<7AAMI&bN?yDPJUYu@%@*?5N3&>(WA>j%D~%QS_BK&4^iwM?TvpCOa$c4 zFy8{fWm3@MMwd{vF#!=6#AZzTlXXpRVPb;C(eb@4v?Z8%QAJf^=wXjgF1Yp!B<;0L z=zC7K;V-dDxHA|j=!~n3pwBfY9=pe{nyJ1%5ntI#%7EMZAxv5r5m?`I?{(1}`*|GL zwZJo_)gNr^!~y%)NtrFqJ>^i?yFT<>e=~oOsK43kxD=G-(Zt_3cpNP}KW`?I7+m8B zxFE7!z+gs#v}b;aTO+1B2=I#Vc$yPTgV6f|&QF)N_1LU>>MriP%S!(~6lv~Ak_U40 z=-j|6JR8;qJ{9C{(1E5<26K?|rqfD=C|T3I6kG@4HKt;6#`y&qc8OhfJ4s-s8p`LD zrbgSj+UxWa3|$Xk^(jlB-g}&A42k22$rOlMx$eoV{TARL+tObtt`EKeczg%r)_NGS zE3`YFhJ7FDlm4wD1T0u7L?yf%MNL?uHQc(fH#_K$CG_d$Z+Hs%g@X^%K0PTMx07voWe9%!c8?2B~g9XD4Fc_#GdJ;_^%7h>LsD;QzpPZlJstMw=J|fHg0f(Aw@8A%m=f1RiVykqk zv7yoIQ||h{WM-@<9lUo-DzGF6KYoQNEubu}FbaGeyRwbU4rN>uPe754uC`$MK|I0M zX{ES8LlN#)sb=s{*7&-^XS&V=uLEafmdS#sZ=Cyxc-|__+E;xwQzf+Sg zR@#t<7ve*_q_Mm8HBy9C8WZc;OfqG`bSZC?nKC&MDOZPm8enUa8->)TO?$Pz^#>lM zAx}WgAFmGBdIO$%oH(~qWl{8?o)cA#az@&Y>6IUzGPJBlcJ8gg593wdqqN5s1_7TBtLzwK~mx+yzG zbPRTayTCKv%6xKPJlM6X!yXuf+yJNE0vp@E7$D2n+_XKliJ_c7jtM)ix=JnF5(Sb` zgWE7@o~dn&-!VX%eq&-Md{##2n8p$IlFu^TAd?n@P)}REjbX0Vv}K>vj>QCNz0hJ7 zx%Hr)T_ojHr^)$z2d_0>9w zO8o;3I3rT6D9Aa-gpM_e=Q%^}SM%1ch%^5LpUQ}PS#Ot%X!P>#Z$KrO)!Z9a$lVfd z<)uXgb-X^+g%8mo<&85w%fP6Ca%=OF;+ftLEEtDNW2#kJgR|y5#{eXzltAL!-K%y%R!LK1O)2E^r@B}^w z;7>E%EZyq?25A_SFkbBs4n+IyMvYS^zjzjMTE2s8&|cnyUtYyeOoiKQpDK~tLX9!m zBd&+%j-7jdtM88fJE?SBtcBtyE$A%n>p<)IYHL`HbLo2E!qP6V1%rCK9s~(3dxTma zgnhB_iu-!2O@^6TOPv!??$Ez)ysA+;3vpdemMHdm<@IeMzUPC9>2`r)1ag(`lpfPc&5x6*A$)}2477e#W0=keyOQ&DoJLk7d;$DGFE z63J)ELwITE)V?oAf#c7d{kK#E!doh$0?>vUsKJ# zsug**n=E2siSKgBw=RpWJEnyBQ)&OvOYVAd(pk|8u_GNclI1C|RHudOqMeVdSAzTo z{>NC6^(wo*i5W7pI!eL{$>G_oFGv{PJUH8Z={t(P@Y-EL&t%M}H|y`&)~t8%>Oo%N z2=1v@xjlnCd-QMbE5KDXDmv%I%l!PX#VC$jr+}OPX5eGf5c7t+Kki=JWwpWCcOBpZ z$T|I%>`8L|pV^!@o<7&PR`xlPB%1NoO}7J2Y0&LNtAf!}lj0<#^3C!XwIPgK8jL1T z_RDvg{kITF+vy-}T0z*&foI6cKIl|;{oa|_Gxj=`hv&M?-@%N~!&24QeW3LqOV#~@ zHdH(04fipM;kqFGqA*MGr!&h}Et~&+8zy3`Dj8dYpsB~$7;!3*ThWh<-la;@<%hSlP#ft|T4@N_I{5=64##%B4~4@%!GQXD2Gm$8!f~}!;qb{=ha6nHO^smLjpqDT*i2 zL#PV0o2774N-Dk^gc=-%)ad+GQ`4p#EE#t@Am5!FTvooL#h_^3I{!1gbHB$ojYYn3 zJ-96B>l5C8cez2=OTqQnNzbbA>zBsAyTj2xeWO{uFlH>9_SzDXyW8~|=!ktWU`=nc zqz@P?IiF2tK9AO#F2$t1zi#xk{cOM*PSmeQGqkm*%Aa5X8$qgnRuMH`g%|a^Qc~|) z0dr)hPJ|Ec*3EgzD5Feo{M_`@zm;j$`H8RUVmkQBFIDT;RPma}Gn*XY`H7-q)c?GD?Aq94x33EyVfjKESGdybn${?A*u__S4uaX!7csyc@68UR?O_ zDKJ+2X6oT#g;Zx-Kl0bvCk`p+bK|M0Tl9S(=mKJhnJ{MeUBy9C{QGJEhUNENtdbge zScT9euAgc7-{Lv!GlgsjW)iw1b~2wdjBH%Cvj-(VG%!GX14U>`yYC1ftQOU>{8_ek z(LBO<1>&KUyc3;N{X7S0eQn{~cGg87h@&bc5xFh9ghDSOXT$@M={Q;vFIGm_gE0&-3uGyM3PH!i;xsOD47BkH+- zebM%Liz3?;q~<=N$zrFIM%!=_9kZjx{5eXZ$K#j|lOh?PF0{h2_h6s(;DwE5e9y;- z_>Wyw8OzTVWA@ID9nFp*QH?YG1)S68gW<}3aWGCqHr8A@+n&!{As!3!~ZAP6r5fGdr_^1w57pE3SC?2TV7c1 zBaN%gH8D1pVC?94zPoxl-hG-K^~5#nYJJ@uec8}y?g#>%J*I^_{;HPMT~w`^hCoja z5Kgk3KV8N2<^_6@BQs^jG@Jh{!o0AeF_h57PEwJ*=*UqiRP8iwUqAE+6K-_;M=I`; zL^kWLizew9ipXAGzk^Fc{lk&%&M<9+1I~pf$(m_y$0#=)tHKb;!TKMmsl&OI+}udH z8G!=AGHIH-RbL(}HUXczDO#X8)>g&)@UXlSEH{m*w6Do#h%L=pczQiL&Z7mt;7?h@ zr09R5PtdxyD5@3Z9nHTrtB}4&`9G7%M1}t}LGYtwD z2&%JH$@&EQhwZU1G--xEsz&WIWhJ8BzLiQLF~SivxgN& z2&2IU@y9tRbPI%Hg;4%hBZ~h*1SP?+|quJb(RJf*~#OEQn^U>A}E6z6a{C;fsSHR4{ zL<`TLB=t||7F-E#yWchQ za=qG*$ulNDyYgsU$XSLvP1~=%u~}_|S>ot!&_C&Wp4`LvJNJo>2=oq913{t2T@Fj8 zB2p?&^2hgb-eZt5NFXzFG;jkYmJylT4sHnPea$BVi{d$U5{iXthl+!!Nh34Nx&(lQ znkGD@h6#M>MneSyom;m@AaV;B8!Z$2yDPG7@kUWPr;VgQp(R5mH6_qs5V8#C?!n_k z9mMRx_^~?m;Rlg`$~SQD{GRZ<-6&u}~>- zW8;YGm!dKUrb7iHsU=?G_!o#=1%5@GWejy%^m9%kkzD_k31sBtL``=zI@( z?djFjos{}c{TbX^;y_PlSG;THeVBeDmDrbE!-Ff`%qoWnr)anWKq+G(eX1+-{uHc0 zOmo+T3O-z}Qo^#g0>G65^xzu6U5vB6y02!B8&ADbt|#-EJN?lB8WHb)x5~;kasd}d zdw=%#FZX8uEbJs*{|jG@uR-&kzOB8zxl#Gu^)R01_S6DExoe|jxR0@p!k8uOn(dkr zq%MEq4o`|yAjwzBe%_LvBw*{^0}JSVi?Ej`me@#F1DGTm<2loc09L9kW+~XECD(sT zPDLVFo2Q7H#)Uv?Qyh6%fv80BL8)ASx*WT*l_Gzb`z`?oo4t$;6#>>QCZI=5Z@+I{ zkPwmin*uEPeK~SX8jA~I!Wy$~9XNn^>TydYZ|lznvYZf zfk8ypBVeuvc>D~_b3PrGzu8fD$;Yrt;{7k zhcPBtCQ=EgE3V>1W5Hy2OuzwH9pnMj-JD=zYGQo+hjpXQKZW#P$Q*!g^v+( zzvKvxv8wDQ03}~p$Y*R+?D_gk*n1C9p`7N%w;#ZSm)R_?B@5?qP=Y`+%48t*C|Lm7 zaX#j5j(Je*n|O8VAa=boD4?JShYPq)2dDE2N>rva8yKT$OeWId0yXcAL129>twP=gzw`?|@t0Sw9YZW5F7YINNf+Da$ zGt9PbSMVYP&IMmeKxo*m3sh7AysPRb#A zlZoX-U|*Ed!eQu%ucI+1L9xS1s{|*2pmgvyT!1?X9QzzKtp=tXO^6_QzYeu`-yblP z+OTlYJ@F^{u|k|#1iV=uOuB4LrDRFS1D4xr2sZ-zm*TIHOYSU0E5tm*k`GmDnv`ni z6th2OxCt0>lIg&3LbGlqB{%vJ?-;zgH;c;Mkpx(QiT35S0v1XeFKk$#B@LL6FLt4) z=3pjz;s!*Qr~iOp*pDr-l+0KH=aRTmz-_f?EB_1NSYYmkR5$J~y7^4}kJi06g3gm} zHv*5&VWH>2vuBL4v7ONYe>LVmpIC=I-27)vSC=35Z+0pjFhK)?4Hb=zCrRC&a^j-7 zXF*M`yBAXnN5A$@eI73;dox2`wvrHn!O%jQp8#5ncnu6~q6}0{IyOfg@`z+sw5_iP z`*K5!0TFKy*75R1&mgCeVU2=n!GL0J_G0FyNs zyP3e+&mL{scoSv3$?_DVaTO{ndvsO*z0HJSF2VK+)q15a8zFQP&b!k6!SHETHe!>}G#-Z{t_d{J3Y( zwOjD{!{4IH0YOJwT~!f350CZ-l)FCv&48OrXKaGoVL?x`X+$vN=gG`(p4}a&6o-r^ z11C3!9EvHK%6{#M3q&jhxENuhS|jPv>t%v@pt(b?-7Pc7&vD}c_v5dIp6&jtNtbBzl%w>Y8>^K);@OTw!2vN?L%)mL)3GbVXj<`+|7w2jqb$Q zf~wCm85gSIG35+I#^OH*|7s`OFCqQt8XI+*o5<;soq=XW5$J3!(u+r?3Ysq+UDjpl zj10$=`XzVpXeD_HUelv5HxQY1>fB0^Jn9He3=`=q(zKk}@&&!DYRV=ttF{QCN^ zlW@>T?O<1n*ijm@9no@(5CpsIQ5ICVzGoM9Op_q@6W!T|HgvRmpo=wobqd$J{wBq? zR5^uS{T%-Ozimmeg*tZ&B3y)Dpxh-b=DzxOi~vgaj}?}oItPIdR(Jj*SH>sNW9tg* zi0e1rv?0#npO7JM(404`dcZtu$E&qMC~&OP^Xbgh^Bv>e@<)GOLB9s=y$Z)wL&HYn zPul2YLU*Juthrxr5`Ii!I26)JGD-+E=pz$RCUH>aYk&7KmQgJlxdh_}RD;Vf` zbf3{N;iH8I2MG5QRJa95j=^ATbFVN=ZkBh9+_3vIURgYN#?Y8ON~!Rmif+zO+-Teg zIc@cN9PAp@7-pM2!cB|nA0RQN?NpY&j;MsFew@TmCN1V4VXQ>T;zb1RO#MQI`&0f7 z^z_U&XeRv0IXl3STIv4a*VgnhFm~iu$&8CN)zUXSE>_2wq9TX4VUE`9`|tTmSx@V~ zaYinvcMy1ba=aCN{)_EH^mHW(v!!4ccxh~0uKj1@aii{7^q2Q>%9vbv;H{=zw_j}l zMgXygJ7BcFwpKL<^Ymqht{N;Z?Rjf){&aCMJ37S5E%r{!HCP;L;L9Kf=4T{U1(Lpx z*m&;~rHP*m@5{lL46K8233%@Hxdf&82d5}u1BAkJ?V}na+L#NVQ2ej9d2RH#lNa8; zKaP=Uq$_x~&_d&?oh}7JRi~*(Qve4Gr853&j+D zmaji@D56rKCj**DiQcRBE(?45TR^t{U~e*?%f3a}`E%~Ie=N!o_beo;D+FTb~%qD z(rSyx(ZN?`cdtxTHUk)2s>TDo?TqWrl>N_&{lU*cH(l1@W~vPRZ=3trM6 zH<74W^H4bYd*?;|T(6NIZ+0W>pu%j&ja{PovL|OcUZgyg2<9EB4HMyh)4hqDys!L?3o&dR_H`OyTvxIU!BD%`eE?$ zLFEG4W4%OKZqR0a&H>VP68`47@#Z`n6u#}cf7KS9jPOOaYh)&vW4J!eQf5EQ|D=^? zLlV^EX$-!&IH#H0MSatSav9)o0RMAJlZ7TxpN|TVkefTt1Ma-oF_8C9MZ7g;DWEOB zwU#ZzYa}Zn6zZ)KS^@Ba^aGHdjrNJBSD3#!AdP+4_-~RKvI}-IoLS3Fz$N0-9GHYT zGDRT(zXd0@zdZu~pQ8b!piDblHY`lW1eH7EHN^U%ev5q1s`7M;Bs$fJ)yCKr5l#>| z_3nUEfv9r`BUDBI1+!Pz76FbYQJ5|i6>$8)SWmcndYtp|C~?(M}|+VNt-ra z(`+L&>0fxK$D?%!(A>EkH8ruvQ|-~TauWk@7CoBn0;NEuM-<3)rE$O$d%N^cQVAdPqlh#zh(8k z2KxxJ@^X#}|D)rT^R!-e!{jNpnS$Sfy=lSg*Wx64C^xATXyGR&gm3y=gmkzq$m87S z_25X?iwRj!MASFDf;71cT8GboTdy^iuVlrhp`ulmug#&m%reyYi}1)ugmvE^bE{9g z#Tbyxra+{qvKNE&vAtDOhA(DI^5Xx{*6%N-Q499Of=e&`LJ!Rp0AHjX(g9uWBx0vW zms9sRe;?p0N}~3dDG9y~QgkUrAcQVkz3EP^yGSgxL}7{P3*-Ij{IXH~%5yv( z?%|DN=0pn1j|>Fg!RJ+gs~D2;sgc+c`C(DsZ|@S~sv<&>KiW`>`-J}H_vu9-Rw6H1 z3}1zFDH<_ySg`QUT<3`FuWU4cVZUjMczauHQ0{UpD5d{0;#E z?ddT+H28!cns;Mf2{NPCi#cEg@cLE+poInq{PZ>ne5MlJ_=dX@e|_cJVu1wT`#s|Q%@vWp`ve4dfy_+mK^L>n=+nXc!OYlOJdj@h z7aJf3c0c~>IVme;m%rZ|BA#O=05!A_O@&a6@9&tK#h)+~%t(u~C(ugFeIwmVjkceK0m zZ`2F^s&|>P$ZJGBnMFgPT0WF0Rjl^!S^deSUS5f-Tn!%SL=+elA(p0Vb6EblS$Y zmB@Atb>Xfgu!v_)Ptau8r!?!Vtg}UBf`dY(cHVA(@evE-jq05t<%2-Akrh3s=7u(^ zn<35Rj7To*kDJ`r+a11+Ajg)Xb}w(ac-^nMnF^KTYV2&+4YRZxwX$kKl%jdoBLiM| z4zX))`73+*6WCYK{-Lm|-x-0wj#}%|r;FdMT6wERNGa=H<9zIy6aaiGvp^S}qQUVv zFFTXZD0iK=d2jMl!L5hY*W`E9n~#FP3no(wAo6T{h4?Yxu^sgyQ zy6HWcVE;#g=9ZCbfo~9MdupDve0K8+-^$^TM1wC2HJk~aTVF_`cO)`GaKLDwbd_dv ztI-6G<+*^VZ5CQ4&p=6k5{*pY=4@4rs%s5jeW9aqC|Vd&jnU6DN@DWfgv461At`hJ z1`+&g5xGeP6-e;;i0L!YL!GC_*X|tNN*r1i8#wzLnqdBMkX!MJjVFtk*xq4D0gUctbLcfO|+`BZ64r0TtH@mc4`%_Xd_e z7KXR^Fu68AkA3Z9h6wYyGWfR(>~kox_@&yz&8=wA!$MeH<#+FEn1ECl+abkdhP^MglFW;&|w2%eK65~_9g0}RI_7mtf?Axv_2 z%=1BbjB5INjI0;4G`o1ERPq*i3O|pCBK2j@&Meo{gUe1o-`3=m_YK zoQMt_;yWPE$<7V94}B8a13?j<*?>~^hP0D@O+o6IwSKQS+-VTo z#ZSCUZ6v=c6%RYTcb-gwq2U=UT%A0nJXrwBa0!c|VGKnNX-GOu!aqHvF|i|(OlGZK ztFHo}%r*!0Hz^RRCj}nH@ckHDXbq>4Ia4jy2y!L%I;;5pPRlY6k}@0X8W@Ls?gMdZ zi+&mRP-wH-FcY~|rFyb!z8^5euA{V&N7bobB;`dB-S655k0~iQzoxY|H;5#+&Dn%a z^9bC`22?+w4gV%|p*kJ4t{GSO^4a#l#;k#r$HKE4933Sgs)(%-^syG@j!tvjb{2w) zQX#seHWIDGOD1cr;I-Kh^|_$kfrSv>=HoSPvDUYDp8PgZ5oggQ9w*MB0>GWZdie>W zY0$IC>)jo&^##q(3fOn1ua1u{mtzBzsxwg`VeShK)O-Az-{7+BcpNbp8MK%->o7~% zHSl1DPlpR=CY4Hgp?znLsN?UM`F^BcW*A6T@#1~p9l;Cz$`U;%Q9q(+M#jJHP;*qS zR993s1^Np&tge*y*--;@@}zaGpL-|{k5hd|xgLf#R&g=8c1j^TO#wTbOi*pn`7J+= z!d~B%1d9uXfPNp*K_`DygClT~i{U6XgxJN66FHUU-OtEh8*vx-0P%+oINc1N+_d+G za&D^}VnuP;F8vcoh%N6lqM7)I^|6ga96`uZ4=@0BktuK_sC`Qh& zsMYqL{TBr|!;lz_XwQ!t^bl0#`3q>pyVg}9=)lH2Dcr^E{r%DS``c*|K|d-FBFhV9%W5^IHqi$eF^I9R_vH z$OP-79G8LgwGiS0G+<-a81CXI%~tf~Zl_FD1{{C{W$U@<-@i`L%@sIQy_qVJc4dy* z8JtXkwZ+{}oSBcr9PKBdwRU8TnkG5O6!4c!ugQfoitW~_#bb${`)E)4s*55cun`AJ!f8@YH9h(YNlj?H8>8M7f zW*L9zMQ3a}`auC?Sb)e(J2-tRH25KJ>y`kzSz2QnG+jOJ9Mp49M@#cJ5@5bYVLrly zPC#on4hLSPDLP8-_lwQ=9B4;TjiF^0#>+D0)&?RVAEk|43x8BGDIGO5(N^2AKTUeK z>+e6cEYCseECFme+>AS3qJ@P5%0A89R5H*?y|iRl==HZmpiOXue&;Le8HnWPu-1aa^|qHJxwGWTIv%YkT%Bei zF02#sWLbR%7%BmL#rR7I%Jy}A{vF<$w%H#Lt$Vcz#lm{P0dyd3(*E8jRed0(kpdY* z70nk_)DKcua+U0>rr}Os{=pc|qRyAC#-LaraqXhj(XYC!5nSlUKc0X%tFjXq!Utli zdpm__>T z%YlJ+@|UiNEBP4Q0P`8hXb{;>BOsY7)(zwH!f}W~Zk_TP?=ha}IgvoFLD zr=qr*JKq+{`rQ5Fxx}ESOW7kDTA(WpxX?cYpll{RLD%p=PutVQ{_}X+WTCo3-* z-hp0h?2?S)Alp8S_)~syVRUH2i}kk;Z(%T{ftlR#r)iT10y5!i)P#&VBi{GG~IEK34#H*WeoyjH+%y81;iLT0C^ z#itH$WrJP_ALhcz>V`odS!rT8ZL7G?hCJX;uV|{KQuZw0*9_M`wH4s}YTftcCF;|T zt9`0qIR_ch0N1!P>H;cX3`2GfN1mQ9R!>YzG?Re~lQ)v*0%1sRcfji(S|Gsn`8w;i zwx?4`SaUhWKu7x%i@ED*#kkg0Y%Q~b?q72F)|pTu8y|c|?AjAi+_wcq{_2E{6aP@t zxj^DRhBEJ_Y!?Hu{qFgw)A;>|*U(kqczlXQ+EwKWNJwMU&Td^TI_l`F{)v|(>rmjk z9v;N%8kUoLDYy*yZPr|iR-;Atb-WsO>db3-sZ4Atbo&r~_L@HnYY-Cs{>7Q&p`5-I zj^_nG1Lhc(MN|Ww#uuM651~d09fBm;xZ<-++fUAt2Jt5fpIPV2n~n09TeCBdwonWU znhvafDcJEyyiadB6A`#=79W9nIHar8$%)2cQS;Wc*DN?;8!grxIhf0qzi&pVX{!DA zXpr_^6C3gfiZ(p)&C#g?Xz%H#22=NL`@^@yt) z(9+$qL%-sxK}kyjPvvnkWP9$$O<(Vx)3TEOhQL8?-@MqnGtfkQ5E3-ad9!#ks7?IH zJz4#{bl{RsF<^3?mt3dvBV%W~p-pOg_#I??imy_lKoo>QcwJ<-9*X1QOq%|z3| zm9R_vYl}NRf?gNF87n&TJ@@@gUFojt)vlx-$Rpm)PSN9x?wEa3Zj`ycL`Aw*XcgqX z>z(Ubt)7_e{4hUT8I`ouwvyAJ?mh?V=}au-t39sXoij&o%vqf)T&CtVkzW6OBTh1@ z?;ovq%z3P3C~&=IUSe-%)wZS?h!3XM;`ob#>0J~huOxUha&&m9-SBxhd$Nvao=h^{ zMd8(U3Gho5Q~6C3C!;lr8pLPix_6B)T56_^sdfZ z?!GKpi!Di0YPpo&tE&q-yStpopgh+$&Itznz8!jjUjE5jSDQL=zGTc#ty$A2mO9^B zc79#MATYRnR9me!Q>W?8CKK@51-~)kwu=6LcMuP{gW2+be)tz{+kI{f0) zg`#>uar|z^TO+xtw8v`bUP>V4(((V8 z`s%Q#p7!svEZr^L-O`P;bV=9J-6^@!je>MH(%rF$l(d2%-JrBI67N3WCw}igdtH03 zGjr$Mb7tnA&;2;qY7<0y*PzFfV48JV`KYX<_Y@C zR=U|9xZ9(2v;XF)ueN^8Po`fJgB=sx4ACU58E#m@+#nuTw1d@$-kohLt>JV0XSUd; zI=d2j{iVzQoC2s1Taw5-vK{~6Te0_5$Ek!0wAjO5(PJUvQz5^r>Widt_oM4k`7r>u zP#{I`05Cj|yNvYi(#8))W*Aj24wWL+BZY4kpkv-`w+_4F7ibas`>vqsWT?m{LoqP$ zfZUINC5%OeS901bvcloPl?JrYJTn3WT?|h8WlWz#X*cHPdW>@)(jT+4C#%S-jU*9y zM7l`Vrercj)1*_2h@y)2f8eI|IT<86suLw|i{j<+LN!#HOjD+`noN0|hbLvu8xx3# za)vZ!pAQ}G`w?K#|B5jZpfeo6{r6C}5cQhG1ty7gZ?faz)2j9=s3QyTZ$>(6$laYR zr-0Ekh|baN3FxMM%m{)+vh58S@` z*JNP@gkGFHUbTOE@xsl#zq>QU4F6JlvU1#bQfHiqFC%O{zVJ^k-glOyoZy0fC>|8%OOStDQEF=YH25x5qgo9$rx6Y$udHNPQ19%#gkY z{JH<7U;@BAsQa-Kdfo$gt2kk@1-n%3;TmCg3tWKotRtm)+E8I+Q_%K0&${}nUWJZg zt8F7c+=!nJtD zi_-IRUOpoIyDl=y&}A-CfWb(4SaH?sa7iLG03+`m;=hA_FcTnq39nM#C9xmby46ue zux9f%?VY@?Nfx177A^50OTBO2INeha8$LiR3PuA?;m$&Q9|TN!9#8Zyb{G689}tFa zYsl?LFPTN4AgD`Ej8*#|1ZEN`aphV1#o)`Ow#NUEEBz3|q!(XXHwPUx`Q*zf{L|gp zixNARH~JPKh&=z1F|nM}m5^KI_eEJt|8DZ~7*4-ySL*q?j`+zWvj(Qgy`B5?u*Qt} zFmCxZDI}jK!tOfZ{YIJ8=Rq(w4)x~SKXzNBMsJD%6fG#d)(Z$3=NEvPA&Zcqry?sd z?8fMQ)&LyBnjwi)@+d|f^!G*-+twa07J)(zlq5$8Ffsk+hOz4lAbq}M z%w*FS`pruku-@i%zm$CpsyT3Sh_|tyjrkwFQIIW<&OBq;Ftd2lYL7mX|K8hKei8S~ z*_GgVsqek&6S_kw**GRA$^QDj%+I9b+BR5%kV={~7TE0nkzWKceKt{N)9W@5XF)Fp zmvHdBpXl5diA@C{DY%<8p~*)OMWz$iT&LIRT7Q6H^YSxT7dxNxJ0G50_KpH*n#E3D zF%Hl49_#<#=`Bd_x3-yuDK~+<>4F#WI1zj9Ut*6udO4O|)n41C8l-(T=Y{ny*K8ln zjF`0C%3s-mB-Ek7iI@G|F09$<--)QK)EW&wrxB9h0IG=S?h$a49OJ+i#B46zdQD91 zr`KLRa&i^pB_pU}h`~1mt%jKQ4{3R-w47&)aO>8}nbr zxe~78@C2QoLCcv6B*xXR5IFX~`pq6b2*Q2HxFZozQ27 zhc`k_93-2+nT_@++INXiQMk0v#wdcyBdH-$TPzA@DK$p<1pBXyRLPVI(gmeQ?Cz3(a+?A zP{*_9u%yB7jo-~sqOiHj``hhHF;HM=#*<2d8Tx?$F@^lR@ba%GT;hEyTmMGX%Re<` z#PXjnBTmdNgo@{mm^0E}Sw@0sToB}r)9VN3|-Bw;TH>37CtHW1clk^9> zpZ|QeB-h)iBwi-putG^W$vyIg9HiJyf9A$1PjoE;GTj;J8P7gbLrIYZA=35eU!Ga* z>2862M?ogE?s66J@5>&aFcr(tEC@5_RGp@_3XS_uWB(_ z-0JJ=x<~BV1kHo*XIV#PD)tNX{Cr<+j8#`I{~2*Oy&C(ou(yTP($o0ORlOw5hDM}$ zHs7Tmh;y@E(jYeHkdppzJoBj}5C}Rl5f2RHkW9~uX!=Q;v2<&&_3-76gUJ6QT%|H! zN4?q%P7yfHYHHb#e&l-jo8=xN8HCjeOXC}HGGBue&dmU?9-TWZ9^eTDvb8QgG$TWa zBy3**tcB(IT`c=7dW6;uj;u@F1)5if&)j2&rE+%s7BL~xNq^%9=3*S@X7wb`2{3)NKT!UH8$f<0}nxY1*^=N zE8z4iXn?hBAqYy!wP{{B7JD+O-}Gj~T@iHRKn+|wxEw<}clY_u9y%in5BV~TmK(WX zhs&t7u4#5(GkirWD~u=WxtH2;jaEqfdRKvjU?|^rp1x<%q@}vaQ+-WuvCF-|92`Z< zaNzIX)3n%Xg4Bkw;UWS8Aq%pmovhou*k;0wSx!QLFVl^`CP=q_-o{YtB3ooZ6S32h z#kbDrN(iFUjLH;d$o@fl(E9Ib|DTPQ$sA??iV`(ligY3{=OF{ z7E#1&|MC)gSOFda)B@`o=v%w*YpxAKPHoq#?+@;aoB7s$>Y7toe}4A@12|K}*|52^ z1NYsKZ)9ZcT?W|_%eQ7?oJHd#s}K2t{CQ76m|nbr$JZj6QBSlrDEq81dJ|!QNk&=V zP2?w5I;&~YDhDCLXvnH&b@mBpA}gxOh(c+x+$i#5VBz?guT)IG{0ZAVOr`AmuaD0X z8|V`v?>b(tu&s|{x%j>o!< z*W~lU5Zo{YDa3ON>J=Z>_k;T1`g>=bf|41zACUcz9&|~fkcG2)`IJCZo1Z~E{*}A6 z2;gy63#GmP5h{j*728<0zYYfxnd1MXhK89UH{CaV_w=)M*cNtJlaKYl*Y3b2x z;LO~B+T4ZGoT@+B^JSD=^~K-p7Br0HoSoQ)jVKB-~GT%Ahgl1pHmsp0~qm3 ziedDmCdA|{y|G_=cL`aSWgR(5y(kQ#X^N@ccg$wbh(clW)HWVtl$(ovjEpPpC@n7D zI-v7j{+L5 zEKa(P0{inxuJs^eztCZl5zsLZh-3RT{aPSwQHC?op3s`K(OM>ERIrpA|GuMQx3{{Z znB$t-Pbw$L0H4;H2j5Te)-#CFgOq->7X+iHJmNa2xBInyO}}aM`}pp{t?!%Z%t)U^ z!1!|PCaulVdM==Nu_z=kgR+20DB{Pi)^ zwd32zZN*RzvXoFiWD0eTi2bLYjjRLZ`v_hXH78e4rfAGa@-4~5fClB=l^qVwdH$?t zS9XNN%n3HIM~MqF_WSv63Uk9vbxF}X@8%@E^J?#Ex#V-=aqaPOZO+`PEVZ_+V?1`s z4Fz<)z}VE(#_l#hB*675?(FgtEa2V%x9*4sTHuyX%;kL26WH!GHTZoamHEz}4(2Q% z+}Zy<4q~s!huW|Ay@Bh+`xdfAWlrCA;q6g`$$Va zsp(96-g_vJ+BNva3OCWKbBK?%9|Hjzo7`2q^wr2E@ifYuP&M}{`YSXLnfkihG@ooUvA zZ-%E)3;OvbV!ib9!l1wJ0EZJf@`@4?`^z`NxMe9EdNrGPeN8C>R72 zzX7Ro6ZZB#?tXu}={DXIbaOKA1t%#$3Snjx7p8V_HAkA>sd8tmali(m#BqTMFIw14 z!3tLF9>xg)AI5lafNQyDFvPquGo1A74GJJj zg$nF}VEG5@Ane?G&lyv7B&ea;aC5<%b#k$v!}kKYb(TszCY@~znfbjQzVS+ z6P@{Giy1)W!y%S2_WXt^c*(f@w8gYz@2{_XTn6v>OH9AXA--h*GEsoQ;^!vh8kS9( zTd_$>2ABa?i|VQ~(T+s>A5$Ds{~N<)er8mTEFwb3b8_&r;3vpcfNfqEyQOH;!Hvw? zfB1tZ_Mjr}6*`@-!dLHz%6a%!2pn2JJ4@ z`Y(QxQ;M}3fT6wkzyug7fd?kxvOwx2fkc$1mkD(p^}VxaF-*N&wD1~-u( ziIpt7eK54~UG^1zaV%r&r}P8CDp%htqc)|?#&I^Yr(fUUxq*s_y31H75Zx&-Yz^%n zt)l`_COAC5c2p*lB2+%1`@A5(R_M+9-DWh^lD@d=T5a;-Q<-o3yZ~ut@z2$RY-cA< zH}We5Q_H7e{i-VAFt_h)5dpnsYUz%>Oj?QWb>9oayurYtEZmXcwg6N^V81+E?c?E-(1Ns@f?hu~gv^k7e(mg4B$BoG#BHXfy% zNtvLl{wtyuq;ln>ll<$`NlH5RvgkLlUGbvO;c2j0Qu!U1{m8@n?nCK4$2D(RHC!y?z5&0YN1w{;~QjDh$;Bd04W)m}L`< z08-$o0D5P~=?5gpsqS|WnuSjWp#b!?-*_9U_@H9D=##uoqOznaS9N8{2;#}12${7H zywFf7uq1CXjXui1`9x^YRxKUud*v_L_zJ};6N_!OHSlI*Dx5Dv1sFblqt|9crVtDj zBil`TBe>+Fb)sj@X+CwBUF6^|#kV1jVxYJD$rO5s3jf*?E%3PG4KtzqH>bETP^f51 z0-N-6kTq@g>+%s*@8BnYE-h1x&&p>ByTni>PN%wMMwE>nbsksa!>T$%8x`XDD`nO1 zmMO~FyHV=iZG&X=ROVnRJ}?(Yly?B8-ZUul3%^}>zy!&Ihbu_B4jz@^qdf*pq518D zJww%~vZzQX8^u^+&i?)9ud!d0Dav7d=_)`uztL_wTd^d}dq_y`P1hgeM&lpD$l)!{ zkusl@rTMjgD)fC2z&bfCEh)@PGbg92SvCjkOL7EMNSv-fH0poGM_V?qOl~T7l$*nKQsPs#ZU9j_R2FEf zvAI*E=YXMafd*zWWMQ5W0DJ1Ly?*Pae2qYdNbs?}>c_$;>_1AEU*e>tINpAN+ zPxIX(Y3|fR5BvQke^}4H(aaFzp1Xga!R6mzcU)pbKz8kySfJnYH#rIv_lG{*RS)AE z*`Zkz9A(vrBM@7_uT6@Ax;8z$;`n)Oo|jC@#ClBS za-pxD6{Kz+*Cv)Ht}rjeq)w?G)~03$xw$3%+Qk3^ZbjfmHHa$b;0tClwx#>2ddubl z^2jg~GV>YYgXdh#4Q66u@G$vAG2;zsZNy+5WsvKEUjhye4;J_sZKUDxt2^bO_YGrq z_AtTHEAb~={|z;GCPE}eC^Ao@zA?ACuRCeqPof}9Gz2JZ00Q*N6Y*?g-2L_{^F!{% z5MUlK6RY;b>)&;;&Fp-Fx;Eh5DK;o!?KHc4lS*G#qEGI6e7w#5`*$Y$_F(U^kLv2S zZ`7~gmF1AK({suwCBb#=8!KWE7DiH=5V_Q8Jm zhT-YGv^F=w&(ApeBpLO4Z#|&x_hr90j{n_{M|bwGA|wE&7A}yhmjt+y2Z{VCOayYX zp)Ws6`1{<1BcF-ym5JiGMV%+L7|yJ{JnJA29RQXEoQ|&vVZD#HNPlxAJp(ddtKQ(* z+dehxPv@_i+%Ev!QvN66;t3Ym=~hriyx5es_YCJ6Ybl(4?-h~5`;^iHtY4U;7Kjvc z!7V2QtRIsd1}vw6+)3OlpsT4sa>C}oi~iSd)N!cI@)2%D*5Jpf>(^m`_R1cpAx zBkn#q5}Z}b5BKLo#~zDs2JPPOnTa4R&K+QVl|Fup_U_fI$JKV>G2w4I*+!jztr&GAnm;r7uh`f)eDpxn2Nf;#_Y4sRPrUo@fpB zj+ZEe_5E77*}ZG_5q}fgQ8}sVx32BLnYEpo!^AGOSgAQS?A0xAGYVGfSSrOmEx!8# znN7e(izmX_Mn+M7(e%#JeulY1K$JrNhVFhvy9BpX2-(2JIST#e+tPhbt=pZH<^(;z zP({V!SPC^^%|Go38X;r;+$=u zlHtAVjHBG^K(_EoPVHo?nH24MdYvzc>z{4J5Q19@qiPpxK@;SdN9ALI(`s$2b~naW%O_cJl*Iqrdm%aoGn!-bdfyBXk@~&%mgJr6l;yf;C0Z zeZp+lg(ak;zy2L&|Cms(Z(!U{_EjIu)YrJs)amp3chryO_{Ci1MRXjMVZj8|*&q1;fyYiPq0<}hAX7(Z$ zkU?(1q9k*^)V9p`t#ge(POC}tF`RV+`%o2MXLc^Lp8Cr7D#u~l)0ap^Wnd{_jx^~~2T@Tr^j&K2nleFt z=YR(M07E~)mly{K!e*g`hVO%1LmMQw68(dl$ntWbYLoe|tI2L`5hl$01C9l=4IzEs z^cvpo56>INRn<5->Ydb9i8e8AKauwwPV_qMzk>W9TiJkb6;-miPh1$`S>TGK8;rFY z&jsPyNNzl}QfiGXuB{ZzVb&jTid^7=I9w5`U$^$wy0&&sv&q3__IGh_#Y7hPtTk}I ze$d9y`+u4u1SNbL!ZSls@hVA9W#GRml!;JPR;ezn)B@RjF_j!C;y6FV*3D{vL7cKn z_GGV1>!d*1$+g}M&p^fpYES?jJh=BF@i3#x#Ob6eeKEczYElYmpIaD@`}W&oe2ZUB zH>Be-pD2AuOSHA1Rj}mz4=31;L()rCPJq3JiFk*F!hzbC5!*RR1fCJb-}^4Zo9e?GzBzGJiUvZ*+HB z{gr~ic_yRcsQ|Y7yw9C3kw3l2_Hz1R-M-Dp0^w=(AFnGi#BQ*6Na{*+gBRY6-+n_l zLXPX!p}&Wcw#874<{<-PNR0TF&d{QkD(GU!;N6x?&9RNcj)^_>Tin|emzr-QiQ8L$ zMC*gR{*Q$)4Z;_u9`ZvdTmK-i=LddQw;dK@Yc6?gN?lva3G_NaJF3`UOTE7R(W~=a z!`a1!@|n-H{B+eM%$!U7<>Mj$E2N@ABH6@DqLSiGtyX&vE5p!yGsG+B&&?^iXkdX; zr7cMd;XIHBhRnhoAKeZJkQqc6 ziVOju;T;Rk%vmxp%rOsuSjDaT@9wp#g^)KJo@6NhzWrIdeWAim-tQ{pA%=luE&N&r zTx5y&nN4ftkokZx+HB-=Kk77((&4uO|6C^qO<1|Ur`F_qxv)^~y z?}5t-XYohkNt`6rQL8$i>}kw2(83*)#FAD#BT9fh@5I3tzPTp)X)AMvo`Qzz-|?2B z*WB)v-605>=|3&4@!ozm*6kUgDDI|%pM!owS8o4$L@bYy_#Qb}Ac-OBefrR`{3rY0 z?rG;XL6W~p4lQ~0Ig~qj=_Vin-xevF7F^vm*c*q12O1mG2G=N_U*2ph3nK7ieeg`}whaajk^?hdSt!JmOAn>c(+T(%myi;IQq(|pXX zeSROJzkQf2fgKGw|4Hp@4n*a+PK1qL%R3G2}q`uB6Pjk%O{tsEf~yO=}UM~-pD+@ z{p-xJ@0jY|2xE9bu%)FVzx&~nTvSTg8`rp!(DPQlZXvT-KDH1yyY*33%^WyGsduNU zL)>$HZd!L=Gj}wugj&qGnjT_Xre+OxPH5zY_^iE}II*Uc zDYppnyen$Cpu(kqtJjz~uP??=lu&b0R=)5+&J$_AMgyMqhL-^Yzg>Dp> zyzEiDaB2(2AE^03XL1>$(9U0h`NBb4whbVdDDv6FSncFwv(PkPS&>wiE79#4MCKc^ zFqQw)$a1n?+~YY`zuX}M7Lyi{n8%`^{yF54KUqe#}cDabUNaJ|>lbVb)H zGC7IQb{R=3{3w@XPei{j?D;}dVI@V|cP!?G5BZ1EH-B*7+1IfwHEm#tyb(m@F48`r z7h5-Jh)((@m!j*jW2s(uz*5!iW7u$W)~@|gg8oH}rSrHMSAx8Wz}I6Fb$bJz^jc=q z*8KE( zPWS|f$QDAY_iP4nmC1&3=84#dUyw`q(0FU&B5T)uA48M*$> zmNK4a@Hy`#?b zpY~G_%A7ioQ2i*XDz)YBNaJ+?DAihwp$^_#;|R}|;e*VB;Clu^2j4aHlR5iC$imh% znDNf!2uwYJJ=^kT9ljN8zz%2q0XCZ$m_g-li5#|tLKVFAWsfYkq4Vy`@Fcs+w4Gsw zL!}b%AiUSP+T>r;4wQjAcP^LY73JPa6GLBM%MI~zf*1riIReUjLy8h!k9&lL%pB^A zAa8_;6uVlqNGsQ%FRMqPF4p;pDNo8_fqwF&W}OCSbEn?rjsef2FDRYsjVI^$Vnk85R_T860`#5^`axVnERh zP1N2~c9L7paU}f0x#VXpyO^}P=G!9TFKGx4Si1qZ8EME{_f4i8C`A+{`4gDzZN|CQ zgv%ak_7|1uRv}-zL%w7qb$?a(N=_HuXe0N!>Uv;0Bmk!kG!Z*wDRhF0Cv3ShL-jeu z&O6NSSP5~Wg&XMmLpr=9RyUa|I)u(GmDV{*w=td{a5slK$<6HC=fS`A>xI4|L&)Fe z`FYu_U8}5lp(LB6f#S=?-HAV`6+eIT&*hn!nNB?{{4=H`q0N_WLQtWFy$V}mp#@^Q zleZf?4|5MoOA}jTDC!hrQ&Q+}rpisPIixGbq)BuDc2Dw8YMtv_b74GkeK?8sESI>e zBUi_fJ&ttr-Y@Ou@S03K7V!DkKD^r%g@V!FM|QbYS(t*iW>FWf`K{SKY8LhPWvS<} zu!>%h*xR}kMetkCm|3R9VQWw8;+@h@k+D#wRZ^CPH#BPMX&IBYXvX@C&6_k=c-QOI z*G0ePJrof(mla=JB|s?sPWom(=@lqJts+T|lIRd_U>?g-g`|#cP}M7kN|Iq$1a73F z;x2{3d1PfnB3*J|g0~@xj)^5flZ34D7p<@xRMW5M9YazU=eHVx&eAsj??~{98u9b5 zldeM4-w~jEoU6nLhVg`DBUDt4Ru+9ISPZF0pAirU{`hV_oD3PFeT;$BEYOF7x{V0) zCMk=LS$eain<_$heQ7Ghjaa3d$042ELJfrc9;tw~`2~eadTp|IJ^o#RV_J5+qTi_K zd)kcVUN3er558N?SYP=tW)e6VtYqCIdV^2#u4#X7PtsT_@9u2n(95ej>k5ZAYoY%U z^4Q!toz9xOuzq(mbmbMzi(<53CJB#@C^)cKZD7#y;_EDZbMrK}i}WP%5f-(fF?{>u zfx|`g95zO8$fcVd(W;LLLn7?95t(6pLws-9l%w*z%}i)+f%k#rZ9X=Gc0v&3Pj^ZK zR7f5xnXkd}13m`N#z^_`F{1mb9!T1e6Y+AnSeLDH|`#R;_ZrxaY`lOEbpcMZ>@mnu}EIL@gB(Pu;b{ zYxoK*BNFY+BC){8sXv9vCj)%qc-pO~OH~TYmvPp3DlCY=cg&gy|F>=jm!8K#N@euJ zE4Y|M-E+#YRw(@563wkHI@{wJ?jcc8v>f<>e=JPB6$h9K^24jVf6AzU>}PD< z1~GX(jR^5&>6nKg2tPe#VIE->d^Ne76yn)%sZYGm4LrZHQrc{my%fF?WIU-jwc+LN zy`_!#eCQ_Y;40#EP=dpYVxli`J=*%O55WzPxR>Sb?A_0w^os3*#0!Einwu{OVRnUy zO?R{Ve&E}H2VLdRkpW0@^g`9RZ1{3AhUy@frTu5 zRlOn!7<4e*zy__9fVWG2$muM>2W#wzI*pc>Pyt0--xpsR3x)yWa~5#?B#mJhu@(BpB~=0_;e#pv%UPh$ zQIXUhf6`Gg_>3Sw+giF}2?gj6B_z)7@65CS`bO~^Lja)QIXgXl$}aytKWcOu_Hv#! z#(x?F-^#c=UiKQX-?hVpRev0%mfnq?c^a_G0@sb32Oe)5*Jb_-H3)O#$T?kdKk#yN znBz+iAD@$5{(5HCs!>izhy&yJwp2+r1gk*2KN zPIYC0KHV2}_d9c2NGB#OCX*GQqRl=vf0YLyn|*1>GdkD$B#gkbsVc{4nLlH%PnU_j z60C*5CJ2Jv5yD>463{_nnm@$7qImVy))fDDn=w8qIMXVpT!2u8-_kmD1(_!YnxW@bU{@ zQ6zrhSc)QO2VtIfk7c`rXB{)mr~#_5N)i?8kMHEoe^p@0MT3Bf8|X2p8~)k2D@@@; zR0am>4qiHPc#}Y_T6vW|lR20JK_gynFGqQSP@fNarT`H7=OD74E9h!_XkvVNRT|~* zeK5?u%8EN!%ukdL;Y{q*8a`JUJPasqquw4*fEIS)Snuaf1?E0Oh%f@mH$XvFfz*V} zsZ^hUfK-2DQ%eWxdi%=))4+{e{$;E_>OMXvtBg)@zrUt_Po#j~NA#I@$LHv8S>TZT zePl)Wh^Z#xa<6-{xuU<-e$W4s%-dj;d7fkgIR?2Kl2%!E;Oc3i0#mK?K`~v*YLTv= zVbqE+JjxH6vuk**(ycL6P_(-2XjI*aW1u0vQ8z)gzxWkjQ`BXc(u-FWdKP>nAmM69 z63nsKD)d`VKTrqRrR4`(qJ8IsWgSssDQhjMW@(Zt#G^LUahS4TeEjEEl&GC;%P#`h zQZSR{hu>r}%9G0JYNZwO@(r;6e&B(FGirXF;|UAEK$@4UrTvKnF?fi!RoJqANAX}; z?Wm|1klq%I1AlGPkpZ8;7aMkxBJQn-9T}4|KL24U-kl^Q@^F&hm!mt{h7*ABSo zZl5ZUdj6r4)!wHHJRni{R>*|%n}vn!9}~h3tpMr(yT=v90;*dI4&;pmDtO{;F&JYb zt*lJn7E<)q>0+nEPDscfcCt6ytnxl0O`@m8^Ku7XZ8-jC-r+RP+SBLYg^PaB2DTal zGJq($8JpoGsA5WO)m*-Vp(TCcB4U2=F`vB?EaFJ)s0_v{H0}WEy?w25A#4|7K;N*Ykzb|AE0{V1gc`Xf&CY%Tn1C6JJY_*km`URbf85LHYM9pNJzb7dgdRNJRHz2Mo&kCrXa z?xnzK9>=qezN^s5^@cy>bwO9yVy5UDj7Wu|xtFoJ+QpuO@wjAv$A%1!bm&z;lVz5I z4JK_YDLKkN=SOY;vRi{QN3EG+YJ5i|W7ZA^4||-tG67=cxAmHA8o)%06cBPZuCp%f zp98sJH@YB_gPnp?vr-rjba0tZKXY?%*EcgBtOGo-yA^T`TkIYHR=?_hY>gIB9FD#* z$UL3d2gq^ z$LEOBro|yxO=7Yy?Bh;~x#$tQjulQE=NX)bs%qesQ^WFXYB?NbeHbjXZmS6i7Nu~-binZ^9WII4(re2TI{_jsyytvs^#l4+jr9J7kC{% z^0e!79?0iy;lSZy6ZtGxPiVYdvT4LgoX@7t_HPdy!=oG>A`sy5rY_?s$VS ze_2$b^uD~=6g!;=?ows_`%A2Xk2)BRMo1-V83^0&i)^Rv?da-_x1G^q&?#J$oi0!-{ZHvw#|Na#@%B3tG}N{^&5Q;Bq;$ZBOGRkpDuS+i9EPY zl3Js_KSEMf{)&!4gvk_@y|I4>iNKerXZy=)7?ZfG5?K~Vth;p5enY}MuH8D(o;;{hK7%{^s9D!YutKpZslgxF=C&B$%zHvdC~Gb!?lk)R?|7G< zo|yMf3k9Y_B;%m#{*UnbOAQCtmx0tAcIpMT^BQ#s9}KU4r)J6Suf6><#%!J)$nDkO zGqe*g%p|%9JVlmMuNsMTHz~cye|Bgbc|TfkM`|3z`bhY^PVnPGWB@mgGG02MzDhQW z$>~w-bLbV-(fkg|-OYjatw3q$D-9WZ{)1z10W$n@hMZKhpAe@y*n?u^v4BD^Yx~vN zhC|&J##uvv$%mnAkcIT3tbwPaBiisz%116|8GD1ckJ>m?Ms)YcUsAaz8B8e++b}SE za>kzeKJrYy-@`qK7N7COgv2#(@X#Ee3I-aRM)Z2EhPFT376`I--~16Maavw|2>}e+ z*`d@=Vn0r+-cha9=->3s^`~E*_Zazd0tuKX1_o92nT5}@1EAGjD)G=iN34Ob$OFz} zT$zJ0fwQUaz-g≶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ℜee zMUr*mO4o}!vO5#UZ$^{1bwmNp`zW6EqR_m6hnf?N#OUO{)#X7?4+011Er2Yo)YKl@ zy Date: Sat, 29 Dec 2018 14:15:22 +0100 Subject: [PATCH 011/169] Use string for extension.code instead of number "404" --- src/scraper.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/scraper.js b/src/scraper.js index 7b1a6ad60..d81d06690 100644 --- a/src/scraper.js +++ b/src/scraper.js @@ -105,7 +105,7 @@ const scraper = { ) if (isEmpty(output)) { - throw new ApolloError('Not found', 404) + throw new ApolloError('Not found', 'NOT_FOUND') } // fix youtube start parameter From 6461a43befcdcfbb21644990dadfcb5540e3ea24 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" Date: Mon, 18 Feb 2019 04:50:56 +0000 Subject: [PATCH 012/169] Bump got from 9.5.0 to 9.6.0 Bumps [got](https://github.com/sindresorhus/got) from 9.5.0 to 9.6.0. - [Release notes](https://github.com/sindresorhus/got/releases) - [Commits](https://github.com/sindresorhus/got/compare/v9.5.0...v9.6.0) Signed-off-by: dependabot[bot] --- package.json | 2 +- yarn.lock | 40 +++++++++++++++++++++++++++++++++++----- 2 files changed, 36 insertions(+), 6 deletions(-) diff --git a/package.json b/package.json index 77ea21967..bb509a161 100644 --- a/package.json +++ b/package.json @@ -25,7 +25,7 @@ "dependencies": { "@metascraper/helpers": "^4.8.5", "apollo-server": "^2.3.1", - "got": "^9.5.0", + "got": "^9.6.0", "graphql": "^14.0.2", "lodash": "^4.17.11", "metascraper": "^4.8.5", diff --git a/yarn.lock b/yarn.lock index 3db4db7b9..fb6a48441 100644 --- a/yarn.lock +++ b/yarn.lock @@ -94,10 +94,10 @@ resolved "https://registry.yarnpkg.com/@sindresorhus/is/-/is-0.14.0.tgz#9fb3a3cf3132328151f353de4632e01e52102bea" integrity sha512-9NET910DNaIPngYnLLPeg+Ogzqsi9uM4mSboU5y6p8S5DzMTVEsJZrawi+BoDNUVBa2DhJqQYUFvMDfgU062LQ== -"@szmarczak/http-timer@^1.1.0": - version "1.1.1" - resolved "https://registry.yarnpkg.com/@szmarczak/http-timer/-/http-timer-1.1.1.tgz#6402258dfe467532b26649ef076b4d11f74fb612" - integrity sha512-WljfOGkmSJe8SUkl+4TPvN2ec0dpUGVyfTBQLoXJUiILs+wBSc4Kvp2N3aAWE4VwwDSLGdmD3/bufS5BgZpVSQ== +"@szmarczak/http-timer@^1.1.0", "@szmarczak/http-timer@^1.1.2": + version "1.1.2" + resolved "https://registry.yarnpkg.com/@szmarczak/http-timer/-/http-timer-1.1.2.tgz#b1665e2c461a2cd92f4c1bbf50d5454de0d4b421" + integrity sha512-XIB2XbzHTN6ieIjfIMV9hlVcfPU26s2vafYWQcZHWXHOxiaRZYEDKEwdl129Zyg50+foYV2jCgtrqSA6qNuNSA== dependencies: defer-to-connect "^1.0.1" @@ -648,6 +648,19 @@ cacheable-request@^5.1.0: normalize-url "^3.1.0" responselike "^1.0.2" +cacheable-request@^6.0.0: + version "6.0.0" + resolved "https://registry.yarnpkg.com/cacheable-request/-/cacheable-request-6.0.0.tgz#4a1727414e02ac4af82560c4da1b61daa3fa2b63" + integrity sha512-2N7AmszH/WPPpl5Z3XMw1HAP+8d+xugnKQAeKvxFZ/04dbT/CAznqwbl+7eSr3HkwdepNwtb2yx3CAMQWvG01Q== + dependencies: + clone-response "^1.0.2" + get-stream "^4.0.0" + http-cache-semantics "^4.0.0" + keyv "^3.0.0" + lowercase-keys "^1.0.1" + normalize-url "^3.1.0" + responselike "^1.0.2" + camelcase@^4.0.0: version "4.1.0" resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-4.1.0.tgz#d545635be1e33c542649c69173e5de6acfae34dd" @@ -1475,7 +1488,24 @@ got@^6.7.1: unzip-response "^2.0.1" url-parse-lax "^1.0.0" -got@^9.3.2, got@^9.5.0, got@~9.5.0: +got@^9.3.2, got@^9.6.0: + version "9.6.0" + resolved "https://registry.yarnpkg.com/got/-/got-9.6.0.tgz#edf45e7d67f99545705de1f7bbeeeb121765ed85" + integrity sha512-R7eWptXuGYxwijs0eV+v3o6+XH1IqVK8dJOEecQfTmkncw9AV4dcw/Dhxi8MdlqPthxxpZyizMzyg8RTmEsG+Q== + dependencies: + "@sindresorhus/is" "^0.14.0" + "@szmarczak/http-timer" "^1.1.2" + cacheable-request "^6.0.0" + decompress-response "^3.3.0" + duplexer3 "^0.1.4" + get-stream "^4.1.0" + lowercase-keys "^1.0.1" + mimic-response "^1.0.1" + p-cancelable "^1.0.0" + to-readable-stream "^1.0.0" + url-parse-lax "^3.0.0" + +got@~9.5.0: version "9.5.0" resolved "https://registry.yarnpkg.com/got/-/got-9.5.0.tgz#6fd0312c6b694c0a11d9119d95fd7daed174eb49" integrity sha512-N+4kb6i9t1lauJ4NwLVVoFVLxZNa6i+iivtNzCSVw7+bVbTXoq0qXctdd8i9rj3lrI0zDk5NGzcO4bfpEP6Uuw== From f228eb3e3c769d4a18dab38b88f9ebd2dfa30dab Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" Date: Mon, 18 Mar 2019 05:00:26 +0000 Subject: [PATCH 013/169] Bump metascraper from 4.8.5 to 4.10.3 Bumps [metascraper](https://github.com/microlinkhq/metascraper) from 4.8.5 to 4.10.3. - [Release notes](https://github.com/microlinkhq/metascraper/releases) - [Changelog](https://github.com/microlinkhq/metascraper/blob/master/CHANGELOG.md) - [Commits](https://github.com/microlinkhq/metascraper/compare/v4.8.5...v4.10.3) Signed-off-by: dependabot[bot] --- package.json | 2 +- yarn.lock | 212 +++++++++++++++++++++------------------------------ 2 files changed, 88 insertions(+), 126 deletions(-) diff --git a/package.json b/package.json index 77ea21967..ca9fc9664 100644 --- a/package.json +++ b/package.json @@ -28,7 +28,7 @@ "got": "^9.5.0", "graphql": "^14.0.2", "lodash": "^4.17.11", - "metascraper": "^4.8.5", + "metascraper": "^4.10.3", "metascraper-audio": "^4.8.5", "metascraper-author": "^4.8.5", "metascraper-clearbit-logo": "^4.8.5", diff --git a/yarn.lock b/yarn.lock index 3db4db7b9..58eac6aa8 100644 --- a/yarn.lock +++ b/yarn.lock @@ -14,24 +14,25 @@ resolved "https://registry.yarnpkg.com/@apollographql/graphql-playground-html/-/graphql-playground-html-1.6.6.tgz#022209e28a2b547dcde15b219f0c50f47aa5beb3" integrity sha512-lqK94b+caNtmKFs5oUVXlSpN3sm5IXZ+KfhMxOtr0LR2SqErzkoJilitjDvJ1WbjHlxLI7WtCjRmOLdOGJqtMQ== -"@metascraper/helpers@^4.8.5": - version "4.8.5" - resolved "https://registry.yarnpkg.com/@metascraper/helpers/-/helpers-4.8.5.tgz#1291fc121b543d4d7c1510a22d3b6d6780e74c64" - integrity sha512-nRkmAiYNvRUIYuXY0WrS3aRw+E+qBUTYfbP7xNjlIeAD/udWOLWr+nj0GdXe2hLUBebDK9luxpvYQ6wBQu+OZQ== +"@metascraper/helpers@^4.10.2", "@metascraper/helpers@^4.8.5": + version "4.10.2" + resolved "https://registry.yarnpkg.com/@metascraper/helpers/-/helpers-4.10.2.tgz#864e49c71468548441f3a1ab68fdb2913855821b" + integrity sha512-l2IyF2X4ytz5Mj/TaVenmjEhEZCCj+Qb1PnIbW10Kas/qg0O58x5hBAHsszkSWQSx/OvnDvT2Mpft77qcBa77g== dependencies: audio-extensions "0.0.0" - chrono-node "~1.3.5" + chrono-node "~1.3.11" condense-whitespace "~1.0.0" file-extension "~4.0.5" image-extensions "~1.1.0" is-relative-url "~2.0.0" + is-uri "~1.2.0" iso-639-3 "~1.1.0" isostring "0.0.1" lodash "~4.17.11" - mime-types "~2.1.21" - normalize-url "~4.1.0" + mime-types "~2.1.22" + normalize-url "~4.2.0" smartquotes "~2.3.1" - title "~3.4.0" + title "~3.4.1" truncate "~2.0.1" url-regex "~4.1.1" video-extensions "~1.1.0" @@ -440,11 +441,6 @@ array-flatten@1.1.1: resolved "https://registry.yarnpkg.com/array-flatten/-/array-flatten-1.1.1.tgz#9a5f699051b1e7073328f2a008968b64ea2955d2" integrity sha1-ml9pkFGx5wczKPKgCJaLZOopVdI= -array-uniq@^1.0.2: - version "1.0.3" - resolved "https://registry.yarnpkg.com/array-uniq/-/array-uniq-1.0.3.tgz#af6ac877a25cc7f74e058894753858dfdb24fdb6" - integrity sha1-r2rId6Jcx/dOBYiUdThY39sk/bY= - array-unique@^0.3.2: version "0.3.2" resolved "https://registry.yarnpkg.com/array-unique/-/array-unique-0.3.2.tgz#a894b75d4bc4f6cd679ef3244a9fd8f46ae2d428" @@ -672,7 +668,7 @@ chalk@2.3.0: escape-string-regexp "^1.0.5" supports-color "^4.0.0" -chalk@^2.0.1, chalk@^2.4.1: +chalk@^2.0.1: version "2.4.1" resolved "https://registry.yarnpkg.com/chalk/-/chalk-2.4.1.tgz#18c49ab16a037b6eb0152cc83e3471338215b66e" integrity sha512-ObN6h1v2fTJSmUXoS3nMQ92LbDK9be4TV+6G+omQlGJFdcUX5heKi1LZ1YnRMIgwTLEj3E24bT6tYni50rlCfQ== @@ -723,12 +719,12 @@ chownr@^1.1.1: resolved "https://registry.yarnpkg.com/chownr/-/chownr-1.1.1.tgz#54726b8b8fff4df053c42187e801fb4412df1494" integrity sha512-j38EvO5+LHX84jlo6h4UzmOwi0UgW61WRyPtJz4qaadK5eY3BTS5TY/S1Stc3Uk2lIM6TPevAlULiEJwie860g== -chrono-node@~1.3.5: - version "1.3.5" - resolved "https://registry.yarnpkg.com/chrono-node/-/chrono-node-1.3.5.tgz#a2495298a32da82bcc01ad9be7d77efa5e244122" - integrity sha1-oklSmKMtqCvMAa2b59d++l4kQSI= +chrono-node@~1.3.11: + version "1.3.11" + resolved "https://registry.yarnpkg.com/chrono-node/-/chrono-node-1.3.11.tgz#b86a26b7e3157edcc4fe3374e1b6f90caedc8e39" + integrity sha512-jDWRnY6nYvzfV3HPYBqo+tot7tcsUs9i3arGbMdI0TouPSXP2C2y/Ctp27rxKTQDi6yuTxAB2cw+Q6igGhOhdQ== dependencies: - moment "^2.10.3" + moment "2.21.0" ci-info@^1.5.0: version "1.6.0" @@ -745,11 +741,16 @@ class-utils@^0.3.5: isobject "^3.0.0" static-extend "^0.1.1" -clean-stack@^1.0.0, clean-stack@~1.3.0: +clean-stack@^1.0.0: version "1.3.0" resolved "https://registry.yarnpkg.com/clean-stack/-/clean-stack-1.3.0.tgz#9e821501ae979986c46b1d66d2d432db2fd4ae31" integrity sha1-noIVAa6XmYbEax1m0tQy2y/UrjE= +clean-stack@~2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/clean-stack/-/clean-stack-2.0.0.tgz#301bfa9e8dd2d3d984c0e542f7aa67b996f63e0a" + integrity sha512-VEoL9Qh7I8s8iHnV53DaeWSt8NJ0g3khMfK6NiCPB7H657juhro+cSw2O88uo3bo0c0X5usamtXk0/Of0wXa5A== + cli-boxes@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/cli-boxes/-/cli-boxes-1.0.0.tgz#4fa917c3e59c94a004cd61f8ee509da651687143" @@ -1622,7 +1623,7 @@ has@^1.0.1: dependencies: function-bind "^1.1.1" -htmlparser2@^3.10.0, htmlparser2@^3.9.1: +htmlparser2@^3.9.1: version "3.10.0" resolved "https://registry.yarnpkg.com/htmlparser2/-/htmlparser2-3.10.0.tgz#5f5e422dcf6119c0d983ed36260ce9ded0bee464" integrity sha512-J1nEUGv+MkXS0weHNWVKJJ+UrLfePxRWpN3C9bEi9fLxL2+ggW94DQvgYVXsaT30PGwYRIZKNZXuyMhp3Di4bQ== @@ -1966,6 +1967,14 @@ is-typedarray@~1.0.0: resolved "https://registry.yarnpkg.com/is-typedarray/-/is-typedarray-1.0.0.tgz#e479c80858df0c1b11ddda6940f96011fcda4a9a" integrity sha1-5HnICFjfDBsR3dppQPlgEfzaSpo= +is-uri@~1.2.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/is-uri/-/is-uri-1.2.0.tgz#b92ff234af68c0ed97d2eed46492d01793b7d420" + integrity sha1-uS/yNK9owO2X0u7UZJLQF5O31CA= + dependencies: + parse-uri "~1.0.0" + punycode2 "~1.0.0" + is-windows@^1.0.2: version "1.0.2" resolved "https://registry.yarnpkg.com/is-windows/-/is-windows-1.0.2.tgz#d1850eb9791ecd18e6182ce12a30f396634bb19d" @@ -2103,36 +2112,11 @@ latest-version@^3.0.0: dependencies: package-json "^4.0.0" -lodash.clonedeep@^4.5.0: - version "4.5.0" - resolved "https://registry.yarnpkg.com/lodash.clonedeep/-/lodash.clonedeep-4.5.0.tgz#e23f3f9c4f8fbdde872529c1071857a086e5ccef" - integrity sha1-4j8/nE+Pvd6HJSnBBxhXoIblzO8= - lodash.debounce@^4.0.8: version "4.0.8" resolved "https://registry.yarnpkg.com/lodash.debounce/-/lodash.debounce-4.0.8.tgz#82d79bff30a67c4005ffd5e2515300ad9ca4d7af" integrity sha1-gteb/zCmfEAF/9XiUVMArZyk168= -lodash.escaperegexp@^4.1.2: - version "4.1.2" - resolved "https://registry.yarnpkg.com/lodash.escaperegexp/-/lodash.escaperegexp-4.1.2.tgz#64762c48618082518ac3df4ccf5d5886dae20347" - integrity sha1-ZHYsSGGAglGKw99Mz11YhtriA0c= - -lodash.isplainobject@^4.0.6: - version "4.0.6" - resolved "https://registry.yarnpkg.com/lodash.isplainobject/-/lodash.isplainobject-4.0.6.tgz#7c526a52d89b45c45cc690b88163be0497f550cb" - integrity sha1-fFJqUtibRcRcxpC4gWO+BJf1UMs= - -lodash.isstring@^4.0.1: - version "4.0.1" - resolved "https://registry.yarnpkg.com/lodash.isstring/-/lodash.isstring-4.0.1.tgz#d527dfb5456eca7cc9bb95d5daeaf88ba54a5451" - integrity sha1-1SfftUVuynzJu5XV2ur4i6VKVFE= - -lodash.mergewith@^4.6.1: - version "4.6.1" - resolved "https://registry.yarnpkg.com/lodash.mergewith/-/lodash.mergewith-4.6.1.tgz#639057e726c3afbdb3e7d42741caa8d6e4335927" - integrity sha512-eWw5r+PYICtEBgrBE5hhlT6aAa75f411bgDz/ZL2KZqYV03USvucsxcHUIlGTDTECs1eunpI7HOV7U+WLDvNdQ== - lodash@^4.13.1, lodash@^4.15.0, lodash@^4.17.10, lodash@^4.17.11, lodash@~4.17.10, lodash@~4.17.11: version "4.17.11" resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.11.tgz#b39ea6229ef607ecd89e2c8df12536891cac9b8d" @@ -2315,18 +2299,17 @@ metascraper-youtube@^4.8.5: is-reachable "~3.0.0" p-locate "~3.0.0" -metascraper@^4.8.5: - version "4.8.5" - resolved "https://registry.yarnpkg.com/metascraper/-/metascraper-4.8.5.tgz#5d8f5aa2190d273a3dbf7abbfb38f1e5c7201403" - integrity sha512-BcM8suZkX6j2MsSRO2O69UXJzqbG7Pr5frOYOv/6zm1qn/RmYgxElFJl9MQfbpewpIhEkFrmfRJqOxnYGPRDgQ== +metascraper@^4.10.3: + version "4.10.3" + resolved "https://registry.yarnpkg.com/metascraper/-/metascraper-4.10.3.tgz#8a97ed2e914e81d1dbc1f17a5b1e64f1b804493f" + integrity sha512-wNQm5A/PIxWcahaMwI+b3rOmmXRDNmjyF6Q15dHYXEqYoGl3dFaaT4lnTTm8yntvE+fOj8+o51ON2FBdstxbsA== dependencies: - "@metascraper/helpers" "^4.8.5" + "@metascraper/helpers" "^4.10.2" cheerio "~1.0.0-rc.2" cheerio-advanced-selectors "~2.0.1" lodash "~4.17.11" - p-reduce "~1.0.0" - sanitize-html "~1.20.0" - whoops "~4.0.1" + p-reduce "~2.0.0" + whoops "~4.0.2" methods@~1.1.2: version "1.1.2" @@ -2357,22 +2340,34 @@ mime-db@~1.37.0: resolved "https://registry.yarnpkg.com/mime-db/-/mime-db-1.37.0.tgz#0b6a0ce6fdbe9576e25f1f2d2fde8830dc0ad0d8" integrity sha512-R3C4db6bgQhlIhPU48fUtdVmKnflq+hRdad7IyKhtFj06VPNVdk2RhiYL3UjQIlso8L+YxAtFkobT0VK+S/ybg== -mime-types@^2.1.12, mime-types@~2.1.18, mime-types@~2.1.19, mime-types@~2.1.21: +mime-db@~1.38.0: + version "1.38.0" + resolved "https://registry.yarnpkg.com/mime-db/-/mime-db-1.38.0.tgz#1a2aab16da9eb167b49c6e4df2d9c68d63d8e2ad" + integrity sha512-bqVioMFFzc2awcdJZIzR3HjZFX20QhilVS7hytkKrv7xFAn8bM1gzc/FOX2awLISvWe0PV8ptFKcon+wZ5qYkg== + +mime-types@^2.1.12, mime-types@~2.1.18, mime-types@~2.1.19: version "2.1.21" resolved "https://registry.yarnpkg.com/mime-types/-/mime-types-2.1.21.tgz#28995aa1ecb770742fe6ae7e58f9181c744b3f96" integrity sha512-3iL6DbwpyLzjR3xHSFNFeb9Nz/M8WDkX33t1GFQnFOllWk8pOrh/LSrB5OXlnlW5P9LH73X6loW/eogc+F5lJg== dependencies: mime-db "~1.37.0" +mime-types@~2.1.22: + version "2.1.22" + resolved "https://registry.yarnpkg.com/mime-types/-/mime-types-2.1.22.tgz#fe6b355a190926ab7698c9a0556a11199b2199bd" + integrity sha512-aGl6TZGnhm/li6F7yx82bJiBZwgiEa4Hf6CNr8YO+r5UHr53tSTYZb102zyU50DOWWKeOv0uQLRL0/9EiKWCog== + dependencies: + mime-db "~1.38.0" + mime@1.4.1: version "1.4.1" resolved "https://registry.yarnpkg.com/mime/-/mime-1.4.1.tgz#121f9ebc49e3766f311a76e1fa1c8003c4b03aa6" integrity sha512-KI1+qOZu5DcW6wayYHSzR/tXKCDC5Om4s1z2QJjDULzLcmf3DvzS7oluY4HCTrc+9FiKmWUgeNLg7W3uIQvxtQ== -mimic-fn@~1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/mimic-fn/-/mimic-fn-1.1.0.tgz#e667783d92e89dbd342818b5230b9d62a672ad18" - integrity sha1-5md4PZLonb00KBi1IwudYqZyrRg= +mimic-fn@~2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/mimic-fn/-/mimic-fn-2.0.0.tgz#0913ff0b121db44ef5848242c38bbb35d44cabde" + integrity sha512-jbex9Yd/3lmICXwYT6gA/j2mNQGU48wCh/VzRd+/Y/PjYQtlg1gLMdZqvu9s/xH7qKvngxRObl56XZR609IMbA== mimic-response@^1.0.0, mimic-response@^1.0.1: version "1.0.1" @@ -2426,10 +2421,10 @@ mkdirp@^0.5.0, mkdirp@^0.5.1: dependencies: minimist "0.0.8" -moment@^2.10.3: - version "2.23.0" - resolved "https://registry.yarnpkg.com/moment/-/moment-2.23.0.tgz#759ea491ac97d54bac5ad776996e2a58cc1bc225" - integrity sha512-3IE39bHVqFbWWaPOMHZF98Q9c3LDKGTmypMiTM2QygGXXElkFWIH7GxfmlwmY2vwa+wmNsoYZmG2iusf1ZjJoA== +moment@2.21.0: + version "2.21.0" + resolved "https://registry.yarnpkg.com/moment/-/moment-2.21.0.tgz#2a114b51d2a6ec9e6d83cf803f838a878d8a023a" + integrity sha512-TCZ36BjURTeFTM/CwRcViQlfkMvL1/vFISuNLO5GkcVm1+QHfbSiNqZuWeMFjj1/3+uAjXswgRk30j1kkLYJBQ== ms@2.0.0: version "2.0.0" @@ -2546,10 +2541,10 @@ normalize-url@^3.1.0: resolved "https://registry.yarnpkg.com/normalize-url/-/normalize-url-3.3.0.tgz#b2e1c4dc4f7c6d57743df733a4f5978d18650559" integrity sha512-U+JJi7duF1o+u2pynbp2zXDW2/PADgC30f0GsHZtRh+HOcXHnw137TrNlyxxRvWW5fjKd3bcLHPxofWuCjaeZg== -normalize-url@~4.1.0: - version "4.1.0" - resolved "https://registry.yarnpkg.com/normalize-url/-/normalize-url-4.1.0.tgz#307e74c87473efa81969ad1b4bb91f1990178904" - integrity sha512-X781mkWeK6PDMAZJfGn/wnwil4dV6pIdF9euiNqtA89uJvZuNDJO2YyJxiwpPhTQcF5pYUU1v+kcOxzYV6rZlA== +normalize-url@~4.2.0: + version "4.2.0" + resolved "https://registry.yarnpkg.com/normalize-url/-/normalize-url-4.2.0.tgz#e747f16b58e6d7f391495fd86415fa04ec7c9897" + integrity sha512-n69+KXI+kZApR+sPwSkoAXpGlNkaiYyoHHqKOFPjJWvwZpew/EjKvuPE4+tStNgb42z5yLtdakgZCQI+LalSPg== npm-bundled@^1.0.1: version "1.0.5" @@ -2707,10 +2702,10 @@ p-locate@~3.0.0: dependencies: p-limit "^2.0.0" -p-reduce@~1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/p-reduce/-/p-reduce-1.0.0.tgz#18c2b0dd936a4690a529f8231f58a0fdb6a47dfa" - integrity sha1-GMKw3ZNqRpClKfgjH1ig/bakffo= +p-reduce@~2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/p-reduce/-/p-reduce-2.0.0.tgz#365a26916213650711124881a6bdc4e32c2bfe36" + integrity sha512-VcNNEqiYIkRCGeUHELY5dUrnQHCRwL6eIH/L9oSbl/PsvyHQXD1ws/MFwuEb+6dgH/URCfROVUqOYL37eHi2kQ== p-some@^2.0.0: version "2.0.1" @@ -2741,6 +2736,11 @@ package-json@^4.0.0: registry-url "^3.0.3" semver "^5.1.0" +parse-uri@~1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/parse-uri/-/parse-uri-1.0.0.tgz#2872dcc22f1a797acde1583d8a0ac29552ddac20" + integrity sha1-KHLcwi8aeXrN4Vg9igrClVLdrCA= + parse5@^3.0.1: version "3.0.3" resolved "https://registry.yarnpkg.com/parse5/-/parse5-3.0.3.tgz#042f792ffdd36851551cf4e9e066b3874ab45b5c" @@ -2803,15 +2803,6 @@ posix-character-classes@^0.1.0: resolved "https://registry.yarnpkg.com/posix-character-classes/-/posix-character-classes-0.1.1.tgz#01eac0fe3b5af71a2a6c02feabb8c1fef7e00eab" integrity sha1-AerA/jta9xoqbAL+q7jB/vfgDqs= -postcss@^7.0.5: - version "7.0.7" - resolved "https://registry.yarnpkg.com/postcss/-/postcss-7.0.7.tgz#2754d073f77acb4ef08f1235c36c5721a7201614" - integrity sha512-HThWSJEPkupqew2fnuQMEI2YcTj/8gMV3n80cMdJsKxfIh5tHf7nM5JigNX6LxVMqo6zkgQNAI88hyFvBk41Pg== - dependencies: - chalk "^2.4.1" - source-map "^0.6.1" - supports-color "^5.5.0" - prepend-http@^1.0.1: version "1.0.4" resolved "https://registry.yarnpkg.com/prepend-http/-/prepend-http-1.0.4.tgz#d4f4562b0ce3696e41ac52d0e002e57a635dc6dc" @@ -2877,6 +2868,11 @@ pump@^3.0.0: end-of-stream "^1.1.0" once "^1.3.1" +punycode2@~1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/punycode2/-/punycode2-1.0.0.tgz#e2b4b9a9a8ff157d0b84438e203181ee7892dfd8" + integrity sha1-4rS5qaj/FX0LhEOOIDGB7niS39g= + punycode@^1.4.1: version "1.4.1" resolved "https://registry.yarnpkg.com/punycode/-/punycode-1.4.1.tgz#c0d5a63b2718800ad8e1eb0fa5269c84dd41845e" @@ -3104,22 +3100,6 @@ safe-regex@^1.1.0: resolved "https://registry.yarnpkg.com/safer-buffer/-/safer-buffer-2.1.2.tgz#44fa161b0187b9549dd84bb91802f9bd8385cd6a" integrity sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg== -sanitize-html@~1.20.0: - version "1.20.0" - resolved "https://registry.yarnpkg.com/sanitize-html/-/sanitize-html-1.20.0.tgz#9a602beb1c9faf960fb31f9890f61911cc4d9156" - integrity sha512-BpxXkBoAG+uKCHjoXFmox6kCSYpnulABoGcZ/R3QyY9ndXbIM5S94eOr1IqnzTG8TnbmXaxWoDDzKC5eJv7fEQ== - dependencies: - chalk "^2.4.1" - htmlparser2 "^3.10.0" - lodash.clonedeep "^4.5.0" - lodash.escaperegexp "^4.1.2" - lodash.isplainobject "^4.0.6" - lodash.isstring "^4.0.1" - lodash.mergewith "^4.6.1" - postcss "^7.0.5" - srcset "^1.0.0" - xtend "^4.0.1" - sax@^1.2.4: version "1.2.4" resolved "https://registry.yarnpkg.com/sax/-/sax-1.2.4.tgz#2816234e2378bddc4e5354fab5caa895df7100d9" @@ -3269,11 +3249,6 @@ source-map@^0.5.6: resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.5.7.tgz#8a039d2d1021d22d1ea14c80d8ea468ba2ef3fcc" integrity sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w= -source-map@^0.6.1: - version "0.6.1" - resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.6.1.tgz#74722af32e9614e9c287a8d0bbde48b5e2f1a263" - integrity sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g== - split-string@^3.0.1, split-string@^3.0.2: version "3.1.0" resolved "https://registry.yarnpkg.com/split-string/-/split-string-3.1.0.tgz#7cb09dda3a86585705c64b39a6466038682e8fe2" @@ -3281,14 +3256,6 @@ split-string@^3.0.1, split-string@^3.0.2: dependencies: extend-shallow "^3.0.0" -srcset@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/srcset/-/srcset-1.0.0.tgz#a5669de12b42f3b1d5e83ed03c71046fc48f41ef" - integrity sha1-pWad4StC87HV6D7QPHEEb8SPQe8= - dependencies: - array-uniq "^1.0.2" - number-is-nan "^1.0.0" - sshpk@^1.7.0: version "1.16.0" resolved "https://registry.yarnpkg.com/sshpk/-/sshpk-1.16.0.tgz#1d4963a2fbffe58050aa9084ca20be81741c07de" @@ -3410,7 +3377,7 @@ supports-color@^4.0.0: dependencies: has-flag "^2.0.0" -supports-color@^5.2.0, supports-color@^5.3.0, supports-color@^5.5.0: +supports-color@^5.2.0, supports-color@^5.3.0: version "5.5.0" resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-5.5.0.tgz#e2e69a44ac8772f78a1ec0b35b689df6530efc8f" integrity sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow== @@ -3447,10 +3414,10 @@ timed-out@^4.0.0: resolved "https://registry.yarnpkg.com/timed-out/-/timed-out-4.0.1.tgz#f32eacac5a175bea25d7fab565ab3ed8741ef56f" integrity sha1-8y6srFoXW+ol1/q1Zas+2HQe9W8= -title@~3.4.0: - version "3.4.0" - resolved "https://registry.yarnpkg.com/title/-/title-3.4.0.tgz#17cdfae82602f87777f137047d36ec283389c9e3" - integrity sha512-gabSoHN82rROEFIkWr9GkwqTFihjdvumQflWsvwiNeIDpJbZOYrg3bXpR0SY4QcghGM1k5QrnI4k6XAiJwOWVw== +title@~3.4.1: + version "3.4.1" + resolved "https://registry.yarnpkg.com/title/-/title-3.4.1.tgz#166177c48f52ae9b73afe9901a183f0b6c97b2e6" + integrity sha512-CoIakPr4Gi91bm4Xp6xTuZ3EENxPcKgOJzHzrhSdUatGtFMeVJa2qxI4WNhJHgz0Jak5Ck6jY2UNFM71/yBIsw== dependencies: arg "1.0.0" chalk "2.3.0" @@ -3723,13 +3690,13 @@ which@^1.2.9: dependencies: isexe "^2.0.0" -whoops@~4.0.1: - version "4.0.1" - resolved "https://registry.yarnpkg.com/whoops/-/whoops-4.0.1.tgz#568d1768386fde94a27d80983bf207e453e78f20" - integrity sha512-XlSRD73wKOGE7SgOAsy6HCkcKDS6AQjjLW7egPzYOSOPU99H1QTioxobQ4cCP7a5ACjzNdd3/nxUXOn6ysijkA== +whoops@~4.0.2: + version "4.0.2" + resolved "https://registry.yarnpkg.com/whoops/-/whoops-4.0.2.tgz#60e1281d47a1600f5f5013059afaad369d83e9d4" + integrity sha512-b1ofth7xMOAkukgzMhAPKBrgieGJAgKVMyu54DXAOVLmkhpQEfNKe4wS0R7LbdxIsm6FD2CFUjBOdN7Sj+zLSg== dependencies: - clean-stack "~1.3.0" - mimic-fn "~1.1.0" + clean-stack "~2.0.0" + mimic-fn "~2.0.0" wide-align@^1.1.0: version "1.1.3" @@ -3778,11 +3745,6 @@ xdg-basedir@^3.0.0: resolved "https://registry.yarnpkg.com/xdg-basedir/-/xdg-basedir-3.0.0.tgz#496b2cc109eca8dbacfe2dc72b603c17c5870ad4" integrity sha1-SWsswQnsqNus/i3HK2A8F8WHCtQ= -xtend@^4.0.1: - version "4.0.1" - resolved "https://registry.yarnpkg.com/xtend/-/xtend-4.0.1.tgz#a5c6d532be656e23db820efb943a1f04998d63af" - integrity sha1-pcbVMr5lbiPbgg77lDofBJmNY68= - yallist@^2.1.2: version "2.1.2" resolved "https://registry.yarnpkg.com/yallist/-/yallist-2.1.2.tgz#1c11f9218f076089a47dd512f93c6699a6a81d52" From f7ef09acbf9e6927c08ed1739d40ee0a5fdd991b Mon Sep 17 00:00:00 2001 From: ALau2088 Date: Sat, 18 May 2019 18:20:43 -0700 Subject: [PATCH 014/169] add UpdateComment mutation --- backend/src/resolvers/comments.js | 96 +++++++++++++++++++++++++++---- 1 file changed, 84 insertions(+), 12 deletions(-) diff --git a/backend/src/resolvers/comments.js b/backend/src/resolvers/comments.js index d4775b235..8023fb334 100644 --- a/backend/src/resolvers/comments.js +++ b/backend/src/resolvers/comments.js @@ -16,18 +16,22 @@ export default { delete params.postId if (!params.content || content.length < COMMENT_MIN_LENGTH) { - throw new UserInputError(`Comment must be at least ${COMMENT_MIN_LENGTH} character long!`) + throw new UserInputError( + `Comment must be at least ${COMMENT_MIN_LENGTH} character long!` + ) } if (!postId.trim()) { throw new UserInputError(NO_POST_ERR_MESSAGE) } const session = context.driver.session() - const postQueryRes = await session.run(` + const postQueryRes = await session.run( + ` MATCH (post:Post {id: $postId}) - RETURN post`, { - postId - } + RETURN post`, + { + postId + } ) const [post] = postQueryRes.records.map(record => { return record.get('post') @@ -36,20 +40,88 @@ export default { if (!post) { throw new UserInputError(NO_POST_ERR_MESSAGE) } - const comment = await neo4jgraphql(object, params, context, resolveInfo, false) + const comment = await neo4jgraphql( + object, + params, + context, + resolveInfo, + false + ) - await session.run(` + await session.run( + ` MATCH (post:Post {id: $postId}), (comment:Comment {id: $commentId}), (author:User {id: $userId}) MERGE (post)<-[:COMMENTS]-(comment)<-[:WROTE]-(author) - RETURN post`, { - userId: context.user.id, - postId, - commentId: comment.id - } + RETURN post`, + { + userId: context.user.id, + postId, + commentId: comment.id + } ) session.close() return comment + }, + UpdateComment: async (object, params, context, resolveInfo) => { + // Strip element tags and remove leading/trailing white spaces from content + const content = params.content.replace(/<(?:.|\n)*?>/gm, '').trim() + const { id } = params + console.log(id) + // Check length of content + if (!params.content || content.length < COMMENT_MIN_LENGTH) { + throw new UserInputError( + `Comment must be at least ${COMMENT_MIN_LENGTH} character long!` + ) + } + + // Check if comment exists + const session = context.driver.session() + const commentQueryRes = await session.run( + ` + MATCH (comment: COMMENT) + WHERE id(comment)=$id + RETURN comment`, + { + id + } + ) + console.log(id) + console.log(commentQueryRes) + // Destructure content from session results array + const [comment] = commentQueryRes.records.map(record => { + console.log(record.get('comment')) + return record.get('comment') + }) + + // Send error message if cannot find a matching comment. + // if (!comment) { + // throw new UserInputError(NO_COMMENT_ERR_MESSAGE) + // } + + // Update comment. + // const commentRev = await neo4jgraphql( + // object, + // params, + // context, + // resolveInfo, + // false + // ) + + // await session.run( + // ` + // MATCH (comment:Comment) + // WHERE id(comment)=$id, + // SET comment.content = $content + // `, + // { + // id, + // content + // } + // ) + session.close() + + // return commentRev } } } From 7ddbab83e98e09cfac41e3ed18ea2fb5eb468faa Mon Sep 17 00:00:00 2001 From: ALau2088 Date: Sat, 18 May 2019 23:32:24 -0700 Subject: [PATCH 015/169] 552-update_comment --- backend/src/resolvers/comments.js | 54 +++++++++++++++---------------- 1 file changed, 26 insertions(+), 28 deletions(-) diff --git a/backend/src/resolvers/comments.js b/backend/src/resolvers/comments.js index 8023fb334..72d2f96fb 100644 --- a/backend/src/resolvers/comments.js +++ b/backend/src/resolvers/comments.js @@ -40,6 +40,7 @@ export default { if (!post) { throw new UserInputError(NO_POST_ERR_MESSAGE) } + const comment = await neo4jgraphql( object, params, @@ -67,7 +68,6 @@ export default { // Strip element tags and remove leading/trailing white spaces from content const content = params.content.replace(/<(?:.|\n)*?>/gm, '').trim() const { id } = params - console.log(id) // Check length of content if (!params.content || content.length < COMMENT_MIN_LENGTH) { throw new UserInputError( @@ -79,49 +79,47 @@ export default { const session = context.driver.session() const commentQueryRes = await session.run( ` - MATCH (comment: COMMENT) - WHERE id(comment)=$id + MATCH (comment: Comment { id:$id}) RETURN comment`, { id } ) - console.log(id) - console.log(commentQueryRes) + // Destructure content from session results array const [comment] = commentQueryRes.records.map(record => { - console.log(record.get('comment')) + const a = record.get('comment') + console.log(a) return record.get('comment') }) // Send error message if cannot find a matching comment. - // if (!comment) { - // throw new UserInputError(NO_COMMENT_ERR_MESSAGE) - // } + if (!comment) { + throw new UserInputError(NO_COMMENT_ERR_MESSAGE) + } // Update comment. - // const commentRev = await neo4jgraphql( - // object, - // params, - // context, - // resolveInfo, - // false - // ) + const commentRev = await neo4jgraphql( + object, + params, + context, + resolveInfo, + false + ) - // await session.run( - // ` - // MATCH (comment:Comment) - // WHERE id(comment)=$id, - // SET comment.content = $content - // `, - // { - // id, - // content - // } - // ) + await session.run( + ` + MATCH (comment: Comment { id:$id}) + SET comment.content = 'bbb' + `, + { + id, + content + } + ) session.close() - // return commentRev + return commentRev } } } From 3fe8e9a2886e3f5a1872b4e3612b2ad70aa639de Mon Sep 17 00:00:00 2001 From: ALau2088 Date: Sat, 18 May 2019 23:42:17 -0700 Subject: [PATCH 016/169] 552-update_comment --- backend/src/resolvers/comments.js | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/backend/src/resolvers/comments.js b/backend/src/resolvers/comments.js index 72d2f96fb..6dea8e51b 100644 --- a/backend/src/resolvers/comments.js +++ b/backend/src/resolvers/comments.js @@ -88,8 +88,6 @@ export default { // Destructure content from session results array const [comment] = commentQueryRes.records.map(record => { - const a = record.get('comment') - console.log(a) return record.get('comment') }) @@ -110,7 +108,7 @@ export default { await session.run( ` MATCH (comment: Comment { id:$id}) - SET comment.content = 'bbb' + SET comment.content = $content `, { id, From 8a8ed5131e010e75b156b8a80cefe1618dcd9072 Mon Sep 17 00:00:00 2001 From: ALau2088 Date: Fri, 24 May 2019 08:03:39 -0700 Subject: [PATCH 017/169] refactor backend and add UI --- backend/src/middleware/validation/index.js | 21 ++- backend/src/resolvers/comments.js | 59 --------- webapp/components/Comment.vue | 29 ++++- webapp/components/ContentMenu.vue | 2 +- .../components/comments/CommentList/index.vue | 20 +-- .../comments/EditCommentForm/index.vue | 122 ++++++++++++++++++ 6 files changed, 170 insertions(+), 83 deletions(-) create mode 100644 webapp/components/comments/EditCommentForm/index.vue diff --git a/backend/src/middleware/validation/index.js b/backend/src/middleware/validation/index.js index de9be72e9..faf95beaf 100644 --- a/backend/src/middleware/validation/index.js +++ b/backend/src/middleware/validation/index.js @@ -22,10 +22,29 @@ const validateUrl = async (resolve, root, args, context, info) => { } } +const validateComment = async (resolve, root, args, context, info) => { + const COMMENT_MIN_LENGTH = 1 + const content = args.content.replace(/<(?:.|\n)*?>/gm, '').trim() + if (!args.content || content.length < COMMENT_MIN_LENGTH) { + throw new UserInputError( + `Comment must be at least ${COMMENT_MIN_LENGTH} character long!` + ) + } + const NO_POST_ERR_MESSAGE = 'Comment cannot be created without a post!' + const { postId } = args + if (!postId) { + throw new UserInputError(NO_POST_ERR_MESSAGE) + } + + return await resolve(root, args, context, info) +} + export default { Mutation: { CreateUser: validateUsername, UpdateUser: validateUsername, - CreateSocialMedia: validateUrl + CreateSocialMedia: validateUrl, + CreateComment: validateComment, + UpdateComment: validateComment } } diff --git a/backend/src/resolvers/comments.js b/backend/src/resolvers/comments.js index 6dea8e51b..f3cfea378 100644 --- a/backend/src/resolvers/comments.js +++ b/backend/src/resolvers/comments.js @@ -1,13 +1,9 @@ import { neo4jgraphql } from 'neo4j-graphql-js' import { UserInputError } from 'apollo-server' -const COMMENT_MIN_LENGTH = 1 -const NO_POST_ERR_MESSAGE = 'Comment cannot be created without a post!' - export default { Mutation: { CreateComment: async (object, params, context, resolveInfo) => { - const content = params.content.replace(/<(?:.|\n)*?>/gm, '').trim() const { postId } = params // Adding relationship from comment to post by passing in the postId, // but we do not want to create the comment with postId as an attribute @@ -15,15 +11,6 @@ export default { // before comment creation. delete params.postId - if (!params.content || content.length < COMMENT_MIN_LENGTH) { - throw new UserInputError( - `Comment must be at least ${COMMENT_MIN_LENGTH} character long!` - ) - } - if (!postId.trim()) { - throw new UserInputError(NO_POST_ERR_MESSAGE) - } - const session = context.driver.session() const postQueryRes = await session.run( ` @@ -65,38 +52,6 @@ export default { return comment }, UpdateComment: async (object, params, context, resolveInfo) => { - // Strip element tags and remove leading/trailing white spaces from content - const content = params.content.replace(/<(?:.|\n)*?>/gm, '').trim() - const { id } = params - // Check length of content - if (!params.content || content.length < COMMENT_MIN_LENGTH) { - throw new UserInputError( - `Comment must be at least ${COMMENT_MIN_LENGTH} character long!` - ) - } - - // Check if comment exists - const session = context.driver.session() - const commentQueryRes = await session.run( - ` - MATCH (comment: Comment { id:$id}) - RETURN comment`, - { - id - } - ) - - // Destructure content from session results array - const [comment] = commentQueryRes.records.map(record => { - return record.get('comment') - }) - - // Send error message if cannot find a matching comment. - if (!comment) { - throw new UserInputError(NO_COMMENT_ERR_MESSAGE) - } - - // Update comment. const commentRev = await neo4jgraphql( object, params, @@ -104,20 +59,6 @@ export default { resolveInfo, false ) - - await session.run( - ` - MATCH (comment: Comment { id:$id}) - SET comment.content = $content - `, - { - id, - content - } - ) - session.close() - - return commentRev } } } diff --git a/webapp/components/Comment.vue b/webapp/components/Comment.vue index 13edc9c0d..906575880 100644 --- a/webapp/components/Comment.vue +++ b/webapp/components/Comment.vue @@ -22,15 +22,20 @@ :resource="comment" style="float-right" :is-owner="isAuthor(author.id)" + v-on:showEditCommentMenu="editCommentMenu" /> - -
+ +
+ +
+
@@ -39,13 +44,22 @@ import { mapGetters } from 'vuex' import HcUser from '~/components/User' import ContentMenu from '~/components/ContentMenu' +import HcEditCommentForm from '~/components/comments/EditCommentForm' +import gql from 'graphql-tag' export default { components: { HcUser, - ContentMenu + ContentMenu, + HcEditCommentForm + }, + data() { + return { + openEditCommentMenu: false + } }, props: { + post: { type: Object, default: () => {} }, comment: { type: Object, default() { @@ -69,6 +83,9 @@ export default { methods: { isAuthor(id) { return this.user.id === id + }, + editCommentMenu(showMenu) { + this.openEditCommentMenu = showMenu } } } diff --git a/webapp/components/ContentMenu.vue b/webapp/components/ContentMenu.vue index 29473d6b2..5f4cd54e7 100644 --- a/webapp/components/ContentMenu.vue +++ b/webapp/components/ContentMenu.vue @@ -90,7 +90,7 @@ export default { name: this.$t(`comment.edit`), callback: () => { /* eslint-disable-next-line no-console */ - console.log('EDIT COMMENT') + this.$emit('showEditCommentMenu', true) }, icon: 'edit' }) diff --git a/webapp/components/comments/CommentList/index.vue b/webapp/components/comments/CommentList/index.vue index 57b720087..5a682bba6 100644 --- a/webapp/components/comments/CommentList/index.vue +++ b/webapp/components/comments/CommentList/index.vue @@ -12,23 +12,11 @@ >{{ comments.length }}  Comments - -
- + +
+
- +
From 8c7009097a274c04fa22631429b1c7f57c90cad4 Mon Sep 17 00:00:00 2001 From: ALau2088 Date: Fri, 24 May 2019 08:22:56 -0700 Subject: [PATCH 018/169] 552-update_comment --- webapp/components/comments/EditCommentForm/index.vue | 1 - 1 file changed, 1 deletion(-) diff --git a/webapp/components/comments/EditCommentForm/index.vue b/webapp/components/comments/EditCommentForm/index.vue index 216e47604..562b80b48 100644 --- a/webapp/components/comments/EditCommentForm/index.vue +++ b/webapp/components/comments/EditCommentForm/index.vue @@ -97,7 +97,6 @@ export default { this.disabled = false this.$emit('showEditCommentMenu', false) }) - //@Todo close edit comment window .catch(err => { this.$toast.error(err.message) }) From a5f6390f97a2b9e9ec614bc43e4b023b9540e35e Mon Sep 17 00:00:00 2001 From: ALau2088 Date: Thu, 30 May 2019 15:47:55 -0700 Subject: [PATCH 019/169] 552-update_comment --- backend/src/middleware/validation/index.js | 7 ++++--- backend/src/resolvers/comments.js | 10 +++------- webapp/package.json | 2 +- 3 files changed, 8 insertions(+), 11 deletions(-) diff --git a/backend/src/middleware/validation/index.js b/backend/src/middleware/validation/index.js index faf95beaf..a7238ab03 100644 --- a/backend/src/middleware/validation/index.js +++ b/backend/src/middleware/validation/index.js @@ -7,7 +7,9 @@ const validateUsername = async (resolve, root, args, context, info) => { /* eslint-disable-next-line no-return-await */ return await resolve(root, args, context, info) } else { - throw new UserInputError(`Username must be at least ${USERNAME_MIN_LENGTH} characters long!`) + throw new UserInputError( + `Username must be at least ${USERNAME_MIN_LENGTH} characters long!` + ) } } @@ -35,8 +37,7 @@ const validateComment = async (resolve, root, args, context, info) => { if (!postId) { throw new UserInputError(NO_POST_ERR_MESSAGE) } - - return await resolve(root, args, context, info) + return resolve(root, args, context, info) } export default { diff --git a/backend/src/resolvers/comments.js b/backend/src/resolvers/comments.js index f3cfea378..2515ba36a 100644 --- a/backend/src/resolvers/comments.js +++ b/backend/src/resolvers/comments.js @@ -1,6 +1,8 @@ import { neo4jgraphql } from 'neo4j-graphql-js' import { UserInputError } from 'apollo-server' +const NO_POST_ERR_MESSAGE = 'Comment cannot be created without a post!' + export default { Mutation: { CreateComment: async (object, params, context, resolveInfo) => { @@ -52,13 +54,7 @@ export default { return comment }, UpdateComment: async (object, params, context, resolveInfo) => { - const commentRev = await neo4jgraphql( - object, - params, - context, - resolveInfo, - false - ) + await neo4jgraphql(object, params, context, resolveInfo, false) } } } diff --git a/webapp/package.json b/webapp/package.json index a3e8b44b9..62007112d 100644 --- a/webapp/package.json +++ b/webapp/package.json @@ -104,4 +104,4 @@ "vue-jest": "~3.0.4", "vue-svg-loader": "~0.12.0" } -} \ No newline at end of file +} From 788979eedfd82cda726ba2d69b821c43c98fd6bf Mon Sep 17 00:00:00 2001 From: ALau2088 Date: Wed, 5 Jun 2019 18:12:22 -0700 Subject: [PATCH 020/169] add update comment jest test --- backend/src/middleware/validation/index.js | 3 ++- backend/src/resolvers/comments.spec.js | 20 ++++++++++++++++++++ 2 files changed, 22 insertions(+), 1 deletion(-) diff --git a/backend/src/middleware/validation/index.js b/backend/src/middleware/validation/index.js index a7238ab03..2da25a605 100644 --- a/backend/src/middleware/validation/index.js +++ b/backend/src/middleware/validation/index.js @@ -37,7 +37,8 @@ const validateComment = async (resolve, root, args, context, info) => { if (!postId) { throw new UserInputError(NO_POST_ERR_MESSAGE) } - return resolve(root, args, context, info) + /* eslint-disable-next-line no-return-await */ + return await resolve(root, args, context, info) } export default { diff --git a/backend/src/resolvers/comments.spec.js b/backend/src/resolvers/comments.spec.js index 87a0df270..952850759 100644 --- a/backend/src/resolvers/comments.spec.js +++ b/backend/src/resolvers/comments.spec.js @@ -175,4 +175,24 @@ describe('CreateComment', () => { expect(Comment).toEqual([{ postId: null }]) }) }) + +describe('UpdateComment', () => { + const updateCommentMutation = ` + mutation($postId: ID, $content: String!, $id: ID!) { + UpdateComment(postId: $postId, content: $content, id: $id) { + id + content + } + } + ` + updateCommentVariables = { + postId: 'p1', + content: 'Comment is updated', + id: 'c8' + } + + it('updates a comment', async () = { + + }) +}) }) From 8d4ed065c7c5984e9a764ac4ac976cf2c7030751 Mon Sep 17 00:00:00 2001 From: ALau2088 Date: Wed, 5 Jun 2019 18:42:17 -0700 Subject: [PATCH 021/169] add post.comment.updated --- webapp/components/comments/EditCommentForm/index.vue | 2 +- webapp/locales/en.json | 3 ++- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/webapp/components/comments/EditCommentForm/index.vue b/webapp/components/comments/EditCommentForm/index.vue index 562b80b48..5a28062a9 100644 --- a/webapp/components/comments/EditCommentForm/index.vue +++ b/webapp/components/comments/EditCommentForm/index.vue @@ -93,7 +93,7 @@ export default { .then(res => { this.loading = false this.$root.$emit('refetchPostComments') - this.$toast.success(this.$t('post.comment.submitted')) + this.$toast.success(this.$t('post.comment.updated')) this.disabled = false this.$emit('showEditCommentMenu', false) }) diff --git a/webapp/locales/en.json b/webapp/locales/en.json index 186b31d41..975917c78 100644 --- a/webapp/locales/en.json +++ b/webapp/locales/en.json @@ -145,7 +145,8 @@ }, "comment": { "submit": "Comment", - "submitted": "Comment Submitted" + "submitted": "Comment Submitted", + "updated": "Comment Updated" } }, "quotes": { From 0401e3b92947ae8319f4b6238e2da0de0edd9359 Mon Sep 17 00:00:00 2001 From: ALau2088 Date: Thu, 6 Jun 2019 15:58:32 -0700 Subject: [PATCH 022/169] add update comment to comments.spec --- backend/src/resolvers/comments.spec.js | 59 ++++++++++++++++---------- 1 file changed, 36 insertions(+), 23 deletions(-) diff --git a/backend/src/resolvers/comments.spec.js b/backend/src/resolvers/comments.spec.js index 952850759..7784a889f 100644 --- a/backend/src/resolvers/comments.spec.js +++ b/backend/src/resolvers/comments.spec.js @@ -20,7 +20,7 @@ afterEach(async () => { await factory.cleanDatabase() }) -describe('CreateComment', () => { +describe('Comment Functionality', () => { const createCommentMutation = ` mutation($postId: ID, $content: String!) { CreateComment(postId: $postId, content: $content) { @@ -78,7 +78,37 @@ describe('CreateComment', () => { } } - await expect(client.request(createCommentMutation, createCommentVariables)).resolves.toMatchObject(expected) + await expect( + client.request(createCommentMutation, createCommentVariables) + ).resolves.toMatchObject(expected) + }) + + it('updates a comment', async () => { + await client.request(createCommentMutation, createCommentVariables) + + const updateCommentMutation = ` + mutation($postId: ID, $content: String!, $id: ID!) { + UpdateComment(postId: $postId, content: $content, id: $id) { + id + content + } + } + ` + let updateCommentVariables = { + postId: 'p1', + content: 'Comment is updated', + id: 'c8' + } + + const expected = { + UpdateComment: { + content: 'Comment is updated' + } + } + + await expect( + client.request(updateCommentMutation, updateCommentVariables) + ).resolves.toMatchObject(expected) }) it('assigns the authenticated user as author', async () => { @@ -171,28 +201,11 @@ describe('CreateComment', () => { } await client.request(createCommentMutation, createCommentVariables) - const { Comment } = await client.request(commentQueryForPostId, commentQueryVariablesByContent) + const { Comment } = await client.request( + commentQueryForPostId, + commentQueryVariablesByContent + ) expect(Comment).toEqual([{ postId: null }]) }) }) - -describe('UpdateComment', () => { - const updateCommentMutation = ` - mutation($postId: ID, $content: String!, $id: ID!) { - UpdateComment(postId: $postId, content: $content, id: $id) { - id - content - } - } - ` - updateCommentVariables = { - postId: 'p1', - content: 'Comment is updated', - id: 'c8' - } - - it('updates a comment', async () = { - - }) -}) }) From ae9d508ada81ded368cd6adf6463b30d0ea8d410 Mon Sep 17 00:00:00 2001 From: ALau2088 Date: Sat, 8 Jun 2019 15:59:15 -0700 Subject: [PATCH 023/169] Revise "updated":"Changes Saved" --- webapp/locales/en.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/webapp/locales/en.json b/webapp/locales/en.json index 50a7b497d..521f681c0 100644 --- a/webapp/locales/en.json +++ b/webapp/locales/en.json @@ -154,7 +154,7 @@ "comment": { "submit": "Comment", "submitted": "Comment Submitted", - "updated": "Comment Updated" + "updated": "Changes Saved" } }, "comment": { From 3cc05c0916f66fc7290fe63c62f527e5b7db6752 Mon Sep 17 00:00:00 2001 From: ALau2088 Date: Thu, 13 Jun 2019 13:00:20 -0700 Subject: [PATCH 024/169] add backend managecomments tests --- .../src/middleware/permissionsMiddleware.js | 1 + backend/src/middleware/validation/index.js | 10 +- backend/src/schema/resolvers/comments.js | 9 + backend/src/schema/resolvers/comments.spec.js | 199 ++++++++++++------ 4 files changed, 147 insertions(+), 72 deletions(-) diff --git a/backend/src/middleware/permissionsMiddleware.js b/backend/src/middleware/permissionsMiddleware.js index bc9b4c525..83f5cd29b 100644 --- a/backend/src/middleware/permissionsMiddleware.js +++ b/backend/src/middleware/permissionsMiddleware.js @@ -113,6 +113,7 @@ const permissions = shield({ enable: isModerator, disable: isModerator, CreateComment: isAuthenticated, + UpdateComment: isAuthor, DeleteComment: isAuthor, // CreateUser: allow, }, diff --git a/backend/src/middleware/validation/index.js b/backend/src/middleware/validation/index.js index ec69b9a3a..e296bb866 100644 --- a/backend/src/middleware/validation/index.js +++ b/backend/src/middleware/validation/index.js @@ -22,17 +22,12 @@ const validateUrl = async (resolve, root, args, context, info) => { } } -const validateComment = async (resolve, root, args, context, info) => { +const validateUpdateComment = async (resolve, root, args, context, info) => { const COMMENT_MIN_LENGTH = 1 const content = args.content.replace(/<(?:.|\n)*?>/gm, '').trim() if (!args.content || content.length < COMMENT_MIN_LENGTH) { throw new UserInputError(`Comment must be at least ${COMMENT_MIN_LENGTH} character long!`) } - const NO_POST_ERR_MESSAGE = 'Comment cannot be created without a post!' - const { postId } = args - if (!postId) { - throw new UserInputError(NO_POST_ERR_MESSAGE) - } /* eslint-disable-next-line no-return-await */ return await resolve(root, args, context, info) } @@ -42,7 +37,6 @@ export default { CreateUser: validateUsername, UpdateUser: validateUsername, CreateSocialMedia: validateUrl, - CreateComment: validateComment, - UpdateComment: validateComment, + UpdateComment: validateUpdateComment, }, } diff --git a/backend/src/schema/resolvers/comments.js b/backend/src/schema/resolvers/comments.js index f28ef2792..8bca3bb98 100644 --- a/backend/src/schema/resolvers/comments.js +++ b/backend/src/schema/resolvers/comments.js @@ -1,11 +1,13 @@ import { neo4jgraphql } from 'neo4j-graphql-js' import { UserInputError } from 'apollo-server' +const COMMENT_MIN_LENGTH = 1 const NO_POST_ERR_MESSAGE = 'Comment cannot be created without a post!' export default { Mutation: { CreateComment: async (object, params, context, resolveInfo) => { + const content = params.content.replace(/<(?:.|\n)*?>/gm, '').trim() const { postId } = params // Adding relationship from comment to post by passing in the postId, // but we do not want to create the comment with postId as an attribute @@ -13,6 +15,13 @@ export default { // before comment creation. delete params.postId + if (!params.content || content.length < COMMENT_MIN_LENGTH) { + throw new UserInputError(`Comment must be at least ${COMMENT_MIN_LENGTH} character long!`) + } + if (!postId.trim()) { + throw new UserInputError(NO_POST_ERR_MESSAGE) + } + const session = context.driver.session() const postQueryRes = await session.run( ` diff --git a/backend/src/schema/resolvers/comments.spec.js b/backend/src/schema/resolvers/comments.spec.js index 55b946bb9..00d139a62 100644 --- a/backend/src/schema/resolvers/comments.spec.js +++ b/backend/src/schema/resolvers/comments.spec.js @@ -9,9 +9,10 @@ let createCommentVariables let createPostVariables let createCommentVariablesSansPostId let createCommentVariablesWithNonExistentPost +let asAuthor beforeEach(async () => { - await factory.create('User', { + asAuthor = await factory.create('User', { email: 'test@example.org', password: '1234', }) @@ -211,22 +212,9 @@ describe('CreateComment', () => { }) }) -describe('DeleteComment', () => { - const deleteCommentMutation = gql` - mutation($id: ID!) { - DeleteComment(id: $id) { - id - } - } - ` - - let deleteCommentVariables = { - id: 'c1', - } - +describe('ManageComments', () => { beforeEach(async () => { - const asAuthor = Factory() - await asAuthor.create('User', { + asAuthor = await factory.create('User', { email: 'author@example.org', password: '1234', }) @@ -245,55 +233,138 @@ describe('DeleteComment', () => { }) }) - describe('unauthenticated', () => { - it('throws authorization error', async () => { - client = new GraphQLClient(host) - await expect(client.request(deleteCommentMutation, deleteCommentVariables)).rejects.toThrow( - 'Not Authorised', - ) - }) - }) - - describe('authenticated but not the author', () => { - beforeEach(async () => { - let headers - headers = await login({ - email: 'test@example.org', - password: '1234', - }) - client = new GraphQLClient(host, { - headers, - }) - }) - - it('throws authorization error', async () => { - await expect(client.request(deleteCommentMutation, deleteCommentVariables)).rejects.toThrow( - 'Not Authorised', - ) - }) - }) - - describe('authenticated as author', () => { - beforeEach(async () => { - let headers - headers = await login({ - email: 'author@example.org', - password: '1234', - }) - client = new GraphQLClient(host, { - headers, - }) - }) - - it('deletes the comment', async () => { - const expected = { - DeleteComment: { - id: 'c1', - }, + describe('UpdateComment', () => { + const updateCommentMutation = gql` + mutation($content: String!, $id: ID!) { + UpdateComment(content: $content, id: $id) { + id + content + } } - await expect(client.request(deleteCommentMutation, deleteCommentVariables)).resolves.toEqual( - expected, - ) + ` + + let updateCommentVariables = { + id: 'c1', + content: 'The comment is updated', + } + + describe('unauthenticated', () => { + it('throws authorization error', async () => { + client = new GraphQLClient(host) + await expect(client.request(updateCommentMutation, updateCommentVariables)).rejects.toThrow( + 'Not Authorised', + ) + }) + }) + + describe('authenticated but not the author', () => { + beforeEach(async () => { + let headers + headers = await login({ + email: 'test@example.org', + password: '1234', + }) + client = new GraphQLClient(host, { + headers, + }) + }) + + it('throws authorization error', async () => { + await expect(client.request(updateCommentMutation, updateCommentVariables)).rejects.toThrow( + 'Not Authorised', + ) + }) + }) + + describe('authenticated as author', () => { + beforeEach(async () => { + let headers + headers = await login({ + email: 'author@example.org', + password: '1234', + }) + client = new GraphQLClient(host, { + headers, + }) + }) + + it('updates the comment', async () => { + const expected = { + UpdateComment: { + id: 'c1', + content: 'The comment is updated', + }, + } + await expect( + client.request(updateCommentMutation, updateCommentVariables), + ).resolves.toEqual(expected) + }) + }) + }) + + describe('DeleteComment', () => { + const deleteCommentMutation = gql` + mutation($id: ID!) { + DeleteComment(id: $id) { + id + } + } + ` + + let deleteCommentVariables = { + id: 'c1', + } + + describe('unauthenticated', () => { + it('throws authorization error', async () => { + client = new GraphQLClient(host) + await expect(client.request(deleteCommentMutation, deleteCommentVariables)).rejects.toThrow( + 'Not Authorised', + ) + }) + }) + + describe('authenticated but not the author', () => { + beforeEach(async () => { + let headers + headers = await login({ + email: 'test@example.org', + password: '1234', + }) + client = new GraphQLClient(host, { + headers, + }) + }) + + it('throws authorization error', async () => { + await expect(client.request(deleteCommentMutation, deleteCommentVariables)).rejects.toThrow( + 'Not Authorised', + ) + }) + }) + + describe('authenticated as author', () => { + beforeEach(async () => { + let headers + headers = await login({ + email: 'author@example.org', + password: '1234', + }) + client = new GraphQLClient(host, { + headers, + }) + }) + + it('deletes the comment', async () => { + const expected = { + DeleteComment: { + id: 'c1', + }, + } + await expect( + client.request(deleteCommentMutation, deleteCommentVariables), + ).resolves.toEqual(expected) + }) }) }) }) From d3624ab493a5a1ba9abcf914d735498550005d69 Mon Sep 17 00:00:00 2001 From: Grzegorz Leoniec Date: Mon, 17 Jun 2019 12:38:11 +0200 Subject: [PATCH 025/169] Update README.md --- README.md | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index be2a17020..82e9a4a91 100644 --- a/README.md +++ b/README.md @@ -10,7 +10,8 @@ API Service for fetching URL Information like images, icons, descriptions etc. t ## Todo`s - [x] Metascraper - [x] oEmbed -- [ ] API Cache +- [ ] Temporary API Cache in some DB? +- [ ] Scrape for meta tags - [ ] Image Caching --- From 2a81c5bfad7dae74dba195bd605bb0a9481a64a3 Mon Sep 17 00:00:00 2001 From: "dependabot-preview[bot]" <27856297+dependabot-preview[bot]@users.noreply.github.com> Date: Fri, 21 Jun 2019 04:24:11 +0000 Subject: [PATCH 026/169] Bump metascraper-description from 4.8.5 to 5.5.0 Bumps [metascraper-description](https://github.com/microlinkhq/metascraper) from 4.8.5 to 5.5.0. - [Release notes](https://github.com/microlinkhq/metascraper/releases) - [Changelog](https://github.com/microlinkhq/metascraper/blob/master/CHANGELOG.md) - [Commits](https://github.com/microlinkhq/metascraper/compare/v4.8.5...v5.5.0) Signed-off-by: dependabot-preview[bot] --- package.json | 2 +- yarn.lock | 167 ++++++++++++++++++++++++++++++++++++++++++++++++--- 2 files changed, 161 insertions(+), 8 deletions(-) diff --git a/package.json b/package.json index 77ea21967..3b13897fe 100644 --- a/package.json +++ b/package.json @@ -33,7 +33,7 @@ "metascraper-author": "^4.8.5", "metascraper-clearbit-logo": "^4.8.5", "metascraper-date": "^4.8.5", - "metascraper-description": "^4.8.5", + "metascraper-description": "^5.5.0", "metascraper-image": "^4.8.5", "metascraper-lang": "^4.8.5", "metascraper-lang-detector": "^4.8.5", diff --git a/yarn.lock b/yarn.lock index 3db4db7b9..563b7e78b 100644 --- a/yarn.lock +++ b/yarn.lock @@ -36,6 +36,31 @@ url-regex "~4.1.1" video-extensions "~1.1.0" +"@metascraper/helpers@^5.5.0": + version "5.5.0" + resolved "https://registry.yarnpkg.com/@metascraper/helpers/-/helpers-5.5.0.tgz#38033895e404f3913791047b85b457ee84804880" + integrity sha512-VdWKWxcYVd3uzPNxr4Aucl+LSmvLzwgrvF+EIX6pNN+n66mMjimnVSTENQaWo7/aYOxF7IPyC9aBlIq9C1JDXA== + dependencies: + audio-extensions "0.0.0" + chrono-node "~1.3.11" + condense-whitespace "~2.0.0" + entities "~1.1.2" + file-extension "~4.0.5" + image-extensions "~1.1.0" + is-relative-url "~3.0.0" + is-uri "~1.2.0" + iso-639-3 "~1.2.0" + isostring "0.0.1" + lodash "~4.17.11" + mem "~5.1.0" + mime-types "~2.1.24" + normalize-url "~4.3.0" + smartquotes "~2.3.1" + title "~3.4.1" + truncate "~2.1.0" + url-regex "~5.0.0" + video-extensions "~1.1.0" + "@protobufjs/aspromise@^1.1.1", "@protobufjs/aspromise@^1.1.2": version "1.1.2" resolved "https://registry.yarnpkg.com/@protobufjs/aspromise/-/aspromise-1.1.2.tgz#9b8b0cc663d669a7d8f6f5d0893a14d348f30fbf" @@ -723,6 +748,13 @@ chownr@^1.1.1: resolved "https://registry.yarnpkg.com/chownr/-/chownr-1.1.1.tgz#54726b8b8fff4df053c42187e801fb4412df1494" integrity sha512-j38EvO5+LHX84jlo6h4UzmOwi0UgW61WRyPtJz4qaadK5eY3BTS5TY/S1Stc3Uk2lIM6TPevAlULiEJwie860g== +chrono-node@~1.3.11: + version "1.3.11" + resolved "https://registry.yarnpkg.com/chrono-node/-/chrono-node-1.3.11.tgz#b86a26b7e3157edcc4fe3374e1b6f90caedc8e39" + integrity sha512-jDWRnY6nYvzfV3HPYBqo+tot7tcsUs9i3arGbMdI0TouPSXP2C2y/Ctp27rxKTQDi6yuTxAB2cw+Q6igGhOhdQ== + dependencies: + moment "2.21.0" + chrono-node@~1.3.5: version "1.3.5" resolved "https://registry.yarnpkg.com/chrono-node/-/chrono-node-1.3.5.tgz#a2495298a32da82bcc01ad9be7d77efa5e244122" @@ -822,6 +854,11 @@ condense-whitespace@~1.0.0: resolved "https://registry.yarnpkg.com/condense-whitespace/-/condense-whitespace-1.0.0.tgz#8376d98ef028e6cb2cd2468e28ce42c5c65ab1a9" integrity sha1-g3bZjvAo5sss0kaOKM5CxcZasak= +condense-whitespace@~2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/condense-whitespace/-/condense-whitespace-2.0.0.tgz#94e9644938f66aa7be4b8849f8f0b3cec97d6b3a" + integrity sha512-Ath9o58/0rxZXbyoy3zZgrVMoIemi30sukG/btuMKCLyqfQt3dNOWc9N3EHEMa2Q3i0tXQPDJluYFLwy7pJuQw== + configstore@^3.0.0: version "3.1.2" resolved "https://registry.yarnpkg.com/configstore/-/configstore-3.1.2.tgz#c6f25defaeef26df12dd33414b001fe81a543f8f" @@ -1106,7 +1143,7 @@ end-of-stream@^1.1.0: dependencies: once "^1.4.0" -entities@^1.1.1, entities@~1.1.1: +entities@^1.1.1, entities@~1.1.1, entities@~1.1.2: version "1.1.2" resolved "https://registry.yarnpkg.com/entities/-/entities-1.1.2.tgz#bdfa735299664dfafd34529ed4f8522a275fea56" integrity sha512-f2LZMYl1Fzu7YSBKg+RoROelpOaNrcGmE9AZubeDfrCEia483oW4MI4VyFd5VNHIgQ/7qm1I0wUHK1eJnn2y2w== @@ -1738,6 +1775,11 @@ ip-regex@^1.0.1: resolved "https://registry.yarnpkg.com/ip-regex/-/ip-regex-1.0.3.tgz#dc589076f659f419c222039a33316f1c7387effd" integrity sha1-3FiQdvZZ9BnCIgOaMzFvHHOH7/0= +ip-regex@^4.1.0: + version "4.1.0" + resolved "https://registry.yarnpkg.com/ip-regex/-/ip-regex-4.1.0.tgz#5ad62f685a14edb421abebc2fff8db94df67b455" + integrity sha512-pKnZpbgCTfH/1NLIlOduP/V+WRXzC2MOz3Qo8xmxk8C5GudJLgK5QyLVXOSWy3ParAH7Eemurl3xjv/WXYFvMA== + ipaddr.js@1.8.0: version "1.8.0" resolved "https://registry.yarnpkg.com/ipaddr.js/-/ipaddr.js-1.8.0.tgz#eaa33d6ddd7ace8f7f6fe0c9ca0440e706738b1e" @@ -1748,6 +1790,11 @@ is-absolute-url@^2.0.0: resolved "https://registry.yarnpkg.com/is-absolute-url/-/is-absolute-url-2.1.0.tgz#50530dfb84fcc9aa7dbe7852e83a37b93b9f2aa6" integrity sha1-UFMN+4T8yap9vnhS6Do3uTufKqY= +is-absolute-url@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/is-absolute-url/-/is-absolute-url-3.0.0.tgz#eb21d69df2ed8ef72a3e6f243e216563036a0913" + integrity sha512-3OkP8XrM2Xq4/IxsJnClfMp3OaM3TAatLPLKPeWcxLBTrpe6hihwtX+XZfJTcXg/FTRi4qjy0y/C5qiyNxY24g== + is-accessor-descriptor@^0.1.6: version "0.1.6" resolved "https://registry.yarnpkg.com/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz#a9e12cb3ae8d876727eeef3843f8a0897b5c98d6" @@ -1944,6 +1991,13 @@ is-relative-url@~2.0.0: dependencies: is-absolute-url "^2.0.0" +is-relative-url@~3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/is-relative-url/-/is-relative-url-3.0.0.tgz#f623c8e26baa5bd3742b3b7ec074f50f3b45b3f3" + integrity sha512-U1iSYRlY2GIMGuZx7gezlB5dp1Kheaym7zKzO1PV06mOihiWTXejLwm4poEJysPyXF+HtK/BEd0DVlcCh30pEA== + dependencies: + is-absolute-url "^3.0.0" + is-retry-allowed@^1.0.0: version "1.1.0" resolved "https://registry.yarnpkg.com/is-retry-allowed/-/is-retry-allowed-1.1.0.tgz#11a060568b67339444033d0125a61a20d564fb34" @@ -1966,6 +2020,14 @@ is-typedarray@~1.0.0: resolved "https://registry.yarnpkg.com/is-typedarray/-/is-typedarray-1.0.0.tgz#e479c80858df0c1b11ddda6940f96011fcda4a9a" integrity sha1-5HnICFjfDBsR3dppQPlgEfzaSpo= +is-uri@~1.2.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/is-uri/-/is-uri-1.2.0.tgz#b92ff234af68c0ed97d2eed46492d01793b7d420" + integrity sha1-uS/yNK9owO2X0u7UZJLQF5O31CA= + dependencies: + parse-uri "~1.0.0" + punycode2 "~1.0.0" + is-windows@^1.0.2: version "1.0.2" resolved "https://registry.yarnpkg.com/is-windows/-/is-windows-1.0.2.tgz#d1850eb9791ecd18e6182ce12a30f396634bb19d" @@ -1991,6 +2053,11 @@ iso-639-3@~1.1.0: resolved "https://registry.yarnpkg.com/iso-639-3/-/iso-639-3-1.1.0.tgz#83722daf55490a707c318ae18a33ba3bab06c843" integrity sha512-l3BAnxNpyRIZA4mEzI2md/YVrxQ3hI8hiQe7TFyQknjyOh8vCzobZuAXTFHELco0FBkYRx4FkAlIqkKrHhnzgw== +iso-639-3@~1.2.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/iso-639-3/-/iso-639-3-1.2.0.tgz#eee1f5e6ca2bbb33e3ecc910857c1c12e8b295be" + integrity sha512-jNvD2P4JHNckQH7pc0R0SQ4oPCpyEtgs0nTtjB+DZCUDdygz0cOAxlcnq5KgNjjsqMHbR4Sbgwz2+DflzAZvlQ== + isobject@^2.0.0: version "2.1.0" resolved "https://registry.yarnpkg.com/isobject/-/isobject-2.1.0.tgz#f065561096a3f1da2ef46272f815c840d87e0c89" @@ -2170,6 +2237,13 @@ make-dir@^1.0.0: dependencies: pify "^3.0.0" +map-age-cleaner@^0.1.3: + version "0.1.3" + resolved "https://registry.yarnpkg.com/map-age-cleaner/-/map-age-cleaner-0.1.3.tgz#7d583a7306434c055fe474b0f45078e6e1b4b92a" + integrity sha512-bJzx6nMoP6PDLPBFmg7+xRKeFZvFboMrGlxmNj9ClvX53KrmvM5bXFXEWjbz4cz1AFn+jWJ9z/DJSz7hrs0w3w== + dependencies: + p-defer "^1.0.0" + map-cache@^0.2.2: version "0.2.2" resolved "https://registry.yarnpkg.com/map-cache/-/map-cache-0.2.2.tgz#c32abd0bd6525d9b051645bb4f26ac5dc98a0dbf" @@ -2187,6 +2261,15 @@ media-typer@0.3.0: resolved "https://registry.yarnpkg.com/media-typer/-/media-typer-0.3.0.tgz#8710d7af0aa626f8fffa1ce00168545263255748" integrity sha1-hxDXrwqmJvj/+hzgAWhUUmMlV0g= +mem@~5.1.0: + version "5.1.0" + resolved "https://registry.yarnpkg.com/mem/-/mem-5.1.0.tgz#b94ee9b888d26928dd9d91cab107fa04b925730b" + integrity sha512-9egM8rCo4wKiKuTwK1nFlSk39HbgluK93EgUmmboF85CVuKp7PoAwK3C8krkJeeFiH/ltExwVxcu+i2dKZYtDw== + dependencies: + map-age-cleaner "^0.1.3" + mimic-fn "^2.1.0" + p-is-promise "^2.1.0" + merge-descriptors@1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/merge-descriptors/-/merge-descriptors-1.0.1.tgz#b00aaa556dd8b44568150ec9d1b953f3f90cbb61" @@ -2222,12 +2305,12 @@ metascraper-date@^4.8.5: dependencies: "@metascraper/helpers" "^4.8.5" -metascraper-description@^4.8.5: - version "4.8.5" - resolved "https://registry.yarnpkg.com/metascraper-description/-/metascraper-description-4.8.5.tgz#9155b5c7f64e997f8f12209e0140e7de25614e01" - integrity sha512-0oPEiRXgAyJoQstEPgua0OZ4wD35Htf1oSMzJvejn6rYdfXaeI8RREVtsL/TsUmizyf/iKlneslnfH4/+iN42g== +metascraper-description@^5.5.0: + version "5.5.0" + resolved "https://registry.yarnpkg.com/metascraper-description/-/metascraper-description-5.5.0.tgz#ccea262aee9513de3f9de7006256f3ff06028282" + integrity sha512-HgAm1JEE3cYbMGZFOWrAaZQp0nwVifIcYA/DQsFRBWhS47Yb5XgnRIWnxYrww6dnPwMzmveCqxpzyi94lD5+/g== dependencies: - "@metascraper/helpers" "^4.8.5" + "@metascraper/helpers" "^5.5.0" metascraper-image@^4.8.5: version "4.8.5" @@ -2352,6 +2435,11 @@ micromatch@^3.1.10, micromatch@^3.1.4: snapdragon "^0.8.1" to-regex "^3.0.2" +mime-db@1.40.0: + version "1.40.0" + resolved "https://registry.yarnpkg.com/mime-db/-/mime-db-1.40.0.tgz#a65057e998db090f732a68f6c276d387d4126c32" + integrity sha512-jYdeOMPy9vnxEqFRRo6ZvTZ8d9oPb+k18PKoYNYUe2stVEBPPwsln/qWzdbmaIvnhZ9v2P+CuecK+fpUfsV2mA== + mime-db@~1.37.0: version "1.37.0" resolved "https://registry.yarnpkg.com/mime-db/-/mime-db-1.37.0.tgz#0b6a0ce6fdbe9576e25f1f2d2fde8830dc0ad0d8" @@ -2364,11 +2452,23 @@ mime-types@^2.1.12, mime-types@~2.1.18, mime-types@~2.1.19, mime-types@~2.1.21: dependencies: mime-db "~1.37.0" +mime-types@~2.1.24: + version "2.1.24" + resolved "https://registry.yarnpkg.com/mime-types/-/mime-types-2.1.24.tgz#b6f8d0b3e951efb77dedeca194cff6d16f676f81" + integrity sha512-WaFHS3MCl5fapm3oLxU4eYDw77IQM2ACcxQ9RIxfaC3ooc6PFuBMGZZsYpvoXS5D5QTWPieo1jjLdAm3TBP3cQ== + dependencies: + mime-db "1.40.0" + mime@1.4.1: version "1.4.1" resolved "https://registry.yarnpkg.com/mime/-/mime-1.4.1.tgz#121f9ebc49e3766f311a76e1fa1c8003c4b03aa6" integrity sha512-KI1+qOZu5DcW6wayYHSzR/tXKCDC5Om4s1z2QJjDULzLcmf3DvzS7oluY4HCTrc+9FiKmWUgeNLg7W3uIQvxtQ== +mimic-fn@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/mimic-fn/-/mimic-fn-2.1.0.tgz#7ed2c2ccccaf84d3ffcb7a69b57711fc2083401b" + integrity sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg== + mimic-fn@~1.1.0: version "1.1.0" resolved "https://registry.yarnpkg.com/mimic-fn/-/mimic-fn-1.1.0.tgz#e667783d92e89dbd342818b5230b9d62a672ad18" @@ -2426,6 +2526,11 @@ mkdirp@^0.5.0, mkdirp@^0.5.1: dependencies: minimist "0.0.8" +moment@2.21.0: + version "2.21.0" + resolved "https://registry.yarnpkg.com/moment/-/moment-2.21.0.tgz#2a114b51d2a6ec9e6d83cf803f838a878d8a023a" + integrity sha512-TCZ36BjURTeFTM/CwRcViQlfkMvL1/vFISuNLO5GkcVm1+QHfbSiNqZuWeMFjj1/3+uAjXswgRk30j1kkLYJBQ== + moment@^2.10.3: version "2.23.0" resolved "https://registry.yarnpkg.com/moment/-/moment-2.23.0.tgz#759ea491ac97d54bac5ad776996e2a58cc1bc225" @@ -2551,6 +2656,11 @@ normalize-url@~4.1.0: resolved "https://registry.yarnpkg.com/normalize-url/-/normalize-url-4.1.0.tgz#307e74c87473efa81969ad1b4bb91f1990178904" integrity sha512-X781mkWeK6PDMAZJfGn/wnwil4dV6pIdF9euiNqtA89uJvZuNDJO2YyJxiwpPhTQcF5pYUU1v+kcOxzYV6rZlA== +normalize-url@~4.3.0: + version "4.3.0" + resolved "https://registry.yarnpkg.com/normalize-url/-/normalize-url-4.3.0.tgz#9c49e10fc1876aeb76dba88bf1b2b5d9fa57b2ee" + integrity sha512-0NLtR71o4k6GLP+mr6Ty34c5GA6CMoEsncKJxvQd8NzPxaHRJNnb5gZE8R1XF4CPIS7QPHLJ74IFszwtNVAHVQ== + npm-bundled@^1.0.1: version "1.0.5" resolved "https://registry.yarnpkg.com/npm-bundled/-/npm-bundled-1.0.5.tgz#3c1732b7ba936b3a10325aef616467c0ccbcc979" @@ -2688,11 +2798,21 @@ p-cancelable@^1.0.0: resolved "https://registry.yarnpkg.com/p-cancelable/-/p-cancelable-1.0.0.tgz#07e9c6d22c31f9c6784cb4f1e1454a79b6d9e2d6" integrity sha512-USgPoaC6tkTGlS831CxsVdmZmyb8tR1D+hStI84MyckLOzfJlYQUweomrwE3D8T7u5u5GVuW064LT501wHTYYA== +p-defer@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/p-defer/-/p-defer-1.0.0.tgz#9f6eb182f6c9aa8cd743004a7d4f96b196b0fb0c" + integrity sha1-n26xgvbJqozXQwBKfU+WsZaw+ww= + p-finally@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/p-finally/-/p-finally-1.0.0.tgz#3fbcfb15b899a44123b34b6dcc18b724336a2cae" integrity sha1-P7z7FbiZpEEjs0ttzBi3JDNqLK4= +p-is-promise@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/p-is-promise/-/p-is-promise-2.1.0.tgz#918cebaea248a62cf7ffab8e3bca8c5f882fc42e" + integrity sha512-Y3W0wlRPK8ZMRbNq97l4M5otioeA5lm1z7bkNkxCka8HSPjR0xRWmpCmc9utiaLP9Jb1eD8BgeIxTW4AIF45Pg== + p-limit@^2.0.0: version "2.1.0" resolved "https://registry.yarnpkg.com/p-limit/-/p-limit-2.1.0.tgz#1d5a0d20fb12707c758a655f6bbc4386b5930d68" @@ -2741,6 +2861,11 @@ package-json@^4.0.0: registry-url "^3.0.3" semver "^5.1.0" +parse-uri@~1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/parse-uri/-/parse-uri-1.0.0.tgz#2872dcc22f1a797acde1583d8a0ac29552ddac20" + integrity sha1-KHLcwi8aeXrN4Vg9igrClVLdrCA= + parse5@^3.0.1: version "3.0.3" resolved "https://registry.yarnpkg.com/parse5/-/parse5-3.0.3.tgz#042f792ffdd36851551cf4e9e066b3874ab45b5c" @@ -2877,6 +3002,11 @@ pump@^3.0.0: end-of-stream "^1.1.0" once "^1.3.1" +punycode2@~1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/punycode2/-/punycode2-1.0.0.tgz#e2b4b9a9a8ff157d0b84438e203181ee7892dfd8" + integrity sha1-4rS5qaj/FX0LhEOOIDGB7niS39g= + punycode@^1.4.1: version "1.4.1" resolved "https://registry.yarnpkg.com/punycode/-/punycode-1.4.1.tgz#c0d5a63b2718800ad8e1eb0fa5269c84dd41845e" @@ -3457,12 +3587,22 @@ title@~3.4.0: clipboardy "1.2.2" titleize "1.0.0" +title@~3.4.1: + version "3.4.1" + resolved "https://registry.yarnpkg.com/title/-/title-3.4.1.tgz#166177c48f52ae9b73afe9901a183f0b6c97b2e6" + integrity sha512-CoIakPr4Gi91bm4Xp6xTuZ3EENxPcKgOJzHzrhSdUatGtFMeVJa2qxI4WNhJHgz0Jak5Ck6jY2UNFM71/yBIsw== + dependencies: + arg "1.0.0" + chalk "2.3.0" + clipboardy "1.2.2" + titleize "1.0.0" + titleize@1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/titleize/-/titleize-1.0.0.tgz#7d350722061830ba6617631e0cfd3ea08398d95a" integrity sha1-fTUHIgYYMLpmF2MeDP0+oIOY2Vo= -tlds@^1.187.0: +tlds@^1.187.0, tlds@^1.203.0: version "1.203.1" resolved "https://registry.yarnpkg.com/tlds/-/tlds-1.203.1.tgz#4dc9b02f53de3315bc98b80665e13de3edfc1dfc" integrity sha512-7MUlYyGJ6rSitEZ3r1Q1QNV8uSIzapS8SmmhSusBuIc7uIxPPwsKllEP0GRp1NS6Ik6F+fRZvnjDWm3ecv2hDw== @@ -3544,6 +3684,11 @@ truncate@~2.0.1: resolved "https://registry.yarnpkg.com/truncate/-/truncate-2.0.1.tgz#dd1a6d15630515663d8475f6f24edf2f800ebb1b" integrity sha1-3RptFWMFFWY9hHX28k7fL4AOuxs= +truncate@~2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/truncate/-/truncate-2.1.0.tgz#391183563a25cffbd4d613a1d00ae5844c9e55d3" + integrity sha512-em3E3SUDONOjTBcZ36DTm3RvDded3IRU9rX32oHwwXNt3rJD5MVaFlJTQvs8tJoHRoeYP36OuQ1eL/Q7bNEWIQ== + tunnel-agent@^0.6.0: version "0.6.0" resolved "https://registry.yarnpkg.com/tunnel-agent/-/tunnel-agent-0.6.0.tgz#27a5dea06b36b04a0a9966774b290868f0fc40fd" @@ -3669,6 +3814,14 @@ url-regex@~4.1.1: ip-regex "^1.0.1" tlds "^1.187.0" +url-regex@~5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/url-regex/-/url-regex-5.0.0.tgz#8f5456ab83d898d18b2f91753a702649b873273a" + integrity sha512-O08GjTiAFNsSlrUWfqF1jH0H1W3m35ZyadHrGv5krdnmPPoxP27oDTqux/579PtaroiSGm5yma6KT1mHFH6Y/g== + dependencies: + ip-regex "^4.1.0" + tlds "^1.203.0" + use@^3.1.0: version "3.1.1" resolved "https://registry.yarnpkg.com/use/-/use-3.1.1.tgz#d50c8cac79a19fbc20f2911f56eb973f4e10070f" From 912b94d43c829622fb637fa0318d0675fd992fb8 Mon Sep 17 00:00:00 2001 From: ALau2088 Date: Thu, 27 Jun 2019 10:59:53 -0700 Subject: [PATCH 027/169] add EditCommentForm spec.js --- backend/src/schema/resolvers/comments.js | 3 -- webapp/components/Comment.vue | 8 +-- webapp/components/ContentMenu.vue | 4 +- .../components/comments/CommentList/index.vue | 11 ++-- .../comments/EditCommentForm/index.vue | 50 +++++++++---------- 5 files changed, 36 insertions(+), 40 deletions(-) diff --git a/backend/src/schema/resolvers/comments.js b/backend/src/schema/resolvers/comments.js index be257d912..d2e296596 100644 --- a/backend/src/schema/resolvers/comments.js +++ b/backend/src/schema/resolvers/comments.js @@ -74,9 +74,6 @@ export default { session.close() return commentReturnedWithAuthor }, - UpdateComment: async (object, params, context, resolveInfo) => { - await neo4jgraphql(object, params, context, resolveInfo, false) - }, DeleteComment: async (object, params, context, resolveInfo) => { const comment = await neo4jgraphql(object, params, context, resolveInfo, false) diff --git a/webapp/components/Comment.vue b/webapp/components/Comment.vue index a119328f1..a134787ff 100644 --- a/webapp/components/Comment.vue +++ b/webapp/components/Comment.vue @@ -1,13 +1,13 @@ diff --git a/webapp/components/ContentMenu.vue b/webapp/components/ContentMenu.vue index 8f5fe1eff..cb164678a 100644 --- a/webapp/components/ContentMenu.vue +++ b/webapp/components/ContentMenu.vue @@ -3,7 +3,7 @@ @@ -16,7 +16,7 @@ :parents="item.parents" @click.stop.prevent="openItem(item.route, toggleMenu)" > - + {{ item.route.name }} diff --git a/webapp/components/comments/CommentList/index.vue b/webapp/components/comments/CommentList/index.vue index 8f1cbc3d0..d1c91fef0 100644 --- a/webapp/components/comments/CommentList/index.vue +++ b/webapp/components/comments/CommentList/index.vue @@ -2,17 +2,20 @@

- + {{ comments.length }}  Comments + > + {{ comments.length }} + +   Comments

- +
- +
From 4ceff96df9a206a8763e53d769be36ad8eedaf98 Mon Sep 17 00:00:00 2001 From: "dependabot-preview[bot]" <27856297+dependabot-preview[bot]@users.noreply.github.com> Date: Tue, 2 Jul 2019 19:55:48 +0000 Subject: [PATCH 028/169] Bump metascraper-clearbit-logo from 4.8.5 to 5.3.0 Bumps [metascraper-clearbit-logo](https://github.com/microlinkhq/metascraper-clearbit-logo) from 4.8.5 to 5.3.0. - [Release notes](https://github.com/microlinkhq/metascraper-clearbit-logo/releases) - [Commits](https://github.com/microlinkhq/metascraper-clearbit-logo/commits) Signed-off-by: dependabot[bot] --- package.json | 2 +- yarn.lock | 18 ++++++------------ 2 files changed, 7 insertions(+), 13 deletions(-) diff --git a/package.json b/package.json index 2028fc435..e271f5df1 100644 --- a/package.json +++ b/package.json @@ -31,7 +31,7 @@ "metascraper": "^4.10.3", "metascraper-audio": "^4.8.5", "metascraper-author": "^4.8.5", - "metascraper-clearbit-logo": "^4.8.5", + "metascraper-clearbit-logo": "^5.3.0", "metascraper-date": "^4.8.5", "metascraper-description": "^4.8.5", "metascraper-image": "^4.8.5", diff --git a/yarn.lock b/yarn.lock index f70892040..0d1ee8ad6 100644 --- a/yarn.lock +++ b/yarn.lock @@ -1489,7 +1489,7 @@ got@^6.7.1: unzip-response "^2.0.1" url-parse-lax "^1.0.0" -got@^9.3.2, got@^9.6.0: +got@^9.3.2, got@^9.6.0, got@~9.6.0: version "9.6.0" resolved "https://registry.yarnpkg.com/got/-/got-9.6.0.tgz#edf45e7d67f99545705de1f7bbeeeb121765ed85" integrity sha512-R7eWptXuGYxwijs0eV+v3o6+XH1IqVK8dJOEecQfTmkncw9AV4dcw/Dhxi8MdlqPthxxpZyizMzyg8RTmEsG+Q== @@ -2221,13 +2221,12 @@ metascraper-author@^4.8.5: "@metascraper/helpers" "^4.8.5" lodash "~4.17.10" -metascraper-clearbit-logo@^4.8.5: - version "4.8.5" - resolved "https://registry.yarnpkg.com/metascraper-clearbit-logo/-/metascraper-clearbit-logo-4.8.5.tgz#d1e672f1804f7edce507317eb6aeb94a88f29529" - integrity sha512-D53DO9gQFwDqgq6r0qbV92YFpLZTW3Zck17WmlkmPbl9wDLH8EOP5AC0S4h9hu40qwqR2gSqIaH298iQJ+gYvA== +metascraper-clearbit-logo@^5.3.0: + version "5.3.0" + resolved "https://registry.yarnpkg.com/metascraper-clearbit-logo/-/metascraper-clearbit-logo-5.3.0.tgz#e4596dbaf35503635d585a705f4119c7eddc6773" + integrity sha512-Vg9m8cj2yEIUDrRjvCORvf8vgq2HLsWLVqNnIactNUPJ+Lcly5Xcxh5TcmHYp5Qx5DtNUCoKlakomYHn8mOjqg== dependencies: - got "~9.5.0" - qsm "~2.1.0" + got "~9.6.0" metascraper-date@^4.8.5: version "4.8.5" @@ -2918,11 +2917,6 @@ qs@6.5.2, qs@~6.5.2: resolved "https://registry.yarnpkg.com/qs/-/qs-6.5.2.tgz#cb3ae806e8740444584ef154ce8ee98d403f3e36" integrity sha512-N5ZAX4/LxJmF+7wN74pUD6qAh9/wnvdQcjq9TZjevvXzSUo7bfmw91saqMjzGS2xq91/odN2dW/WOl7qQHNDGA== -qsm@~2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/qsm/-/qsm-2.1.0.tgz#53c5d28424e2900e1b83d8e958bc916552322516" - integrity sha512-v+5GHA5DkXpqHGXnrZMqft2I2esvq7BJTm+EKN3L+BFzKcx/JwmazJzrebOjuOzYrJreT+JS13K78TReKkI17Q== - querystringify@^2.0.0: version "2.1.0" resolved "https://registry.yarnpkg.com/querystringify/-/querystringify-2.1.0.tgz#7ded8dfbf7879dcc60d0a644ac6754b283ad17ef" From 69b1a2587cd6cc7ed00116a7173c77f6238c036a Mon Sep 17 00:00:00 2001 From: "dependabot-preview[bot]" <27856297+dependabot-preview[bot]@users.noreply.github.com> Date: Tue, 2 Jul 2019 19:56:03 +0000 Subject: [PATCH 029/169] Bump metascraper-video from 4.8.5 to 5.5.0 Bumps [metascraper-video](https://github.com/microlinkhq/metascraper) from 4.8.5 to 5.5.0. - [Release notes](https://github.com/microlinkhq/metascraper/releases) - [Changelog](https://github.com/microlinkhq/metascraper/blob/master/CHANGELOG.md) - [Commits](https://github.com/microlinkhq/metascraper/compare/v4.8.5...v5.5.0) Signed-off-by: dependabot-preview[bot] --- package.json | 2 +- yarn.lock | 127 ++++++++++++++++++++++++++++++++++++++++++++++++--- 2 files changed, 121 insertions(+), 8 deletions(-) diff --git a/package.json b/package.json index 2028fc435..965aa5391 100644 --- a/package.json +++ b/package.json @@ -43,7 +43,7 @@ "metascraper-soundcloud": "^4.8.5", "metascraper-title": "^4.8.5", "metascraper-url": "^4.8.5", - "metascraper-video": "^4.8.5", + "metascraper-video": "^5.5.0", "metascraper-youtube": "^4.8.5", "request": "^2.88.0", "request-promise-native": "^1.0.5" diff --git a/yarn.lock b/yarn.lock index f70892040..c31657455 100644 --- a/yarn.lock +++ b/yarn.lock @@ -37,6 +37,31 @@ url-regex "~4.1.1" video-extensions "~1.1.0" +"@metascraper/helpers@^5.5.0": + version "5.5.0" + resolved "https://registry.yarnpkg.com/@metascraper/helpers/-/helpers-5.5.0.tgz#38033895e404f3913791047b85b457ee84804880" + integrity sha512-VdWKWxcYVd3uzPNxr4Aucl+LSmvLzwgrvF+EIX6pNN+n66mMjimnVSTENQaWo7/aYOxF7IPyC9aBlIq9C1JDXA== + dependencies: + audio-extensions "0.0.0" + chrono-node "~1.3.11" + condense-whitespace "~2.0.0" + entities "~1.1.2" + file-extension "~4.0.5" + image-extensions "~1.1.0" + is-relative-url "~3.0.0" + is-uri "~1.2.0" + iso-639-3 "~1.2.0" + isostring "0.0.1" + lodash "~4.17.11" + mem "~5.1.0" + mime-types "~2.1.24" + normalize-url "~4.3.0" + smartquotes "~2.3.1" + title "~3.4.1" + truncate "~2.1.0" + url-regex "~5.0.0" + video-extensions "~1.1.0" + "@protobufjs/aspromise@^1.1.1", "@protobufjs/aspromise@^1.1.2": version "1.1.2" resolved "https://registry.yarnpkg.com/@protobufjs/aspromise/-/aspromise-1.1.2.tgz#9b8b0cc663d669a7d8f6f5d0893a14d348f30fbf" @@ -836,6 +861,11 @@ condense-whitespace@~1.0.0: resolved "https://registry.yarnpkg.com/condense-whitespace/-/condense-whitespace-1.0.0.tgz#8376d98ef028e6cb2cd2468e28ce42c5c65ab1a9" integrity sha1-g3bZjvAo5sss0kaOKM5CxcZasak= +condense-whitespace@~2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/condense-whitespace/-/condense-whitespace-2.0.0.tgz#94e9644938f66aa7be4b8849f8f0b3cec97d6b3a" + integrity sha512-Ath9o58/0rxZXbyoy3zZgrVMoIemi30sukG/btuMKCLyqfQt3dNOWc9N3EHEMa2Q3i0tXQPDJluYFLwy7pJuQw== + configstore@^3.0.0: version "3.1.2" resolved "https://registry.yarnpkg.com/configstore/-/configstore-3.1.2.tgz#c6f25defaeef26df12dd33414b001fe81a543f8f" @@ -1120,7 +1150,7 @@ end-of-stream@^1.1.0: dependencies: once "^1.4.0" -entities@^1.1.1, entities@~1.1.1: +entities@^1.1.1, entities@~1.1.1, entities@~1.1.2: version "1.1.2" resolved "https://registry.yarnpkg.com/entities/-/entities-1.1.2.tgz#bdfa735299664dfafd34529ed4f8522a275fea56" integrity sha512-f2LZMYl1Fzu7YSBKg+RoROelpOaNrcGmE9AZubeDfrCEia483oW4MI4VyFd5VNHIgQ/7qm1I0wUHK1eJnn2y2w== @@ -1769,6 +1799,11 @@ ip-regex@^1.0.1: resolved "https://registry.yarnpkg.com/ip-regex/-/ip-regex-1.0.3.tgz#dc589076f659f419c222039a33316f1c7387effd" integrity sha1-3FiQdvZZ9BnCIgOaMzFvHHOH7/0= +ip-regex@^4.1.0: + version "4.1.0" + resolved "https://registry.yarnpkg.com/ip-regex/-/ip-regex-4.1.0.tgz#5ad62f685a14edb421abebc2fff8db94df67b455" + integrity sha512-pKnZpbgCTfH/1NLIlOduP/V+WRXzC2MOz3Qo8xmxk8C5GudJLgK5QyLVXOSWy3ParAH7Eemurl3xjv/WXYFvMA== + ipaddr.js@1.8.0: version "1.8.0" resolved "https://registry.yarnpkg.com/ipaddr.js/-/ipaddr.js-1.8.0.tgz#eaa33d6ddd7ace8f7f6fe0c9ca0440e706738b1e" @@ -1779,6 +1814,11 @@ is-absolute-url@^2.0.0: resolved "https://registry.yarnpkg.com/is-absolute-url/-/is-absolute-url-2.1.0.tgz#50530dfb84fcc9aa7dbe7852e83a37b93b9f2aa6" integrity sha1-UFMN+4T8yap9vnhS6Do3uTufKqY= +is-absolute-url@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/is-absolute-url/-/is-absolute-url-3.0.0.tgz#eb21d69df2ed8ef72a3e6f243e216563036a0913" + integrity sha512-3OkP8XrM2Xq4/IxsJnClfMp3OaM3TAatLPLKPeWcxLBTrpe6hihwtX+XZfJTcXg/FTRi4qjy0y/C5qiyNxY24g== + is-accessor-descriptor@^0.1.6: version "0.1.6" resolved "https://registry.yarnpkg.com/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz#a9e12cb3ae8d876727eeef3843f8a0897b5c98d6" @@ -1975,6 +2015,13 @@ is-relative-url@~2.0.0: dependencies: is-absolute-url "^2.0.0" +is-relative-url@~3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/is-relative-url/-/is-relative-url-3.0.0.tgz#f623c8e26baa5bd3742b3b7ec074f50f3b45b3f3" + integrity sha512-U1iSYRlY2GIMGuZx7gezlB5dp1Kheaym7zKzO1PV06mOihiWTXejLwm4poEJysPyXF+HtK/BEd0DVlcCh30pEA== + dependencies: + is-absolute-url "^3.0.0" + is-retry-allowed@^1.0.0: version "1.1.0" resolved "https://registry.yarnpkg.com/is-retry-allowed/-/is-retry-allowed-1.1.0.tgz#11a060568b67339444033d0125a61a20d564fb34" @@ -2030,6 +2077,11 @@ iso-639-3@~1.1.0: resolved "https://registry.yarnpkg.com/iso-639-3/-/iso-639-3-1.1.0.tgz#83722daf55490a707c318ae18a33ba3bab06c843" integrity sha512-l3BAnxNpyRIZA4mEzI2md/YVrxQ3hI8hiQe7TFyQknjyOh8vCzobZuAXTFHELco0FBkYRx4FkAlIqkKrHhnzgw== +iso-639-3@~1.2.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/iso-639-3/-/iso-639-3-1.2.0.tgz#eee1f5e6ca2bbb33e3ecc910857c1c12e8b295be" + integrity sha512-jNvD2P4JHNckQH7pc0R0SQ4oPCpyEtgs0nTtjB+DZCUDdygz0cOAxlcnq5KgNjjsqMHbR4Sbgwz2+DflzAZvlQ== + isobject@^2.0.0: version "2.1.0" resolved "https://registry.yarnpkg.com/isobject/-/isobject-2.1.0.tgz#f065561096a3f1da2ef46272f815c840d87e0c89" @@ -2184,6 +2236,13 @@ make-dir@^1.0.0: dependencies: pify "^3.0.0" +map-age-cleaner@^0.1.3: + version "0.1.3" + resolved "https://registry.yarnpkg.com/map-age-cleaner/-/map-age-cleaner-0.1.3.tgz#7d583a7306434c055fe474b0f45078e6e1b4b92a" + integrity sha512-bJzx6nMoP6PDLPBFmg7+xRKeFZvFboMrGlxmNj9ClvX53KrmvM5bXFXEWjbz4cz1AFn+jWJ9z/DJSz7hrs0w3w== + dependencies: + p-defer "^1.0.0" + map-cache@^0.2.2: version "0.2.2" resolved "https://registry.yarnpkg.com/map-cache/-/map-cache-0.2.2.tgz#c32abd0bd6525d9b051645bb4f26ac5dc98a0dbf" @@ -2201,6 +2260,15 @@ media-typer@0.3.0: resolved "https://registry.yarnpkg.com/media-typer/-/media-typer-0.3.0.tgz#8710d7af0aa626f8fffa1ce00168545263255748" integrity sha1-hxDXrwqmJvj/+hzgAWhUUmMlV0g= +mem@~5.1.0: + version "5.1.1" + resolved "https://registry.yarnpkg.com/mem/-/mem-5.1.1.tgz#7059b67bf9ac2c924c9f1cff7155a064394adfb3" + integrity sha512-qvwipnozMohxLXG1pOqoLiZKNkC4r4qqRucSoDwXowsNGDSULiqFTRUF05vcZWnwJSG22qTsynQhxbaMtnX9gw== + dependencies: + map-age-cleaner "^0.1.3" + mimic-fn "^2.1.0" + p-is-promise "^2.1.0" + merge-descriptors@1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/merge-descriptors/-/merge-descriptors-1.0.1.tgz#b00aaa556dd8b44568150ec9d1b953f3f90cbb61" @@ -2311,12 +2379,12 @@ metascraper-url@^4.8.5: dependencies: "@metascraper/helpers" "^4.8.5" -metascraper-video@^4.8.5: - version "4.8.5" - resolved "https://registry.yarnpkg.com/metascraper-video/-/metascraper-video-4.8.5.tgz#d70129ea04889ce9dfcd4216ea71757b4ea1390b" - integrity sha512-EWWcaFYUChHoA2Q9dbALTHB0sETRlDaendGDCXrJo2fQHlBiO/iioCiuUvTJg1UDCF1hFlNWxsBqSBxO9d2wvA== +metascraper-video@^5.5.0: + version "5.5.0" + resolved "https://registry.yarnpkg.com/metascraper-video/-/metascraper-video-5.5.0.tgz#b12995c4d235cb9dd92cb87e43ba3bdbc945b56d" + integrity sha512-FOqnOCRB7Y2xfSu9Apag2kdL4kjbN2J68UQd9+E65pFtel4xHbPfJ16/+CTJyX7svzIc90zr9+1n4hHGiI1dkg== dependencies: - "@metascraper/helpers" "^4.8.5" + "@metascraper/helpers" "^5.5.0" lodash "~4.17.11" metascraper-youtube@^4.8.5: @@ -2365,6 +2433,11 @@ micromatch@^3.1.10, micromatch@^3.1.4: snapdragon "^0.8.1" to-regex "^3.0.2" +mime-db@1.40.0: + version "1.40.0" + resolved "https://registry.yarnpkg.com/mime-db/-/mime-db-1.40.0.tgz#a65057e998db090f732a68f6c276d387d4126c32" + integrity sha512-jYdeOMPy9vnxEqFRRo6ZvTZ8d9oPb+k18PKoYNYUe2stVEBPPwsln/qWzdbmaIvnhZ9v2P+CuecK+fpUfsV2mA== + mime-db@~1.37.0: version "1.37.0" resolved "https://registry.yarnpkg.com/mime-db/-/mime-db-1.37.0.tgz#0b6a0ce6fdbe9576e25f1f2d2fde8830dc0ad0d8" @@ -2389,11 +2462,23 @@ mime-types@~2.1.22: dependencies: mime-db "~1.38.0" +mime-types@~2.1.24: + version "2.1.24" + resolved "https://registry.yarnpkg.com/mime-types/-/mime-types-2.1.24.tgz#b6f8d0b3e951efb77dedeca194cff6d16f676f81" + integrity sha512-WaFHS3MCl5fapm3oLxU4eYDw77IQM2ACcxQ9RIxfaC3ooc6PFuBMGZZsYpvoXS5D5QTWPieo1jjLdAm3TBP3cQ== + dependencies: + mime-db "1.40.0" + mime@1.4.1: version "1.4.1" resolved "https://registry.yarnpkg.com/mime/-/mime-1.4.1.tgz#121f9ebc49e3766f311a76e1fa1c8003c4b03aa6" integrity sha512-KI1+qOZu5DcW6wayYHSzR/tXKCDC5Om4s1z2QJjDULzLcmf3DvzS7oluY4HCTrc+9FiKmWUgeNLg7W3uIQvxtQ== +mimic-fn@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/mimic-fn/-/mimic-fn-2.1.0.tgz#7ed2c2ccccaf84d3ffcb7a69b57711fc2083401b" + integrity sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg== + mimic-fn@~2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/mimic-fn/-/mimic-fn-2.0.0.tgz#0913ff0b121db44ef5848242c38bbb35d44cabde" @@ -2576,6 +2661,11 @@ normalize-url@~4.2.0: resolved "https://registry.yarnpkg.com/normalize-url/-/normalize-url-4.2.0.tgz#e747f16b58e6d7f391495fd86415fa04ec7c9897" integrity sha512-n69+KXI+kZApR+sPwSkoAXpGlNkaiYyoHHqKOFPjJWvwZpew/EjKvuPE4+tStNgb42z5yLtdakgZCQI+LalSPg== +normalize-url@~4.3.0: + version "4.3.0" + resolved "https://registry.yarnpkg.com/normalize-url/-/normalize-url-4.3.0.tgz#9c49e10fc1876aeb76dba88bf1b2b5d9fa57b2ee" + integrity sha512-0NLtR71o4k6GLP+mr6Ty34c5GA6CMoEsncKJxvQd8NzPxaHRJNnb5gZE8R1XF4CPIS7QPHLJ74IFszwtNVAHVQ== + npm-bundled@^1.0.1: version "1.0.5" resolved "https://registry.yarnpkg.com/npm-bundled/-/npm-bundled-1.0.5.tgz#3c1732b7ba936b3a10325aef616467c0ccbcc979" @@ -2713,11 +2803,21 @@ p-cancelable@^1.0.0: resolved "https://registry.yarnpkg.com/p-cancelable/-/p-cancelable-1.0.0.tgz#07e9c6d22c31f9c6784cb4f1e1454a79b6d9e2d6" integrity sha512-USgPoaC6tkTGlS831CxsVdmZmyb8tR1D+hStI84MyckLOzfJlYQUweomrwE3D8T7u5u5GVuW064LT501wHTYYA== +p-defer@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/p-defer/-/p-defer-1.0.0.tgz#9f6eb182f6c9aa8cd743004a7d4f96b196b0fb0c" + integrity sha1-n26xgvbJqozXQwBKfU+WsZaw+ww= + p-finally@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/p-finally/-/p-finally-1.0.0.tgz#3fbcfb15b899a44123b34b6dcc18b724336a2cae" integrity sha1-P7z7FbiZpEEjs0ttzBi3JDNqLK4= +p-is-promise@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/p-is-promise/-/p-is-promise-2.1.0.tgz#918cebaea248a62cf7ffab8e3bca8c5f882fc42e" + integrity sha512-Y3W0wlRPK8ZMRbNq97l4M5otioeA5lm1z7bkNkxCka8HSPjR0xRWmpCmc9utiaLP9Jb1eD8BgeIxTW4AIF45Pg== + p-limit@^2.0.0: version "2.1.0" resolved "https://registry.yarnpkg.com/p-limit/-/p-limit-2.1.0.tgz#1d5a0d20fb12707c758a655f6bbc4386b5930d68" @@ -3459,7 +3559,7 @@ titleize@1.0.0: resolved "https://registry.yarnpkg.com/titleize/-/titleize-1.0.0.tgz#7d350722061830ba6617631e0cfd3ea08398d95a" integrity sha1-fTUHIgYYMLpmF2MeDP0+oIOY2Vo= -tlds@^1.187.0: +tlds@^1.187.0, tlds@^1.203.0: version "1.203.1" resolved "https://registry.yarnpkg.com/tlds/-/tlds-1.203.1.tgz#4dc9b02f53de3315bc98b80665e13de3edfc1dfc" integrity sha512-7MUlYyGJ6rSitEZ3r1Q1QNV8uSIzapS8SmmhSusBuIc7uIxPPwsKllEP0GRp1NS6Ik6F+fRZvnjDWm3ecv2hDw== @@ -3541,6 +3641,11 @@ truncate@~2.0.1: resolved "https://registry.yarnpkg.com/truncate/-/truncate-2.0.1.tgz#dd1a6d15630515663d8475f6f24edf2f800ebb1b" integrity sha1-3RptFWMFFWY9hHX28k7fL4AOuxs= +truncate@~2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/truncate/-/truncate-2.1.0.tgz#391183563a25cffbd4d613a1d00ae5844c9e55d3" + integrity sha512-em3E3SUDONOjTBcZ36DTm3RvDded3IRU9rX32oHwwXNt3rJD5MVaFlJTQvs8tJoHRoeYP36OuQ1eL/Q7bNEWIQ== + tunnel-agent@^0.6.0: version "0.6.0" resolved "https://registry.yarnpkg.com/tunnel-agent/-/tunnel-agent-0.6.0.tgz#27a5dea06b36b04a0a9966774b290868f0fc40fd" @@ -3666,6 +3771,14 @@ url-regex@~4.1.1: ip-regex "^1.0.1" tlds "^1.187.0" +url-regex@~5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/url-regex/-/url-regex-5.0.0.tgz#8f5456ab83d898d18b2f91753a702649b873273a" + integrity sha512-O08GjTiAFNsSlrUWfqF1jH0H1W3m35ZyadHrGv5krdnmPPoxP27oDTqux/579PtaroiSGm5yma6KT1mHFH6Y/g== + dependencies: + ip-regex "^4.1.0" + tlds "^1.203.0" + use@^3.1.0: version "3.1.1" resolved "https://registry.yarnpkg.com/use/-/use-3.1.1.tgz#d50c8cac79a19fbc20f2911f56eb973f4e10070f" From b7ef87e24e00497af1ec5fafb85b24ae21efc3ca Mon Sep 17 00:00:00 2001 From: "dependabot-preview[bot]" <27856297+dependabot-preview[bot]@users.noreply.github.com> Date: Tue, 2 Jul 2019 19:56:04 +0000 Subject: [PATCH 030/169] Bump metascraper-logo from 4.8.5 to 5.5.0 Bumps [metascraper-logo](https://github.com/microlinkhq/metascraper) from 4.8.5 to 5.5.0. - [Release notes](https://github.com/microlinkhq/metascraper/releases) - [Changelog](https://github.com/microlinkhq/metascraper/blob/master/CHANGELOG.md) - [Commits](https://github.com/microlinkhq/metascraper/compare/v4.8.5...v5.5.0) Signed-off-by: dependabot-preview[bot] --- package.json | 2 +- yarn.lock | 127 ++++++++++++++++++++++++++++++++++++++++++++++++--- 2 files changed, 121 insertions(+), 8 deletions(-) diff --git a/package.json b/package.json index 2028fc435..b29f7483e 100644 --- a/package.json +++ b/package.json @@ -37,7 +37,7 @@ "metascraper-image": "^4.8.5", "metascraper-lang": "^4.8.5", "metascraper-lang-detector": "^4.8.5", - "metascraper-logo": "^4.8.5", + "metascraper-logo": "^5.5.0", "metascraper-logo-favicon": "^4.8.5", "metascraper-publisher": "^4.8.5", "metascraper-soundcloud": "^4.8.5", diff --git a/yarn.lock b/yarn.lock index f70892040..f36fd5d89 100644 --- a/yarn.lock +++ b/yarn.lock @@ -37,6 +37,31 @@ url-regex "~4.1.1" video-extensions "~1.1.0" +"@metascraper/helpers@^5.5.0": + version "5.5.0" + resolved "https://registry.yarnpkg.com/@metascraper/helpers/-/helpers-5.5.0.tgz#38033895e404f3913791047b85b457ee84804880" + integrity sha512-VdWKWxcYVd3uzPNxr4Aucl+LSmvLzwgrvF+EIX6pNN+n66mMjimnVSTENQaWo7/aYOxF7IPyC9aBlIq9C1JDXA== + dependencies: + audio-extensions "0.0.0" + chrono-node "~1.3.11" + condense-whitespace "~2.0.0" + entities "~1.1.2" + file-extension "~4.0.5" + image-extensions "~1.1.0" + is-relative-url "~3.0.0" + is-uri "~1.2.0" + iso-639-3 "~1.2.0" + isostring "0.0.1" + lodash "~4.17.11" + mem "~5.1.0" + mime-types "~2.1.24" + normalize-url "~4.3.0" + smartquotes "~2.3.1" + title "~3.4.1" + truncate "~2.1.0" + url-regex "~5.0.0" + video-extensions "~1.1.0" + "@protobufjs/aspromise@^1.1.1", "@protobufjs/aspromise@^1.1.2": version "1.1.2" resolved "https://registry.yarnpkg.com/@protobufjs/aspromise/-/aspromise-1.1.2.tgz#9b8b0cc663d669a7d8f6f5d0893a14d348f30fbf" @@ -836,6 +861,11 @@ condense-whitespace@~1.0.0: resolved "https://registry.yarnpkg.com/condense-whitespace/-/condense-whitespace-1.0.0.tgz#8376d98ef028e6cb2cd2468e28ce42c5c65ab1a9" integrity sha1-g3bZjvAo5sss0kaOKM5CxcZasak= +condense-whitespace@~2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/condense-whitespace/-/condense-whitespace-2.0.0.tgz#94e9644938f66aa7be4b8849f8f0b3cec97d6b3a" + integrity sha512-Ath9o58/0rxZXbyoy3zZgrVMoIemi30sukG/btuMKCLyqfQt3dNOWc9N3EHEMa2Q3i0tXQPDJluYFLwy7pJuQw== + configstore@^3.0.0: version "3.1.2" resolved "https://registry.yarnpkg.com/configstore/-/configstore-3.1.2.tgz#c6f25defaeef26df12dd33414b001fe81a543f8f" @@ -1120,7 +1150,7 @@ end-of-stream@^1.1.0: dependencies: once "^1.4.0" -entities@^1.1.1, entities@~1.1.1: +entities@^1.1.1, entities@~1.1.1, entities@~1.1.2: version "1.1.2" resolved "https://registry.yarnpkg.com/entities/-/entities-1.1.2.tgz#bdfa735299664dfafd34529ed4f8522a275fea56" integrity sha512-f2LZMYl1Fzu7YSBKg+RoROelpOaNrcGmE9AZubeDfrCEia483oW4MI4VyFd5VNHIgQ/7qm1I0wUHK1eJnn2y2w== @@ -1769,6 +1799,11 @@ ip-regex@^1.0.1: resolved "https://registry.yarnpkg.com/ip-regex/-/ip-regex-1.0.3.tgz#dc589076f659f419c222039a33316f1c7387effd" integrity sha1-3FiQdvZZ9BnCIgOaMzFvHHOH7/0= +ip-regex@^4.1.0: + version "4.1.0" + resolved "https://registry.yarnpkg.com/ip-regex/-/ip-regex-4.1.0.tgz#5ad62f685a14edb421abebc2fff8db94df67b455" + integrity sha512-pKnZpbgCTfH/1NLIlOduP/V+WRXzC2MOz3Qo8xmxk8C5GudJLgK5QyLVXOSWy3ParAH7Eemurl3xjv/WXYFvMA== + ipaddr.js@1.8.0: version "1.8.0" resolved "https://registry.yarnpkg.com/ipaddr.js/-/ipaddr.js-1.8.0.tgz#eaa33d6ddd7ace8f7f6fe0c9ca0440e706738b1e" @@ -1779,6 +1814,11 @@ is-absolute-url@^2.0.0: resolved "https://registry.yarnpkg.com/is-absolute-url/-/is-absolute-url-2.1.0.tgz#50530dfb84fcc9aa7dbe7852e83a37b93b9f2aa6" integrity sha1-UFMN+4T8yap9vnhS6Do3uTufKqY= +is-absolute-url@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/is-absolute-url/-/is-absolute-url-3.0.0.tgz#eb21d69df2ed8ef72a3e6f243e216563036a0913" + integrity sha512-3OkP8XrM2Xq4/IxsJnClfMp3OaM3TAatLPLKPeWcxLBTrpe6hihwtX+XZfJTcXg/FTRi4qjy0y/C5qiyNxY24g== + is-accessor-descriptor@^0.1.6: version "0.1.6" resolved "https://registry.yarnpkg.com/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz#a9e12cb3ae8d876727eeef3843f8a0897b5c98d6" @@ -1975,6 +2015,13 @@ is-relative-url@~2.0.0: dependencies: is-absolute-url "^2.0.0" +is-relative-url@~3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/is-relative-url/-/is-relative-url-3.0.0.tgz#f623c8e26baa5bd3742b3b7ec074f50f3b45b3f3" + integrity sha512-U1iSYRlY2GIMGuZx7gezlB5dp1Kheaym7zKzO1PV06mOihiWTXejLwm4poEJysPyXF+HtK/BEd0DVlcCh30pEA== + dependencies: + is-absolute-url "^3.0.0" + is-retry-allowed@^1.0.0: version "1.1.0" resolved "https://registry.yarnpkg.com/is-retry-allowed/-/is-retry-allowed-1.1.0.tgz#11a060568b67339444033d0125a61a20d564fb34" @@ -2030,6 +2077,11 @@ iso-639-3@~1.1.0: resolved "https://registry.yarnpkg.com/iso-639-3/-/iso-639-3-1.1.0.tgz#83722daf55490a707c318ae18a33ba3bab06c843" integrity sha512-l3BAnxNpyRIZA4mEzI2md/YVrxQ3hI8hiQe7TFyQknjyOh8vCzobZuAXTFHELco0FBkYRx4FkAlIqkKrHhnzgw== +iso-639-3@~1.2.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/iso-639-3/-/iso-639-3-1.2.0.tgz#eee1f5e6ca2bbb33e3ecc910857c1c12e8b295be" + integrity sha512-jNvD2P4JHNckQH7pc0R0SQ4oPCpyEtgs0nTtjB+DZCUDdygz0cOAxlcnq5KgNjjsqMHbR4Sbgwz2+DflzAZvlQ== + isobject@^2.0.0: version "2.1.0" resolved "https://registry.yarnpkg.com/isobject/-/isobject-2.1.0.tgz#f065561096a3f1da2ef46272f815c840d87e0c89" @@ -2184,6 +2236,13 @@ make-dir@^1.0.0: dependencies: pify "^3.0.0" +map-age-cleaner@^0.1.3: + version "0.1.3" + resolved "https://registry.yarnpkg.com/map-age-cleaner/-/map-age-cleaner-0.1.3.tgz#7d583a7306434c055fe474b0f45078e6e1b4b92a" + integrity sha512-bJzx6nMoP6PDLPBFmg7+xRKeFZvFboMrGlxmNj9ClvX53KrmvM5bXFXEWjbz4cz1AFn+jWJ9z/DJSz7hrs0w3w== + dependencies: + p-defer "^1.0.0" + map-cache@^0.2.2: version "0.2.2" resolved "https://registry.yarnpkg.com/map-cache/-/map-cache-0.2.2.tgz#c32abd0bd6525d9b051645bb4f26ac5dc98a0dbf" @@ -2201,6 +2260,15 @@ media-typer@0.3.0: resolved "https://registry.yarnpkg.com/media-typer/-/media-typer-0.3.0.tgz#8710d7af0aa626f8fffa1ce00168545263255748" integrity sha1-hxDXrwqmJvj/+hzgAWhUUmMlV0g= +mem@~5.1.0: + version "5.1.1" + resolved "https://registry.yarnpkg.com/mem/-/mem-5.1.1.tgz#7059b67bf9ac2c924c9f1cff7155a064394adfb3" + integrity sha512-qvwipnozMohxLXG1pOqoLiZKNkC4r4qqRucSoDwXowsNGDSULiqFTRUF05vcZWnwJSG22qTsynQhxbaMtnX9gw== + dependencies: + map-age-cleaner "^0.1.3" + mimic-fn "^2.1.0" + p-is-promise "^2.1.0" + merge-descriptors@1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/merge-descriptors/-/merge-descriptors-1.0.1.tgz#b00aaa556dd8b44568150ec9d1b953f3f90cbb61" @@ -2275,12 +2343,12 @@ metascraper-logo-favicon@^4.8.5: got "~9.5.0" lodash "~4.17.11" -metascraper-logo@^4.8.5: - version "4.8.5" - resolved "https://registry.yarnpkg.com/metascraper-logo/-/metascraper-logo-4.8.5.tgz#45cb44618e41a5b69c9da8fb28ae4061281b2033" - integrity sha512-fu6Ff9niFt+2HdZgaAI3B5LOIf5BTXA80sE2p+9iW4w3BH15r6N+N42COmVtjHAyJSxYpEWzlF0E3+hnR9qp1g== +metascraper-logo@^5.5.0: + version "5.5.0" + resolved "https://registry.yarnpkg.com/metascraper-logo/-/metascraper-logo-5.5.0.tgz#3c69bfe6e12c09501193aefc195cfb8e00f6580c" + integrity sha512-MnnJX4zUouaRv7NBJPiEwOMWgHTp/50GgDJzAsR6HHnxHGh0jRSx6vg1zb8QotNFhWu4ev68so39IXCYVD3aHA== dependencies: - "@metascraper/helpers" "^4.8.5" + "@metascraper/helpers" "^5.5.0" metascraper-publisher@^4.8.5: version "4.8.5" @@ -2365,6 +2433,11 @@ micromatch@^3.1.10, micromatch@^3.1.4: snapdragon "^0.8.1" to-regex "^3.0.2" +mime-db@1.40.0: + version "1.40.0" + resolved "https://registry.yarnpkg.com/mime-db/-/mime-db-1.40.0.tgz#a65057e998db090f732a68f6c276d387d4126c32" + integrity sha512-jYdeOMPy9vnxEqFRRo6ZvTZ8d9oPb+k18PKoYNYUe2stVEBPPwsln/qWzdbmaIvnhZ9v2P+CuecK+fpUfsV2mA== + mime-db@~1.37.0: version "1.37.0" resolved "https://registry.yarnpkg.com/mime-db/-/mime-db-1.37.0.tgz#0b6a0ce6fdbe9576e25f1f2d2fde8830dc0ad0d8" @@ -2389,11 +2462,23 @@ mime-types@~2.1.22: dependencies: mime-db "~1.38.0" +mime-types@~2.1.24: + version "2.1.24" + resolved "https://registry.yarnpkg.com/mime-types/-/mime-types-2.1.24.tgz#b6f8d0b3e951efb77dedeca194cff6d16f676f81" + integrity sha512-WaFHS3MCl5fapm3oLxU4eYDw77IQM2ACcxQ9RIxfaC3ooc6PFuBMGZZsYpvoXS5D5QTWPieo1jjLdAm3TBP3cQ== + dependencies: + mime-db "1.40.0" + mime@1.4.1: version "1.4.1" resolved "https://registry.yarnpkg.com/mime/-/mime-1.4.1.tgz#121f9ebc49e3766f311a76e1fa1c8003c4b03aa6" integrity sha512-KI1+qOZu5DcW6wayYHSzR/tXKCDC5Om4s1z2QJjDULzLcmf3DvzS7oluY4HCTrc+9FiKmWUgeNLg7W3uIQvxtQ== +mimic-fn@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/mimic-fn/-/mimic-fn-2.1.0.tgz#7ed2c2ccccaf84d3ffcb7a69b57711fc2083401b" + integrity sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg== + mimic-fn@~2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/mimic-fn/-/mimic-fn-2.0.0.tgz#0913ff0b121db44ef5848242c38bbb35d44cabde" @@ -2576,6 +2661,11 @@ normalize-url@~4.2.0: resolved "https://registry.yarnpkg.com/normalize-url/-/normalize-url-4.2.0.tgz#e747f16b58e6d7f391495fd86415fa04ec7c9897" integrity sha512-n69+KXI+kZApR+sPwSkoAXpGlNkaiYyoHHqKOFPjJWvwZpew/EjKvuPE4+tStNgb42z5yLtdakgZCQI+LalSPg== +normalize-url@~4.3.0: + version "4.3.0" + resolved "https://registry.yarnpkg.com/normalize-url/-/normalize-url-4.3.0.tgz#9c49e10fc1876aeb76dba88bf1b2b5d9fa57b2ee" + integrity sha512-0NLtR71o4k6GLP+mr6Ty34c5GA6CMoEsncKJxvQd8NzPxaHRJNnb5gZE8R1XF4CPIS7QPHLJ74IFszwtNVAHVQ== + npm-bundled@^1.0.1: version "1.0.5" resolved "https://registry.yarnpkg.com/npm-bundled/-/npm-bundled-1.0.5.tgz#3c1732b7ba936b3a10325aef616467c0ccbcc979" @@ -2713,11 +2803,21 @@ p-cancelable@^1.0.0: resolved "https://registry.yarnpkg.com/p-cancelable/-/p-cancelable-1.0.0.tgz#07e9c6d22c31f9c6784cb4f1e1454a79b6d9e2d6" integrity sha512-USgPoaC6tkTGlS831CxsVdmZmyb8tR1D+hStI84MyckLOzfJlYQUweomrwE3D8T7u5u5GVuW064LT501wHTYYA== +p-defer@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/p-defer/-/p-defer-1.0.0.tgz#9f6eb182f6c9aa8cd743004a7d4f96b196b0fb0c" + integrity sha1-n26xgvbJqozXQwBKfU+WsZaw+ww= + p-finally@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/p-finally/-/p-finally-1.0.0.tgz#3fbcfb15b899a44123b34b6dcc18b724336a2cae" integrity sha1-P7z7FbiZpEEjs0ttzBi3JDNqLK4= +p-is-promise@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/p-is-promise/-/p-is-promise-2.1.0.tgz#918cebaea248a62cf7ffab8e3bca8c5f882fc42e" + integrity sha512-Y3W0wlRPK8ZMRbNq97l4M5otioeA5lm1z7bkNkxCka8HSPjR0xRWmpCmc9utiaLP9Jb1eD8BgeIxTW4AIF45Pg== + p-limit@^2.0.0: version "2.1.0" resolved "https://registry.yarnpkg.com/p-limit/-/p-limit-2.1.0.tgz#1d5a0d20fb12707c758a655f6bbc4386b5930d68" @@ -3459,7 +3559,7 @@ titleize@1.0.0: resolved "https://registry.yarnpkg.com/titleize/-/titleize-1.0.0.tgz#7d350722061830ba6617631e0cfd3ea08398d95a" integrity sha1-fTUHIgYYMLpmF2MeDP0+oIOY2Vo= -tlds@^1.187.0: +tlds@^1.187.0, tlds@^1.203.0: version "1.203.1" resolved "https://registry.yarnpkg.com/tlds/-/tlds-1.203.1.tgz#4dc9b02f53de3315bc98b80665e13de3edfc1dfc" integrity sha512-7MUlYyGJ6rSitEZ3r1Q1QNV8uSIzapS8SmmhSusBuIc7uIxPPwsKllEP0GRp1NS6Ik6F+fRZvnjDWm3ecv2hDw== @@ -3541,6 +3641,11 @@ truncate@~2.0.1: resolved "https://registry.yarnpkg.com/truncate/-/truncate-2.0.1.tgz#dd1a6d15630515663d8475f6f24edf2f800ebb1b" integrity sha1-3RptFWMFFWY9hHX28k7fL4AOuxs= +truncate@~2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/truncate/-/truncate-2.1.0.tgz#391183563a25cffbd4d613a1d00ae5844c9e55d3" + integrity sha512-em3E3SUDONOjTBcZ36DTm3RvDded3IRU9rX32oHwwXNt3rJD5MVaFlJTQvs8tJoHRoeYP36OuQ1eL/Q7bNEWIQ== + tunnel-agent@^0.6.0: version "0.6.0" resolved "https://registry.yarnpkg.com/tunnel-agent/-/tunnel-agent-0.6.0.tgz#27a5dea06b36b04a0a9966774b290868f0fc40fd" @@ -3666,6 +3771,14 @@ url-regex@~4.1.1: ip-regex "^1.0.1" tlds "^1.187.0" +url-regex@~5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/url-regex/-/url-regex-5.0.0.tgz#8f5456ab83d898d18b2f91753a702649b873273a" + integrity sha512-O08GjTiAFNsSlrUWfqF1jH0H1W3m35ZyadHrGv5krdnmPPoxP27oDTqux/579PtaroiSGm5yma6KT1mHFH6Y/g== + dependencies: + ip-regex "^4.1.0" + tlds "^1.203.0" + use@^3.1.0: version "3.1.1" resolved "https://registry.yarnpkg.com/use/-/use-3.1.1.tgz#d50c8cac79a19fbc20f2911f56eb973f4e10070f" From d1efdad55e8bef3d96f1d2737ff9778a5df6b9c6 Mon Sep 17 00:00:00 2001 From: "dependabot-preview[bot]" <27856297+dependabot-preview[bot]@users.noreply.github.com> Date: Tue, 2 Jul 2019 19:56:08 +0000 Subject: [PATCH 031/169] Bump metascraper-description from 4.8.5 to 5.5.0 Bumps [metascraper-description](https://github.com/microlinkhq/metascraper) from 4.8.5 to 5.5.0. - [Release notes](https://github.com/microlinkhq/metascraper/releases) - [Changelog](https://github.com/microlinkhq/metascraper/blob/master/CHANGELOG.md) - [Commits](https://github.com/microlinkhq/metascraper/compare/v4.8.5...v5.5.0) Signed-off-by: dependabot-preview[bot] --- package.json | 2 +- yarn.lock | 127 ++++++++++++++++++++++++++++++++++++++++++++++++--- 2 files changed, 121 insertions(+), 8 deletions(-) diff --git a/package.json b/package.json index 2028fc435..d16bf64f3 100644 --- a/package.json +++ b/package.json @@ -33,7 +33,7 @@ "metascraper-author": "^4.8.5", "metascraper-clearbit-logo": "^4.8.5", "metascraper-date": "^4.8.5", - "metascraper-description": "^4.8.5", + "metascraper-description": "^5.5.0", "metascraper-image": "^4.8.5", "metascraper-lang": "^4.8.5", "metascraper-lang-detector": "^4.8.5", diff --git a/yarn.lock b/yarn.lock index f70892040..f851a7c7c 100644 --- a/yarn.lock +++ b/yarn.lock @@ -37,6 +37,31 @@ url-regex "~4.1.1" video-extensions "~1.1.0" +"@metascraper/helpers@^5.5.0": + version "5.5.0" + resolved "https://registry.yarnpkg.com/@metascraper/helpers/-/helpers-5.5.0.tgz#38033895e404f3913791047b85b457ee84804880" + integrity sha512-VdWKWxcYVd3uzPNxr4Aucl+LSmvLzwgrvF+EIX6pNN+n66mMjimnVSTENQaWo7/aYOxF7IPyC9aBlIq9C1JDXA== + dependencies: + audio-extensions "0.0.0" + chrono-node "~1.3.11" + condense-whitespace "~2.0.0" + entities "~1.1.2" + file-extension "~4.0.5" + image-extensions "~1.1.0" + is-relative-url "~3.0.0" + is-uri "~1.2.0" + iso-639-3 "~1.2.0" + isostring "0.0.1" + lodash "~4.17.11" + mem "~5.1.0" + mime-types "~2.1.24" + normalize-url "~4.3.0" + smartquotes "~2.3.1" + title "~3.4.1" + truncate "~2.1.0" + url-regex "~5.0.0" + video-extensions "~1.1.0" + "@protobufjs/aspromise@^1.1.1", "@protobufjs/aspromise@^1.1.2": version "1.1.2" resolved "https://registry.yarnpkg.com/@protobufjs/aspromise/-/aspromise-1.1.2.tgz#9b8b0cc663d669a7d8f6f5d0893a14d348f30fbf" @@ -836,6 +861,11 @@ condense-whitespace@~1.0.0: resolved "https://registry.yarnpkg.com/condense-whitespace/-/condense-whitespace-1.0.0.tgz#8376d98ef028e6cb2cd2468e28ce42c5c65ab1a9" integrity sha1-g3bZjvAo5sss0kaOKM5CxcZasak= +condense-whitespace@~2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/condense-whitespace/-/condense-whitespace-2.0.0.tgz#94e9644938f66aa7be4b8849f8f0b3cec97d6b3a" + integrity sha512-Ath9o58/0rxZXbyoy3zZgrVMoIemi30sukG/btuMKCLyqfQt3dNOWc9N3EHEMa2Q3i0tXQPDJluYFLwy7pJuQw== + configstore@^3.0.0: version "3.1.2" resolved "https://registry.yarnpkg.com/configstore/-/configstore-3.1.2.tgz#c6f25defaeef26df12dd33414b001fe81a543f8f" @@ -1120,7 +1150,7 @@ end-of-stream@^1.1.0: dependencies: once "^1.4.0" -entities@^1.1.1, entities@~1.1.1: +entities@^1.1.1, entities@~1.1.1, entities@~1.1.2: version "1.1.2" resolved "https://registry.yarnpkg.com/entities/-/entities-1.1.2.tgz#bdfa735299664dfafd34529ed4f8522a275fea56" integrity sha512-f2LZMYl1Fzu7YSBKg+RoROelpOaNrcGmE9AZubeDfrCEia483oW4MI4VyFd5VNHIgQ/7qm1I0wUHK1eJnn2y2w== @@ -1769,6 +1799,11 @@ ip-regex@^1.0.1: resolved "https://registry.yarnpkg.com/ip-regex/-/ip-regex-1.0.3.tgz#dc589076f659f419c222039a33316f1c7387effd" integrity sha1-3FiQdvZZ9BnCIgOaMzFvHHOH7/0= +ip-regex@^4.1.0: + version "4.1.0" + resolved "https://registry.yarnpkg.com/ip-regex/-/ip-regex-4.1.0.tgz#5ad62f685a14edb421abebc2fff8db94df67b455" + integrity sha512-pKnZpbgCTfH/1NLIlOduP/V+WRXzC2MOz3Qo8xmxk8C5GudJLgK5QyLVXOSWy3ParAH7Eemurl3xjv/WXYFvMA== + ipaddr.js@1.8.0: version "1.8.0" resolved "https://registry.yarnpkg.com/ipaddr.js/-/ipaddr.js-1.8.0.tgz#eaa33d6ddd7ace8f7f6fe0c9ca0440e706738b1e" @@ -1779,6 +1814,11 @@ is-absolute-url@^2.0.0: resolved "https://registry.yarnpkg.com/is-absolute-url/-/is-absolute-url-2.1.0.tgz#50530dfb84fcc9aa7dbe7852e83a37b93b9f2aa6" integrity sha1-UFMN+4T8yap9vnhS6Do3uTufKqY= +is-absolute-url@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/is-absolute-url/-/is-absolute-url-3.0.0.tgz#eb21d69df2ed8ef72a3e6f243e216563036a0913" + integrity sha512-3OkP8XrM2Xq4/IxsJnClfMp3OaM3TAatLPLKPeWcxLBTrpe6hihwtX+XZfJTcXg/FTRi4qjy0y/C5qiyNxY24g== + is-accessor-descriptor@^0.1.6: version "0.1.6" resolved "https://registry.yarnpkg.com/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz#a9e12cb3ae8d876727eeef3843f8a0897b5c98d6" @@ -1975,6 +2015,13 @@ is-relative-url@~2.0.0: dependencies: is-absolute-url "^2.0.0" +is-relative-url@~3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/is-relative-url/-/is-relative-url-3.0.0.tgz#f623c8e26baa5bd3742b3b7ec074f50f3b45b3f3" + integrity sha512-U1iSYRlY2GIMGuZx7gezlB5dp1Kheaym7zKzO1PV06mOihiWTXejLwm4poEJysPyXF+HtK/BEd0DVlcCh30pEA== + dependencies: + is-absolute-url "^3.0.0" + is-retry-allowed@^1.0.0: version "1.1.0" resolved "https://registry.yarnpkg.com/is-retry-allowed/-/is-retry-allowed-1.1.0.tgz#11a060568b67339444033d0125a61a20d564fb34" @@ -2030,6 +2077,11 @@ iso-639-3@~1.1.0: resolved "https://registry.yarnpkg.com/iso-639-3/-/iso-639-3-1.1.0.tgz#83722daf55490a707c318ae18a33ba3bab06c843" integrity sha512-l3BAnxNpyRIZA4mEzI2md/YVrxQ3hI8hiQe7TFyQknjyOh8vCzobZuAXTFHELco0FBkYRx4FkAlIqkKrHhnzgw== +iso-639-3@~1.2.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/iso-639-3/-/iso-639-3-1.2.0.tgz#eee1f5e6ca2bbb33e3ecc910857c1c12e8b295be" + integrity sha512-jNvD2P4JHNckQH7pc0R0SQ4oPCpyEtgs0nTtjB+DZCUDdygz0cOAxlcnq5KgNjjsqMHbR4Sbgwz2+DflzAZvlQ== + isobject@^2.0.0: version "2.1.0" resolved "https://registry.yarnpkg.com/isobject/-/isobject-2.1.0.tgz#f065561096a3f1da2ef46272f815c840d87e0c89" @@ -2184,6 +2236,13 @@ make-dir@^1.0.0: dependencies: pify "^3.0.0" +map-age-cleaner@^0.1.3: + version "0.1.3" + resolved "https://registry.yarnpkg.com/map-age-cleaner/-/map-age-cleaner-0.1.3.tgz#7d583a7306434c055fe474b0f45078e6e1b4b92a" + integrity sha512-bJzx6nMoP6PDLPBFmg7+xRKeFZvFboMrGlxmNj9ClvX53KrmvM5bXFXEWjbz4cz1AFn+jWJ9z/DJSz7hrs0w3w== + dependencies: + p-defer "^1.0.0" + map-cache@^0.2.2: version "0.2.2" resolved "https://registry.yarnpkg.com/map-cache/-/map-cache-0.2.2.tgz#c32abd0bd6525d9b051645bb4f26ac5dc98a0dbf" @@ -2201,6 +2260,15 @@ media-typer@0.3.0: resolved "https://registry.yarnpkg.com/media-typer/-/media-typer-0.3.0.tgz#8710d7af0aa626f8fffa1ce00168545263255748" integrity sha1-hxDXrwqmJvj/+hzgAWhUUmMlV0g= +mem@~5.1.0: + version "5.1.1" + resolved "https://registry.yarnpkg.com/mem/-/mem-5.1.1.tgz#7059b67bf9ac2c924c9f1cff7155a064394adfb3" + integrity sha512-qvwipnozMohxLXG1pOqoLiZKNkC4r4qqRucSoDwXowsNGDSULiqFTRUF05vcZWnwJSG22qTsynQhxbaMtnX9gw== + dependencies: + map-age-cleaner "^0.1.3" + mimic-fn "^2.1.0" + p-is-promise "^2.1.0" + merge-descriptors@1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/merge-descriptors/-/merge-descriptors-1.0.1.tgz#b00aaa556dd8b44568150ec9d1b953f3f90cbb61" @@ -2236,12 +2304,12 @@ metascraper-date@^4.8.5: dependencies: "@metascraper/helpers" "^4.8.5" -metascraper-description@^4.8.5: - version "4.8.5" - resolved "https://registry.yarnpkg.com/metascraper-description/-/metascraper-description-4.8.5.tgz#9155b5c7f64e997f8f12209e0140e7de25614e01" - integrity sha512-0oPEiRXgAyJoQstEPgua0OZ4wD35Htf1oSMzJvejn6rYdfXaeI8RREVtsL/TsUmizyf/iKlneslnfH4/+iN42g== +metascraper-description@^5.5.0: + version "5.5.0" + resolved "https://registry.yarnpkg.com/metascraper-description/-/metascraper-description-5.5.0.tgz#ccea262aee9513de3f9de7006256f3ff06028282" + integrity sha512-HgAm1JEE3cYbMGZFOWrAaZQp0nwVifIcYA/DQsFRBWhS47Yb5XgnRIWnxYrww6dnPwMzmveCqxpzyi94lD5+/g== dependencies: - "@metascraper/helpers" "^4.8.5" + "@metascraper/helpers" "^5.5.0" metascraper-image@^4.8.5: version "4.8.5" @@ -2365,6 +2433,11 @@ micromatch@^3.1.10, micromatch@^3.1.4: snapdragon "^0.8.1" to-regex "^3.0.2" +mime-db@1.40.0: + version "1.40.0" + resolved "https://registry.yarnpkg.com/mime-db/-/mime-db-1.40.0.tgz#a65057e998db090f732a68f6c276d387d4126c32" + integrity sha512-jYdeOMPy9vnxEqFRRo6ZvTZ8d9oPb+k18PKoYNYUe2stVEBPPwsln/qWzdbmaIvnhZ9v2P+CuecK+fpUfsV2mA== + mime-db@~1.37.0: version "1.37.0" resolved "https://registry.yarnpkg.com/mime-db/-/mime-db-1.37.0.tgz#0b6a0ce6fdbe9576e25f1f2d2fde8830dc0ad0d8" @@ -2389,11 +2462,23 @@ mime-types@~2.1.22: dependencies: mime-db "~1.38.0" +mime-types@~2.1.24: + version "2.1.24" + resolved "https://registry.yarnpkg.com/mime-types/-/mime-types-2.1.24.tgz#b6f8d0b3e951efb77dedeca194cff6d16f676f81" + integrity sha512-WaFHS3MCl5fapm3oLxU4eYDw77IQM2ACcxQ9RIxfaC3ooc6PFuBMGZZsYpvoXS5D5QTWPieo1jjLdAm3TBP3cQ== + dependencies: + mime-db "1.40.0" + mime@1.4.1: version "1.4.1" resolved "https://registry.yarnpkg.com/mime/-/mime-1.4.1.tgz#121f9ebc49e3766f311a76e1fa1c8003c4b03aa6" integrity sha512-KI1+qOZu5DcW6wayYHSzR/tXKCDC5Om4s1z2QJjDULzLcmf3DvzS7oluY4HCTrc+9FiKmWUgeNLg7W3uIQvxtQ== +mimic-fn@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/mimic-fn/-/mimic-fn-2.1.0.tgz#7ed2c2ccccaf84d3ffcb7a69b57711fc2083401b" + integrity sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg== + mimic-fn@~2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/mimic-fn/-/mimic-fn-2.0.0.tgz#0913ff0b121db44ef5848242c38bbb35d44cabde" @@ -2576,6 +2661,11 @@ normalize-url@~4.2.0: resolved "https://registry.yarnpkg.com/normalize-url/-/normalize-url-4.2.0.tgz#e747f16b58e6d7f391495fd86415fa04ec7c9897" integrity sha512-n69+KXI+kZApR+sPwSkoAXpGlNkaiYyoHHqKOFPjJWvwZpew/EjKvuPE4+tStNgb42z5yLtdakgZCQI+LalSPg== +normalize-url@~4.3.0: + version "4.3.0" + resolved "https://registry.yarnpkg.com/normalize-url/-/normalize-url-4.3.0.tgz#9c49e10fc1876aeb76dba88bf1b2b5d9fa57b2ee" + integrity sha512-0NLtR71o4k6GLP+mr6Ty34c5GA6CMoEsncKJxvQd8NzPxaHRJNnb5gZE8R1XF4CPIS7QPHLJ74IFszwtNVAHVQ== + npm-bundled@^1.0.1: version "1.0.5" resolved "https://registry.yarnpkg.com/npm-bundled/-/npm-bundled-1.0.5.tgz#3c1732b7ba936b3a10325aef616467c0ccbcc979" @@ -2713,11 +2803,21 @@ p-cancelable@^1.0.0: resolved "https://registry.yarnpkg.com/p-cancelable/-/p-cancelable-1.0.0.tgz#07e9c6d22c31f9c6784cb4f1e1454a79b6d9e2d6" integrity sha512-USgPoaC6tkTGlS831CxsVdmZmyb8tR1D+hStI84MyckLOzfJlYQUweomrwE3D8T7u5u5GVuW064LT501wHTYYA== +p-defer@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/p-defer/-/p-defer-1.0.0.tgz#9f6eb182f6c9aa8cd743004a7d4f96b196b0fb0c" + integrity sha1-n26xgvbJqozXQwBKfU+WsZaw+ww= + p-finally@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/p-finally/-/p-finally-1.0.0.tgz#3fbcfb15b899a44123b34b6dcc18b724336a2cae" integrity sha1-P7z7FbiZpEEjs0ttzBi3JDNqLK4= +p-is-promise@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/p-is-promise/-/p-is-promise-2.1.0.tgz#918cebaea248a62cf7ffab8e3bca8c5f882fc42e" + integrity sha512-Y3W0wlRPK8ZMRbNq97l4M5otioeA5lm1z7bkNkxCka8HSPjR0xRWmpCmc9utiaLP9Jb1eD8BgeIxTW4AIF45Pg== + p-limit@^2.0.0: version "2.1.0" resolved "https://registry.yarnpkg.com/p-limit/-/p-limit-2.1.0.tgz#1d5a0d20fb12707c758a655f6bbc4386b5930d68" @@ -3459,7 +3559,7 @@ titleize@1.0.0: resolved "https://registry.yarnpkg.com/titleize/-/titleize-1.0.0.tgz#7d350722061830ba6617631e0cfd3ea08398d95a" integrity sha1-fTUHIgYYMLpmF2MeDP0+oIOY2Vo= -tlds@^1.187.0: +tlds@^1.187.0, tlds@^1.203.0: version "1.203.1" resolved "https://registry.yarnpkg.com/tlds/-/tlds-1.203.1.tgz#4dc9b02f53de3315bc98b80665e13de3edfc1dfc" integrity sha512-7MUlYyGJ6rSitEZ3r1Q1QNV8uSIzapS8SmmhSusBuIc7uIxPPwsKllEP0GRp1NS6Ik6F+fRZvnjDWm3ecv2hDw== @@ -3541,6 +3641,11 @@ truncate@~2.0.1: resolved "https://registry.yarnpkg.com/truncate/-/truncate-2.0.1.tgz#dd1a6d15630515663d8475f6f24edf2f800ebb1b" integrity sha1-3RptFWMFFWY9hHX28k7fL4AOuxs= +truncate@~2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/truncate/-/truncate-2.1.0.tgz#391183563a25cffbd4d613a1d00ae5844c9e55d3" + integrity sha512-em3E3SUDONOjTBcZ36DTm3RvDded3IRU9rX32oHwwXNt3rJD5MVaFlJTQvs8tJoHRoeYP36OuQ1eL/Q7bNEWIQ== + tunnel-agent@^0.6.0: version "0.6.0" resolved "https://registry.yarnpkg.com/tunnel-agent/-/tunnel-agent-0.6.0.tgz#27a5dea06b36b04a0a9966774b290868f0fc40fd" @@ -3666,6 +3771,14 @@ url-regex@~4.1.1: ip-regex "^1.0.1" tlds "^1.187.0" +url-regex@~5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/url-regex/-/url-regex-5.0.0.tgz#8f5456ab83d898d18b2f91753a702649b873273a" + integrity sha512-O08GjTiAFNsSlrUWfqF1jH0H1W3m35ZyadHrGv5krdnmPPoxP27oDTqux/579PtaroiSGm5yma6KT1mHFH6Y/g== + dependencies: + ip-regex "^4.1.0" + tlds "^1.203.0" + use@^3.1.0: version "3.1.1" resolved "https://registry.yarnpkg.com/use/-/use-3.1.1.tgz#d50c8cac79a19fbc20f2911f56eb973f4e10070f" From 82dcc99b6c9e6dd6de93e8f3d5b5cb83afd8561c Mon Sep 17 00:00:00 2001 From: "dependabot-preview[bot]" <27856297+dependabot-preview[bot]@users.noreply.github.com> Date: Tue, 2 Jul 2019 19:56:08 +0000 Subject: [PATCH 032/169] Bump metascraper-audio from 4.8.5 to 5.5.0 Bumps [metascraper-audio](https://github.com/microlinkhq/metascraper) from 4.8.5 to 5.5.0. - [Release notes](https://github.com/microlinkhq/metascraper/releases) - [Changelog](https://github.com/microlinkhq/metascraper/blob/master/CHANGELOG.md) - [Commits](https://github.com/microlinkhq/metascraper/compare/v4.8.5...v5.5.0) Signed-off-by: dependabot-preview[bot] --- package.json | 2 +- yarn.lock | 127 ++++++++++++++++++++++++++++++++++++++++++++++++--- 2 files changed, 121 insertions(+), 8 deletions(-) diff --git a/package.json b/package.json index 2028fc435..1715834f1 100644 --- a/package.json +++ b/package.json @@ -29,7 +29,7 @@ "graphql": "^14.0.2", "lodash": "^4.17.11", "metascraper": "^4.10.3", - "metascraper-audio": "^4.8.5", + "metascraper-audio": "^5.5.0", "metascraper-author": "^4.8.5", "metascraper-clearbit-logo": "^4.8.5", "metascraper-date": "^4.8.5", diff --git a/yarn.lock b/yarn.lock index f70892040..5017882aa 100644 --- a/yarn.lock +++ b/yarn.lock @@ -37,6 +37,31 @@ url-regex "~4.1.1" video-extensions "~1.1.0" +"@metascraper/helpers@^5.5.0": + version "5.5.0" + resolved "https://registry.yarnpkg.com/@metascraper/helpers/-/helpers-5.5.0.tgz#38033895e404f3913791047b85b457ee84804880" + integrity sha512-VdWKWxcYVd3uzPNxr4Aucl+LSmvLzwgrvF+EIX6pNN+n66mMjimnVSTENQaWo7/aYOxF7IPyC9aBlIq9C1JDXA== + dependencies: + audio-extensions "0.0.0" + chrono-node "~1.3.11" + condense-whitespace "~2.0.0" + entities "~1.1.2" + file-extension "~4.0.5" + image-extensions "~1.1.0" + is-relative-url "~3.0.0" + is-uri "~1.2.0" + iso-639-3 "~1.2.0" + isostring "0.0.1" + lodash "~4.17.11" + mem "~5.1.0" + mime-types "~2.1.24" + normalize-url "~4.3.0" + smartquotes "~2.3.1" + title "~3.4.1" + truncate "~2.1.0" + url-regex "~5.0.0" + video-extensions "~1.1.0" + "@protobufjs/aspromise@^1.1.1", "@protobufjs/aspromise@^1.1.2": version "1.1.2" resolved "https://registry.yarnpkg.com/@protobufjs/aspromise/-/aspromise-1.1.2.tgz#9b8b0cc663d669a7d8f6f5d0893a14d348f30fbf" @@ -836,6 +861,11 @@ condense-whitespace@~1.0.0: resolved "https://registry.yarnpkg.com/condense-whitespace/-/condense-whitespace-1.0.0.tgz#8376d98ef028e6cb2cd2468e28ce42c5c65ab1a9" integrity sha1-g3bZjvAo5sss0kaOKM5CxcZasak= +condense-whitespace@~2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/condense-whitespace/-/condense-whitespace-2.0.0.tgz#94e9644938f66aa7be4b8849f8f0b3cec97d6b3a" + integrity sha512-Ath9o58/0rxZXbyoy3zZgrVMoIemi30sukG/btuMKCLyqfQt3dNOWc9N3EHEMa2Q3i0tXQPDJluYFLwy7pJuQw== + configstore@^3.0.0: version "3.1.2" resolved "https://registry.yarnpkg.com/configstore/-/configstore-3.1.2.tgz#c6f25defaeef26df12dd33414b001fe81a543f8f" @@ -1120,7 +1150,7 @@ end-of-stream@^1.1.0: dependencies: once "^1.4.0" -entities@^1.1.1, entities@~1.1.1: +entities@^1.1.1, entities@~1.1.1, entities@~1.1.2: version "1.1.2" resolved "https://registry.yarnpkg.com/entities/-/entities-1.1.2.tgz#bdfa735299664dfafd34529ed4f8522a275fea56" integrity sha512-f2LZMYl1Fzu7YSBKg+RoROelpOaNrcGmE9AZubeDfrCEia483oW4MI4VyFd5VNHIgQ/7qm1I0wUHK1eJnn2y2w== @@ -1769,6 +1799,11 @@ ip-regex@^1.0.1: resolved "https://registry.yarnpkg.com/ip-regex/-/ip-regex-1.0.3.tgz#dc589076f659f419c222039a33316f1c7387effd" integrity sha1-3FiQdvZZ9BnCIgOaMzFvHHOH7/0= +ip-regex@^4.1.0: + version "4.1.0" + resolved "https://registry.yarnpkg.com/ip-regex/-/ip-regex-4.1.0.tgz#5ad62f685a14edb421abebc2fff8db94df67b455" + integrity sha512-pKnZpbgCTfH/1NLIlOduP/V+WRXzC2MOz3Qo8xmxk8C5GudJLgK5QyLVXOSWy3ParAH7Eemurl3xjv/WXYFvMA== + ipaddr.js@1.8.0: version "1.8.0" resolved "https://registry.yarnpkg.com/ipaddr.js/-/ipaddr.js-1.8.0.tgz#eaa33d6ddd7ace8f7f6fe0c9ca0440e706738b1e" @@ -1779,6 +1814,11 @@ is-absolute-url@^2.0.0: resolved "https://registry.yarnpkg.com/is-absolute-url/-/is-absolute-url-2.1.0.tgz#50530dfb84fcc9aa7dbe7852e83a37b93b9f2aa6" integrity sha1-UFMN+4T8yap9vnhS6Do3uTufKqY= +is-absolute-url@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/is-absolute-url/-/is-absolute-url-3.0.0.tgz#eb21d69df2ed8ef72a3e6f243e216563036a0913" + integrity sha512-3OkP8XrM2Xq4/IxsJnClfMp3OaM3TAatLPLKPeWcxLBTrpe6hihwtX+XZfJTcXg/FTRi4qjy0y/C5qiyNxY24g== + is-accessor-descriptor@^0.1.6: version "0.1.6" resolved "https://registry.yarnpkg.com/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz#a9e12cb3ae8d876727eeef3843f8a0897b5c98d6" @@ -1975,6 +2015,13 @@ is-relative-url@~2.0.0: dependencies: is-absolute-url "^2.0.0" +is-relative-url@~3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/is-relative-url/-/is-relative-url-3.0.0.tgz#f623c8e26baa5bd3742b3b7ec074f50f3b45b3f3" + integrity sha512-U1iSYRlY2GIMGuZx7gezlB5dp1Kheaym7zKzO1PV06mOihiWTXejLwm4poEJysPyXF+HtK/BEd0DVlcCh30pEA== + dependencies: + is-absolute-url "^3.0.0" + is-retry-allowed@^1.0.0: version "1.1.0" resolved "https://registry.yarnpkg.com/is-retry-allowed/-/is-retry-allowed-1.1.0.tgz#11a060568b67339444033d0125a61a20d564fb34" @@ -2030,6 +2077,11 @@ iso-639-3@~1.1.0: resolved "https://registry.yarnpkg.com/iso-639-3/-/iso-639-3-1.1.0.tgz#83722daf55490a707c318ae18a33ba3bab06c843" integrity sha512-l3BAnxNpyRIZA4mEzI2md/YVrxQ3hI8hiQe7TFyQknjyOh8vCzobZuAXTFHELco0FBkYRx4FkAlIqkKrHhnzgw== +iso-639-3@~1.2.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/iso-639-3/-/iso-639-3-1.2.0.tgz#eee1f5e6ca2bbb33e3ecc910857c1c12e8b295be" + integrity sha512-jNvD2P4JHNckQH7pc0R0SQ4oPCpyEtgs0nTtjB+DZCUDdygz0cOAxlcnq5KgNjjsqMHbR4Sbgwz2+DflzAZvlQ== + isobject@^2.0.0: version "2.1.0" resolved "https://registry.yarnpkg.com/isobject/-/isobject-2.1.0.tgz#f065561096a3f1da2ef46272f815c840d87e0c89" @@ -2184,6 +2236,13 @@ make-dir@^1.0.0: dependencies: pify "^3.0.0" +map-age-cleaner@^0.1.3: + version "0.1.3" + resolved "https://registry.yarnpkg.com/map-age-cleaner/-/map-age-cleaner-0.1.3.tgz#7d583a7306434c055fe474b0f45078e6e1b4b92a" + integrity sha512-bJzx6nMoP6PDLPBFmg7+xRKeFZvFboMrGlxmNj9ClvX53KrmvM5bXFXEWjbz4cz1AFn+jWJ9z/DJSz7hrs0w3w== + dependencies: + p-defer "^1.0.0" + map-cache@^0.2.2: version "0.2.2" resolved "https://registry.yarnpkg.com/map-cache/-/map-cache-0.2.2.tgz#c32abd0bd6525d9b051645bb4f26ac5dc98a0dbf" @@ -2201,17 +2260,26 @@ media-typer@0.3.0: resolved "https://registry.yarnpkg.com/media-typer/-/media-typer-0.3.0.tgz#8710d7af0aa626f8fffa1ce00168545263255748" integrity sha1-hxDXrwqmJvj/+hzgAWhUUmMlV0g= +mem@~5.1.0: + version "5.1.1" + resolved "https://registry.yarnpkg.com/mem/-/mem-5.1.1.tgz#7059b67bf9ac2c924c9f1cff7155a064394adfb3" + integrity sha512-qvwipnozMohxLXG1pOqoLiZKNkC4r4qqRucSoDwXowsNGDSULiqFTRUF05vcZWnwJSG22qTsynQhxbaMtnX9gw== + dependencies: + map-age-cleaner "^0.1.3" + mimic-fn "^2.1.0" + p-is-promise "^2.1.0" + merge-descriptors@1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/merge-descriptors/-/merge-descriptors-1.0.1.tgz#b00aaa556dd8b44568150ec9d1b953f3f90cbb61" integrity sha1-sAqqVW3YtEVoFQ7J0blT8/kMu2E= -metascraper-audio@^4.8.5: - version "4.8.5" - resolved "https://registry.yarnpkg.com/metascraper-audio/-/metascraper-audio-4.8.5.tgz#1738fdac2f5731f5172edca233834b087c9f4c29" - integrity sha512-GuoYuE/+fEkKYOsd658iYlRo2XOWqxKKZM6yMPKnpSOXWJSySZWhfmPoFkz40tadwfBWx01nKnIwwopmiZFXEQ== +metascraper-audio@^5.5.0: + version "5.5.0" + resolved "https://registry.yarnpkg.com/metascraper-audio/-/metascraper-audio-5.5.0.tgz#e8515b25964555271270049356795f1d5f48aeef" + integrity sha512-gsSwLbHUzqZNPro+ld2fr9xzUKn5cp1pG428paacnrUnEPlisLiyWBFUkEwgSQR91vKSYsdn9ZUPwTS2GWDTcA== dependencies: - "@metascraper/helpers" "^4.8.5" + "@metascraper/helpers" "^5.5.0" metascraper-author@^4.8.5: version "4.8.5" @@ -2365,6 +2433,11 @@ micromatch@^3.1.10, micromatch@^3.1.4: snapdragon "^0.8.1" to-regex "^3.0.2" +mime-db@1.40.0: + version "1.40.0" + resolved "https://registry.yarnpkg.com/mime-db/-/mime-db-1.40.0.tgz#a65057e998db090f732a68f6c276d387d4126c32" + integrity sha512-jYdeOMPy9vnxEqFRRo6ZvTZ8d9oPb+k18PKoYNYUe2stVEBPPwsln/qWzdbmaIvnhZ9v2P+CuecK+fpUfsV2mA== + mime-db@~1.37.0: version "1.37.0" resolved "https://registry.yarnpkg.com/mime-db/-/mime-db-1.37.0.tgz#0b6a0ce6fdbe9576e25f1f2d2fde8830dc0ad0d8" @@ -2389,11 +2462,23 @@ mime-types@~2.1.22: dependencies: mime-db "~1.38.0" +mime-types@~2.1.24: + version "2.1.24" + resolved "https://registry.yarnpkg.com/mime-types/-/mime-types-2.1.24.tgz#b6f8d0b3e951efb77dedeca194cff6d16f676f81" + integrity sha512-WaFHS3MCl5fapm3oLxU4eYDw77IQM2ACcxQ9RIxfaC3ooc6PFuBMGZZsYpvoXS5D5QTWPieo1jjLdAm3TBP3cQ== + dependencies: + mime-db "1.40.0" + mime@1.4.1: version "1.4.1" resolved "https://registry.yarnpkg.com/mime/-/mime-1.4.1.tgz#121f9ebc49e3766f311a76e1fa1c8003c4b03aa6" integrity sha512-KI1+qOZu5DcW6wayYHSzR/tXKCDC5Om4s1z2QJjDULzLcmf3DvzS7oluY4HCTrc+9FiKmWUgeNLg7W3uIQvxtQ== +mimic-fn@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/mimic-fn/-/mimic-fn-2.1.0.tgz#7ed2c2ccccaf84d3ffcb7a69b57711fc2083401b" + integrity sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg== + mimic-fn@~2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/mimic-fn/-/mimic-fn-2.0.0.tgz#0913ff0b121db44ef5848242c38bbb35d44cabde" @@ -2576,6 +2661,11 @@ normalize-url@~4.2.0: resolved "https://registry.yarnpkg.com/normalize-url/-/normalize-url-4.2.0.tgz#e747f16b58e6d7f391495fd86415fa04ec7c9897" integrity sha512-n69+KXI+kZApR+sPwSkoAXpGlNkaiYyoHHqKOFPjJWvwZpew/EjKvuPE4+tStNgb42z5yLtdakgZCQI+LalSPg== +normalize-url@~4.3.0: + version "4.3.0" + resolved "https://registry.yarnpkg.com/normalize-url/-/normalize-url-4.3.0.tgz#9c49e10fc1876aeb76dba88bf1b2b5d9fa57b2ee" + integrity sha512-0NLtR71o4k6GLP+mr6Ty34c5GA6CMoEsncKJxvQd8NzPxaHRJNnb5gZE8R1XF4CPIS7QPHLJ74IFszwtNVAHVQ== + npm-bundled@^1.0.1: version "1.0.5" resolved "https://registry.yarnpkg.com/npm-bundled/-/npm-bundled-1.0.5.tgz#3c1732b7ba936b3a10325aef616467c0ccbcc979" @@ -2713,11 +2803,21 @@ p-cancelable@^1.0.0: resolved "https://registry.yarnpkg.com/p-cancelable/-/p-cancelable-1.0.0.tgz#07e9c6d22c31f9c6784cb4f1e1454a79b6d9e2d6" integrity sha512-USgPoaC6tkTGlS831CxsVdmZmyb8tR1D+hStI84MyckLOzfJlYQUweomrwE3D8T7u5u5GVuW064LT501wHTYYA== +p-defer@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/p-defer/-/p-defer-1.0.0.tgz#9f6eb182f6c9aa8cd743004a7d4f96b196b0fb0c" + integrity sha1-n26xgvbJqozXQwBKfU+WsZaw+ww= + p-finally@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/p-finally/-/p-finally-1.0.0.tgz#3fbcfb15b899a44123b34b6dcc18b724336a2cae" integrity sha1-P7z7FbiZpEEjs0ttzBi3JDNqLK4= +p-is-promise@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/p-is-promise/-/p-is-promise-2.1.0.tgz#918cebaea248a62cf7ffab8e3bca8c5f882fc42e" + integrity sha512-Y3W0wlRPK8ZMRbNq97l4M5otioeA5lm1z7bkNkxCka8HSPjR0xRWmpCmc9utiaLP9Jb1eD8BgeIxTW4AIF45Pg== + p-limit@^2.0.0: version "2.1.0" resolved "https://registry.yarnpkg.com/p-limit/-/p-limit-2.1.0.tgz#1d5a0d20fb12707c758a655f6bbc4386b5930d68" @@ -3459,7 +3559,7 @@ titleize@1.0.0: resolved "https://registry.yarnpkg.com/titleize/-/titleize-1.0.0.tgz#7d350722061830ba6617631e0cfd3ea08398d95a" integrity sha1-fTUHIgYYMLpmF2MeDP0+oIOY2Vo= -tlds@^1.187.0: +tlds@^1.187.0, tlds@^1.203.0: version "1.203.1" resolved "https://registry.yarnpkg.com/tlds/-/tlds-1.203.1.tgz#4dc9b02f53de3315bc98b80665e13de3edfc1dfc" integrity sha512-7MUlYyGJ6rSitEZ3r1Q1QNV8uSIzapS8SmmhSusBuIc7uIxPPwsKllEP0GRp1NS6Ik6F+fRZvnjDWm3ecv2hDw== @@ -3541,6 +3641,11 @@ truncate@~2.0.1: resolved "https://registry.yarnpkg.com/truncate/-/truncate-2.0.1.tgz#dd1a6d15630515663d8475f6f24edf2f800ebb1b" integrity sha1-3RptFWMFFWY9hHX28k7fL4AOuxs= +truncate@~2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/truncate/-/truncate-2.1.0.tgz#391183563a25cffbd4d613a1d00ae5844c9e55d3" + integrity sha512-em3E3SUDONOjTBcZ36DTm3RvDded3IRU9rX32oHwwXNt3rJD5MVaFlJTQvs8tJoHRoeYP36OuQ1eL/Q7bNEWIQ== + tunnel-agent@^0.6.0: version "0.6.0" resolved "https://registry.yarnpkg.com/tunnel-agent/-/tunnel-agent-0.6.0.tgz#27a5dea06b36b04a0a9966774b290868f0fc40fd" @@ -3666,6 +3771,14 @@ url-regex@~4.1.1: ip-regex "^1.0.1" tlds "^1.187.0" +url-regex@~5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/url-regex/-/url-regex-5.0.0.tgz#8f5456ab83d898d18b2f91753a702649b873273a" + integrity sha512-O08GjTiAFNsSlrUWfqF1jH0H1W3m35ZyadHrGv5krdnmPPoxP27oDTqux/579PtaroiSGm5yma6KT1mHFH6Y/g== + dependencies: + ip-regex "^4.1.0" + tlds "^1.203.0" + use@^3.1.0: version "3.1.1" resolved "https://registry.yarnpkg.com/use/-/use-3.1.1.tgz#d50c8cac79a19fbc20f2911f56eb973f4e10070f" From af8ed1c007467243f4bd73f1456cc8d73ac0f585 Mon Sep 17 00:00:00 2001 From: "dependabot-preview[bot]" <27856297+dependabot-preview[bot]@users.noreply.github.com> Date: Tue, 2 Jul 2019 19:56:08 +0000 Subject: [PATCH 033/169] Bump apollo-server from 2.3.1 to 2.6.7 Bumps [apollo-server](https://github.com/apollographql/apollo-server) from 2.3.1 to 2.6.7. - [Release notes](https://github.com/apollographql/apollo-server/releases) - [Changelog](https://github.com/apollographql/apollo-server/blob/master/CHANGELOG.md) - [Commits](https://github.com/apollographql/apollo-server/compare/apollo-server@2.3.1...apollo-server@2.6.7) Signed-off-by: dependabot-preview[bot] --- package.json | 2 +- yarn.lock | 256 +++++++++++++++++++++++++++------------------------ 2 files changed, 139 insertions(+), 119 deletions(-) diff --git a/package.json b/package.json index 2028fc435..39b157213 100644 --- a/package.json +++ b/package.json @@ -24,7 +24,7 @@ "homepage": "https://github.com/Human-Connection/Nitro-Embed#readme", "dependencies": { "@metascraper/helpers": "^4.8.5", - "apollo-server": "^2.3.1", + "apollo-server": "^2.6.7", "got": "^9.6.0", "graphql": "^14.0.2", "lodash": "^4.17.11", diff --git a/yarn.lock b/yarn.lock index f70892040..a05c9261d 100644 --- a/yarn.lock +++ b/yarn.lock @@ -2,17 +2,17 @@ # yarn lockfile v1 -"@apollographql/apollo-tools@^0.2.6": - version "0.2.9" - resolved "https://registry.yarnpkg.com/@apollographql/apollo-tools/-/apollo-tools-0.2.9.tgz#1e20999d11728ef47f8f812f2be0426b5dde1a51" - integrity sha512-AEIQwPkS0QLbkpb6WyRhV4aOMxuErasp47ABv5niDKOasQH8mrD8JSGKJAHuQxVe4kB8DE9sLRoc5qeQ0KFCHA== +"@apollographql/apollo-tools@^0.3.6": + version "0.3.7" + resolved "https://registry.yarnpkg.com/@apollographql/apollo-tools/-/apollo-tools-0.3.7.tgz#3bc9c35b9fff65febd4ddc0c1fc04677693a3d40" + integrity sha512-+ertvzAwzkYmuUtT8zH3Zi6jPdyxZwOgnYaZHY7iLnMVJDhQKWlkyjLMF8wyzlPiEdDImVUMm5lOIBZo7LkGlg== dependencies: - apollo-env "0.2.5" + apollo-env "0.5.1" -"@apollographql/graphql-playground-html@^1.6.6": - version "1.6.6" - resolved "https://registry.yarnpkg.com/@apollographql/graphql-playground-html/-/graphql-playground-html-1.6.6.tgz#022209e28a2b547dcde15b219f0c50f47aa5beb3" - integrity sha512-lqK94b+caNtmKFs5oUVXlSpN3sm5IXZ+KfhMxOtr0LR2SqErzkoJilitjDvJ1WbjHlxLI7WtCjRmOLdOGJqtMQ== +"@apollographql/graphql-playground-html@1.6.20": + version "1.6.20" + resolved "https://registry.yarnpkg.com/@apollographql/graphql-playground-html/-/graphql-playground-html-1.6.20.tgz#bf9f2acdf319c0959fad8ec1239741dd2ead4e8d" + integrity sha512-3LWZa80HcP70Pl+H4KhLDJ7S0px+9/c8GTXdl6SpunRecUaB27g/oOQnAjNHLHdbWuGE0uyqcuGiTfbKB3ilaQ== "@metascraper/helpers@^4.10.2", "@metascraper/helpers@^4.8.5": version "4.10.2" @@ -145,7 +145,7 @@ "@types/node" "*" "@types/range-parser" "*" -"@types/express@*", "@types/express@4.16.0": +"@types/express@*": version "4.16.0" resolved "https://registry.yarnpkg.com/@types/express/-/express-4.16.0.tgz#6d8bc42ccaa6f35cf29a2b7c3333cb47b5a32a19" integrity sha512-TtPEYumsmSTtTetAPXlJVf3kEqb6wZK0bZojpJQrnD/djV4q1oB6QQ8aKvKqwNPACoe02GNiy5zDzcYivR5Z2w== @@ -154,6 +154,15 @@ "@types/express-serve-static-core" "*" "@types/serve-static" "*" +"@types/express@4.17.0": + version "4.17.0" + resolved "https://registry.yarnpkg.com/@types/express/-/express-4.17.0.tgz#49eaedb209582a86f12ed9b725160f12d04ef287" + integrity sha512-CjaMu57cjgjuZbh9DpkloeGxV45CnMGlVd+XpG7Gm9QgVrd7KFq+X4HY0vM+2v0bczS48Wg7bvnMY5TN+Xmcfw== + dependencies: + "@types/body-parser" "*" + "@types/express-serve-static-core" "*" + "@types/serve-static" "*" + "@types/long@^4.0.0": version "4.0.0" resolved "https://registry.yarnpkg.com/@types/long/-/long-4.0.0.tgz#719551d2352d301ac8b81db732acb6bdc28dbdef" @@ -253,47 +262,57 @@ anymatch@^2.0.0: micromatch "^3.1.4" normalize-path "^2.1.1" -apollo-cache-control@0.4.0: - version "0.4.0" - resolved "https://registry.yarnpkg.com/apollo-cache-control/-/apollo-cache-control-0.4.0.tgz#fec343e6ec95aa4f1b88e07e62f067bee0c48397" - integrity sha512-WuriaNQIugTE8gYwfBWWCbbQTSKul/cV4JMi5UgqNIUvjHvnKZQLKbt5uYWow6QQNMkLT9hey8QPYkWpogkeSA== +apollo-cache-control@0.7.4: + version "0.7.4" + resolved "https://registry.yarnpkg.com/apollo-cache-control/-/apollo-cache-control-0.7.4.tgz#0cb5c7be0e0dd0c44b1257144cd7f9f2a3c374e6" + integrity sha512-TVACHwcEF4wfHo5H9FLnoNjo0SLDo2jPW+bXs9aw0Y4Z2UisskSAPnIYOqUPnU8SoeNvs7zWgbLizq11SRTJtg== dependencies: - apollo-server-env "2.2.0" - graphql-extensions "0.4.0" + apollo-server-env "2.4.0" + graphql-extensions "0.7.4" -apollo-datasource@0.2.1: - version "0.2.1" - resolved "https://registry.yarnpkg.com/apollo-datasource/-/apollo-datasource-0.2.1.tgz#3ecef4efe64f7a04a43862f32027d38ac09e142c" - integrity sha512-r185+JTa5KuF1INeTAk7AEP76zwMN6c8Ph1lmpzJMNwBUEzTGnLClrccCskCBx4SxfnkdKbuQdwn9JwCJUWrdg== +apollo-datasource@0.5.0: + version "0.5.0" + resolved "https://registry.yarnpkg.com/apollo-datasource/-/apollo-datasource-0.5.0.tgz#7a8c97e23da7b9c15cb65103d63178ab19eca5e9" + integrity sha512-SVXxJyKlWguuDjxkY/WGlC/ykdsTmPxSF0z8FenagcQ91aPURXzXP1ZDz5PbamY+0iiCRubazkxtTQw4GWTFPg== dependencies: - apollo-server-caching "0.2.1" - apollo-server-env "2.2.0" + apollo-server-caching "0.4.0" + apollo-server-env "2.4.0" -apollo-engine-reporting-protobuf@0.2.0: - version "0.2.0" - resolved "https://registry.yarnpkg.com/apollo-engine-reporting-protobuf/-/apollo-engine-reporting-protobuf-0.2.0.tgz#2aaf4d2eddefe7924d469cf1135267bc0deadf73" - integrity sha512-qI+GJKN78UMJ9Aq/ORdiM2qymZ5yswem+/VDdVFocq+/e1QqxjnpKjQWISkswci5+WtpJl9SpHBNxG98uHDKkA== +apollo-engine-reporting-protobuf@0.3.1: + version "0.3.1" + resolved "https://registry.yarnpkg.com/apollo-engine-reporting-protobuf/-/apollo-engine-reporting-protobuf-0.3.1.tgz#a581257fa8e3bb115ce38bf1b22e052d1475ad69" + integrity sha512-Ui3nPG6BSZF8BEqxFs6EkX6mj2OnFLMejxEHSOdM82bakyeouCGd7J0fiy8AD6liJoIyc4X7XfH4ZGGMvMh11A== dependencies: protobufjs "^6.8.6" -apollo-engine-reporting@0.2.0: - version "0.2.0" - resolved "https://registry.yarnpkg.com/apollo-engine-reporting/-/apollo-engine-reporting-0.2.0.tgz#e71816b1f46e782f8538c5a118148d4c0e628e25" - integrity sha512-Q6FfVb10v/nrv8FaFsPjIYlWh62jaYav3LuMgM9PsHWGK/zRQFXOEwLxcY2UCvG7O1moxF3XGmfBhMgo54py+Q== +apollo-engine-reporting@1.3.5: + version "1.3.5" + resolved "https://registry.yarnpkg.com/apollo-engine-reporting/-/apollo-engine-reporting-1.3.5.tgz#075424d39dfe77a20f96e8e33b7ae52d58c38e1e" + integrity sha512-pSwjPgXK/elFsR22LXALtT3jI4fpEpeTNTHgNwLVLohaolusMYgBc/9FnVyFWFfMFS9k+3RmfeQdHhZ6T7WKFQ== dependencies: - apollo-engine-reporting-protobuf "0.2.0" - apollo-server-env "2.2.0" + apollo-engine-reporting-protobuf "0.3.1" + apollo-graphql "^0.3.3" + apollo-server-core "2.6.7" + apollo-server-env "2.4.0" async-retry "^1.2.1" - graphql-extensions "0.4.0" - lodash "^4.17.10" + graphql-extensions "0.7.6" -apollo-env@0.2.5: - version "0.2.5" - resolved "https://registry.yarnpkg.com/apollo-env/-/apollo-env-0.2.5.tgz#162c785bccd2aea69350a7600fab4b7147fc9da5" - integrity sha512-Gc7TEbwCl7jJVutnn8TWfzNSkrrqyoo0DP92BQJFU9pZbJhpidoXf2Sw1YwOJl82rRKH3ujM3C8vdZLOgpFcFA== +apollo-env@0.5.1: + version "0.5.1" + resolved "https://registry.yarnpkg.com/apollo-env/-/apollo-env-0.5.1.tgz#b9b0195c16feadf0fe9fd5563edb0b9b7d9e97d3" + integrity sha512-fndST2xojgSdH02k5hxk1cbqA9Ti8RX4YzzBoAB4oIe1Puhq7+YlhXGXfXB5Y4XN0al8dLg+5nAkyjNAR2qZTw== dependencies: - core-js "^3.0.0-beta.3" + core-js "^3.0.1" node-fetch "^2.2.0" + sha.js "^2.4.11" + +apollo-graphql@^0.3.3: + version "0.3.3" + resolved "https://registry.yarnpkg.com/apollo-graphql/-/apollo-graphql-0.3.3.tgz#ce1df194f6e547ad3ce1e35b42f9c211766e1658" + integrity sha512-t3CO/xIDVsCG2qOvx2MEbuu4b/6LzQjcBBwiVnxclmmFyAxYCIe7rpPlnLHSq7HyOMlCWDMozjoeWfdqYSaLqQ== + dependencies: + apollo-env "0.5.1" + lodash.sortby "^4.7.0" apollo-link@^1.2.3: version "1.2.6" @@ -303,93 +322,93 @@ apollo-link@^1.2.3: apollo-utilities "^1.0.0" zen-observable-ts "^0.8.13" -apollo-server-caching@0.2.1: - version "0.2.1" - resolved "https://registry.yarnpkg.com/apollo-server-caching/-/apollo-server-caching-0.2.1.tgz#7e67f8c8cac829e622b394f0fb82579cabbeadfd" - integrity sha512-+U9F3X297LL8Gqy6ypfDNEv/DfV/tDht9Dr2z3AMaEkNW1bwO6rmdDL01zYxDuVDVq6Z3qSiNCSO2pXE2F0zmA== +apollo-server-caching@0.4.0: + version "0.4.0" + resolved "https://registry.yarnpkg.com/apollo-server-caching/-/apollo-server-caching-0.4.0.tgz#e82917590d723c0adc1fa52900e79e93ad65e4d9" + integrity sha512-GTOZdbLhrSOKYNWMYgaqX5cVNSMT0bGUTZKV8/tYlyYmsB6ey7l6iId3Q7UpHS6F6OR2lstz5XaKZ+T3fDfPzQ== dependencies: lru-cache "^5.0.0" -apollo-server-core@2.3.1: - version "2.3.1" - resolved "https://registry.yarnpkg.com/apollo-server-core/-/apollo-server-core-2.3.1.tgz#cbdc0020a0dfecf2220cf5062dbb304fdf56edf2" - integrity sha512-8jMWYOQIZi9mDJlHe2rXg8Cp4xKYogeRu23jkcNy+k5UjZL+eO+kHXbNFiTaP4HLYYEpe2XE3asxp6q5YUEQeQ== +apollo-server-core@2.6.7: + version "2.6.7" + resolved "https://registry.yarnpkg.com/apollo-server-core/-/apollo-server-core-2.6.7.tgz#85b0310f40cfec43a702569c73af16d88776a6f0" + integrity sha512-HfOGLvEwPgDWTvd3ZKRPEkEnICKb7xadn1Mci4+auMTsL/NVkfpjPa8cdzubi/kS2/MvioIn7Bg74gmiSLghGQ== dependencies: - "@apollographql/apollo-tools" "^0.2.6" - "@apollographql/graphql-playground-html" "^1.6.6" + "@apollographql/apollo-tools" "^0.3.6" + "@apollographql/graphql-playground-html" "1.6.20" "@types/ws" "^6.0.0" - apollo-cache-control "0.4.0" - apollo-datasource "0.2.1" - apollo-engine-reporting "0.2.0" - apollo-server-caching "0.2.1" - apollo-server-env "2.2.0" - apollo-server-errors "2.2.0" - apollo-server-plugin-base "0.2.1" - apollo-tracing "0.4.0" - graphql-extensions "0.4.1" + apollo-cache-control "0.7.4" + apollo-datasource "0.5.0" + apollo-engine-reporting "1.3.5" + apollo-server-caching "0.4.0" + apollo-server-env "2.4.0" + apollo-server-errors "2.3.0" + apollo-server-plugin-base "0.5.6" + apollo-tracing "0.7.3" + fast-json-stable-stringify "^2.0.0" + graphql-extensions "0.7.6" graphql-subscriptions "^1.0.0" graphql-tag "^2.9.2" graphql-tools "^4.0.0" graphql-upload "^8.0.2" - json-stable-stringify "^1.0.1" - lodash "^4.17.10" + sha.js "^2.4.11" subscriptions-transport-ws "^0.9.11" ws "^6.0.0" -apollo-server-env@2.2.0: - version "2.2.0" - resolved "https://registry.yarnpkg.com/apollo-server-env/-/apollo-server-env-2.2.0.tgz#5eec5dbf46581f663fd6692b2e05c7e8ae6d6034" - integrity sha512-wjJiI5nQWPBpNmpiLP389Ezpstp71szS6DHAeTgYLb/ulCw3CTuuA+0/E1bsThVWiQaDeHZE0sE3yI8q2zrYiA== +apollo-server-env@2.4.0: + version "2.4.0" + resolved "https://registry.yarnpkg.com/apollo-server-env/-/apollo-server-env-2.4.0.tgz#6611556c6b627a1636eed31317d4f7ea30705872" + integrity sha512-7ispR68lv92viFeu5zsRUVGP+oxsVI3WeeBNniM22Cx619maBUwcYTIC3+Y3LpXILhLZCzA1FASZwusgSlyN9w== dependencies: node-fetch "^2.1.2" util.promisify "^1.0.0" -apollo-server-errors@2.2.0: - version "2.2.0" - resolved "https://registry.yarnpkg.com/apollo-server-errors/-/apollo-server-errors-2.2.0.tgz#5b452a1d6ff76440eb0f127511dc58031a8f3cb5" - integrity sha512-gV9EZG2tovFtT1cLuCTavnJu2DaKxnXPRNGSTo+SDI6IAk6cdzyW0Gje5N2+3LybI0Wq5KAbW6VLei31S4MWmg== +apollo-server-errors@2.3.0: + version "2.3.0" + resolved "https://registry.yarnpkg.com/apollo-server-errors/-/apollo-server-errors-2.3.0.tgz#700622b66a16dffcad3b017e4796749814edc061" + integrity sha512-rUvzwMo2ZQgzzPh2kcJyfbRSfVKRMhfIlhY7BzUfM4x6ZT0aijlgsf714Ll3Mbf5Fxii32kD0A/DmKsTecpccw== -apollo-server-express@2.3.1: - version "2.3.1" - resolved "https://registry.yarnpkg.com/apollo-server-express/-/apollo-server-express-2.3.1.tgz#0598e2fa0a0d9e6eb570c0bb6ce65c31810a9c09" - integrity sha512-J+rObr4GdT/5j6qTByUJoSvZSjTAX/7VqIkr2t+GxwcVUFGet2MdOHuV6rtWKc8CRgvVKfKN6iBrb2EOFcp2LQ== +apollo-server-express@2.6.7: + version "2.6.7" + resolved "https://registry.yarnpkg.com/apollo-server-express/-/apollo-server-express-2.6.7.tgz#22307e08b75be1553f4099d00028abe52597767d" + integrity sha512-qbCQM+8LxXpwPNN5Sdvcb+Sne8zuCORFt25HJtPJRkHlyBUzOd7JA7SEnUn5e2geTiiGoVIU5leh+++C51udTw== dependencies: - "@apollographql/graphql-playground-html" "^1.6.6" + "@apollographql/graphql-playground-html" "1.6.20" "@types/accepts" "^1.3.5" "@types/body-parser" "1.17.0" "@types/cors" "^2.8.4" - "@types/express" "4.16.0" + "@types/express" "4.17.0" accepts "^1.3.5" - apollo-server-core "2.3.1" + apollo-server-core "2.6.7" body-parser "^1.18.3" cors "^2.8.4" graphql-subscriptions "^1.0.0" graphql-tools "^4.0.0" type-is "^1.6.16" -apollo-server-plugin-base@0.2.1: - version "0.2.1" - resolved "https://registry.yarnpkg.com/apollo-server-plugin-base/-/apollo-server-plugin-base-0.2.1.tgz#d08c9576f7f11ab6e212f352d482faaa4059a31e" - integrity sha512-497NIY9VWRYCrMSkgR11IrIUO4Fsy6aGgnpOJoTdLQAnkDD9SJDSRzwKj4gypUoTT2unfKDng4eMxXVZlHvjOw== +apollo-server-plugin-base@0.5.6: + version "0.5.6" + resolved "https://registry.yarnpkg.com/apollo-server-plugin-base/-/apollo-server-plugin-base-0.5.6.tgz#3a7128437a0f845e7d873fa43ef091ff7bf27975" + integrity sha512-wJvcPqfm/kiBwY5JZT85t2A4pcHv24xdQIpWMNt1zsnx77lIZqJmhsc22eSUSrlnYqUMXC4XMVgSUfAO4oI9wg== -apollo-server@^2.3.1: - version "2.3.1" - resolved "https://registry.yarnpkg.com/apollo-server/-/apollo-server-2.3.1.tgz#4d2b6bbb48b44d86076680304705b8b7ae952d37" - integrity sha512-+S+/BhLJF9Ms99OK9HpC4P6rcVWTobWWKeLSVdgxqG487i/kwMrCAw/ICrDVJGeOGJRi6PndVu9XdHWHuX1lvQ== +apollo-server@^2.6.7: + version "2.6.7" + resolved "https://registry.yarnpkg.com/apollo-server/-/apollo-server-2.6.7.tgz#b707ede529b4d45f2f00a74f3b457658b0e62e83" + integrity sha512-4wk9JykURLed6CnNIj9jhU6ueeTVmGBTyAnnvnlhRrOf50JAFszUErZIKg6lw5vVr5riaByrGFIkMBTySCHgPQ== dependencies: - apollo-server-core "2.3.1" - apollo-server-express "2.3.1" + apollo-server-core "2.6.7" + apollo-server-express "2.6.7" express "^4.0.0" graphql-subscriptions "^1.0.0" graphql-tools "^4.0.0" -apollo-tracing@0.4.0: - version "0.4.0" - resolved "https://registry.yarnpkg.com/apollo-tracing/-/apollo-tracing-0.4.0.tgz#4b939063f4292422ac5a3564b76d1d88dec0a916" - integrity sha512-BlM8iQUQva4fm0xD/pLwkcz0degfB9a/aAn4k4cK36eLVD8XUkl7ptEB0c+cwcj7tOYpV1r5QX1XwdayBzlHSg== +apollo-tracing@0.7.3: + version "0.7.3" + resolved "https://registry.yarnpkg.com/apollo-tracing/-/apollo-tracing-0.7.3.tgz#8533e3e2dca2d5a25e8439ce498ea33ff4d159ee" + integrity sha512-H6fSC+awQGnfDyYdGIB0UQUhcUC3n5Vy+ujacJ0bY6R+vwWeZOQvu7wRHNjk/rbOSTLCo9A0OcVX7huRyu9SZg== dependencies: - apollo-server-env "2.2.0" - graphql-extensions "0.4.0" + apollo-server-env "2.4.0" + graphql-extensions "0.7.4" apollo-utilities@^1.0.0, apollo-utilities@^1.0.1: version "1.0.27" @@ -878,10 +897,10 @@ copy-descriptor@^0.1.0: resolved "https://registry.yarnpkg.com/copy-descriptor/-/copy-descriptor-0.1.1.tgz#676f6eb3c39997c2ee1ac3a924fd6124748f578d" integrity sha1-Z29us8OZl8LuGsOpJP1hJHSPV40= -core-js@^3.0.0-beta.3: - version "3.0.0-beta.6" - resolved "https://registry.yarnpkg.com/core-js/-/core-js-3.0.0-beta.6.tgz#f1ee6c8bd9c1941f992fda01f886b3b40ceb1510" - integrity sha512-06k0SnRTdYGlTNek5vAqfxbQjTtMM0zC2xJ79T1QM5UkZS0JQegrOgDiGh43n1QICnOe5+bcvS0zOGTm2C7rBA== +core-js@^3.0.1: + version "3.1.4" + resolved "https://registry.yarnpkg.com/core-js/-/core-js-3.1.4.tgz#3a2837fc48e582e1ae25907afcd6cf03b0cc7a07" + integrity sha512-YNZN8lt82XIMLnLirj9MhKDFZHalwzzrL9YLt6eb0T5D0EDl4IQ90IGkua8mHbnxNrkj1d8hbdizMc0Qmg1WnQ== core-util-is@1.0.2, core-util-is@~1.0.0: version "1.0.2" @@ -1528,19 +1547,19 @@ graceful-fs@^4.1.11, graceful-fs@^4.1.2: resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.1.15.tgz#ffb703e1066e8a0eeaa4c8b80ba9253eeefbfb00" integrity sha512-6uHUhOPEBgQ24HM+r6b/QwWfZq+yiFcipKFrOFiBEnWdy5sdzYoi+pJeQaPI5qOLRFqWmAXUPQNsielzdLoecA== -graphql-extensions@0.4.0: - version "0.4.0" - resolved "https://registry.yarnpkg.com/graphql-extensions/-/graphql-extensions-0.4.0.tgz#5857c7b7b9f20dbccbfd88730fffa5963b3c61ee" - integrity sha512-8TUgIIUVpXWOcqq9RdmTSHUrhc3a/s+saKv9cCl8TYWHK9vyJIdea7ZaSKHGDthZNcsN+C3LulZYRL3Ah8ukoA== +graphql-extensions@0.7.4: + version "0.7.4" + resolved "https://registry.yarnpkg.com/graphql-extensions/-/graphql-extensions-0.7.4.tgz#78327712822281d5778b9210a55dc59c93a9c184" + integrity sha512-Ly+DiTDU+UtlfPGQkqmBX2SWMr9OT3JxMRwpB9K86rDNDBTJtG6AE2kliQKKE+hg1+945KAimO7Ep+YAvS7ywg== dependencies: - "@apollographql/apollo-tools" "^0.2.6" + "@apollographql/apollo-tools" "^0.3.6" -graphql-extensions@0.4.1: - version "0.4.1" - resolved "https://registry.yarnpkg.com/graphql-extensions/-/graphql-extensions-0.4.1.tgz#92c49a8409ffbfb24559d7661ab60cc90d6086e4" - integrity sha512-Xei4rBxbsTHU6dYiq9y1xxbpRMU3+Os7yD3vXV5W4HbTaxRMizDmu6LAvV4oBEi0ttwICHARQjYTjDTDhHnxrQ== +graphql-extensions@0.7.6: + version "0.7.6" + resolved "https://registry.yarnpkg.com/graphql-extensions/-/graphql-extensions-0.7.6.tgz#80cdddf08b0af12525529d1922ee2ea0d0cc8ecf" + integrity sha512-RV00O3YFD1diehvdja180BlKOGWgeigr/8/Wzr6lXwLcFtk6FecQC/7nf6oW1qhuXczHyNjt/uCr0WWbWq6mYg== dependencies: - "@apollographql/apollo-tools" "^0.2.6" + "@apollographql/apollo-tools" "^0.3.6" graphql-subscriptions@^1.0.0: version "1.0.0" @@ -2077,23 +2096,11 @@ json-schema@0.2.3: resolved "https://registry.yarnpkg.com/json-schema/-/json-schema-0.2.3.tgz#b480c892e59a2f05954ce727bd3f2a4e882f9e13" integrity sha1-tIDIkuWaLwWVTOcnvT8qTogvnhM= -json-stable-stringify@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/json-stable-stringify/-/json-stable-stringify-1.0.1.tgz#9a759d39c5f2ff503fd5300646ed445f88c4f9af" - integrity sha1-mnWdOcXy/1A/1TAGRu1EX4jE+a8= - dependencies: - jsonify "~0.0.0" - json-stringify-safe@~5.0.1: version "5.0.1" resolved "https://registry.yarnpkg.com/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz#1296a2d58fd45f19a0f6ce01d65701e2c735b6eb" integrity sha1-Epai1Y/UXxmg9s4B1lcB4sc1tus= -jsonify@~0.0.0: - version "0.0.0" - resolved "https://registry.yarnpkg.com/jsonify/-/jsonify-0.0.0.tgz#2c74b6ee41d93ca51b7b5aaee8f503631d252a73" - integrity sha1-LHS27kHZPKUbe1qu6PUDYx0lKnM= - jsprim@^1.2.2: version "1.4.1" resolved "https://registry.yarnpkg.com/jsprim/-/jsprim-1.4.1.tgz#313e66bc1e5cc06e438bc1b7499c2e5c56acb6a2" @@ -2147,7 +2154,12 @@ lodash.debounce@^4.0.8: resolved "https://registry.yarnpkg.com/lodash.debounce/-/lodash.debounce-4.0.8.tgz#82d79bff30a67c4005ffd5e2515300ad9ca4d7af" integrity sha1-gteb/zCmfEAF/9XiUVMArZyk168= -lodash@^4.13.1, lodash@^4.15.0, lodash@^4.17.10, lodash@^4.17.11, lodash@~4.17.10, lodash@~4.17.11: +lodash.sortby@^4.7.0: + version "4.7.0" + resolved "https://registry.yarnpkg.com/lodash.sortby/-/lodash.sortby-4.7.0.tgz#edd14c824e2cc9c1e0b0a1b42bb5210516a42438" + integrity sha1-7dFMgk4sycHgsKG0K7UhBRakJDg= + +lodash@^4.13.1, lodash@^4.15.0, lodash@^4.17.11, lodash@~4.17.10, lodash@~4.17.11: version "4.17.11" resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.11.tgz#b39ea6229ef607ecd89e2c8df12536891cac9b8d" integrity sha512-cQKh8igo5QUhZ7lg38DYWAxMvjSAKG0A8wGSVimP07SIUEK2UO+arSRKbRZWtelMtN5V0Hkwh5ryOto/SshYIg== @@ -3206,6 +3218,14 @@ setprototypeof@1.1.0: resolved "https://registry.yarnpkg.com/setprototypeof/-/setprototypeof-1.1.0.tgz#d0bd85536887b6fe7c0d818cb962d9d91c54e656" integrity sha512-BvE/TwpZX4FXExxOxZyRGQQv651MSwmWKZGqvmPcRIjDqWub67kTKuIMx43cZZrS/cBBzwBcNDWoFxt2XEFIpQ== +sha.js@^2.4.11: + version "2.4.11" + resolved "https://registry.yarnpkg.com/sha.js/-/sha.js-2.4.11.tgz#37a5cf0b81ecbc6943de109ba2960d1b26584ae7" + integrity sha512-QMEp5B7cftE7APOjk5Y6xgrbWu+WkLVQwk8JNjZ8nKRciZaByEW6MubieAiToS7+dwvrjGhH8jRXz3MVd0AYqQ== + dependencies: + inherits "^2.0.1" + safe-buffer "^5.0.1" + shebang-command@^1.2.0: version "1.2.0" resolved "https://registry.yarnpkg.com/shebang-command/-/shebang-command-1.2.0.tgz#44aac65b695b03398968c39f363fee5deafdf1ea" From b8725f1591e7c214e65659dd328403b0570c505e Mon Sep 17 00:00:00 2001 From: "dependabot-preview[bot]" <27856297+dependabot-preview[bot]@users.noreply.github.com> Date: Tue, 2 Jul 2019 19:56:09 +0000 Subject: [PATCH 034/169] Bump metascraper-url from 4.8.5 to 5.5.0 Bumps [metascraper-url](https://github.com/microlinkhq/metascraper) from 4.8.5 to 5.5.0. - [Release notes](https://github.com/microlinkhq/metascraper/releases) - [Changelog](https://github.com/microlinkhq/metascraper/blob/master/CHANGELOG.md) - [Commits](https://github.com/microlinkhq/metascraper/compare/v4.8.5...v5.5.0) Signed-off-by: dependabot-preview[bot] --- package.json | 2 +- yarn.lock | 127 ++++++++++++++++++++++++++++++++++++++++++++++++--- 2 files changed, 121 insertions(+), 8 deletions(-) diff --git a/package.json b/package.json index 2028fc435..e4fbe7e47 100644 --- a/package.json +++ b/package.json @@ -42,7 +42,7 @@ "metascraper-publisher": "^4.8.5", "metascraper-soundcloud": "^4.8.5", "metascraper-title": "^4.8.5", - "metascraper-url": "^4.8.5", + "metascraper-url": "^5.5.0", "metascraper-video": "^4.8.5", "metascraper-youtube": "^4.8.5", "request": "^2.88.0", diff --git a/yarn.lock b/yarn.lock index f70892040..25b617619 100644 --- a/yarn.lock +++ b/yarn.lock @@ -37,6 +37,31 @@ url-regex "~4.1.1" video-extensions "~1.1.0" +"@metascraper/helpers@^5.5.0": + version "5.5.0" + resolved "https://registry.yarnpkg.com/@metascraper/helpers/-/helpers-5.5.0.tgz#38033895e404f3913791047b85b457ee84804880" + integrity sha512-VdWKWxcYVd3uzPNxr4Aucl+LSmvLzwgrvF+EIX6pNN+n66mMjimnVSTENQaWo7/aYOxF7IPyC9aBlIq9C1JDXA== + dependencies: + audio-extensions "0.0.0" + chrono-node "~1.3.11" + condense-whitespace "~2.0.0" + entities "~1.1.2" + file-extension "~4.0.5" + image-extensions "~1.1.0" + is-relative-url "~3.0.0" + is-uri "~1.2.0" + iso-639-3 "~1.2.0" + isostring "0.0.1" + lodash "~4.17.11" + mem "~5.1.0" + mime-types "~2.1.24" + normalize-url "~4.3.0" + smartquotes "~2.3.1" + title "~3.4.1" + truncate "~2.1.0" + url-regex "~5.0.0" + video-extensions "~1.1.0" + "@protobufjs/aspromise@^1.1.1", "@protobufjs/aspromise@^1.1.2": version "1.1.2" resolved "https://registry.yarnpkg.com/@protobufjs/aspromise/-/aspromise-1.1.2.tgz#9b8b0cc663d669a7d8f6f5d0893a14d348f30fbf" @@ -836,6 +861,11 @@ condense-whitespace@~1.0.0: resolved "https://registry.yarnpkg.com/condense-whitespace/-/condense-whitespace-1.0.0.tgz#8376d98ef028e6cb2cd2468e28ce42c5c65ab1a9" integrity sha1-g3bZjvAo5sss0kaOKM5CxcZasak= +condense-whitespace@~2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/condense-whitespace/-/condense-whitespace-2.0.0.tgz#94e9644938f66aa7be4b8849f8f0b3cec97d6b3a" + integrity sha512-Ath9o58/0rxZXbyoy3zZgrVMoIemi30sukG/btuMKCLyqfQt3dNOWc9N3EHEMa2Q3i0tXQPDJluYFLwy7pJuQw== + configstore@^3.0.0: version "3.1.2" resolved "https://registry.yarnpkg.com/configstore/-/configstore-3.1.2.tgz#c6f25defaeef26df12dd33414b001fe81a543f8f" @@ -1120,7 +1150,7 @@ end-of-stream@^1.1.0: dependencies: once "^1.4.0" -entities@^1.1.1, entities@~1.1.1: +entities@^1.1.1, entities@~1.1.1, entities@~1.1.2: version "1.1.2" resolved "https://registry.yarnpkg.com/entities/-/entities-1.1.2.tgz#bdfa735299664dfafd34529ed4f8522a275fea56" integrity sha512-f2LZMYl1Fzu7YSBKg+RoROelpOaNrcGmE9AZubeDfrCEia483oW4MI4VyFd5VNHIgQ/7qm1I0wUHK1eJnn2y2w== @@ -1769,6 +1799,11 @@ ip-regex@^1.0.1: resolved "https://registry.yarnpkg.com/ip-regex/-/ip-regex-1.0.3.tgz#dc589076f659f419c222039a33316f1c7387effd" integrity sha1-3FiQdvZZ9BnCIgOaMzFvHHOH7/0= +ip-regex@^4.1.0: + version "4.1.0" + resolved "https://registry.yarnpkg.com/ip-regex/-/ip-regex-4.1.0.tgz#5ad62f685a14edb421abebc2fff8db94df67b455" + integrity sha512-pKnZpbgCTfH/1NLIlOduP/V+WRXzC2MOz3Qo8xmxk8C5GudJLgK5QyLVXOSWy3ParAH7Eemurl3xjv/WXYFvMA== + ipaddr.js@1.8.0: version "1.8.0" resolved "https://registry.yarnpkg.com/ipaddr.js/-/ipaddr.js-1.8.0.tgz#eaa33d6ddd7ace8f7f6fe0c9ca0440e706738b1e" @@ -1779,6 +1814,11 @@ is-absolute-url@^2.0.0: resolved "https://registry.yarnpkg.com/is-absolute-url/-/is-absolute-url-2.1.0.tgz#50530dfb84fcc9aa7dbe7852e83a37b93b9f2aa6" integrity sha1-UFMN+4T8yap9vnhS6Do3uTufKqY= +is-absolute-url@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/is-absolute-url/-/is-absolute-url-3.0.0.tgz#eb21d69df2ed8ef72a3e6f243e216563036a0913" + integrity sha512-3OkP8XrM2Xq4/IxsJnClfMp3OaM3TAatLPLKPeWcxLBTrpe6hihwtX+XZfJTcXg/FTRi4qjy0y/C5qiyNxY24g== + is-accessor-descriptor@^0.1.6: version "0.1.6" resolved "https://registry.yarnpkg.com/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz#a9e12cb3ae8d876727eeef3843f8a0897b5c98d6" @@ -1975,6 +2015,13 @@ is-relative-url@~2.0.0: dependencies: is-absolute-url "^2.0.0" +is-relative-url@~3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/is-relative-url/-/is-relative-url-3.0.0.tgz#f623c8e26baa5bd3742b3b7ec074f50f3b45b3f3" + integrity sha512-U1iSYRlY2GIMGuZx7gezlB5dp1Kheaym7zKzO1PV06mOihiWTXejLwm4poEJysPyXF+HtK/BEd0DVlcCh30pEA== + dependencies: + is-absolute-url "^3.0.0" + is-retry-allowed@^1.0.0: version "1.1.0" resolved "https://registry.yarnpkg.com/is-retry-allowed/-/is-retry-allowed-1.1.0.tgz#11a060568b67339444033d0125a61a20d564fb34" @@ -2030,6 +2077,11 @@ iso-639-3@~1.1.0: resolved "https://registry.yarnpkg.com/iso-639-3/-/iso-639-3-1.1.0.tgz#83722daf55490a707c318ae18a33ba3bab06c843" integrity sha512-l3BAnxNpyRIZA4mEzI2md/YVrxQ3hI8hiQe7TFyQknjyOh8vCzobZuAXTFHELco0FBkYRx4FkAlIqkKrHhnzgw== +iso-639-3@~1.2.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/iso-639-3/-/iso-639-3-1.2.0.tgz#eee1f5e6ca2bbb33e3ecc910857c1c12e8b295be" + integrity sha512-jNvD2P4JHNckQH7pc0R0SQ4oPCpyEtgs0nTtjB+DZCUDdygz0cOAxlcnq5KgNjjsqMHbR4Sbgwz2+DflzAZvlQ== + isobject@^2.0.0: version "2.1.0" resolved "https://registry.yarnpkg.com/isobject/-/isobject-2.1.0.tgz#f065561096a3f1da2ef46272f815c840d87e0c89" @@ -2184,6 +2236,13 @@ make-dir@^1.0.0: dependencies: pify "^3.0.0" +map-age-cleaner@^0.1.3: + version "0.1.3" + resolved "https://registry.yarnpkg.com/map-age-cleaner/-/map-age-cleaner-0.1.3.tgz#7d583a7306434c055fe474b0f45078e6e1b4b92a" + integrity sha512-bJzx6nMoP6PDLPBFmg7+xRKeFZvFboMrGlxmNj9ClvX53KrmvM5bXFXEWjbz4cz1AFn+jWJ9z/DJSz7hrs0w3w== + dependencies: + p-defer "^1.0.0" + map-cache@^0.2.2: version "0.2.2" resolved "https://registry.yarnpkg.com/map-cache/-/map-cache-0.2.2.tgz#c32abd0bd6525d9b051645bb4f26ac5dc98a0dbf" @@ -2201,6 +2260,15 @@ media-typer@0.3.0: resolved "https://registry.yarnpkg.com/media-typer/-/media-typer-0.3.0.tgz#8710d7af0aa626f8fffa1ce00168545263255748" integrity sha1-hxDXrwqmJvj/+hzgAWhUUmMlV0g= +mem@~5.1.0: + version "5.1.1" + resolved "https://registry.yarnpkg.com/mem/-/mem-5.1.1.tgz#7059b67bf9ac2c924c9f1cff7155a064394adfb3" + integrity sha512-qvwipnozMohxLXG1pOqoLiZKNkC4r4qqRucSoDwXowsNGDSULiqFTRUF05vcZWnwJSG22qTsynQhxbaMtnX9gw== + dependencies: + map-age-cleaner "^0.1.3" + mimic-fn "^2.1.0" + p-is-promise "^2.1.0" + merge-descriptors@1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/merge-descriptors/-/merge-descriptors-1.0.1.tgz#b00aaa556dd8b44568150ec9d1b953f3f90cbb61" @@ -2304,12 +2372,12 @@ metascraper-title@^4.8.5: "@metascraper/helpers" "^4.8.5" lodash "~4.17.10" -metascraper-url@^4.8.5: - version "4.8.5" - resolved "https://registry.yarnpkg.com/metascraper-url/-/metascraper-url-4.8.5.tgz#37fe18af596da0e0b999a85dce1b30b6d8adb4fb" - integrity sha512-hmAzyQnRTjYrgb9UI6eEbPoiTqbEl0tUOHDKBNy27lMUxcozvJo16SEUUJKdgyMD2QNXGbmnnze8YyK+nVgaBA== +metascraper-url@^5.5.0: + version "5.5.0" + resolved "https://registry.yarnpkg.com/metascraper-url/-/metascraper-url-5.5.0.tgz#c2d98cfa3512121c7c662e35a859d8d4dda06c79" + integrity sha512-niQQENVT6J6HpLZjgjqY7AHwnyGAKiDUbHUiFTVgXRXxXxRNEBSF9QEk4y0dylM48aNdrlKrjn5P/1HLWzs2NA== dependencies: - "@metascraper/helpers" "^4.8.5" + "@metascraper/helpers" "^5.5.0" metascraper-video@^4.8.5: version "4.8.5" @@ -2365,6 +2433,11 @@ micromatch@^3.1.10, micromatch@^3.1.4: snapdragon "^0.8.1" to-regex "^3.0.2" +mime-db@1.40.0: + version "1.40.0" + resolved "https://registry.yarnpkg.com/mime-db/-/mime-db-1.40.0.tgz#a65057e998db090f732a68f6c276d387d4126c32" + integrity sha512-jYdeOMPy9vnxEqFRRo6ZvTZ8d9oPb+k18PKoYNYUe2stVEBPPwsln/qWzdbmaIvnhZ9v2P+CuecK+fpUfsV2mA== + mime-db@~1.37.0: version "1.37.0" resolved "https://registry.yarnpkg.com/mime-db/-/mime-db-1.37.0.tgz#0b6a0ce6fdbe9576e25f1f2d2fde8830dc0ad0d8" @@ -2389,11 +2462,23 @@ mime-types@~2.1.22: dependencies: mime-db "~1.38.0" +mime-types@~2.1.24: + version "2.1.24" + resolved "https://registry.yarnpkg.com/mime-types/-/mime-types-2.1.24.tgz#b6f8d0b3e951efb77dedeca194cff6d16f676f81" + integrity sha512-WaFHS3MCl5fapm3oLxU4eYDw77IQM2ACcxQ9RIxfaC3ooc6PFuBMGZZsYpvoXS5D5QTWPieo1jjLdAm3TBP3cQ== + dependencies: + mime-db "1.40.0" + mime@1.4.1: version "1.4.1" resolved "https://registry.yarnpkg.com/mime/-/mime-1.4.1.tgz#121f9ebc49e3766f311a76e1fa1c8003c4b03aa6" integrity sha512-KI1+qOZu5DcW6wayYHSzR/tXKCDC5Om4s1z2QJjDULzLcmf3DvzS7oluY4HCTrc+9FiKmWUgeNLg7W3uIQvxtQ== +mimic-fn@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/mimic-fn/-/mimic-fn-2.1.0.tgz#7ed2c2ccccaf84d3ffcb7a69b57711fc2083401b" + integrity sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg== + mimic-fn@~2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/mimic-fn/-/mimic-fn-2.0.0.tgz#0913ff0b121db44ef5848242c38bbb35d44cabde" @@ -2576,6 +2661,11 @@ normalize-url@~4.2.0: resolved "https://registry.yarnpkg.com/normalize-url/-/normalize-url-4.2.0.tgz#e747f16b58e6d7f391495fd86415fa04ec7c9897" integrity sha512-n69+KXI+kZApR+sPwSkoAXpGlNkaiYyoHHqKOFPjJWvwZpew/EjKvuPE4+tStNgb42z5yLtdakgZCQI+LalSPg== +normalize-url@~4.3.0: + version "4.3.0" + resolved "https://registry.yarnpkg.com/normalize-url/-/normalize-url-4.3.0.tgz#9c49e10fc1876aeb76dba88bf1b2b5d9fa57b2ee" + integrity sha512-0NLtR71o4k6GLP+mr6Ty34c5GA6CMoEsncKJxvQd8NzPxaHRJNnb5gZE8R1XF4CPIS7QPHLJ74IFszwtNVAHVQ== + npm-bundled@^1.0.1: version "1.0.5" resolved "https://registry.yarnpkg.com/npm-bundled/-/npm-bundled-1.0.5.tgz#3c1732b7ba936b3a10325aef616467c0ccbcc979" @@ -2713,11 +2803,21 @@ p-cancelable@^1.0.0: resolved "https://registry.yarnpkg.com/p-cancelable/-/p-cancelable-1.0.0.tgz#07e9c6d22c31f9c6784cb4f1e1454a79b6d9e2d6" integrity sha512-USgPoaC6tkTGlS831CxsVdmZmyb8tR1D+hStI84MyckLOzfJlYQUweomrwE3D8T7u5u5GVuW064LT501wHTYYA== +p-defer@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/p-defer/-/p-defer-1.0.0.tgz#9f6eb182f6c9aa8cd743004a7d4f96b196b0fb0c" + integrity sha1-n26xgvbJqozXQwBKfU+WsZaw+ww= + p-finally@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/p-finally/-/p-finally-1.0.0.tgz#3fbcfb15b899a44123b34b6dcc18b724336a2cae" integrity sha1-P7z7FbiZpEEjs0ttzBi3JDNqLK4= +p-is-promise@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/p-is-promise/-/p-is-promise-2.1.0.tgz#918cebaea248a62cf7ffab8e3bca8c5f882fc42e" + integrity sha512-Y3W0wlRPK8ZMRbNq97l4M5otioeA5lm1z7bkNkxCka8HSPjR0xRWmpCmc9utiaLP9Jb1eD8BgeIxTW4AIF45Pg== + p-limit@^2.0.0: version "2.1.0" resolved "https://registry.yarnpkg.com/p-limit/-/p-limit-2.1.0.tgz#1d5a0d20fb12707c758a655f6bbc4386b5930d68" @@ -3459,7 +3559,7 @@ titleize@1.0.0: resolved "https://registry.yarnpkg.com/titleize/-/titleize-1.0.0.tgz#7d350722061830ba6617631e0cfd3ea08398d95a" integrity sha1-fTUHIgYYMLpmF2MeDP0+oIOY2Vo= -tlds@^1.187.0: +tlds@^1.187.0, tlds@^1.203.0: version "1.203.1" resolved "https://registry.yarnpkg.com/tlds/-/tlds-1.203.1.tgz#4dc9b02f53de3315bc98b80665e13de3edfc1dfc" integrity sha512-7MUlYyGJ6rSitEZ3r1Q1QNV8uSIzapS8SmmhSusBuIc7uIxPPwsKllEP0GRp1NS6Ik6F+fRZvnjDWm3ecv2hDw== @@ -3541,6 +3641,11 @@ truncate@~2.0.1: resolved "https://registry.yarnpkg.com/truncate/-/truncate-2.0.1.tgz#dd1a6d15630515663d8475f6f24edf2f800ebb1b" integrity sha1-3RptFWMFFWY9hHX28k7fL4AOuxs= +truncate@~2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/truncate/-/truncate-2.1.0.tgz#391183563a25cffbd4d613a1d00ae5844c9e55d3" + integrity sha512-em3E3SUDONOjTBcZ36DTm3RvDded3IRU9rX32oHwwXNt3rJD5MVaFlJTQvs8tJoHRoeYP36OuQ1eL/Q7bNEWIQ== + tunnel-agent@^0.6.0: version "0.6.0" resolved "https://registry.yarnpkg.com/tunnel-agent/-/tunnel-agent-0.6.0.tgz#27a5dea06b36b04a0a9966774b290868f0fc40fd" @@ -3666,6 +3771,14 @@ url-regex@~4.1.1: ip-regex "^1.0.1" tlds "^1.187.0" +url-regex@~5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/url-regex/-/url-regex-5.0.0.tgz#8f5456ab83d898d18b2f91753a702649b873273a" + integrity sha512-O08GjTiAFNsSlrUWfqF1jH0H1W3m35ZyadHrGv5krdnmPPoxP27oDTqux/579PtaroiSGm5yma6KT1mHFH6Y/g== + dependencies: + ip-regex "^4.1.0" + tlds "^1.203.0" + use@^3.1.0: version "3.1.1" resolved "https://registry.yarnpkg.com/use/-/use-3.1.1.tgz#d50c8cac79a19fbc20f2911f56eb973f4e10070f" From 721c75eeeaf015a1309ca82fc3363d32e580bbfa Mon Sep 17 00:00:00 2001 From: "dependabot-preview[bot]" <27856297+dependabot-preview[bot]@users.noreply.github.com> Date: Tue, 2 Jul 2019 19:58:37 +0000 Subject: [PATCH 035/169] Bump metascraper-soundcloud from 4.8.5 to 5.5.3 Bumps [metascraper-soundcloud](https://github.com/microlinkhq/metascraper-soundcloud) from 4.8.5 to 5.5.3. - [Release notes](https://github.com/microlinkhq/metascraper-soundcloud/releases) - [Commits](https://github.com/microlinkhq/metascraper-soundcloud/commits) Signed-off-by: dependabot-preview[bot] --- package.json | 2 +- yarn.lock | 22 +++++++++++++++++----- 2 files changed, 18 insertions(+), 6 deletions(-) diff --git a/package.json b/package.json index 5922490cf..7ccba186e 100644 --- a/package.json +++ b/package.json @@ -40,7 +40,7 @@ "metascraper-logo": "^4.8.5", "metascraper-logo-favicon": "^4.8.5", "metascraper-publisher": "^4.8.5", - "metascraper-soundcloud": "^4.8.5", + "metascraper-soundcloud": "^5.5.3", "metascraper-title": "^4.8.5", "metascraper-url": "^4.8.5", "metascraper-video": "^4.8.5", diff --git a/yarn.lock b/yarn.lock index c027764c0..3b15a333a 100644 --- a/yarn.lock +++ b/yarn.lock @@ -2269,6 +2269,11 @@ mem@~5.1.0: mimic-fn "^2.1.0" p-is-promise "^2.1.0" +memoize-one@~5.0.4: + version "5.0.4" + resolved "https://registry.yarnpkg.com/memoize-one/-/memoize-one-5.0.4.tgz#005928aced5c43d890a4dfab18ca908b0ec92cbc" + integrity sha512-P0z5IeAH6qHHGkJIXWw0xC2HNEgkx/9uWWBQw64FJj3/ol14VYdfVGWWr0fXfjhhv3TKVIqUq65os6O4GUNksA== + merge-descriptors@1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/merge-descriptors/-/merge-descriptors-1.0.1.tgz#b00aaa556dd8b44568150ec9d1b953f3f90cbb61" @@ -2356,12 +2361,14 @@ metascraper-publisher@^4.8.5: dependencies: "@metascraper/helpers" "^4.8.5" -metascraper-soundcloud@^4.8.5: - version "4.8.5" - resolved "https://registry.yarnpkg.com/metascraper-soundcloud/-/metascraper-soundcloud-4.8.5.tgz#6593ba8a26fedbb4a3bebc6d2803e22b38278621" - integrity sha512-fChxmwqCLyans9RKKg1jaL7dh/6twIBgaQm/NjvlKcp4+V39J85wQlZPHBgoXl+K/uMwy94wMftKWWQ1Hxxgkw== +metascraper-soundcloud@^5.5.3: + version "5.5.3" + resolved "https://registry.yarnpkg.com/metascraper-soundcloud/-/metascraper-soundcloud-5.5.3.tgz#6f54d5da12b617cff49eb7730ff4ff59f910e60e" + integrity sha512-e7rhediMbulUlLYwEsVmsWqoiy2EqYBrjHt9V6ASTnUeA/0o9/RjPQx7FYMp5p/RnSO0jTqj29TN8c94amPzqA== dependencies: - "@metascraper/helpers" "^4.8.5" + "@metascraper/helpers" "^5.5.0" + memoize-one "~5.0.4" + tldts "~5.2.0" metascraper-title@^4.8.5: version "4.8.5" @@ -3558,6 +3565,11 @@ tlds@^1.187.0, tlds@^1.203.0: resolved "https://registry.yarnpkg.com/tlds/-/tlds-1.203.1.tgz#4dc9b02f53de3315bc98b80665e13de3edfc1dfc" integrity sha512-7MUlYyGJ6rSitEZ3r1Q1QNV8uSIzapS8SmmhSusBuIc7uIxPPwsKllEP0GRp1NS6Ik6F+fRZvnjDWm3ecv2hDw== +tldts@~5.2.0: + version "5.2.1" + resolved "https://registry.yarnpkg.com/tldts/-/tldts-5.2.1.tgz#8fe745feb8b822deda8d3677cf836a77028056db" + integrity sha512-/K8BtLl2ZQUmd3E5ecwlf73+7fPIBKBQpGg/6cQtclobqyDy6bQ8shgXwHiw9SDUmaBAQvJe832o4MFNeWk29g== + to-object-path@^0.3.0: version "0.3.0" resolved "https://registry.yarnpkg.com/to-object-path/-/to-object-path-0.3.0.tgz#297588b7b0e7e0ac08e04e672f85c1f4999e17af" From cc6819e77bf7472e99471ff9bc4290bd3274f380 Mon Sep 17 00:00:00 2001 From: Matt Rider Date: Wed, 3 Jul 2019 08:47:30 -0300 Subject: [PATCH 036/169] Root commit for master branch From eabb58e851d6a76802a7d7de8e3d6842c9d1dd3d Mon Sep 17 00:00:00 2001 From: Matt Rider Date: Wed, 3 Jul 2019 08:51:39 -0300 Subject: [PATCH 037/169] Merge in Nitro-Embed --- Human-Connection/.codecov.yml => .codecov.yml | 0 .../.gitbook.yaml => .gitbook.yaml | 0 .../assets/grafik (1).png | Bin .../assets/grafik-1 (1).png | Bin .../.gitbook => .gitbook}/assets/grafik-1.png | Bin .../.gitbook => .gitbook}/assets/grafik-4.png | Bin .../.gitbook => .gitbook}/assets/grafik.png | Bin .../assets/graphql-playground (1).png | Bin .../assets/graphql-playground.png | Bin .../assets/humanconnection (1).png | Bin .../assets/humanconnection.png | Bin .../assets/lets_get_together.png | Bin .../assets/screenshot (1).png | Bin ...-neo4j-download-center-current-releases.png | Bin .../assets/screenshot-styleguide (1).png | Bin .../assets/screenshot-styleguide (2).png | Bin .../assets/screenshot-styleguide.png | Bin .../assets/screenshot.png | Bin .../.github => .github}/ISSUE_TEMPLATE.md | 0 .../ISSUE_TEMPLATE/bug_report.md | 0 .../ISSUE_TEMPLATE/feature_request.md | 0 .../ISSUE_TEMPLATE/question.md | 0 .../PULL_REQUEST_TEMPLATE.md | 0 Human-Connection/.gitignore => .gitignore | 0 Human-Connection/.travis.yml => .travis.yml | 0 .../.vscode => .vscode}/extensions.json | 0 .../.vscode => .vscode}/settings.json | 0 .../CODE_OF_CONDUCT.md => CODE_OF_CONDUCT.md | 0 .../CONTRIBUTING.md => CONTRIBUTING.md | 0 .../maintenance-worker/binaries/.env | 6 ------ .../maintenance-worker/migration/mongo/.env | 17 ----------------- .../maintenance-worker/migration/neo4j/.env | 16 ---------------- .../styleguide/src/system/icons/svg/bold.svg | 5 ----- .../styleguide/src/system/icons/svg/italic.svg | 5 ----- .../src/system/icons/svg/list-ol.svg | 5 ----- .../src/system/icons/svg/list-ul.svg | 5 ----- .../src/system/icons/svg/paragraph.svg | 5 ----- .../src/system/icons/svg/quote-right.svg | 5 ----- Human-Connection/LICENSE.md => LICENSE.md | 0 Human-Connection/README.md => README.md | 0 Human-Connection/SUMMARY.md => SUMMARY.md | 0 {Human-Connection/backend => backend}/.babelrc | 0 .../backend => backend}/.codecov.yml | 0 .../backend => backend}/.dockerignore | 0 .../backend => backend}/.env.template | 0 .../backend => backend}/.eslintrc.js | 0 .../backend => backend}/.gitignore | 0 .../backend => backend}/.graphqlconfig | 0 .../backend => backend}/.prettierrc.js | 0 .../backend => backend}/Dockerfile | 0 .../backend => backend}/README.md | 0 .../backend => backend}/graphql-playground.png | Bin .../backend => backend}/graphql.md | 0 .../backend => backend}/humanconnection.png | Bin .../backend => backend}/package.json | 0 .../backend => backend}/public/.gitkeep | 0 .../img/badges/fundraisingbox_de_airship.svg | 0 .../img/badges/fundraisingbox_de_alienship.svg | 0 .../img/badges/fundraisingbox_de_balloon.svg | 0 .../badges/fundraisingbox_de_bigballoon.svg | 0 .../img/badges/fundraisingbox_de_crane.svg | 0 .../img/badges/fundraisingbox_de_glider.svg | 0 .../badges/fundraisingbox_de_helicopter.svg | 0 .../img/badges/fundraisingbox_de_starter.svg | 0 .../public/img/badges/indiegogo_en_bear.svg | 0 .../public/img/badges/indiegogo_en_panda.svg | 0 .../public/img/badges/indiegogo_en_rabbit.svg | 0 .../public/img/badges/indiegogo_en_racoon.svg | 0 .../public/img/badges/indiegogo_en_rhino.svg | 0 .../public/img/badges/indiegogo_en_tiger.svg | 0 .../public/img/badges/indiegogo_en_turtle.svg | 0 .../public/img/badges/indiegogo_en_whale.svg | 0 .../public/img/badges/indiegogo_en_wolf.svg | 0 .../public/img/badges/user_role_admin.svg | 0 .../public/img/badges/user_role_developer.svg | 0 .../public/img/badges/user_role_moderator.svg | 0 .../public/img/badges/wooold_de_bee.svg | 0 .../public/img/badges/wooold_de_butterfly.svg | 0 .../img/badges/wooold_de_double_rainbow.svg | 0 .../img/badges/wooold_de_end_of_rainbow.svg | 0 .../public/img/badges/wooold_de_flower.svg | 0 .../public/img/badges/wooold_de_lifetree.svg | 0 .../img/badges/wooold_de_magic_rainbow.svg | 0 .../img/badges/wooold_de_super_founder.svg | 0 .../public/uploads/.gitkeep | 0 .../src/activitypub/ActivityPub.js | 0 .../src/activitypub/Collections.js | 0 .../src/activitypub/NitroDataSource.js | 0 .../src/activitypub/routes/inbox.js | 0 .../src/activitypub/routes/index.js | 0 .../src/activitypub/routes/serveUser.js | 0 .../src/activitypub/routes/user.js | 0 .../src/activitypub/routes/verify.js | 0 .../src/activitypub/routes/webFinger.js | 0 .../activitypub/security/httpSignature.spec.js | 0 .../src/activitypub/security/index.js | 0 .../src/activitypub/utils/activity.js | 0 .../src/activitypub/utils/actor.js | 0 .../src/activitypub/utils/collection.js | 0 .../src/activitypub/utils/index.js | 0 .../src/bootstrap/directives.js | 0 .../backend => backend}/src/bootstrap/neo4j.js | 0 .../src/bootstrap/scalars.js | 0 .../backend => backend}/src/config/index.js | 0 .../src/helpers/asyncForEach.js | 0 .../src/helpers/walkRecursive.js | 0 .../backend => backend}/src/index.js | 0 .../backend => backend}/src/jest/helpers.js | 0 .../backend => backend}/src/jwt/decode.js | 0 .../backend => backend}/src/jwt/encode.js | 0 .../src/middleware/activityPubMiddleware.js | 0 .../src/middleware/dateTimeMiddleware.js | 0 .../src/middleware/excerptMiddleware.js | 0 .../filterBubble/filterBubble.spec.js | 0 .../src/middleware/includedFieldsMiddleware.js | 0 .../src/middleware/index.js | 0 .../src/middleware/nodes/locations.js | 0 .../notifications/extractIds/index.js | 0 .../notifications/extractIds/spec.js | 0 .../src/middleware/notifications/index.js | 0 .../src/middleware/notifications/spec.js | 0 .../src/middleware/orderByMiddleware.js | 0 .../src/middleware/orderByMiddleware.spec.js | 0 .../src/middleware/passwordMiddleware.js | 0 .../src/middleware/permissionsMiddleware.js | 0 .../middleware/permissionsMiddleware.spec.js | 0 .../src/middleware/sluggifyMiddleware.js | 0 .../src/middleware/slugify/uniqueSlug.js | 0 .../src/middleware/slugify/uniqueSlug.spec.js | 0 .../src/middleware/slugifyMiddleware.spec.js | 0 .../src/middleware/softDeleteMiddleware.js | 0 .../middleware/softDeleteMiddleware.spec.js | 0 .../src/middleware/userMiddleware.js | 0 .../src/middleware/validation/index.js | 0 .../src/middleware/xssMiddleware.js | 0 .../backend => backend}/src/mocks/index.js | 0 .../backend => backend}/src/schema/index.js | 0 .../src/schema/resolvers/badges.spec.js | 0 .../src/schema/resolvers/comments.js | 0 .../src/schema/resolvers/comments.spec.js | 0 .../src/schema/resolvers/fileUpload/index.js | 0 .../src/schema/resolvers/fileUpload/spec.js | 0 .../src/schema/resolvers/follow.js | 0 .../src/schema/resolvers/follow.spec.js | 0 .../src/schema/resolvers/index.js | 0 .../src/schema/resolvers/moderation.js | 0 .../src/schema/resolvers/moderation.spec.js | 0 .../src/schema/resolvers/notifications.js | 0 .../src/schema/resolvers/notifications.spec.js | 0 .../src/schema/resolvers/passwordReset.js | 0 .../src/schema/resolvers/passwordReset.spec.js | 0 .../resolvers/passwordReset/emailTemplates.js | 0 .../src/schema/resolvers/posts.js | 0 .../src/schema/resolvers/posts.spec.js | 0 .../src/schema/resolvers/reports.js | 0 .../src/schema/resolvers/reports.spec.js | 0 .../src/schema/resolvers/rewards.js | 0 .../src/schema/resolvers/rewards.spec.js | 0 .../src/schema/resolvers/shout.js | 0 .../src/schema/resolvers/shout.spec.js | 0 .../src/schema/resolvers/socialMedia.js | 0 .../src/schema/resolvers/socialMedia.spec.js | 0 .../src/schema/resolvers/statistics.js | 0 .../src/schema/resolvers/user_management.js | 0 .../schema/resolvers/user_management.spec.js | 0 .../src/schema/resolvers/users.js | 0 .../src/schema/resolvers/users.spec.js | 0 .../src/schema/types/enum/BadgeStatus.gql | 0 .../src/schema/types/enum/BadgeType.gql | 0 .../src/schema/types/enum/UserGroup.gql | 0 .../src/schema/types/enum/Visibility.gql | 0 .../src/schema/types/index.js | 0 .../src/schema/types/scalar/Date.gql_ | 0 .../src/schema/types/scalar/DateTime.gql_ | 0 .../src/schema/types/scalar/Time.gql_ | 0 .../src/schema/types/scalar/Upload.gql | 0 .../src/schema/types/schema.gql | 0 .../src/schema/types/schema_full.gql_ | 0 .../src/schema/types/type/Badge.gql | 0 .../src/schema/types/type/Category.gql | 0 .../src/schema/types/type/Comment.gql | 0 .../src/schema/types/type/Post.gql | 0 .../src/schema/types/type/Tag.gql | 0 .../src/schema/types/type/User.gql | 0 .../src/seed/factories/badges.js | 0 .../src/seed/factories/categories.js | 0 .../src/seed/factories/comments.js | 0 .../src/seed/factories/index.js | 0 .../src/seed/factories/notifications.js | 0 .../src/seed/factories/organizations.js | 0 .../src/seed/factories/posts.js | 0 .../src/seed/factories/reports.js | 0 .../src/seed/factories/tags.js | 0 .../src/seed/factories/users.js | 0 .../backend => backend}/src/seed/reset-db.js | 0 .../backend => backend}/src/seed/seed-db.js | 0 .../src/seed/seed-helpers.js | 0 .../backend => backend}/src/server.js | 0 .../test/features/activity-delete.feature | 0 .../test/features/activity-follow.feature | 0 .../test/features/activity-like.feature | 0 .../test/features/collection.feature | 0 .../test/features/object-article.feature | 0 .../test/features/support/steps.js | 0 .../test/features/webfinger.feature | 0 .../backend => backend}/test/features/world.js | 0 .../backend => backend}/testing.md | 0 .../backend => backend}/yarn.lock | 0 ....template.json => cypress.env.template.json | 0 Human-Connection/cypress.json => cypress.json | 0 .../cypress => cypress}/README.md | 0 .../cypress => cypress}/features.md | 0 .../cypress => cypress}/fixtures/example.json | 0 .../fixtures/onourjourney.png | Bin .../cypress => cypress}/fixtures/users.json | 0 .../administration/TagsAndCategories.feature | 0 .../integration/common/admin.js | 0 .../integration/common/post.js | 0 .../integration/common/profile.js | 0 .../integration/common/report.js | 0 .../integration/common/search.js | 0 .../integration/common/settings.js | 0 .../integration/common/steps.js | 0 .../Internationalization.feature | 0 .../integration/moderation/HidePosts.feature | 0 .../moderation/ReportContent.feature | 0 .../integration/notifications/Mentions.feature | 0 .../integration/post/Comment.feature | 0 .../integration/post/PersistentLinks.feature | 0 .../integration/post/WritePost.feature | 0 .../integration/search/Search.feature | 0 .../user_account/ChangePassword.feature | 0 .../integration/user_account/Login.feature | 0 .../user_profile/AboutMeAndLocation.feature | 0 .../user_profile/SocialMedia.feature | 0 .../UploadUserProfileImage.feature | 0 .../cypress => cypress}/plugins/index.js | 0 .../cypress => cypress}/support/commands.js | 0 .../cypress => cypress}/support/factories.js | 0 .../cypress => cypress}/support/helpers.js | 0 .../cypress => cypress}/support/index.js | 0 .../deployment => deployment}/.gitignore | 0 .../deployment => deployment}/README.md | 0 .../digital-ocean/README.md | 0 .../digital-ocean/dashboard/README.md | 0 .../digital-ocean/dashboard/admin-user.yaml | 0 .../dashboard/dashboard-screenshot.png | Bin .../digital-ocean/dashboard/role-binding.yaml | 0 .../digital-ocean/https/.gitignore | 0 .../digital-ocean/https/README.md | 0 .../digital-ocean/https/ip-address.png | Bin .../digital-ocean/https/namespace.yaml | 0 .../https/templates/ingress.template.yaml | 0 .../https/templates/issuer.template.yaml | 0 .../human-connection/README.md | 0 .../human-connection/deployment-backend.yaml | 0 .../human-connection/deployment-neo4j.yaml | 0 .../human-connection/deployment-web.yaml | 0 .../human-connection/mailserver/README.md | 0 .../mailserver/deployment-mailserver.yaml | 0 .../mailserver/service-mailserver.yaml | 0 .../human-connection/service-backend.yaml | 0 .../human-connection/service-neo4j.yaml | 0 .../human-connection/service-web.yaml | 0 .../templates/configmap.template.yaml | 0 .../templates/secrets.template.yaml | 0 .../legacy-migration/README.md | 0 .../legacy-migration/maintenance-worker.yaml | 0 .../maintenance-worker/.dockerignore | 0 .../maintenance-worker/.gitignore | 0 .../maintenance-worker/Dockerfile | 0 .../maintenance-worker/binaries/idle | 0 .../binaries/import_legacy_db | 0 .../binaries/import_legacy_uploads | 0 .../maintenance-worker/known_hosts | 0 .../migration/mongo/export.sh | 0 .../migration/neo4j/badges/badges.cql | 0 .../migration/neo4j/badges/delete.cql | 0 .../migration/neo4j/categories/categories.cql | 0 .../migration/neo4j/categories/delete.cql | 0 .../migration/neo4j/comments/comments.cql | 0 .../migration/neo4j/comments/delete.cql | 0 .../neo4j/contributions/contributions.cql | 0 .../migration/neo4j/contributions/delete.cql | 0 .../migration/neo4j/delete_all.cql | 0 .../migration/neo4j/emotions/delete.cql | 0 .../migration/neo4j/emotions/emotions.cql | 0 .../migration/neo4j/follows/delete.cql | 0 .../migration/neo4j/follows/follows.cql | 0 .../migration/neo4j/import.sh | 0 .../migration/neo4j/invites/delete.cql | 0 .../migration/neo4j/invites/invites.cql | 0 .../migration/neo4j/notifications/delete.cql | 0 .../neo4j/notifications/notifications.cql | 0 .../migration/neo4j/organizations/delete.cql | 0 .../neo4j/organizations/organizations.cql | 0 .../migration/neo4j/pages/delete.cql | 0 .../migration/neo4j/pages/pages.cql | 0 .../migration/neo4j/projects/delete.cql | 0 .../migration/neo4j/projects/projects.cql | 0 .../migration/neo4j/settings/delete.cql | 0 .../migration/neo4j/settings/settings.cql | 0 .../migration/neo4j/shouts/delete.cql | 0 .../migration/neo4j/shouts/shouts.cql | 0 .../migration/neo4j/status/delete.cql | 0 .../migration/neo4j/status/status.cql | 0 .../neo4j/systemnotifications/delete.cql | 0 .../systemnotifications.cql | 0 .../migration/neo4j/users/delete.cql | 0 .../migration/neo4j/users/users.cql | 0 .../migration/neo4j/userscandos/delete.cql | 0 .../neo4j/userscandos/userscandos.cql | 0 .../migration/neo4j/usersettings/delete.cql | 0 .../neo4j/usersettings/usersettings.cql | 0 .../minikube/README.md | 0 .../deployment => deployment}/namespace.yaml | 0 .../volumes/README.md | 0 .../volumes/neo4j-data.yaml | 0 .../volumes/neo4j-offline-backup/README.md | 0 .../volumes/reclaim-policy/README.md | 0 .../volumes/uploads.yaml | 0 .../volumes/velero/README.md | 0 .../volumes/volume-snapshots/README.md | 0 .../digital-ocean-volume-snapshots.png | Bin .../volumes/volume-snapshots/neo4j-data.yaml | 0 .../volumes/volume-snapshots/snapshot.yaml | 0 ...nance.yml => docker-compose.maintenance.yml | 0 ...override.yml => docker-compose.override.yml | 0 ...ose.travis.yml => docker-compose.travis.yml | 0 .../docker-compose.yml => docker-compose.yml | 0 ...umentation.md => edit-this-documentation.md | 0 .../installation.md => installation.md | 0 .../neo4j => neo4j}/.env.template | 0 {Human-Connection/neo4j => neo4j}/.gitignore | 0 {Human-Connection/neo4j => neo4j}/Dockerfile | 0 {Human-Connection/neo4j => neo4j}/README.md | 0 {Human-Connection/neo4j => neo4j}/db_setup.sh | 0 .../neo4j => neo4j}/entrypoint.sh | 0 Human-Connection/package.json => package.json | 0 .../scripts => scripts}/deploy.sh | 0 .../scripts => scripts}/docker_push.sh | 0 .../scripts => scripts}/patch-deployment.yaml | 0 .../scripts => scripts}/setup_kubernetes.sh | 0 Human-Connection/testing.md => testing.md | 0 {Human-Connection/webapp => webapp}/.babelrc | 0 .../webapp => webapp}/.dockerignore | 0 .../webapp => webapp}/.editorconfig | 0 .../webapp => webapp}/.env.template | 0 .../webapp => webapp}/.eslintignore | 0 .../webapp => webapp}/.eslintrc.js | 0 {Human-Connection/webapp => webapp}/.gitignore | 0 .../webapp => webapp}/.prettierrc.js | 0 {Human-Connection/webapp => webapp}/Dockerfile | 0 {Human-Connection/webapp => webapp}/README.md | 0 {Human-Connection/webapp => webapp}/assets.md | 0 .../assets/styles/imports/_toast.scss | 0 .../assets/styles/imports/_tooltip.scss | 0 .../webapp => webapp}/assets/styles/main.scss | 0 .../webapp => webapp}/components.md | 0 .../components/Avatar/Avatar.spec.js | 0 .../components/Avatar/Avatar.vue | 0 .../components/Badges.spec.js | 0 .../webapp => webapp}/components/Badges.vue | 0 .../CategoriesSelect/CategoriesSelect.spec.js | 0 .../CategoriesSelect/CategoriesSelect.vue | 0 .../components/Category/Readme.md | 0 .../components/Category/index.spec.js | 0 .../components/Category/index.vue | 0 .../components/Comment.spec.js | 0 .../webapp => webapp}/components/Comment.vue | 0 .../components/ContentMenu.vue | 0 .../ContributionForm/ContributionForm.spec.js | 0 .../ContributionForm/ContributionForm.vue | 0 .../webapp => webapp}/components/CountTo.vue | 0 .../components/DeleteData/DeleteData.spec.js | 0 .../components/DeleteData/DeleteData.vue | 0 .../webapp => webapp}/components/Dropdown.vue | 0 .../components/Editor/index.vue | 0 .../components/Editor/nodes/Mention.js | 0 .../components/Editor/plugins/eventHandler.js | 0 .../components/Editor/spec.js | 0 .../webapp => webapp}/components/Empty.vue | 0 .../components/FilterMenu/FilterMenu.spec.js | 0 .../components/FilterMenu/FilterMenu.vue | 0 .../components/FollowButton.vue | 0 .../webapp => webapp}/components/LoadMore.vue | 0 .../LocaleSwitch/LocaleSwitch.spec.js | 0 .../components/LocaleSwitch/LocaleSwitch.vue | 0 .../webapp => webapp}/components/Logo.vue | 0 .../webapp => webapp}/components/Modal.spec.js | 0 .../webapp => webapp}/components/Modal.vue | 0 .../components/Modal/ConfirmModal.spec.js | 0 .../components/Modal/ConfirmModal.vue | 0 .../components/Modal/DisableModal.spec.js | 0 .../components/Modal/DisableModal.vue | 0 .../components/Modal/ReportModal.spec.js | 0 .../components/Modal/ReportModal.vue | 0 .../components/Password/Change.spec.js | 0 .../components/Password/Change.vue | 0 .../components/Password/Strength.vue | 0 .../PasswordReset/ChangePassword.spec.js | 0 .../PasswordReset/ChangePassword.vue | 0 .../components/PasswordReset/Request.spec.js | 0 .../components/PasswordReset/Request.vue | 0 .../PasswordReset/VerifyCode.spec.js | 0 .../components/PasswordReset/VerifyCode.vue | 0 .../components/PostCard/index.spec.js | 0 .../components/PostCard/index.vue | 0 .../components/RelativeDateTime/Readme.md | 0 .../components/RelativeDateTime/index.vue | 0 .../components/RelativeDateTime/spec.js | 0 .../ReleaseModal/ReleaseModal.spec.js | 0 .../components/ReleaseModal/ReleaseModal.vue | 0 .../components/Ribbon/index.spec.js | 0 .../components/Ribbon/index.vue | 0 .../components/SearchInput.spec.js | 0 .../components/SearchInput.vue | 0 .../components/ShoutButton.vue | 0 .../webapp => webapp}/components/Tag/Readme.md | 0 .../webapp => webapp}/components/Tag/index.vue | 0 .../webapp => webapp}/components/Tag/spec.js | 0 .../components/TeaserImage/TeaserImage.spec.js | 0 .../components/TeaserImage/TeaserImage.vue | 0 .../components/Upload/index.vue | 0 .../components/Upload/spec.js | 0 .../components/User/index.vue | 0 .../webapp => webapp}/components/User/spec.js | 0 .../components/comments/CommentForm/index.vue | 0 .../components/comments/CommentForm/spec.js | 0 .../comments/CommentList/CommentList.spec.js | 0 .../components/comments/CommentList/index.vue | 0 .../notifications/Notification/index.vue | 0 .../notifications/Notification/spec.js | 0 .../notifications/NotificationList/index.vue | 0 .../notifications/NotificationList/spec.js | 0 .../notifications/NotificationMenu/index.vue | 0 .../notifications/NotificationMenu/spec.js | 0 .../components/utils/PostHelpers.js | 0 .../graphql/CommentMutations.js | 0 .../webapp => webapp}/graphql/CommentQuery.js | 0 .../graphql/ModerationListQuery.js | 0 .../graphql/PostCommentsQuery.js | 0 .../webapp => webapp}/graphql/PostMutations.js | 0 .../webapp => webapp}/graphql/PostQuery.js | 0 .../graphql/UserProfile/Post.js | 0 .../graphql/UserProfile/User.js | 0 {Human-Connection/webapp => webapp}/layouts.md | 0 .../webapp => webapp}/layouts/blank.vue | 0 .../webapp => webapp}/layouts/default.vue | 0 .../webapp => webapp}/locales/de.json | 0 .../webapp => webapp}/locales/en.json | 0 .../webapp => webapp}/locales/es.json | 0 .../webapp => webapp}/locales/fr.json | 0 .../webapp => webapp}/locales/index.js | 0 .../webapp => webapp}/locales/it.json | 0 .../webapp => webapp}/locales/nl.json | 0 .../webapp => webapp}/locales/pl.json | 0 .../webapp => webapp}/locales/pt.json | 0 .../webapp => webapp}/lokalise.png | Bin .../webapp => webapp}/middleware.md | 0 .../middleware/authenticated.js | 0 .../webapp => webapp}/middleware/isAdmin.js | 0 .../middleware/isModerator.js | 0 .../mixins/persistentLinks.js | 0 .../webapp => webapp}/mixins/seo.js | 0 .../webapp => webapp}/nuxt.config.js | 0 .../webapp => webapp}/package.json | 0 {Human-Connection/webapp => webapp}/pages.md | 0 .../webapp => webapp}/pages/admin.vue | 0 .../pages/admin/categories.vue | 0 .../webapp => webapp}/pages/admin/index.vue | 0 .../pages/admin/notifications.vue | 0 .../pages/admin/organizations.vue | 0 .../webapp => webapp}/pages/admin/pages.vue | 0 .../webapp => webapp}/pages/admin/settings.vue | 0 .../webapp => webapp}/pages/admin/tags.vue | 0 .../webapp => webapp}/pages/admin/users.vue | 0 .../webapp => webapp}/pages/index.vue | 0 .../webapp => webapp}/pages/login.vue | 0 .../webapp => webapp}/pages/logout.vue | 0 .../webapp => webapp}/pages/moderation.vue | 0 .../pages/moderation/index.vue | 0 .../webapp => webapp}/pages/password-reset.vue | 0 .../pages/password-reset/change-password.vue | 0 .../pages/password-reset/request.vue | 0 .../pages/password-reset/verify-code.vue | 0 .../webapp => webapp}/pages/post/_id.vue | 0 .../pages/post/_id/_slug/index.spec.js | 0 .../pages/post/_id/_slug/index.vue | 0 .../pages/post/_id/_slug/more-info.vue | 0 .../pages/post/_id/_slug/take-action.vue | 0 .../webapp => webapp}/pages/post/create.vue | 0 .../webapp => webapp}/pages/post/edit/_id.vue | 0 .../webapp => webapp}/pages/profile/_id.vue | 0 .../pages/profile/_id/_slug.spec.js | 0 .../pages/profile/_id/_slug.vue | 0 .../webapp => webapp}/pages/settings.vue | 0 .../pages/settings/data-download.vue | 0 .../pages/settings/delete-account.vue | 0 .../pages/settings/index.spec.js | 0 .../webapp => webapp}/pages/settings/index.vue | 0 .../pages/settings/invites.vue | 0 .../pages/settings/languages.vue | 0 .../pages/settings/my-organizations.vue | 0 .../pages/settings/my-social-media.spec.js | 0 .../pages/settings/my-social-media.vue | 0 .../pages/settings/security.vue | 0 {Human-Connection/webapp => webapp}/plugins.md | 0 .../webapp => webapp}/plugins/apollo-config.js | 0 .../webapp => webapp}/plugins/axios.js | 0 .../webapp => webapp}/plugins/i18n.js | 0 .../webapp => webapp}/plugins/izi-toast.js | 0 .../webapp => webapp}/plugins/keep-alive.js | 0 .../plugins/styleguide-dev.js | 0 .../webapp => webapp}/plugins/styleguide.js | 0 .../webapp => webapp}/plugins/v-tooltip.js | 0 .../plugins/vue-directives.js | 0 .../webapp => webapp}/plugins/vue-filters.js | 0 .../screenshot-styleguide.png | Bin .../webapp => webapp}/screenshot.png | Bin .../webapp => webapp}/server/index.js | 0 {Human-Connection/webapp => webapp}/static.md | 0 .../webapp => webapp}/static/favicon.ico | Bin .../static/img/empty-state.svg | 0 .../static/img/empty/alert.svg | 0 .../static/img/empty/docs.svg | 0 .../static/img/empty/events.svg | 0 .../static/img/empty/file.svg | 0 .../static/img/empty/messages.svg | 0 .../static/img/empty/tasks.svg | 0 .../static/img/locale-flags/de.svg | 0 .../static/img/locale-flags/en.svg | 0 .../static/img/locale-flags/es.svg | 0 .../static/img/locale-flags/fr.svg | 0 .../static/img/locale-flags/it.svg | 0 .../static/img/locale-flags/nl.svg | 0 .../static/img/locale-flags/pl.svg | 0 .../static/img/locale-flags/pt.svg | 0 .../static/img/sign-up/alpha-invite.png | Bin .../static/img/sign-up/alpha-invite2x.png | Bin .../static/img/sign-up/humanconnection.png | Bin .../static/img/sign-up/humanconnection.svg | 0 .../static/img/sign-up/nicetomeetyou.png | Bin .../static/img/sign-up/nicetomeetyou.svg | 0 .../static/img/sign-up/onourjourney.png | Bin .../static/img/sign-up/onourjourney.svg | 0 {Human-Connection/webapp => webapp}/store.md | 0 .../webapp => webapp}/store/auth.js | 0 .../webapp => webapp}/store/auth.test.js | 0 .../webapp => webapp}/store/editor.js | 0 .../webapp => webapp}/store/editor.spec.js | 0 .../webapp => webapp}/store/index.js | 0 .../webapp => webapp}/store/modal.js | 0 .../webapp => webapp}/store/notifications.js | 0 .../webapp => webapp}/store/search.js | 0 .../webapp => webapp}/styleguide.md | 0 {Human-Connection/webapp => webapp}/testing.md | 0 {Human-Connection/webapp => webapp}/yarn.lock | 0 Human-Connection/yarn.lock => yarn.lock | 0 559 files changed, 69 deletions(-) rename Human-Connection/.codecov.yml => .codecov.yml (100%) rename Human-Connection/.gitbook.yaml => .gitbook.yaml (100%) rename {Human-Connection/.gitbook => .gitbook}/assets/grafik (1).png (100%) rename {Human-Connection/.gitbook => .gitbook}/assets/grafik-1 (1).png (100%) rename {Human-Connection/.gitbook => .gitbook}/assets/grafik-1.png (100%) rename {Human-Connection/.gitbook => .gitbook}/assets/grafik-4.png (100%) rename {Human-Connection/.gitbook => .gitbook}/assets/grafik.png (100%) rename {Human-Connection/.gitbook => .gitbook}/assets/graphql-playground (1).png (100%) rename {Human-Connection/.gitbook => .gitbook}/assets/graphql-playground.png (100%) rename {Human-Connection/.gitbook => .gitbook}/assets/humanconnection (1).png (100%) rename {Human-Connection/.gitbook => .gitbook}/assets/humanconnection.png (100%) rename {Human-Connection/.gitbook => .gitbook}/assets/lets_get_together.png (100%) rename {Human-Connection/.gitbook => .gitbook}/assets/screenshot (1).png (100%) rename {Human-Connection/.gitbook => .gitbook}/assets/screenshot-neo4j-download-center-current-releases.png (100%) rename {Human-Connection/.gitbook => .gitbook}/assets/screenshot-styleguide (1).png (100%) rename {Human-Connection/.gitbook => .gitbook}/assets/screenshot-styleguide (2).png (100%) rename {Human-Connection/.gitbook => .gitbook}/assets/screenshot-styleguide.png (100%) rename {Human-Connection/.gitbook => .gitbook}/assets/screenshot.png (100%) rename {Human-Connection/.github => .github}/ISSUE_TEMPLATE.md (100%) rename {Human-Connection/.github => .github}/ISSUE_TEMPLATE/bug_report.md (100%) rename {Human-Connection/.github => .github}/ISSUE_TEMPLATE/feature_request.md (100%) rename {Human-Connection/.github => .github}/ISSUE_TEMPLATE/question.md (100%) rename {Human-Connection/.github => .github}/PULL_REQUEST_TEMPLATE.md (100%) rename Human-Connection/.gitignore => .gitignore (100%) rename Human-Connection/.travis.yml => .travis.yml (100%) rename {Human-Connection/.vscode => .vscode}/extensions.json (100%) rename {Human-Connection/.vscode => .vscode}/settings.json (100%) rename Human-Connection/CODE_OF_CONDUCT.md => CODE_OF_CONDUCT.md (100%) rename Human-Connection/CONTRIBUTING.md => CONTRIBUTING.md (100%) delete mode 100644 Human-Connection/deployment/legacy-migration/maintenance-worker/binaries/.env delete mode 100644 Human-Connection/deployment/legacy-migration/maintenance-worker/migration/mongo/.env delete mode 100644 Human-Connection/deployment/legacy-migration/maintenance-worker/migration/neo4j/.env delete mode 100755 Human-Connection/webapp/styleguide/src/system/icons/svg/bold.svg delete mode 100755 Human-Connection/webapp/styleguide/src/system/icons/svg/italic.svg delete mode 100755 Human-Connection/webapp/styleguide/src/system/icons/svg/list-ol.svg delete mode 100755 Human-Connection/webapp/styleguide/src/system/icons/svg/list-ul.svg delete mode 100755 Human-Connection/webapp/styleguide/src/system/icons/svg/paragraph.svg delete mode 100755 Human-Connection/webapp/styleguide/src/system/icons/svg/quote-right.svg rename Human-Connection/LICENSE.md => LICENSE.md (100%) rename Human-Connection/README.md => README.md (100%) rename Human-Connection/SUMMARY.md => SUMMARY.md (100%) rename {Human-Connection/backend => backend}/.babelrc (100%) rename {Human-Connection/backend => backend}/.codecov.yml (100%) rename {Human-Connection/backend => backend}/.dockerignore (100%) rename {Human-Connection/backend => backend}/.env.template (100%) rename {Human-Connection/backend => backend}/.eslintrc.js (100%) rename {Human-Connection/backend => backend}/.gitignore (100%) rename {Human-Connection/backend => backend}/.graphqlconfig (100%) rename {Human-Connection/backend => backend}/.prettierrc.js (100%) rename {Human-Connection/backend => backend}/Dockerfile (100%) rename {Human-Connection/backend => backend}/README.md (100%) rename {Human-Connection/backend => backend}/graphql-playground.png (100%) rename {Human-Connection/backend => backend}/graphql.md (100%) rename {Human-Connection/backend => backend}/humanconnection.png (100%) rename {Human-Connection/backend => backend}/package.json (100%) rename {Human-Connection/backend => backend}/public/.gitkeep (100%) rename {Human-Connection/backend => backend}/public/img/badges/fundraisingbox_de_airship.svg (100%) rename {Human-Connection/backend => backend}/public/img/badges/fundraisingbox_de_alienship.svg (100%) rename {Human-Connection/backend => backend}/public/img/badges/fundraisingbox_de_balloon.svg (100%) rename {Human-Connection/backend => backend}/public/img/badges/fundraisingbox_de_bigballoon.svg (100%) rename {Human-Connection/backend => backend}/public/img/badges/fundraisingbox_de_crane.svg (100%) rename {Human-Connection/backend => backend}/public/img/badges/fundraisingbox_de_glider.svg (100%) rename {Human-Connection/backend => backend}/public/img/badges/fundraisingbox_de_helicopter.svg (100%) rename {Human-Connection/backend => backend}/public/img/badges/fundraisingbox_de_starter.svg (100%) rename {Human-Connection/backend => backend}/public/img/badges/indiegogo_en_bear.svg (100%) rename {Human-Connection/backend => backend}/public/img/badges/indiegogo_en_panda.svg (100%) rename {Human-Connection/backend => backend}/public/img/badges/indiegogo_en_rabbit.svg (100%) rename {Human-Connection/backend => backend}/public/img/badges/indiegogo_en_racoon.svg (100%) rename {Human-Connection/backend => backend}/public/img/badges/indiegogo_en_rhino.svg (100%) rename {Human-Connection/backend => backend}/public/img/badges/indiegogo_en_tiger.svg (100%) rename {Human-Connection/backend => backend}/public/img/badges/indiegogo_en_turtle.svg (100%) rename {Human-Connection/backend => backend}/public/img/badges/indiegogo_en_whale.svg (100%) rename {Human-Connection/backend => backend}/public/img/badges/indiegogo_en_wolf.svg (100%) rename {Human-Connection/backend => backend}/public/img/badges/user_role_admin.svg (100%) rename {Human-Connection/backend => backend}/public/img/badges/user_role_developer.svg (100%) rename {Human-Connection/backend => backend}/public/img/badges/user_role_moderator.svg (100%) rename {Human-Connection/backend => backend}/public/img/badges/wooold_de_bee.svg (100%) rename {Human-Connection/backend => backend}/public/img/badges/wooold_de_butterfly.svg (100%) rename {Human-Connection/backend => backend}/public/img/badges/wooold_de_double_rainbow.svg (100%) rename {Human-Connection/backend => backend}/public/img/badges/wooold_de_end_of_rainbow.svg (100%) rename {Human-Connection/backend => backend}/public/img/badges/wooold_de_flower.svg (100%) rename {Human-Connection/backend => backend}/public/img/badges/wooold_de_lifetree.svg (100%) rename {Human-Connection/backend => backend}/public/img/badges/wooold_de_magic_rainbow.svg (100%) rename {Human-Connection/backend => backend}/public/img/badges/wooold_de_super_founder.svg (100%) rename {Human-Connection/backend => backend}/public/uploads/.gitkeep (100%) rename {Human-Connection/backend => backend}/src/activitypub/ActivityPub.js (100%) rename {Human-Connection/backend => backend}/src/activitypub/Collections.js (100%) rename {Human-Connection/backend => backend}/src/activitypub/NitroDataSource.js (100%) rename {Human-Connection/backend => backend}/src/activitypub/routes/inbox.js (100%) rename {Human-Connection/backend => backend}/src/activitypub/routes/index.js (100%) rename {Human-Connection/backend => backend}/src/activitypub/routes/serveUser.js (100%) rename {Human-Connection/backend => backend}/src/activitypub/routes/user.js (100%) rename {Human-Connection/backend => backend}/src/activitypub/routes/verify.js (100%) rename {Human-Connection/backend => backend}/src/activitypub/routes/webFinger.js (100%) rename {Human-Connection/backend => backend}/src/activitypub/security/httpSignature.spec.js (100%) rename {Human-Connection/backend => backend}/src/activitypub/security/index.js (100%) rename {Human-Connection/backend => backend}/src/activitypub/utils/activity.js (100%) rename {Human-Connection/backend => backend}/src/activitypub/utils/actor.js (100%) rename {Human-Connection/backend => backend}/src/activitypub/utils/collection.js (100%) rename {Human-Connection/backend => backend}/src/activitypub/utils/index.js (100%) rename {Human-Connection/backend => backend}/src/bootstrap/directives.js (100%) rename {Human-Connection/backend => backend}/src/bootstrap/neo4j.js (100%) rename {Human-Connection/backend => backend}/src/bootstrap/scalars.js (100%) rename {Human-Connection/backend => backend}/src/config/index.js (100%) rename {Human-Connection/backend => backend}/src/helpers/asyncForEach.js (100%) rename {Human-Connection/backend => backend}/src/helpers/walkRecursive.js (100%) rename {Human-Connection/backend => backend}/src/index.js (100%) rename {Human-Connection/backend => backend}/src/jest/helpers.js (100%) rename {Human-Connection/backend => backend}/src/jwt/decode.js (100%) rename {Human-Connection/backend => backend}/src/jwt/encode.js (100%) rename {Human-Connection/backend => backend}/src/middleware/activityPubMiddleware.js (100%) rename {Human-Connection/backend => backend}/src/middleware/dateTimeMiddleware.js (100%) rename {Human-Connection/backend => backend}/src/middleware/excerptMiddleware.js (100%) rename {Human-Connection/backend => backend}/src/middleware/filterBubble/filterBubble.spec.js (100%) rename {Human-Connection/backend => backend}/src/middleware/includedFieldsMiddleware.js (100%) rename {Human-Connection/backend => backend}/src/middleware/index.js (100%) rename {Human-Connection/backend => backend}/src/middleware/nodes/locations.js (100%) rename {Human-Connection/backend => backend}/src/middleware/notifications/extractIds/index.js (100%) rename {Human-Connection/backend => backend}/src/middleware/notifications/extractIds/spec.js (100%) rename {Human-Connection/backend => backend}/src/middleware/notifications/index.js (100%) rename {Human-Connection/backend => backend}/src/middleware/notifications/spec.js (100%) rename {Human-Connection/backend => backend}/src/middleware/orderByMiddleware.js (100%) rename {Human-Connection/backend => backend}/src/middleware/orderByMiddleware.spec.js (100%) rename {Human-Connection/backend => backend}/src/middleware/passwordMiddleware.js (100%) rename {Human-Connection/backend => backend}/src/middleware/permissionsMiddleware.js (100%) rename {Human-Connection/backend => backend}/src/middleware/permissionsMiddleware.spec.js (100%) rename {Human-Connection/backend => backend}/src/middleware/sluggifyMiddleware.js (100%) rename {Human-Connection/backend => backend}/src/middleware/slugify/uniqueSlug.js (100%) rename {Human-Connection/backend => backend}/src/middleware/slugify/uniqueSlug.spec.js (100%) rename {Human-Connection/backend => backend}/src/middleware/slugifyMiddleware.spec.js (100%) rename {Human-Connection/backend => backend}/src/middleware/softDeleteMiddleware.js (100%) rename {Human-Connection/backend => backend}/src/middleware/softDeleteMiddleware.spec.js (100%) rename {Human-Connection/backend => backend}/src/middleware/userMiddleware.js (100%) rename {Human-Connection/backend => backend}/src/middleware/validation/index.js (100%) rename {Human-Connection/backend => backend}/src/middleware/xssMiddleware.js (100%) rename {Human-Connection/backend => backend}/src/mocks/index.js (100%) rename {Human-Connection/backend => backend}/src/schema/index.js (100%) rename {Human-Connection/backend => backend}/src/schema/resolvers/badges.spec.js (100%) rename {Human-Connection/backend => backend}/src/schema/resolvers/comments.js (100%) rename {Human-Connection/backend => backend}/src/schema/resolvers/comments.spec.js (100%) rename {Human-Connection/backend => backend}/src/schema/resolvers/fileUpload/index.js (100%) rename {Human-Connection/backend => backend}/src/schema/resolvers/fileUpload/spec.js (100%) rename {Human-Connection/backend => backend}/src/schema/resolvers/follow.js (100%) rename {Human-Connection/backend => backend}/src/schema/resolvers/follow.spec.js (100%) rename {Human-Connection/backend => backend}/src/schema/resolvers/index.js (100%) rename {Human-Connection/backend => backend}/src/schema/resolvers/moderation.js (100%) rename {Human-Connection/backend => backend}/src/schema/resolvers/moderation.spec.js (100%) rename {Human-Connection/backend => backend}/src/schema/resolvers/notifications.js (100%) rename {Human-Connection/backend => backend}/src/schema/resolvers/notifications.spec.js (100%) rename {Human-Connection/backend => backend}/src/schema/resolvers/passwordReset.js (100%) rename {Human-Connection/backend => backend}/src/schema/resolvers/passwordReset.spec.js (100%) rename {Human-Connection/backend => backend}/src/schema/resolvers/passwordReset/emailTemplates.js (100%) rename {Human-Connection/backend => backend}/src/schema/resolvers/posts.js (100%) rename {Human-Connection/backend => backend}/src/schema/resolvers/posts.spec.js (100%) rename {Human-Connection/backend => backend}/src/schema/resolvers/reports.js (100%) rename {Human-Connection/backend => backend}/src/schema/resolvers/reports.spec.js (100%) rename {Human-Connection/backend => backend}/src/schema/resolvers/rewards.js (100%) rename {Human-Connection/backend => backend}/src/schema/resolvers/rewards.spec.js (100%) rename {Human-Connection/backend => backend}/src/schema/resolvers/shout.js (100%) rename {Human-Connection/backend => backend}/src/schema/resolvers/shout.spec.js (100%) rename {Human-Connection/backend => backend}/src/schema/resolvers/socialMedia.js (100%) rename {Human-Connection/backend => backend}/src/schema/resolvers/socialMedia.spec.js (100%) rename {Human-Connection/backend => backend}/src/schema/resolvers/statistics.js (100%) rename {Human-Connection/backend => backend}/src/schema/resolvers/user_management.js (100%) rename {Human-Connection/backend => backend}/src/schema/resolvers/user_management.spec.js (100%) rename {Human-Connection/backend => backend}/src/schema/resolvers/users.js (100%) rename {Human-Connection/backend => backend}/src/schema/resolvers/users.spec.js (100%) rename {Human-Connection/backend => backend}/src/schema/types/enum/BadgeStatus.gql (100%) rename {Human-Connection/backend => backend}/src/schema/types/enum/BadgeType.gql (100%) rename {Human-Connection/backend => backend}/src/schema/types/enum/UserGroup.gql (100%) rename {Human-Connection/backend => backend}/src/schema/types/enum/Visibility.gql (100%) rename {Human-Connection/backend => backend}/src/schema/types/index.js (100%) rename {Human-Connection/backend => backend}/src/schema/types/scalar/Date.gql_ (100%) rename {Human-Connection/backend => backend}/src/schema/types/scalar/DateTime.gql_ (100%) rename {Human-Connection/backend => backend}/src/schema/types/scalar/Time.gql_ (100%) rename {Human-Connection/backend => backend}/src/schema/types/scalar/Upload.gql (100%) rename {Human-Connection/backend => backend}/src/schema/types/schema.gql (100%) rename {Human-Connection/backend => backend}/src/schema/types/schema_full.gql_ (100%) rename {Human-Connection/backend => backend}/src/schema/types/type/Badge.gql (100%) rename {Human-Connection/backend => backend}/src/schema/types/type/Category.gql (100%) rename {Human-Connection/backend => backend}/src/schema/types/type/Comment.gql (100%) rename {Human-Connection/backend => backend}/src/schema/types/type/Post.gql (100%) rename {Human-Connection/backend => backend}/src/schema/types/type/Tag.gql (100%) rename {Human-Connection/backend => backend}/src/schema/types/type/User.gql (100%) rename {Human-Connection/backend => backend}/src/seed/factories/badges.js (100%) rename {Human-Connection/backend => backend}/src/seed/factories/categories.js (100%) rename {Human-Connection/backend => backend}/src/seed/factories/comments.js (100%) rename {Human-Connection/backend => backend}/src/seed/factories/index.js (100%) rename {Human-Connection/backend => backend}/src/seed/factories/notifications.js (100%) rename {Human-Connection/backend => backend}/src/seed/factories/organizations.js (100%) rename {Human-Connection/backend => backend}/src/seed/factories/posts.js (100%) rename {Human-Connection/backend => backend}/src/seed/factories/reports.js (100%) rename {Human-Connection/backend => backend}/src/seed/factories/tags.js (100%) rename {Human-Connection/backend => backend}/src/seed/factories/users.js (100%) rename {Human-Connection/backend => backend}/src/seed/reset-db.js (100%) rename {Human-Connection/backend => backend}/src/seed/seed-db.js (100%) rename {Human-Connection/backend => backend}/src/seed/seed-helpers.js (100%) rename {Human-Connection/backend => backend}/src/server.js (100%) rename {Human-Connection/backend => backend}/test/features/activity-delete.feature (100%) rename {Human-Connection/backend => backend}/test/features/activity-follow.feature (100%) rename {Human-Connection/backend => backend}/test/features/activity-like.feature (100%) rename {Human-Connection/backend => backend}/test/features/collection.feature (100%) rename {Human-Connection/backend => backend}/test/features/object-article.feature (100%) rename {Human-Connection/backend => backend}/test/features/support/steps.js (100%) rename {Human-Connection/backend => backend}/test/features/webfinger.feature (100%) rename {Human-Connection/backend => backend}/test/features/world.js (100%) rename {Human-Connection/backend => backend}/testing.md (100%) rename {Human-Connection/backend => backend}/yarn.lock (100%) rename Human-Connection/cypress.env.template.json => cypress.env.template.json (100%) rename Human-Connection/cypress.json => cypress.json (100%) rename {Human-Connection/cypress => cypress}/README.md (100%) rename {Human-Connection/cypress => cypress}/features.md (100%) rename {Human-Connection/cypress => cypress}/fixtures/example.json (100%) rename {Human-Connection/cypress => cypress}/fixtures/onourjourney.png (100%) rename {Human-Connection/cypress => cypress}/fixtures/users.json (100%) rename {Human-Connection/cypress => cypress}/integration/administration/TagsAndCategories.feature (100%) rename {Human-Connection/cypress => cypress}/integration/common/admin.js (100%) rename {Human-Connection/cypress => cypress}/integration/common/post.js (100%) rename {Human-Connection/cypress => cypress}/integration/common/profile.js (100%) rename {Human-Connection/cypress => cypress}/integration/common/report.js (100%) rename {Human-Connection/cypress => cypress}/integration/common/search.js (100%) rename {Human-Connection/cypress => cypress}/integration/common/settings.js (100%) rename {Human-Connection/cypress => cypress}/integration/common/steps.js (100%) rename {Human-Connection/cypress => cypress}/integration/internationalization/Internationalization.feature (100%) rename {Human-Connection/cypress => cypress}/integration/moderation/HidePosts.feature (100%) rename {Human-Connection/cypress => cypress}/integration/moderation/ReportContent.feature (100%) rename {Human-Connection/cypress => cypress}/integration/notifications/Mentions.feature (100%) rename {Human-Connection/cypress => cypress}/integration/post/Comment.feature (100%) rename {Human-Connection/cypress => cypress}/integration/post/PersistentLinks.feature (100%) rename {Human-Connection/cypress => cypress}/integration/post/WritePost.feature (100%) rename {Human-Connection/cypress => cypress}/integration/search/Search.feature (100%) rename {Human-Connection/cypress => cypress}/integration/user_account/ChangePassword.feature (100%) rename {Human-Connection/cypress => cypress}/integration/user_account/Login.feature (100%) rename {Human-Connection/cypress => cypress}/integration/user_profile/AboutMeAndLocation.feature (100%) rename {Human-Connection/cypress => cypress}/integration/user_profile/SocialMedia.feature (100%) rename {Human-Connection/cypress => cypress}/integration/user_profile/UploadUserProfileImage.feature (100%) rename {Human-Connection/cypress => cypress}/plugins/index.js (100%) rename {Human-Connection/cypress => cypress}/support/commands.js (100%) rename {Human-Connection/cypress => cypress}/support/factories.js (100%) rename {Human-Connection/cypress => cypress}/support/helpers.js (100%) rename {Human-Connection/cypress => cypress}/support/index.js (100%) rename {Human-Connection/deployment => deployment}/.gitignore (100%) rename {Human-Connection/deployment => deployment}/README.md (100%) rename {Human-Connection/deployment => deployment}/digital-ocean/README.md (100%) rename {Human-Connection/deployment => deployment}/digital-ocean/dashboard/README.md (100%) rename {Human-Connection/deployment => deployment}/digital-ocean/dashboard/admin-user.yaml (100%) rename {Human-Connection/deployment => deployment}/digital-ocean/dashboard/dashboard-screenshot.png (100%) rename {Human-Connection/deployment => deployment}/digital-ocean/dashboard/role-binding.yaml (100%) rename {Human-Connection/deployment => deployment}/digital-ocean/https/.gitignore (100%) rename {Human-Connection/deployment => deployment}/digital-ocean/https/README.md (100%) rename {Human-Connection/deployment => deployment}/digital-ocean/https/ip-address.png (100%) rename {Human-Connection/deployment => deployment}/digital-ocean/https/namespace.yaml (100%) rename {Human-Connection/deployment => deployment}/digital-ocean/https/templates/ingress.template.yaml (100%) rename {Human-Connection/deployment => deployment}/digital-ocean/https/templates/issuer.template.yaml (100%) rename {Human-Connection/deployment => deployment}/human-connection/README.md (100%) rename {Human-Connection/deployment => deployment}/human-connection/deployment-backend.yaml (100%) rename {Human-Connection/deployment => deployment}/human-connection/deployment-neo4j.yaml (100%) rename {Human-Connection/deployment => deployment}/human-connection/deployment-web.yaml (100%) rename {Human-Connection/deployment => deployment}/human-connection/mailserver/README.md (100%) rename {Human-Connection/deployment => deployment}/human-connection/mailserver/deployment-mailserver.yaml (100%) rename {Human-Connection/deployment => deployment}/human-connection/mailserver/service-mailserver.yaml (100%) rename {Human-Connection/deployment => deployment}/human-connection/service-backend.yaml (100%) rename {Human-Connection/deployment => deployment}/human-connection/service-neo4j.yaml (100%) rename {Human-Connection/deployment => deployment}/human-connection/service-web.yaml (100%) rename {Human-Connection/deployment => deployment}/human-connection/templates/configmap.template.yaml (100%) rename {Human-Connection/deployment => deployment}/human-connection/templates/secrets.template.yaml (100%) rename {Human-Connection/deployment => deployment}/legacy-migration/README.md (100%) rename {Human-Connection/deployment => deployment}/legacy-migration/maintenance-worker.yaml (100%) rename {Human-Connection/deployment => deployment}/legacy-migration/maintenance-worker/.dockerignore (100%) rename {Human-Connection/deployment => deployment}/legacy-migration/maintenance-worker/.gitignore (100%) rename {Human-Connection/deployment => deployment}/legacy-migration/maintenance-worker/Dockerfile (100%) rename {Human-Connection/deployment => deployment}/legacy-migration/maintenance-worker/binaries/idle (100%) rename {Human-Connection/deployment => deployment}/legacy-migration/maintenance-worker/binaries/import_legacy_db (100%) rename {Human-Connection/deployment => deployment}/legacy-migration/maintenance-worker/binaries/import_legacy_uploads (100%) rename {Human-Connection/deployment => deployment}/legacy-migration/maintenance-worker/known_hosts (100%) rename {Human-Connection/deployment => deployment}/legacy-migration/maintenance-worker/migration/mongo/export.sh (100%) rename {Human-Connection/deployment => deployment}/legacy-migration/maintenance-worker/migration/neo4j/badges/badges.cql (100%) rename {Human-Connection/deployment => deployment}/legacy-migration/maintenance-worker/migration/neo4j/badges/delete.cql (100%) rename {Human-Connection/deployment => deployment}/legacy-migration/maintenance-worker/migration/neo4j/categories/categories.cql (100%) rename {Human-Connection/deployment => deployment}/legacy-migration/maintenance-worker/migration/neo4j/categories/delete.cql (100%) rename {Human-Connection/deployment => deployment}/legacy-migration/maintenance-worker/migration/neo4j/comments/comments.cql (100%) rename {Human-Connection/deployment => deployment}/legacy-migration/maintenance-worker/migration/neo4j/comments/delete.cql (100%) rename {Human-Connection/deployment => deployment}/legacy-migration/maintenance-worker/migration/neo4j/contributions/contributions.cql (100%) rename {Human-Connection/deployment => deployment}/legacy-migration/maintenance-worker/migration/neo4j/contributions/delete.cql (100%) rename {Human-Connection/deployment => deployment}/legacy-migration/maintenance-worker/migration/neo4j/delete_all.cql (100%) rename {Human-Connection/deployment => deployment}/legacy-migration/maintenance-worker/migration/neo4j/emotions/delete.cql (100%) rename {Human-Connection/deployment => deployment}/legacy-migration/maintenance-worker/migration/neo4j/emotions/emotions.cql (100%) rename {Human-Connection/deployment => deployment}/legacy-migration/maintenance-worker/migration/neo4j/follows/delete.cql (100%) rename {Human-Connection/deployment => deployment}/legacy-migration/maintenance-worker/migration/neo4j/follows/follows.cql (100%) rename {Human-Connection/deployment => deployment}/legacy-migration/maintenance-worker/migration/neo4j/import.sh (100%) rename {Human-Connection/deployment => deployment}/legacy-migration/maintenance-worker/migration/neo4j/invites/delete.cql (100%) rename {Human-Connection/deployment => deployment}/legacy-migration/maintenance-worker/migration/neo4j/invites/invites.cql (100%) rename {Human-Connection/deployment => deployment}/legacy-migration/maintenance-worker/migration/neo4j/notifications/delete.cql (100%) rename {Human-Connection/deployment => deployment}/legacy-migration/maintenance-worker/migration/neo4j/notifications/notifications.cql (100%) rename {Human-Connection/deployment => deployment}/legacy-migration/maintenance-worker/migration/neo4j/organizations/delete.cql (100%) rename {Human-Connection/deployment => deployment}/legacy-migration/maintenance-worker/migration/neo4j/organizations/organizations.cql (100%) rename {Human-Connection/deployment => deployment}/legacy-migration/maintenance-worker/migration/neo4j/pages/delete.cql (100%) rename {Human-Connection/deployment => deployment}/legacy-migration/maintenance-worker/migration/neo4j/pages/pages.cql (100%) rename {Human-Connection/deployment => deployment}/legacy-migration/maintenance-worker/migration/neo4j/projects/delete.cql (100%) rename {Human-Connection/deployment => deployment}/legacy-migration/maintenance-worker/migration/neo4j/projects/projects.cql (100%) rename {Human-Connection/deployment => deployment}/legacy-migration/maintenance-worker/migration/neo4j/settings/delete.cql (100%) rename {Human-Connection/deployment => deployment}/legacy-migration/maintenance-worker/migration/neo4j/settings/settings.cql (100%) rename {Human-Connection/deployment => deployment}/legacy-migration/maintenance-worker/migration/neo4j/shouts/delete.cql (100%) rename {Human-Connection/deployment => deployment}/legacy-migration/maintenance-worker/migration/neo4j/shouts/shouts.cql (100%) rename {Human-Connection/deployment => deployment}/legacy-migration/maintenance-worker/migration/neo4j/status/delete.cql (100%) rename {Human-Connection/deployment => deployment}/legacy-migration/maintenance-worker/migration/neo4j/status/status.cql (100%) rename {Human-Connection/deployment => deployment}/legacy-migration/maintenance-worker/migration/neo4j/systemnotifications/delete.cql (100%) rename {Human-Connection/deployment => deployment}/legacy-migration/maintenance-worker/migration/neo4j/systemnotifications/systemnotifications.cql (100%) rename {Human-Connection/deployment => deployment}/legacy-migration/maintenance-worker/migration/neo4j/users/delete.cql (100%) rename {Human-Connection/deployment => deployment}/legacy-migration/maintenance-worker/migration/neo4j/users/users.cql (100%) rename {Human-Connection/deployment => deployment}/legacy-migration/maintenance-worker/migration/neo4j/userscandos/delete.cql (100%) rename {Human-Connection/deployment => deployment}/legacy-migration/maintenance-worker/migration/neo4j/userscandos/userscandos.cql (100%) rename {Human-Connection/deployment => deployment}/legacy-migration/maintenance-worker/migration/neo4j/usersettings/delete.cql (100%) rename {Human-Connection/deployment => deployment}/legacy-migration/maintenance-worker/migration/neo4j/usersettings/usersettings.cql (100%) rename {Human-Connection/deployment => deployment}/minikube/README.md (100%) rename {Human-Connection/deployment => deployment}/namespace.yaml (100%) rename {Human-Connection/deployment => deployment}/volumes/README.md (100%) rename {Human-Connection/deployment => deployment}/volumes/neo4j-data.yaml (100%) rename {Human-Connection/deployment => deployment}/volumes/neo4j-offline-backup/README.md (100%) rename {Human-Connection/deployment => deployment}/volumes/reclaim-policy/README.md (100%) rename {Human-Connection/deployment => deployment}/volumes/uploads.yaml (100%) rename {Human-Connection/deployment => deployment}/volumes/velero/README.md (100%) rename {Human-Connection/deployment => deployment}/volumes/volume-snapshots/README.md (100%) rename {Human-Connection/deployment => deployment}/volumes/volume-snapshots/digital-ocean-volume-snapshots.png (100%) rename {Human-Connection/deployment => deployment}/volumes/volume-snapshots/neo4j-data.yaml (100%) rename {Human-Connection/deployment => deployment}/volumes/volume-snapshots/snapshot.yaml (100%) rename Human-Connection/docker-compose.maintenance.yml => docker-compose.maintenance.yml (100%) rename Human-Connection/docker-compose.override.yml => docker-compose.override.yml (100%) rename Human-Connection/docker-compose.travis.yml => docker-compose.travis.yml (100%) rename Human-Connection/docker-compose.yml => docker-compose.yml (100%) rename Human-Connection/edit-this-documentation.md => edit-this-documentation.md (100%) rename Human-Connection/installation.md => installation.md (100%) rename {Human-Connection/neo4j => neo4j}/.env.template (100%) rename {Human-Connection/neo4j => neo4j}/.gitignore (100%) rename {Human-Connection/neo4j => neo4j}/Dockerfile (100%) rename {Human-Connection/neo4j => neo4j}/README.md (100%) rename {Human-Connection/neo4j => neo4j}/db_setup.sh (100%) rename {Human-Connection/neo4j => neo4j}/entrypoint.sh (100%) rename Human-Connection/package.json => package.json (100%) rename {Human-Connection/scripts => scripts}/deploy.sh (100%) rename {Human-Connection/scripts => scripts}/docker_push.sh (100%) rename {Human-Connection/scripts => scripts}/patch-deployment.yaml (100%) rename {Human-Connection/scripts => scripts}/setup_kubernetes.sh (100%) rename Human-Connection/testing.md => testing.md (100%) rename {Human-Connection/webapp => webapp}/.babelrc (100%) rename {Human-Connection/webapp => webapp}/.dockerignore (100%) rename {Human-Connection/webapp => webapp}/.editorconfig (100%) rename {Human-Connection/webapp => webapp}/.env.template (100%) rename {Human-Connection/webapp => webapp}/.eslintignore (100%) rename {Human-Connection/webapp => webapp}/.eslintrc.js (100%) rename {Human-Connection/webapp => webapp}/.gitignore (100%) rename {Human-Connection/webapp => webapp}/.prettierrc.js (100%) rename {Human-Connection/webapp => webapp}/Dockerfile (100%) rename {Human-Connection/webapp => webapp}/README.md (100%) rename {Human-Connection/webapp => webapp}/assets.md (100%) rename {Human-Connection/webapp => webapp}/assets/styles/imports/_toast.scss (100%) rename {Human-Connection/webapp => webapp}/assets/styles/imports/_tooltip.scss (100%) rename {Human-Connection/webapp => webapp}/assets/styles/main.scss (100%) rename {Human-Connection/webapp => webapp}/components.md (100%) rename {Human-Connection/webapp => webapp}/components/Avatar/Avatar.spec.js (100%) rename {Human-Connection/webapp => webapp}/components/Avatar/Avatar.vue (100%) rename {Human-Connection/webapp => webapp}/components/Badges.spec.js (100%) rename {Human-Connection/webapp => webapp}/components/Badges.vue (100%) rename {Human-Connection/webapp => webapp}/components/CategoriesSelect/CategoriesSelect.spec.js (100%) rename {Human-Connection/webapp => webapp}/components/CategoriesSelect/CategoriesSelect.vue (100%) rename {Human-Connection/webapp => webapp}/components/Category/Readme.md (100%) rename {Human-Connection/webapp => webapp}/components/Category/index.spec.js (100%) rename {Human-Connection/webapp => webapp}/components/Category/index.vue (100%) rename {Human-Connection/webapp => webapp}/components/Comment.spec.js (100%) rename {Human-Connection/webapp => webapp}/components/Comment.vue (100%) rename {Human-Connection/webapp => webapp}/components/ContentMenu.vue (100%) rename {Human-Connection/webapp => webapp}/components/ContributionForm/ContributionForm.spec.js (100%) rename {Human-Connection/webapp => webapp}/components/ContributionForm/ContributionForm.vue (100%) rename {Human-Connection/webapp => webapp}/components/CountTo.vue (100%) rename {Human-Connection/webapp => webapp}/components/DeleteData/DeleteData.spec.js (100%) rename {Human-Connection/webapp => webapp}/components/DeleteData/DeleteData.vue (100%) rename {Human-Connection/webapp => webapp}/components/Dropdown.vue (100%) rename {Human-Connection/webapp => webapp}/components/Editor/index.vue (100%) rename {Human-Connection/webapp => webapp}/components/Editor/nodes/Mention.js (100%) rename {Human-Connection/webapp => webapp}/components/Editor/plugins/eventHandler.js (100%) rename {Human-Connection/webapp => webapp}/components/Editor/spec.js (100%) rename {Human-Connection/webapp => webapp}/components/Empty.vue (100%) rename {Human-Connection/webapp => webapp}/components/FilterMenu/FilterMenu.spec.js (100%) rename {Human-Connection/webapp => webapp}/components/FilterMenu/FilterMenu.vue (100%) rename {Human-Connection/webapp => webapp}/components/FollowButton.vue (100%) rename {Human-Connection/webapp => webapp}/components/LoadMore.vue (100%) rename {Human-Connection/webapp => webapp}/components/LocaleSwitch/LocaleSwitch.spec.js (100%) rename {Human-Connection/webapp => webapp}/components/LocaleSwitch/LocaleSwitch.vue (100%) rename {Human-Connection/webapp => webapp}/components/Logo.vue (100%) rename {Human-Connection/webapp => webapp}/components/Modal.spec.js (100%) rename {Human-Connection/webapp => webapp}/components/Modal.vue (100%) rename {Human-Connection/webapp => webapp}/components/Modal/ConfirmModal.spec.js (100%) rename {Human-Connection/webapp => webapp}/components/Modal/ConfirmModal.vue (100%) rename {Human-Connection/webapp => webapp}/components/Modal/DisableModal.spec.js (100%) rename {Human-Connection/webapp => webapp}/components/Modal/DisableModal.vue (100%) rename {Human-Connection/webapp => webapp}/components/Modal/ReportModal.spec.js (100%) rename {Human-Connection/webapp => webapp}/components/Modal/ReportModal.vue (100%) rename {Human-Connection/webapp => webapp}/components/Password/Change.spec.js (100%) rename {Human-Connection/webapp => webapp}/components/Password/Change.vue (100%) rename {Human-Connection/webapp => webapp}/components/Password/Strength.vue (100%) rename {Human-Connection/webapp => webapp}/components/PasswordReset/ChangePassword.spec.js (100%) rename {Human-Connection/webapp => webapp}/components/PasswordReset/ChangePassword.vue (100%) rename {Human-Connection/webapp => webapp}/components/PasswordReset/Request.spec.js (100%) rename {Human-Connection/webapp => webapp}/components/PasswordReset/Request.vue (100%) rename {Human-Connection/webapp => webapp}/components/PasswordReset/VerifyCode.spec.js (100%) rename {Human-Connection/webapp => webapp}/components/PasswordReset/VerifyCode.vue (100%) rename {Human-Connection/webapp => webapp}/components/PostCard/index.spec.js (100%) rename {Human-Connection/webapp => webapp}/components/PostCard/index.vue (100%) rename {Human-Connection/webapp => webapp}/components/RelativeDateTime/Readme.md (100%) rename {Human-Connection/webapp => webapp}/components/RelativeDateTime/index.vue (100%) rename {Human-Connection/webapp => webapp}/components/RelativeDateTime/spec.js (100%) rename {Human-Connection/webapp => webapp}/components/ReleaseModal/ReleaseModal.spec.js (100%) rename {Human-Connection/webapp => webapp}/components/ReleaseModal/ReleaseModal.vue (100%) rename {Human-Connection/webapp => webapp}/components/Ribbon/index.spec.js (100%) rename {Human-Connection/webapp => webapp}/components/Ribbon/index.vue (100%) rename {Human-Connection/webapp => webapp}/components/SearchInput.spec.js (100%) rename {Human-Connection/webapp => webapp}/components/SearchInput.vue (100%) rename {Human-Connection/webapp => webapp}/components/ShoutButton.vue (100%) rename {Human-Connection/webapp => webapp}/components/Tag/Readme.md (100%) rename {Human-Connection/webapp => webapp}/components/Tag/index.vue (100%) rename {Human-Connection/webapp => webapp}/components/Tag/spec.js (100%) rename {Human-Connection/webapp => webapp}/components/TeaserImage/TeaserImage.spec.js (100%) rename {Human-Connection/webapp => webapp}/components/TeaserImage/TeaserImage.vue (100%) rename {Human-Connection/webapp => webapp}/components/Upload/index.vue (100%) rename {Human-Connection/webapp => webapp}/components/Upload/spec.js (100%) rename {Human-Connection/webapp => webapp}/components/User/index.vue (100%) rename {Human-Connection/webapp => webapp}/components/User/spec.js (100%) rename {Human-Connection/webapp => webapp}/components/comments/CommentForm/index.vue (100%) rename {Human-Connection/webapp => webapp}/components/comments/CommentForm/spec.js (100%) rename {Human-Connection/webapp => webapp}/components/comments/CommentList/CommentList.spec.js (100%) rename {Human-Connection/webapp => webapp}/components/comments/CommentList/index.vue (100%) rename {Human-Connection/webapp => webapp}/components/notifications/Notification/index.vue (100%) rename {Human-Connection/webapp => webapp}/components/notifications/Notification/spec.js (100%) rename {Human-Connection/webapp => webapp}/components/notifications/NotificationList/index.vue (100%) rename {Human-Connection/webapp => webapp}/components/notifications/NotificationList/spec.js (100%) rename {Human-Connection/webapp => webapp}/components/notifications/NotificationMenu/index.vue (100%) rename {Human-Connection/webapp => webapp}/components/notifications/NotificationMenu/spec.js (100%) rename {Human-Connection/webapp => webapp}/components/utils/PostHelpers.js (100%) rename {Human-Connection/webapp => webapp}/graphql/CommentMutations.js (100%) rename {Human-Connection/webapp => webapp}/graphql/CommentQuery.js (100%) rename {Human-Connection/webapp => webapp}/graphql/ModerationListQuery.js (100%) rename {Human-Connection/webapp => webapp}/graphql/PostCommentsQuery.js (100%) rename {Human-Connection/webapp => webapp}/graphql/PostMutations.js (100%) rename {Human-Connection/webapp => webapp}/graphql/PostQuery.js (100%) rename {Human-Connection/webapp => webapp}/graphql/UserProfile/Post.js (100%) rename {Human-Connection/webapp => webapp}/graphql/UserProfile/User.js (100%) rename {Human-Connection/webapp => webapp}/layouts.md (100%) rename {Human-Connection/webapp => webapp}/layouts/blank.vue (100%) rename {Human-Connection/webapp => webapp}/layouts/default.vue (100%) rename {Human-Connection/webapp => webapp}/locales/de.json (100%) rename {Human-Connection/webapp => webapp}/locales/en.json (100%) rename {Human-Connection/webapp => webapp}/locales/es.json (100%) rename {Human-Connection/webapp => webapp}/locales/fr.json (100%) rename {Human-Connection/webapp => webapp}/locales/index.js (100%) rename {Human-Connection/webapp => webapp}/locales/it.json (100%) rename {Human-Connection/webapp => webapp}/locales/nl.json (100%) rename {Human-Connection/webapp => webapp}/locales/pl.json (100%) rename {Human-Connection/webapp => webapp}/locales/pt.json (100%) rename {Human-Connection/webapp => webapp}/lokalise.png (100%) rename {Human-Connection/webapp => webapp}/middleware.md (100%) rename {Human-Connection/webapp => webapp}/middleware/authenticated.js (100%) rename {Human-Connection/webapp => webapp}/middleware/isAdmin.js (100%) rename {Human-Connection/webapp => webapp}/middleware/isModerator.js (100%) rename {Human-Connection/webapp => webapp}/mixins/persistentLinks.js (100%) rename {Human-Connection/webapp => webapp}/mixins/seo.js (100%) rename {Human-Connection/webapp => webapp}/nuxt.config.js (100%) rename {Human-Connection/webapp => webapp}/package.json (100%) rename {Human-Connection/webapp => webapp}/pages.md (100%) rename {Human-Connection/webapp => webapp}/pages/admin.vue (100%) rename {Human-Connection/webapp => webapp}/pages/admin/categories.vue (100%) rename {Human-Connection/webapp => webapp}/pages/admin/index.vue (100%) rename {Human-Connection/webapp => webapp}/pages/admin/notifications.vue (100%) rename {Human-Connection/webapp => webapp}/pages/admin/organizations.vue (100%) rename {Human-Connection/webapp => webapp}/pages/admin/pages.vue (100%) rename {Human-Connection/webapp => webapp}/pages/admin/settings.vue (100%) rename {Human-Connection/webapp => webapp}/pages/admin/tags.vue (100%) rename {Human-Connection/webapp => webapp}/pages/admin/users.vue (100%) rename {Human-Connection/webapp => webapp}/pages/index.vue (100%) rename {Human-Connection/webapp => webapp}/pages/login.vue (100%) rename {Human-Connection/webapp => webapp}/pages/logout.vue (100%) rename {Human-Connection/webapp => webapp}/pages/moderation.vue (100%) rename {Human-Connection/webapp => webapp}/pages/moderation/index.vue (100%) rename {Human-Connection/webapp => webapp}/pages/password-reset.vue (100%) rename {Human-Connection/webapp => webapp}/pages/password-reset/change-password.vue (100%) rename {Human-Connection/webapp => webapp}/pages/password-reset/request.vue (100%) rename {Human-Connection/webapp => webapp}/pages/password-reset/verify-code.vue (100%) rename {Human-Connection/webapp => webapp}/pages/post/_id.vue (100%) rename {Human-Connection/webapp => webapp}/pages/post/_id/_slug/index.spec.js (100%) rename {Human-Connection/webapp => webapp}/pages/post/_id/_slug/index.vue (100%) rename {Human-Connection/webapp => webapp}/pages/post/_id/_slug/more-info.vue (100%) rename {Human-Connection/webapp => webapp}/pages/post/_id/_slug/take-action.vue (100%) rename {Human-Connection/webapp => webapp}/pages/post/create.vue (100%) rename {Human-Connection/webapp => webapp}/pages/post/edit/_id.vue (100%) rename {Human-Connection/webapp => webapp}/pages/profile/_id.vue (100%) rename {Human-Connection/webapp => webapp}/pages/profile/_id/_slug.spec.js (100%) rename {Human-Connection/webapp => webapp}/pages/profile/_id/_slug.vue (100%) rename {Human-Connection/webapp => webapp}/pages/settings.vue (100%) rename {Human-Connection/webapp => webapp}/pages/settings/data-download.vue (100%) rename {Human-Connection/webapp => webapp}/pages/settings/delete-account.vue (100%) rename {Human-Connection/webapp => webapp}/pages/settings/index.spec.js (100%) rename {Human-Connection/webapp => webapp}/pages/settings/index.vue (100%) rename {Human-Connection/webapp => webapp}/pages/settings/invites.vue (100%) rename {Human-Connection/webapp => webapp}/pages/settings/languages.vue (100%) rename {Human-Connection/webapp => webapp}/pages/settings/my-organizations.vue (100%) rename {Human-Connection/webapp => webapp}/pages/settings/my-social-media.spec.js (100%) rename {Human-Connection/webapp => webapp}/pages/settings/my-social-media.vue (100%) rename {Human-Connection/webapp => webapp}/pages/settings/security.vue (100%) rename {Human-Connection/webapp => webapp}/plugins.md (100%) rename {Human-Connection/webapp => webapp}/plugins/apollo-config.js (100%) rename {Human-Connection/webapp => webapp}/plugins/axios.js (100%) rename {Human-Connection/webapp => webapp}/plugins/i18n.js (100%) rename {Human-Connection/webapp => webapp}/plugins/izi-toast.js (100%) rename {Human-Connection/webapp => webapp}/plugins/keep-alive.js (100%) rename {Human-Connection/webapp => webapp}/plugins/styleguide-dev.js (100%) rename {Human-Connection/webapp => webapp}/plugins/styleguide.js (100%) rename {Human-Connection/webapp => webapp}/plugins/v-tooltip.js (100%) rename {Human-Connection/webapp => webapp}/plugins/vue-directives.js (100%) rename {Human-Connection/webapp => webapp}/plugins/vue-filters.js (100%) rename {Human-Connection/webapp => webapp}/screenshot-styleguide.png (100%) rename {Human-Connection/webapp => webapp}/screenshot.png (100%) rename {Human-Connection/webapp => webapp}/server/index.js (100%) rename {Human-Connection/webapp => webapp}/static.md (100%) rename {Human-Connection/webapp => webapp}/static/favicon.ico (100%) rename {Human-Connection/webapp => webapp}/static/img/empty-state.svg (100%) rename {Human-Connection/webapp => webapp}/static/img/empty/alert.svg (100%) rename {Human-Connection/webapp => webapp}/static/img/empty/docs.svg (100%) rename {Human-Connection/webapp => webapp}/static/img/empty/events.svg (100%) rename {Human-Connection/webapp => webapp}/static/img/empty/file.svg (100%) rename {Human-Connection/webapp => webapp}/static/img/empty/messages.svg (100%) rename {Human-Connection/webapp => webapp}/static/img/empty/tasks.svg (100%) rename {Human-Connection/webapp => webapp}/static/img/locale-flags/de.svg (100%) rename {Human-Connection/webapp => webapp}/static/img/locale-flags/en.svg (100%) rename {Human-Connection/webapp => webapp}/static/img/locale-flags/es.svg (100%) rename {Human-Connection/webapp => webapp}/static/img/locale-flags/fr.svg (100%) rename {Human-Connection/webapp => webapp}/static/img/locale-flags/it.svg (100%) rename {Human-Connection/webapp => webapp}/static/img/locale-flags/nl.svg (100%) rename {Human-Connection/webapp => webapp}/static/img/locale-flags/pl.svg (100%) rename {Human-Connection/webapp => webapp}/static/img/locale-flags/pt.svg (100%) rename {Human-Connection/webapp => webapp}/static/img/sign-up/alpha-invite.png (100%) rename {Human-Connection/webapp => webapp}/static/img/sign-up/alpha-invite2x.png (100%) rename {Human-Connection/webapp => webapp}/static/img/sign-up/humanconnection.png (100%) rename {Human-Connection/webapp => webapp}/static/img/sign-up/humanconnection.svg (100%) rename {Human-Connection/webapp => webapp}/static/img/sign-up/nicetomeetyou.png (100%) rename {Human-Connection/webapp => webapp}/static/img/sign-up/nicetomeetyou.svg (100%) rename {Human-Connection/webapp => webapp}/static/img/sign-up/onourjourney.png (100%) rename {Human-Connection/webapp => webapp}/static/img/sign-up/onourjourney.svg (100%) rename {Human-Connection/webapp => webapp}/store.md (100%) rename {Human-Connection/webapp => webapp}/store/auth.js (100%) rename {Human-Connection/webapp => webapp}/store/auth.test.js (100%) rename {Human-Connection/webapp => webapp}/store/editor.js (100%) rename {Human-Connection/webapp => webapp}/store/editor.spec.js (100%) rename {Human-Connection/webapp => webapp}/store/index.js (100%) rename {Human-Connection/webapp => webapp}/store/modal.js (100%) rename {Human-Connection/webapp => webapp}/store/notifications.js (100%) rename {Human-Connection/webapp => webapp}/store/search.js (100%) rename {Human-Connection/webapp => webapp}/styleguide.md (100%) rename {Human-Connection/webapp => webapp}/testing.md (100%) rename {Human-Connection/webapp => webapp}/yarn.lock (100%) rename Human-Connection/yarn.lock => yarn.lock (100%) diff --git a/Human-Connection/.codecov.yml b/.codecov.yml similarity index 100% rename from Human-Connection/.codecov.yml rename to .codecov.yml diff --git a/Human-Connection/.gitbook.yaml b/.gitbook.yaml similarity index 100% rename from Human-Connection/.gitbook.yaml rename to .gitbook.yaml diff --git a/Human-Connection/.gitbook/assets/grafik (1).png b/.gitbook/assets/grafik (1).png similarity index 100% rename from Human-Connection/.gitbook/assets/grafik (1).png rename to .gitbook/assets/grafik (1).png diff --git a/Human-Connection/.gitbook/assets/grafik-1 (1).png b/.gitbook/assets/grafik-1 (1).png similarity index 100% rename from Human-Connection/.gitbook/assets/grafik-1 (1).png rename to .gitbook/assets/grafik-1 (1).png diff --git a/Human-Connection/.gitbook/assets/grafik-1.png b/.gitbook/assets/grafik-1.png similarity index 100% rename from Human-Connection/.gitbook/assets/grafik-1.png rename to .gitbook/assets/grafik-1.png diff --git a/Human-Connection/.gitbook/assets/grafik-4.png b/.gitbook/assets/grafik-4.png similarity index 100% rename from Human-Connection/.gitbook/assets/grafik-4.png rename to .gitbook/assets/grafik-4.png diff --git a/Human-Connection/.gitbook/assets/grafik.png b/.gitbook/assets/grafik.png similarity index 100% rename from Human-Connection/.gitbook/assets/grafik.png rename to .gitbook/assets/grafik.png diff --git a/Human-Connection/.gitbook/assets/graphql-playground (1).png b/.gitbook/assets/graphql-playground (1).png similarity index 100% rename from Human-Connection/.gitbook/assets/graphql-playground (1).png rename to .gitbook/assets/graphql-playground (1).png diff --git a/Human-Connection/.gitbook/assets/graphql-playground.png b/.gitbook/assets/graphql-playground.png similarity index 100% rename from Human-Connection/.gitbook/assets/graphql-playground.png rename to .gitbook/assets/graphql-playground.png diff --git a/Human-Connection/.gitbook/assets/humanconnection (1).png b/.gitbook/assets/humanconnection (1).png similarity index 100% rename from Human-Connection/.gitbook/assets/humanconnection (1).png rename to .gitbook/assets/humanconnection (1).png diff --git a/Human-Connection/.gitbook/assets/humanconnection.png b/.gitbook/assets/humanconnection.png similarity index 100% rename from Human-Connection/.gitbook/assets/humanconnection.png rename to .gitbook/assets/humanconnection.png diff --git a/Human-Connection/.gitbook/assets/lets_get_together.png b/.gitbook/assets/lets_get_together.png similarity index 100% rename from Human-Connection/.gitbook/assets/lets_get_together.png rename to .gitbook/assets/lets_get_together.png diff --git a/Human-Connection/.gitbook/assets/screenshot (1).png b/.gitbook/assets/screenshot (1).png similarity index 100% rename from Human-Connection/.gitbook/assets/screenshot (1).png rename to .gitbook/assets/screenshot (1).png diff --git a/Human-Connection/.gitbook/assets/screenshot-neo4j-download-center-current-releases.png b/.gitbook/assets/screenshot-neo4j-download-center-current-releases.png similarity index 100% rename from Human-Connection/.gitbook/assets/screenshot-neo4j-download-center-current-releases.png rename to .gitbook/assets/screenshot-neo4j-download-center-current-releases.png diff --git a/Human-Connection/.gitbook/assets/screenshot-styleguide (1).png b/.gitbook/assets/screenshot-styleguide (1).png similarity index 100% rename from Human-Connection/.gitbook/assets/screenshot-styleguide (1).png rename to .gitbook/assets/screenshot-styleguide (1).png diff --git a/Human-Connection/.gitbook/assets/screenshot-styleguide (2).png b/.gitbook/assets/screenshot-styleguide (2).png similarity index 100% rename from Human-Connection/.gitbook/assets/screenshot-styleguide (2).png rename to .gitbook/assets/screenshot-styleguide (2).png diff --git a/Human-Connection/.gitbook/assets/screenshot-styleguide.png b/.gitbook/assets/screenshot-styleguide.png similarity index 100% rename from Human-Connection/.gitbook/assets/screenshot-styleguide.png rename to .gitbook/assets/screenshot-styleguide.png diff --git a/Human-Connection/.gitbook/assets/screenshot.png b/.gitbook/assets/screenshot.png similarity index 100% rename from Human-Connection/.gitbook/assets/screenshot.png rename to .gitbook/assets/screenshot.png diff --git a/Human-Connection/.github/ISSUE_TEMPLATE.md b/.github/ISSUE_TEMPLATE.md similarity index 100% rename from Human-Connection/.github/ISSUE_TEMPLATE.md rename to .github/ISSUE_TEMPLATE.md diff --git a/Human-Connection/.github/ISSUE_TEMPLATE/bug_report.md b/.github/ISSUE_TEMPLATE/bug_report.md similarity index 100% rename from Human-Connection/.github/ISSUE_TEMPLATE/bug_report.md rename to .github/ISSUE_TEMPLATE/bug_report.md diff --git a/Human-Connection/.github/ISSUE_TEMPLATE/feature_request.md b/.github/ISSUE_TEMPLATE/feature_request.md similarity index 100% rename from Human-Connection/.github/ISSUE_TEMPLATE/feature_request.md rename to .github/ISSUE_TEMPLATE/feature_request.md diff --git a/Human-Connection/.github/ISSUE_TEMPLATE/question.md b/.github/ISSUE_TEMPLATE/question.md similarity index 100% rename from Human-Connection/.github/ISSUE_TEMPLATE/question.md rename to .github/ISSUE_TEMPLATE/question.md diff --git a/Human-Connection/.github/PULL_REQUEST_TEMPLATE.md b/.github/PULL_REQUEST_TEMPLATE.md similarity index 100% rename from Human-Connection/.github/PULL_REQUEST_TEMPLATE.md rename to .github/PULL_REQUEST_TEMPLATE.md diff --git a/Human-Connection/.gitignore b/.gitignore similarity index 100% rename from Human-Connection/.gitignore rename to .gitignore diff --git a/Human-Connection/.travis.yml b/.travis.yml similarity index 100% rename from Human-Connection/.travis.yml rename to .travis.yml diff --git a/Human-Connection/.vscode/extensions.json b/.vscode/extensions.json similarity index 100% rename from Human-Connection/.vscode/extensions.json rename to .vscode/extensions.json diff --git a/Human-Connection/.vscode/settings.json b/.vscode/settings.json similarity index 100% rename from Human-Connection/.vscode/settings.json rename to .vscode/settings.json diff --git a/Human-Connection/CODE_OF_CONDUCT.md b/CODE_OF_CONDUCT.md similarity index 100% rename from Human-Connection/CODE_OF_CONDUCT.md rename to CODE_OF_CONDUCT.md diff --git a/Human-Connection/CONTRIBUTING.md b/CONTRIBUTING.md similarity index 100% rename from Human-Connection/CONTRIBUTING.md rename to CONTRIBUTING.md diff --git a/Human-Connection/deployment/legacy-migration/maintenance-worker/binaries/.env b/Human-Connection/deployment/legacy-migration/maintenance-worker/binaries/.env deleted file mode 100644 index 773918095..000000000 --- a/Human-Connection/deployment/legacy-migration/maintenance-worker/binaries/.env +++ /dev/null @@ -1,6 +0,0 @@ -# SSH Access -# SSH_USERNAME='username' -# SSH_HOST='example.org' - -# UPLOADS_DIRECTORY=/var/www/api/uploads -OUTPUT_DIRECTORY='/uploads/' \ No newline at end of file diff --git a/Human-Connection/deployment/legacy-migration/maintenance-worker/migration/mongo/.env b/Human-Connection/deployment/legacy-migration/maintenance-worker/migration/mongo/.env deleted file mode 100644 index 4c5f9e18c..000000000 --- a/Human-Connection/deployment/legacy-migration/maintenance-worker/migration/mongo/.env +++ /dev/null @@ -1,17 +0,0 @@ -# SSH Access -# SSH_USERNAME='username' -# SSH_HOST='example.org' - -# Mongo DB on Remote Maschine -# MONGODB_USERNAME='mongouser' -# MONGODB_PASSWORD='mongopassword' -# MONGODB_DATABASE='mongodatabase' -# MONGODB_AUTH_DB='admin' - -# Export Settings -# On Windows this resolves to C:\Users\dornhoeschen\AppData\Local\Temp\mongo-export (MinGW) -EXPORT_PATH='/tmp/mongo-export/' -EXPORT_MONGOEXPORT_BIN='mongoexport' -MONGO_EXPORT_SPLIT_SIZE=100 -# On Windows use something like this -# EXPORT_MONGOEXPORT_BIN='C:\Program Files\MongoDB\Server\3.6\bin\mongoexport.exe' diff --git a/Human-Connection/deployment/legacy-migration/maintenance-worker/migration/neo4j/.env b/Human-Connection/deployment/legacy-migration/maintenance-worker/migration/neo4j/.env deleted file mode 100644 index 16220f3e6..000000000 --- a/Human-Connection/deployment/legacy-migration/maintenance-worker/migration/neo4j/.env +++ /dev/null @@ -1,16 +0,0 @@ -# Neo4J Settings -# NEO4J_USERNAME='neo4j' -# NEO4J_PASSWORD='letmein' - -# Import Settings -# On Windows this resolves to C:\Users\dornhoeschen\AppData\Local\Temp\mongo-export (MinGW) -IMPORT_PATH='/tmp/mongo-export/' -IMPORT_CHUNK_PATH='/tmp/mongo-export/splits/' - -IMPORT_CHUNK_PATH_CQL='/tmp/mongo-export/splits/' -# On Windows this path needs to be windows style since the cypher-shell runs native - note the forward slash -# IMPORT_CHUNK_PATH_CQL='C:/Users/dornhoeschen/AppData/Local/Temp/mongo-export/splits/' - -IMPORT_CYPHERSHELL_BIN='cypher-shell' -# On Windows use something like this -# IMPORT_CYPHERSHELL_BIN='C:\Program Files\neo4j-community\bin\cypher-shell.bat' \ No newline at end of file diff --git a/Human-Connection/webapp/styleguide/src/system/icons/svg/bold.svg b/Human-Connection/webapp/styleguide/src/system/icons/svg/bold.svg deleted file mode 100755 index c3516808d..000000000 --- a/Human-Connection/webapp/styleguide/src/system/icons/svg/bold.svg +++ /dev/null @@ -1,5 +0,0 @@ - - -bold - - diff --git a/Human-Connection/webapp/styleguide/src/system/icons/svg/italic.svg b/Human-Connection/webapp/styleguide/src/system/icons/svg/italic.svg deleted file mode 100755 index 81d29483c..000000000 --- a/Human-Connection/webapp/styleguide/src/system/icons/svg/italic.svg +++ /dev/null @@ -1,5 +0,0 @@ - - -italic - - diff --git a/Human-Connection/webapp/styleguide/src/system/icons/svg/list-ol.svg b/Human-Connection/webapp/styleguide/src/system/icons/svg/list-ol.svg deleted file mode 100755 index f3fb101ac..000000000 --- a/Human-Connection/webapp/styleguide/src/system/icons/svg/list-ol.svg +++ /dev/null @@ -1,5 +0,0 @@ - - -list-ol - - diff --git a/Human-Connection/webapp/styleguide/src/system/icons/svg/list-ul.svg b/Human-Connection/webapp/styleguide/src/system/icons/svg/list-ul.svg deleted file mode 100755 index d565a8064..000000000 --- a/Human-Connection/webapp/styleguide/src/system/icons/svg/list-ul.svg +++ /dev/null @@ -1,5 +0,0 @@ - - -list-ul - - diff --git a/Human-Connection/webapp/styleguide/src/system/icons/svg/paragraph.svg b/Human-Connection/webapp/styleguide/src/system/icons/svg/paragraph.svg deleted file mode 100755 index 26365f984..000000000 --- a/Human-Connection/webapp/styleguide/src/system/icons/svg/paragraph.svg +++ /dev/null @@ -1,5 +0,0 @@ - - -paragraph - - diff --git a/Human-Connection/webapp/styleguide/src/system/icons/svg/quote-right.svg b/Human-Connection/webapp/styleguide/src/system/icons/svg/quote-right.svg deleted file mode 100755 index 4e6469624..000000000 --- a/Human-Connection/webapp/styleguide/src/system/icons/svg/quote-right.svg +++ /dev/null @@ -1,5 +0,0 @@ - - -quote-right - - diff --git a/Human-Connection/LICENSE.md b/LICENSE.md similarity index 100% rename from Human-Connection/LICENSE.md rename to LICENSE.md diff --git a/Human-Connection/README.md b/README.md similarity index 100% rename from Human-Connection/README.md rename to README.md diff --git a/Human-Connection/SUMMARY.md b/SUMMARY.md similarity index 100% rename from Human-Connection/SUMMARY.md rename to SUMMARY.md diff --git a/Human-Connection/backend/.babelrc b/backend/.babelrc similarity index 100% rename from Human-Connection/backend/.babelrc rename to backend/.babelrc diff --git a/Human-Connection/backend/.codecov.yml b/backend/.codecov.yml similarity index 100% rename from Human-Connection/backend/.codecov.yml rename to backend/.codecov.yml diff --git a/Human-Connection/backend/.dockerignore b/backend/.dockerignore similarity index 100% rename from Human-Connection/backend/.dockerignore rename to backend/.dockerignore diff --git a/Human-Connection/backend/.env.template b/backend/.env.template similarity index 100% rename from Human-Connection/backend/.env.template rename to backend/.env.template diff --git a/Human-Connection/backend/.eslintrc.js b/backend/.eslintrc.js similarity index 100% rename from Human-Connection/backend/.eslintrc.js rename to backend/.eslintrc.js diff --git a/Human-Connection/backend/.gitignore b/backend/.gitignore similarity index 100% rename from Human-Connection/backend/.gitignore rename to backend/.gitignore diff --git a/Human-Connection/backend/.graphqlconfig b/backend/.graphqlconfig similarity index 100% rename from Human-Connection/backend/.graphqlconfig rename to backend/.graphqlconfig diff --git a/Human-Connection/backend/.prettierrc.js b/backend/.prettierrc.js similarity index 100% rename from Human-Connection/backend/.prettierrc.js rename to backend/.prettierrc.js diff --git a/Human-Connection/backend/Dockerfile b/backend/Dockerfile similarity index 100% rename from Human-Connection/backend/Dockerfile rename to backend/Dockerfile diff --git a/Human-Connection/backend/README.md b/backend/README.md similarity index 100% rename from Human-Connection/backend/README.md rename to backend/README.md diff --git a/Human-Connection/backend/graphql-playground.png b/backend/graphql-playground.png similarity index 100% rename from Human-Connection/backend/graphql-playground.png rename to backend/graphql-playground.png diff --git a/Human-Connection/backend/graphql.md b/backend/graphql.md similarity index 100% rename from Human-Connection/backend/graphql.md rename to backend/graphql.md diff --git a/Human-Connection/backend/humanconnection.png b/backend/humanconnection.png similarity index 100% rename from Human-Connection/backend/humanconnection.png rename to backend/humanconnection.png diff --git a/Human-Connection/backend/package.json b/backend/package.json similarity index 100% rename from Human-Connection/backend/package.json rename to backend/package.json diff --git a/Human-Connection/backend/public/.gitkeep b/backend/public/.gitkeep similarity index 100% rename from Human-Connection/backend/public/.gitkeep rename to backend/public/.gitkeep diff --git a/Human-Connection/backend/public/img/badges/fundraisingbox_de_airship.svg b/backend/public/img/badges/fundraisingbox_de_airship.svg similarity index 100% rename from Human-Connection/backend/public/img/badges/fundraisingbox_de_airship.svg rename to backend/public/img/badges/fundraisingbox_de_airship.svg diff --git a/Human-Connection/backend/public/img/badges/fundraisingbox_de_alienship.svg b/backend/public/img/badges/fundraisingbox_de_alienship.svg similarity index 100% rename from Human-Connection/backend/public/img/badges/fundraisingbox_de_alienship.svg rename to backend/public/img/badges/fundraisingbox_de_alienship.svg diff --git a/Human-Connection/backend/public/img/badges/fundraisingbox_de_balloon.svg b/backend/public/img/badges/fundraisingbox_de_balloon.svg similarity index 100% rename from Human-Connection/backend/public/img/badges/fundraisingbox_de_balloon.svg rename to backend/public/img/badges/fundraisingbox_de_balloon.svg diff --git a/Human-Connection/backend/public/img/badges/fundraisingbox_de_bigballoon.svg b/backend/public/img/badges/fundraisingbox_de_bigballoon.svg similarity index 100% rename from Human-Connection/backend/public/img/badges/fundraisingbox_de_bigballoon.svg rename to backend/public/img/badges/fundraisingbox_de_bigballoon.svg diff --git a/Human-Connection/backend/public/img/badges/fundraisingbox_de_crane.svg b/backend/public/img/badges/fundraisingbox_de_crane.svg similarity index 100% rename from Human-Connection/backend/public/img/badges/fundraisingbox_de_crane.svg rename to backend/public/img/badges/fundraisingbox_de_crane.svg diff --git a/Human-Connection/backend/public/img/badges/fundraisingbox_de_glider.svg b/backend/public/img/badges/fundraisingbox_de_glider.svg similarity index 100% rename from Human-Connection/backend/public/img/badges/fundraisingbox_de_glider.svg rename to backend/public/img/badges/fundraisingbox_de_glider.svg diff --git a/Human-Connection/backend/public/img/badges/fundraisingbox_de_helicopter.svg b/backend/public/img/badges/fundraisingbox_de_helicopter.svg similarity index 100% rename from Human-Connection/backend/public/img/badges/fundraisingbox_de_helicopter.svg rename to backend/public/img/badges/fundraisingbox_de_helicopter.svg diff --git a/Human-Connection/backend/public/img/badges/fundraisingbox_de_starter.svg b/backend/public/img/badges/fundraisingbox_de_starter.svg similarity index 100% rename from Human-Connection/backend/public/img/badges/fundraisingbox_de_starter.svg rename to backend/public/img/badges/fundraisingbox_de_starter.svg diff --git a/Human-Connection/backend/public/img/badges/indiegogo_en_bear.svg b/backend/public/img/badges/indiegogo_en_bear.svg similarity index 100% rename from Human-Connection/backend/public/img/badges/indiegogo_en_bear.svg rename to backend/public/img/badges/indiegogo_en_bear.svg diff --git a/Human-Connection/backend/public/img/badges/indiegogo_en_panda.svg b/backend/public/img/badges/indiegogo_en_panda.svg similarity index 100% rename from Human-Connection/backend/public/img/badges/indiegogo_en_panda.svg rename to backend/public/img/badges/indiegogo_en_panda.svg diff --git a/Human-Connection/backend/public/img/badges/indiegogo_en_rabbit.svg b/backend/public/img/badges/indiegogo_en_rabbit.svg similarity index 100% rename from Human-Connection/backend/public/img/badges/indiegogo_en_rabbit.svg rename to backend/public/img/badges/indiegogo_en_rabbit.svg diff --git a/Human-Connection/backend/public/img/badges/indiegogo_en_racoon.svg b/backend/public/img/badges/indiegogo_en_racoon.svg similarity index 100% rename from Human-Connection/backend/public/img/badges/indiegogo_en_racoon.svg rename to backend/public/img/badges/indiegogo_en_racoon.svg diff --git a/Human-Connection/backend/public/img/badges/indiegogo_en_rhino.svg b/backend/public/img/badges/indiegogo_en_rhino.svg similarity index 100% rename from Human-Connection/backend/public/img/badges/indiegogo_en_rhino.svg rename to backend/public/img/badges/indiegogo_en_rhino.svg diff --git a/Human-Connection/backend/public/img/badges/indiegogo_en_tiger.svg b/backend/public/img/badges/indiegogo_en_tiger.svg similarity index 100% rename from Human-Connection/backend/public/img/badges/indiegogo_en_tiger.svg rename to backend/public/img/badges/indiegogo_en_tiger.svg diff --git a/Human-Connection/backend/public/img/badges/indiegogo_en_turtle.svg b/backend/public/img/badges/indiegogo_en_turtle.svg similarity index 100% rename from Human-Connection/backend/public/img/badges/indiegogo_en_turtle.svg rename to backend/public/img/badges/indiegogo_en_turtle.svg diff --git a/Human-Connection/backend/public/img/badges/indiegogo_en_whale.svg b/backend/public/img/badges/indiegogo_en_whale.svg similarity index 100% rename from Human-Connection/backend/public/img/badges/indiegogo_en_whale.svg rename to backend/public/img/badges/indiegogo_en_whale.svg diff --git a/Human-Connection/backend/public/img/badges/indiegogo_en_wolf.svg b/backend/public/img/badges/indiegogo_en_wolf.svg similarity index 100% rename from Human-Connection/backend/public/img/badges/indiegogo_en_wolf.svg rename to backend/public/img/badges/indiegogo_en_wolf.svg diff --git a/Human-Connection/backend/public/img/badges/user_role_admin.svg b/backend/public/img/badges/user_role_admin.svg similarity index 100% rename from Human-Connection/backend/public/img/badges/user_role_admin.svg rename to backend/public/img/badges/user_role_admin.svg diff --git a/Human-Connection/backend/public/img/badges/user_role_developer.svg b/backend/public/img/badges/user_role_developer.svg similarity index 100% rename from Human-Connection/backend/public/img/badges/user_role_developer.svg rename to backend/public/img/badges/user_role_developer.svg diff --git a/Human-Connection/backend/public/img/badges/user_role_moderator.svg b/backend/public/img/badges/user_role_moderator.svg similarity index 100% rename from Human-Connection/backend/public/img/badges/user_role_moderator.svg rename to backend/public/img/badges/user_role_moderator.svg diff --git a/Human-Connection/backend/public/img/badges/wooold_de_bee.svg b/backend/public/img/badges/wooold_de_bee.svg similarity index 100% rename from Human-Connection/backend/public/img/badges/wooold_de_bee.svg rename to backend/public/img/badges/wooold_de_bee.svg diff --git a/Human-Connection/backend/public/img/badges/wooold_de_butterfly.svg b/backend/public/img/badges/wooold_de_butterfly.svg similarity index 100% rename from Human-Connection/backend/public/img/badges/wooold_de_butterfly.svg rename to backend/public/img/badges/wooold_de_butterfly.svg diff --git a/Human-Connection/backend/public/img/badges/wooold_de_double_rainbow.svg b/backend/public/img/badges/wooold_de_double_rainbow.svg similarity index 100% rename from Human-Connection/backend/public/img/badges/wooold_de_double_rainbow.svg rename to backend/public/img/badges/wooold_de_double_rainbow.svg diff --git a/Human-Connection/backend/public/img/badges/wooold_de_end_of_rainbow.svg b/backend/public/img/badges/wooold_de_end_of_rainbow.svg similarity index 100% rename from Human-Connection/backend/public/img/badges/wooold_de_end_of_rainbow.svg rename to backend/public/img/badges/wooold_de_end_of_rainbow.svg diff --git a/Human-Connection/backend/public/img/badges/wooold_de_flower.svg b/backend/public/img/badges/wooold_de_flower.svg similarity index 100% rename from Human-Connection/backend/public/img/badges/wooold_de_flower.svg rename to backend/public/img/badges/wooold_de_flower.svg diff --git a/Human-Connection/backend/public/img/badges/wooold_de_lifetree.svg b/backend/public/img/badges/wooold_de_lifetree.svg similarity index 100% rename from Human-Connection/backend/public/img/badges/wooold_de_lifetree.svg rename to backend/public/img/badges/wooold_de_lifetree.svg diff --git a/Human-Connection/backend/public/img/badges/wooold_de_magic_rainbow.svg b/backend/public/img/badges/wooold_de_magic_rainbow.svg similarity index 100% rename from Human-Connection/backend/public/img/badges/wooold_de_magic_rainbow.svg rename to backend/public/img/badges/wooold_de_magic_rainbow.svg diff --git a/Human-Connection/backend/public/img/badges/wooold_de_super_founder.svg b/backend/public/img/badges/wooold_de_super_founder.svg similarity index 100% rename from Human-Connection/backend/public/img/badges/wooold_de_super_founder.svg rename to backend/public/img/badges/wooold_de_super_founder.svg diff --git a/Human-Connection/backend/public/uploads/.gitkeep b/backend/public/uploads/.gitkeep similarity index 100% rename from Human-Connection/backend/public/uploads/.gitkeep rename to backend/public/uploads/.gitkeep diff --git a/Human-Connection/backend/src/activitypub/ActivityPub.js b/backend/src/activitypub/ActivityPub.js similarity index 100% rename from Human-Connection/backend/src/activitypub/ActivityPub.js rename to backend/src/activitypub/ActivityPub.js diff --git a/Human-Connection/backend/src/activitypub/Collections.js b/backend/src/activitypub/Collections.js similarity index 100% rename from Human-Connection/backend/src/activitypub/Collections.js rename to backend/src/activitypub/Collections.js diff --git a/Human-Connection/backend/src/activitypub/NitroDataSource.js b/backend/src/activitypub/NitroDataSource.js similarity index 100% rename from Human-Connection/backend/src/activitypub/NitroDataSource.js rename to backend/src/activitypub/NitroDataSource.js diff --git a/Human-Connection/backend/src/activitypub/routes/inbox.js b/backend/src/activitypub/routes/inbox.js similarity index 100% rename from Human-Connection/backend/src/activitypub/routes/inbox.js rename to backend/src/activitypub/routes/inbox.js diff --git a/Human-Connection/backend/src/activitypub/routes/index.js b/backend/src/activitypub/routes/index.js similarity index 100% rename from Human-Connection/backend/src/activitypub/routes/index.js rename to backend/src/activitypub/routes/index.js diff --git a/Human-Connection/backend/src/activitypub/routes/serveUser.js b/backend/src/activitypub/routes/serveUser.js similarity index 100% rename from Human-Connection/backend/src/activitypub/routes/serveUser.js rename to backend/src/activitypub/routes/serveUser.js diff --git a/Human-Connection/backend/src/activitypub/routes/user.js b/backend/src/activitypub/routes/user.js similarity index 100% rename from Human-Connection/backend/src/activitypub/routes/user.js rename to backend/src/activitypub/routes/user.js diff --git a/Human-Connection/backend/src/activitypub/routes/verify.js b/backend/src/activitypub/routes/verify.js similarity index 100% rename from Human-Connection/backend/src/activitypub/routes/verify.js rename to backend/src/activitypub/routes/verify.js diff --git a/Human-Connection/backend/src/activitypub/routes/webFinger.js b/backend/src/activitypub/routes/webFinger.js similarity index 100% rename from Human-Connection/backend/src/activitypub/routes/webFinger.js rename to backend/src/activitypub/routes/webFinger.js diff --git a/Human-Connection/backend/src/activitypub/security/httpSignature.spec.js b/backend/src/activitypub/security/httpSignature.spec.js similarity index 100% rename from Human-Connection/backend/src/activitypub/security/httpSignature.spec.js rename to backend/src/activitypub/security/httpSignature.spec.js diff --git a/Human-Connection/backend/src/activitypub/security/index.js b/backend/src/activitypub/security/index.js similarity index 100% rename from Human-Connection/backend/src/activitypub/security/index.js rename to backend/src/activitypub/security/index.js diff --git a/Human-Connection/backend/src/activitypub/utils/activity.js b/backend/src/activitypub/utils/activity.js similarity index 100% rename from Human-Connection/backend/src/activitypub/utils/activity.js rename to backend/src/activitypub/utils/activity.js diff --git a/Human-Connection/backend/src/activitypub/utils/actor.js b/backend/src/activitypub/utils/actor.js similarity index 100% rename from Human-Connection/backend/src/activitypub/utils/actor.js rename to backend/src/activitypub/utils/actor.js diff --git a/Human-Connection/backend/src/activitypub/utils/collection.js b/backend/src/activitypub/utils/collection.js similarity index 100% rename from Human-Connection/backend/src/activitypub/utils/collection.js rename to backend/src/activitypub/utils/collection.js diff --git a/Human-Connection/backend/src/activitypub/utils/index.js b/backend/src/activitypub/utils/index.js similarity index 100% rename from Human-Connection/backend/src/activitypub/utils/index.js rename to backend/src/activitypub/utils/index.js diff --git a/Human-Connection/backend/src/bootstrap/directives.js b/backend/src/bootstrap/directives.js similarity index 100% rename from Human-Connection/backend/src/bootstrap/directives.js rename to backend/src/bootstrap/directives.js diff --git a/Human-Connection/backend/src/bootstrap/neo4j.js b/backend/src/bootstrap/neo4j.js similarity index 100% rename from Human-Connection/backend/src/bootstrap/neo4j.js rename to backend/src/bootstrap/neo4j.js diff --git a/Human-Connection/backend/src/bootstrap/scalars.js b/backend/src/bootstrap/scalars.js similarity index 100% rename from Human-Connection/backend/src/bootstrap/scalars.js rename to backend/src/bootstrap/scalars.js diff --git a/Human-Connection/backend/src/config/index.js b/backend/src/config/index.js similarity index 100% rename from Human-Connection/backend/src/config/index.js rename to backend/src/config/index.js diff --git a/Human-Connection/backend/src/helpers/asyncForEach.js b/backend/src/helpers/asyncForEach.js similarity index 100% rename from Human-Connection/backend/src/helpers/asyncForEach.js rename to backend/src/helpers/asyncForEach.js diff --git a/Human-Connection/backend/src/helpers/walkRecursive.js b/backend/src/helpers/walkRecursive.js similarity index 100% rename from Human-Connection/backend/src/helpers/walkRecursive.js rename to backend/src/helpers/walkRecursive.js diff --git a/Human-Connection/backend/src/index.js b/backend/src/index.js similarity index 100% rename from Human-Connection/backend/src/index.js rename to backend/src/index.js diff --git a/Human-Connection/backend/src/jest/helpers.js b/backend/src/jest/helpers.js similarity index 100% rename from Human-Connection/backend/src/jest/helpers.js rename to backend/src/jest/helpers.js diff --git a/Human-Connection/backend/src/jwt/decode.js b/backend/src/jwt/decode.js similarity index 100% rename from Human-Connection/backend/src/jwt/decode.js rename to backend/src/jwt/decode.js diff --git a/Human-Connection/backend/src/jwt/encode.js b/backend/src/jwt/encode.js similarity index 100% rename from Human-Connection/backend/src/jwt/encode.js rename to backend/src/jwt/encode.js diff --git a/Human-Connection/backend/src/middleware/activityPubMiddleware.js b/backend/src/middleware/activityPubMiddleware.js similarity index 100% rename from Human-Connection/backend/src/middleware/activityPubMiddleware.js rename to backend/src/middleware/activityPubMiddleware.js diff --git a/Human-Connection/backend/src/middleware/dateTimeMiddleware.js b/backend/src/middleware/dateTimeMiddleware.js similarity index 100% rename from Human-Connection/backend/src/middleware/dateTimeMiddleware.js rename to backend/src/middleware/dateTimeMiddleware.js diff --git a/Human-Connection/backend/src/middleware/excerptMiddleware.js b/backend/src/middleware/excerptMiddleware.js similarity index 100% rename from Human-Connection/backend/src/middleware/excerptMiddleware.js rename to backend/src/middleware/excerptMiddleware.js diff --git a/Human-Connection/backend/src/middleware/filterBubble/filterBubble.spec.js b/backend/src/middleware/filterBubble/filterBubble.spec.js similarity index 100% rename from Human-Connection/backend/src/middleware/filterBubble/filterBubble.spec.js rename to backend/src/middleware/filterBubble/filterBubble.spec.js diff --git a/Human-Connection/backend/src/middleware/includedFieldsMiddleware.js b/backend/src/middleware/includedFieldsMiddleware.js similarity index 100% rename from Human-Connection/backend/src/middleware/includedFieldsMiddleware.js rename to backend/src/middleware/includedFieldsMiddleware.js diff --git a/Human-Connection/backend/src/middleware/index.js b/backend/src/middleware/index.js similarity index 100% rename from Human-Connection/backend/src/middleware/index.js rename to backend/src/middleware/index.js diff --git a/Human-Connection/backend/src/middleware/nodes/locations.js b/backend/src/middleware/nodes/locations.js similarity index 100% rename from Human-Connection/backend/src/middleware/nodes/locations.js rename to backend/src/middleware/nodes/locations.js diff --git a/Human-Connection/backend/src/middleware/notifications/extractIds/index.js b/backend/src/middleware/notifications/extractIds/index.js similarity index 100% rename from Human-Connection/backend/src/middleware/notifications/extractIds/index.js rename to backend/src/middleware/notifications/extractIds/index.js diff --git a/Human-Connection/backend/src/middleware/notifications/extractIds/spec.js b/backend/src/middleware/notifications/extractIds/spec.js similarity index 100% rename from Human-Connection/backend/src/middleware/notifications/extractIds/spec.js rename to backend/src/middleware/notifications/extractIds/spec.js diff --git a/Human-Connection/backend/src/middleware/notifications/index.js b/backend/src/middleware/notifications/index.js similarity index 100% rename from Human-Connection/backend/src/middleware/notifications/index.js rename to backend/src/middleware/notifications/index.js diff --git a/Human-Connection/backend/src/middleware/notifications/spec.js b/backend/src/middleware/notifications/spec.js similarity index 100% rename from Human-Connection/backend/src/middleware/notifications/spec.js rename to backend/src/middleware/notifications/spec.js diff --git a/Human-Connection/backend/src/middleware/orderByMiddleware.js b/backend/src/middleware/orderByMiddleware.js similarity index 100% rename from Human-Connection/backend/src/middleware/orderByMiddleware.js rename to backend/src/middleware/orderByMiddleware.js diff --git a/Human-Connection/backend/src/middleware/orderByMiddleware.spec.js b/backend/src/middleware/orderByMiddleware.spec.js similarity index 100% rename from Human-Connection/backend/src/middleware/orderByMiddleware.spec.js rename to backend/src/middleware/orderByMiddleware.spec.js diff --git a/Human-Connection/backend/src/middleware/passwordMiddleware.js b/backend/src/middleware/passwordMiddleware.js similarity index 100% rename from Human-Connection/backend/src/middleware/passwordMiddleware.js rename to backend/src/middleware/passwordMiddleware.js diff --git a/Human-Connection/backend/src/middleware/permissionsMiddleware.js b/backend/src/middleware/permissionsMiddleware.js similarity index 100% rename from Human-Connection/backend/src/middleware/permissionsMiddleware.js rename to backend/src/middleware/permissionsMiddleware.js diff --git a/Human-Connection/backend/src/middleware/permissionsMiddleware.spec.js b/backend/src/middleware/permissionsMiddleware.spec.js similarity index 100% rename from Human-Connection/backend/src/middleware/permissionsMiddleware.spec.js rename to backend/src/middleware/permissionsMiddleware.spec.js diff --git a/Human-Connection/backend/src/middleware/sluggifyMiddleware.js b/backend/src/middleware/sluggifyMiddleware.js similarity index 100% rename from Human-Connection/backend/src/middleware/sluggifyMiddleware.js rename to backend/src/middleware/sluggifyMiddleware.js diff --git a/Human-Connection/backend/src/middleware/slugify/uniqueSlug.js b/backend/src/middleware/slugify/uniqueSlug.js similarity index 100% rename from Human-Connection/backend/src/middleware/slugify/uniqueSlug.js rename to backend/src/middleware/slugify/uniqueSlug.js diff --git a/Human-Connection/backend/src/middleware/slugify/uniqueSlug.spec.js b/backend/src/middleware/slugify/uniqueSlug.spec.js similarity index 100% rename from Human-Connection/backend/src/middleware/slugify/uniqueSlug.spec.js rename to backend/src/middleware/slugify/uniqueSlug.spec.js diff --git a/Human-Connection/backend/src/middleware/slugifyMiddleware.spec.js b/backend/src/middleware/slugifyMiddleware.spec.js similarity index 100% rename from Human-Connection/backend/src/middleware/slugifyMiddleware.spec.js rename to backend/src/middleware/slugifyMiddleware.spec.js diff --git a/Human-Connection/backend/src/middleware/softDeleteMiddleware.js b/backend/src/middleware/softDeleteMiddleware.js similarity index 100% rename from Human-Connection/backend/src/middleware/softDeleteMiddleware.js rename to backend/src/middleware/softDeleteMiddleware.js diff --git a/Human-Connection/backend/src/middleware/softDeleteMiddleware.spec.js b/backend/src/middleware/softDeleteMiddleware.spec.js similarity index 100% rename from Human-Connection/backend/src/middleware/softDeleteMiddleware.spec.js rename to backend/src/middleware/softDeleteMiddleware.spec.js diff --git a/Human-Connection/backend/src/middleware/userMiddleware.js b/backend/src/middleware/userMiddleware.js similarity index 100% rename from Human-Connection/backend/src/middleware/userMiddleware.js rename to backend/src/middleware/userMiddleware.js diff --git a/Human-Connection/backend/src/middleware/validation/index.js b/backend/src/middleware/validation/index.js similarity index 100% rename from Human-Connection/backend/src/middleware/validation/index.js rename to backend/src/middleware/validation/index.js diff --git a/Human-Connection/backend/src/middleware/xssMiddleware.js b/backend/src/middleware/xssMiddleware.js similarity index 100% rename from Human-Connection/backend/src/middleware/xssMiddleware.js rename to backend/src/middleware/xssMiddleware.js diff --git a/Human-Connection/backend/src/mocks/index.js b/backend/src/mocks/index.js similarity index 100% rename from Human-Connection/backend/src/mocks/index.js rename to backend/src/mocks/index.js diff --git a/Human-Connection/backend/src/schema/index.js b/backend/src/schema/index.js similarity index 100% rename from Human-Connection/backend/src/schema/index.js rename to backend/src/schema/index.js diff --git a/Human-Connection/backend/src/schema/resolvers/badges.spec.js b/backend/src/schema/resolvers/badges.spec.js similarity index 100% rename from Human-Connection/backend/src/schema/resolvers/badges.spec.js rename to backend/src/schema/resolvers/badges.spec.js diff --git a/Human-Connection/backend/src/schema/resolvers/comments.js b/backend/src/schema/resolvers/comments.js similarity index 100% rename from Human-Connection/backend/src/schema/resolvers/comments.js rename to backend/src/schema/resolvers/comments.js diff --git a/Human-Connection/backend/src/schema/resolvers/comments.spec.js b/backend/src/schema/resolvers/comments.spec.js similarity index 100% rename from Human-Connection/backend/src/schema/resolvers/comments.spec.js rename to backend/src/schema/resolvers/comments.spec.js diff --git a/Human-Connection/backend/src/schema/resolvers/fileUpload/index.js b/backend/src/schema/resolvers/fileUpload/index.js similarity index 100% rename from Human-Connection/backend/src/schema/resolvers/fileUpload/index.js rename to backend/src/schema/resolvers/fileUpload/index.js diff --git a/Human-Connection/backend/src/schema/resolvers/fileUpload/spec.js b/backend/src/schema/resolvers/fileUpload/spec.js similarity index 100% rename from Human-Connection/backend/src/schema/resolvers/fileUpload/spec.js rename to backend/src/schema/resolvers/fileUpload/spec.js diff --git a/Human-Connection/backend/src/schema/resolvers/follow.js b/backend/src/schema/resolvers/follow.js similarity index 100% rename from Human-Connection/backend/src/schema/resolvers/follow.js rename to backend/src/schema/resolvers/follow.js diff --git a/Human-Connection/backend/src/schema/resolvers/follow.spec.js b/backend/src/schema/resolvers/follow.spec.js similarity index 100% rename from Human-Connection/backend/src/schema/resolvers/follow.spec.js rename to backend/src/schema/resolvers/follow.spec.js diff --git a/Human-Connection/backend/src/schema/resolvers/index.js b/backend/src/schema/resolvers/index.js similarity index 100% rename from Human-Connection/backend/src/schema/resolvers/index.js rename to backend/src/schema/resolvers/index.js diff --git a/Human-Connection/backend/src/schema/resolvers/moderation.js b/backend/src/schema/resolvers/moderation.js similarity index 100% rename from Human-Connection/backend/src/schema/resolvers/moderation.js rename to backend/src/schema/resolvers/moderation.js diff --git a/Human-Connection/backend/src/schema/resolvers/moderation.spec.js b/backend/src/schema/resolvers/moderation.spec.js similarity index 100% rename from Human-Connection/backend/src/schema/resolvers/moderation.spec.js rename to backend/src/schema/resolvers/moderation.spec.js diff --git a/Human-Connection/backend/src/schema/resolvers/notifications.js b/backend/src/schema/resolvers/notifications.js similarity index 100% rename from Human-Connection/backend/src/schema/resolvers/notifications.js rename to backend/src/schema/resolvers/notifications.js diff --git a/Human-Connection/backend/src/schema/resolvers/notifications.spec.js b/backend/src/schema/resolvers/notifications.spec.js similarity index 100% rename from Human-Connection/backend/src/schema/resolvers/notifications.spec.js rename to backend/src/schema/resolvers/notifications.spec.js diff --git a/Human-Connection/backend/src/schema/resolvers/passwordReset.js b/backend/src/schema/resolvers/passwordReset.js similarity index 100% rename from Human-Connection/backend/src/schema/resolvers/passwordReset.js rename to backend/src/schema/resolvers/passwordReset.js diff --git a/Human-Connection/backend/src/schema/resolvers/passwordReset.spec.js b/backend/src/schema/resolvers/passwordReset.spec.js similarity index 100% rename from Human-Connection/backend/src/schema/resolvers/passwordReset.spec.js rename to backend/src/schema/resolvers/passwordReset.spec.js diff --git a/Human-Connection/backend/src/schema/resolvers/passwordReset/emailTemplates.js b/backend/src/schema/resolvers/passwordReset/emailTemplates.js similarity index 100% rename from Human-Connection/backend/src/schema/resolvers/passwordReset/emailTemplates.js rename to backend/src/schema/resolvers/passwordReset/emailTemplates.js diff --git a/Human-Connection/backend/src/schema/resolvers/posts.js b/backend/src/schema/resolvers/posts.js similarity index 100% rename from Human-Connection/backend/src/schema/resolvers/posts.js rename to backend/src/schema/resolvers/posts.js diff --git a/Human-Connection/backend/src/schema/resolvers/posts.spec.js b/backend/src/schema/resolvers/posts.spec.js similarity index 100% rename from Human-Connection/backend/src/schema/resolvers/posts.spec.js rename to backend/src/schema/resolvers/posts.spec.js diff --git a/Human-Connection/backend/src/schema/resolvers/reports.js b/backend/src/schema/resolvers/reports.js similarity index 100% rename from Human-Connection/backend/src/schema/resolvers/reports.js rename to backend/src/schema/resolvers/reports.js diff --git a/Human-Connection/backend/src/schema/resolvers/reports.spec.js b/backend/src/schema/resolvers/reports.spec.js similarity index 100% rename from Human-Connection/backend/src/schema/resolvers/reports.spec.js rename to backend/src/schema/resolvers/reports.spec.js diff --git a/Human-Connection/backend/src/schema/resolvers/rewards.js b/backend/src/schema/resolvers/rewards.js similarity index 100% rename from Human-Connection/backend/src/schema/resolvers/rewards.js rename to backend/src/schema/resolvers/rewards.js diff --git a/Human-Connection/backend/src/schema/resolvers/rewards.spec.js b/backend/src/schema/resolvers/rewards.spec.js similarity index 100% rename from Human-Connection/backend/src/schema/resolvers/rewards.spec.js rename to backend/src/schema/resolvers/rewards.spec.js diff --git a/Human-Connection/backend/src/schema/resolvers/shout.js b/backend/src/schema/resolvers/shout.js similarity index 100% rename from Human-Connection/backend/src/schema/resolvers/shout.js rename to backend/src/schema/resolvers/shout.js diff --git a/Human-Connection/backend/src/schema/resolvers/shout.spec.js b/backend/src/schema/resolvers/shout.spec.js similarity index 100% rename from Human-Connection/backend/src/schema/resolvers/shout.spec.js rename to backend/src/schema/resolvers/shout.spec.js diff --git a/Human-Connection/backend/src/schema/resolvers/socialMedia.js b/backend/src/schema/resolvers/socialMedia.js similarity index 100% rename from Human-Connection/backend/src/schema/resolvers/socialMedia.js rename to backend/src/schema/resolvers/socialMedia.js diff --git a/Human-Connection/backend/src/schema/resolvers/socialMedia.spec.js b/backend/src/schema/resolvers/socialMedia.spec.js similarity index 100% rename from Human-Connection/backend/src/schema/resolvers/socialMedia.spec.js rename to backend/src/schema/resolvers/socialMedia.spec.js diff --git a/Human-Connection/backend/src/schema/resolvers/statistics.js b/backend/src/schema/resolvers/statistics.js similarity index 100% rename from Human-Connection/backend/src/schema/resolvers/statistics.js rename to backend/src/schema/resolvers/statistics.js diff --git a/Human-Connection/backend/src/schema/resolvers/user_management.js b/backend/src/schema/resolvers/user_management.js similarity index 100% rename from Human-Connection/backend/src/schema/resolvers/user_management.js rename to backend/src/schema/resolvers/user_management.js diff --git a/Human-Connection/backend/src/schema/resolvers/user_management.spec.js b/backend/src/schema/resolvers/user_management.spec.js similarity index 100% rename from Human-Connection/backend/src/schema/resolvers/user_management.spec.js rename to backend/src/schema/resolvers/user_management.spec.js diff --git a/Human-Connection/backend/src/schema/resolvers/users.js b/backend/src/schema/resolvers/users.js similarity index 100% rename from Human-Connection/backend/src/schema/resolvers/users.js rename to backend/src/schema/resolvers/users.js diff --git a/Human-Connection/backend/src/schema/resolvers/users.spec.js b/backend/src/schema/resolvers/users.spec.js similarity index 100% rename from Human-Connection/backend/src/schema/resolvers/users.spec.js rename to backend/src/schema/resolvers/users.spec.js diff --git a/Human-Connection/backend/src/schema/types/enum/BadgeStatus.gql b/backend/src/schema/types/enum/BadgeStatus.gql similarity index 100% rename from Human-Connection/backend/src/schema/types/enum/BadgeStatus.gql rename to backend/src/schema/types/enum/BadgeStatus.gql diff --git a/Human-Connection/backend/src/schema/types/enum/BadgeType.gql b/backend/src/schema/types/enum/BadgeType.gql similarity index 100% rename from Human-Connection/backend/src/schema/types/enum/BadgeType.gql rename to backend/src/schema/types/enum/BadgeType.gql diff --git a/Human-Connection/backend/src/schema/types/enum/UserGroup.gql b/backend/src/schema/types/enum/UserGroup.gql similarity index 100% rename from Human-Connection/backend/src/schema/types/enum/UserGroup.gql rename to backend/src/schema/types/enum/UserGroup.gql diff --git a/Human-Connection/backend/src/schema/types/enum/Visibility.gql b/backend/src/schema/types/enum/Visibility.gql similarity index 100% rename from Human-Connection/backend/src/schema/types/enum/Visibility.gql rename to backend/src/schema/types/enum/Visibility.gql diff --git a/Human-Connection/backend/src/schema/types/index.js b/backend/src/schema/types/index.js similarity index 100% rename from Human-Connection/backend/src/schema/types/index.js rename to backend/src/schema/types/index.js diff --git a/Human-Connection/backend/src/schema/types/scalar/Date.gql_ b/backend/src/schema/types/scalar/Date.gql_ similarity index 100% rename from Human-Connection/backend/src/schema/types/scalar/Date.gql_ rename to backend/src/schema/types/scalar/Date.gql_ diff --git a/Human-Connection/backend/src/schema/types/scalar/DateTime.gql_ b/backend/src/schema/types/scalar/DateTime.gql_ similarity index 100% rename from Human-Connection/backend/src/schema/types/scalar/DateTime.gql_ rename to backend/src/schema/types/scalar/DateTime.gql_ diff --git a/Human-Connection/backend/src/schema/types/scalar/Time.gql_ b/backend/src/schema/types/scalar/Time.gql_ similarity index 100% rename from Human-Connection/backend/src/schema/types/scalar/Time.gql_ rename to backend/src/schema/types/scalar/Time.gql_ diff --git a/Human-Connection/backend/src/schema/types/scalar/Upload.gql b/backend/src/schema/types/scalar/Upload.gql similarity index 100% rename from Human-Connection/backend/src/schema/types/scalar/Upload.gql rename to backend/src/schema/types/scalar/Upload.gql diff --git a/Human-Connection/backend/src/schema/types/schema.gql b/backend/src/schema/types/schema.gql similarity index 100% rename from Human-Connection/backend/src/schema/types/schema.gql rename to backend/src/schema/types/schema.gql diff --git a/Human-Connection/backend/src/schema/types/schema_full.gql_ b/backend/src/schema/types/schema_full.gql_ similarity index 100% rename from Human-Connection/backend/src/schema/types/schema_full.gql_ rename to backend/src/schema/types/schema_full.gql_ diff --git a/Human-Connection/backend/src/schema/types/type/Badge.gql b/backend/src/schema/types/type/Badge.gql similarity index 100% rename from Human-Connection/backend/src/schema/types/type/Badge.gql rename to backend/src/schema/types/type/Badge.gql diff --git a/Human-Connection/backend/src/schema/types/type/Category.gql b/backend/src/schema/types/type/Category.gql similarity index 100% rename from Human-Connection/backend/src/schema/types/type/Category.gql rename to backend/src/schema/types/type/Category.gql diff --git a/Human-Connection/backend/src/schema/types/type/Comment.gql b/backend/src/schema/types/type/Comment.gql similarity index 100% rename from Human-Connection/backend/src/schema/types/type/Comment.gql rename to backend/src/schema/types/type/Comment.gql diff --git a/Human-Connection/backend/src/schema/types/type/Post.gql b/backend/src/schema/types/type/Post.gql similarity index 100% rename from Human-Connection/backend/src/schema/types/type/Post.gql rename to backend/src/schema/types/type/Post.gql diff --git a/Human-Connection/backend/src/schema/types/type/Tag.gql b/backend/src/schema/types/type/Tag.gql similarity index 100% rename from Human-Connection/backend/src/schema/types/type/Tag.gql rename to backend/src/schema/types/type/Tag.gql diff --git a/Human-Connection/backend/src/schema/types/type/User.gql b/backend/src/schema/types/type/User.gql similarity index 100% rename from Human-Connection/backend/src/schema/types/type/User.gql rename to backend/src/schema/types/type/User.gql diff --git a/Human-Connection/backend/src/seed/factories/badges.js b/backend/src/seed/factories/badges.js similarity index 100% rename from Human-Connection/backend/src/seed/factories/badges.js rename to backend/src/seed/factories/badges.js diff --git a/Human-Connection/backend/src/seed/factories/categories.js b/backend/src/seed/factories/categories.js similarity index 100% rename from Human-Connection/backend/src/seed/factories/categories.js rename to backend/src/seed/factories/categories.js diff --git a/Human-Connection/backend/src/seed/factories/comments.js b/backend/src/seed/factories/comments.js similarity index 100% rename from Human-Connection/backend/src/seed/factories/comments.js rename to backend/src/seed/factories/comments.js diff --git a/Human-Connection/backend/src/seed/factories/index.js b/backend/src/seed/factories/index.js similarity index 100% rename from Human-Connection/backend/src/seed/factories/index.js rename to backend/src/seed/factories/index.js diff --git a/Human-Connection/backend/src/seed/factories/notifications.js b/backend/src/seed/factories/notifications.js similarity index 100% rename from Human-Connection/backend/src/seed/factories/notifications.js rename to backend/src/seed/factories/notifications.js diff --git a/Human-Connection/backend/src/seed/factories/organizations.js b/backend/src/seed/factories/organizations.js similarity index 100% rename from Human-Connection/backend/src/seed/factories/organizations.js rename to backend/src/seed/factories/organizations.js diff --git a/Human-Connection/backend/src/seed/factories/posts.js b/backend/src/seed/factories/posts.js similarity index 100% rename from Human-Connection/backend/src/seed/factories/posts.js rename to backend/src/seed/factories/posts.js diff --git a/Human-Connection/backend/src/seed/factories/reports.js b/backend/src/seed/factories/reports.js similarity index 100% rename from Human-Connection/backend/src/seed/factories/reports.js rename to backend/src/seed/factories/reports.js diff --git a/Human-Connection/backend/src/seed/factories/tags.js b/backend/src/seed/factories/tags.js similarity index 100% rename from Human-Connection/backend/src/seed/factories/tags.js rename to backend/src/seed/factories/tags.js diff --git a/Human-Connection/backend/src/seed/factories/users.js b/backend/src/seed/factories/users.js similarity index 100% rename from Human-Connection/backend/src/seed/factories/users.js rename to backend/src/seed/factories/users.js diff --git a/Human-Connection/backend/src/seed/reset-db.js b/backend/src/seed/reset-db.js similarity index 100% rename from Human-Connection/backend/src/seed/reset-db.js rename to backend/src/seed/reset-db.js diff --git a/Human-Connection/backend/src/seed/seed-db.js b/backend/src/seed/seed-db.js similarity index 100% rename from Human-Connection/backend/src/seed/seed-db.js rename to backend/src/seed/seed-db.js diff --git a/Human-Connection/backend/src/seed/seed-helpers.js b/backend/src/seed/seed-helpers.js similarity index 100% rename from Human-Connection/backend/src/seed/seed-helpers.js rename to backend/src/seed/seed-helpers.js diff --git a/Human-Connection/backend/src/server.js b/backend/src/server.js similarity index 100% rename from Human-Connection/backend/src/server.js rename to backend/src/server.js diff --git a/Human-Connection/backend/test/features/activity-delete.feature b/backend/test/features/activity-delete.feature similarity index 100% rename from Human-Connection/backend/test/features/activity-delete.feature rename to backend/test/features/activity-delete.feature diff --git a/Human-Connection/backend/test/features/activity-follow.feature b/backend/test/features/activity-follow.feature similarity index 100% rename from Human-Connection/backend/test/features/activity-follow.feature rename to backend/test/features/activity-follow.feature diff --git a/Human-Connection/backend/test/features/activity-like.feature b/backend/test/features/activity-like.feature similarity index 100% rename from Human-Connection/backend/test/features/activity-like.feature rename to backend/test/features/activity-like.feature diff --git a/Human-Connection/backend/test/features/collection.feature b/backend/test/features/collection.feature similarity index 100% rename from Human-Connection/backend/test/features/collection.feature rename to backend/test/features/collection.feature diff --git a/Human-Connection/backend/test/features/object-article.feature b/backend/test/features/object-article.feature similarity index 100% rename from Human-Connection/backend/test/features/object-article.feature rename to backend/test/features/object-article.feature diff --git a/Human-Connection/backend/test/features/support/steps.js b/backend/test/features/support/steps.js similarity index 100% rename from Human-Connection/backend/test/features/support/steps.js rename to backend/test/features/support/steps.js diff --git a/Human-Connection/backend/test/features/webfinger.feature b/backend/test/features/webfinger.feature similarity index 100% rename from Human-Connection/backend/test/features/webfinger.feature rename to backend/test/features/webfinger.feature diff --git a/Human-Connection/backend/test/features/world.js b/backend/test/features/world.js similarity index 100% rename from Human-Connection/backend/test/features/world.js rename to backend/test/features/world.js diff --git a/Human-Connection/backend/testing.md b/backend/testing.md similarity index 100% rename from Human-Connection/backend/testing.md rename to backend/testing.md diff --git a/Human-Connection/backend/yarn.lock b/backend/yarn.lock similarity index 100% rename from Human-Connection/backend/yarn.lock rename to backend/yarn.lock diff --git a/Human-Connection/cypress.env.template.json b/cypress.env.template.json similarity index 100% rename from Human-Connection/cypress.env.template.json rename to cypress.env.template.json diff --git a/Human-Connection/cypress.json b/cypress.json similarity index 100% rename from Human-Connection/cypress.json rename to cypress.json diff --git a/Human-Connection/cypress/README.md b/cypress/README.md similarity index 100% rename from Human-Connection/cypress/README.md rename to cypress/README.md diff --git a/Human-Connection/cypress/features.md b/cypress/features.md similarity index 100% rename from Human-Connection/cypress/features.md rename to cypress/features.md diff --git a/Human-Connection/cypress/fixtures/example.json b/cypress/fixtures/example.json similarity index 100% rename from Human-Connection/cypress/fixtures/example.json rename to cypress/fixtures/example.json diff --git a/Human-Connection/cypress/fixtures/onourjourney.png b/cypress/fixtures/onourjourney.png similarity index 100% rename from Human-Connection/cypress/fixtures/onourjourney.png rename to cypress/fixtures/onourjourney.png diff --git a/Human-Connection/cypress/fixtures/users.json b/cypress/fixtures/users.json similarity index 100% rename from Human-Connection/cypress/fixtures/users.json rename to cypress/fixtures/users.json diff --git a/Human-Connection/cypress/integration/administration/TagsAndCategories.feature b/cypress/integration/administration/TagsAndCategories.feature similarity index 100% rename from Human-Connection/cypress/integration/administration/TagsAndCategories.feature rename to cypress/integration/administration/TagsAndCategories.feature diff --git a/Human-Connection/cypress/integration/common/admin.js b/cypress/integration/common/admin.js similarity index 100% rename from Human-Connection/cypress/integration/common/admin.js rename to cypress/integration/common/admin.js diff --git a/Human-Connection/cypress/integration/common/post.js b/cypress/integration/common/post.js similarity index 100% rename from Human-Connection/cypress/integration/common/post.js rename to cypress/integration/common/post.js diff --git a/Human-Connection/cypress/integration/common/profile.js b/cypress/integration/common/profile.js similarity index 100% rename from Human-Connection/cypress/integration/common/profile.js rename to cypress/integration/common/profile.js diff --git a/Human-Connection/cypress/integration/common/report.js b/cypress/integration/common/report.js similarity index 100% rename from Human-Connection/cypress/integration/common/report.js rename to cypress/integration/common/report.js diff --git a/Human-Connection/cypress/integration/common/search.js b/cypress/integration/common/search.js similarity index 100% rename from Human-Connection/cypress/integration/common/search.js rename to cypress/integration/common/search.js diff --git a/Human-Connection/cypress/integration/common/settings.js b/cypress/integration/common/settings.js similarity index 100% rename from Human-Connection/cypress/integration/common/settings.js rename to cypress/integration/common/settings.js diff --git a/Human-Connection/cypress/integration/common/steps.js b/cypress/integration/common/steps.js similarity index 100% rename from Human-Connection/cypress/integration/common/steps.js rename to cypress/integration/common/steps.js diff --git a/Human-Connection/cypress/integration/internationalization/Internationalization.feature b/cypress/integration/internationalization/Internationalization.feature similarity index 100% rename from Human-Connection/cypress/integration/internationalization/Internationalization.feature rename to cypress/integration/internationalization/Internationalization.feature diff --git a/Human-Connection/cypress/integration/moderation/HidePosts.feature b/cypress/integration/moderation/HidePosts.feature similarity index 100% rename from Human-Connection/cypress/integration/moderation/HidePosts.feature rename to cypress/integration/moderation/HidePosts.feature diff --git a/Human-Connection/cypress/integration/moderation/ReportContent.feature b/cypress/integration/moderation/ReportContent.feature similarity index 100% rename from Human-Connection/cypress/integration/moderation/ReportContent.feature rename to cypress/integration/moderation/ReportContent.feature diff --git a/Human-Connection/cypress/integration/notifications/Mentions.feature b/cypress/integration/notifications/Mentions.feature similarity index 100% rename from Human-Connection/cypress/integration/notifications/Mentions.feature rename to cypress/integration/notifications/Mentions.feature diff --git a/Human-Connection/cypress/integration/post/Comment.feature b/cypress/integration/post/Comment.feature similarity index 100% rename from Human-Connection/cypress/integration/post/Comment.feature rename to cypress/integration/post/Comment.feature diff --git a/Human-Connection/cypress/integration/post/PersistentLinks.feature b/cypress/integration/post/PersistentLinks.feature similarity index 100% rename from Human-Connection/cypress/integration/post/PersistentLinks.feature rename to cypress/integration/post/PersistentLinks.feature diff --git a/Human-Connection/cypress/integration/post/WritePost.feature b/cypress/integration/post/WritePost.feature similarity index 100% rename from Human-Connection/cypress/integration/post/WritePost.feature rename to cypress/integration/post/WritePost.feature diff --git a/Human-Connection/cypress/integration/search/Search.feature b/cypress/integration/search/Search.feature similarity index 100% rename from Human-Connection/cypress/integration/search/Search.feature rename to cypress/integration/search/Search.feature diff --git a/Human-Connection/cypress/integration/user_account/ChangePassword.feature b/cypress/integration/user_account/ChangePassword.feature similarity index 100% rename from Human-Connection/cypress/integration/user_account/ChangePassword.feature rename to cypress/integration/user_account/ChangePassword.feature diff --git a/Human-Connection/cypress/integration/user_account/Login.feature b/cypress/integration/user_account/Login.feature similarity index 100% rename from Human-Connection/cypress/integration/user_account/Login.feature rename to cypress/integration/user_account/Login.feature diff --git a/Human-Connection/cypress/integration/user_profile/AboutMeAndLocation.feature b/cypress/integration/user_profile/AboutMeAndLocation.feature similarity index 100% rename from Human-Connection/cypress/integration/user_profile/AboutMeAndLocation.feature rename to cypress/integration/user_profile/AboutMeAndLocation.feature diff --git a/Human-Connection/cypress/integration/user_profile/SocialMedia.feature b/cypress/integration/user_profile/SocialMedia.feature similarity index 100% rename from Human-Connection/cypress/integration/user_profile/SocialMedia.feature rename to cypress/integration/user_profile/SocialMedia.feature diff --git a/Human-Connection/cypress/integration/user_profile/UploadUserProfileImage.feature b/cypress/integration/user_profile/UploadUserProfileImage.feature similarity index 100% rename from Human-Connection/cypress/integration/user_profile/UploadUserProfileImage.feature rename to cypress/integration/user_profile/UploadUserProfileImage.feature diff --git a/Human-Connection/cypress/plugins/index.js b/cypress/plugins/index.js similarity index 100% rename from Human-Connection/cypress/plugins/index.js rename to cypress/plugins/index.js diff --git a/Human-Connection/cypress/support/commands.js b/cypress/support/commands.js similarity index 100% rename from Human-Connection/cypress/support/commands.js rename to cypress/support/commands.js diff --git a/Human-Connection/cypress/support/factories.js b/cypress/support/factories.js similarity index 100% rename from Human-Connection/cypress/support/factories.js rename to cypress/support/factories.js diff --git a/Human-Connection/cypress/support/helpers.js b/cypress/support/helpers.js similarity index 100% rename from Human-Connection/cypress/support/helpers.js rename to cypress/support/helpers.js diff --git a/Human-Connection/cypress/support/index.js b/cypress/support/index.js similarity index 100% rename from Human-Connection/cypress/support/index.js rename to cypress/support/index.js diff --git a/Human-Connection/deployment/.gitignore b/deployment/.gitignore similarity index 100% rename from Human-Connection/deployment/.gitignore rename to deployment/.gitignore diff --git a/Human-Connection/deployment/README.md b/deployment/README.md similarity index 100% rename from Human-Connection/deployment/README.md rename to deployment/README.md diff --git a/Human-Connection/deployment/digital-ocean/README.md b/deployment/digital-ocean/README.md similarity index 100% rename from Human-Connection/deployment/digital-ocean/README.md rename to deployment/digital-ocean/README.md diff --git a/Human-Connection/deployment/digital-ocean/dashboard/README.md b/deployment/digital-ocean/dashboard/README.md similarity index 100% rename from Human-Connection/deployment/digital-ocean/dashboard/README.md rename to deployment/digital-ocean/dashboard/README.md diff --git a/Human-Connection/deployment/digital-ocean/dashboard/admin-user.yaml b/deployment/digital-ocean/dashboard/admin-user.yaml similarity index 100% rename from Human-Connection/deployment/digital-ocean/dashboard/admin-user.yaml rename to deployment/digital-ocean/dashboard/admin-user.yaml diff --git a/Human-Connection/deployment/digital-ocean/dashboard/dashboard-screenshot.png b/deployment/digital-ocean/dashboard/dashboard-screenshot.png similarity index 100% rename from Human-Connection/deployment/digital-ocean/dashboard/dashboard-screenshot.png rename to deployment/digital-ocean/dashboard/dashboard-screenshot.png diff --git a/Human-Connection/deployment/digital-ocean/dashboard/role-binding.yaml b/deployment/digital-ocean/dashboard/role-binding.yaml similarity index 100% rename from Human-Connection/deployment/digital-ocean/dashboard/role-binding.yaml rename to deployment/digital-ocean/dashboard/role-binding.yaml diff --git a/Human-Connection/deployment/digital-ocean/https/.gitignore b/deployment/digital-ocean/https/.gitignore similarity index 100% rename from Human-Connection/deployment/digital-ocean/https/.gitignore rename to deployment/digital-ocean/https/.gitignore diff --git a/Human-Connection/deployment/digital-ocean/https/README.md b/deployment/digital-ocean/https/README.md similarity index 100% rename from Human-Connection/deployment/digital-ocean/https/README.md rename to deployment/digital-ocean/https/README.md diff --git a/Human-Connection/deployment/digital-ocean/https/ip-address.png b/deployment/digital-ocean/https/ip-address.png similarity index 100% rename from Human-Connection/deployment/digital-ocean/https/ip-address.png rename to deployment/digital-ocean/https/ip-address.png diff --git a/Human-Connection/deployment/digital-ocean/https/namespace.yaml b/deployment/digital-ocean/https/namespace.yaml similarity index 100% rename from Human-Connection/deployment/digital-ocean/https/namespace.yaml rename to deployment/digital-ocean/https/namespace.yaml diff --git a/Human-Connection/deployment/digital-ocean/https/templates/ingress.template.yaml b/deployment/digital-ocean/https/templates/ingress.template.yaml similarity index 100% rename from Human-Connection/deployment/digital-ocean/https/templates/ingress.template.yaml rename to deployment/digital-ocean/https/templates/ingress.template.yaml diff --git a/Human-Connection/deployment/digital-ocean/https/templates/issuer.template.yaml b/deployment/digital-ocean/https/templates/issuer.template.yaml similarity index 100% rename from Human-Connection/deployment/digital-ocean/https/templates/issuer.template.yaml rename to deployment/digital-ocean/https/templates/issuer.template.yaml diff --git a/Human-Connection/deployment/human-connection/README.md b/deployment/human-connection/README.md similarity index 100% rename from Human-Connection/deployment/human-connection/README.md rename to deployment/human-connection/README.md diff --git a/Human-Connection/deployment/human-connection/deployment-backend.yaml b/deployment/human-connection/deployment-backend.yaml similarity index 100% rename from Human-Connection/deployment/human-connection/deployment-backend.yaml rename to deployment/human-connection/deployment-backend.yaml diff --git a/Human-Connection/deployment/human-connection/deployment-neo4j.yaml b/deployment/human-connection/deployment-neo4j.yaml similarity index 100% rename from Human-Connection/deployment/human-connection/deployment-neo4j.yaml rename to deployment/human-connection/deployment-neo4j.yaml diff --git a/Human-Connection/deployment/human-connection/deployment-web.yaml b/deployment/human-connection/deployment-web.yaml similarity index 100% rename from Human-Connection/deployment/human-connection/deployment-web.yaml rename to deployment/human-connection/deployment-web.yaml diff --git a/Human-Connection/deployment/human-connection/mailserver/README.md b/deployment/human-connection/mailserver/README.md similarity index 100% rename from Human-Connection/deployment/human-connection/mailserver/README.md rename to deployment/human-connection/mailserver/README.md diff --git a/Human-Connection/deployment/human-connection/mailserver/deployment-mailserver.yaml b/deployment/human-connection/mailserver/deployment-mailserver.yaml similarity index 100% rename from Human-Connection/deployment/human-connection/mailserver/deployment-mailserver.yaml rename to deployment/human-connection/mailserver/deployment-mailserver.yaml diff --git a/Human-Connection/deployment/human-connection/mailserver/service-mailserver.yaml b/deployment/human-connection/mailserver/service-mailserver.yaml similarity index 100% rename from Human-Connection/deployment/human-connection/mailserver/service-mailserver.yaml rename to deployment/human-connection/mailserver/service-mailserver.yaml diff --git a/Human-Connection/deployment/human-connection/service-backend.yaml b/deployment/human-connection/service-backend.yaml similarity index 100% rename from Human-Connection/deployment/human-connection/service-backend.yaml rename to deployment/human-connection/service-backend.yaml diff --git a/Human-Connection/deployment/human-connection/service-neo4j.yaml b/deployment/human-connection/service-neo4j.yaml similarity index 100% rename from Human-Connection/deployment/human-connection/service-neo4j.yaml rename to deployment/human-connection/service-neo4j.yaml diff --git a/Human-Connection/deployment/human-connection/service-web.yaml b/deployment/human-connection/service-web.yaml similarity index 100% rename from Human-Connection/deployment/human-connection/service-web.yaml rename to deployment/human-connection/service-web.yaml diff --git a/Human-Connection/deployment/human-connection/templates/configmap.template.yaml b/deployment/human-connection/templates/configmap.template.yaml similarity index 100% rename from Human-Connection/deployment/human-connection/templates/configmap.template.yaml rename to deployment/human-connection/templates/configmap.template.yaml diff --git a/Human-Connection/deployment/human-connection/templates/secrets.template.yaml b/deployment/human-connection/templates/secrets.template.yaml similarity index 100% rename from Human-Connection/deployment/human-connection/templates/secrets.template.yaml rename to deployment/human-connection/templates/secrets.template.yaml diff --git a/Human-Connection/deployment/legacy-migration/README.md b/deployment/legacy-migration/README.md similarity index 100% rename from Human-Connection/deployment/legacy-migration/README.md rename to deployment/legacy-migration/README.md diff --git a/Human-Connection/deployment/legacy-migration/maintenance-worker.yaml b/deployment/legacy-migration/maintenance-worker.yaml similarity index 100% rename from Human-Connection/deployment/legacy-migration/maintenance-worker.yaml rename to deployment/legacy-migration/maintenance-worker.yaml diff --git a/Human-Connection/deployment/legacy-migration/maintenance-worker/.dockerignore b/deployment/legacy-migration/maintenance-worker/.dockerignore similarity index 100% rename from Human-Connection/deployment/legacy-migration/maintenance-worker/.dockerignore rename to deployment/legacy-migration/maintenance-worker/.dockerignore diff --git a/Human-Connection/deployment/legacy-migration/maintenance-worker/.gitignore b/deployment/legacy-migration/maintenance-worker/.gitignore similarity index 100% rename from Human-Connection/deployment/legacy-migration/maintenance-worker/.gitignore rename to deployment/legacy-migration/maintenance-worker/.gitignore diff --git a/Human-Connection/deployment/legacy-migration/maintenance-worker/Dockerfile b/deployment/legacy-migration/maintenance-worker/Dockerfile similarity index 100% rename from Human-Connection/deployment/legacy-migration/maintenance-worker/Dockerfile rename to deployment/legacy-migration/maintenance-worker/Dockerfile diff --git a/Human-Connection/deployment/legacy-migration/maintenance-worker/binaries/idle b/deployment/legacy-migration/maintenance-worker/binaries/idle similarity index 100% rename from Human-Connection/deployment/legacy-migration/maintenance-worker/binaries/idle rename to deployment/legacy-migration/maintenance-worker/binaries/idle diff --git a/Human-Connection/deployment/legacy-migration/maintenance-worker/binaries/import_legacy_db b/deployment/legacy-migration/maintenance-worker/binaries/import_legacy_db similarity index 100% rename from Human-Connection/deployment/legacy-migration/maintenance-worker/binaries/import_legacy_db rename to deployment/legacy-migration/maintenance-worker/binaries/import_legacy_db diff --git a/Human-Connection/deployment/legacy-migration/maintenance-worker/binaries/import_legacy_uploads b/deployment/legacy-migration/maintenance-worker/binaries/import_legacy_uploads similarity index 100% rename from Human-Connection/deployment/legacy-migration/maintenance-worker/binaries/import_legacy_uploads rename to deployment/legacy-migration/maintenance-worker/binaries/import_legacy_uploads diff --git a/Human-Connection/deployment/legacy-migration/maintenance-worker/known_hosts b/deployment/legacy-migration/maintenance-worker/known_hosts similarity index 100% rename from Human-Connection/deployment/legacy-migration/maintenance-worker/known_hosts rename to deployment/legacy-migration/maintenance-worker/known_hosts diff --git a/Human-Connection/deployment/legacy-migration/maintenance-worker/migration/mongo/export.sh b/deployment/legacy-migration/maintenance-worker/migration/mongo/export.sh similarity index 100% rename from Human-Connection/deployment/legacy-migration/maintenance-worker/migration/mongo/export.sh rename to deployment/legacy-migration/maintenance-worker/migration/mongo/export.sh diff --git a/Human-Connection/deployment/legacy-migration/maintenance-worker/migration/neo4j/badges/badges.cql b/deployment/legacy-migration/maintenance-worker/migration/neo4j/badges/badges.cql similarity index 100% rename from Human-Connection/deployment/legacy-migration/maintenance-worker/migration/neo4j/badges/badges.cql rename to deployment/legacy-migration/maintenance-worker/migration/neo4j/badges/badges.cql diff --git a/Human-Connection/deployment/legacy-migration/maintenance-worker/migration/neo4j/badges/delete.cql b/deployment/legacy-migration/maintenance-worker/migration/neo4j/badges/delete.cql similarity index 100% rename from Human-Connection/deployment/legacy-migration/maintenance-worker/migration/neo4j/badges/delete.cql rename to deployment/legacy-migration/maintenance-worker/migration/neo4j/badges/delete.cql diff --git a/Human-Connection/deployment/legacy-migration/maintenance-worker/migration/neo4j/categories/categories.cql b/deployment/legacy-migration/maintenance-worker/migration/neo4j/categories/categories.cql similarity index 100% rename from Human-Connection/deployment/legacy-migration/maintenance-worker/migration/neo4j/categories/categories.cql rename to deployment/legacy-migration/maintenance-worker/migration/neo4j/categories/categories.cql diff --git a/Human-Connection/deployment/legacy-migration/maintenance-worker/migration/neo4j/categories/delete.cql b/deployment/legacy-migration/maintenance-worker/migration/neo4j/categories/delete.cql similarity index 100% rename from Human-Connection/deployment/legacy-migration/maintenance-worker/migration/neo4j/categories/delete.cql rename to deployment/legacy-migration/maintenance-worker/migration/neo4j/categories/delete.cql diff --git a/Human-Connection/deployment/legacy-migration/maintenance-worker/migration/neo4j/comments/comments.cql b/deployment/legacy-migration/maintenance-worker/migration/neo4j/comments/comments.cql similarity index 100% rename from Human-Connection/deployment/legacy-migration/maintenance-worker/migration/neo4j/comments/comments.cql rename to deployment/legacy-migration/maintenance-worker/migration/neo4j/comments/comments.cql diff --git a/Human-Connection/deployment/legacy-migration/maintenance-worker/migration/neo4j/comments/delete.cql b/deployment/legacy-migration/maintenance-worker/migration/neo4j/comments/delete.cql similarity index 100% rename from Human-Connection/deployment/legacy-migration/maintenance-worker/migration/neo4j/comments/delete.cql rename to deployment/legacy-migration/maintenance-worker/migration/neo4j/comments/delete.cql diff --git a/Human-Connection/deployment/legacy-migration/maintenance-worker/migration/neo4j/contributions/contributions.cql b/deployment/legacy-migration/maintenance-worker/migration/neo4j/contributions/contributions.cql similarity index 100% rename from Human-Connection/deployment/legacy-migration/maintenance-worker/migration/neo4j/contributions/contributions.cql rename to deployment/legacy-migration/maintenance-worker/migration/neo4j/contributions/contributions.cql diff --git a/Human-Connection/deployment/legacy-migration/maintenance-worker/migration/neo4j/contributions/delete.cql b/deployment/legacy-migration/maintenance-worker/migration/neo4j/contributions/delete.cql similarity index 100% rename from Human-Connection/deployment/legacy-migration/maintenance-worker/migration/neo4j/contributions/delete.cql rename to deployment/legacy-migration/maintenance-worker/migration/neo4j/contributions/delete.cql diff --git a/Human-Connection/deployment/legacy-migration/maintenance-worker/migration/neo4j/delete_all.cql b/deployment/legacy-migration/maintenance-worker/migration/neo4j/delete_all.cql similarity index 100% rename from Human-Connection/deployment/legacy-migration/maintenance-worker/migration/neo4j/delete_all.cql rename to deployment/legacy-migration/maintenance-worker/migration/neo4j/delete_all.cql diff --git a/Human-Connection/deployment/legacy-migration/maintenance-worker/migration/neo4j/emotions/delete.cql b/deployment/legacy-migration/maintenance-worker/migration/neo4j/emotions/delete.cql similarity index 100% rename from Human-Connection/deployment/legacy-migration/maintenance-worker/migration/neo4j/emotions/delete.cql rename to deployment/legacy-migration/maintenance-worker/migration/neo4j/emotions/delete.cql diff --git a/Human-Connection/deployment/legacy-migration/maintenance-worker/migration/neo4j/emotions/emotions.cql b/deployment/legacy-migration/maintenance-worker/migration/neo4j/emotions/emotions.cql similarity index 100% rename from Human-Connection/deployment/legacy-migration/maintenance-worker/migration/neo4j/emotions/emotions.cql rename to deployment/legacy-migration/maintenance-worker/migration/neo4j/emotions/emotions.cql diff --git a/Human-Connection/deployment/legacy-migration/maintenance-worker/migration/neo4j/follows/delete.cql b/deployment/legacy-migration/maintenance-worker/migration/neo4j/follows/delete.cql similarity index 100% rename from Human-Connection/deployment/legacy-migration/maintenance-worker/migration/neo4j/follows/delete.cql rename to deployment/legacy-migration/maintenance-worker/migration/neo4j/follows/delete.cql diff --git a/Human-Connection/deployment/legacy-migration/maintenance-worker/migration/neo4j/follows/follows.cql b/deployment/legacy-migration/maintenance-worker/migration/neo4j/follows/follows.cql similarity index 100% rename from Human-Connection/deployment/legacy-migration/maintenance-worker/migration/neo4j/follows/follows.cql rename to deployment/legacy-migration/maintenance-worker/migration/neo4j/follows/follows.cql diff --git a/Human-Connection/deployment/legacy-migration/maintenance-worker/migration/neo4j/import.sh b/deployment/legacy-migration/maintenance-worker/migration/neo4j/import.sh similarity index 100% rename from Human-Connection/deployment/legacy-migration/maintenance-worker/migration/neo4j/import.sh rename to deployment/legacy-migration/maintenance-worker/migration/neo4j/import.sh diff --git a/Human-Connection/deployment/legacy-migration/maintenance-worker/migration/neo4j/invites/delete.cql b/deployment/legacy-migration/maintenance-worker/migration/neo4j/invites/delete.cql similarity index 100% rename from Human-Connection/deployment/legacy-migration/maintenance-worker/migration/neo4j/invites/delete.cql rename to deployment/legacy-migration/maintenance-worker/migration/neo4j/invites/delete.cql diff --git a/Human-Connection/deployment/legacy-migration/maintenance-worker/migration/neo4j/invites/invites.cql b/deployment/legacy-migration/maintenance-worker/migration/neo4j/invites/invites.cql similarity index 100% rename from Human-Connection/deployment/legacy-migration/maintenance-worker/migration/neo4j/invites/invites.cql rename to deployment/legacy-migration/maintenance-worker/migration/neo4j/invites/invites.cql diff --git a/Human-Connection/deployment/legacy-migration/maintenance-worker/migration/neo4j/notifications/delete.cql b/deployment/legacy-migration/maintenance-worker/migration/neo4j/notifications/delete.cql similarity index 100% rename from Human-Connection/deployment/legacy-migration/maintenance-worker/migration/neo4j/notifications/delete.cql rename to deployment/legacy-migration/maintenance-worker/migration/neo4j/notifications/delete.cql diff --git a/Human-Connection/deployment/legacy-migration/maintenance-worker/migration/neo4j/notifications/notifications.cql b/deployment/legacy-migration/maintenance-worker/migration/neo4j/notifications/notifications.cql similarity index 100% rename from Human-Connection/deployment/legacy-migration/maintenance-worker/migration/neo4j/notifications/notifications.cql rename to deployment/legacy-migration/maintenance-worker/migration/neo4j/notifications/notifications.cql diff --git a/Human-Connection/deployment/legacy-migration/maintenance-worker/migration/neo4j/organizations/delete.cql b/deployment/legacy-migration/maintenance-worker/migration/neo4j/organizations/delete.cql similarity index 100% rename from Human-Connection/deployment/legacy-migration/maintenance-worker/migration/neo4j/organizations/delete.cql rename to deployment/legacy-migration/maintenance-worker/migration/neo4j/organizations/delete.cql diff --git a/Human-Connection/deployment/legacy-migration/maintenance-worker/migration/neo4j/organizations/organizations.cql b/deployment/legacy-migration/maintenance-worker/migration/neo4j/organizations/organizations.cql similarity index 100% rename from Human-Connection/deployment/legacy-migration/maintenance-worker/migration/neo4j/organizations/organizations.cql rename to deployment/legacy-migration/maintenance-worker/migration/neo4j/organizations/organizations.cql diff --git a/Human-Connection/deployment/legacy-migration/maintenance-worker/migration/neo4j/pages/delete.cql b/deployment/legacy-migration/maintenance-worker/migration/neo4j/pages/delete.cql similarity index 100% rename from Human-Connection/deployment/legacy-migration/maintenance-worker/migration/neo4j/pages/delete.cql rename to deployment/legacy-migration/maintenance-worker/migration/neo4j/pages/delete.cql diff --git a/Human-Connection/deployment/legacy-migration/maintenance-worker/migration/neo4j/pages/pages.cql b/deployment/legacy-migration/maintenance-worker/migration/neo4j/pages/pages.cql similarity index 100% rename from Human-Connection/deployment/legacy-migration/maintenance-worker/migration/neo4j/pages/pages.cql rename to deployment/legacy-migration/maintenance-worker/migration/neo4j/pages/pages.cql diff --git a/Human-Connection/deployment/legacy-migration/maintenance-worker/migration/neo4j/projects/delete.cql b/deployment/legacy-migration/maintenance-worker/migration/neo4j/projects/delete.cql similarity index 100% rename from Human-Connection/deployment/legacy-migration/maintenance-worker/migration/neo4j/projects/delete.cql rename to deployment/legacy-migration/maintenance-worker/migration/neo4j/projects/delete.cql diff --git a/Human-Connection/deployment/legacy-migration/maintenance-worker/migration/neo4j/projects/projects.cql b/deployment/legacy-migration/maintenance-worker/migration/neo4j/projects/projects.cql similarity index 100% rename from Human-Connection/deployment/legacy-migration/maintenance-worker/migration/neo4j/projects/projects.cql rename to deployment/legacy-migration/maintenance-worker/migration/neo4j/projects/projects.cql diff --git a/Human-Connection/deployment/legacy-migration/maintenance-worker/migration/neo4j/settings/delete.cql b/deployment/legacy-migration/maintenance-worker/migration/neo4j/settings/delete.cql similarity index 100% rename from Human-Connection/deployment/legacy-migration/maintenance-worker/migration/neo4j/settings/delete.cql rename to deployment/legacy-migration/maintenance-worker/migration/neo4j/settings/delete.cql diff --git a/Human-Connection/deployment/legacy-migration/maintenance-worker/migration/neo4j/settings/settings.cql b/deployment/legacy-migration/maintenance-worker/migration/neo4j/settings/settings.cql similarity index 100% rename from Human-Connection/deployment/legacy-migration/maintenance-worker/migration/neo4j/settings/settings.cql rename to deployment/legacy-migration/maintenance-worker/migration/neo4j/settings/settings.cql diff --git a/Human-Connection/deployment/legacy-migration/maintenance-worker/migration/neo4j/shouts/delete.cql b/deployment/legacy-migration/maintenance-worker/migration/neo4j/shouts/delete.cql similarity index 100% rename from Human-Connection/deployment/legacy-migration/maintenance-worker/migration/neo4j/shouts/delete.cql rename to deployment/legacy-migration/maintenance-worker/migration/neo4j/shouts/delete.cql diff --git a/Human-Connection/deployment/legacy-migration/maintenance-worker/migration/neo4j/shouts/shouts.cql b/deployment/legacy-migration/maintenance-worker/migration/neo4j/shouts/shouts.cql similarity index 100% rename from Human-Connection/deployment/legacy-migration/maintenance-worker/migration/neo4j/shouts/shouts.cql rename to deployment/legacy-migration/maintenance-worker/migration/neo4j/shouts/shouts.cql diff --git a/Human-Connection/deployment/legacy-migration/maintenance-worker/migration/neo4j/status/delete.cql b/deployment/legacy-migration/maintenance-worker/migration/neo4j/status/delete.cql similarity index 100% rename from Human-Connection/deployment/legacy-migration/maintenance-worker/migration/neo4j/status/delete.cql rename to deployment/legacy-migration/maintenance-worker/migration/neo4j/status/delete.cql diff --git a/Human-Connection/deployment/legacy-migration/maintenance-worker/migration/neo4j/status/status.cql b/deployment/legacy-migration/maintenance-worker/migration/neo4j/status/status.cql similarity index 100% rename from Human-Connection/deployment/legacy-migration/maintenance-worker/migration/neo4j/status/status.cql rename to deployment/legacy-migration/maintenance-worker/migration/neo4j/status/status.cql diff --git a/Human-Connection/deployment/legacy-migration/maintenance-worker/migration/neo4j/systemnotifications/delete.cql b/deployment/legacy-migration/maintenance-worker/migration/neo4j/systemnotifications/delete.cql similarity index 100% rename from Human-Connection/deployment/legacy-migration/maintenance-worker/migration/neo4j/systemnotifications/delete.cql rename to deployment/legacy-migration/maintenance-worker/migration/neo4j/systemnotifications/delete.cql diff --git a/Human-Connection/deployment/legacy-migration/maintenance-worker/migration/neo4j/systemnotifications/systemnotifications.cql b/deployment/legacy-migration/maintenance-worker/migration/neo4j/systemnotifications/systemnotifications.cql similarity index 100% rename from Human-Connection/deployment/legacy-migration/maintenance-worker/migration/neo4j/systemnotifications/systemnotifications.cql rename to deployment/legacy-migration/maintenance-worker/migration/neo4j/systemnotifications/systemnotifications.cql diff --git a/Human-Connection/deployment/legacy-migration/maintenance-worker/migration/neo4j/users/delete.cql b/deployment/legacy-migration/maintenance-worker/migration/neo4j/users/delete.cql similarity index 100% rename from Human-Connection/deployment/legacy-migration/maintenance-worker/migration/neo4j/users/delete.cql rename to deployment/legacy-migration/maintenance-worker/migration/neo4j/users/delete.cql diff --git a/Human-Connection/deployment/legacy-migration/maintenance-worker/migration/neo4j/users/users.cql b/deployment/legacy-migration/maintenance-worker/migration/neo4j/users/users.cql similarity index 100% rename from Human-Connection/deployment/legacy-migration/maintenance-worker/migration/neo4j/users/users.cql rename to deployment/legacy-migration/maintenance-worker/migration/neo4j/users/users.cql diff --git a/Human-Connection/deployment/legacy-migration/maintenance-worker/migration/neo4j/userscandos/delete.cql b/deployment/legacy-migration/maintenance-worker/migration/neo4j/userscandos/delete.cql similarity index 100% rename from Human-Connection/deployment/legacy-migration/maintenance-worker/migration/neo4j/userscandos/delete.cql rename to deployment/legacy-migration/maintenance-worker/migration/neo4j/userscandos/delete.cql diff --git a/Human-Connection/deployment/legacy-migration/maintenance-worker/migration/neo4j/userscandos/userscandos.cql b/deployment/legacy-migration/maintenance-worker/migration/neo4j/userscandos/userscandos.cql similarity index 100% rename from Human-Connection/deployment/legacy-migration/maintenance-worker/migration/neo4j/userscandos/userscandos.cql rename to deployment/legacy-migration/maintenance-worker/migration/neo4j/userscandos/userscandos.cql diff --git a/Human-Connection/deployment/legacy-migration/maintenance-worker/migration/neo4j/usersettings/delete.cql b/deployment/legacy-migration/maintenance-worker/migration/neo4j/usersettings/delete.cql similarity index 100% rename from Human-Connection/deployment/legacy-migration/maintenance-worker/migration/neo4j/usersettings/delete.cql rename to deployment/legacy-migration/maintenance-worker/migration/neo4j/usersettings/delete.cql diff --git a/Human-Connection/deployment/legacy-migration/maintenance-worker/migration/neo4j/usersettings/usersettings.cql b/deployment/legacy-migration/maintenance-worker/migration/neo4j/usersettings/usersettings.cql similarity index 100% rename from Human-Connection/deployment/legacy-migration/maintenance-worker/migration/neo4j/usersettings/usersettings.cql rename to deployment/legacy-migration/maintenance-worker/migration/neo4j/usersettings/usersettings.cql diff --git a/Human-Connection/deployment/minikube/README.md b/deployment/minikube/README.md similarity index 100% rename from Human-Connection/deployment/minikube/README.md rename to deployment/minikube/README.md diff --git a/Human-Connection/deployment/namespace.yaml b/deployment/namespace.yaml similarity index 100% rename from Human-Connection/deployment/namespace.yaml rename to deployment/namespace.yaml diff --git a/Human-Connection/deployment/volumes/README.md b/deployment/volumes/README.md similarity index 100% rename from Human-Connection/deployment/volumes/README.md rename to deployment/volumes/README.md diff --git a/Human-Connection/deployment/volumes/neo4j-data.yaml b/deployment/volumes/neo4j-data.yaml similarity index 100% rename from Human-Connection/deployment/volumes/neo4j-data.yaml rename to deployment/volumes/neo4j-data.yaml diff --git a/Human-Connection/deployment/volumes/neo4j-offline-backup/README.md b/deployment/volumes/neo4j-offline-backup/README.md similarity index 100% rename from Human-Connection/deployment/volumes/neo4j-offline-backup/README.md rename to deployment/volumes/neo4j-offline-backup/README.md diff --git a/Human-Connection/deployment/volumes/reclaim-policy/README.md b/deployment/volumes/reclaim-policy/README.md similarity index 100% rename from Human-Connection/deployment/volumes/reclaim-policy/README.md rename to deployment/volumes/reclaim-policy/README.md diff --git a/Human-Connection/deployment/volumes/uploads.yaml b/deployment/volumes/uploads.yaml similarity index 100% rename from Human-Connection/deployment/volumes/uploads.yaml rename to deployment/volumes/uploads.yaml diff --git a/Human-Connection/deployment/volumes/velero/README.md b/deployment/volumes/velero/README.md similarity index 100% rename from Human-Connection/deployment/volumes/velero/README.md rename to deployment/volumes/velero/README.md diff --git a/Human-Connection/deployment/volumes/volume-snapshots/README.md b/deployment/volumes/volume-snapshots/README.md similarity index 100% rename from Human-Connection/deployment/volumes/volume-snapshots/README.md rename to deployment/volumes/volume-snapshots/README.md diff --git a/Human-Connection/deployment/volumes/volume-snapshots/digital-ocean-volume-snapshots.png b/deployment/volumes/volume-snapshots/digital-ocean-volume-snapshots.png similarity index 100% rename from Human-Connection/deployment/volumes/volume-snapshots/digital-ocean-volume-snapshots.png rename to deployment/volumes/volume-snapshots/digital-ocean-volume-snapshots.png diff --git a/Human-Connection/deployment/volumes/volume-snapshots/neo4j-data.yaml b/deployment/volumes/volume-snapshots/neo4j-data.yaml similarity index 100% rename from Human-Connection/deployment/volumes/volume-snapshots/neo4j-data.yaml rename to deployment/volumes/volume-snapshots/neo4j-data.yaml diff --git a/Human-Connection/deployment/volumes/volume-snapshots/snapshot.yaml b/deployment/volumes/volume-snapshots/snapshot.yaml similarity index 100% rename from Human-Connection/deployment/volumes/volume-snapshots/snapshot.yaml rename to deployment/volumes/volume-snapshots/snapshot.yaml diff --git a/Human-Connection/docker-compose.maintenance.yml b/docker-compose.maintenance.yml similarity index 100% rename from Human-Connection/docker-compose.maintenance.yml rename to docker-compose.maintenance.yml diff --git a/Human-Connection/docker-compose.override.yml b/docker-compose.override.yml similarity index 100% rename from Human-Connection/docker-compose.override.yml rename to docker-compose.override.yml diff --git a/Human-Connection/docker-compose.travis.yml b/docker-compose.travis.yml similarity index 100% rename from Human-Connection/docker-compose.travis.yml rename to docker-compose.travis.yml diff --git a/Human-Connection/docker-compose.yml b/docker-compose.yml similarity index 100% rename from Human-Connection/docker-compose.yml rename to docker-compose.yml diff --git a/Human-Connection/edit-this-documentation.md b/edit-this-documentation.md similarity index 100% rename from Human-Connection/edit-this-documentation.md rename to edit-this-documentation.md diff --git a/Human-Connection/installation.md b/installation.md similarity index 100% rename from Human-Connection/installation.md rename to installation.md diff --git a/Human-Connection/neo4j/.env.template b/neo4j/.env.template similarity index 100% rename from Human-Connection/neo4j/.env.template rename to neo4j/.env.template diff --git a/Human-Connection/neo4j/.gitignore b/neo4j/.gitignore similarity index 100% rename from Human-Connection/neo4j/.gitignore rename to neo4j/.gitignore diff --git a/Human-Connection/neo4j/Dockerfile b/neo4j/Dockerfile similarity index 100% rename from Human-Connection/neo4j/Dockerfile rename to neo4j/Dockerfile diff --git a/Human-Connection/neo4j/README.md b/neo4j/README.md similarity index 100% rename from Human-Connection/neo4j/README.md rename to neo4j/README.md diff --git a/Human-Connection/neo4j/db_setup.sh b/neo4j/db_setup.sh similarity index 100% rename from Human-Connection/neo4j/db_setup.sh rename to neo4j/db_setup.sh diff --git a/Human-Connection/neo4j/entrypoint.sh b/neo4j/entrypoint.sh similarity index 100% rename from Human-Connection/neo4j/entrypoint.sh rename to neo4j/entrypoint.sh diff --git a/Human-Connection/package.json b/package.json similarity index 100% rename from Human-Connection/package.json rename to package.json diff --git a/Human-Connection/scripts/deploy.sh b/scripts/deploy.sh similarity index 100% rename from Human-Connection/scripts/deploy.sh rename to scripts/deploy.sh diff --git a/Human-Connection/scripts/docker_push.sh b/scripts/docker_push.sh similarity index 100% rename from Human-Connection/scripts/docker_push.sh rename to scripts/docker_push.sh diff --git a/Human-Connection/scripts/patch-deployment.yaml b/scripts/patch-deployment.yaml similarity index 100% rename from Human-Connection/scripts/patch-deployment.yaml rename to scripts/patch-deployment.yaml diff --git a/Human-Connection/scripts/setup_kubernetes.sh b/scripts/setup_kubernetes.sh similarity index 100% rename from Human-Connection/scripts/setup_kubernetes.sh rename to scripts/setup_kubernetes.sh diff --git a/Human-Connection/testing.md b/testing.md similarity index 100% rename from Human-Connection/testing.md rename to testing.md diff --git a/Human-Connection/webapp/.babelrc b/webapp/.babelrc similarity index 100% rename from Human-Connection/webapp/.babelrc rename to webapp/.babelrc diff --git a/Human-Connection/webapp/.dockerignore b/webapp/.dockerignore similarity index 100% rename from Human-Connection/webapp/.dockerignore rename to webapp/.dockerignore diff --git a/Human-Connection/webapp/.editorconfig b/webapp/.editorconfig similarity index 100% rename from Human-Connection/webapp/.editorconfig rename to webapp/.editorconfig diff --git a/Human-Connection/webapp/.env.template b/webapp/.env.template similarity index 100% rename from Human-Connection/webapp/.env.template rename to webapp/.env.template diff --git a/Human-Connection/webapp/.eslintignore b/webapp/.eslintignore similarity index 100% rename from Human-Connection/webapp/.eslintignore rename to webapp/.eslintignore diff --git a/Human-Connection/webapp/.eslintrc.js b/webapp/.eslintrc.js similarity index 100% rename from Human-Connection/webapp/.eslintrc.js rename to webapp/.eslintrc.js diff --git a/Human-Connection/webapp/.gitignore b/webapp/.gitignore similarity index 100% rename from Human-Connection/webapp/.gitignore rename to webapp/.gitignore diff --git a/Human-Connection/webapp/.prettierrc.js b/webapp/.prettierrc.js similarity index 100% rename from Human-Connection/webapp/.prettierrc.js rename to webapp/.prettierrc.js diff --git a/Human-Connection/webapp/Dockerfile b/webapp/Dockerfile similarity index 100% rename from Human-Connection/webapp/Dockerfile rename to webapp/Dockerfile diff --git a/Human-Connection/webapp/README.md b/webapp/README.md similarity index 100% rename from Human-Connection/webapp/README.md rename to webapp/README.md diff --git a/Human-Connection/webapp/assets.md b/webapp/assets.md similarity index 100% rename from Human-Connection/webapp/assets.md rename to webapp/assets.md diff --git a/Human-Connection/webapp/assets/styles/imports/_toast.scss b/webapp/assets/styles/imports/_toast.scss similarity index 100% rename from Human-Connection/webapp/assets/styles/imports/_toast.scss rename to webapp/assets/styles/imports/_toast.scss diff --git a/Human-Connection/webapp/assets/styles/imports/_tooltip.scss b/webapp/assets/styles/imports/_tooltip.scss similarity index 100% rename from Human-Connection/webapp/assets/styles/imports/_tooltip.scss rename to webapp/assets/styles/imports/_tooltip.scss diff --git a/Human-Connection/webapp/assets/styles/main.scss b/webapp/assets/styles/main.scss similarity index 100% rename from Human-Connection/webapp/assets/styles/main.scss rename to webapp/assets/styles/main.scss diff --git a/Human-Connection/webapp/components.md b/webapp/components.md similarity index 100% rename from Human-Connection/webapp/components.md rename to webapp/components.md diff --git a/Human-Connection/webapp/components/Avatar/Avatar.spec.js b/webapp/components/Avatar/Avatar.spec.js similarity index 100% rename from Human-Connection/webapp/components/Avatar/Avatar.spec.js rename to webapp/components/Avatar/Avatar.spec.js diff --git a/Human-Connection/webapp/components/Avatar/Avatar.vue b/webapp/components/Avatar/Avatar.vue similarity index 100% rename from Human-Connection/webapp/components/Avatar/Avatar.vue rename to webapp/components/Avatar/Avatar.vue diff --git a/Human-Connection/webapp/components/Badges.spec.js b/webapp/components/Badges.spec.js similarity index 100% rename from Human-Connection/webapp/components/Badges.spec.js rename to webapp/components/Badges.spec.js diff --git a/Human-Connection/webapp/components/Badges.vue b/webapp/components/Badges.vue similarity index 100% rename from Human-Connection/webapp/components/Badges.vue rename to webapp/components/Badges.vue diff --git a/Human-Connection/webapp/components/CategoriesSelect/CategoriesSelect.spec.js b/webapp/components/CategoriesSelect/CategoriesSelect.spec.js similarity index 100% rename from Human-Connection/webapp/components/CategoriesSelect/CategoriesSelect.spec.js rename to webapp/components/CategoriesSelect/CategoriesSelect.spec.js diff --git a/Human-Connection/webapp/components/CategoriesSelect/CategoriesSelect.vue b/webapp/components/CategoriesSelect/CategoriesSelect.vue similarity index 100% rename from Human-Connection/webapp/components/CategoriesSelect/CategoriesSelect.vue rename to webapp/components/CategoriesSelect/CategoriesSelect.vue diff --git a/Human-Connection/webapp/components/Category/Readme.md b/webapp/components/Category/Readme.md similarity index 100% rename from Human-Connection/webapp/components/Category/Readme.md rename to webapp/components/Category/Readme.md diff --git a/Human-Connection/webapp/components/Category/index.spec.js b/webapp/components/Category/index.spec.js similarity index 100% rename from Human-Connection/webapp/components/Category/index.spec.js rename to webapp/components/Category/index.spec.js diff --git a/Human-Connection/webapp/components/Category/index.vue b/webapp/components/Category/index.vue similarity index 100% rename from Human-Connection/webapp/components/Category/index.vue rename to webapp/components/Category/index.vue diff --git a/Human-Connection/webapp/components/Comment.spec.js b/webapp/components/Comment.spec.js similarity index 100% rename from Human-Connection/webapp/components/Comment.spec.js rename to webapp/components/Comment.spec.js diff --git a/Human-Connection/webapp/components/Comment.vue b/webapp/components/Comment.vue similarity index 100% rename from Human-Connection/webapp/components/Comment.vue rename to webapp/components/Comment.vue diff --git a/Human-Connection/webapp/components/ContentMenu.vue b/webapp/components/ContentMenu.vue similarity index 100% rename from Human-Connection/webapp/components/ContentMenu.vue rename to webapp/components/ContentMenu.vue diff --git a/Human-Connection/webapp/components/ContributionForm/ContributionForm.spec.js b/webapp/components/ContributionForm/ContributionForm.spec.js similarity index 100% rename from Human-Connection/webapp/components/ContributionForm/ContributionForm.spec.js rename to webapp/components/ContributionForm/ContributionForm.spec.js diff --git a/Human-Connection/webapp/components/ContributionForm/ContributionForm.vue b/webapp/components/ContributionForm/ContributionForm.vue similarity index 100% rename from Human-Connection/webapp/components/ContributionForm/ContributionForm.vue rename to webapp/components/ContributionForm/ContributionForm.vue diff --git a/Human-Connection/webapp/components/CountTo.vue b/webapp/components/CountTo.vue similarity index 100% rename from Human-Connection/webapp/components/CountTo.vue rename to webapp/components/CountTo.vue diff --git a/Human-Connection/webapp/components/DeleteData/DeleteData.spec.js b/webapp/components/DeleteData/DeleteData.spec.js similarity index 100% rename from Human-Connection/webapp/components/DeleteData/DeleteData.spec.js rename to webapp/components/DeleteData/DeleteData.spec.js diff --git a/Human-Connection/webapp/components/DeleteData/DeleteData.vue b/webapp/components/DeleteData/DeleteData.vue similarity index 100% rename from Human-Connection/webapp/components/DeleteData/DeleteData.vue rename to webapp/components/DeleteData/DeleteData.vue diff --git a/Human-Connection/webapp/components/Dropdown.vue b/webapp/components/Dropdown.vue similarity index 100% rename from Human-Connection/webapp/components/Dropdown.vue rename to webapp/components/Dropdown.vue diff --git a/Human-Connection/webapp/components/Editor/index.vue b/webapp/components/Editor/index.vue similarity index 100% rename from Human-Connection/webapp/components/Editor/index.vue rename to webapp/components/Editor/index.vue diff --git a/Human-Connection/webapp/components/Editor/nodes/Mention.js b/webapp/components/Editor/nodes/Mention.js similarity index 100% rename from Human-Connection/webapp/components/Editor/nodes/Mention.js rename to webapp/components/Editor/nodes/Mention.js diff --git a/Human-Connection/webapp/components/Editor/plugins/eventHandler.js b/webapp/components/Editor/plugins/eventHandler.js similarity index 100% rename from Human-Connection/webapp/components/Editor/plugins/eventHandler.js rename to webapp/components/Editor/plugins/eventHandler.js diff --git a/Human-Connection/webapp/components/Editor/spec.js b/webapp/components/Editor/spec.js similarity index 100% rename from Human-Connection/webapp/components/Editor/spec.js rename to webapp/components/Editor/spec.js diff --git a/Human-Connection/webapp/components/Empty.vue b/webapp/components/Empty.vue similarity index 100% rename from Human-Connection/webapp/components/Empty.vue rename to webapp/components/Empty.vue diff --git a/Human-Connection/webapp/components/FilterMenu/FilterMenu.spec.js b/webapp/components/FilterMenu/FilterMenu.spec.js similarity index 100% rename from Human-Connection/webapp/components/FilterMenu/FilterMenu.spec.js rename to webapp/components/FilterMenu/FilterMenu.spec.js diff --git a/Human-Connection/webapp/components/FilterMenu/FilterMenu.vue b/webapp/components/FilterMenu/FilterMenu.vue similarity index 100% rename from Human-Connection/webapp/components/FilterMenu/FilterMenu.vue rename to webapp/components/FilterMenu/FilterMenu.vue diff --git a/Human-Connection/webapp/components/FollowButton.vue b/webapp/components/FollowButton.vue similarity index 100% rename from Human-Connection/webapp/components/FollowButton.vue rename to webapp/components/FollowButton.vue diff --git a/Human-Connection/webapp/components/LoadMore.vue b/webapp/components/LoadMore.vue similarity index 100% rename from Human-Connection/webapp/components/LoadMore.vue rename to webapp/components/LoadMore.vue diff --git a/Human-Connection/webapp/components/LocaleSwitch/LocaleSwitch.spec.js b/webapp/components/LocaleSwitch/LocaleSwitch.spec.js similarity index 100% rename from Human-Connection/webapp/components/LocaleSwitch/LocaleSwitch.spec.js rename to webapp/components/LocaleSwitch/LocaleSwitch.spec.js diff --git a/Human-Connection/webapp/components/LocaleSwitch/LocaleSwitch.vue b/webapp/components/LocaleSwitch/LocaleSwitch.vue similarity index 100% rename from Human-Connection/webapp/components/LocaleSwitch/LocaleSwitch.vue rename to webapp/components/LocaleSwitch/LocaleSwitch.vue diff --git a/Human-Connection/webapp/components/Logo.vue b/webapp/components/Logo.vue similarity index 100% rename from Human-Connection/webapp/components/Logo.vue rename to webapp/components/Logo.vue diff --git a/Human-Connection/webapp/components/Modal.spec.js b/webapp/components/Modal.spec.js similarity index 100% rename from Human-Connection/webapp/components/Modal.spec.js rename to webapp/components/Modal.spec.js diff --git a/Human-Connection/webapp/components/Modal.vue b/webapp/components/Modal.vue similarity index 100% rename from Human-Connection/webapp/components/Modal.vue rename to webapp/components/Modal.vue diff --git a/Human-Connection/webapp/components/Modal/ConfirmModal.spec.js b/webapp/components/Modal/ConfirmModal.spec.js similarity index 100% rename from Human-Connection/webapp/components/Modal/ConfirmModal.spec.js rename to webapp/components/Modal/ConfirmModal.spec.js diff --git a/Human-Connection/webapp/components/Modal/ConfirmModal.vue b/webapp/components/Modal/ConfirmModal.vue similarity index 100% rename from Human-Connection/webapp/components/Modal/ConfirmModal.vue rename to webapp/components/Modal/ConfirmModal.vue diff --git a/Human-Connection/webapp/components/Modal/DisableModal.spec.js b/webapp/components/Modal/DisableModal.spec.js similarity index 100% rename from Human-Connection/webapp/components/Modal/DisableModal.spec.js rename to webapp/components/Modal/DisableModal.spec.js diff --git a/Human-Connection/webapp/components/Modal/DisableModal.vue b/webapp/components/Modal/DisableModal.vue similarity index 100% rename from Human-Connection/webapp/components/Modal/DisableModal.vue rename to webapp/components/Modal/DisableModal.vue diff --git a/Human-Connection/webapp/components/Modal/ReportModal.spec.js b/webapp/components/Modal/ReportModal.spec.js similarity index 100% rename from Human-Connection/webapp/components/Modal/ReportModal.spec.js rename to webapp/components/Modal/ReportModal.spec.js diff --git a/Human-Connection/webapp/components/Modal/ReportModal.vue b/webapp/components/Modal/ReportModal.vue similarity index 100% rename from Human-Connection/webapp/components/Modal/ReportModal.vue rename to webapp/components/Modal/ReportModal.vue diff --git a/Human-Connection/webapp/components/Password/Change.spec.js b/webapp/components/Password/Change.spec.js similarity index 100% rename from Human-Connection/webapp/components/Password/Change.spec.js rename to webapp/components/Password/Change.spec.js diff --git a/Human-Connection/webapp/components/Password/Change.vue b/webapp/components/Password/Change.vue similarity index 100% rename from Human-Connection/webapp/components/Password/Change.vue rename to webapp/components/Password/Change.vue diff --git a/Human-Connection/webapp/components/Password/Strength.vue b/webapp/components/Password/Strength.vue similarity index 100% rename from Human-Connection/webapp/components/Password/Strength.vue rename to webapp/components/Password/Strength.vue diff --git a/Human-Connection/webapp/components/PasswordReset/ChangePassword.spec.js b/webapp/components/PasswordReset/ChangePassword.spec.js similarity index 100% rename from Human-Connection/webapp/components/PasswordReset/ChangePassword.spec.js rename to webapp/components/PasswordReset/ChangePassword.spec.js diff --git a/Human-Connection/webapp/components/PasswordReset/ChangePassword.vue b/webapp/components/PasswordReset/ChangePassword.vue similarity index 100% rename from Human-Connection/webapp/components/PasswordReset/ChangePassword.vue rename to webapp/components/PasswordReset/ChangePassword.vue diff --git a/Human-Connection/webapp/components/PasswordReset/Request.spec.js b/webapp/components/PasswordReset/Request.spec.js similarity index 100% rename from Human-Connection/webapp/components/PasswordReset/Request.spec.js rename to webapp/components/PasswordReset/Request.spec.js diff --git a/Human-Connection/webapp/components/PasswordReset/Request.vue b/webapp/components/PasswordReset/Request.vue similarity index 100% rename from Human-Connection/webapp/components/PasswordReset/Request.vue rename to webapp/components/PasswordReset/Request.vue diff --git a/Human-Connection/webapp/components/PasswordReset/VerifyCode.spec.js b/webapp/components/PasswordReset/VerifyCode.spec.js similarity index 100% rename from Human-Connection/webapp/components/PasswordReset/VerifyCode.spec.js rename to webapp/components/PasswordReset/VerifyCode.spec.js diff --git a/Human-Connection/webapp/components/PasswordReset/VerifyCode.vue b/webapp/components/PasswordReset/VerifyCode.vue similarity index 100% rename from Human-Connection/webapp/components/PasswordReset/VerifyCode.vue rename to webapp/components/PasswordReset/VerifyCode.vue diff --git a/Human-Connection/webapp/components/PostCard/index.spec.js b/webapp/components/PostCard/index.spec.js similarity index 100% rename from Human-Connection/webapp/components/PostCard/index.spec.js rename to webapp/components/PostCard/index.spec.js diff --git a/Human-Connection/webapp/components/PostCard/index.vue b/webapp/components/PostCard/index.vue similarity index 100% rename from Human-Connection/webapp/components/PostCard/index.vue rename to webapp/components/PostCard/index.vue diff --git a/Human-Connection/webapp/components/RelativeDateTime/Readme.md b/webapp/components/RelativeDateTime/Readme.md similarity index 100% rename from Human-Connection/webapp/components/RelativeDateTime/Readme.md rename to webapp/components/RelativeDateTime/Readme.md diff --git a/Human-Connection/webapp/components/RelativeDateTime/index.vue b/webapp/components/RelativeDateTime/index.vue similarity index 100% rename from Human-Connection/webapp/components/RelativeDateTime/index.vue rename to webapp/components/RelativeDateTime/index.vue diff --git a/Human-Connection/webapp/components/RelativeDateTime/spec.js b/webapp/components/RelativeDateTime/spec.js similarity index 100% rename from Human-Connection/webapp/components/RelativeDateTime/spec.js rename to webapp/components/RelativeDateTime/spec.js diff --git a/Human-Connection/webapp/components/ReleaseModal/ReleaseModal.spec.js b/webapp/components/ReleaseModal/ReleaseModal.spec.js similarity index 100% rename from Human-Connection/webapp/components/ReleaseModal/ReleaseModal.spec.js rename to webapp/components/ReleaseModal/ReleaseModal.spec.js diff --git a/Human-Connection/webapp/components/ReleaseModal/ReleaseModal.vue b/webapp/components/ReleaseModal/ReleaseModal.vue similarity index 100% rename from Human-Connection/webapp/components/ReleaseModal/ReleaseModal.vue rename to webapp/components/ReleaseModal/ReleaseModal.vue diff --git a/Human-Connection/webapp/components/Ribbon/index.spec.js b/webapp/components/Ribbon/index.spec.js similarity index 100% rename from Human-Connection/webapp/components/Ribbon/index.spec.js rename to webapp/components/Ribbon/index.spec.js diff --git a/Human-Connection/webapp/components/Ribbon/index.vue b/webapp/components/Ribbon/index.vue similarity index 100% rename from Human-Connection/webapp/components/Ribbon/index.vue rename to webapp/components/Ribbon/index.vue diff --git a/Human-Connection/webapp/components/SearchInput.spec.js b/webapp/components/SearchInput.spec.js similarity index 100% rename from Human-Connection/webapp/components/SearchInput.spec.js rename to webapp/components/SearchInput.spec.js diff --git a/Human-Connection/webapp/components/SearchInput.vue b/webapp/components/SearchInput.vue similarity index 100% rename from Human-Connection/webapp/components/SearchInput.vue rename to webapp/components/SearchInput.vue diff --git a/Human-Connection/webapp/components/ShoutButton.vue b/webapp/components/ShoutButton.vue similarity index 100% rename from Human-Connection/webapp/components/ShoutButton.vue rename to webapp/components/ShoutButton.vue diff --git a/Human-Connection/webapp/components/Tag/Readme.md b/webapp/components/Tag/Readme.md similarity index 100% rename from Human-Connection/webapp/components/Tag/Readme.md rename to webapp/components/Tag/Readme.md diff --git a/Human-Connection/webapp/components/Tag/index.vue b/webapp/components/Tag/index.vue similarity index 100% rename from Human-Connection/webapp/components/Tag/index.vue rename to webapp/components/Tag/index.vue diff --git a/Human-Connection/webapp/components/Tag/spec.js b/webapp/components/Tag/spec.js similarity index 100% rename from Human-Connection/webapp/components/Tag/spec.js rename to webapp/components/Tag/spec.js diff --git a/Human-Connection/webapp/components/TeaserImage/TeaserImage.spec.js b/webapp/components/TeaserImage/TeaserImage.spec.js similarity index 100% rename from Human-Connection/webapp/components/TeaserImage/TeaserImage.spec.js rename to webapp/components/TeaserImage/TeaserImage.spec.js diff --git a/Human-Connection/webapp/components/TeaserImage/TeaserImage.vue b/webapp/components/TeaserImage/TeaserImage.vue similarity index 100% rename from Human-Connection/webapp/components/TeaserImage/TeaserImage.vue rename to webapp/components/TeaserImage/TeaserImage.vue diff --git a/Human-Connection/webapp/components/Upload/index.vue b/webapp/components/Upload/index.vue similarity index 100% rename from Human-Connection/webapp/components/Upload/index.vue rename to webapp/components/Upload/index.vue diff --git a/Human-Connection/webapp/components/Upload/spec.js b/webapp/components/Upload/spec.js similarity index 100% rename from Human-Connection/webapp/components/Upload/spec.js rename to webapp/components/Upload/spec.js diff --git a/Human-Connection/webapp/components/User/index.vue b/webapp/components/User/index.vue similarity index 100% rename from Human-Connection/webapp/components/User/index.vue rename to webapp/components/User/index.vue diff --git a/Human-Connection/webapp/components/User/spec.js b/webapp/components/User/spec.js similarity index 100% rename from Human-Connection/webapp/components/User/spec.js rename to webapp/components/User/spec.js diff --git a/Human-Connection/webapp/components/comments/CommentForm/index.vue b/webapp/components/comments/CommentForm/index.vue similarity index 100% rename from Human-Connection/webapp/components/comments/CommentForm/index.vue rename to webapp/components/comments/CommentForm/index.vue diff --git a/Human-Connection/webapp/components/comments/CommentForm/spec.js b/webapp/components/comments/CommentForm/spec.js similarity index 100% rename from Human-Connection/webapp/components/comments/CommentForm/spec.js rename to webapp/components/comments/CommentForm/spec.js diff --git a/Human-Connection/webapp/components/comments/CommentList/CommentList.spec.js b/webapp/components/comments/CommentList/CommentList.spec.js similarity index 100% rename from Human-Connection/webapp/components/comments/CommentList/CommentList.spec.js rename to webapp/components/comments/CommentList/CommentList.spec.js diff --git a/Human-Connection/webapp/components/comments/CommentList/index.vue b/webapp/components/comments/CommentList/index.vue similarity index 100% rename from Human-Connection/webapp/components/comments/CommentList/index.vue rename to webapp/components/comments/CommentList/index.vue diff --git a/Human-Connection/webapp/components/notifications/Notification/index.vue b/webapp/components/notifications/Notification/index.vue similarity index 100% rename from Human-Connection/webapp/components/notifications/Notification/index.vue rename to webapp/components/notifications/Notification/index.vue diff --git a/Human-Connection/webapp/components/notifications/Notification/spec.js b/webapp/components/notifications/Notification/spec.js similarity index 100% rename from Human-Connection/webapp/components/notifications/Notification/spec.js rename to webapp/components/notifications/Notification/spec.js diff --git a/Human-Connection/webapp/components/notifications/NotificationList/index.vue b/webapp/components/notifications/NotificationList/index.vue similarity index 100% rename from Human-Connection/webapp/components/notifications/NotificationList/index.vue rename to webapp/components/notifications/NotificationList/index.vue diff --git a/Human-Connection/webapp/components/notifications/NotificationList/spec.js b/webapp/components/notifications/NotificationList/spec.js similarity index 100% rename from Human-Connection/webapp/components/notifications/NotificationList/spec.js rename to webapp/components/notifications/NotificationList/spec.js diff --git a/Human-Connection/webapp/components/notifications/NotificationMenu/index.vue b/webapp/components/notifications/NotificationMenu/index.vue similarity index 100% rename from Human-Connection/webapp/components/notifications/NotificationMenu/index.vue rename to webapp/components/notifications/NotificationMenu/index.vue diff --git a/Human-Connection/webapp/components/notifications/NotificationMenu/spec.js b/webapp/components/notifications/NotificationMenu/spec.js similarity index 100% rename from Human-Connection/webapp/components/notifications/NotificationMenu/spec.js rename to webapp/components/notifications/NotificationMenu/spec.js diff --git a/Human-Connection/webapp/components/utils/PostHelpers.js b/webapp/components/utils/PostHelpers.js similarity index 100% rename from Human-Connection/webapp/components/utils/PostHelpers.js rename to webapp/components/utils/PostHelpers.js diff --git a/Human-Connection/webapp/graphql/CommentMutations.js b/webapp/graphql/CommentMutations.js similarity index 100% rename from Human-Connection/webapp/graphql/CommentMutations.js rename to webapp/graphql/CommentMutations.js diff --git a/Human-Connection/webapp/graphql/CommentQuery.js b/webapp/graphql/CommentQuery.js similarity index 100% rename from Human-Connection/webapp/graphql/CommentQuery.js rename to webapp/graphql/CommentQuery.js diff --git a/Human-Connection/webapp/graphql/ModerationListQuery.js b/webapp/graphql/ModerationListQuery.js similarity index 100% rename from Human-Connection/webapp/graphql/ModerationListQuery.js rename to webapp/graphql/ModerationListQuery.js diff --git a/Human-Connection/webapp/graphql/PostCommentsQuery.js b/webapp/graphql/PostCommentsQuery.js similarity index 100% rename from Human-Connection/webapp/graphql/PostCommentsQuery.js rename to webapp/graphql/PostCommentsQuery.js diff --git a/Human-Connection/webapp/graphql/PostMutations.js b/webapp/graphql/PostMutations.js similarity index 100% rename from Human-Connection/webapp/graphql/PostMutations.js rename to webapp/graphql/PostMutations.js diff --git a/Human-Connection/webapp/graphql/PostQuery.js b/webapp/graphql/PostQuery.js similarity index 100% rename from Human-Connection/webapp/graphql/PostQuery.js rename to webapp/graphql/PostQuery.js diff --git a/Human-Connection/webapp/graphql/UserProfile/Post.js b/webapp/graphql/UserProfile/Post.js similarity index 100% rename from Human-Connection/webapp/graphql/UserProfile/Post.js rename to webapp/graphql/UserProfile/Post.js diff --git a/Human-Connection/webapp/graphql/UserProfile/User.js b/webapp/graphql/UserProfile/User.js similarity index 100% rename from Human-Connection/webapp/graphql/UserProfile/User.js rename to webapp/graphql/UserProfile/User.js diff --git a/Human-Connection/webapp/layouts.md b/webapp/layouts.md similarity index 100% rename from Human-Connection/webapp/layouts.md rename to webapp/layouts.md diff --git a/Human-Connection/webapp/layouts/blank.vue b/webapp/layouts/blank.vue similarity index 100% rename from Human-Connection/webapp/layouts/blank.vue rename to webapp/layouts/blank.vue diff --git a/Human-Connection/webapp/layouts/default.vue b/webapp/layouts/default.vue similarity index 100% rename from Human-Connection/webapp/layouts/default.vue rename to webapp/layouts/default.vue diff --git a/Human-Connection/webapp/locales/de.json b/webapp/locales/de.json similarity index 100% rename from Human-Connection/webapp/locales/de.json rename to webapp/locales/de.json diff --git a/Human-Connection/webapp/locales/en.json b/webapp/locales/en.json similarity index 100% rename from Human-Connection/webapp/locales/en.json rename to webapp/locales/en.json diff --git a/Human-Connection/webapp/locales/es.json b/webapp/locales/es.json similarity index 100% rename from Human-Connection/webapp/locales/es.json rename to webapp/locales/es.json diff --git a/Human-Connection/webapp/locales/fr.json b/webapp/locales/fr.json similarity index 100% rename from Human-Connection/webapp/locales/fr.json rename to webapp/locales/fr.json diff --git a/Human-Connection/webapp/locales/index.js b/webapp/locales/index.js similarity index 100% rename from Human-Connection/webapp/locales/index.js rename to webapp/locales/index.js diff --git a/Human-Connection/webapp/locales/it.json b/webapp/locales/it.json similarity index 100% rename from Human-Connection/webapp/locales/it.json rename to webapp/locales/it.json diff --git a/Human-Connection/webapp/locales/nl.json b/webapp/locales/nl.json similarity index 100% rename from Human-Connection/webapp/locales/nl.json rename to webapp/locales/nl.json diff --git a/Human-Connection/webapp/locales/pl.json b/webapp/locales/pl.json similarity index 100% rename from Human-Connection/webapp/locales/pl.json rename to webapp/locales/pl.json diff --git a/Human-Connection/webapp/locales/pt.json b/webapp/locales/pt.json similarity index 100% rename from Human-Connection/webapp/locales/pt.json rename to webapp/locales/pt.json diff --git a/Human-Connection/webapp/lokalise.png b/webapp/lokalise.png similarity index 100% rename from Human-Connection/webapp/lokalise.png rename to webapp/lokalise.png diff --git a/Human-Connection/webapp/middleware.md b/webapp/middleware.md similarity index 100% rename from Human-Connection/webapp/middleware.md rename to webapp/middleware.md diff --git a/Human-Connection/webapp/middleware/authenticated.js b/webapp/middleware/authenticated.js similarity index 100% rename from Human-Connection/webapp/middleware/authenticated.js rename to webapp/middleware/authenticated.js diff --git a/Human-Connection/webapp/middleware/isAdmin.js b/webapp/middleware/isAdmin.js similarity index 100% rename from Human-Connection/webapp/middleware/isAdmin.js rename to webapp/middleware/isAdmin.js diff --git a/Human-Connection/webapp/middleware/isModerator.js b/webapp/middleware/isModerator.js similarity index 100% rename from Human-Connection/webapp/middleware/isModerator.js rename to webapp/middleware/isModerator.js diff --git a/Human-Connection/webapp/mixins/persistentLinks.js b/webapp/mixins/persistentLinks.js similarity index 100% rename from Human-Connection/webapp/mixins/persistentLinks.js rename to webapp/mixins/persistentLinks.js diff --git a/Human-Connection/webapp/mixins/seo.js b/webapp/mixins/seo.js similarity index 100% rename from Human-Connection/webapp/mixins/seo.js rename to webapp/mixins/seo.js diff --git a/Human-Connection/webapp/nuxt.config.js b/webapp/nuxt.config.js similarity index 100% rename from Human-Connection/webapp/nuxt.config.js rename to webapp/nuxt.config.js diff --git a/Human-Connection/webapp/package.json b/webapp/package.json similarity index 100% rename from Human-Connection/webapp/package.json rename to webapp/package.json diff --git a/Human-Connection/webapp/pages.md b/webapp/pages.md similarity index 100% rename from Human-Connection/webapp/pages.md rename to webapp/pages.md diff --git a/Human-Connection/webapp/pages/admin.vue b/webapp/pages/admin.vue similarity index 100% rename from Human-Connection/webapp/pages/admin.vue rename to webapp/pages/admin.vue diff --git a/Human-Connection/webapp/pages/admin/categories.vue b/webapp/pages/admin/categories.vue similarity index 100% rename from Human-Connection/webapp/pages/admin/categories.vue rename to webapp/pages/admin/categories.vue diff --git a/Human-Connection/webapp/pages/admin/index.vue b/webapp/pages/admin/index.vue similarity index 100% rename from Human-Connection/webapp/pages/admin/index.vue rename to webapp/pages/admin/index.vue diff --git a/Human-Connection/webapp/pages/admin/notifications.vue b/webapp/pages/admin/notifications.vue similarity index 100% rename from Human-Connection/webapp/pages/admin/notifications.vue rename to webapp/pages/admin/notifications.vue diff --git a/Human-Connection/webapp/pages/admin/organizations.vue b/webapp/pages/admin/organizations.vue similarity index 100% rename from Human-Connection/webapp/pages/admin/organizations.vue rename to webapp/pages/admin/organizations.vue diff --git a/Human-Connection/webapp/pages/admin/pages.vue b/webapp/pages/admin/pages.vue similarity index 100% rename from Human-Connection/webapp/pages/admin/pages.vue rename to webapp/pages/admin/pages.vue diff --git a/Human-Connection/webapp/pages/admin/settings.vue b/webapp/pages/admin/settings.vue similarity index 100% rename from Human-Connection/webapp/pages/admin/settings.vue rename to webapp/pages/admin/settings.vue diff --git a/Human-Connection/webapp/pages/admin/tags.vue b/webapp/pages/admin/tags.vue similarity index 100% rename from Human-Connection/webapp/pages/admin/tags.vue rename to webapp/pages/admin/tags.vue diff --git a/Human-Connection/webapp/pages/admin/users.vue b/webapp/pages/admin/users.vue similarity index 100% rename from Human-Connection/webapp/pages/admin/users.vue rename to webapp/pages/admin/users.vue diff --git a/Human-Connection/webapp/pages/index.vue b/webapp/pages/index.vue similarity index 100% rename from Human-Connection/webapp/pages/index.vue rename to webapp/pages/index.vue diff --git a/Human-Connection/webapp/pages/login.vue b/webapp/pages/login.vue similarity index 100% rename from Human-Connection/webapp/pages/login.vue rename to webapp/pages/login.vue diff --git a/Human-Connection/webapp/pages/logout.vue b/webapp/pages/logout.vue similarity index 100% rename from Human-Connection/webapp/pages/logout.vue rename to webapp/pages/logout.vue diff --git a/Human-Connection/webapp/pages/moderation.vue b/webapp/pages/moderation.vue similarity index 100% rename from Human-Connection/webapp/pages/moderation.vue rename to webapp/pages/moderation.vue diff --git a/Human-Connection/webapp/pages/moderation/index.vue b/webapp/pages/moderation/index.vue similarity index 100% rename from Human-Connection/webapp/pages/moderation/index.vue rename to webapp/pages/moderation/index.vue diff --git a/Human-Connection/webapp/pages/password-reset.vue b/webapp/pages/password-reset.vue similarity index 100% rename from Human-Connection/webapp/pages/password-reset.vue rename to webapp/pages/password-reset.vue diff --git a/Human-Connection/webapp/pages/password-reset/change-password.vue b/webapp/pages/password-reset/change-password.vue similarity index 100% rename from Human-Connection/webapp/pages/password-reset/change-password.vue rename to webapp/pages/password-reset/change-password.vue diff --git a/Human-Connection/webapp/pages/password-reset/request.vue b/webapp/pages/password-reset/request.vue similarity index 100% rename from Human-Connection/webapp/pages/password-reset/request.vue rename to webapp/pages/password-reset/request.vue diff --git a/Human-Connection/webapp/pages/password-reset/verify-code.vue b/webapp/pages/password-reset/verify-code.vue similarity index 100% rename from Human-Connection/webapp/pages/password-reset/verify-code.vue rename to webapp/pages/password-reset/verify-code.vue diff --git a/Human-Connection/webapp/pages/post/_id.vue b/webapp/pages/post/_id.vue similarity index 100% rename from Human-Connection/webapp/pages/post/_id.vue rename to webapp/pages/post/_id.vue diff --git a/Human-Connection/webapp/pages/post/_id/_slug/index.spec.js b/webapp/pages/post/_id/_slug/index.spec.js similarity index 100% rename from Human-Connection/webapp/pages/post/_id/_slug/index.spec.js rename to webapp/pages/post/_id/_slug/index.spec.js diff --git a/Human-Connection/webapp/pages/post/_id/_slug/index.vue b/webapp/pages/post/_id/_slug/index.vue similarity index 100% rename from Human-Connection/webapp/pages/post/_id/_slug/index.vue rename to webapp/pages/post/_id/_slug/index.vue diff --git a/Human-Connection/webapp/pages/post/_id/_slug/more-info.vue b/webapp/pages/post/_id/_slug/more-info.vue similarity index 100% rename from Human-Connection/webapp/pages/post/_id/_slug/more-info.vue rename to webapp/pages/post/_id/_slug/more-info.vue diff --git a/Human-Connection/webapp/pages/post/_id/_slug/take-action.vue b/webapp/pages/post/_id/_slug/take-action.vue similarity index 100% rename from Human-Connection/webapp/pages/post/_id/_slug/take-action.vue rename to webapp/pages/post/_id/_slug/take-action.vue diff --git a/Human-Connection/webapp/pages/post/create.vue b/webapp/pages/post/create.vue similarity index 100% rename from Human-Connection/webapp/pages/post/create.vue rename to webapp/pages/post/create.vue diff --git a/Human-Connection/webapp/pages/post/edit/_id.vue b/webapp/pages/post/edit/_id.vue similarity index 100% rename from Human-Connection/webapp/pages/post/edit/_id.vue rename to webapp/pages/post/edit/_id.vue diff --git a/Human-Connection/webapp/pages/profile/_id.vue b/webapp/pages/profile/_id.vue similarity index 100% rename from Human-Connection/webapp/pages/profile/_id.vue rename to webapp/pages/profile/_id.vue diff --git a/Human-Connection/webapp/pages/profile/_id/_slug.spec.js b/webapp/pages/profile/_id/_slug.spec.js similarity index 100% rename from Human-Connection/webapp/pages/profile/_id/_slug.spec.js rename to webapp/pages/profile/_id/_slug.spec.js diff --git a/Human-Connection/webapp/pages/profile/_id/_slug.vue b/webapp/pages/profile/_id/_slug.vue similarity index 100% rename from Human-Connection/webapp/pages/profile/_id/_slug.vue rename to webapp/pages/profile/_id/_slug.vue diff --git a/Human-Connection/webapp/pages/settings.vue b/webapp/pages/settings.vue similarity index 100% rename from Human-Connection/webapp/pages/settings.vue rename to webapp/pages/settings.vue diff --git a/Human-Connection/webapp/pages/settings/data-download.vue b/webapp/pages/settings/data-download.vue similarity index 100% rename from Human-Connection/webapp/pages/settings/data-download.vue rename to webapp/pages/settings/data-download.vue diff --git a/Human-Connection/webapp/pages/settings/delete-account.vue b/webapp/pages/settings/delete-account.vue similarity index 100% rename from Human-Connection/webapp/pages/settings/delete-account.vue rename to webapp/pages/settings/delete-account.vue diff --git a/Human-Connection/webapp/pages/settings/index.spec.js b/webapp/pages/settings/index.spec.js similarity index 100% rename from Human-Connection/webapp/pages/settings/index.spec.js rename to webapp/pages/settings/index.spec.js diff --git a/Human-Connection/webapp/pages/settings/index.vue b/webapp/pages/settings/index.vue similarity index 100% rename from Human-Connection/webapp/pages/settings/index.vue rename to webapp/pages/settings/index.vue diff --git a/Human-Connection/webapp/pages/settings/invites.vue b/webapp/pages/settings/invites.vue similarity index 100% rename from Human-Connection/webapp/pages/settings/invites.vue rename to webapp/pages/settings/invites.vue diff --git a/Human-Connection/webapp/pages/settings/languages.vue b/webapp/pages/settings/languages.vue similarity index 100% rename from Human-Connection/webapp/pages/settings/languages.vue rename to webapp/pages/settings/languages.vue diff --git a/Human-Connection/webapp/pages/settings/my-organizations.vue b/webapp/pages/settings/my-organizations.vue similarity index 100% rename from Human-Connection/webapp/pages/settings/my-organizations.vue rename to webapp/pages/settings/my-organizations.vue diff --git a/Human-Connection/webapp/pages/settings/my-social-media.spec.js b/webapp/pages/settings/my-social-media.spec.js similarity index 100% rename from Human-Connection/webapp/pages/settings/my-social-media.spec.js rename to webapp/pages/settings/my-social-media.spec.js diff --git a/Human-Connection/webapp/pages/settings/my-social-media.vue b/webapp/pages/settings/my-social-media.vue similarity index 100% rename from Human-Connection/webapp/pages/settings/my-social-media.vue rename to webapp/pages/settings/my-social-media.vue diff --git a/Human-Connection/webapp/pages/settings/security.vue b/webapp/pages/settings/security.vue similarity index 100% rename from Human-Connection/webapp/pages/settings/security.vue rename to webapp/pages/settings/security.vue diff --git a/Human-Connection/webapp/plugins.md b/webapp/plugins.md similarity index 100% rename from Human-Connection/webapp/plugins.md rename to webapp/plugins.md diff --git a/Human-Connection/webapp/plugins/apollo-config.js b/webapp/plugins/apollo-config.js similarity index 100% rename from Human-Connection/webapp/plugins/apollo-config.js rename to webapp/plugins/apollo-config.js diff --git a/Human-Connection/webapp/plugins/axios.js b/webapp/plugins/axios.js similarity index 100% rename from Human-Connection/webapp/plugins/axios.js rename to webapp/plugins/axios.js diff --git a/Human-Connection/webapp/plugins/i18n.js b/webapp/plugins/i18n.js similarity index 100% rename from Human-Connection/webapp/plugins/i18n.js rename to webapp/plugins/i18n.js diff --git a/Human-Connection/webapp/plugins/izi-toast.js b/webapp/plugins/izi-toast.js similarity index 100% rename from Human-Connection/webapp/plugins/izi-toast.js rename to webapp/plugins/izi-toast.js diff --git a/Human-Connection/webapp/plugins/keep-alive.js b/webapp/plugins/keep-alive.js similarity index 100% rename from Human-Connection/webapp/plugins/keep-alive.js rename to webapp/plugins/keep-alive.js diff --git a/Human-Connection/webapp/plugins/styleguide-dev.js b/webapp/plugins/styleguide-dev.js similarity index 100% rename from Human-Connection/webapp/plugins/styleguide-dev.js rename to webapp/plugins/styleguide-dev.js diff --git a/Human-Connection/webapp/plugins/styleguide.js b/webapp/plugins/styleguide.js similarity index 100% rename from Human-Connection/webapp/plugins/styleguide.js rename to webapp/plugins/styleguide.js diff --git a/Human-Connection/webapp/plugins/v-tooltip.js b/webapp/plugins/v-tooltip.js similarity index 100% rename from Human-Connection/webapp/plugins/v-tooltip.js rename to webapp/plugins/v-tooltip.js diff --git a/Human-Connection/webapp/plugins/vue-directives.js b/webapp/plugins/vue-directives.js similarity index 100% rename from Human-Connection/webapp/plugins/vue-directives.js rename to webapp/plugins/vue-directives.js diff --git a/Human-Connection/webapp/plugins/vue-filters.js b/webapp/plugins/vue-filters.js similarity index 100% rename from Human-Connection/webapp/plugins/vue-filters.js rename to webapp/plugins/vue-filters.js diff --git a/Human-Connection/webapp/screenshot-styleguide.png b/webapp/screenshot-styleguide.png similarity index 100% rename from Human-Connection/webapp/screenshot-styleguide.png rename to webapp/screenshot-styleguide.png diff --git a/Human-Connection/webapp/screenshot.png b/webapp/screenshot.png similarity index 100% rename from Human-Connection/webapp/screenshot.png rename to webapp/screenshot.png diff --git a/Human-Connection/webapp/server/index.js b/webapp/server/index.js similarity index 100% rename from Human-Connection/webapp/server/index.js rename to webapp/server/index.js diff --git a/Human-Connection/webapp/static.md b/webapp/static.md similarity index 100% rename from Human-Connection/webapp/static.md rename to webapp/static.md diff --git a/Human-Connection/webapp/static/favicon.ico b/webapp/static/favicon.ico similarity index 100% rename from Human-Connection/webapp/static/favicon.ico rename to webapp/static/favicon.ico diff --git a/Human-Connection/webapp/static/img/empty-state.svg b/webapp/static/img/empty-state.svg similarity index 100% rename from Human-Connection/webapp/static/img/empty-state.svg rename to webapp/static/img/empty-state.svg diff --git a/Human-Connection/webapp/static/img/empty/alert.svg b/webapp/static/img/empty/alert.svg similarity index 100% rename from Human-Connection/webapp/static/img/empty/alert.svg rename to webapp/static/img/empty/alert.svg diff --git a/Human-Connection/webapp/static/img/empty/docs.svg b/webapp/static/img/empty/docs.svg similarity index 100% rename from Human-Connection/webapp/static/img/empty/docs.svg rename to webapp/static/img/empty/docs.svg diff --git a/Human-Connection/webapp/static/img/empty/events.svg b/webapp/static/img/empty/events.svg similarity index 100% rename from Human-Connection/webapp/static/img/empty/events.svg rename to webapp/static/img/empty/events.svg diff --git a/Human-Connection/webapp/static/img/empty/file.svg b/webapp/static/img/empty/file.svg similarity index 100% rename from Human-Connection/webapp/static/img/empty/file.svg rename to webapp/static/img/empty/file.svg diff --git a/Human-Connection/webapp/static/img/empty/messages.svg b/webapp/static/img/empty/messages.svg similarity index 100% rename from Human-Connection/webapp/static/img/empty/messages.svg rename to webapp/static/img/empty/messages.svg diff --git a/Human-Connection/webapp/static/img/empty/tasks.svg b/webapp/static/img/empty/tasks.svg similarity index 100% rename from Human-Connection/webapp/static/img/empty/tasks.svg rename to webapp/static/img/empty/tasks.svg diff --git a/Human-Connection/webapp/static/img/locale-flags/de.svg b/webapp/static/img/locale-flags/de.svg similarity index 100% rename from Human-Connection/webapp/static/img/locale-flags/de.svg rename to webapp/static/img/locale-flags/de.svg diff --git a/Human-Connection/webapp/static/img/locale-flags/en.svg b/webapp/static/img/locale-flags/en.svg similarity index 100% rename from Human-Connection/webapp/static/img/locale-flags/en.svg rename to webapp/static/img/locale-flags/en.svg diff --git a/Human-Connection/webapp/static/img/locale-flags/es.svg b/webapp/static/img/locale-flags/es.svg similarity index 100% rename from Human-Connection/webapp/static/img/locale-flags/es.svg rename to webapp/static/img/locale-flags/es.svg diff --git a/Human-Connection/webapp/static/img/locale-flags/fr.svg b/webapp/static/img/locale-flags/fr.svg similarity index 100% rename from Human-Connection/webapp/static/img/locale-flags/fr.svg rename to webapp/static/img/locale-flags/fr.svg diff --git a/Human-Connection/webapp/static/img/locale-flags/it.svg b/webapp/static/img/locale-flags/it.svg similarity index 100% rename from Human-Connection/webapp/static/img/locale-flags/it.svg rename to webapp/static/img/locale-flags/it.svg diff --git a/Human-Connection/webapp/static/img/locale-flags/nl.svg b/webapp/static/img/locale-flags/nl.svg similarity index 100% rename from Human-Connection/webapp/static/img/locale-flags/nl.svg rename to webapp/static/img/locale-flags/nl.svg diff --git a/Human-Connection/webapp/static/img/locale-flags/pl.svg b/webapp/static/img/locale-flags/pl.svg similarity index 100% rename from Human-Connection/webapp/static/img/locale-flags/pl.svg rename to webapp/static/img/locale-flags/pl.svg diff --git a/Human-Connection/webapp/static/img/locale-flags/pt.svg b/webapp/static/img/locale-flags/pt.svg similarity index 100% rename from Human-Connection/webapp/static/img/locale-flags/pt.svg rename to webapp/static/img/locale-flags/pt.svg diff --git a/Human-Connection/webapp/static/img/sign-up/alpha-invite.png b/webapp/static/img/sign-up/alpha-invite.png similarity index 100% rename from Human-Connection/webapp/static/img/sign-up/alpha-invite.png rename to webapp/static/img/sign-up/alpha-invite.png diff --git a/Human-Connection/webapp/static/img/sign-up/alpha-invite2x.png b/webapp/static/img/sign-up/alpha-invite2x.png similarity index 100% rename from Human-Connection/webapp/static/img/sign-up/alpha-invite2x.png rename to webapp/static/img/sign-up/alpha-invite2x.png diff --git a/Human-Connection/webapp/static/img/sign-up/humanconnection.png b/webapp/static/img/sign-up/humanconnection.png similarity index 100% rename from Human-Connection/webapp/static/img/sign-up/humanconnection.png rename to webapp/static/img/sign-up/humanconnection.png diff --git a/Human-Connection/webapp/static/img/sign-up/humanconnection.svg b/webapp/static/img/sign-up/humanconnection.svg similarity index 100% rename from Human-Connection/webapp/static/img/sign-up/humanconnection.svg rename to webapp/static/img/sign-up/humanconnection.svg diff --git a/Human-Connection/webapp/static/img/sign-up/nicetomeetyou.png b/webapp/static/img/sign-up/nicetomeetyou.png similarity index 100% rename from Human-Connection/webapp/static/img/sign-up/nicetomeetyou.png rename to webapp/static/img/sign-up/nicetomeetyou.png diff --git a/Human-Connection/webapp/static/img/sign-up/nicetomeetyou.svg b/webapp/static/img/sign-up/nicetomeetyou.svg similarity index 100% rename from Human-Connection/webapp/static/img/sign-up/nicetomeetyou.svg rename to webapp/static/img/sign-up/nicetomeetyou.svg diff --git a/Human-Connection/webapp/static/img/sign-up/onourjourney.png b/webapp/static/img/sign-up/onourjourney.png similarity index 100% rename from Human-Connection/webapp/static/img/sign-up/onourjourney.png rename to webapp/static/img/sign-up/onourjourney.png diff --git a/Human-Connection/webapp/static/img/sign-up/onourjourney.svg b/webapp/static/img/sign-up/onourjourney.svg similarity index 100% rename from Human-Connection/webapp/static/img/sign-up/onourjourney.svg rename to webapp/static/img/sign-up/onourjourney.svg diff --git a/Human-Connection/webapp/store.md b/webapp/store.md similarity index 100% rename from Human-Connection/webapp/store.md rename to webapp/store.md diff --git a/Human-Connection/webapp/store/auth.js b/webapp/store/auth.js similarity index 100% rename from Human-Connection/webapp/store/auth.js rename to webapp/store/auth.js diff --git a/Human-Connection/webapp/store/auth.test.js b/webapp/store/auth.test.js similarity index 100% rename from Human-Connection/webapp/store/auth.test.js rename to webapp/store/auth.test.js diff --git a/Human-Connection/webapp/store/editor.js b/webapp/store/editor.js similarity index 100% rename from Human-Connection/webapp/store/editor.js rename to webapp/store/editor.js diff --git a/Human-Connection/webapp/store/editor.spec.js b/webapp/store/editor.spec.js similarity index 100% rename from Human-Connection/webapp/store/editor.spec.js rename to webapp/store/editor.spec.js diff --git a/Human-Connection/webapp/store/index.js b/webapp/store/index.js similarity index 100% rename from Human-Connection/webapp/store/index.js rename to webapp/store/index.js diff --git a/Human-Connection/webapp/store/modal.js b/webapp/store/modal.js similarity index 100% rename from Human-Connection/webapp/store/modal.js rename to webapp/store/modal.js diff --git a/Human-Connection/webapp/store/notifications.js b/webapp/store/notifications.js similarity index 100% rename from Human-Connection/webapp/store/notifications.js rename to webapp/store/notifications.js diff --git a/Human-Connection/webapp/store/search.js b/webapp/store/search.js similarity index 100% rename from Human-Connection/webapp/store/search.js rename to webapp/store/search.js diff --git a/Human-Connection/webapp/styleguide.md b/webapp/styleguide.md similarity index 100% rename from Human-Connection/webapp/styleguide.md rename to webapp/styleguide.md diff --git a/Human-Connection/webapp/testing.md b/webapp/testing.md similarity index 100% rename from Human-Connection/webapp/testing.md rename to webapp/testing.md diff --git a/Human-Connection/webapp/yarn.lock b/webapp/yarn.lock similarity index 100% rename from Human-Connection/webapp/yarn.lock rename to webapp/yarn.lock diff --git a/Human-Connection/yarn.lock b/yarn.lock similarity index 100% rename from Human-Connection/yarn.lock rename to yarn.lock From ed658e9d32613fabbb377f0351bcbe6585e2726c Mon Sep 17 00:00:00 2001 From: Matt Rider Date: Wed, 3 Jul 2019 11:12:43 -0300 Subject: [PATCH 038/169] Dockerize embed, kubernetes config, add back deployment .env --- .../human-connection/deployment-embed.yaml | 38 +++++++++++++++++++ .../human-connection/service-embed.yaml | 14 +++++++ .../maintenance-worker/binaries/.env | 6 +++ .../maintenance-worker/migration/mongo/.env | 17 +++++++++ .../maintenance-worker/migration/neo4j/.env | 16 ++++++++ docker-compose.yml | 11 +++++- embed/Dockerfile | 15 ++++++++ 7 files changed, 116 insertions(+), 1 deletion(-) create mode 100644 deployment/human-connection/deployment-embed.yaml create mode 100644 deployment/human-connection/service-embed.yaml create mode 100644 deployment/legacy-migration/maintenance-worker/binaries/.env create mode 100644 deployment/legacy-migration/maintenance-worker/migration/mongo/.env create mode 100644 deployment/legacy-migration/maintenance-worker/migration/neo4j/.env create mode 100644 embed/Dockerfile diff --git a/deployment/human-connection/deployment-embed.yaml b/deployment/human-connection/deployment-embed.yaml new file mode 100644 index 000000000..405b4bca2 --- /dev/null +++ b/deployment/human-connection/deployment-embed.yaml @@ -0,0 +1,38 @@ +--- +apiVersion: extensions/v1beta1 +kind: Deployment +metadata: + name: nitro-embed + namespace: human-connection +spec: + replicas: 1 + minReadySeconds: 15 + progressDeadlineSeconds: 60 + strategy: + rollingUpdate: + maxSurge: 0 + maxUnavailable: "100%" + selector: + matchLabels: + human-connection.org/selector: deployment-human-connection-embed + template: + metadata: + labels: + human-connection.org/commit: COMMIT + human-connection.org/selector: deployment-human-connection-embed + name: "nitro-embed" + spec: + containers: + - name: nitro-embed + image: humanconnection/nitro-embed:latest + imagePullPolicy: Always + ports: + - containerPort: 4000 + envFrom: + - configMapRef: + name: configmap + - secretRef: + name: human-connection + restartPolicy: Always + terminationGracePeriodSeconds: 30 +status: {} diff --git a/deployment/human-connection/service-embed.yaml b/deployment/human-connection/service-embed.yaml new file mode 100644 index 000000000..85a4ad7b5 --- /dev/null +++ b/deployment/human-connection/service-embed.yaml @@ -0,0 +1,14 @@ +apiVersion: v1 +kind: Service +metadata: + name: nitro-embed + namespace: human-connection + labels: + human-connection.org/selector: deployment-human-connection-embed +spec: + ports: + - name: web + port: 3050 + targetPort: 3050 + selector: + human-connection.org/selector: deployment-human-connection-embed diff --git a/deployment/legacy-migration/maintenance-worker/binaries/.env b/deployment/legacy-migration/maintenance-worker/binaries/.env new file mode 100644 index 000000000..773918095 --- /dev/null +++ b/deployment/legacy-migration/maintenance-worker/binaries/.env @@ -0,0 +1,6 @@ +# SSH Access +# SSH_USERNAME='username' +# SSH_HOST='example.org' + +# UPLOADS_DIRECTORY=/var/www/api/uploads +OUTPUT_DIRECTORY='/uploads/' \ No newline at end of file diff --git a/deployment/legacy-migration/maintenance-worker/migration/mongo/.env b/deployment/legacy-migration/maintenance-worker/migration/mongo/.env new file mode 100644 index 000000000..4c5f9e18c --- /dev/null +++ b/deployment/legacy-migration/maintenance-worker/migration/mongo/.env @@ -0,0 +1,17 @@ +# SSH Access +# SSH_USERNAME='username' +# SSH_HOST='example.org' + +# Mongo DB on Remote Maschine +# MONGODB_USERNAME='mongouser' +# MONGODB_PASSWORD='mongopassword' +# MONGODB_DATABASE='mongodatabase' +# MONGODB_AUTH_DB='admin' + +# Export Settings +# On Windows this resolves to C:\Users\dornhoeschen\AppData\Local\Temp\mongo-export (MinGW) +EXPORT_PATH='/tmp/mongo-export/' +EXPORT_MONGOEXPORT_BIN='mongoexport' +MONGO_EXPORT_SPLIT_SIZE=100 +# On Windows use something like this +# EXPORT_MONGOEXPORT_BIN='C:\Program Files\MongoDB\Server\3.6\bin\mongoexport.exe' diff --git a/deployment/legacy-migration/maintenance-worker/migration/neo4j/.env b/deployment/legacy-migration/maintenance-worker/migration/neo4j/.env new file mode 100644 index 000000000..16220f3e6 --- /dev/null +++ b/deployment/legacy-migration/maintenance-worker/migration/neo4j/.env @@ -0,0 +1,16 @@ +# Neo4J Settings +# NEO4J_USERNAME='neo4j' +# NEO4J_PASSWORD='letmein' + +# Import Settings +# On Windows this resolves to C:\Users\dornhoeschen\AppData\Local\Temp\mongo-export (MinGW) +IMPORT_PATH='/tmp/mongo-export/' +IMPORT_CHUNK_PATH='/tmp/mongo-export/splits/' + +IMPORT_CHUNK_PATH_CQL='/tmp/mongo-export/splits/' +# On Windows this path needs to be windows style since the cypher-shell runs native - note the forward slash +# IMPORT_CHUNK_PATH_CQL='C:/Users/dornhoeschen/AppData/Local/Temp/mongo-export/splits/' + +IMPORT_CYPHERSHELL_BIN='cypher-shell' +# On Windows use something like this +# IMPORT_CYPHERSHELL_BIN='C:\Program Files\neo4j-community\bin\cypher-shell.bat' \ No newline at end of file diff --git a/docker-compose.yml b/docker-compose.yml index ca66217c2..b1a0f4d3f 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -41,6 +41,15 @@ services: context: neo4j networks: - hc-network - + embed: + image: humanconnection/embed:latest + build: + context: embed + networks: + - hc-network + depends_on: + - neo4j + ports: + - 3050:3050 networks: hc-network: diff --git a/embed/Dockerfile b/embed/Dockerfile new file mode 100644 index 000000000..c1f21cb51 --- /dev/null +++ b/embed/Dockerfile @@ -0,0 +1,15 @@ +FROM node:12.5-alpine +LABEL Description="API Service for fetching URL Information for the Social Network Human-Connection.org" Vendor="Human Connection gGmbH" Version="0.0.1" Maintainer="Human Connection gGmbH (developer@human-connection.org)" + +EXPOSE 3050 +ARG BUILD_COMMIT +ENV BUILD_COMMIT=$BUILD_COMMIT +ARG WORKDIR=/nitro-embed +RUN mkdir -p $WORKDIR +WORKDIR $WORKDIR + +RUN apk --no-cache add git + +COPY . . +RUN yarn install --frozen-lockfile --non-interactive +CMD ["yarn", "run", "start"] From 07b8116447c48c877aaaecd2330056fb9ce193a5 Mon Sep 17 00:00:00 2001 From: senderfm Date: Wed, 3 Jul 2019 22:51:39 +0200 Subject: [PATCH 039/169] Update of polish locales --- webapp/locales/pl.json | 295 +++++++++++++++++++++++++++++++---------- 1 file changed, 226 insertions(+), 69 deletions(-) diff --git a/webapp/locales/pl.json b/webapp/locales/pl.json index 506a04f1b..e1c825cca 100644 --- a/webapp/locales/pl.json +++ b/webapp/locales/pl.json @@ -1,13 +1,42 @@ { + "filter-menu": { + "title": "Twoja bańka filtrująca" + }, "login": { "copy": "Jeśli masz już konto Human Connection, zaloguj się tutaj.", "login": "logowanie", "logout": "Wyloguj się", "email": "Twój adres e-mail", "password": "Twoje hasło", + "forgotPassword": "Zapomniałeś hasła?", "moreInfo": "Co to jest Human Connection?", + "moreInfoURL": "https://human-connection.org/pl/", + "moreInfoHint": "na stronę prezentacji", "hello": "Cześć" }, + "password-reset": { + "title": "Zresetuj hasło", + "form": { + "description": "Na podany adres e-mail zostanie wysłany email z resetem hasła.", + "submit": "Poproś o wiadomość e-mail", + "submitted": "Na adres {email} została wysłana wiadomość z dalszymi instrukcjami." + } + }, + "verify-code": { + "form": { + "code": "Wprowadź swój kod", + "description": "Otwórz swoją skrzynkę odbiorczą i wpisz kod, który do Ciebie wysłaliśmy.", + "next": "Kontynuuj", + "change-password": { + "success": "Zmiana hasła zakończyła się sukcesem!", + "error": "Zmiana hasła nie powiodła się. Może kod bezpieczeństwa nie był poprawny?", + "help": "W przypadku problemów, zachęcamy do zwrócenia się o pomoc, wysyłając do nas wiadomość e-mail:" + } + } + }, + "editor": { + "placeholder": "Zostaw swoje inspirujące myśli...." + }, "profile": { "name": "Mój profil", "memberSince": "Członek od", @@ -16,7 +45,27 @@ "following": "Obserwowani", "shouted": "Krzyknij", "commented": "Skomentuj", - "userAnonym": "Anonymous" + "userAnonym": "Anonimowy", + "socialMedia": "Gdzie indziej mogę znaleźć", + "network": { + "title": "Sieć", + "following": "jest następująca:", + "followingNobody": "nie podąża za nikim.", + "followedBy": "po którym następuje:", + "followedByNobody": "nie jest śledzona przez nikogo.", + "and": "i", + "more": "więcej" + } + }, + "notifications": { + "menu": { + "mentioned": "wspomniała o tobie na posterunku." + } + }, + "search": { + "placeholder": "Wyszukiwanie", + "hint": "Czego szukasz?", + "failed": "Nic nie znaleziono" }, "settings": { "name": "Ustawienia", @@ -25,10 +74,28 @@ "labelName": "Twoje dane", "namePlaceholder": "Anonymous", "labelCity": "Twoje miasto lub region", - "labelBio": "O Tobie" + "labelBio": "O Tobie", + "success": "Twoje dane zostały pomyślnie zaktualizowane!" }, "security": { - "name": "Bezpieczeństwo" + "name": "Bezpieczeństwo", + "change-password": { + "button": "Zmień hasło", + "success": "Hasło zostało pomyślnie zmienione!", + "label-old-password": "Twoje stare hasło", + "label-new-password": "Twoje nowe hasło", + "label-new-password-confirm": "Potwierdź nowe hasło", + "message-old-password-required": "Wprowadź swoje stare hasło", + "message-new-password-required": "Wprowadź nowe hasło", + "message-new-password-confirm-required": "Potwierdź nowe hasło.", + "message-new-password-missmatch": "Wpisz ponownie to samo hasło.", + "passwordSecurity": "Zabezpieczenie hasłem", + "passwordStrength0": "Bardzo niepewne hasło", + "passwordStrength1": "Niepewne hasło", + "passwordStrength2": "Hasło pośredniczące", + "passwordStrength3": "Silne hasło", + "passwordStrength4": "Bardzo mocne hasło" + } }, "invites": { "name": "Zaproszenia" @@ -36,29 +103,42 @@ "download": { "name": "Pobierz dane" }, - "delete": { - "name": "Usuń konto" + "deleteUserAccount": { + "name": "Usuwanie danych", + "contributionsCount": "Usuń moje stanowiska.", + "commentsCount": "Usuń moje komentarze {liczba}.", + "accountDescription": "Bądź świadomy, że Twój post i komentarze są ważne dla naszej społeczności. Jeśli nadal chcesz je usunąć, musisz zaznaczyć je poniżej.", + "accountWarning": "Nie możesz zarządzać i Nie możesz REKOVER swoje konto, posty lub komentarze po usunięciu konta!", + "success": "Konto zostało pomyślnie usunięte", + "pleaseConfirm": "Niszczycielskie działanie! Typ {potwierdź} aby potwierdzić" }, "organizations": { - "name": "Moje organizacje" + "name": "My Organizations" }, "languages": { - "name": "Języki" + "name": "Languages" + }, + "social-media": { + "name": "Social media", + "placeholder": "Add social media url", + "submit": "Add link", + "successAdd": "Added social media. Updated user profile!", + "successDelete": "Deleted social media. Updated user profile!" } }, "admin": { - "name": "Administrator", + "name": "Admin", "dashboard": { "name": "Tablica rozdzielcza", "users": "Użytkownicy", - "posts": "Posty", + "posts": "Stanowiska", "comments": "Komentarze", "notifications": "Powiadomienia", "organizations": "Organizacje", "projects": "Projekty", - "invites": "Zaproszenia", - "follows": "Obserwowań", - "shouts": "Okrzyk" + "invites": "Zaprasza", + "follows": "Podąża za", + "shouts": "Zalecane" }, "organizations": { "name": "Organizacje" @@ -75,116 +155,193 @@ "categories": { "name": "Kategorie", "categoryName": "Nazwa", - "postCount": "Posty" + "postCount": "Stanowiska" }, "tags": { - "name": "Tagi", + "name": "Znaczniki", "tagCountUnique": "Użytkownicy", - "tagCount": "Posty" + "tagCount": "Stanowiska" }, "settings": { "name": "Ustawienia" } }, "post": { - "name": "Post", + "name": "Poczta", "moreInfo": { "name": "Więcej informacji" }, "takeAction": { - "name": "Podejmij działanie" + "name": "Podejmij działania" + }, + "menu": { + "edit": "Edytuj Post", + "delete": "Usuń wpis" + }, + "comment": { + "submit": "Komentarz", + "submitted": "Przedłożony komentarz" } }, + "comment": { + "content": { + "unavailable-placeholder": " ...ten komentarz nie jest już dostępny." + }, + "menu": { + "edit": "Edytuj komentarz", + "delete": "Usuń komentarz" + }, + "show": { + "more": "Pokaż więcej", + "less": "Pokaż mniej" + } + + }, "quotes": { "african": { - "quote": "Wielu małych ludzi w wielu małych miejscach robi wiele małych rzeczy, które mogą zmienić oblicze świata.", + "quote": "Wielu małych ludzi w wielu małych miejscowościach robi wiele małych rzeczy, które mogą zmienić oblicze świata.", "author": "Afrykańskie przysłowie" } }, "common": { - "post": "Post ::: Posty", + "post": "Poczta ::: Posty", "comment": "Komentarz ::: Komentarze", "letsTalk": "Porozmawiajmy", - "versus": "Versus", + "versus": "werset", "moreInfo": "Więcej informacji", - "takeAction": "Podejmij działanie", - "shout": "okrzyk okrzyki", + "takeAction": "Podejmij działania", + "shout": "przekazanie sprawy ::: Polecam tę stronę", "user": "Użytkownik ::: Użytkownicy", - "category": "kategoria kategorie", - "organization": "Organizacja ::: Organizacje", + "category": "Kategoria ::: Kategorie", + "organization": "Organization ::: Organizations", "project": "Projekt ::: Projekty", - "tag": "Tag ::: Tagi", - "name": "imię", - "loadMore": "załaduj więcej", - "loading": "ładowanie", - "reportContent": "Raport" + "tag": "Znacznik ::: Znaczniki", + "name": "Nazwa", + "loadMore": "Obciążenie więcej", + "loading": "załadunek", + "reportContent": "Sprawozdanie", + "validations": { + "email": "musi być ważny adres e-mail.", + "verification-code": "musi mieć długość 6 znaków." + } }, "actions": { - "loading": "ładowanie", - "loadMore": "załaduj więcej", - "create": "Stwórz", - "save": "Zapisz", - "edit": "Edytuj", + "loading": "załadunek", + "loadMore": "Obciążenie więcej", + "create": "Tworzenie", + "save": "Oszczędzaj", + "edit": "Edycja", "delete": "Usuń", - "cancel": "Anuluj" + "cancel": "Odwołaj" }, "moderation": { - "name": "Moderacja", + "name": "Umiarkowanie", "reports": { - "empty": "Gratulacje, moderacja nie jest potrzebna", - "name": "Raporty", - "reporter": "zgłoszone przez" + "empty": "Gratulacje, nic do umiarkowanego.", + "name": "Sprawozdania", + "submitter": "zgłaszane przez", + "disabledBy": "niepełnosprawni przez" } }, "disable": { + "submit": "Niepełnosprawność", + "cancel": "Odwołaj", + "success": "Niepełnosprawni skutecznie", "user": { - "title": "Ukryj użytkownika", + "title": "Wyłączenie użytkownika", "type": "Użytkownik", - "message": "Czy na pewno chcesz wyłączyć użytkownika \" {name} \"?" + "message": "Czy naprawdę chcesz wyłączyć użytkownika \"{name}\"?" }, "contribution": { - "title": "Ukryj wpis", - "type": "Wpis / Post", - "message": "Czy na pewno chcesz ukryć wpis \" tytuł} \"?" + "title": "Wyłącz Wkład", + "type": "Wkład", + "message": "Naprawdę chcesz unieszkodliwić ten wkład \"{name}\"?" }, "comment": { - "title": "Ukryj wpis", + "title": "Wyłącz komentarz", "type": "Komentarz", - "message": "Czy na pewno chcesz ukryć komentarz użytkownika\"(Imie/Avatar\"?" + "message": "Naprawdę chcesz wyłączyć komentarz \"{name}\"?" + } + }, + "delete": { + "submit": "Usuń", + "cancel": "Odwołaj", + "contribution": { + "title": "Usuń Post", + "type": "Wkład", + "message": "Naprawdę chcesz usunąć post \"{name}\"?", + "success": "Wyślij pomyślnie usunięty!" + }, + "comment": { + "title": "Usuń komentarz", + "type": "Komentarz", + "message": "Czy naprawdę chcesz usunąć komentarz \"{name}\"?", + "success": "Komentarz został pomyślnie usunięty!" } }, "report": { - "submit": "Wyślij raport", - "cancel": "Anuluj", + "submit": "Sprawozdanie", + "cancel": "Odwołaj", + "success": "Dzięki za zgłoszenie!", "user": { - "title": "Zgłoś użytkownika", + "title": "Raport Użytkownik", "type": "Użytkownik", - "message": "Czy na pewno chcesz zgłosić użytkownika \" {Imie} \"?" + "message": "Naprawdę chcesz zgłosić użytkownika \"{name}\"?", + "error": "Zgłosiłeś już użytkownika!" }, "contribution": { - "title": "Zgłoś wpis", - "type": "Wpis / Post", - "message": "Czy na pewno chcesz zgłosić ten wpis użytkownika \" {Imie} \"?" + "title": "Wkład w raport", + "type": "Wkład", + "message": "Naprawdę chcesz zgłosić wkład, jaki wniosłaś do programu \"{name}\"?", + "error": "Zgłosiłeś już ten wkład!" }, "comment": { - "title": "Zgłoś komentarz", + "title": "Sprawozdanie Komentarz", "type": "Komentarz", - "message": "Czy na pewno chcesz zgłosić komentarz użytkownika\"(Imie/Avatar\"?" + "message": "Naprawdę chcesz zgłosić komentarz od \"{name}\"?", + "error": "Zgłosiłeś już komentarz!" + } + }, + "followButton": { + "follow": "naśladować", + "following": "w skutek" + }, + "shoutButton": { + "shouted": "wykrzyczany" + }, + "release": { + "submit": "Zwolnienie", + "cancel": "Odwołaj", + "success": "Wydany z powodzeniem!", + "user": { + "title": "Zwolnienie użytkownika", + "type": "Użytkownik", + "message": "Naprawdę chcesz uwolnić użytkownika \"{name}\"?" + }, + "contribution": { + "title": "Zwolnienie Wkład", + "type": "Wkład", + "message": "Naprawdę chcesz uwolnić swój wkład \"{name}\"?" + }, + "comment": { + "title": "Zwolnienie komentarz", + "type": "komentarz", + "message": "Czy naprawdę chcesz opublikować komentarz od \"{name}\"?" + } + }, + "user": { + "avatar": { + "submitted": "Przesłanie udane" } }, "contribution": { - "edit": "Edytuj wpis", - "delete": "Usuń wpis" - }, - "comment": { - "edit": "Edytuj komentarz", - "delete": "Usuń komentarz" - }, - "followButton": { - "follow": "Obserwuj", - "following": "Obserwowani" - }, - "shoutButton": { - "shouted": "krzyczeć" + "newPost": "Utwórz nowy post", + "filterFollow": "Filtrowanie wkładu użytkowników, za którymi podążam", + "filterALL": "Wyświetl wszystkie wkłady", + "success": "Zachowany!", + "languageSelectLabel": "Język", + "categories": { + "infoSelectedNoOfMaxCategories": "{chosen} z {max} wybrane kategorie" + } } -} \ No newline at end of file +} From c6b261853f9aef26fc1d72b3f87fd62d947c6a9e Mon Sep 17 00:00:00 2001 From: Matt Rider Date: Wed, 3 Jul 2019 19:46:26 -0300 Subject: [PATCH 040/169] Add test for filter posts by category --- backend/src/schema/resolvers/posts.spec.js | 52 ++++++++++++++++++++-- 1 file changed, 49 insertions(+), 3 deletions(-) diff --git a/backend/src/schema/resolvers/posts.spec.js b/backend/src/schema/resolvers/posts.spec.js index 763945527..4c288fc25 100644 --- a/backend/src/schema/resolvers/posts.spec.js +++ b/backend/src/schema/resolvers/posts.spec.js @@ -32,6 +32,26 @@ const postQueryWithCategories = ` } } ` +const createPostWithoutCategoriesVariables = { + title: 'This is a post without categories', + content: 'I should be able to filter it out', + categoryIds: null, +} +const postQueryFilteredByCategory = ` + query($name: String) { + Post(filter: { categories_some: { name: $name } }) { + title + id + categories { + name + } + } + } +` +const postCategoriesFilterParam = 'Environment & Nature' +const postQueryFilteredByCategoryVariables = { + name: postCategoriesFilterParam, +} beforeEach(async () => { await factory.create('User', { email: 'test@example.org', @@ -124,7 +144,8 @@ describe('CreatePost', () => { }) describe('categories', () => { - it('allows a user to set the categories of the post', async () => { + let postWithCategories + beforeEach(async () => { await Promise.all([ factory.create('Category', { id: 'cat9', @@ -142,11 +163,14 @@ describe('CreatePost', () => { icon: 'shopping-cart', }), ]) - const expected = [{ id: 'cat9' }, { id: 'cat4' }, { id: 'cat15' }] - const postWithCategories = await client.request( + postWithCategories = await client.request( createPostWithCategoriesMutation, creatPostWithCategoriesVariables, ) + }) + + it('allows a user to set the categories of the post', async () => { + const expected = [{ id: 'cat9' }, { id: 'cat4' }, { id: 'cat15' }] const postQueryWithCategoriesVariables = { id: postWithCategories.CreatePost.id, } @@ -154,6 +178,28 @@ describe('CreatePost', () => { client.request(postQueryWithCategories, postQueryWithCategoriesVariables), ).resolves.toEqual({ Post: [{ categories: expect.arrayContaining(expected) }] }) }) + + it('allows a user to filter for posts by category', async () => { + await client.request(createPostWithCategoriesMutation, createPostWithoutCategoriesVariables) + const categoryNames = [ + { name: 'Democracy & Politics' }, + { name: 'Environment & Nature' }, + { name: 'Consumption & Sustainability' }, + ] + const expected = { + Post: [ + { + title: postTitle, + id: postWithCategories.CreatePost.id, + categories: expect.arrayContaining(categoryNames), + }, + ], + } + + await expect( + client.request(postQueryFilteredByCategory, postQueryFilteredByCategoryVariables), + ).resolves.toEqual(expected) + }) }) }) }) From bb93052b88da55c9c551cacd2934a91b38319e28 Mon Sep 17 00:00:00 2001 From: Matt Rider Date: Wed, 3 Jul 2019 19:46:49 -0300 Subject: [PATCH 041/169] Add FilterPosts dropdown with category names --- webapp/components/FilterPosts/FilterPosts.vue | 86 +++++++++++++++++++ webapp/layouts/default.vue | 21 ++++- webapp/store/categories.js | 42 +++++++++ 3 files changed, 147 insertions(+), 2 deletions(-) create mode 100644 webapp/components/FilterPosts/FilterPosts.vue create mode 100644 webapp/store/categories.js diff --git a/webapp/components/FilterPosts/FilterPosts.vue b/webapp/components/FilterPosts/FilterPosts.vue new file mode 100644 index 000000000..7fff1d477 --- /dev/null +++ b/webapp/components/FilterPosts/FilterPosts.vue @@ -0,0 +1,86 @@ + + diff --git a/webapp/layouts/default.vue b/webapp/layouts/default.vue index e3fc1cccd..1c1ace9de 100644 --- a/webapp/layouts/default.vue +++ b/webapp/layouts/default.vue @@ -4,12 +4,12 @@
- + - + + + + + +