diff --git a/.lando.yml b/.lando.yml
index a230ea7..385f4c7 100755
--- a/.lando.yml
+++ b/.lando.yml
@@ -2,3 +2,6 @@ name: my-lando-app
recipe: drupal8
config:
webroot: web
+services:
+ appserver:
+ xdebug: true
diff --git a/composer.json b/composer.json
index c122832..c24b1a3 100755
--- a/composer.json
+++ b/composer.json
@@ -13,25 +13,43 @@
{
"type": "composer",
"url": "https://packages.drupal.org/8"
+ },
+ {
+ "type": "package",
+ "package": {
+ "name": "jaypan/jquery_colorpicker",
+ "type": "drupal-library",
+ "version": "1.4",
+ "source": {
+ "url": "https://github.com/jaypan/jquery_colorpicker",
+ "type": "git",
+ "reference": "master"
+ }
+ }
}
],
"require": {
"composer/installers": "^1.2",
+ "jaypan/jquery_colorpicker": "^1.0",
"cweagans/composer-patches": "^1.6",
"drupal-composer/drupal-scaffold": "^2.5",
"drupal/admin_toolbar": "^1.24",
"drupal/backup_migrate": "^4.0",
+ "drupal/bg_image_formatter": "^1.2",
+ "drupal/bootstrap_paragraphs": "^2.0",
"drupal/block_class": "^1.0",
+ "drupal/color_field": "^1.0",
"drupal/console": "^1.0.2",
"drupal/core": "~8.5.3",
"drupal/ctools": "^3.0",
"drupal/devel": "^1.2",
"drupal/dropzonejs": "^2.0@alpha",
- "drupal/entity_browser": "^2.0",
+ "drupal/entity_browser": "^1.5",
"drupal/examples": "1.x-dev",
"drupal/file_browser": "^1.1",
"drupal/honeypot": "^1.27",
"drupal/inline_entity_form": "^1.0@RC",
+ "drupal/jquery_colorpicker": "^1.4",
"drupal/link_class": "^1.3",
"drupal/media_entity_browser": "^2.0",
"drupal/media_entity_image": "^1.3",
diff --git a/composer.lock b/composer.lock
index 8c82f22..a6a87c7 100755
--- a/composer.lock
+++ b/composer.lock
@@ -4,7 +4,7 @@
"Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies",
"This file is @generated automatically"
],
- "content-hash": "a82cb4e67770dd6cf04ce880d00bec4b",
+ "content-hash": "59dec31b9a2d48f9ec3784dfa87df91a",
"packages": [
{
"name": "alchemy/zippy",
@@ -124,16 +124,16 @@
},
{
"name": "chi-teck/drupal-code-generator",
- "version": "1.25.1",
+ "version": "1.26.0",
"source": {
"type": "git",
"url": "https://github.com/Chi-teck/drupal-code-generator.git",
- "reference": "9d3b25c5e3bb57a081c6c47d1f6d08a1a2c7a7db"
+ "reference": "3090fabdbf3dd4b66e0fa0e4ed5d8adab6deb974"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/Chi-teck/drupal-code-generator/zipball/9d3b25c5e3bb57a081c6c47d1f6d08a1a2c7a7db",
- "reference": "9d3b25c5e3bb57a081c6c47d1f6d08a1a2c7a7db",
+ "url": "https://api.github.com/repos/Chi-teck/drupal-code-generator/zipball/3090fabdbf3dd4b66e0fa0e4ed5d8adab6deb974",
+ "reference": "3090fabdbf3dd4b66e0fa0e4ed5d8adab6deb974",
"shasum": ""
},
"require": {
@@ -159,7 +159,7 @@
"GPL-2.0-or-later"
],
"description": "Drupal code generator",
- "time": "2018-06-20T07:01:01+00:00"
+ "time": "2018-08-06T08:54:16+00:00"
},
{
"name": "composer/installers",
@@ -345,16 +345,16 @@
},
{
"name": "consolidation/annotated-command",
- "version": "2.8.4",
+ "version": "2.8.5",
"source": {
"type": "git",
"url": "https://github.com/consolidation/annotated-command.git",
- "reference": "651541a0b68318a2a202bda558a676e5ad92223c"
+ "reference": "1e8ff512072422b850b44aa721b5b303e4a5ebb3"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/consolidation/annotated-command/zipball/651541a0b68318a2a202bda558a676e5ad92223c",
- "reference": "651541a0b68318a2a202bda558a676e5ad92223c",
+ "url": "https://api.github.com/repos/consolidation/annotated-command/zipball/1e8ff512072422b850b44aa721b5b303e4a5ebb3",
+ "reference": "1e8ff512072422b850b44aa721b5b303e4a5ebb3",
"shasum": ""
},
"require": {
@@ -393,20 +393,20 @@
}
],
"description": "Initialize Symfony Console commands from annotated command class methods.",
- "time": "2018-05-25T18:04:25+00:00"
+ "time": "2018-08-18T23:51:49+00:00"
},
{
"name": "consolidation/config",
- "version": "1.0.11",
+ "version": "1.1.0",
"source": {
"type": "git",
"url": "https://github.com/consolidation/config.git",
- "reference": "ede41d946078e97e7a9513aadc3352f1c26817af"
+ "reference": "c9fc25e9088a708637e18a256321addc0670e578"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/consolidation/config/zipball/ede41d946078e97e7a9513aadc3352f1c26817af",
- "reference": "ede41d946078e97e7a9513aadc3352f1c26817af",
+ "url": "https://api.github.com/repos/consolidation/config/zipball/c9fc25e9088a708637e18a256321addc0670e578",
+ "reference": "c9fc25e9088a708637e18a256321addc0670e578",
"shasum": ""
},
"require": {
@@ -416,7 +416,7 @@
},
"require-dev": {
"g1a/composer-test-scenarios": "^1",
- "phpunit/phpunit": "^4",
+ "phpunit/phpunit": "^5",
"satooshi/php-coveralls": "^1.0",
"squizlabs/php_codesniffer": "2.*",
"symfony/console": "^2.5|^3|^4",
@@ -447,7 +447,7 @@
}
],
"description": "Provide configuration services for a commandline tool.",
- "time": "2018-05-27T01:17:02+00:00"
+ "time": "2018-08-07T22:57:00+00:00"
},
{
"name": "consolidation/log",
@@ -555,16 +555,16 @@
},
{
"name": "consolidation/robo",
- "version": "1.3.0",
+ "version": "1.3.1",
"source": {
"type": "git",
"url": "https://github.com/consolidation/Robo.git",
- "reference": "ac563abfadf7cb7314b4e152f2b5033a6c255f6f"
+ "reference": "31f2d2562c4e1dcde70f2659eefd59aa9c7f5b2d"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/consolidation/Robo/zipball/ac563abfadf7cb7314b4e152f2b5033a6c255f6f",
- "reference": "ac563abfadf7cb7314b4e152f2b5033a6c255f6f",
+ "url": "https://api.github.com/repos/consolidation/Robo/zipball/31f2d2562c4e1dcde70f2659eefd59aa9c7f5b2d",
+ "reference": "31f2d2562c4e1dcde70f2659eefd59aa9c7f5b2d",
"shasum": ""
},
"require": {
@@ -572,6 +572,8 @@
"consolidation/config": "^1.0.10",
"consolidation/log": "~1",
"consolidation/output-formatters": "^3.1.13",
+ "consolidation/self-update": "^1",
+ "g1a/composer-test-scenarios": "^2",
"grasmash/yaml-expander": "^1.3",
"league/container": "^2.2",
"php": ">=5.5.0",
@@ -588,7 +590,6 @@
"codeception/aspect-mock": "^1|^2.1.1",
"codeception/base": "^2.3.7",
"codeception/verify": "^0.3.2",
- "g1a/composer-test-scenarios": "^2",
"goaop/framework": "~2.1.2",
"goaop/parser-reflection": "^1.1.0",
"natxet/cssmin": "3.0.4",
@@ -631,7 +632,106 @@
}
],
"description": "Modern task runner",
- "time": "2018-05-27T01:42:53+00:00"
+ "time": "2018-08-17T18:44:18+00:00"
+ },
+ {
+ "name": "consolidation/self-update",
+ "version": "1.0.0",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/consolidation/self-update.git",
+ "reference": "adbb784e58cc0836d8522851f7e38ee7ade0d553"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/consolidation/self-update/zipball/adbb784e58cc0836d8522851f7e38ee7ade0d553",
+ "reference": "adbb784e58cc0836d8522851f7e38ee7ade0d553",
+ "shasum": ""
+ },
+ "require": {
+ "php": ">=5.5.0",
+ "symfony/console": "^2.8|^3|^4",
+ "symfony/filesystem": "^2.5|^3|^4"
+ },
+ "type": "library",
+ "extra": {
+ "branch-alias": {
+ "dev-master": "1.x-dev"
+ }
+ },
+ "autoload": {
+ "psr-4": {
+ "SelfUpdate\\": "src"
+ }
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "MIT"
+ ],
+ "authors": [
+ {
+ "name": "Alexander Menk",
+ "email": "menk@mestrona.net"
+ }
+ ],
+ "description": "Provides a self:update command for Symfony Console applications.",
+ "time": "2018-08-17T04:50:59+00:00"
+ },
+ {
+ "name": "consolidation/site-alias",
+ "version": "1.1.2",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/consolidation/site-alias.git",
+ "reference": "d6fa92e4aaf5ba95cde4454be7ea3165e7e2f17a"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/consolidation/site-alias/zipball/d6fa92e4aaf5ba95cde4454be7ea3165e7e2f17a",
+ "reference": "d6fa92e4aaf5ba95cde4454be7ea3165e7e2f17a",
+ "shasum": ""
+ },
+ "require": {
+ "php": ">=5.5.0"
+ },
+ "require-dev": {
+ "consolidation/robo": "^1.2.3",
+ "g1a/composer-test-scenarios": "^2",
+ "knplabs/github-api": "^2.7",
+ "php-http/guzzle6-adapter": "^1.1",
+ "phpunit/phpunit": "^5",
+ "satooshi/php-coveralls": "^2",
+ "squizlabs/php_codesniffer": "^2.8",
+ "symfony/console": "^2.8|^3|^4",
+ "symfony/yaml": "~2.3|^3"
+ },
+ "type": "library",
+ "extra": {
+ "branch-alias": {
+ "dev-master": "1.x-dev"
+ }
+ },
+ "autoload": {
+ "psr-4": {
+ "Consolidation\\SiteAlias\\": "src"
+ }
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "MIT"
+ ],
+ "authors": [
+ {
+ "name": "Moshe Weitzman",
+ "email": "weitzman@tejasa.com"
+ },
+ {
+ "name": "Greg Anderson",
+ "email": "greg.1.anderson@greenknowe.org"
+ }
+ ],
+ "description": "Template project for PHP libraries.",
+ "time": "2018-08-22T01:07:08+00:00"
},
{
"name": "container-interop/container-interop",
@@ -982,16 +1082,16 @@
},
{
"name": "doctrine/cache",
- "version": "v1.7.1",
+ "version": "v1.8.0",
"source": {
"type": "git",
"url": "https://github.com/doctrine/cache.git",
- "reference": "b3217d58609e9c8e661cd41357a54d926c4a2a1a"
+ "reference": "d768d58baee9a4862ca783840eca1b9add7a7f57"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/doctrine/cache/zipball/b3217d58609e9c8e661cd41357a54d926c4a2a1a",
- "reference": "b3217d58609e9c8e661cd41357a54d926c4a2a1a",
+ "url": "https://api.github.com/repos/doctrine/cache/zipball/d768d58baee9a4862ca783840eca1b9add7a7f57",
+ "reference": "d768d58baee9a4862ca783840eca1b9add7a7f57",
"shasum": ""
},
"require": {
@@ -1002,8 +1102,9 @@
},
"require-dev": {
"alcaeus/mongo-php-adapter": "^1.1",
+ "doctrine/coding-standard": "^4.0",
"mongodb/mongodb": "^1.1",
- "phpunit/phpunit": "^5.7",
+ "phpunit/phpunit": "^7.0",
"predis/predis": "~1.0"
},
"suggest": {
@@ -1012,7 +1113,7 @@
"type": "library",
"extra": {
"branch-alias": {
- "dev-master": "1.7.x-dev"
+ "dev-master": "1.8.x-dev"
}
},
"autoload": {
@@ -1047,12 +1148,12 @@
}
],
"description": "Caching library offering an object-oriented API for many cache backends",
- "homepage": "http://www.doctrine-project.org",
+ "homepage": "https://www.doctrine-project.org",
"keywords": [
"cache",
"caching"
],
- "time": "2017-08-25T07:02:50+00:00"
+ "time": "2018-08-21T18:01:43+00:00"
},
{
"name": "doctrine/collections",
@@ -1554,16 +1655,16 @@
},
{
"name": "drupal-composer/drupal-scaffold",
- "version": "2.5.3",
+ "version": "2.5.4",
"source": {
"type": "git",
"url": "https://github.com/drupal-composer/drupal-scaffold.git",
- "reference": "90f42025acddba70e7f045e069b301013d3d8bbc"
+ "reference": "fc6bf4ceecb5d47327f54d48d4d4f67b17da956d"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/drupal-composer/drupal-scaffold/zipball/90f42025acddba70e7f045e069b301013d3d8bbc",
- "reference": "90f42025acddba70e7f045e069b301013d3d8bbc",
+ "url": "https://api.github.com/repos/drupal-composer/drupal-scaffold/zipball/fc6bf4ceecb5d47327f54d48d4d4f67b17da956d",
+ "reference": "fc6bf4ceecb5d47327f54d48d4d4f67b17da956d",
"shasum": ""
},
"require": {
@@ -1594,7 +1695,7 @@
"GPL-2.0-or-later"
],
"description": "Composer Plugin for updating the Drupal scaffold files when using drupal/core",
- "time": "2018-07-21T08:19:20+00:00"
+ "time": "2018-07-27T10:07:07+00:00"
},
{
"name": "drupal/admin_toolbar",
@@ -1842,6 +1943,56 @@
"irc": "irc://irc.freenode.org/drupal-contribute"
}
},
+ {
+ "name": "drupal/color_field",
+ "version": "1.0.0",
+ "source": {
+ "type": "git",
+ "url": "https://git.drupal.org/project/color_field",
+ "reference": "8.x-1.0"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://ftp.drupal.org/files/projects/color_field-8.x-1.0.zip",
+ "reference": "8.x-1.0",
+ "shasum": "220c620acf39237fada74892433e25c323d7ad3b"
+ },
+ "require": {
+ "drupal/core": "~8.0"
+ },
+ "type": "drupal-module",
+ "extra": {
+ "branch-alias": {
+ "dev-1.x": "1.x-dev"
+ },
+ "drupal": {
+ "version": "8.x-1.0",
+ "datestamp": "1375168268",
+ "security-coverage": {
+ "status": "covered",
+ "message": "Covered by Drupal's security advisory policy"
+ }
+ }
+ },
+ "notification-url": "https://packages.drupal.org/8/downloads",
+ "license": [
+ "GPL-2.0-or-later"
+ ],
+ "authors": [
+ {
+ "name": "NickWilde",
+ "homepage": "https://www.drupal.org/user/3094661"
+ },
+ {
+ "name": "targoo",
+ "homepage": "https://www.drupal.org/user/431910"
+ }
+ ],
+ "homepage": "https://www.drupal.org/project/color_field",
+ "support": {
+ "source": "http://cgit.drupalcode.org/color_field"
+ }
+ },
{
"name": "drupal/console",
"version": "1.8.0",
@@ -3001,7 +3152,7 @@
"source": {
"type": "git",
"url": "https://git.drupal.org/project/examples",
- "reference": "9e7c887917409c4423e9a7e19b63a0882cf84265"
+ "reference": "93a320873526ebea836afa86053aaf4bf862f6f9"
},
"require": {
"drupal/core": "*"
@@ -3020,7 +3171,7 @@
},
"drupal": {
"version": "8.x-1.x-dev",
- "datestamp": "1532807581",
+ "datestamp": "1534196280",
"security-coverage": {
"status": "not-covered",
"message": "Project has not opted into security advisory coverage!"
@@ -3104,7 +3255,7 @@
"issues": "https://www.drupal.org/project/issues/examples",
"documentation": "https://api.drupal.org/api/examples"
},
- "time": "2018-07-29T00:59:12+00:00"
+ "time": "2018-08-16T05:42:28+00:00"
},
{
"name": "drupal/file_browser",
@@ -3162,17 +3313,17 @@
},
{
"name": "drupal/honeypot",
- "version": "1.27.0",
+ "version": "1.28.0",
"source": {
"type": "git",
"url": "https://git.drupal.org/project/honeypot",
- "reference": "8.x-1.27"
+ "reference": "8.x-1.28"
},
"dist": {
"type": "zip",
- "url": "https://ftp.drupal.org/files/projects/honeypot-8.x-1.27.zip",
- "reference": "8.x-1.27",
- "shasum": "b40f86ef45a7f4325343e8aa455ecbdceab51ffe"
+ "url": "https://ftp.drupal.org/files/projects/honeypot-8.x-1.28.zip",
+ "reference": "8.x-1.28",
+ "shasum": "bbfea8791cee7d88be705e0cbf28bd6a22a54c60"
},
"require": {
"drupal/core": "~8.0"
@@ -3183,8 +3334,8 @@
"dev-1.x": "1.x-dev"
},
"drupal": {
- "version": "8.x-1.27",
- "datestamp": "1499867343",
+ "version": "8.x-1.28",
+ "datestamp": "1533849180",
"security-coverage": {
"status": "covered",
"message": "Covered by Drupal's security advisory policy"
@@ -3282,6 +3433,57 @@
"source": "http://cgit.drupalcode.org/inline_entity_form"
}
},
+ {
+ "name": "drupal/jquery_colorpicker",
+ "version": "1.4.0",
+ "source": {
+ "type": "git",
+ "url": "https://git.drupal.org/project/jquery_colorpicker",
+ "reference": "8.x-1.4"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://ftp.drupal.org/files/projects/jquery_colorpicker-8.x-1.4.zip",
+ "reference": "8.x-1.4",
+ "shasum": "68008be07021354cc30afef24ece8ed359c349e1"
+ },
+ "require": {
+ "drupal/core": "~8.0"
+ },
+ "type": "drupal-module",
+ "extra": {
+ "branch-alias": {
+ "dev-1.x": "1.x-dev"
+ },
+ "drupal": {
+ "version": "8.x-1.4",
+ "datestamp": "1523761084",
+ "security-coverage": {
+ "status": "covered",
+ "message": "Covered by Drupal's security advisory policy"
+ }
+ }
+ },
+ "notification-url": "https://packages.drupal.org/8/downloads",
+ "license": [
+ "GPL-2.0-or-later"
+ ],
+ "authors": [
+ {
+ "name": "Jaypan",
+ "homepage": "https://www.drupal.org/user/324696"
+ },
+ {
+ "name": "plopesc",
+ "homepage": "https://www.drupal.org/user/282415"
+ }
+ ],
+ "description": "Creates a jQuery colorpicker field and form element",
+ "homepage": "https://www.drupal.org/project/jquery_colorpicker",
+ "support": {
+ "source": "http://cgit.drupalcode.org/jquery_colorpicker"
+ }
+ },
{
"name": "drupal/link_class",
"version": "1.3.0",
@@ -3937,17 +4139,17 @@
},
{
"name": "drupal/webform",
- "version": "5.0.0-rc16",
+ "version": "5.0.0-rc18",
"source": {
"type": "git",
"url": "https://git.drupal.org/project/webform",
- "reference": "8.x-5.0-rc16"
+ "reference": "8.x-5.0-rc18"
},
"dist": {
"type": "zip",
- "url": "https://ftp.drupal.org/files/projects/webform-8.x-5.0-rc16.zip",
- "reference": "8.x-5.0-rc16",
- "shasum": "033611e87c3d715f5081022ebcd1e183333a72e7"
+ "url": "https://ftp.drupal.org/files/projects/webform-8.x-5.0-rc18.zip",
+ "reference": "8.x-5.0-rc18",
+ "shasum": "f4c1854e8c4c1deaebfd452718d7aa67b01777ac"
},
"require": {
"drupal/core": "*"
@@ -3957,7 +4159,8 @@
"drupal/devel": "*",
"drupal/token": "~1.3",
"drupal/webform_node": "*",
- "drupal/webform_scheduled_email": "*"
+ "drupal/webform_scheduled_email": "*",
+ "drupal/webform_ui": "*"
},
"type": "drupal-module",
"extra": {
@@ -3965,8 +4168,8 @@
"dev-5.x": "5.x-dev"
},
"drupal": {
- "version": "8.x-5.0-rc16",
- "datestamp": "1530298420",
+ "version": "8.x-5.0-rc18",
+ "datestamp": "1533682980",
"security-coverage": {
"status": "not-covered",
"message": "RC releases are not covered by Drupal security advisories."
@@ -4037,25 +4240,26 @@
},
{
"name": "drush/drush",
- "version": "9.3.0",
+ "version": "dev-master",
"source": {
"type": "git",
"url": "https://github.com/drush-ops/drush.git",
- "reference": "82e00a5437b5d2c21ee0f5b3090c3931db3cb71b"
+ "reference": "3c6ae4176121a0f70b4b51f62210cee0bce49d58"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/drush-ops/drush/zipball/82e00a5437b5d2c21ee0f5b3090c3931db3cb71b",
- "reference": "82e00a5437b5d2c21ee0f5b3090c3931db3cb71b",
+ "url": "https://api.github.com/repos/drush-ops/drush/zipball/3c6ae4176121a0f70b4b51f62210cee0bce49d58",
+ "reference": "3c6ae4176121a0f70b4b51f62210cee0bce49d58",
"shasum": ""
},
"require": {
"chi-teck/drupal-code-generator": "^1.24.0",
"composer/semver": "^1.4",
"consolidation/annotated-command": "^2.8.1",
- "consolidation/config": "^1.0.9",
+ "consolidation/config": "^1.1.0",
"consolidation/output-formatters": "^3.1.12",
"consolidation/robo": "^1.1.5",
+ "consolidation/site-alias": "^1.1.2",
"ext-dom": "*",
"grasmash/yaml-expander": "^1.1.1",
"league/container": "~2",
@@ -4068,14 +4272,15 @@
"symfony/event-dispatcher": "~2.7|^3",
"symfony/finder": "~2.7|^3",
"symfony/process": "~2.7|^3",
- "symfony/var-dumper": "~2.7|^3",
+ "symfony/var-dumper": "~2.7|^3|^4",
"symfony/yaml": "~2.3|^3",
"webflo/drupal-finder": "^1.1",
"webmozart/path-util": "^2.1.0"
},
"require-dev": {
+ "g1a/composer-test-scenarios": "^2.2.0",
"lox/xhprof": "dev-master",
- "phpunit/phpunit": "^4.8|^5.5.4",
+ "phpunit/phpunit": "^4.8.36|^5.5.4",
"squizlabs/php_codesniffer": "^2.7"
},
"bin": [
@@ -4134,7 +4339,7 @@
],
"description": "Drush is a command line shell and scripting interface for Drupal, a veritable Swiss Army knife designed to make life easier for those of us who spend some of our working hours hacking away at the command prompt.",
"homepage": "http://www.drush.org",
- "time": "2018-05-23T16:47:20+00:00"
+ "time": "2018-08-22T04:25:42+00:00"
},
{
"name": "easyrdf/easyrdf",
@@ -4252,16 +4457,16 @@
},
{
"name": "enyo/dropzone",
- "version": "v5.1.1",
+ "version": "v5.5.0",
"source": {
"type": "git",
"url": "https://github.com/enyo/dropzone.git",
- "reference": "7d0792d1346d83a8b0c0d2919121bdd2b8e7fee4"
+ "reference": "08b9e0a763b54a685404dea523a9c54242fbe1b9"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/enyo/dropzone/zipball/7d0792d1346d83a8b0c0d2919121bdd2b8e7fee4",
- "reference": "7d0792d1346d83a8b0c0d2919121bdd2b8e7fee4",
+ "url": "https://api.github.com/repos/enyo/dropzone/zipball/08b9e0a763b54a685404dea523a9c54242fbe1b9",
+ "reference": "08b9e0a763b54a685404dea523a9c54242fbe1b9",
"shasum": ""
},
"type": "library",
@@ -4284,7 +4489,40 @@
"file upload",
"upload"
],
- "time": "2017-06-20T13:39:37+00:00"
+ "time": "2018-07-06T14:20:31+00:00"
+ },
+ {
+ "name": "g1a/composer-test-scenarios",
+ "version": "2.2.0",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/g1a/composer-test-scenarios.git",
+ "reference": "a166fd15191aceab89f30c097e694b7cf3db4880"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/g1a/composer-test-scenarios/zipball/a166fd15191aceab89f30c097e694b7cf3db4880",
+ "reference": "a166fd15191aceab89f30c097e694b7cf3db4880",
+ "shasum": ""
+ },
+ "bin": [
+ "scripts/create-scenario",
+ "scripts/dependency-licenses",
+ "scripts/install-scenario"
+ ],
+ "type": "library",
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "MIT"
+ ],
+ "authors": [
+ {
+ "name": "Greg Anderson",
+ "email": "greg.1.anderson@greenknowe.org"
+ }
+ ],
+ "description": "Useful scripts for testing multiple sets of Composer dependencies.",
+ "time": "2018-08-08T23:37:23+00:00"
},
{
"name": "grasmash/expander",
@@ -4649,6 +4887,16 @@
],
"time": "2015-04-20T18:58:01+00:00"
},
+ {
+ "name": "jaypan/jquery_colorpicker",
+ "version": "1.4",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/jaypan/jquery_colorpicker",
+ "reference": "master"
+ },
+ "type": "drupal-library"
+ },
{
"name": "league/container",
"version": "2.4.1",
@@ -5069,20 +5317,22 @@
},
{
"name": "psy/psysh",
- "version": "v0.9.6",
+ "version": "v0.9.7",
"source": {
"type": "git",
"url": "https://github.com/bobthecow/psysh.git",
- "reference": "4a2ce86f199d51b6e2524214dc06835e872f4fce"
+ "reference": "4f5b6c090948773a8bfeea6a0f07ab7d0b24e932"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/bobthecow/psysh/zipball/4a2ce86f199d51b6e2524214dc06835e872f4fce",
- "reference": "4a2ce86f199d51b6e2524214dc06835e872f4fce",
+ "url": "https://api.github.com/repos/bobthecow/psysh/zipball/4f5b6c090948773a8bfeea6a0f07ab7d0b24e932",
+ "reference": "4f5b6c090948773a8bfeea6a0f07ab7d0b24e932",
"shasum": ""
},
"require": {
"dnoegel/php-xdg-base-dir": "0.1",
+ "ext-json": "*",
+ "ext-tokenizer": "*",
"jakub-onderka/php-console-highlighter": "0.3.*",
"nikic/php-parser": "~1.3|~2.0|~3.0|~4.0",
"php": ">=5.4.0",
@@ -5137,7 +5387,7 @@
"interactive",
"shell"
],
- "time": "2018-06-10T17:57:20+00:00"
+ "time": "2018-08-11T15:54:43+00:00"
},
{
"name": "sebastian/version",
@@ -6068,25 +6318,28 @@
},
{
"name": "symfony/polyfill-ctype",
- "version": "v1.8.0",
+ "version": "v1.9.0",
"source": {
"type": "git",
"url": "https://github.com/symfony/polyfill-ctype.git",
- "reference": "7cc359f1b7b80fc25ed7796be7d96adc9b354bae"
+ "reference": "e3d826245268269cd66f8326bd8bc066687b4a19"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/polyfill-ctype/zipball/7cc359f1b7b80fc25ed7796be7d96adc9b354bae",
- "reference": "7cc359f1b7b80fc25ed7796be7d96adc9b354bae",
+ "url": "https://api.github.com/repos/symfony/polyfill-ctype/zipball/e3d826245268269cd66f8326bd8bc066687b4a19",
+ "reference": "e3d826245268269cd66f8326bd8bc066687b4a19",
"shasum": ""
},
"require": {
"php": ">=5.3.3"
},
+ "suggest": {
+ "ext-ctype": "For best performance"
+ },
"type": "library",
"extra": {
"branch-alias": {
- "dev-master": "1.8-dev"
+ "dev-master": "1.9-dev"
}
},
"autoload": {
@@ -6119,20 +6372,20 @@
"polyfill",
"portable"
],
- "time": "2018-04-30T19:57:29+00:00"
+ "time": "2018-08-06T14:22:27+00:00"
},
{
"name": "symfony/polyfill-iconv",
- "version": "v1.8.0",
+ "version": "v1.9.0",
"source": {
"type": "git",
"url": "https://github.com/symfony/polyfill-iconv.git",
- "reference": "7cb8436a814d5b0fcf292810ee26f8b0cb47584d"
+ "reference": "bcc0cd69185b8a5d8b4a5400c489ed3333bf9bb2"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/polyfill-iconv/zipball/7cb8436a814d5b0fcf292810ee26f8b0cb47584d",
- "reference": "7cb8436a814d5b0fcf292810ee26f8b0cb47584d",
+ "url": "https://api.github.com/repos/symfony/polyfill-iconv/zipball/bcc0cd69185b8a5d8b4a5400c489ed3333bf9bb2",
+ "reference": "bcc0cd69185b8a5d8b4a5400c489ed3333bf9bb2",
"shasum": ""
},
"require": {
@@ -6144,7 +6397,7 @@
"type": "library",
"extra": {
"branch-alias": {
- "dev-master": "1.8-dev"
+ "dev-master": "1.9-dev"
}
},
"autoload": {
@@ -6178,20 +6431,20 @@
"portable",
"shim"
],
- "time": "2018-04-26T10:06:28+00:00"
+ "time": "2018-08-06T14:22:27+00:00"
},
{
"name": "symfony/polyfill-mbstring",
- "version": "v1.8.0",
+ "version": "v1.9.0",
"source": {
"type": "git",
"url": "https://github.com/symfony/polyfill-mbstring.git",
- "reference": "3296adf6a6454a050679cde90f95350ad604b171"
+ "reference": "d0cd638f4634c16d8df4508e847f14e9e43168b8"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/polyfill-mbstring/zipball/3296adf6a6454a050679cde90f95350ad604b171",
- "reference": "3296adf6a6454a050679cde90f95350ad604b171",
+ "url": "https://api.github.com/repos/symfony/polyfill-mbstring/zipball/d0cd638f4634c16d8df4508e847f14e9e43168b8",
+ "reference": "d0cd638f4634c16d8df4508e847f14e9e43168b8",
"shasum": ""
},
"require": {
@@ -6203,7 +6456,7 @@
"type": "library",
"extra": {
"branch-alias": {
- "dev-master": "1.8-dev"
+ "dev-master": "1.9-dev"
}
},
"autoload": {
@@ -6237,30 +6490,30 @@
"portable",
"shim"
],
- "time": "2018-04-26T10:06:28+00:00"
+ "time": "2018-08-06T14:22:27+00:00"
},
{
"name": "symfony/polyfill-php70",
- "version": "v1.8.0",
+ "version": "v1.9.0",
"source": {
"type": "git",
"url": "https://github.com/symfony/polyfill-php70.git",
- "reference": "77454693d8f10dd23bb24955cffd2d82db1007a6"
+ "reference": "1e24b0c4a56d55aaf368763a06c6d1c7d3194934"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/polyfill-php70/zipball/77454693d8f10dd23bb24955cffd2d82db1007a6",
- "reference": "77454693d8f10dd23bb24955cffd2d82db1007a6",
+ "url": "https://api.github.com/repos/symfony/polyfill-php70/zipball/1e24b0c4a56d55aaf368763a06c6d1c7d3194934",
+ "reference": "1e24b0c4a56d55aaf368763a06c6d1c7d3194934",
"shasum": ""
},
"require": {
- "paragonie/random_compat": "~1.0|~2.0",
+ "paragonie/random_compat": "~1.0|~2.0|~9.99",
"php": ">=5.3.3"
},
"type": "library",
"extra": {
"branch-alias": {
- "dev-master": "1.8-dev"
+ "dev-master": "1.9-dev"
}
},
"autoload": {
@@ -6296,7 +6549,62 @@
"portable",
"shim"
],
- "time": "2018-04-26T10:06:28+00:00"
+ "time": "2018-08-06T14:22:27+00:00"
+ },
+ {
+ "name": "symfony/polyfill-php72",
+ "version": "v1.9.0",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/symfony/polyfill-php72.git",
+ "reference": "95c50420b0baed23852452a7f0c7b527303ed5ae"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/symfony/polyfill-php72/zipball/95c50420b0baed23852452a7f0c7b527303ed5ae",
+ "reference": "95c50420b0baed23852452a7f0c7b527303ed5ae",
+ "shasum": ""
+ },
+ "require": {
+ "php": ">=5.3.3"
+ },
+ "type": "library",
+ "extra": {
+ "branch-alias": {
+ "dev-master": "1.9-dev"
+ }
+ },
+ "autoload": {
+ "psr-4": {
+ "Symfony\\Polyfill\\Php72\\": ""
+ },
+ "files": [
+ "bootstrap.php"
+ ]
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "MIT"
+ ],
+ "authors": [
+ {
+ "name": "Nicolas Grekas",
+ "email": "p@tchwork.com"
+ },
+ {
+ "name": "Symfony Community",
+ "homepage": "https://symfony.com/contributors"
+ }
+ ],
+ "description": "Symfony polyfill backporting some PHP 7.2+ features to lower PHP versions",
+ "homepage": "https://symfony.com",
+ "keywords": [
+ "compatibility",
+ "polyfill",
+ "portable",
+ "shim"
+ ],
+ "time": "2018-08-06T14:22:27+00:00"
},
{
"name": "symfony/process",
@@ -6718,38 +7026,44 @@
},
{
"name": "symfony/var-dumper",
- "version": "v3.4.14",
+ "version": "v4.1.3",
"source": {
"type": "git",
"url": "https://github.com/symfony/var-dumper.git",
- "reference": "f62a394bd3de96f2f5e8f4c7d685035897fb3cb3"
+ "reference": "69e174f4c02ec43919380171c6f7550753299316"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/var-dumper/zipball/f62a394bd3de96f2f5e8f4c7d685035897fb3cb3",
- "reference": "f62a394bd3de96f2f5e8f4c7d685035897fb3cb3",
+ "url": "https://api.github.com/repos/symfony/var-dumper/zipball/69e174f4c02ec43919380171c6f7550753299316",
+ "reference": "69e174f4c02ec43919380171c6f7550753299316",
"shasum": ""
},
"require": {
- "php": "^5.5.9|>=7.0.8",
- "symfony/polyfill-mbstring": "~1.0"
+ "php": "^7.1.3",
+ "symfony/polyfill-mbstring": "~1.0",
+ "symfony/polyfill-php72": "~1.5"
},
"conflict": {
- "phpunit/phpunit": "<4.8.35|<5.4.3,>=5.0"
+ "phpunit/phpunit": "<4.8.35|<5.4.3,>=5.0",
+ "symfony/console": "<3.4"
},
"require-dev": {
"ext-iconv": "*",
+ "symfony/process": "~3.4|~4.0",
"twig/twig": "~1.34|~2.4"
},
"suggest": {
"ext-iconv": "To convert non-UTF-8 strings to UTF-8 (or symfony/polyfill-iconv in case ext-iconv cannot be used).",
"ext-intl": "To show region name in time zone dump",
- "ext-symfony_debug": ""
+ "symfony/console": "To use the ServerDumpCommand and/or the bin/var-dump-server script"
},
+ "bin": [
+ "Resources/bin/var-dump-server"
+ ],
"type": "library",
"extra": {
"branch-alias": {
- "dev-master": "3.4-dev"
+ "dev-master": "4.1-dev"
}
},
"autoload": {
@@ -6783,7 +7097,7 @@
"debug",
"dump"
],
- "time": "2018-07-26T11:19:56+00:00"
+ "time": "2018-07-26T11:24:31+00:00"
},
{
"name": "symfony/yaml",
@@ -7095,16 +7409,16 @@
},
{
"name": "zendframework/zend-diactoros",
- "version": "1.8.4",
+ "version": "1.8.5",
"source": {
"type": "git",
"url": "https://github.com/zendframework/zend-diactoros.git",
- "reference": "736ffa7c2bfa4a60e8a10acb316fa2ac456c5fba"
+ "reference": "3e4edb822c942f37ade0d09579cfbab11e2fee87"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/zendframework/zend-diactoros/zipball/736ffa7c2bfa4a60e8a10acb316fa2ac456c5fba",
- "reference": "736ffa7c2bfa4a60e8a10acb316fa2ac456c5fba",
+ "url": "https://api.github.com/repos/zendframework/zend-diactoros/zipball/3e4edb822c942f37ade0d09579cfbab11e2fee87",
+ "reference": "3e4edb822c942f37ade0d09579cfbab11e2fee87",
"shasum": ""
},
"require": {
@@ -7154,7 +7468,7 @@
"psr",
"psr-7"
],
- "time": "2018-08-01T13:47:49+00:00"
+ "time": "2018-08-10T14:16:32+00:00"
},
{
"name": "zendframework/zend-escaper",
@@ -8205,16 +8519,16 @@
},
{
"name": "phpspec/prophecy",
- "version": "1.7.6",
+ "version": "1.8.0",
"source": {
"type": "git",
"url": "https://github.com/phpspec/prophecy.git",
- "reference": "33a7e3c4fda54e912ff6338c48823bd5c0f0b712"
+ "reference": "4ba436b55987b4bf311cb7c6ba82aa528aac0a06"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/phpspec/prophecy/zipball/33a7e3c4fda54e912ff6338c48823bd5c0f0b712",
- "reference": "33a7e3c4fda54e912ff6338c48823bd5c0f0b712",
+ "url": "https://api.github.com/repos/phpspec/prophecy/zipball/4ba436b55987b4bf311cb7c6ba82aa528aac0a06",
+ "reference": "4ba436b55987b4bf311cb7c6ba82aa528aac0a06",
"shasum": ""
},
"require": {
@@ -8226,12 +8540,12 @@
},
"require-dev": {
"phpspec/phpspec": "^2.5|^3.2",
- "phpunit/phpunit": "^4.8.35 || ^5.7 || ^6.5"
+ "phpunit/phpunit": "^4.8.35 || ^5.7 || ^6.5 || ^7.1"
},
"type": "library",
"extra": {
"branch-alias": {
- "dev-master": "1.7.x-dev"
+ "dev-master": "1.8.x-dev"
}
},
"autoload": {
@@ -8264,7 +8578,7 @@
"spy",
"stub"
],
- "time": "2018-04-18T13:57:24+00:00"
+ "time": "2018-08-05T17:53:17+00:00"
},
{
"name": "phpunit/php-code-coverage",
@@ -8517,16 +8831,16 @@
},
{
"name": "phpunit/phpunit",
- "version": "6.5.9",
+ "version": "6.5.12",
"source": {
"type": "git",
"url": "https://github.com/sebastianbergmann/phpunit.git",
- "reference": "093ca5508174cd8ab8efe44fd1dde447adfdec8f"
+ "reference": "24da433d7384824d65ea93fbb462e2f31bbb494e"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/sebastianbergmann/phpunit/zipball/093ca5508174cd8ab8efe44fd1dde447adfdec8f",
- "reference": "093ca5508174cd8ab8efe44fd1dde447adfdec8f",
+ "url": "https://api.github.com/repos/sebastianbergmann/phpunit/zipball/24da433d7384824d65ea93fbb462e2f31bbb494e",
+ "reference": "24da433d7384824d65ea93fbb462e2f31bbb494e",
"shasum": ""
},
"require": {
@@ -8544,7 +8858,7 @@
"phpunit/php-file-iterator": "^1.4.3",
"phpunit/php-text-template": "^1.2.1",
"phpunit/php-timer": "^1.0.9",
- "phpunit/phpunit-mock-objects": "^5.0.5",
+ "phpunit/phpunit-mock-objects": "^5.0.9",
"sebastian/comparator": "^2.1",
"sebastian/diff": "^2.0",
"sebastian/environment": "^3.1",
@@ -8597,20 +8911,20 @@
"testing",
"xunit"
],
- "time": "2018-07-03T06:40:40+00:00"
+ "time": "2018-08-22T06:32:48+00:00"
},
{
"name": "phpunit/phpunit-mock-objects",
- "version": "5.0.8",
+ "version": "5.0.10",
"source": {
"type": "git",
"url": "https://github.com/sebastianbergmann/phpunit-mock-objects.git",
- "reference": "6f9a3c8bf34188a2b53ce2ae7a126089c53e0a9f"
+ "reference": "cd1cf05c553ecfec36b170070573e540b67d3f1f"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/sebastianbergmann/phpunit-mock-objects/zipball/6f9a3c8bf34188a2b53ce2ae7a126089c53e0a9f",
- "reference": "6f9a3c8bf34188a2b53ce2ae7a126089c53e0a9f",
+ "url": "https://api.github.com/repos/sebastianbergmann/phpunit-mock-objects/zipball/cd1cf05c553ecfec36b170070573e540b67d3f1f",
+ "reference": "cd1cf05c553ecfec36b170070573e540b67d3f1f",
"shasum": ""
},
"require": {
@@ -8623,7 +8937,7 @@
"phpunit/phpunit": "<6.0"
},
"require-dev": {
- "phpunit/phpunit": "^6.5"
+ "phpunit/phpunit": "^6.5.11"
},
"suggest": {
"ext-soap": "*"
@@ -8656,7 +8970,7 @@
"mock",
"xunit"
],
- "time": "2018-07-13T03:27:23+00:00"
+ "time": "2018-08-09T05:50:03+00:00"
},
{
"name": "sebastian/code-unit-reverse-lookup",
diff --git a/config/sync/block.block.useraccountmenu.yml b/config/sync/block.block.useraccountmenu.yml
new file mode 100644
index 0000000..3779b49
--- /dev/null
+++ b/config/sync/block.block.useraccountmenu.yml
@@ -0,0 +1,24 @@
+uuid: c988f57c-08bd-44a2-9702-ba52fb63527d
+langcode: en
+status: true
+dependencies:
+ config:
+ - system.menu.account
+ module:
+ - system
+ theme:
+ - dedrone
+id: useraccountmenu
+theme: dedrone
+region: footerMenu
+weight: 0
+provider: null
+plugin: 'system_menu_block:account'
+settings:
+ id: 'system_menu_block:account'
+ label: 'User account menu'
+ provider: system
+ label_display: visible
+ level: 1
+ depth: 0
+visibility: { }
diff --git a/config/sync/block.block.useraccountmenu_2.yml b/config/sync/block.block.useraccountmenu_2.yml
new file mode 100644
index 0000000..a8dd9e9
--- /dev/null
+++ b/config/sync/block.block.useraccountmenu_2.yml
@@ -0,0 +1,24 @@
+uuid: 0f45278a-250e-474c-bb80-6cf9a6d1162d
+langcode: en
+status: true
+dependencies:
+ config:
+ - system.menu.account
+ module:
+ - system
+ theme:
+ - dedrone
+id: useraccountmenu_2
+theme: dedrone
+region: footer
+weight: 0
+provider: null
+plugin: 'system_menu_block:account'
+settings:
+ id: 'system_menu_block:account'
+ label: 'User account menu'
+ provider: system
+ label_display: visible
+ level: 1
+ depth: 0
+visibility: { }
diff --git a/config/sync/core.entity_form_display.node.page.default.yml b/config/sync/core.entity_form_display.node.page.default.yml
index 033a895..3b840fa 100644
--- a/config/sync/core.entity_form_display.node.page.default.yml
+++ b/config/sync/core.entity_form_display.node.page.default.yml
@@ -77,4 +77,5 @@ content:
size: 60
placeholder: ''
third_party_settings: { }
-hidden: { }
+hidden:
+ field_paragraph: true
diff --git a/config/sync/core.entity_form_display.paragraph.bundle_content_tech_par_page.default.yml b/config/sync/core.entity_form_display.paragraph.bundle_content_tech_par_page.default.yml
new file mode 100644
index 0000000..bbb25f1
--- /dev/null
+++ b/config/sync/core.entity_form_display.paragraph.bundle_content_tech_par_page.default.yml
@@ -0,0 +1,55 @@
+uuid: ccc88b60-7404-46b5-98d4-5c40471eb148
+langcode: en
+status: true
+dependencies:
+ config:
+ - field.field.paragraph.bundle_content_tech_par_page.field_bundle_partner_logo
+ - field.field.paragraph.bundle_content_tech_par_page.field_shared_h2_title
+ - field.field.paragraph.bundle_content_tech_par_page.field_shared_link_label
+ - field.field.paragraph.bundle_content_tech_par_page.field_shared_p_simple_text
+ - paragraphs.paragraphs_type.bundle_content_tech_par_page
+ module:
+ - link
+ - text
+id: paragraph.bundle_content_tech_par_page.default
+targetEntityType: paragraph
+bundle: bundle_content_tech_par_page
+mode: default
+content:
+ field_bundle_partner_logo:
+ weight: 2
+ settings:
+ match_operator: CONTAINS
+ size: 60
+ placeholder: ''
+ third_party_settings: { }
+ type: entity_reference_autocomplete
+ region: content
+ field_shared_h2_title:
+ weight: 0
+ settings:
+ size: 60
+ placeholder: ''
+ third_party_settings: { }
+ type: text_textfield
+ region: content
+ field_shared_link_label:
+ weight: 4
+ settings:
+ placeholder_url: ''
+ placeholder_title: ''
+ third_party_settings: { }
+ type: link_default
+ region: content
+ field_shared_p_simple_text:
+ weight: 3
+ settings:
+ rows: 5
+ placeholder: ''
+ third_party_settings: { }
+ type: text_textarea
+ region: content
+hidden:
+ created: true
+ status: true
+ uid: true
diff --git a/config/sync/core.entity_form_display.paragraph.bundle_description_tech_par_page.default.yml b/config/sync/core.entity_form_display.paragraph.bundle_description_tech_par_page.default.yml
new file mode 100644
index 0000000..4610877
--- /dev/null
+++ b/config/sync/core.entity_form_display.paragraph.bundle_description_tech_par_page.default.yml
@@ -0,0 +1,45 @@
+uuid: 146534b9-a6ae-40e2-acb2-ed550a9e09fb
+langcode: en
+status: true
+dependencies:
+ config:
+ - field.field.paragraph.bundle_description_tech_par_page.field_shared_h1_title
+ - field.field.paragraph.bundle_description_tech_par_page.field_shared_link_label
+ - field.field.paragraph.bundle_description_tech_par_page.field_shared_p_simple_text
+ - paragraphs.paragraphs_type.bundle_description_tech_par_page
+ module:
+ - link
+ - text
+id: paragraph.bundle_description_tech_par_page.default
+targetEntityType: paragraph
+bundle: bundle_description_tech_par_page
+mode: default
+content:
+ field_shared_h1_title:
+ weight: 0
+ settings:
+ size: 60
+ placeholder: ''
+ third_party_settings: { }
+ type: text_textfield
+ region: content
+ field_shared_link_label:
+ weight: 2
+ settings:
+ placeholder_url: ''
+ placeholder_title: ''
+ third_party_settings: { }
+ type: link_default
+ region: content
+ field_shared_p_simple_text:
+ weight: 3
+ settings:
+ rows: 5
+ placeholder: ''
+ third_party_settings: { }
+ type: text_textarea
+ region: content
+hidden:
+ created: true
+ status: true
+ uid: true
diff --git a/config/sync/core.entity_form_display.paragraph.image1.default.yml b/config/sync/core.entity_form_display.paragraph.image1.default.yml
new file mode 100644
index 0000000..40cc6f0
--- /dev/null
+++ b/config/sync/core.entity_form_display.paragraph.image1.default.yml
@@ -0,0 +1,15 @@
+uuid: ac9e7232-e8f0-4234-b502-272cd0be23a3
+langcode: en
+status: true
+dependencies:
+ config:
+ - paragraphs.paragraphs_type.image1
+id: paragraph.image1.default
+targetEntityType: paragraph
+bundle: image1
+mode: default
+content: { }
+hidden:
+ created: true
+ status: true
+ uid: true
diff --git a/config/sync/core.entity_form_display.paragraph.shared_aditional_information.default.yml b/config/sync/core.entity_form_display.paragraph.shared_aditional_information.default.yml
new file mode 100644
index 0000000..a2b4781
--- /dev/null
+++ b/config/sync/core.entity_form_display.paragraph.shared_aditional_information.default.yml
@@ -0,0 +1,45 @@
+uuid: fe529078-3d74-439a-97c9-93d0c4486d93
+langcode: en
+status: true
+dependencies:
+ config:
+ - field.field.paragraph.shared_aditional_information.field_background_color
+ - field.field.paragraph.shared_aditional_information.field_shared_button_link
+ - field.field.paragraph.shared_aditional_information.field_shared_h1_white_title
+ - paragraphs.paragraphs_type.shared_aditional_information
+ module:
+ - jquery_colorpicker
+ - link
+ - text
+id: paragraph.shared_aditional_information.default
+targetEntityType: paragraph
+bundle: shared_aditional_information
+mode: default
+content:
+ field_background_color:
+ weight: 2
+ settings:
+ color: FFFFFF
+ third_party_settings: { }
+ type: jquery_colorpicker
+ region: content
+ field_shared_button_link:
+ weight: 1
+ settings:
+ placeholder_url: ''
+ placeholder_title: ''
+ third_party_settings: { }
+ type: link_default
+ region: content
+ field_shared_h1_white_title:
+ weight: 0
+ settings:
+ size: 60
+ placeholder: ''
+ third_party_settings: { }
+ type: text_textfield
+ region: content
+hidden:
+ created: true
+ status: true
+ uid: true
diff --git a/config/sync/core.entity_form_display.paragraph.shared_simple_white_title_.default.yml b/config/sync/core.entity_form_display.paragraph.shared_simple_white_title_.default.yml
new file mode 100644
index 0000000..6b14893
--- /dev/null
+++ b/config/sync/core.entity_form_display.paragraph.shared_simple_white_title_.default.yml
@@ -0,0 +1,45 @@
+uuid: 6fd58373-24cc-4ad4-b1f3-ff797b50220d
+langcode: en
+status: true
+dependencies:
+ config:
+ - field.field.paragraph.shared_simple_white_title_.field_shared_background_image
+ - field.field.paragraph.shared_simple_white_title_.field_shared_h1_white_title
+ - field.field.paragraph.shared_simple_white_title_.field_shared_h2_white_title_desc
+ - paragraphs.paragraphs_type.shared_simple_white_title_
+ module:
+ - text
+id: paragraph.shared_simple_white_title_.default
+targetEntityType: paragraph
+bundle: shared_simple_white_title_
+mode: default
+content:
+ field_shared_background_image:
+ weight: 3
+ settings:
+ match_operator: CONTAINS
+ size: 60
+ placeholder: ''
+ third_party_settings: { }
+ type: entity_reference_autocomplete
+ region: content
+ field_shared_h1_white_title:
+ weight: 1
+ settings:
+ size: 60
+ placeholder: ''
+ third_party_settings: { }
+ type: text_textfield
+ region: content
+ field_shared_h2_white_title_desc:
+ weight: 2
+ settings:
+ size: 60
+ placeholder: ''
+ third_party_settings: { }
+ type: text_textfield
+ region: content
+hidden:
+ created: true
+ status: true
+ uid: true
diff --git a/config/sync/core.entity_view_display.node.page.default.yml b/config/sync/core.entity_view_display.node.page.default.yml
index 399692f..86e5ef7 100644
--- a/config/sync/core.entity_view_display.node.page.default.yml
+++ b/config/sync/core.entity_view_display.node.page.default.yml
@@ -29,4 +29,6 @@ content:
region: content
settings: { }
third_party_settings: { }
-hidden: { }
+hidden:
+ body: true
+ field_paragraph: true
diff --git a/config/sync/core.entity_view_display.node.page.teaser.yml b/config/sync/core.entity_view_display.node.page.teaser.yml
index e6fb99b..529688f 100644
--- a/config/sync/core.entity_view_display.node.page.teaser.yml
+++ b/config/sync/core.entity_view_display.node.page.teaser.yml
@@ -17,4 +17,7 @@ content:
links:
weight: 101
region: content
-hidden: { }
+hidden:
+ body: true
+ field_paragraph: true
+ field_section: true
diff --git a/config/sync/core.entity_view_display.paragraph.bundle_content_tech_par_page.default.yml b/config/sync/core.entity_view_display.paragraph.bundle_content_tech_par_page.default.yml
new file mode 100644
index 0000000..b74b7e9
--- /dev/null
+++ b/config/sync/core.entity_view_display.paragraph.bundle_content_tech_par_page.default.yml
@@ -0,0 +1,54 @@
+uuid: 85837602-1afc-4d15-9367-42d351bec718
+langcode: en
+status: true
+dependencies:
+ config:
+ - field.field.paragraph.bundle_content_tech_par_page.field_bundle_partner_logo
+ - field.field.paragraph.bundle_content_tech_par_page.field_shared_h2_title
+ - field.field.paragraph.bundle_content_tech_par_page.field_shared_link_label
+ - field.field.paragraph.bundle_content_tech_par_page.field_shared_p_simple_text
+ - paragraphs.paragraphs_type.bundle_content_tech_par_page
+ module:
+ - link
+ - text
+id: paragraph.bundle_content_tech_par_page.default
+targetEntityType: paragraph
+bundle: bundle_content_tech_par_page
+mode: default
+content:
+ field_bundle_partner_logo:
+ type: entity_reference_entity_view
+ weight: 2
+ label: hidden
+ settings:
+ view_mode: default
+ link: false
+ third_party_settings: { }
+ region: content
+ field_shared_h2_title:
+ weight: 0
+ label: hidden
+ settings: { }
+ third_party_settings: { }
+ type: text_default
+ region: content
+ field_shared_link_label:
+ weight: 4
+ label: hidden
+ settings:
+ trim_length: 80
+ url_only: false
+ url_plain: false
+ rel: ''
+ target: ''
+ third_party_settings: { }
+ type: link
+ region: content
+ field_shared_p_simple_text:
+ weight: 3
+ label: hidden
+ settings: { }
+ third_party_settings: { }
+ type: text_default
+ region: content
+hidden: { }
diff --git a/config/sync/core.entity_view_display.paragraph.bundle_description_tech_par_page.default.yml b/config/sync/core.entity_view_display.paragraph.bundle_description_tech_par_page.default.yml
new file mode 100644
index 0000000..4dcef43
--- /dev/null
+++ b/config/sync/core.entity_view_display.paragraph.bundle_description_tech_par_page.default.yml
@@ -0,0 +1,44 @@
+uuid: b3948927-ceda-4f70-8c21-898c9972b230
+langcode: en
+status: true
+dependencies:
+ config:
+ - field.field.paragraph.bundle_description_tech_par_page.field_shared_h1_title
+ - field.field.paragraph.bundle_description_tech_par_page.field_shared_link_label
+ - field.field.paragraph.bundle_description_tech_par_page.field_shared_p_simple_text
+ - paragraphs.paragraphs_type.bundle_description_tech_par_page
+ module:
+ - link
+ - text
+id: paragraph.bundle_description_tech_par_page.default
+targetEntityType: paragraph
+bundle: bundle_description_tech_par_page
+mode: default
+content:
+ field_shared_h1_title:
+ weight: 0
+ label: hidden
+ settings: { }
+ third_party_settings: { }
+ type: text_default
+ region: content
+ field_shared_link_label:
+ weight: 2
+ label: hidden
+ settings:
+ trim_length: 80
+ url_only: false
+ url_plain: false
+ rel: ''
+ target: ''
+ third_party_settings: { }
+ type: link
+ region: content
+ field_shared_p_simple_text:
+ weight: 3
+ label: above
+ settings: { }
+ third_party_settings: { }
+ type: text_default
+ region: content
+hidden: { }
diff --git a/config/sync/core.entity_view_display.paragraph.image1.default.yml b/config/sync/core.entity_view_display.paragraph.image1.default.yml
new file mode 100644
index 0000000..6cda72c
--- /dev/null
+++ b/config/sync/core.entity_view_display.paragraph.image1.default.yml
@@ -0,0 +1,12 @@
+uuid: 03cabdd2-58d6-4891-99a8-af574f619f41
+langcode: en
+status: true
+dependencies:
+ config:
+ - paragraphs.paragraphs_type.image1
+id: paragraph.image1.default
+targetEntityType: paragraph
+bundle: image1
+mode: default
+content: { }
+hidden: { }
diff --git a/config/sync/core.entity_view_display.paragraph.shared_aditional_information.default.yml b/config/sync/core.entity_view_display.paragraph.shared_aditional_information.default.yml
new file mode 100644
index 0000000..b1c07ce
--- /dev/null
+++ b/config/sync/core.entity_view_display.paragraph.shared_aditional_information.default.yml
@@ -0,0 +1,45 @@
+uuid: 742699b8-401a-4f5e-9f06-da8210a5ca79
+langcode: en
+status: true
+dependencies:
+ config:
+ - field.field.paragraph.shared_aditional_information.field_background_color
+ - field.field.paragraph.shared_aditional_information.field_shared_button_link
+ - field.field.paragraph.shared_aditional_information.field_shared_h1_white_title
+ - paragraphs.paragraphs_type.shared_aditional_information
+ module:
+ - jquery_colorpicker
+ - link
+ - text
+id: paragraph.shared_aditional_information.default
+targetEntityType: paragraph
+bundle: shared_aditional_information
+mode: default
+content:
+ field_background_color:
+ weight: 2
+ label: hidden
+ settings: { }
+ third_party_settings: { }
+ type: jquery_colorpicker_raw_hex_display
+ region: content
+ field_shared_button_link:
+ weight: 1
+ label: above
+ settings:
+ trim_length: 80
+ url_only: false
+ url_plain: false
+ rel: ''
+ target: ''
+ third_party_settings: { }
+ type: link
+ region: content
+ field_shared_h1_white_title:
+ weight: 0
+ label: hidden
+ settings: { }
+ third_party_settings: { }
+ type: text_default
+ region: content
+hidden: { }
diff --git a/config/sync/core.entity_view_display.paragraph.shared_simple_white_title_.default.yml b/config/sync/core.entity_view_display.paragraph.shared_simple_white_title_.default.yml
new file mode 100644
index 0000000..54dff17
--- /dev/null
+++ b/config/sync/core.entity_view_display.paragraph.shared_simple_white_title_.default.yml
@@ -0,0 +1,40 @@
+uuid: cbf27188-3b70-43bc-a570-a7ae9ea932d3
+langcode: en
+status: true
+dependencies:
+ config:
+ - field.field.paragraph.shared_simple_white_title_.field_shared_background_image
+ - field.field.paragraph.shared_simple_white_title_.field_shared_h1_white_title
+ - field.field.paragraph.shared_simple_white_title_.field_shared_h2_white_title_desc
+ - paragraphs.paragraphs_type.shared_simple_white_title_
+ module:
+ - text
+id: paragraph.shared_simple_white_title_.default
+targetEntityType: paragraph
+bundle: shared_simple_white_title_
+mode: default
+content:
+ field_shared_background_image:
+ type: entity_reference_entity_view
+ weight: 3
+ label: above
+ settings:
+ view_mode: default
+ link: false
+ third_party_settings: { }
+ region: content
+ field_shared_h1_white_title:
+ weight: 1
+ label: hidden
+ settings: { }
+ third_party_settings: { }
+ type: text_default
+ region: content
+ field_shared_h2_white_title_desc:
+ weight: 2
+ label: hidden
+ settings: { }
+ third_party_settings: { }
+ type: text_default
+ region: content
+hidden: { }
diff --git a/config/sync/core.extension.yml b/config/sync/core.extension.yml
index 4cac782..2ac6046 100644
--- a/config/sync/core.extension.yml
+++ b/config/sync/core.extension.yml
@@ -5,10 +5,12 @@ module:
backup_migrate: 0
big_pipe: 0
block: 0
+ block_class: 0
block_content: 0
breakpoint: 0
ckeditor: 0
color: 0
+ color_field: 0
comment: 0
config: 0
contact: 0
@@ -33,6 +35,7 @@ module:
history: 0
honeypot: 0
image: 0
+ jquery_colorpicker: 0
kint: 0
link: 0
link_class: 0
@@ -54,6 +57,7 @@ module:
token: 0
toolbar: 0
tour: 0
+ twig_field_value: 0
ultimate_cron: 0
update: 0
user: 0
diff --git a/config/sync/field.field.paragraph.bundle_content_tech_par_page.field_bundle_partner_logo.yml b/config/sync/field.field.paragraph.bundle_content_tech_par_page.field_bundle_partner_logo.yml
new file mode 100644
index 0000000..abb41f3
--- /dev/null
+++ b/config/sync/field.field.paragraph.bundle_content_tech_par_page.field_bundle_partner_logo.yml
@@ -0,0 +1,28 @@
+uuid: 6df42b35-18ef-494c-beb6-3b8630913e2f
+langcode: en
+status: true
+dependencies:
+ config:
+ - field.storage.paragraph.field_bundle_partner_logo
+ - media.type.image
+ - paragraphs.paragraphs_type.bundle_content_tech_par_page
+id: paragraph.bundle_content_tech_par_page.field_bundle_partner_logo
+field_name: field_bundle_partner_logo
+entity_type: paragraph
+bundle: bundle_content_tech_par_page
+label: 'Bundle partner company logo image'
+description: 'Bundle partner company logo image.'
+required: false
+translatable: false
+default_value: { }
+default_value_callback: ''
+settings:
+ handler: 'default:media'
+ handler_settings:
+ target_bundles:
+ image: image
+ sort:
+ field: _none
+ auto_create: false
+ auto_create_bundle: ''
+field_type: entity_reference
diff --git a/config/sync/field.field.paragraph.bundle_content_tech_par_page.field_shared_h2_title.yml b/config/sync/field.field.paragraph.bundle_content_tech_par_page.field_shared_h2_title.yml
new file mode 100644
index 0000000..12b06d9
--- /dev/null
+++ b/config/sync/field.field.paragraph.bundle_content_tech_par_page.field_shared_h2_title.yml
@@ -0,0 +1,21 @@
+uuid: 0fd1e9ec-3373-46af-8a3e-b201e5e353de
+langcode: en
+status: true
+dependencies:
+ config:
+ - field.storage.paragraph.field_shared_h2_title
+ - paragraphs.paragraphs_type.bundle_content_tech_par_page
+ module:
+ - text
+id: paragraph.bundle_content_tech_par_page.field_shared_h2_title
+field_name: field_shared_h2_title
+entity_type: paragraph
+bundle: bundle_content_tech_par_page
+label: 'Shared H2 title'
+description: 'Simple H2 title text.'
+required: false
+translatable: false
+default_value: { }
+default_value_callback: ''
+settings: { }
+field_type: text
diff --git a/config/sync/field.field.paragraph.bundle_content_tech_par_page.field_shared_link_label.yml b/config/sync/field.field.paragraph.bundle_content_tech_par_page.field_shared_link_label.yml
new file mode 100644
index 0000000..ef4108f
--- /dev/null
+++ b/config/sync/field.field.paragraph.bundle_content_tech_par_page.field_shared_link_label.yml
@@ -0,0 +1,23 @@
+uuid: 597e916f-c54a-4f94-addd-008b73222d3b
+langcode: en
+status: true
+dependencies:
+ config:
+ - field.storage.paragraph.field_shared_link_label
+ - paragraphs.paragraphs_type.bundle_content_tech_par_page
+ module:
+ - link
+id: paragraph.bundle_content_tech_par_page.field_shared_link_label
+field_name: field_shared_link_label
+entity_type: paragraph
+bundle: bundle_content_tech_par_page
+label: 'Shared link label'
+description: 'Link with label.'
+required: false
+translatable: true
+default_value: { }
+default_value_callback: ''
+settings:
+ link_type: 17
+ title: 1
+field_type: link
diff --git a/config/sync/field.field.paragraph.bundle_content_tech_par_page.field_shared_p_simple_text.yml b/config/sync/field.field.paragraph.bundle_content_tech_par_page.field_shared_p_simple_text.yml
new file mode 100644
index 0000000..4f632d2
--- /dev/null
+++ b/config/sync/field.field.paragraph.bundle_content_tech_par_page.field_shared_p_simple_text.yml
@@ -0,0 +1,21 @@
+uuid: 5c9b2bf6-1401-41ce-afcf-73c7395c2e96
+langcode: en
+status: true
+dependencies:
+ config:
+ - field.storage.paragraph.field_shared_p_simple_text
+ - paragraphs.paragraphs_type.bundle_content_tech_par_page
+ module:
+ - text
+id: paragraph.bundle_content_tech_par_page.field_shared_p_simple_text
+field_name: field_shared_p_simple_text
+entity_type: paragraph
+bundle: bundle_content_tech_par_page
+label: 'Shared p simple text'
+description: 'Right column text field.'
+required: false
+translatable: true
+default_value: { }
+default_value_callback: ''
+settings: { }
+field_type: text_long
diff --git a/config/sync/field.field.paragraph.bundle_description_tech_par_page.field_shared_h1_title.yml b/config/sync/field.field.paragraph.bundle_description_tech_par_page.field_shared_h1_title.yml
new file mode 100644
index 0000000..6b66fa6
--- /dev/null
+++ b/config/sync/field.field.paragraph.bundle_description_tech_par_page.field_shared_h1_title.yml
@@ -0,0 +1,21 @@
+uuid: 9bded99e-6ed6-4829-8b64-d1428ba5510a
+langcode: en
+status: true
+dependencies:
+ config:
+ - field.storage.paragraph.field_shared_h1_title
+ - paragraphs.paragraphs_type.bundle_description_tech_par_page
+ module:
+ - text
+id: paragraph.bundle_description_tech_par_page.field_shared_h1_title
+field_name: field_shared_h1_title
+entity_type: paragraph
+bundle: bundle_description_tech_par_page
+label: 'Shared H1 title'
+description: 'Simple H1 title text.'
+required: false
+translatable: false
+default_value: { }
+default_value_callback: ''
+settings: { }
+field_type: text
diff --git a/config/sync/field.field.paragraph.bundle_description_tech_par_page.field_shared_link_label.yml b/config/sync/field.field.paragraph.bundle_description_tech_par_page.field_shared_link_label.yml
new file mode 100644
index 0000000..a372494
--- /dev/null
+++ b/config/sync/field.field.paragraph.bundle_description_tech_par_page.field_shared_link_label.yml
@@ -0,0 +1,23 @@
+uuid: 64cf0d3d-bea0-40bc-867c-c43b0a0b43c6
+langcode: en
+status: true
+dependencies:
+ config:
+ - field.storage.paragraph.field_shared_link_label
+ - paragraphs.paragraphs_type.bundle_description_tech_par_page
+ module:
+ - link
+id: paragraph.bundle_description_tech_par_page.field_shared_link_label
+field_name: field_shared_link_label
+entity_type: paragraph
+bundle: bundle_description_tech_par_page
+label: 'Shared link label'
+description: 'Simple link with label.'
+required: false
+translatable: false
+default_value: { }
+default_value_callback: ''
+settings:
+ link_type: 17
+ title: 1
+field_type: link
diff --git a/config/sync/field.field.paragraph.bundle_description_tech_par_page.field_shared_p_simple_text.yml b/config/sync/field.field.paragraph.bundle_description_tech_par_page.field_shared_p_simple_text.yml
new file mode 100644
index 0000000..95eacee
--- /dev/null
+++ b/config/sync/field.field.paragraph.bundle_description_tech_par_page.field_shared_p_simple_text.yml
@@ -0,0 +1,21 @@
+uuid: 1b3b02d0-6961-4123-aed7-83005c73bfed
+langcode: en
+status: true
+dependencies:
+ config:
+ - field.storage.paragraph.field_shared_p_simple_text
+ - paragraphs.paragraphs_type.bundle_description_tech_par_page
+ module:
+ - text
+id: paragraph.bundle_description_tech_par_page.field_shared_p_simple_text
+field_name: field_shared_p_simple_text
+entity_type: paragraph
+bundle: bundle_description_tech_par_page
+label: 'Shared p simple text'
+description: 'Simple text field,'
+required: false
+translatable: false
+default_value: { }
+default_value_callback: ''
+settings: { }
+field_type: text_long
diff --git a/config/sync/field.field.paragraph.shared_aditional_information.field_background_color.yml b/config/sync/field.field.paragraph.shared_aditional_information.field_background_color.yml
new file mode 100644
index 0000000..a60b905
--- /dev/null
+++ b/config/sync/field.field.paragraph.shared_aditional_information.field_background_color.yml
@@ -0,0 +1,23 @@
+uuid: 969b1c30-d12b-4efe-a22d-74c91eb63e83
+langcode: en
+status: true
+dependencies:
+ config:
+ - field.storage.paragraph.field_background_color
+ - paragraphs.paragraphs_type.shared_aditional_information
+ module:
+ - jquery_colorpicker
+id: paragraph.shared_aditional_information.field_background_color
+field_name: field_background_color
+entity_type: paragraph
+bundle: shared_aditional_information
+label: 'Background color'
+description: 'Paragraph background color'
+required: false
+translatable: false
+default_value:
+ -
+ value: FFFFFF
+default_value_callback: ''
+settings: { }
+field_type: jquery_colorpicker
diff --git a/config/sync/field.field.paragraph.shared_aditional_information.field_shared_button_link.yml b/config/sync/field.field.paragraph.shared_aditional_information.field_shared_button_link.yml
new file mode 100644
index 0000000..5ee99c8
--- /dev/null
+++ b/config/sync/field.field.paragraph.shared_aditional_information.field_shared_button_link.yml
@@ -0,0 +1,23 @@
+uuid: 85e080e1-2961-48b5-aec9-c8f5d391da74
+langcode: en
+status: true
+dependencies:
+ config:
+ - field.storage.paragraph.field_shared_button_link
+ - paragraphs.paragraphs_type.shared_aditional_information
+ module:
+ - link
+id: paragraph.shared_aditional_information.field_shared_button_link
+field_name: field_shared_button_link
+entity_type: paragraph
+bundle: shared_aditional_information
+label: 'Shared button link'
+description: ''
+required: false
+translatable: false
+default_value: { }
+default_value_callback: ''
+settings:
+ link_type: 17
+ title: 1
+field_type: link
diff --git a/config/sync/field.field.paragraph.shared_aditional_information.field_shared_h1_white_title.yml b/config/sync/field.field.paragraph.shared_aditional_information.field_shared_h1_white_title.yml
new file mode 100644
index 0000000..e62d2b1
--- /dev/null
+++ b/config/sync/field.field.paragraph.shared_aditional_information.field_shared_h1_white_title.yml
@@ -0,0 +1,21 @@
+uuid: 8212479a-c765-481f-9ae2-b43b131c173b
+langcode: en
+status: true
+dependencies:
+ config:
+ - field.storage.paragraph.field_shared_h1_white_title
+ - paragraphs.paragraphs_type.shared_aditional_information
+ module:
+ - text
+id: paragraph.shared_aditional_information.field_shared_h1_white_title
+field_name: field_shared_h1_white_title
+entity_type: paragraph
+bundle: shared_aditional_information
+label: 'Shared H1 white title'
+description: 'Additional information white color title.'
+required: false
+translatable: true
+default_value: { }
+default_value_callback: ''
+settings: { }
+field_type: text
diff --git a/config/sync/field.field.paragraph.shared_simple_white_title_.field_shared_background_image.yml b/config/sync/field.field.paragraph.shared_simple_white_title_.field_shared_background_image.yml
new file mode 100644
index 0000000..5e3245f
--- /dev/null
+++ b/config/sync/field.field.paragraph.shared_simple_white_title_.field_shared_background_image.yml
@@ -0,0 +1,28 @@
+uuid: d937798d-b3e8-40e9-b25e-c62143e93ba6
+langcode: en
+status: true
+dependencies:
+ config:
+ - field.storage.paragraph.field_shared_background_image
+ - media.type.image
+ - paragraphs.paragraphs_type.shared_simple_white_title_
+id: paragraph.shared_simple_white_title_.field_shared_background_image
+field_name: field_shared_background_image
+entity_type: paragraph
+bundle: shared_simple_white_title_
+label: Shared_background_image
+description: ''
+required: false
+translatable: false
+default_value: { }
+default_value_callback: ''
+settings:
+ handler: 'default:media'
+ handler_settings:
+ target_bundles:
+ image: image
+ sort:
+ field: _none
+ auto_create: false
+ auto_create_bundle: ''
+field_type: entity_reference
diff --git a/config/sync/field.field.paragraph.shared_simple_white_title_.field_shared_h1_white_title.yml b/config/sync/field.field.paragraph.shared_simple_white_title_.field_shared_h1_white_title.yml
new file mode 100644
index 0000000..5740a38
--- /dev/null
+++ b/config/sync/field.field.paragraph.shared_simple_white_title_.field_shared_h1_white_title.yml
@@ -0,0 +1,21 @@
+uuid: d35d3071-50db-4e9f-89e0-a96d99418ebb
+langcode: en
+status: true
+dependencies:
+ config:
+ - field.storage.paragraph.field_shared_h1_white_title
+ - paragraphs.paragraphs_type.shared_simple_white_title_
+ module:
+ - text
+id: paragraph.shared_simple_white_title_.field_shared_h1_white_title
+field_name: field_shared_h1_white_title
+entity_type: paragraph
+bundle: shared_simple_white_title_
+label: 'Shared H1 white title'
+description: 'H1 white color title text.'
+required: false
+translatable: false
+default_value: { }
+default_value_callback: ''
+settings: { }
+field_type: text
diff --git a/config/sync/field.field.paragraph.shared_simple_white_title_.field_shared_h2_white_title_desc.yml b/config/sync/field.field.paragraph.shared_simple_white_title_.field_shared_h2_white_title_desc.yml
new file mode 100644
index 0000000..a7a0064
--- /dev/null
+++ b/config/sync/field.field.paragraph.shared_simple_white_title_.field_shared_h2_white_title_desc.yml
@@ -0,0 +1,21 @@
+uuid: 4949370d-72e7-487e-b07d-5907cc413683
+langcode: en
+status: true
+dependencies:
+ config:
+ - field.storage.paragraph.field_shared_h2_white_title_desc
+ - paragraphs.paragraphs_type.shared_simple_white_title_
+ module:
+ - text
+id: paragraph.shared_simple_white_title_.field_shared_h2_white_title_desc
+field_name: field_shared_h2_white_title_desc
+entity_type: paragraph
+bundle: shared_simple_white_title_
+label: 'Shared H2 white title description'
+description: 'White color title description text.'
+required: false
+translatable: false
+default_value: { }
+default_value_callback: ''
+settings: { }
+field_type: text
diff --git a/config/sync/field.storage.paragraph.field_background_color.yml b/config/sync/field.storage.paragraph.field_background_color.yml
new file mode 100644
index 0000000..ee077e9
--- /dev/null
+++ b/config/sync/field.storage.paragraph.field_background_color.yml
@@ -0,0 +1,19 @@
+uuid: 1375c60a-16f3-48c3-9c8f-0da634c86acf
+langcode: en
+status: true
+dependencies:
+ module:
+ - jquery_colorpicker
+ - paragraphs
+id: paragraph.field_background_color
+field_name: field_background_color
+entity_type: paragraph
+type: jquery_colorpicker
+settings: { }
+module: jquery_colorpicker
+locked: false
+cardinality: 1
+translatable: true
+indexes: { }
+persist_with_no_fields: false
+custom_storage: false
diff --git a/config/sync/field.storage.paragraph.field_bundle_partner_logo.yml b/config/sync/field.storage.paragraph.field_bundle_partner_logo.yml
new file mode 100644
index 0000000..44edf23
--- /dev/null
+++ b/config/sync/field.storage.paragraph.field_bundle_partner_logo.yml
@@ -0,0 +1,20 @@
+uuid: ecef867e-129a-45b9-9552-09a7afd1afa8
+langcode: en
+status: true
+dependencies:
+ module:
+ - media
+ - paragraphs
+id: paragraph.field_bundle_partner_logo
+field_name: field_bundle_partner_logo
+entity_type: paragraph
+type: entity_reference
+settings:
+ target_type: media
+module: core
+locked: false
+cardinality: 1
+translatable: true
+indexes: { }
+persist_with_no_fields: false
+custom_storage: false
diff --git a/config/sync/field.storage.paragraph.field_shared_background_image.yml b/config/sync/field.storage.paragraph.field_shared_background_image.yml
new file mode 100644
index 0000000..cb7113a
--- /dev/null
+++ b/config/sync/field.storage.paragraph.field_shared_background_image.yml
@@ -0,0 +1,20 @@
+uuid: d3d6e6c2-35cd-49d8-b26e-c186851daabe
+langcode: en
+status: true
+dependencies:
+ module:
+ - media
+ - paragraphs
+id: paragraph.field_shared_background_image
+field_name: field_shared_background_image
+entity_type: paragraph
+type: entity_reference
+settings:
+ target_type: media
+module: core
+locked: false
+cardinality: 1
+translatable: true
+indexes: { }
+persist_with_no_fields: false
+custom_storage: false
diff --git a/config/sync/field.storage.paragraph.field_shared_button_link.yml b/config/sync/field.storage.paragraph.field_shared_button_link.yml
new file mode 100644
index 0000000..be0e84b
--- /dev/null
+++ b/config/sync/field.storage.paragraph.field_shared_button_link.yml
@@ -0,0 +1,19 @@
+uuid: b29f241b-1813-4d05-b22a-1c1805555d82
+langcode: en
+status: true
+dependencies:
+ module:
+ - link
+ - paragraphs
+id: paragraph.field_shared_button_link
+field_name: field_shared_button_link
+entity_type: paragraph
+type: link
+settings: { }
+module: link
+locked: false
+cardinality: -1
+translatable: true
+indexes: { }
+persist_with_no_fields: false
+custom_storage: false
diff --git a/config/sync/field.storage.paragraph.field_shared_h1_title.yml b/config/sync/field.storage.paragraph.field_shared_h1_title.yml
new file mode 100644
index 0000000..73ffde5
--- /dev/null
+++ b/config/sync/field.storage.paragraph.field_shared_h1_title.yml
@@ -0,0 +1,20 @@
+uuid: 83c48f42-8815-4e93-b698-60b8e5810420
+langcode: en
+status: true
+dependencies:
+ module:
+ - paragraphs
+ - text
+id: paragraph.field_shared_h1_title
+field_name: field_shared_h1_title
+entity_type: paragraph
+type: text
+settings:
+ max_length: 255
+module: text
+locked: false
+cardinality: 1
+translatable: true
+indexes: { }
+persist_with_no_fields: false
+custom_storage: false
diff --git a/config/sync/field.storage.paragraph.field_shared_h1_white_title.yml b/config/sync/field.storage.paragraph.field_shared_h1_white_title.yml
new file mode 100644
index 0000000..5dd4614
--- /dev/null
+++ b/config/sync/field.storage.paragraph.field_shared_h1_white_title.yml
@@ -0,0 +1,20 @@
+uuid: e3af6f04-9561-404b-8645-fee55dfdf944
+langcode: en
+status: true
+dependencies:
+ module:
+ - paragraphs
+ - text
+id: paragraph.field_shared_h1_white_title
+field_name: field_shared_h1_white_title
+entity_type: paragraph
+type: text
+settings:
+ max_length: 255
+module: text
+locked: false
+cardinality: 1
+translatable: true
+indexes: { }
+persist_with_no_fields: false
+custom_storage: false
diff --git a/config/sync/field.storage.paragraph.field_shared_h2_title.yml b/config/sync/field.storage.paragraph.field_shared_h2_title.yml
new file mode 100644
index 0000000..40b016a
--- /dev/null
+++ b/config/sync/field.storage.paragraph.field_shared_h2_title.yml
@@ -0,0 +1,20 @@
+uuid: 17defdb4-1268-4729-be2a-f9724c8e6e49
+langcode: en
+status: true
+dependencies:
+ module:
+ - paragraphs
+ - text
+id: paragraph.field_shared_h2_title
+field_name: field_shared_h2_title
+entity_type: paragraph
+type: text
+settings:
+ max_length: 255
+module: text
+locked: false
+cardinality: 1
+translatable: true
+indexes: { }
+persist_with_no_fields: false
+custom_storage: false
diff --git a/config/sync/field.storage.paragraph.field_shared_h2_white_title_desc.yml b/config/sync/field.storage.paragraph.field_shared_h2_white_title_desc.yml
new file mode 100644
index 0000000..b5e108e
--- /dev/null
+++ b/config/sync/field.storage.paragraph.field_shared_h2_white_title_desc.yml
@@ -0,0 +1,20 @@
+uuid: f82562e5-13f7-4bd1-bea6-a7861b0330f1
+langcode: en
+status: true
+dependencies:
+ module:
+ - paragraphs
+ - text
+id: paragraph.field_shared_h2_white_title_desc
+field_name: field_shared_h2_white_title_desc
+entity_type: paragraph
+type: text
+settings:
+ max_length: 500
+module: text
+locked: false
+cardinality: 1
+translatable: true
+indexes: { }
+persist_with_no_fields: false
+custom_storage: false
diff --git a/config/sync/field.storage.paragraph.field_shared_link_label.yml b/config/sync/field.storage.paragraph.field_shared_link_label.yml
new file mode 100644
index 0000000..12bbf3a
--- /dev/null
+++ b/config/sync/field.storage.paragraph.field_shared_link_label.yml
@@ -0,0 +1,19 @@
+uuid: 7ab41f84-fc3c-4b2d-9fee-ca70a9ad932a
+langcode: en
+status: true
+dependencies:
+ module:
+ - link
+ - paragraphs
+id: paragraph.field_shared_link_label
+field_name: field_shared_link_label
+entity_type: paragraph
+type: link
+settings: { }
+module: link
+locked: false
+cardinality: 1
+translatable: true
+indexes: { }
+persist_with_no_fields: false
+custom_storage: false
diff --git a/config/sync/field.storage.paragraph.field_shared_p_simple_text.yml b/config/sync/field.storage.paragraph.field_shared_p_simple_text.yml
new file mode 100644
index 0000000..59d71a6
--- /dev/null
+++ b/config/sync/field.storage.paragraph.field_shared_p_simple_text.yml
@@ -0,0 +1,19 @@
+uuid: 8fad5252-f8a0-4c6a-9750-ee1825511c12
+langcode: en
+status: true
+dependencies:
+ module:
+ - paragraphs
+ - text
+id: paragraph.field_shared_p_simple_text
+field_name: field_shared_p_simple_text
+entity_type: paragraph
+type: text_long
+settings: { }
+module: text
+locked: false
+cardinality: -1
+translatable: true
+indexes: { }
+persist_with_no_fields: false
+custom_storage: false
diff --git a/config/sync/paragraphs.paragraphs_type.bundle_content_tech_par_page.yml b/config/sync/paragraphs.paragraphs_type.bundle_content_tech_par_page.yml
new file mode 100644
index 0000000..cca6a9a
--- /dev/null
+++ b/config/sync/paragraphs.paragraphs_type.bundle_content_tech_par_page.yml
@@ -0,0 +1,9 @@
+uuid: fc025b3e-acd3-4817-bc0a-474abb97f2d2
+langcode: en
+status: true
+dependencies: { }
+id: bundle_content_tech_par_page
+label: 'Bundle content Technology Partners page'
+icon_uuid: null
+description: 'Technology Partners page content paragraph with partner company title, site link, logo, and information about company.'
+behavior_plugins: { }
diff --git a/config/sync/paragraphs.paragraphs_type.bundle_description_tech_par_page.yml b/config/sync/paragraphs.paragraphs_type.bundle_description_tech_par_page.yml
new file mode 100644
index 0000000..ef653a2
--- /dev/null
+++ b/config/sync/paragraphs.paragraphs_type.bundle_description_tech_par_page.yml
@@ -0,0 +1,9 @@
+uuid: 8221252a-4b2e-4abb-a226-4c392bf80356
+langcode: en
+status: true
+dependencies: { }
+id: bundle_description_tech_par_page
+label: 'Bundle description Technology Partners page'
+icon_uuid: null
+description: 'Technology Partners page description paragraph with information about page sense.'
+behavior_plugins: { }
diff --git a/config/sync/paragraphs.paragraphs_type.shared_aditional_information.yml b/config/sync/paragraphs.paragraphs_type.shared_aditional_information.yml
new file mode 100644
index 0000000..1536631
--- /dev/null
+++ b/config/sync/paragraphs.paragraphs_type.shared_aditional_information.yml
@@ -0,0 +1,9 @@
+uuid: e913450e-ecd9-4d59-a624-eb05ff8f9cc7
+langcode: en
+status: true
+dependencies: { }
+id: shared_aditional_information
+label: 'Shared aditional information'
+icon_uuid: null
+description: 'Aditional information paragraph with white title and buttons. Example: "Want to learn more?" block.'
+behavior_plugins: { }
diff --git a/config/sync/paragraphs.paragraphs_type.shared_simple_white_title_.yml b/config/sync/paragraphs.paragraphs_type.shared_simple_white_title_.yml
new file mode 100644
index 0000000..ef07235
--- /dev/null
+++ b/config/sync/paragraphs.paragraphs_type.shared_simple_white_title_.yml
@@ -0,0 +1,9 @@
+uuid: c239b7c5-c8da-4695-bac0-f52813a22bfd
+langcode: en
+status: true
+dependencies: { }
+id: shared_simple_white_title_
+label: 'Shared simple white title '
+icon_uuid: null
+description: 'Paragraph with title, small description and full screen width background image.'
+behavior_plugins: { }
diff --git a/config/sync/system.logging.yml b/config/sync/system.logging.yml
index e95b28a..b1fc304 100644
--- a/config/sync/system.logging.yml
+++ b/config/sync/system.logging.yml
@@ -1,3 +1,3 @@
-error_level: hide
+error_level: all
_core:
default_config_hash: u3-njszl92FaxjrCMiq0yDcjAfcdx72w1zT1O9dx6aA
diff --git a/config/sync/system.performance.yml b/config/sync/system.performance.yml
index d4f85d5..363204e 100644
--- a/config/sync/system.performance.yml
+++ b/config/sync/system.performance.yml
@@ -1,17 +1,20 @@
cache:
page:
max_age: 0
+ use_internal: false
css:
- preprocess: true
- gzip: true
+ preprocess: false
+ gzip: false
fast_404:
enabled: true
paths: '/\.(?:txt|png|gif|jpe?g|css|js|ico|swf|flv|cgi|bat|pl|dll|exe|asp)$/i'
exclude_paths: '/\/(?:styles|imagecache)\//'
html: '
404 Not Found Not Found The requested URL "@path" was not found on this server.
'
js:
- preprocess: true
- gzip: true
+ preprocess: false
+ gzip: false
stale_file_threshold: 2592000
_core:
default_config_hash: b2cssrj-lOmATIbdehfCqfCFgVR0qCdxxWhwqa2KBVQ
+response:
+ gzip: false
diff --git a/config/sync/views.settings.yml b/config/sync/views.settings.yml
index fbda2e6..d89bd38 100644
--- a/config/sync/views.settings.yml
+++ b/config/sync/views.settings.yml
@@ -6,10 +6,10 @@ ui:
additional_queries: false
advanced_column: false
master_display: false
- performance_statistics: false
+ performance_statistics: true
preview_information: true
sql_query:
- enabled: false
+ enabled: true
where: above
display_embed: false
always_live_preview: true
diff --git a/config/sync/webform.webform.contact.yml b/config/sync/webform.webform.contact.yml
index 4dcd811..84cc05f 100644
--- a/config/sync/webform.webform.contact.yml
+++ b/config/sync/webform.webform.contact.yml
@@ -9,6 +9,7 @@ _core:
default_config_hash: wAMM24AQ4SZHdKFQh9c-fVPQCPsgd0bA5Sw7nS6Nds0
open: null
close: null
+weight: 0
uid: null
template: false
archive: false
diff --git a/config/sync/webform.webform.example_computed_elements.yml b/config/sync/webform.webform.example_computed_elements.yml
index d95c185..4051b71 100644
--- a/config/sync/webform.webform.example_computed_elements.yml
+++ b/config/sync/webform.webform.example_computed_elements.yml
@@ -9,6 +9,7 @@ _core:
default_config_hash: xgR5O8DALhINGHvhOawpIKbaNm_XFZAT8YiQyddZJLo
open: null
close: null
+weight: 0
uid: null
template: false
archive: false
diff --git a/config/sync/webform.webform.example_computed_elements_ajax.yml b/config/sync/webform.webform.example_computed_elements_ajax.yml
index 8294951..6f7a5cb 100644
--- a/config/sync/webform.webform.example_computed_elements_ajax.yml
+++ b/config/sync/webform.webform.example_computed_elements_ajax.yml
@@ -9,6 +9,7 @@ _core:
default_config_hash: JQMOHtVaeY_9TzxQ6MBOqPKQQIupk-c8PtmFkmO7F7I
open: null
close: null
+weight: 0
uid: null
template: false
archive: false
diff --git a/config/sync/webform.webform.example_element_states.yml b/config/sync/webform.webform.example_element_states.yml
index 4ea79cf..0069edd 100644
--- a/config/sync/webform.webform.example_element_states.yml
+++ b/config/sync/webform.webform.example_element_states.yml
@@ -9,6 +9,7 @@ _core:
default_config_hash: IkWtX-qHEjIdD9SM8hK8G-K-8G5bG7g9UUM0odZPRYw
open: null
close: null
+weight: 0
uid: null
template: false
archive: false
diff --git a/config/sync/webform.webform.example_flexbox_layout.yml b/config/sync/webform.webform.example_flexbox_layout.yml
index 7d5724b..848e9c7 100644
--- a/config/sync/webform.webform.example_flexbox_layout.yml
+++ b/config/sync/webform.webform.example_flexbox_layout.yml
@@ -9,6 +9,7 @@ _core:
default_config_hash: ocUNPfEqsKmeW8IA_ssmUil30ooPPyPHw3YaznwfOkA
open: null
close: null
+weight: 0
uid: null
template: false
archive: false
diff --git a/config/sync/webform.webform.example_input_masks.yml b/config/sync/webform.webform.example_input_masks.yml
index 2b93ad3..03874f0 100644
--- a/config/sync/webform.webform.example_input_masks.yml
+++ b/config/sync/webform.webform.example_input_masks.yml
@@ -9,6 +9,7 @@ _core:
default_config_hash: _ZdC4lcxrn8NelQ9UYqQMtTRr9vA35RN8NjJippqLyc
open: null
close: null
+weight: 0
uid: null
template: false
archive: false
diff --git a/config/sync/webform.webform.example_style_guide.yml b/config/sync/webform.webform.example_style_guide.yml
index 28f4991..2115644 100644
--- a/config/sync/webform.webform.example_style_guide.yml
+++ b/config/sync/webform.webform.example_style_guide.yml
@@ -9,6 +9,7 @@ _core:
default_config_hash: YOePbCnZHG71xN-2KDN_VurSIx4B3CLbh3aTJt-INHk
open: null
close: null
+weight: 0
uid: null
template: false
archive: false
diff --git a/config/sync/webform.webform.example_wizard.yml b/config/sync/webform.webform.example_wizard.yml
index 93c0d8b..a4c4ed8 100644
--- a/config/sync/webform.webform.example_wizard.yml
+++ b/config/sync/webform.webform.example_wizard.yml
@@ -9,6 +9,7 @@ _core:
default_config_hash: '-n1Wsej4x4IJr525Gjl1XuwzunqbuAlLi0ox64V9eA8'
open: null
close: null
+weight: 0
uid: null
template: false
archive: false
diff --git a/technology-partners.sql.gz b/technology-partners.sql.gz
new file mode 100644
index 0000000..af3e22e
Binary files /dev/null and b/technology-partners.sql.gz differ
diff --git a/web/modules/twig_field_value/LICENSE.txt b/web/modules/twig_field_value/LICENSE.txt
new file mode 100644
index 0000000..d159169
--- /dev/null
+++ b/web/modules/twig_field_value/LICENSE.txt
@@ -0,0 +1,339 @@
+ GNU GENERAL PUBLIC LICENSE
+ Version 2, June 1991
+
+ Copyright (C) 1989, 1991 Free Software Foundation, Inc.,
+ 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
+ Everyone is permitted to copy and distribute verbatim copies
+ of this license document, but changing it is not allowed.
+
+ Preamble
+
+ The licenses for most software are designed to take away your
+freedom to share and change it. By contrast, the GNU General Public
+License is intended to guarantee your freedom to share and change free
+software--to make sure the software is free for all its users. This
+General Public License applies to most of the Free Software
+Foundation's software and to any other program whose authors commit to
+using it. (Some other Free Software Foundation software is covered by
+the GNU Lesser General Public License instead.) You can apply it to
+your programs, too.
+
+ When we speak of free software, we are referring to freedom, not
+price. Our General Public Licenses are designed to make sure that you
+have the freedom to distribute copies of free software (and charge for
+this service if you wish), that you receive source code or can get it
+if you want it, that you can change the software or use pieces of it
+in new free programs; and that you know you can do these things.
+
+ To protect your rights, we need to make restrictions that forbid
+anyone to deny you these rights or to ask you to surrender the rights.
+These restrictions translate to certain responsibilities for you if you
+distribute copies of the software, or if you modify it.
+
+ For example, if you distribute copies of such a program, whether
+gratis or for a fee, you must give the recipients all the rights that
+you have. You must make sure that they, too, receive or can get the
+source code. And you must show them these terms so they know their
+rights.
+
+ We protect your rights with two steps: (1) copyright the software, and
+(2) offer you this license which gives you legal permission to copy,
+distribute and/or modify the software.
+
+ Also, for each author's protection and ours, we want to make certain
+that everyone understands that there is no warranty for this free
+software. If the software is modified by someone else and passed on, we
+want its recipients to know that what they have is not the original, so
+that any problems introduced by others will not reflect on the original
+authors' reputations.
+
+ Finally, any free program is threatened constantly by software
+patents. We wish to avoid the danger that redistributors of a free
+program will individually obtain patent licenses, in effect making the
+program proprietary. To prevent this, we have made it clear that any
+patent must be licensed for everyone's free use or not licensed at all.
+
+ The precise terms and conditions for copying, distribution and
+modification follow.
+
+ GNU GENERAL PUBLIC LICENSE
+ TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
+
+ 0. This License applies to any program or other work which contains
+a notice placed by the copyright holder saying it may be distributed
+under the terms of this General Public License. The "Program", below,
+refers to any such program or work, and a "work based on the Program"
+means either the Program or any derivative work under copyright law:
+that is to say, a work containing the Program or a portion of it,
+either verbatim or with modifications and/or translated into another
+language. (Hereinafter, translation is included without limitation in
+the term "modification".) Each licensee is addressed as "you".
+
+Activities other than copying, distribution and modification are not
+covered by this License; they are outside its scope. The act of
+running the Program is not restricted, and the output from the Program
+is covered only if its contents constitute a work based on the
+Program (independent of having been made by running the Program).
+Whether that is true depends on what the Program does.
+
+ 1. You may copy and distribute verbatim copies of the Program's
+source code as you receive it, in any medium, provided that you
+conspicuously and appropriately publish on each copy an appropriate
+copyright notice and disclaimer of warranty; keep intact all the
+notices that refer to this License and to the absence of any warranty;
+and give any other recipients of the Program a copy of this License
+along with the Program.
+
+You may charge a fee for the physical act of transferring a copy, and
+you may at your option offer warranty protection in exchange for a fee.
+
+ 2. You may modify your copy or copies of the Program or any portion
+of it, thus forming a work based on the Program, and copy and
+distribute such modifications or work under the terms of Section 1
+above, provided that you also meet all of these conditions:
+
+ a) You must cause the modified files to carry prominent notices
+ stating that you changed the files and the date of any change.
+
+ b) You must cause any work that you distribute or publish, that in
+ whole or in part contains or is derived from the Program or any
+ part thereof, to be licensed as a whole at no charge to all third
+ parties under the terms of this License.
+
+ c) If the modified program normally reads commands interactively
+ when run, you must cause it, when started running for such
+ interactive use in the most ordinary way, to print or display an
+ announcement including an appropriate copyright notice and a
+ notice that there is no warranty (or else, saying that you provide
+ a warranty) and that users may redistribute the program under
+ these conditions, and telling the user how to view a copy of this
+ License. (Exception: if the Program itself is interactive but
+ does not normally print such an announcement, your work based on
+ the Program is not required to print an announcement.)
+
+These requirements apply to the modified work as a whole. If
+identifiable sections of that work are not derived from the Program,
+and can be reasonably considered independent and separate works in
+themselves, then this License, and its terms, do not apply to those
+sections when you distribute them as separate works. But when you
+distribute the same sections as part of a whole which is a work based
+on the Program, the distribution of the whole must be on the terms of
+this License, whose permissions for other licensees extend to the
+entire whole, and thus to each and every part regardless of who wrote it.
+
+Thus, it is not the intent of this section to claim rights or contest
+your rights to work written entirely by you; rather, the intent is to
+exercise the right to control the distribution of derivative or
+collective works based on the Program.
+
+In addition, mere aggregation of another work not based on the Program
+with the Program (or with a work based on the Program) on a volume of
+a storage or distribution medium does not bring the other work under
+the scope of this License.
+
+ 3. You may copy and distribute the Program (or a work based on it,
+under Section 2) in object code or executable form under the terms of
+Sections 1 and 2 above provided that you also do one of the following:
+
+ a) Accompany it with the complete corresponding machine-readable
+ source code, which must be distributed under the terms of Sections
+ 1 and 2 above on a medium customarily used for software interchange; or,
+
+ b) Accompany it with a written offer, valid for at least three
+ years, to give any third party, for a charge no more than your
+ cost of physically performing source distribution, a complete
+ machine-readable copy of the corresponding source code, to be
+ distributed under the terms of Sections 1 and 2 above on a medium
+ customarily used for software interchange; or,
+
+ c) Accompany it with the information you received as to the offer
+ to distribute corresponding source code. (This alternative is
+ allowed only for noncommercial distribution and only if you
+ received the program in object code or executable form with such
+ an offer, in accord with Subsection b above.)
+
+The source code for a work means the preferred form of the work for
+making modifications to it. For an executable work, complete source
+code means all the source code for all modules it contains, plus any
+associated interface definition files, plus the scripts used to
+control compilation and installation of the executable. However, as a
+special exception, the source code distributed need not include
+anything that is normally distributed (in either source or binary
+form) with the major components (compiler, kernel, and so on) of the
+operating system on which the executable runs, unless that component
+itself accompanies the executable.
+
+If distribution of executable or object code is made by offering
+access to copy from a designated place, then offering equivalent
+access to copy the source code from the same place counts as
+distribution of the source code, even though third parties are not
+compelled to copy the source along with the object code.
+
+ 4. You may not copy, modify, sublicense, or distribute the Program
+except as expressly provided under this License. Any attempt
+otherwise to copy, modify, sublicense or distribute the Program is
+void, and will automatically terminate your rights under this License.
+However, parties who have received copies, or rights, from you under
+this License will not have their licenses terminated so long as such
+parties remain in full compliance.
+
+ 5. You are not required to accept this License, since you have not
+signed it. However, nothing else grants you permission to modify or
+distribute the Program or its derivative works. These actions are
+prohibited by law if you do not accept this License. Therefore, by
+modifying or distributing the Program (or any work based on the
+Program), you indicate your acceptance of this License to do so, and
+all its terms and conditions for copying, distributing or modifying
+the Program or works based on it.
+
+ 6. Each time you redistribute the Program (or any work based on the
+Program), the recipient automatically receives a license from the
+original licensor to copy, distribute or modify the Program subject to
+these terms and conditions. You may not impose any further
+restrictions on the recipients' exercise of the rights granted herein.
+You are not responsible for enforcing compliance by third parties to
+this License.
+
+ 7. If, as a consequence of a court judgment or allegation of patent
+infringement or for any other reason (not limited to patent issues),
+conditions are imposed on you (whether by court order, agreement or
+otherwise) that contradict the conditions of this License, they do not
+excuse you from the conditions of this License. If you cannot
+distribute so as to satisfy simultaneously your obligations under this
+License and any other pertinent obligations, then as a consequence you
+may not distribute the Program at all. For example, if a patent
+license would not permit royalty-free redistribution of the Program by
+all those who receive copies directly or indirectly through you, then
+the only way you could satisfy both it and this License would be to
+refrain entirely from distribution of the Program.
+
+If any portion of this section is held invalid or unenforceable under
+any particular circumstance, the balance of the section is intended to
+apply and the section as a whole is intended to apply in other
+circumstances.
+
+It is not the purpose of this section to induce you to infringe any
+patents or other property right claims or to contest validity of any
+such claims; this section has the sole purpose of protecting the
+integrity of the free software distribution system, which is
+implemented by public license practices. Many people have made
+generous contributions to the wide range of software distributed
+through that system in reliance on consistent application of that
+system; it is up to the author/donor to decide if he or she is willing
+to distribute software through any other system and a licensee cannot
+impose that choice.
+
+This section is intended to make thoroughly clear what is believed to
+be a consequence of the rest of this License.
+
+ 8. If the distribution and/or use of the Program is restricted in
+certain countries either by patents or by copyrighted interfaces, the
+original copyright holder who places the Program under this License
+may add an explicit geographical distribution limitation excluding
+those countries, so that distribution is permitted only in or among
+countries not thus excluded. In such case, this License incorporates
+the limitation as if written in the body of this License.
+
+ 9. The Free Software Foundation may publish revised and/or new versions
+of the General Public License from time to time. Such new versions will
+be similar in spirit to the present version, but may differ in detail to
+address new problems or concerns.
+
+Each version is given a distinguishing version number. If the Program
+specifies a version number of this License which applies to it and "any
+later version", you have the option of following the terms and conditions
+either of that version or of any later version published by the Free
+Software Foundation. If the Program does not specify a version number of
+this License, you may choose any version ever published by the Free Software
+Foundation.
+
+ 10. If you wish to incorporate parts of the Program into other free
+programs whose distribution conditions are different, write to the author
+to ask for permission. For software which is copyrighted by the Free
+Software Foundation, write to the Free Software Foundation; we sometimes
+make exceptions for this. Our decision will be guided by the two goals
+of preserving the free status of all derivatives of our free software and
+of promoting the sharing and reuse of software generally.
+
+ NO WARRANTY
+
+ 11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY
+FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN
+OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES
+PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED
+OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
+MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS
+TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE
+PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING,
+REPAIR OR CORRECTION.
+
+ 12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
+WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR
+REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES,
+INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING
+OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED
+TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY
+YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER
+PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE
+POSSIBILITY OF SUCH DAMAGES.
+
+ END OF TERMS AND CONDITIONS
+
+ How to Apply These Terms to Your New Programs
+
+ If you develop a new program, and you want it to be of the greatest
+possible use to the public, the best way to achieve this is to make it
+free software which everyone can redistribute and change under these terms.
+
+ To do so, attach the following notices to the program. It is safest
+to attach them to the start of each source file to most effectively
+convey the exclusion of warranty; and each file should have at least
+the "copyright" line and a pointer to where the full notice is found.
+
+
+ Copyright (C)
+
+ This program is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 2 of the License, or
+ (at your option) any later version.
+
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License along
+ with this program; if not, write to the Free Software Foundation, Inc.,
+ 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
+
+Also add information on how to contact you by electronic and paper mail.
+
+If the program is interactive, make it output a short notice like this
+when it starts in an interactive mode:
+
+ Gnomovision version 69, Copyright (C) year name of author
+ Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'.
+ This is free software, and you are welcome to redistribute it
+ under certain conditions; type `show c' for details.
+
+The hypothetical commands `show w' and `show c' should show the appropriate
+parts of the General Public License. Of course, the commands you use may
+be called something other than `show w' and `show c'; they could even be
+mouse-clicks or menu items--whatever suits your program.
+
+You should also get your employer (if you work as a programmer) or your
+school, if any, to sign a "copyright disclaimer" for the program, if
+necessary. Here is a sample; alter the names:
+
+ Yoyodyne, Inc., hereby disclaims all copyright interest in the program
+ `Gnomovision' (which makes passes at compilers) written by James Hacker.
+
+ , 1 April 1989
+ Ty Coon, President of Vice
+
+This General Public License does not permit incorporating your program into
+proprietary programs. If your program is a subroutine library, you may
+consider it more useful to permit linking proprietary applications with the
+library. If this is what you want to do, use the GNU Lesser General
+Public License instead of this License.
diff --git a/web/modules/twig_field_value/README.txt b/web/modules/twig_field_value/README.txt
new file mode 100644
index 0000000..de72f17
--- /dev/null
+++ b/web/modules/twig_field_value/README.txt
@@ -0,0 +1,33 @@
+INTRODUCTION
+------------
+
+Twig Field Value allows Drupal themers to print field labels and field values
+individually. It provides two Twig filters one that print a field label and
+one that prints field value(s).
+
+Filters:
+- field_label : Returns the field label value.
+- field_value : Returns the render array of the field value(s) without
+ the field wrappers.
+- field_raw : Returns raw field properties value(s).
+- field_target_entity : Returns the referenced entity object(s) of an entity
+ reference field.
+
+USAGE
+-----
+
+To print the label and value of a field:
+ {{ content.field_name|field_label }} : {{ content.field_name|field_value }}
+
+To print the label and values of a field with multiple values:
+ {{ content.field_name|field_label }} : {{ content.field_name|field_value|safe_join(', ') }}
+
+To print image link and the alt text of an image:
+
+
+The above examples assume that 'content.field_example' is the render array of
+the of a field, as for example in a node template.
+
+AUTHOR
+------
+Erik Stielstra (Sutharsan, https://www.drupal.org/u/sutharsan)
diff --git a/web/modules/twig_field_value/src/Twig/Extension/FieldValueExtension.php b/web/modules/twig_field_value/src/Twig/Extension/FieldValueExtension.php
new file mode 100644
index 0000000..46f73a3
--- /dev/null
+++ b/web/modules/twig_field_value/src/Twig/Extension/FieldValueExtension.php
@@ -0,0 +1,184 @@
+isFieldRenderArray($build)) {
+ return NULL;
+ }
+
+ return isset($build['#title']) ? $build['#title'] : NULL;
+ }
+
+ /**
+ * Twig filter callback: Only return a field's value(s).
+ *
+ * @param $build
+ * Render array of a field.
+ *
+ * @return array
+ * Array of render array(s) of field value(s). If $build is not the render
+ * array of a field, NULL is returned.
+ */
+ public function getFieldValue($build) {
+
+ if (!$this->isFieldRenderArray($build)) {
+ return NULL;
+ }
+
+ if (isset($build['#items'])) {
+ $element = $build['#items'];
+ $items = [];
+ $delta = 0;
+
+ while (!empty($element[$delta])) {
+ $items[$delta] = $build[$delta];
+ $delta++;
+ }
+ return $items;
+ }
+
+ return NULL;
+ }
+
+ /**
+ * Twig filter callback: Return specific field item(s) value.
+ *
+ * @param $build
+ * Render array of a field.
+ * @param string $key
+ * The name of the field value to retrieve.
+ *
+ * @return array|null
+ * Single field value or array of field values. If the field value is not
+ * found, null is returned.
+ */
+ public function getRawValues($build, $key = '') {
+
+ if (!$this->isFieldRenderArray($build)) {
+ return NULL;
+ }
+
+ if (isset($build['#items']) && $build['#items'] instanceof \Drupal\Core\TypedData\TypedDataInterface) {
+ $item_values = $build['#items']->getValue();
+ $raw_values = [];
+
+ if (empty($item_values)) {
+ return NULL;
+ }
+
+ foreach ($item_values as $delta => $values) {
+ if ($key) {
+ $raw_values[$delta] = isset($values[$key]) ? $values[$key] : NULL;
+ }
+ else {
+ $raw_values[$delta] = $values;
+ }
+ }
+
+ return count($raw_values) > 1 ? $raw_values : reset($raw_values);
+ }
+
+ return NULL;
+ }
+
+ /**
+ * Twig filter callback: Return the entity that is referenced by an entity_reference field.
+ *
+ * Suitable for field types: Image, File, Taxonomy, etc.
+ *
+ * @param $build
+ * Render array of a field.
+ *
+ * @return \Drupal\Core\Entity\ContentEntityInterface|\Drupal\Core\Entity\ContentEntityInterface[]|null
+ * A single target entity or an array of target entities. If no target
+ * entity is found, null is returned.
+ */
+ public function getTargetEntity($build) {
+
+ if (!$this->isFieldRenderArray($build)) {
+ return NULL;
+ }
+ if (isset($build['#field_name'])) {
+ $field_name = $build['#field_name'];
+ $entities = [];
+
+ // Determine the key of the parent object. Different field types use
+ // different key names.
+ $options = ['#object', '#field_collection_item'];
+ $parent_key = '';
+ foreach ($options as $option) {
+ if (isset($build[$option])) {
+ $parent_key = $option;
+ break;
+ }
+ }
+
+ // Use the parent object to load the target entity of the field.
+ if ($parent_key) {
+ /** @var \Drupal\Core\Entity\ContentEntityInterface $parent */
+ $parent = $build[$parent_key];
+
+ /** @var \Drupal\Core\Field\FieldItemInterface $field */
+ foreach ($parent->get($field_name) as $item) {
+ if (isset($item->entity)) {
+ $entities[] = $item->entity;
+ }
+ }
+
+ return count($entities) > 1 ? $entities : reset($entities);
+ }
+ }
+
+ return NULL;
+ }
+
+ /**
+ * Checks whether the render array is a field's render array.
+ *
+ * @param $build
+ * The renderable array.
+ *
+ * @return bool
+ * True if $build is a field render array.
+ */
+ protected function isFieldRenderArray($build) {
+
+ return isset($build['#theme']) && $build['#theme'] == 'field';
+ }
+}
diff --git a/web/modules/twig_field_value/tests/src/Unit/FieldValue/FieldRawValueTest.php b/web/modules/twig_field_value/tests/src/Unit/FieldValue/FieldRawValueTest.php
new file mode 100644
index 0000000..dcdd7e6
--- /dev/null
+++ b/web/modules/twig_field_value/tests/src/Unit/FieldValue/FieldRawValueTest.php
@@ -0,0 +1,167 @@
+extension = new FieldValueExtension();
+ }
+
+ /**
+ * Returns a mock FieldItem
+ * @param $values
+ *
+ * @return \Drupal\Core\Field\FieldItemBase
+ */
+ protected function mockFieldItem($values) {
+
+ $field_item = $this->getMockBuilder('Drupal\Core\Field\FieldItemBase')
+ ->disableOriginalConstructor()
+ ->getMock();
+ $field_item->expects($this->any())
+ ->method('getValue')
+ ->will($this->returnValue($values));
+
+ return $field_item;
+ }
+
+ /**
+ * Asserts the twig field_raw filter.
+ *
+ * @dataProvider providerTestRawValues
+ * @covers ::getRawValues
+ *
+ * @param $expected_result
+ * @param $render_array
+ * @param $key
+ */
+ public function testRawValues($expected_result, $render_array, $key) {
+
+ $result = $this->extension->getRawValues($render_array, $key);
+ $this->assertSame($expected_result, $result);
+ }
+
+ /**
+ * Provides data and expected results for the test method.
+ *
+ * @return array
+ * Data and expected results.
+ */
+ public function providerTestRawValues() {
+ return [
+ // Invalid render arrays.
+ [NULL, [], ''],
+ [
+ NULL,
+ ['#theme' => 'field', '#no_items' => []],
+ ''
+ ],
+ [
+ NULL,
+ ['#theme' => 'field', '#items' => []],
+ ''
+ ],
+ [
+ NULL,
+ ['#theme' => 'field', '#items' => $this->mockFieldItem(NULL)],
+ ''
+ ],
+ // Request all values, field with single value.
+ [
+ ['value' => 'text_value'],
+ ['#theme' => 'field', '#items' => $this->mockFieldItem([
+ ['value' => 'text_value']
+ ])],
+ ''
+ ],
+ // Request all values, field with multiple values.
+ [[
+ 'alt' => 'alt_value',
+ 'title' => 'title_value',
+ ],
+ ['#theme' => 'field', '#items' => $this->mockFieldItem([
+ [
+ 'alt' => 'alt_value',
+ 'title' => 'title_value',
+ ]
+ ])],
+ ''
+ ],
+ // Request 'foo', but value not exist.
+ [ NULL,
+ ['#theme' => 'field', '#items' => $this->mockFieldItem([
+ [
+ 'alt' => 'alt_value',
+ 'title' => 'title_value',
+ ]
+ ])],
+ 'foo',
+ ],
+ // Request 'alt' value, field cardinality = 1;
+ [
+ 'alt_value',
+ ['#theme' => 'field', '#items' => $this->mockFieldItem([
+ [
+ 'alt' => 'alt_value',
+ 'title' => 'title_value',
+ ]
+ ])],
+ 'alt'
+ ],
+ // Request all values, field cardinality = 2.
+ [
+ [
+ [
+ 'alt' => 'alt_value_1',
+ 'title' => 'title_value_1',
+ ],
+ [
+ 'alt' => 'alt_value_2',
+ 'title' => 'title_value_2',
+ ]
+ ],
+ ['#theme' => 'field', '#items' => $this->mockFieldItem([
+ [
+ 'alt' => 'alt_value_1',
+ 'title' => 'title_value_1',
+ ],
+ [
+ 'alt' => 'alt_value_2',
+ 'title' => 'title_value_2',
+ ],
+ ])],
+ ''
+ ],
+ // Request 'alt' value, field cardinality = 2.
+ [
+ ['alt_value_1', 'alt_value_2'],
+ ['#theme' => 'field', '#items' => $this->mockFieldItem([
+ [
+ 'alt' => 'alt_value_1',
+ 'title' => 'title_value_1',
+ ],
+ [
+ 'alt' => 'alt_value_2',
+ 'title' => 'title_value_2',
+ ],
+ ])],
+ 'alt'
+ ],
+ ];
+ }
+}
diff --git a/web/modules/twig_field_value/tests/src/Unit/FieldValue/FieldTargetEntityTest.php b/web/modules/twig_field_value/tests/src/Unit/FieldValue/FieldTargetEntityTest.php
new file mode 100644
index 0000000..fb7e777
--- /dev/null
+++ b/web/modules/twig_field_value/tests/src/Unit/FieldValue/FieldTargetEntityTest.php
@@ -0,0 +1,106 @@
+extension = new FieldValueExtension();
+ }
+
+ /**
+ * Returns a mock Content Entity object.
+ *
+ * @param array $referenced_entities
+ *
+ * @return \Drupal\Core\Field\FieldItemBase
+ */
+ protected function mockContentEntity($referenced_entities) {
+ $entities = [];
+
+ // Build the 'entity' objects with a property 'entity' that contains the referenced entity.
+ foreach ($referenced_entities as $referenced_entity) {
+ $entity = new \stdClass();
+ $entity->entity = $referenced_entity;
+ $entities[] = $entity;
+ }
+
+ $field_item = $this->getMockBuilder('Drupal\Core\Entity\ContentEntityBase')
+ ->disableOriginalConstructor()
+ ->getMock();
+ $field_item->expects($this->any())
+ ->method('get')
+ ->will($this->returnValue($entities));
+
+ return $field_item;
+ }
+
+ /**
+ * Asserts the twig field_target_entity filter.
+ *
+ * @dataProvider providerTestTargetEntity
+ * @covers ::getTargetEntity
+ *
+ * @param $expected_result
+ * @param $render_array
+ */
+ public function testTargetEntity($expected_result, $render_array) {
+
+ $result = $this->extension->getTargetEntity($render_array);
+ $this->assertSame($expected_result, $result);
+ }
+
+ /**
+ * Provides data and expected results for the test method.
+ *
+ * @return array
+ * Data and expected results.
+ */
+ public function providerTestTargetEntity() {
+ return [
+ // Invalid render arrays.
+ [NULL, []],
+ [
+ NULL,
+ ['#theme' => 'field', '#no_field_name' => []]
+ ],
+ [
+ NULL,
+ ['#theme' => 'field', '#field_name' => ['reference_field']]
+ ],
+ [
+ 'foo',
+ ['#theme' => 'field', '#field_name' => ['reference_field'], '#object' => $this->mockContentEntity(
+ [ 'foo' ]
+ )]
+ ],
+ [
+ [ 'entity_1', 'entity_2', 'entity_3' ],
+ ['#theme' => 'field', '#field_name' => ['reference_field'], '#object' => $this->mockContentEntity(
+ [ 'entity_1', 'entity_2', 'entity_3' ]
+ )]
+ ],
+ [
+ [ 'entity_1', 'entity_2' ],
+ ['#theme' => 'field', '#field_name' => ['reference_field'], '#field_collection_item' => $this->mockContentEntity(
+ [ 'entity_1', 'entity_2' ]
+ )]
+ ],
+
+ ];
+ }
+}
diff --git a/web/modules/twig_field_value/tests/src/Unit/FieldValue/FieldValueTest.php b/web/modules/twig_field_value/tests/src/Unit/FieldValue/FieldValueTest.php
new file mode 100644
index 0000000..643d6da
--- /dev/null
+++ b/web/modules/twig_field_value/tests/src/Unit/FieldValue/FieldValueTest.php
@@ -0,0 +1,113 @@
+extension = new FieldValueExtension();
+ }
+
+ /**
+ * Asserts the twig extension machine name.
+ *
+ * @covers ::getName
+ */
+ public function testExtensionName() {
+ $name = $this->extension->getName();
+ $this->assertEquals('twig_field_value', $name);
+ }
+
+ /**
+ * Asserts the twig field_label filter.
+ *
+ * @dataProvider providerTestFieldLabel
+ * @covers ::getFieldLabel
+ *
+ * @param $expected_result
+ * @param $render_array
+ */
+ public function testFieldLabel($expected_result, $render_array) {
+ $result = $this->extension->getFieldLabel($render_array);
+ $this->assertSame($expected_result, $result);
+ }
+
+ /**
+ * Provides data and expected results for the test method.
+ *
+ * @return array
+ * Data and expected results.
+ */
+ public function providerTestFieldLabel() {
+ return [
+ [NULL, []],
+ [NULL, ['#title' => 'foo']],
+ [NULL, ['#theme' => 'item_list']],
+ [NULL, ['#theme' => 'field']],
+ ['My title', ['#theme' => 'field', '#title' => 'My title']],
+ ];
+ }
+
+ /**
+ * Asserts the twig field_value filter.
+ *
+ * @dataProvider providerTestFieldValue
+ * @covers ::getFieldValue
+ *
+ * @param $expected_result
+ * @param $render_array
+ */
+ public function testFieldValue($expected_result, $render_array) {
+ $result = $this->extension->getFieldValue($render_array);
+ $this->assertSame($expected_result, $result);
+ }
+
+ /**
+ * Provides data and expected results for the test method.
+ *
+ * @return array
+ * Data and expected results.
+ */
+ public function providerTestFieldValue() {
+ return [
+ [NULL, []],
+ [NULL, ['#items' => 'foo']],
+ [NULL, ['#theme' => 'item_list']],
+ [NULL, ['#theme' => 'field']],
+ [[0 => 'this value'], ['#theme' => 'field', '#items' => [0 => 'dummy'], 0 => 'this value']],
+ [[
+ 0 => 'zero',
+ 1 => 'one',
+ 2 => 'two',
+ 3 => 'three',
+ ],
+ [
+ '#theme' => 'field',
+ '#items' => [
+ 0 => 'dummy',
+ 1 => 'dummy',
+ 2 => 'dummy',
+ 3 => 'dummy',
+ ],
+ 0 => 'zero',
+ 1 => 'one',
+ 2 => 'two',
+ 3 => 'three',
+ ]],
+ ];
+ }
+}
diff --git a/web/modules/twig_field_value/twig_field_value.info.yml b/web/modules/twig_field_value/twig_field_value.info.yml
new file mode 100644
index 0000000..3517968
--- /dev/null
+++ b/web/modules/twig_field_value/twig_field_value.info.yml
@@ -0,0 +1,11 @@
+name: Twig Field Value
+type: module
+description: Twig filters for value(s) and label.
+# core: 8.x
+package: Custom
+
+# Information added by Drupal.org packaging script on 2016-09-16
+version: '8.x-1.1'
+core: '8.x'
+project: 'twig_field_value'
+datestamp: 1474037940
diff --git a/web/modules/twig_field_value/twig_field_value.services.yml b/web/modules/twig_field_value/twig_field_value.services.yml
new file mode 100644
index 0000000..d99d824
--- /dev/null
+++ b/web/modules/twig_field_value/twig_field_value.services.yml
@@ -0,0 +1,5 @@
+services:
+ twig_field_value.twig.extension:
+ class: Drupal\twig_field_value\Twig\Extension\FieldValueExtension
+ tags:
+ - { name: twig.extension }
diff --git a/web/themes/dedrone/.idea/dedrone.iml b/web/themes/dedrone/.idea/dedrone.iml
new file mode 100644
index 0000000..c956989
--- /dev/null
+++ b/web/themes/dedrone/.idea/dedrone.iml
@@ -0,0 +1,8 @@
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/web/themes/dedrone/.idea/misc.xml b/web/themes/dedrone/.idea/misc.xml
new file mode 100644
index 0000000..28a804d
--- /dev/null
+++ b/web/themes/dedrone/.idea/misc.xml
@@ -0,0 +1,6 @@
+
+
+
+
+
+
\ No newline at end of file
diff --git a/web/themes/dedrone/.idea/modules.xml b/web/themes/dedrone/.idea/modules.xml
new file mode 100644
index 0000000..ec35425
--- /dev/null
+++ b/web/themes/dedrone/.idea/modules.xml
@@ -0,0 +1,8 @@
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/web/themes/dedrone/.idea/php.xml b/web/themes/dedrone/.idea/php.xml
new file mode 100644
index 0000000..7534ff6
--- /dev/null
+++ b/web/themes/dedrone/.idea/php.xml
@@ -0,0 +1,10 @@
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/web/themes/dedrone/.idea/vcs.xml b/web/themes/dedrone/.idea/vcs.xml
new file mode 100644
index 0000000..c2365ab
--- /dev/null
+++ b/web/themes/dedrone/.idea/vcs.xml
@@ -0,0 +1,6 @@
+
+
+
+
+
+
\ No newline at end of file
diff --git a/web/themes/dedrone/.idea/workspace.xml b/web/themes/dedrone/.idea/workspace.xml
new file mode 100644
index 0000000..0e15667
--- /dev/null
+++ b/web/themes/dedrone/.idea/workspace.xml
@@ -0,0 +1,758 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ $PROJECT_DIR$/composer.json
+
+
+ $PROJECT_DIR$/../..
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Homepage slider
+ col-sm
+ css_class
+ container
+ testslide
+ slider-wrap
+ with
+
+
+ $PROJECT_DIR$/templates/field
+ $PROJECT_DIR$/templates/paragraph
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ true
+
+
+ $PROJECT_DIR$/gulpfile.js
+
+
+ DEFINITION_ORDER
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 1533836037323
+
+
+ 1533836037323
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ file://$PROJECT_DIR$/dedrone.theme
+ 7
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/web/themes/dedrone/css/styles.css b/web/themes/dedrone/css/styles.css
index e5b3a7a..a7ca12c 100755
--- a/web/themes/dedrone/css/styles.css
+++ b/web/themes/dedrone/css/styles.css
@@ -4,7 +4,7 @@
* Copyright 2011-2018 Twitter, Inc.
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
*/
-@import url("https://fonts.googleapis.com/css?family=Roboto:300,400,500,700,800,900");
+@import url("https://fonts.googleapis.com/css?family=Roboto:100,200,300,400,500,700,800,900");
:root {
--blue: #007bff;
--indigo: #6610f2;
@@ -6851,13 +6851,57 @@ td,
th {
padding: 0; }
+h1 {
+ font-size: 40px;
+ line-height: 45px;
+ letter-spacing: 0;
+ font-weight: 300;
+ color: #111; }
+ @media (max-width: 479px) {
+ h1 {
+ font-size: 32px;
+ line-height: 36px; } }
+
+h2 {
+ font-size: 20px;
+ line-height: 24px;
+ letter-spacing: 0;
+ font-weight: 300;
+ color: #111; }
+ @media (max-width: 479px) {
+ h2 {
+ font-size: 18px; } }
+
+p {
+ font-size: 16px;
+ line-height: 24px;
+ letter-spacing: 0;
+ font-weight: 300;
+ color: #111; }
+
+a {
+ font-weight: 400;
+ color: #009ee3; }
+
body {
background-color: #fff;
- font-size: 14px;
+ font-size: 16px;
font-weight: 400;
font-family: "Roboto", sans-serif;
color: #818181; }
+h1, h2, h3, h4, h5, h6 {
+ font-weight: 300; }
+
+img {
+ display: block;
+ width: 100%;
+ height: auto; }
+
+a {
+ display: inline-block;
+ transition: 0.25s all ease; }
+
.header {
padding-top: 20px;
padding-bottom: 20px;
@@ -6955,3 +6999,32 @@ body {
border-left: 1px solid #808080;
padding-left: 15px;
padding-right: 15px; }
+
+.federal-gov img {
+ width: auto;
+ height: 530px; }
+
+.dedrone-solutions {
+ margin: 100px auto; }
+ .dedrone-solutions .field--name-field-left-column {
+ display: inline-block;
+ float: left; }
+ .dedrone-solutions .field--name-field-right-column {
+ display: inline-block;
+ float: right; }
+
+/* see_it_live */
+.paragraph--type--solutions-federal-see-it-live {
+ padding: 100px 0; }
+ .paragraph--type--solutions-federal-see-it-live .title-wrap {
+ margin-bottom: 20px; }
+ .paragraph--type--solutions-federal-see-it-live .title-wrap h3 {
+ margin: auto;
+ color: #fff; }
+ .paragraph--type--solutions-federal-see-it-live .content-wrap {
+ margin-bottom: 20px; }
+ .paragraph--type--solutions-federal-see-it-live .content-wrap p {
+ color: #fff; }
+ .paragraph--type--solutions-federal-see-it-live a {
+ color: #fff;
+ margin: auto; }
diff --git a/web/themes/dedrone/css/vendors/bootstrap4/bootstrap-grid.css b/web/themes/dedrone/css/vendors/bootstrap4/bootstrap-grid.css
old mode 100644
new mode 100755
diff --git a/web/themes/dedrone/css/vendors/bootstrap4/bootstrap-reboot.css b/web/themes/dedrone/css/vendors/bootstrap4/bootstrap-reboot.css
old mode 100644
new mode 100755
diff --git a/web/themes/dedrone/css/vendors/bootstrap4/bootstrap.css b/web/themes/dedrone/css/vendors/bootstrap4/bootstrap.css
old mode 100644
new mode 100755
diff --git a/web/themes/dedrone/dedrone.theme b/web/themes/dedrone/dedrone.theme
index 60cb7a6..fe234ac 100755
--- a/web/themes/dedrone/dedrone.theme
+++ b/web/themes/dedrone/dedrone.theme
@@ -1,11 +1,11 @@
bundle() == 'image_and_description_simple') {
if ($paragraph->hasField('field_image_position')) {
$position_field = $paragraph->get('field_image_position');
@@ -14,7 +14,8 @@ function dedrone_preprocess_paragraph(&$variables) {
}
}
}
- if ($paragraph->bundle() == 'slider' ) {
+
+ if ($paragraph->bundle() == 'slider' || 'bp_tabs' || 'description_with_buttons' || 'background_description' || 'bp_view' ) {
if ($paragraph->hasField('field_css_class')) {
$css_option = $paragraph->get('field_css_class');
if ($css_option) {
@@ -23,19 +24,44 @@ function dedrone_preprocess_paragraph(&$variables) {
}
}
- if ($paragraph->bundle() == 'bp_tabs' ) {
- if ($paragraph->hasField('field_css_class')) {
- $css_option = $paragraph->get('field_css_class');
+ if ($paragraph->bundle() == 'description_with_button' ) {
+ if ($paragraph->hasField('field_background_color')) {
+ $css_option = $paragraph->get('field_background_color');
if ($css_option) {
- $variables['content']['css_class'] = $css_option->value;
+ $variables['content']['css_background_color'] = $css_option->value;
}
}
}
-// if ($paragraph->bundle() == 'tabs') {
-// $field_name = 'field_tabs';
-// if ($paragraph->hasField('$field_name')) {
-// $tabs_field = $paragraph->get('$field_name');
-//
-// }
-// }
-}
\ No newline at end of file
+
+ /* Background image preprocess:
+ Preprocess for add media image field on paragraph background.
+ Variables:
+ - 'shared_simple_white_title_' - paragraph name
+ - 'field_shared_background_image' - media image field
+ - 'background_image_url' - variable for use image in twig template
+ Example:
+ style = "background:url({{ background_image_url }}) no-repeat center top;" */
+ if ($paragraph->bundle() == 'shared_simple_white_title_')
+ {
+ $image_field = $paragraph->get('field_shared_background_image');
+ if (!$image_field->isEmpty()) {
+ $uri = $image_field->entity->get('field_media_image')->entity->uri->value;
+ $variables['background_image_url'] = file_create_url($uri);
+ }
+ }
+
+ /* Background color preprocess:
+ Variables:
+ - 'shared_aditional_information' - paragraph name
+ - 'field_background_color' - jQuery Colorpicker field
+ - 'background_color' - variable for use image in twig template
+ Example:
+ style = "*/
+ if ($paragraph->bundle() == 'shared_aditional_information')
+ {
+ $color_field = $paragraph->get('field_background_color');
+ if (!$color_field->isEmpty()) {
+ $variables['background_color'] = $color_field->value;
+ }
+ }
+}
diff --git a/web/themes/dedrone/gulpfile.js b/web/themes/dedrone/gulpfile.js
index ab73e11..ac92011 100755
--- a/web/themes/dedrone/gulpfile.js
+++ b/web/themes/dedrone/gulpfile.js
@@ -6,7 +6,7 @@ var sass = require('gulp-sass');
gulp.task('styles', function(){
- gulp.src(['scss/**/*.scss'])
+ return gulp.src(['scss/**/*.scss'])
.pipe(plumber({
errorHandler: function (error) {
console.log(error.message);
@@ -19,5 +19,5 @@ gulp.task('styles', function(){
gulp.task('default', function(){
- gulp.watch("scss/**/*.scss", ['styles']);
+ gulp.watch("scss/**/*.scss", gulp.series('styles'));
});
\ No newline at end of file
diff --git a/web/themes/dedrone/images/Airbus-logo.png b/web/themes/dedrone/images/Airbus-logo.png
new file mode 100644
index 0000000..7e20cd0
Binary files /dev/null and b/web/themes/dedrone/images/Airbus-logo.png differ
diff --git a/web/themes/dedrone/images/Axis-logo.png b/web/themes/dedrone/images/Axis-logo.png
new file mode 100644
index 0000000..557b8ac
Binary files /dev/null and b/web/themes/dedrone/images/Axis-logo.png differ
diff --git a/web/themes/dedrone/images/dedrone-solutions/federal-gov-bg.png b/web/themes/dedrone/images/dedrone-solutions/federal-gov-bg.png
new file mode 100644
index 0000000..072ff3c
Binary files /dev/null and b/web/themes/dedrone/images/dedrone-solutions/federal-gov-bg.png differ
diff --git a/web/themes/dedrone/images/technology-partners-title-background.jpg b/web/themes/dedrone/images/technology-partners-title-background.jpg
new file mode 100644
index 0000000..49a9e1f
Binary files /dev/null and b/web/themes/dedrone/images/technology-partners-title-background.jpg differ
diff --git a/web/themes/dedrone/images/text_columns_bg.jpg b/web/themes/dedrone/images/text_columns_bg.jpg
new file mode 100644
index 0000000..75a64fc
Binary files /dev/null and b/web/themes/dedrone/images/text_columns_bg.jpg differ
diff --git a/web/themes/dedrone/js/libs/bootstrap/bootstrap.js b/web/themes/dedrone/js/libs/bootstrap/bootstrap.js
new file mode 100644
index 0000000..6d9549d
--- /dev/null
+++ b/web/themes/dedrone/js/libs/bootstrap/bootstrap.js
@@ -0,0 +1,3894 @@
+/*!
+ * Bootstrap v4.0.0 (https://getbootstrap.com)
+ * Copyright 2011-2018 The Bootstrap Authors (https://github.com/twbs/bootstrap/graphs/contributors)
+ * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
+ */
+(function (global, factory) {
+ typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports, require('jquery'), require('popper.js')) :
+ typeof define === 'function' && define.amd ? define(['exports', 'jquery', 'popper.js'], factory) :
+ (factory((global.bootstrap = {}),global.jQuery,global.Popper));
+}(this, (function (exports,$,Popper) { 'use strict';
+
+$ = $ && $.hasOwnProperty('default') ? $['default'] : $;
+Popper = Popper && Popper.hasOwnProperty('default') ? Popper['default'] : Popper;
+
+function _defineProperties(target, props) {
+ for (var i = 0; i < props.length; i++) {
+ var descriptor = props[i];
+ descriptor.enumerable = descriptor.enumerable || false;
+ descriptor.configurable = true;
+ if ("value" in descriptor) descriptor.writable = true;
+ Object.defineProperty(target, descriptor.key, descriptor);
+ }
+}
+
+function _createClass(Constructor, protoProps, staticProps) {
+ if (protoProps) _defineProperties(Constructor.prototype, protoProps);
+ if (staticProps) _defineProperties(Constructor, staticProps);
+ return Constructor;
+}
+
+function _extends() {
+ _extends = Object.assign || function (target) {
+ for (var i = 1; i < arguments.length; i++) {
+ var source = arguments[i];
+
+ for (var key in source) {
+ if (Object.prototype.hasOwnProperty.call(source, key)) {
+ target[key] = source[key];
+ }
+ }
+ }
+
+ return target;
+ };
+
+ return _extends.apply(this, arguments);
+}
+
+function _inheritsLoose(subClass, superClass) {
+ subClass.prototype = Object.create(superClass.prototype);
+ subClass.prototype.constructor = subClass;
+ subClass.__proto__ = superClass;
+}
+
+/**
+ * --------------------------------------------------------------------------
+ * Bootstrap (v4.0.0): util.js
+ * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
+ * --------------------------------------------------------------------------
+ */
+
+var Util = function ($$$1) {
+ /**
+ * ------------------------------------------------------------------------
+ * Private TransitionEnd Helpers
+ * ------------------------------------------------------------------------
+ */
+ var transition = false;
+ var MAX_UID = 1000000; // Shoutout AngusCroll (https://goo.gl/pxwQGp)
+
+ function toType(obj) {
+ return {}.toString.call(obj).match(/\s([a-zA-Z]+)/)[1].toLowerCase();
+ }
+
+ function getSpecialTransitionEndEvent() {
+ return {
+ bindType: transition.end,
+ delegateType: transition.end,
+ handle: function handle(event) {
+ if ($$$1(event.target).is(this)) {
+ return event.handleObj.handler.apply(this, arguments); // eslint-disable-line prefer-rest-params
+ }
+
+ return undefined; // eslint-disable-line no-undefined
+ }
+ };
+ }
+
+ function transitionEndTest() {
+ if (typeof window !== 'undefined' && window.QUnit) {
+ return false;
+ }
+
+ return {
+ end: 'transitionend'
+ };
+ }
+
+ function transitionEndEmulator(duration) {
+ var _this = this;
+
+ var called = false;
+ $$$1(this).one(Util.TRANSITION_END, function () {
+ called = true;
+ });
+ setTimeout(function () {
+ if (!called) {
+ Util.triggerTransitionEnd(_this);
+ }
+ }, duration);
+ return this;
+ }
+
+ function setTransitionEndSupport() {
+ transition = transitionEndTest();
+ $$$1.fn.emulateTransitionEnd = transitionEndEmulator;
+
+ if (Util.supportsTransitionEnd()) {
+ $$$1.event.special[Util.TRANSITION_END] = getSpecialTransitionEndEvent();
+ }
+ }
+
+ function escapeId(selector) {
+ // We escape IDs in case of special selectors (selector = '#myId:something')
+ // $.escapeSelector does not exist in jQuery < 3
+ selector = typeof $$$1.escapeSelector === 'function' ? $$$1.escapeSelector(selector).substr(1) : selector.replace(/(:|\.|\[|\]|,|=|@)/g, '\\$1');
+ return selector;
+ }
+ /**
+ * --------------------------------------------------------------------------
+ * Public Util Api
+ * --------------------------------------------------------------------------
+ */
+
+
+ var Util = {
+ TRANSITION_END: 'bsTransitionEnd',
+ getUID: function getUID(prefix) {
+ do {
+ // eslint-disable-next-line no-bitwise
+ prefix += ~~(Math.random() * MAX_UID); // "~~" acts like a faster Math.floor() here
+ } while (document.getElementById(prefix));
+
+ return prefix;
+ },
+ getSelectorFromElement: function getSelectorFromElement(element) {
+ var selector = element.getAttribute('data-target');
+
+ if (!selector || selector === '#') {
+ selector = element.getAttribute('href') || '';
+ } // If it's an ID
+
+
+ if (selector.charAt(0) === '#') {
+ selector = escapeId(selector);
+ }
+
+ try {
+ var $selector = $$$1(document).find(selector);
+ return $selector.length > 0 ? selector : null;
+ } catch (err) {
+ return null;
+ }
+ },
+ reflow: function reflow(element) {
+ return element.offsetHeight;
+ },
+ triggerTransitionEnd: function triggerTransitionEnd(element) {
+ $$$1(element).trigger(transition.end);
+ },
+ supportsTransitionEnd: function supportsTransitionEnd() {
+ return Boolean(transition);
+ },
+ isElement: function isElement(obj) {
+ return (obj[0] || obj).nodeType;
+ },
+ typeCheckConfig: function typeCheckConfig(componentName, config, configTypes) {
+ for (var property in configTypes) {
+ if (Object.prototype.hasOwnProperty.call(configTypes, property)) {
+ var expectedTypes = configTypes[property];
+ var value = config[property];
+ var valueType = value && Util.isElement(value) ? 'element' : toType(value);
+
+ if (!new RegExp(expectedTypes).test(valueType)) {
+ throw new Error(componentName.toUpperCase() + ": " + ("Option \"" + property + "\" provided type \"" + valueType + "\" ") + ("but expected type \"" + expectedTypes + "\"."));
+ }
+ }
+ }
+ }
+ };
+ setTransitionEndSupport();
+ return Util;
+}($);
+
+/**
+ * --------------------------------------------------------------------------
+ * Bootstrap (v4.0.0): alert.js
+ * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
+ * --------------------------------------------------------------------------
+ */
+
+var Alert = function ($$$1) {
+ /**
+ * ------------------------------------------------------------------------
+ * Constants
+ * ------------------------------------------------------------------------
+ */
+ var NAME = 'alert';
+ var VERSION = '4.0.0';
+ var DATA_KEY = 'bs.alert';
+ var EVENT_KEY = "." + DATA_KEY;
+ var DATA_API_KEY = '.data-api';
+ var JQUERY_NO_CONFLICT = $$$1.fn[NAME];
+ var TRANSITION_DURATION = 150;
+ var Selector = {
+ DISMISS: '[data-dismiss="alert"]'
+ };
+ var Event = {
+ CLOSE: "close" + EVENT_KEY,
+ CLOSED: "closed" + EVENT_KEY,
+ CLICK_DATA_API: "click" + EVENT_KEY + DATA_API_KEY
+ };
+ var ClassName = {
+ ALERT: 'alert',
+ FADE: 'fade',
+ SHOW: 'show'
+ /**
+ * ------------------------------------------------------------------------
+ * Class Definition
+ * ------------------------------------------------------------------------
+ */
+
+ };
+
+ var Alert =
+ /*#__PURE__*/
+ function () {
+ function Alert(element) {
+ this._element = element;
+ } // Getters
+
+
+ var _proto = Alert.prototype;
+
+ // Public
+ _proto.close = function close(element) {
+ element = element || this._element;
+
+ var rootElement = this._getRootElement(element);
+
+ var customEvent = this._triggerCloseEvent(rootElement);
+
+ if (customEvent.isDefaultPrevented()) {
+ return;
+ }
+
+ this._removeElement(rootElement);
+ };
+
+ _proto.dispose = function dispose() {
+ $$$1.removeData(this._element, DATA_KEY);
+ this._element = null;
+ }; // Private
+
+
+ _proto._getRootElement = function _getRootElement(element) {
+ var selector = Util.getSelectorFromElement(element);
+ var parent = false;
+
+ if (selector) {
+ parent = $$$1(selector)[0];
+ }
+
+ if (!parent) {
+ parent = $$$1(element).closest("." + ClassName.ALERT)[0];
+ }
+
+ return parent;
+ };
+
+ _proto._triggerCloseEvent = function _triggerCloseEvent(element) {
+ var closeEvent = $$$1.Event(Event.CLOSE);
+ $$$1(element).trigger(closeEvent);
+ return closeEvent;
+ };
+
+ _proto._removeElement = function _removeElement(element) {
+ var _this = this;
+
+ $$$1(element).removeClass(ClassName.SHOW);
+
+ if (!Util.supportsTransitionEnd() || !$$$1(element).hasClass(ClassName.FADE)) {
+ this._destroyElement(element);
+
+ return;
+ }
+
+ $$$1(element).one(Util.TRANSITION_END, function (event) {
+ return _this._destroyElement(element, event);
+ }).emulateTransitionEnd(TRANSITION_DURATION);
+ };
+
+ _proto._destroyElement = function _destroyElement(element) {
+ $$$1(element).detach().trigger(Event.CLOSED).remove();
+ }; // Static
+
+
+ Alert._jQueryInterface = function _jQueryInterface(config) {
+ return this.each(function () {
+ var $element = $$$1(this);
+ var data = $element.data(DATA_KEY);
+
+ if (!data) {
+ data = new Alert(this);
+ $element.data(DATA_KEY, data);
+ }
+
+ if (config === 'close') {
+ data[config](this);
+ }
+ });
+ };
+
+ Alert._handleDismiss = function _handleDismiss(alertInstance) {
+ return function (event) {
+ if (event) {
+ event.preventDefault();
+ }
+
+ alertInstance.close(this);
+ };
+ };
+
+ _createClass(Alert, null, [{
+ key: "VERSION",
+ get: function get() {
+ return VERSION;
+ }
+ }]);
+ return Alert;
+ }();
+ /**
+ * ------------------------------------------------------------------------
+ * Data Api implementation
+ * ------------------------------------------------------------------------
+ */
+
+
+ $$$1(document).on(Event.CLICK_DATA_API, Selector.DISMISS, Alert._handleDismiss(new Alert()));
+ /**
+ * ------------------------------------------------------------------------
+ * jQuery
+ * ------------------------------------------------------------------------
+ */
+
+ $$$1.fn[NAME] = Alert._jQueryInterface;
+ $$$1.fn[NAME].Constructor = Alert;
+
+ $$$1.fn[NAME].noConflict = function () {
+ $$$1.fn[NAME] = JQUERY_NO_CONFLICT;
+ return Alert._jQueryInterface;
+ };
+
+ return Alert;
+}($);
+
+/**
+ * --------------------------------------------------------------------------
+ * Bootstrap (v4.0.0): button.js
+ * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
+ * --------------------------------------------------------------------------
+ */
+
+var Button = function ($$$1) {
+ /**
+ * ------------------------------------------------------------------------
+ * Constants
+ * ------------------------------------------------------------------------
+ */
+ var NAME = 'button';
+ var VERSION = '4.0.0';
+ var DATA_KEY = 'bs.button';
+ var EVENT_KEY = "." + DATA_KEY;
+ var DATA_API_KEY = '.data-api';
+ var JQUERY_NO_CONFLICT = $$$1.fn[NAME];
+ var ClassName = {
+ ACTIVE: 'active',
+ BUTTON: 'btn',
+ FOCUS: 'focus'
+ };
+ var Selector = {
+ DATA_TOGGLE_CARROT: '[data-toggle^="button"]',
+ DATA_TOGGLE: '[data-toggle="buttons"]',
+ INPUT: 'input',
+ ACTIVE: '.active',
+ BUTTON: '.btn'
+ };
+ var Event = {
+ CLICK_DATA_API: "click" + EVENT_KEY + DATA_API_KEY,
+ FOCUS_BLUR_DATA_API: "focus" + EVENT_KEY + DATA_API_KEY + " " + ("blur" + EVENT_KEY + DATA_API_KEY)
+ /**
+ * ------------------------------------------------------------------------
+ * Class Definition
+ * ------------------------------------------------------------------------
+ */
+
+ };
+
+ var Button =
+ /*#__PURE__*/
+ function () {
+ function Button(element) {
+ this._element = element;
+ } // Getters
+
+
+ var _proto = Button.prototype;
+
+ // Public
+ _proto.toggle = function toggle() {
+ var triggerChangeEvent = true;
+ var addAriaPressed = true;
+ var rootElement = $$$1(this._element).closest(Selector.DATA_TOGGLE)[0];
+
+ if (rootElement) {
+ var input = $$$1(this._element).find(Selector.INPUT)[0];
+
+ if (input) {
+ if (input.type === 'radio') {
+ if (input.checked && $$$1(this._element).hasClass(ClassName.ACTIVE)) {
+ triggerChangeEvent = false;
+ } else {
+ var activeElement = $$$1(rootElement).find(Selector.ACTIVE)[0];
+
+ if (activeElement) {
+ $$$1(activeElement).removeClass(ClassName.ACTIVE);
+ }
+ }
+ }
+
+ if (triggerChangeEvent) {
+ if (input.hasAttribute('disabled') || rootElement.hasAttribute('disabled') || input.classList.contains('disabled') || rootElement.classList.contains('disabled')) {
+ return;
+ }
+
+ input.checked = !$$$1(this._element).hasClass(ClassName.ACTIVE);
+ $$$1(input).trigger('change');
+ }
+
+ input.focus();
+ addAriaPressed = false;
+ }
+ }
+
+ if (addAriaPressed) {
+ this._element.setAttribute('aria-pressed', !$$$1(this._element).hasClass(ClassName.ACTIVE));
+ }
+
+ if (triggerChangeEvent) {
+ $$$1(this._element).toggleClass(ClassName.ACTIVE);
+ }
+ };
+
+ _proto.dispose = function dispose() {
+ $$$1.removeData(this._element, DATA_KEY);
+ this._element = null;
+ }; // Static
+
+
+ Button._jQueryInterface = function _jQueryInterface(config) {
+ return this.each(function () {
+ var data = $$$1(this).data(DATA_KEY);
+
+ if (!data) {
+ data = new Button(this);
+ $$$1(this).data(DATA_KEY, data);
+ }
+
+ if (config === 'toggle') {
+ data[config]();
+ }
+ });
+ };
+
+ _createClass(Button, null, [{
+ key: "VERSION",
+ get: function get() {
+ return VERSION;
+ }
+ }]);
+ return Button;
+ }();
+ /**
+ * ------------------------------------------------------------------------
+ * Data Api implementation
+ * ------------------------------------------------------------------------
+ */
+
+
+ $$$1(document).on(Event.CLICK_DATA_API, Selector.DATA_TOGGLE_CARROT, function (event) {
+ event.preventDefault();
+ var button = event.target;
+
+ if (!$$$1(button).hasClass(ClassName.BUTTON)) {
+ button = $$$1(button).closest(Selector.BUTTON);
+ }
+
+ Button._jQueryInterface.call($$$1(button), 'toggle');
+ }).on(Event.FOCUS_BLUR_DATA_API, Selector.DATA_TOGGLE_CARROT, function (event) {
+ var button = $$$1(event.target).closest(Selector.BUTTON)[0];
+ $$$1(button).toggleClass(ClassName.FOCUS, /^focus(in)?$/.test(event.type));
+ });
+ /**
+ * ------------------------------------------------------------------------
+ * jQuery
+ * ------------------------------------------------------------------------
+ */
+
+ $$$1.fn[NAME] = Button._jQueryInterface;
+ $$$1.fn[NAME].Constructor = Button;
+
+ $$$1.fn[NAME].noConflict = function () {
+ $$$1.fn[NAME] = JQUERY_NO_CONFLICT;
+ return Button._jQueryInterface;
+ };
+
+ return Button;
+}($);
+
+/**
+ * --------------------------------------------------------------------------
+ * Bootstrap (v4.0.0): carousel.js
+ * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
+ * --------------------------------------------------------------------------
+ */
+
+var Carousel = function ($$$1) {
+ /**
+ * ------------------------------------------------------------------------
+ * Constants
+ * ------------------------------------------------------------------------
+ */
+ var NAME = 'carousel';
+ var VERSION = '4.0.0';
+ var DATA_KEY = 'bs.carousel';
+ var EVENT_KEY = "." + DATA_KEY;
+ var DATA_API_KEY = '.data-api';
+ var JQUERY_NO_CONFLICT = $$$1.fn[NAME];
+ var TRANSITION_DURATION = 600;
+ var ARROW_LEFT_KEYCODE = 37; // KeyboardEvent.which value for left arrow key
+
+ var ARROW_RIGHT_KEYCODE = 39; // KeyboardEvent.which value for right arrow key
+
+ var TOUCHEVENT_COMPAT_WAIT = 500; // Time for mouse compat events to fire after touch
+
+ var Default = {
+ interval: 5000,
+ keyboard: true,
+ slide: false,
+ pause: 'hover',
+ wrap: true
+ };
+ var DefaultType = {
+ interval: '(number|boolean)',
+ keyboard: 'boolean',
+ slide: '(boolean|string)',
+ pause: '(string|boolean)',
+ wrap: 'boolean'
+ };
+ var Direction = {
+ NEXT: 'next',
+ PREV: 'prev',
+ LEFT: 'left',
+ RIGHT: 'right'
+ };
+ var Event = {
+ SLIDE: "slide" + EVENT_KEY,
+ SLID: "slid" + EVENT_KEY,
+ KEYDOWN: "keydown" + EVENT_KEY,
+ MOUSEENTER: "mouseenter" + EVENT_KEY,
+ MOUSELEAVE: "mouseleave" + EVENT_KEY,
+ TOUCHEND: "touchend" + EVENT_KEY,
+ LOAD_DATA_API: "load" + EVENT_KEY + DATA_API_KEY,
+ CLICK_DATA_API: "click" + EVENT_KEY + DATA_API_KEY
+ };
+ var ClassName = {
+ CAROUSEL: 'carousel',
+ ACTIVE: 'active',
+ SLIDE: 'slide',
+ RIGHT: 'carousel-item-right',
+ LEFT: 'carousel-item-left',
+ NEXT: 'carousel-item-next',
+ PREV: 'carousel-item-prev',
+ ITEM: 'carousel-item'
+ };
+ var Selector = {
+ ACTIVE: '.active',
+ ACTIVE_ITEM: '.active.carousel-item',
+ ITEM: '.carousel-item',
+ NEXT_PREV: '.carousel-item-next, .carousel-item-prev',
+ INDICATORS: '.carousel-indicators',
+ DATA_SLIDE: '[data-slide], [data-slide-to]',
+ DATA_RIDE: '[data-ride="carousel"]'
+ /**
+ * ------------------------------------------------------------------------
+ * Class Definition
+ * ------------------------------------------------------------------------
+ */
+
+ };
+
+ var Carousel =
+ /*#__PURE__*/
+ function () {
+ function Carousel(element, config) {
+ this._items = null;
+ this._interval = null;
+ this._activeElement = null;
+ this._isPaused = false;
+ this._isSliding = false;
+ this.touchTimeout = null;
+ this._config = this._getConfig(config);
+ this._element = $$$1(element)[0];
+ this._indicatorsElement = $$$1(this._element).find(Selector.INDICATORS)[0];
+
+ this._addEventListeners();
+ } // Getters
+
+
+ var _proto = Carousel.prototype;
+
+ // Public
+ _proto.next = function next() {
+ if (!this._isSliding) {
+ this._slide(Direction.NEXT);
+ }
+ };
+
+ _proto.nextWhenVisible = function nextWhenVisible() {
+ // Don't call next when the page isn't visible
+ // or the carousel or its parent isn't visible
+ if (!document.hidden && $$$1(this._element).is(':visible') && $$$1(this._element).css('visibility') !== 'hidden') {
+ this.next();
+ }
+ };
+
+ _proto.prev = function prev() {
+ if (!this._isSliding) {
+ this._slide(Direction.PREV);
+ }
+ };
+
+ _proto.pause = function pause(event) {
+ if (!event) {
+ this._isPaused = true;
+ }
+
+ if ($$$1(this._element).find(Selector.NEXT_PREV)[0] && Util.supportsTransitionEnd()) {
+ Util.triggerTransitionEnd(this._element);
+ this.cycle(true);
+ }
+
+ clearInterval(this._interval);
+ this._interval = null;
+ };
+
+ _proto.cycle = function cycle(event) {
+ if (!event) {
+ this._isPaused = false;
+ }
+
+ if (this._interval) {
+ clearInterval(this._interval);
+ this._interval = null;
+ }
+
+ if (this._config.interval && !this._isPaused) {
+ this._interval = setInterval((document.visibilityState ? this.nextWhenVisible : this.next).bind(this), this._config.interval);
+ }
+ };
+
+ _proto.to = function to(index) {
+ var _this = this;
+
+ this._activeElement = $$$1(this._element).find(Selector.ACTIVE_ITEM)[0];
+
+ var activeIndex = this._getItemIndex(this._activeElement);
+
+ if (index > this._items.length - 1 || index < 0) {
+ return;
+ }
+
+ if (this._isSliding) {
+ $$$1(this._element).one(Event.SLID, function () {
+ return _this.to(index);
+ });
+ return;
+ }
+
+ if (activeIndex === index) {
+ this.pause();
+ this.cycle();
+ return;
+ }
+
+ var direction = index > activeIndex ? Direction.NEXT : Direction.PREV;
+
+ this._slide(direction, this._items[index]);
+ };
+
+ _proto.dispose = function dispose() {
+ $$$1(this._element).off(EVENT_KEY);
+ $$$1.removeData(this._element, DATA_KEY);
+ this._items = null;
+ this._config = null;
+ this._element = null;
+ this._interval = null;
+ this._isPaused = null;
+ this._isSliding = null;
+ this._activeElement = null;
+ this._indicatorsElement = null;
+ }; // Private
+
+
+ _proto._getConfig = function _getConfig(config) {
+ config = _extends({}, Default, config);
+ Util.typeCheckConfig(NAME, config, DefaultType);
+ return config;
+ };
+
+ _proto._addEventListeners = function _addEventListeners() {
+ var _this2 = this;
+
+ if (this._config.keyboard) {
+ $$$1(this._element).on(Event.KEYDOWN, function (event) {
+ return _this2._keydown(event);
+ });
+ }
+
+ if (this._config.pause === 'hover') {
+ $$$1(this._element).on(Event.MOUSEENTER, function (event) {
+ return _this2.pause(event);
+ }).on(Event.MOUSELEAVE, function (event) {
+ return _this2.cycle(event);
+ });
+
+ if ('ontouchstart' in document.documentElement) {
+ // If it's a touch-enabled device, mouseenter/leave are fired as
+ // part of the mouse compatibility events on first tap - the carousel
+ // would stop cycling until user tapped out of it;
+ // here, we listen for touchend, explicitly pause the carousel
+ // (as if it's the second time we tap on it, mouseenter compat event
+ // is NOT fired) and after a timeout (to allow for mouse compatibility
+ // events to fire) we explicitly restart cycling
+ $$$1(this._element).on(Event.TOUCHEND, function () {
+ _this2.pause();
+
+ if (_this2.touchTimeout) {
+ clearTimeout(_this2.touchTimeout);
+ }
+
+ _this2.touchTimeout = setTimeout(function (event) {
+ return _this2.cycle(event);
+ }, TOUCHEVENT_COMPAT_WAIT + _this2._config.interval);
+ });
+ }
+ }
+ };
+
+ _proto._keydown = function _keydown(event) {
+ if (/input|textarea/i.test(event.target.tagName)) {
+ return;
+ }
+
+ switch (event.which) {
+ case ARROW_LEFT_KEYCODE:
+ event.preventDefault();
+ this.prev();
+ break;
+
+ case ARROW_RIGHT_KEYCODE:
+ event.preventDefault();
+ this.next();
+ break;
+
+ default:
+ }
+ };
+
+ _proto._getItemIndex = function _getItemIndex(element) {
+ this._items = $$$1.makeArray($$$1(element).parent().find(Selector.ITEM));
+ return this._items.indexOf(element);
+ };
+
+ _proto._getItemByDirection = function _getItemByDirection(direction, activeElement) {
+ var isNextDirection = direction === Direction.NEXT;
+ var isPrevDirection = direction === Direction.PREV;
+
+ var activeIndex = this._getItemIndex(activeElement);
+
+ var lastItemIndex = this._items.length - 1;
+ var isGoingToWrap = isPrevDirection && activeIndex === 0 || isNextDirection && activeIndex === lastItemIndex;
+
+ if (isGoingToWrap && !this._config.wrap) {
+ return activeElement;
+ }
+
+ var delta = direction === Direction.PREV ? -1 : 1;
+ var itemIndex = (activeIndex + delta) % this._items.length;
+ return itemIndex === -1 ? this._items[this._items.length - 1] : this._items[itemIndex];
+ };
+
+ _proto._triggerSlideEvent = function _triggerSlideEvent(relatedTarget, eventDirectionName) {
+ var targetIndex = this._getItemIndex(relatedTarget);
+
+ var fromIndex = this._getItemIndex($$$1(this._element).find(Selector.ACTIVE_ITEM)[0]);
+
+ var slideEvent = $$$1.Event(Event.SLIDE, {
+ relatedTarget: relatedTarget,
+ direction: eventDirectionName,
+ from: fromIndex,
+ to: targetIndex
+ });
+ $$$1(this._element).trigger(slideEvent);
+ return slideEvent;
+ };
+
+ _proto._setActiveIndicatorElement = function _setActiveIndicatorElement(element) {
+ if (this._indicatorsElement) {
+ $$$1(this._indicatorsElement).find(Selector.ACTIVE).removeClass(ClassName.ACTIVE);
+
+ var nextIndicator = this._indicatorsElement.children[this._getItemIndex(element)];
+
+ if (nextIndicator) {
+ $$$1(nextIndicator).addClass(ClassName.ACTIVE);
+ }
+ }
+ };
+
+ _proto._slide = function _slide(direction, element) {
+ var _this3 = this;
+
+ var activeElement = $$$1(this._element).find(Selector.ACTIVE_ITEM)[0];
+
+ var activeElementIndex = this._getItemIndex(activeElement);
+
+ var nextElement = element || activeElement && this._getItemByDirection(direction, activeElement);
+
+ var nextElementIndex = this._getItemIndex(nextElement);
+
+ var isCycling = Boolean(this._interval);
+ var directionalClassName;
+ var orderClassName;
+ var eventDirectionName;
+
+ if (direction === Direction.NEXT) {
+ directionalClassName = ClassName.LEFT;
+ orderClassName = ClassName.NEXT;
+ eventDirectionName = Direction.LEFT;
+ } else {
+ directionalClassName = ClassName.RIGHT;
+ orderClassName = ClassName.PREV;
+ eventDirectionName = Direction.RIGHT;
+ }
+
+ if (nextElement && $$$1(nextElement).hasClass(ClassName.ACTIVE)) {
+ this._isSliding = false;
+ return;
+ }
+
+ var slideEvent = this._triggerSlideEvent(nextElement, eventDirectionName);
+
+ if (slideEvent.isDefaultPrevented()) {
+ return;
+ }
+
+ if (!activeElement || !nextElement) {
+ // Some weirdness is happening, so we bail
+ return;
+ }
+
+ this._isSliding = true;
+
+ if (isCycling) {
+ this.pause();
+ }
+
+ this._setActiveIndicatorElement(nextElement);
+
+ var slidEvent = $$$1.Event(Event.SLID, {
+ relatedTarget: nextElement,
+ direction: eventDirectionName,
+ from: activeElementIndex,
+ to: nextElementIndex
+ });
+
+ if (Util.supportsTransitionEnd() && $$$1(this._element).hasClass(ClassName.SLIDE)) {
+ $$$1(nextElement).addClass(orderClassName);
+ Util.reflow(nextElement);
+ $$$1(activeElement).addClass(directionalClassName);
+ $$$1(nextElement).addClass(directionalClassName);
+ $$$1(activeElement).one(Util.TRANSITION_END, function () {
+ $$$1(nextElement).removeClass(directionalClassName + " " + orderClassName).addClass(ClassName.ACTIVE);
+ $$$1(activeElement).removeClass(ClassName.ACTIVE + " " + orderClassName + " " + directionalClassName);
+ _this3._isSliding = false;
+ setTimeout(function () {
+ return $$$1(_this3._element).trigger(slidEvent);
+ }, 0);
+ }).emulateTransitionEnd(TRANSITION_DURATION);
+ } else {
+ $$$1(activeElement).removeClass(ClassName.ACTIVE);
+ $$$1(nextElement).addClass(ClassName.ACTIVE);
+ this._isSliding = false;
+ $$$1(this._element).trigger(slidEvent);
+ }
+
+ if (isCycling) {
+ this.cycle();
+ }
+ }; // Static
+
+
+ Carousel._jQueryInterface = function _jQueryInterface(config) {
+ return this.each(function () {
+ var data = $$$1(this).data(DATA_KEY);
+
+ var _config = _extends({}, Default, $$$1(this).data());
+
+ if (typeof config === 'object') {
+ _config = _extends({}, _config, config);
+ }
+
+ var action = typeof config === 'string' ? config : _config.slide;
+
+ if (!data) {
+ data = new Carousel(this, _config);
+ $$$1(this).data(DATA_KEY, data);
+ }
+
+ if (typeof config === 'number') {
+ data.to(config);
+ } else if (typeof action === 'string') {
+ if (typeof data[action] === 'undefined') {
+ throw new TypeError("No method named \"" + action + "\"");
+ }
+
+ data[action]();
+ } else if (_config.interval) {
+ data.pause();
+ data.cycle();
+ }
+ });
+ };
+
+ Carousel._dataApiClickHandler = function _dataApiClickHandler(event) {
+ var selector = Util.getSelectorFromElement(this);
+
+ if (!selector) {
+ return;
+ }
+
+ var target = $$$1(selector)[0];
+
+ if (!target || !$$$1(target).hasClass(ClassName.CAROUSEL)) {
+ return;
+ }
+
+ var config = _extends({}, $$$1(target).data(), $$$1(this).data());
+ var slideIndex = this.getAttribute('data-slide-to');
+
+ if (slideIndex) {
+ config.interval = false;
+ }
+
+ Carousel._jQueryInterface.call($$$1(target), config);
+
+ if (slideIndex) {
+ $$$1(target).data(DATA_KEY).to(slideIndex);
+ }
+
+ event.preventDefault();
+ };
+
+ _createClass(Carousel, null, [{
+ key: "VERSION",
+ get: function get() {
+ return VERSION;
+ }
+ }, {
+ key: "Default",
+ get: function get() {
+ return Default;
+ }
+ }]);
+ return Carousel;
+ }();
+ /**
+ * ------------------------------------------------------------------------
+ * Data Api implementation
+ * ------------------------------------------------------------------------
+ */
+
+
+ $$$1(document).on(Event.CLICK_DATA_API, Selector.DATA_SLIDE, Carousel._dataApiClickHandler);
+ $$$1(window).on(Event.LOAD_DATA_API, function () {
+ $$$1(Selector.DATA_RIDE).each(function () {
+ var $carousel = $$$1(this);
+
+ Carousel._jQueryInterface.call($carousel, $carousel.data());
+ });
+ });
+ /**
+ * ------------------------------------------------------------------------
+ * jQuery
+ * ------------------------------------------------------------------------
+ */
+
+ $$$1.fn[NAME] = Carousel._jQueryInterface;
+ $$$1.fn[NAME].Constructor = Carousel;
+
+ $$$1.fn[NAME].noConflict = function () {
+ $$$1.fn[NAME] = JQUERY_NO_CONFLICT;
+ return Carousel._jQueryInterface;
+ };
+
+ return Carousel;
+}($);
+
+/**
+ * --------------------------------------------------------------------------
+ * Bootstrap (v4.0.0): collapse.js
+ * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
+ * --------------------------------------------------------------------------
+ */
+
+var Collapse = function ($$$1) {
+ /**
+ * ------------------------------------------------------------------------
+ * Constants
+ * ------------------------------------------------------------------------
+ */
+ var NAME = 'collapse';
+ var VERSION = '4.0.0';
+ var DATA_KEY = 'bs.collapse';
+ var EVENT_KEY = "." + DATA_KEY;
+ var DATA_API_KEY = '.data-api';
+ var JQUERY_NO_CONFLICT = $$$1.fn[NAME];
+ var TRANSITION_DURATION = 600;
+ var Default = {
+ toggle: true,
+ parent: ''
+ };
+ var DefaultType = {
+ toggle: 'boolean',
+ parent: '(string|element)'
+ };
+ var Event = {
+ SHOW: "show" + EVENT_KEY,
+ SHOWN: "shown" + EVENT_KEY,
+ HIDE: "hide" + EVENT_KEY,
+ HIDDEN: "hidden" + EVENT_KEY,
+ CLICK_DATA_API: "click" + EVENT_KEY + DATA_API_KEY
+ };
+ var ClassName = {
+ SHOW: 'show',
+ COLLAPSE: 'collapse',
+ COLLAPSING: 'collapsing',
+ COLLAPSED: 'collapsed'
+ };
+ var Dimension = {
+ WIDTH: 'width',
+ HEIGHT: 'height'
+ };
+ var Selector = {
+ ACTIVES: '.show, .collapsing',
+ DATA_TOGGLE: '[data-toggle="collapse"]'
+ /**
+ * ------------------------------------------------------------------------
+ * Class Definition
+ * ------------------------------------------------------------------------
+ */
+
+ };
+
+ var Collapse =
+ /*#__PURE__*/
+ function () {
+ function Collapse(element, config) {
+ this._isTransitioning = false;
+ this._element = element;
+ this._config = this._getConfig(config);
+ this._triggerArray = $$$1.makeArray($$$1("[data-toggle=\"collapse\"][href=\"#" + element.id + "\"]," + ("[data-toggle=\"collapse\"][data-target=\"#" + element.id + "\"]")));
+ var tabToggles = $$$1(Selector.DATA_TOGGLE);
+
+ for (var i = 0; i < tabToggles.length; i++) {
+ var elem = tabToggles[i];
+ var selector = Util.getSelectorFromElement(elem);
+
+ if (selector !== null && $$$1(selector).filter(element).length > 0) {
+ this._selector = selector;
+
+ this._triggerArray.push(elem);
+ }
+ }
+
+ this._parent = this._config.parent ? this._getParent() : null;
+
+ if (!this._config.parent) {
+ this._addAriaAndCollapsedClass(this._element, this._triggerArray);
+ }
+
+ if (this._config.toggle) {
+ this.toggle();
+ }
+ } // Getters
+
+
+ var _proto = Collapse.prototype;
+
+ // Public
+ _proto.toggle = function toggle() {
+ if ($$$1(this._element).hasClass(ClassName.SHOW)) {
+ this.hide();
+ } else {
+ this.show();
+ }
+ };
+
+ _proto.show = function show() {
+ var _this = this;
+
+ if (this._isTransitioning || $$$1(this._element).hasClass(ClassName.SHOW)) {
+ return;
+ }
+
+ var actives;
+ var activesData;
+
+ if (this._parent) {
+ actives = $$$1.makeArray($$$1(this._parent).find(Selector.ACTIVES).filter("[data-parent=\"" + this._config.parent + "\"]"));
+
+ if (actives.length === 0) {
+ actives = null;
+ }
+ }
+
+ if (actives) {
+ activesData = $$$1(actives).not(this._selector).data(DATA_KEY);
+
+ if (activesData && activesData._isTransitioning) {
+ return;
+ }
+ }
+
+ var startEvent = $$$1.Event(Event.SHOW);
+ $$$1(this._element).trigger(startEvent);
+
+ if (startEvent.isDefaultPrevented()) {
+ return;
+ }
+
+ if (actives) {
+ Collapse._jQueryInterface.call($$$1(actives).not(this._selector), 'hide');
+
+ if (!activesData) {
+ $$$1(actives).data(DATA_KEY, null);
+ }
+ }
+
+ var dimension = this._getDimension();
+
+ $$$1(this._element).removeClass(ClassName.COLLAPSE).addClass(ClassName.COLLAPSING);
+ this._element.style[dimension] = 0;
+
+ if (this._triggerArray.length > 0) {
+ $$$1(this._triggerArray).removeClass(ClassName.COLLAPSED).attr('aria-expanded', true);
+ }
+
+ this.setTransitioning(true);
+
+ var complete = function complete() {
+ $$$1(_this._element).removeClass(ClassName.COLLAPSING).addClass(ClassName.COLLAPSE).addClass(ClassName.SHOW);
+ _this._element.style[dimension] = '';
+
+ _this.setTransitioning(false);
+
+ $$$1(_this._element).trigger(Event.SHOWN);
+ };
+
+ if (!Util.supportsTransitionEnd()) {
+ complete();
+ return;
+ }
+
+ var capitalizedDimension = dimension[0].toUpperCase() + dimension.slice(1);
+ var scrollSize = "scroll" + capitalizedDimension;
+ $$$1(this._element).one(Util.TRANSITION_END, complete).emulateTransitionEnd(TRANSITION_DURATION);
+ this._element.style[dimension] = this._element[scrollSize] + "px";
+ };
+
+ _proto.hide = function hide() {
+ var _this2 = this;
+
+ if (this._isTransitioning || !$$$1(this._element).hasClass(ClassName.SHOW)) {
+ return;
+ }
+
+ var startEvent = $$$1.Event(Event.HIDE);
+ $$$1(this._element).trigger(startEvent);
+
+ if (startEvent.isDefaultPrevented()) {
+ return;
+ }
+
+ var dimension = this._getDimension();
+
+ this._element.style[dimension] = this._element.getBoundingClientRect()[dimension] + "px";
+ Util.reflow(this._element);
+ $$$1(this._element).addClass(ClassName.COLLAPSING).removeClass(ClassName.COLLAPSE).removeClass(ClassName.SHOW);
+
+ if (this._triggerArray.length > 0) {
+ for (var i = 0; i < this._triggerArray.length; i++) {
+ var trigger = this._triggerArray[i];
+ var selector = Util.getSelectorFromElement(trigger);
+
+ if (selector !== null) {
+ var $elem = $$$1(selector);
+
+ if (!$elem.hasClass(ClassName.SHOW)) {
+ $$$1(trigger).addClass(ClassName.COLLAPSED).attr('aria-expanded', false);
+ }
+ }
+ }
+ }
+
+ this.setTransitioning(true);
+
+ var complete = function complete() {
+ _this2.setTransitioning(false);
+
+ $$$1(_this2._element).removeClass(ClassName.COLLAPSING).addClass(ClassName.COLLAPSE).trigger(Event.HIDDEN);
+ };
+
+ this._element.style[dimension] = '';
+
+ if (!Util.supportsTransitionEnd()) {
+ complete();
+ return;
+ }
+
+ $$$1(this._element).one(Util.TRANSITION_END, complete).emulateTransitionEnd(TRANSITION_DURATION);
+ };
+
+ _proto.setTransitioning = function setTransitioning(isTransitioning) {
+ this._isTransitioning = isTransitioning;
+ };
+
+ _proto.dispose = function dispose() {
+ $$$1.removeData(this._element, DATA_KEY);
+ this._config = null;
+ this._parent = null;
+ this._element = null;
+ this._triggerArray = null;
+ this._isTransitioning = null;
+ }; // Private
+
+
+ _proto._getConfig = function _getConfig(config) {
+ config = _extends({}, Default, config);
+ config.toggle = Boolean(config.toggle); // Coerce string values
+
+ Util.typeCheckConfig(NAME, config, DefaultType);
+ return config;
+ };
+
+ _proto._getDimension = function _getDimension() {
+ var hasWidth = $$$1(this._element).hasClass(Dimension.WIDTH);
+ return hasWidth ? Dimension.WIDTH : Dimension.HEIGHT;
+ };
+
+ _proto._getParent = function _getParent() {
+ var _this3 = this;
+
+ var parent = null;
+
+ if (Util.isElement(this._config.parent)) {
+ parent = this._config.parent; // It's a jQuery object
+
+ if (typeof this._config.parent.jquery !== 'undefined') {
+ parent = this._config.parent[0];
+ }
+ } else {
+ parent = $$$1(this._config.parent)[0];
+ }
+
+ var selector = "[data-toggle=\"collapse\"][data-parent=\"" + this._config.parent + "\"]";
+ $$$1(parent).find(selector).each(function (i, element) {
+ _this3._addAriaAndCollapsedClass(Collapse._getTargetFromElement(element), [element]);
+ });
+ return parent;
+ };
+
+ _proto._addAriaAndCollapsedClass = function _addAriaAndCollapsedClass(element, triggerArray) {
+ if (element) {
+ var isOpen = $$$1(element).hasClass(ClassName.SHOW);
+
+ if (triggerArray.length > 0) {
+ $$$1(triggerArray).toggleClass(ClassName.COLLAPSED, !isOpen).attr('aria-expanded', isOpen);
+ }
+ }
+ }; // Static
+
+
+ Collapse._getTargetFromElement = function _getTargetFromElement(element) {
+ var selector = Util.getSelectorFromElement(element);
+ return selector ? $$$1(selector)[0] : null;
+ };
+
+ Collapse._jQueryInterface = function _jQueryInterface(config) {
+ return this.each(function () {
+ var $this = $$$1(this);
+ var data = $this.data(DATA_KEY);
+
+ var _config = _extends({}, Default, $this.data(), typeof config === 'object' && config);
+
+ if (!data && _config.toggle && /show|hide/.test(config)) {
+ _config.toggle = false;
+ }
+
+ if (!data) {
+ data = new Collapse(this, _config);
+ $this.data(DATA_KEY, data);
+ }
+
+ if (typeof config === 'string') {
+ if (typeof data[config] === 'undefined') {
+ throw new TypeError("No method named \"" + config + "\"");
+ }
+
+ data[config]();
+ }
+ });
+ };
+
+ _createClass(Collapse, null, [{
+ key: "VERSION",
+ get: function get() {
+ return VERSION;
+ }
+ }, {
+ key: "Default",
+ get: function get() {
+ return Default;
+ }
+ }]);
+ return Collapse;
+ }();
+ /**
+ * ------------------------------------------------------------------------
+ * Data Api implementation
+ * ------------------------------------------------------------------------
+ */
+
+
+ $$$1(document).on(Event.CLICK_DATA_API, Selector.DATA_TOGGLE, function (event) {
+ // preventDefault only for
elements (which change the URL) not inside the collapsible element
+ if (event.currentTarget.tagName === 'A') {
+ event.preventDefault();
+ }
+
+ var $trigger = $$$1(this);
+ var selector = Util.getSelectorFromElement(this);
+ $$$1(selector).each(function () {
+ var $target = $$$1(this);
+ var data = $target.data(DATA_KEY);
+ var config = data ? 'toggle' : $trigger.data();
+
+ Collapse._jQueryInterface.call($target, config);
+ });
+ });
+ /**
+ * ------------------------------------------------------------------------
+ * jQuery
+ * ------------------------------------------------------------------------
+ */
+
+ $$$1.fn[NAME] = Collapse._jQueryInterface;
+ $$$1.fn[NAME].Constructor = Collapse;
+
+ $$$1.fn[NAME].noConflict = function () {
+ $$$1.fn[NAME] = JQUERY_NO_CONFLICT;
+ return Collapse._jQueryInterface;
+ };
+
+ return Collapse;
+}($);
+
+/**
+ * --------------------------------------------------------------------------
+ * Bootstrap (v4.0.0): dropdown.js
+ * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
+ * --------------------------------------------------------------------------
+ */
+
+var Dropdown = function ($$$1) {
+ /**
+ * ------------------------------------------------------------------------
+ * Constants
+ * ------------------------------------------------------------------------
+ */
+ var NAME = 'dropdown';
+ var VERSION = '4.0.0';
+ var DATA_KEY = 'bs.dropdown';
+ var EVENT_KEY = "." + DATA_KEY;
+ var DATA_API_KEY = '.data-api';
+ var JQUERY_NO_CONFLICT = $$$1.fn[NAME];
+ var ESCAPE_KEYCODE = 27; // KeyboardEvent.which value for Escape (Esc) key
+
+ var SPACE_KEYCODE = 32; // KeyboardEvent.which value for space key
+
+ var TAB_KEYCODE = 9; // KeyboardEvent.which value for tab key
+
+ var ARROW_UP_KEYCODE = 38; // KeyboardEvent.which value for up arrow key
+
+ var ARROW_DOWN_KEYCODE = 40; // KeyboardEvent.which value for down arrow key
+
+ var RIGHT_MOUSE_BUTTON_WHICH = 3; // MouseEvent.which value for the right button (assuming a right-handed mouse)
+
+ var REGEXP_KEYDOWN = new RegExp(ARROW_UP_KEYCODE + "|" + ARROW_DOWN_KEYCODE + "|" + ESCAPE_KEYCODE);
+ var Event = {
+ HIDE: "hide" + EVENT_KEY,
+ HIDDEN: "hidden" + EVENT_KEY,
+ SHOW: "show" + EVENT_KEY,
+ SHOWN: "shown" + EVENT_KEY,
+ CLICK: "click" + EVENT_KEY,
+ CLICK_DATA_API: "click" + EVENT_KEY + DATA_API_KEY,
+ KEYDOWN_DATA_API: "keydown" + EVENT_KEY + DATA_API_KEY,
+ KEYUP_DATA_API: "keyup" + EVENT_KEY + DATA_API_KEY
+ };
+ var ClassName = {
+ DISABLED: 'disabled',
+ SHOW: 'show',
+ DROPUP: 'dropup',
+ DROPRIGHT: 'dropright',
+ DROPLEFT: 'dropleft',
+ MENURIGHT: 'dropdown-menu-right',
+ MENULEFT: 'dropdown-menu-left',
+ POSITION_STATIC: 'position-static'
+ };
+ var Selector = {
+ DATA_TOGGLE: '[data-toggle="dropdown"]',
+ FORM_CHILD: '.dropdown form',
+ MENU: '.dropdown-menu',
+ NAVBAR_NAV: '.navbar-nav',
+ VISIBLE_ITEMS: '.dropdown-menu .dropdown-item:not(.disabled)'
+ };
+ var AttachmentMap = {
+ TOP: 'top-start',
+ TOPEND: 'top-end',
+ BOTTOM: 'bottom-start',
+ BOTTOMEND: 'bottom-end',
+ RIGHT: 'right-start',
+ RIGHTEND: 'right-end',
+ LEFT: 'left-start',
+ LEFTEND: 'left-end'
+ };
+ var Default = {
+ offset: 0,
+ flip: true,
+ boundary: 'scrollParent'
+ };
+ var DefaultType = {
+ offset: '(number|string|function)',
+ flip: 'boolean',
+ boundary: '(string|element)'
+ /**
+ * ------------------------------------------------------------------------
+ * Class Definition
+ * ------------------------------------------------------------------------
+ */
+
+ };
+
+ var Dropdown =
+ /*#__PURE__*/
+ function () {
+ function Dropdown(element, config) {
+ this._element = element;
+ this._popper = null;
+ this._config = this._getConfig(config);
+ this._menu = this._getMenuElement();
+ this._inNavbar = this._detectNavbar();
+
+ this._addEventListeners();
+ } // Getters
+
+
+ var _proto = Dropdown.prototype;
+
+ // Public
+ _proto.toggle = function toggle() {
+ if (this._element.disabled || $$$1(this._element).hasClass(ClassName.DISABLED)) {
+ return;
+ }
+
+ var parent = Dropdown._getParentFromElement(this._element);
+
+ var isActive = $$$1(this._menu).hasClass(ClassName.SHOW);
+
+ Dropdown._clearMenus();
+
+ if (isActive) {
+ return;
+ }
+
+ var relatedTarget = {
+ relatedTarget: this._element
+ };
+ var showEvent = $$$1.Event(Event.SHOW, relatedTarget);
+ $$$1(parent).trigger(showEvent);
+
+ if (showEvent.isDefaultPrevented()) {
+ return;
+ } // Disable totally Popper.js for Dropdown in Navbar
+
+
+ if (!this._inNavbar) {
+ /**
+ * Check for Popper dependency
+ * Popper - https://popper.js.org
+ */
+ if (typeof Popper === 'undefined') {
+ throw new TypeError('Bootstrap dropdown require Popper.js (https://popper.js.org)');
+ }
+
+ var element = this._element; // For dropup with alignment we use the parent as popper container
+
+ if ($$$1(parent).hasClass(ClassName.DROPUP)) {
+ if ($$$1(this._menu).hasClass(ClassName.MENULEFT) || $$$1(this._menu).hasClass(ClassName.MENURIGHT)) {
+ element = parent;
+ }
+ } // If boundary is not `scrollParent`, then set position to `static`
+ // to allow the menu to "escape" the scroll parent's boundaries
+ // https://github.com/twbs/bootstrap/issues/24251
+
+
+ if (this._config.boundary !== 'scrollParent') {
+ $$$1(parent).addClass(ClassName.POSITION_STATIC);
+ }
+
+ this._popper = new Popper(element, this._menu, this._getPopperConfig());
+ } // If this is a touch-enabled device we add extra
+ // empty mouseover listeners to the body's immediate children;
+ // only needed because of broken event delegation on iOS
+ // https://www.quirksmode.org/blog/archives/2014/02/mouse_event_bub.html
+
+
+ if ('ontouchstart' in document.documentElement && $$$1(parent).closest(Selector.NAVBAR_NAV).length === 0) {
+ $$$1('body').children().on('mouseover', null, $$$1.noop);
+ }
+
+ this._element.focus();
+
+ this._element.setAttribute('aria-expanded', true);
+
+ $$$1(this._menu).toggleClass(ClassName.SHOW);
+ $$$1(parent).toggleClass(ClassName.SHOW).trigger($$$1.Event(Event.SHOWN, relatedTarget));
+ };
+
+ _proto.dispose = function dispose() {
+ $$$1.removeData(this._element, DATA_KEY);
+ $$$1(this._element).off(EVENT_KEY);
+ this._element = null;
+ this._menu = null;
+
+ if (this._popper !== null) {
+ this._popper.destroy();
+
+ this._popper = null;
+ }
+ };
+
+ _proto.update = function update() {
+ this._inNavbar = this._detectNavbar();
+
+ if (this._popper !== null) {
+ this._popper.scheduleUpdate();
+ }
+ }; // Private
+
+
+ _proto._addEventListeners = function _addEventListeners() {
+ var _this = this;
+
+ $$$1(this._element).on(Event.CLICK, function (event) {
+ event.preventDefault();
+ event.stopPropagation();
+
+ _this.toggle();
+ });
+ };
+
+ _proto._getConfig = function _getConfig(config) {
+ config = _extends({}, this.constructor.Default, $$$1(this._element).data(), config);
+ Util.typeCheckConfig(NAME, config, this.constructor.DefaultType);
+ return config;
+ };
+
+ _proto._getMenuElement = function _getMenuElement() {
+ if (!this._menu) {
+ var parent = Dropdown._getParentFromElement(this._element);
+
+ this._menu = $$$1(parent).find(Selector.MENU)[0];
+ }
+
+ return this._menu;
+ };
+
+ _proto._getPlacement = function _getPlacement() {
+ var $parentDropdown = $$$1(this._element).parent();
+ var placement = AttachmentMap.BOTTOM; // Handle dropup
+
+ if ($parentDropdown.hasClass(ClassName.DROPUP)) {
+ placement = AttachmentMap.TOP;
+
+ if ($$$1(this._menu).hasClass(ClassName.MENURIGHT)) {
+ placement = AttachmentMap.TOPEND;
+ }
+ } else if ($parentDropdown.hasClass(ClassName.DROPRIGHT)) {
+ placement = AttachmentMap.RIGHT;
+ } else if ($parentDropdown.hasClass(ClassName.DROPLEFT)) {
+ placement = AttachmentMap.LEFT;
+ } else if ($$$1(this._menu).hasClass(ClassName.MENURIGHT)) {
+ placement = AttachmentMap.BOTTOMEND;
+ }
+
+ return placement;
+ };
+
+ _proto._detectNavbar = function _detectNavbar() {
+ return $$$1(this._element).closest('.navbar').length > 0;
+ };
+
+ _proto._getPopperConfig = function _getPopperConfig() {
+ var _this2 = this;
+
+ var offsetConf = {};
+
+ if (typeof this._config.offset === 'function') {
+ offsetConf.fn = function (data) {
+ data.offsets = _extends({}, data.offsets, _this2._config.offset(data.offsets) || {});
+ return data;
+ };
+ } else {
+ offsetConf.offset = this._config.offset;
+ }
+
+ var popperConfig = {
+ placement: this._getPlacement(),
+ modifiers: {
+ offset: offsetConf,
+ flip: {
+ enabled: this._config.flip
+ },
+ preventOverflow: {
+ boundariesElement: this._config.boundary
+ }
+ }
+ };
+ return popperConfig;
+ }; // Static
+
+
+ Dropdown._jQueryInterface = function _jQueryInterface(config) {
+ return this.each(function () {
+ var data = $$$1(this).data(DATA_KEY);
+
+ var _config = typeof config === 'object' ? config : null;
+
+ if (!data) {
+ data = new Dropdown(this, _config);
+ $$$1(this).data(DATA_KEY, data);
+ }
+
+ if (typeof config === 'string') {
+ if (typeof data[config] === 'undefined') {
+ throw new TypeError("No method named \"" + config + "\"");
+ }
+
+ data[config]();
+ }
+ });
+ };
+
+ Dropdown._clearMenus = function _clearMenus(event) {
+ if (event && (event.which === RIGHT_MOUSE_BUTTON_WHICH || event.type === 'keyup' && event.which !== TAB_KEYCODE)) {
+ return;
+ }
+
+ var toggles = $$$1.makeArray($$$1(Selector.DATA_TOGGLE));
+
+ for (var i = 0; i < toggles.length; i++) {
+ var parent = Dropdown._getParentFromElement(toggles[i]);
+
+ var context = $$$1(toggles[i]).data(DATA_KEY);
+ var relatedTarget = {
+ relatedTarget: toggles[i]
+ };
+
+ if (!context) {
+ continue;
+ }
+
+ var dropdownMenu = context._menu;
+
+ if (!$$$1(parent).hasClass(ClassName.SHOW)) {
+ continue;
+ }
+
+ if (event && (event.type === 'click' && /input|textarea/i.test(event.target.tagName) || event.type === 'keyup' && event.which === TAB_KEYCODE) && $$$1.contains(parent, event.target)) {
+ continue;
+ }
+
+ var hideEvent = $$$1.Event(Event.HIDE, relatedTarget);
+ $$$1(parent).trigger(hideEvent);
+
+ if (hideEvent.isDefaultPrevented()) {
+ continue;
+ } // If this is a touch-enabled device we remove the extra
+ // empty mouseover listeners we added for iOS support
+
+
+ if ('ontouchstart' in document.documentElement) {
+ $$$1('body').children().off('mouseover', null, $$$1.noop);
+ }
+
+ toggles[i].setAttribute('aria-expanded', 'false');
+ $$$1(dropdownMenu).removeClass(ClassName.SHOW);
+ $$$1(parent).removeClass(ClassName.SHOW).trigger($$$1.Event(Event.HIDDEN, relatedTarget));
+ }
+ };
+
+ Dropdown._getParentFromElement = function _getParentFromElement(element) {
+ var parent;
+ var selector = Util.getSelectorFromElement(element);
+
+ if (selector) {
+ parent = $$$1(selector)[0];
+ }
+
+ return parent || element.parentNode;
+ }; // eslint-disable-next-line complexity
+
+
+ Dropdown._dataApiKeydownHandler = function _dataApiKeydownHandler(event) {
+ // If not input/textarea:
+ // - And not a key in REGEXP_KEYDOWN => not a dropdown command
+ // If input/textarea:
+ // - If space key => not a dropdown command
+ // - If key is other than escape
+ // - If key is not up or down => not a dropdown command
+ // - If trigger inside the menu => not a dropdown command
+ if (/input|textarea/i.test(event.target.tagName) ? event.which === SPACE_KEYCODE || event.which !== ESCAPE_KEYCODE && (event.which !== ARROW_DOWN_KEYCODE && event.which !== ARROW_UP_KEYCODE || $$$1(event.target).closest(Selector.MENU).length) : !REGEXP_KEYDOWN.test(event.which)) {
+ return;
+ }
+
+ event.preventDefault();
+ event.stopPropagation();
+
+ if (this.disabled || $$$1(this).hasClass(ClassName.DISABLED)) {
+ return;
+ }
+
+ var parent = Dropdown._getParentFromElement(this);
+
+ var isActive = $$$1(parent).hasClass(ClassName.SHOW);
+
+ if (!isActive && (event.which !== ESCAPE_KEYCODE || event.which !== SPACE_KEYCODE) || isActive && (event.which === ESCAPE_KEYCODE || event.which === SPACE_KEYCODE)) {
+ if (event.which === ESCAPE_KEYCODE) {
+ var toggle = $$$1(parent).find(Selector.DATA_TOGGLE)[0];
+ $$$1(toggle).trigger('focus');
+ }
+
+ $$$1(this).trigger('click');
+ return;
+ }
+
+ var items = $$$1(parent).find(Selector.VISIBLE_ITEMS).get();
+
+ if (items.length === 0) {
+ return;
+ }
+
+ var index = items.indexOf(event.target);
+
+ if (event.which === ARROW_UP_KEYCODE && index > 0) {
+ // Up
+ index--;
+ }
+
+ if (event.which === ARROW_DOWN_KEYCODE && index < items.length - 1) {
+ // Down
+ index++;
+ }
+
+ if (index < 0) {
+ index = 0;
+ }
+
+ items[index].focus();
+ };
+
+ _createClass(Dropdown, null, [{
+ key: "VERSION",
+ get: function get() {
+ return VERSION;
+ }
+ }, {
+ key: "Default",
+ get: function get() {
+ return Default;
+ }
+ }, {
+ key: "DefaultType",
+ get: function get() {
+ return DefaultType;
+ }
+ }]);
+ return Dropdown;
+ }();
+ /**
+ * ------------------------------------------------------------------------
+ * Data Api implementation
+ * ------------------------------------------------------------------------
+ */
+
+
+ $$$1(document).on(Event.KEYDOWN_DATA_API, Selector.DATA_TOGGLE, Dropdown._dataApiKeydownHandler).on(Event.KEYDOWN_DATA_API, Selector.MENU, Dropdown._dataApiKeydownHandler).on(Event.CLICK_DATA_API + " " + Event.KEYUP_DATA_API, Dropdown._clearMenus).on(Event.CLICK_DATA_API, Selector.DATA_TOGGLE, function (event) {
+ event.preventDefault();
+ event.stopPropagation();
+
+ Dropdown._jQueryInterface.call($$$1(this), 'toggle');
+ }).on(Event.CLICK_DATA_API, Selector.FORM_CHILD, function (e) {
+ e.stopPropagation();
+ });
+ /**
+ * ------------------------------------------------------------------------
+ * jQuery
+ * ------------------------------------------------------------------------
+ */
+
+ $$$1.fn[NAME] = Dropdown._jQueryInterface;
+ $$$1.fn[NAME].Constructor = Dropdown;
+
+ $$$1.fn[NAME].noConflict = function () {
+ $$$1.fn[NAME] = JQUERY_NO_CONFLICT;
+ return Dropdown._jQueryInterface;
+ };
+
+ return Dropdown;
+}($, Popper);
+
+/**
+ * --------------------------------------------------------------------------
+ * Bootstrap (v4.0.0): modal.js
+ * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
+ * --------------------------------------------------------------------------
+ */
+
+var Modal = function ($$$1) {
+ /**
+ * ------------------------------------------------------------------------
+ * Constants
+ * ------------------------------------------------------------------------
+ */
+ var NAME = 'modal';
+ var VERSION = '4.0.0';
+ var DATA_KEY = 'bs.modal';
+ var EVENT_KEY = "." + DATA_KEY;
+ var DATA_API_KEY = '.data-api';
+ var JQUERY_NO_CONFLICT = $$$1.fn[NAME];
+ var TRANSITION_DURATION = 300;
+ var BACKDROP_TRANSITION_DURATION = 150;
+ var ESCAPE_KEYCODE = 27; // KeyboardEvent.which value for Escape (Esc) key
+
+ var Default = {
+ backdrop: true,
+ keyboard: true,
+ focus: true,
+ show: true
+ };
+ var DefaultType = {
+ backdrop: '(boolean|string)',
+ keyboard: 'boolean',
+ focus: 'boolean',
+ show: 'boolean'
+ };
+ var Event = {
+ HIDE: "hide" + EVENT_KEY,
+ HIDDEN: "hidden" + EVENT_KEY,
+ SHOW: "show" + EVENT_KEY,
+ SHOWN: "shown" + EVENT_KEY,
+ FOCUSIN: "focusin" + EVENT_KEY,
+ RESIZE: "resize" + EVENT_KEY,
+ CLICK_DISMISS: "click.dismiss" + EVENT_KEY,
+ KEYDOWN_DISMISS: "keydown.dismiss" + EVENT_KEY,
+ MOUSEUP_DISMISS: "mouseup.dismiss" + EVENT_KEY,
+ MOUSEDOWN_DISMISS: "mousedown.dismiss" + EVENT_KEY,
+ CLICK_DATA_API: "click" + EVENT_KEY + DATA_API_KEY
+ };
+ var ClassName = {
+ SCROLLBAR_MEASURER: 'modal-scrollbar-measure',
+ BACKDROP: 'modal-backdrop',
+ OPEN: 'modal-open',
+ FADE: 'fade',
+ SHOW: 'show'
+ };
+ var Selector = {
+ DIALOG: '.modal-dialog',
+ DATA_TOGGLE: '[data-toggle="modal"]',
+ DATA_DISMISS: '[data-dismiss="modal"]',
+ FIXED_CONTENT: '.fixed-top, .fixed-bottom, .is-fixed, .sticky-top',
+ STICKY_CONTENT: '.sticky-top',
+ NAVBAR_TOGGLER: '.navbar-toggler'
+ /**
+ * ------------------------------------------------------------------------
+ * Class Definition
+ * ------------------------------------------------------------------------
+ */
+
+ };
+
+ var Modal =
+ /*#__PURE__*/
+ function () {
+ function Modal(element, config) {
+ this._config = this._getConfig(config);
+ this._element = element;
+ this._dialog = $$$1(element).find(Selector.DIALOG)[0];
+ this._backdrop = null;
+ this._isShown = false;
+ this._isBodyOverflowing = false;
+ this._ignoreBackdropClick = false;
+ this._originalBodyPadding = 0;
+ this._scrollbarWidth = 0;
+ } // Getters
+
+
+ var _proto = Modal.prototype;
+
+ // Public
+ _proto.toggle = function toggle(relatedTarget) {
+ return this._isShown ? this.hide() : this.show(relatedTarget);
+ };
+
+ _proto.show = function show(relatedTarget) {
+ var _this = this;
+
+ if (this._isTransitioning || this._isShown) {
+ return;
+ }
+
+ if (Util.supportsTransitionEnd() && $$$1(this._element).hasClass(ClassName.FADE)) {
+ this._isTransitioning = true;
+ }
+
+ var showEvent = $$$1.Event(Event.SHOW, {
+ relatedTarget: relatedTarget
+ });
+ $$$1(this._element).trigger(showEvent);
+
+ if (this._isShown || showEvent.isDefaultPrevented()) {
+ return;
+ }
+
+ this._isShown = true;
+
+ this._checkScrollbar();
+
+ this._setScrollbar();
+
+ this._adjustDialog();
+
+ $$$1(document.body).addClass(ClassName.OPEN);
+
+ this._setEscapeEvent();
+
+ this._setResizeEvent();
+
+ $$$1(this._element).on(Event.CLICK_DISMISS, Selector.DATA_DISMISS, function (event) {
+ return _this.hide(event);
+ });
+ $$$1(this._dialog).on(Event.MOUSEDOWN_DISMISS, function () {
+ $$$1(_this._element).one(Event.MOUSEUP_DISMISS, function (event) {
+ if ($$$1(event.target).is(_this._element)) {
+ _this._ignoreBackdropClick = true;
+ }
+ });
+ });
+
+ this._showBackdrop(function () {
+ return _this._showElement(relatedTarget);
+ });
+ };
+
+ _proto.hide = function hide(event) {
+ var _this2 = this;
+
+ if (event) {
+ event.preventDefault();
+ }
+
+ if (this._isTransitioning || !this._isShown) {
+ return;
+ }
+
+ var hideEvent = $$$1.Event(Event.HIDE);
+ $$$1(this._element).trigger(hideEvent);
+
+ if (!this._isShown || hideEvent.isDefaultPrevented()) {
+ return;
+ }
+
+ this._isShown = false;
+ var transition = Util.supportsTransitionEnd() && $$$1(this._element).hasClass(ClassName.FADE);
+
+ if (transition) {
+ this._isTransitioning = true;
+ }
+
+ this._setEscapeEvent();
+
+ this._setResizeEvent();
+
+ $$$1(document).off(Event.FOCUSIN);
+ $$$1(this._element).removeClass(ClassName.SHOW);
+ $$$1(this._element).off(Event.CLICK_DISMISS);
+ $$$1(this._dialog).off(Event.MOUSEDOWN_DISMISS);
+
+ if (transition) {
+ $$$1(this._element).one(Util.TRANSITION_END, function (event) {
+ return _this2._hideModal(event);
+ }).emulateTransitionEnd(TRANSITION_DURATION);
+ } else {
+ this._hideModal();
+ }
+ };
+
+ _proto.dispose = function dispose() {
+ $$$1.removeData(this._element, DATA_KEY);
+ $$$1(window, document, this._element, this._backdrop).off(EVENT_KEY);
+ this._config = null;
+ this._element = null;
+ this._dialog = null;
+ this._backdrop = null;
+ this._isShown = null;
+ this._isBodyOverflowing = null;
+ this._ignoreBackdropClick = null;
+ this._scrollbarWidth = null;
+ };
+
+ _proto.handleUpdate = function handleUpdate() {
+ this._adjustDialog();
+ }; // Private
+
+
+ _proto._getConfig = function _getConfig(config) {
+ config = _extends({}, Default, config);
+ Util.typeCheckConfig(NAME, config, DefaultType);
+ return config;
+ };
+
+ _proto._showElement = function _showElement(relatedTarget) {
+ var _this3 = this;
+
+ var transition = Util.supportsTransitionEnd() && $$$1(this._element).hasClass(ClassName.FADE);
+
+ if (!this._element.parentNode || this._element.parentNode.nodeType !== Node.ELEMENT_NODE) {
+ // Don't move modal's DOM position
+ document.body.appendChild(this._element);
+ }
+
+ this._element.style.display = 'block';
+
+ this._element.removeAttribute('aria-hidden');
+
+ this._element.scrollTop = 0;
+
+ if (transition) {
+ Util.reflow(this._element);
+ }
+
+ $$$1(this._element).addClass(ClassName.SHOW);
+
+ if (this._config.focus) {
+ this._enforceFocus();
+ }
+
+ var shownEvent = $$$1.Event(Event.SHOWN, {
+ relatedTarget: relatedTarget
+ });
+
+ var transitionComplete = function transitionComplete() {
+ if (_this3._config.focus) {
+ _this3._element.focus();
+ }
+
+ _this3._isTransitioning = false;
+ $$$1(_this3._element).trigger(shownEvent);
+ };
+
+ if (transition) {
+ $$$1(this._dialog).one(Util.TRANSITION_END, transitionComplete).emulateTransitionEnd(TRANSITION_DURATION);
+ } else {
+ transitionComplete();
+ }
+ };
+
+ _proto._enforceFocus = function _enforceFocus() {
+ var _this4 = this;
+
+ $$$1(document).off(Event.FOCUSIN) // Guard against infinite focus loop
+ .on(Event.FOCUSIN, function (event) {
+ if (document !== event.target && _this4._element !== event.target && $$$1(_this4._element).has(event.target).length === 0) {
+ _this4._element.focus();
+ }
+ });
+ };
+
+ _proto._setEscapeEvent = function _setEscapeEvent() {
+ var _this5 = this;
+
+ if (this._isShown && this._config.keyboard) {
+ $$$1(this._element).on(Event.KEYDOWN_DISMISS, function (event) {
+ if (event.which === ESCAPE_KEYCODE) {
+ event.preventDefault();
+
+ _this5.hide();
+ }
+ });
+ } else if (!this._isShown) {
+ $$$1(this._element).off(Event.KEYDOWN_DISMISS);
+ }
+ };
+
+ _proto._setResizeEvent = function _setResizeEvent() {
+ var _this6 = this;
+
+ if (this._isShown) {
+ $$$1(window).on(Event.RESIZE, function (event) {
+ return _this6.handleUpdate(event);
+ });
+ } else {
+ $$$1(window).off(Event.RESIZE);
+ }
+ };
+
+ _proto._hideModal = function _hideModal() {
+ var _this7 = this;
+
+ this._element.style.display = 'none';
+
+ this._element.setAttribute('aria-hidden', true);
+
+ this._isTransitioning = false;
+
+ this._showBackdrop(function () {
+ $$$1(document.body).removeClass(ClassName.OPEN);
+
+ _this7._resetAdjustments();
+
+ _this7._resetScrollbar();
+
+ $$$1(_this7._element).trigger(Event.HIDDEN);
+ });
+ };
+
+ _proto._removeBackdrop = function _removeBackdrop() {
+ if (this._backdrop) {
+ $$$1(this._backdrop).remove();
+ this._backdrop = null;
+ }
+ };
+
+ _proto._showBackdrop = function _showBackdrop(callback) {
+ var _this8 = this;
+
+ var animate = $$$1(this._element).hasClass(ClassName.FADE) ? ClassName.FADE : '';
+
+ if (this._isShown && this._config.backdrop) {
+ var doAnimate = Util.supportsTransitionEnd() && animate;
+ this._backdrop = document.createElement('div');
+ this._backdrop.className = ClassName.BACKDROP;
+
+ if (animate) {
+ $$$1(this._backdrop).addClass(animate);
+ }
+
+ $$$1(this._backdrop).appendTo(document.body);
+ $$$1(this._element).on(Event.CLICK_DISMISS, function (event) {
+ if (_this8._ignoreBackdropClick) {
+ _this8._ignoreBackdropClick = false;
+ return;
+ }
+
+ if (event.target !== event.currentTarget) {
+ return;
+ }
+
+ if (_this8._config.backdrop === 'static') {
+ _this8._element.focus();
+ } else {
+ _this8.hide();
+ }
+ });
+
+ if (doAnimate) {
+ Util.reflow(this._backdrop);
+ }
+
+ $$$1(this._backdrop).addClass(ClassName.SHOW);
+
+ if (!callback) {
+ return;
+ }
+
+ if (!doAnimate) {
+ callback();
+ return;
+ }
+
+ $$$1(this._backdrop).one(Util.TRANSITION_END, callback).emulateTransitionEnd(BACKDROP_TRANSITION_DURATION);
+ } else if (!this._isShown && this._backdrop) {
+ $$$1(this._backdrop).removeClass(ClassName.SHOW);
+
+ var callbackRemove = function callbackRemove() {
+ _this8._removeBackdrop();
+
+ if (callback) {
+ callback();
+ }
+ };
+
+ if (Util.supportsTransitionEnd() && $$$1(this._element).hasClass(ClassName.FADE)) {
+ $$$1(this._backdrop).one(Util.TRANSITION_END, callbackRemove).emulateTransitionEnd(BACKDROP_TRANSITION_DURATION);
+ } else {
+ callbackRemove();
+ }
+ } else if (callback) {
+ callback();
+ }
+ }; // ----------------------------------------------------------------------
+ // the following methods are used to handle overflowing modals
+ // todo (fat): these should probably be refactored out of modal.js
+ // ----------------------------------------------------------------------
+
+
+ _proto._adjustDialog = function _adjustDialog() {
+ var isModalOverflowing = this._element.scrollHeight > document.documentElement.clientHeight;
+
+ if (!this._isBodyOverflowing && isModalOverflowing) {
+ this._element.style.paddingLeft = this._scrollbarWidth + "px";
+ }
+
+ if (this._isBodyOverflowing && !isModalOverflowing) {
+ this._element.style.paddingRight = this._scrollbarWidth + "px";
+ }
+ };
+
+ _proto._resetAdjustments = function _resetAdjustments() {
+ this._element.style.paddingLeft = '';
+ this._element.style.paddingRight = '';
+ };
+
+ _proto._checkScrollbar = function _checkScrollbar() {
+ var rect = document.body.getBoundingClientRect();
+ this._isBodyOverflowing = rect.left + rect.right < window.innerWidth;
+ this._scrollbarWidth = this._getScrollbarWidth();
+ };
+
+ _proto._setScrollbar = function _setScrollbar() {
+ var _this9 = this;
+
+ if (this._isBodyOverflowing) {
+ // Note: DOMNode.style.paddingRight returns the actual value or '' if not set
+ // while $(DOMNode).css('padding-right') returns the calculated value or 0 if not set
+ // Adjust fixed content padding
+ $$$1(Selector.FIXED_CONTENT).each(function (index, element) {
+ var actualPadding = $$$1(element)[0].style.paddingRight;
+ var calculatedPadding = $$$1(element).css('padding-right');
+ $$$1(element).data('padding-right', actualPadding).css('padding-right', parseFloat(calculatedPadding) + _this9._scrollbarWidth + "px");
+ }); // Adjust sticky content margin
+
+ $$$1(Selector.STICKY_CONTENT).each(function (index, element) {
+ var actualMargin = $$$1(element)[0].style.marginRight;
+ var calculatedMargin = $$$1(element).css('margin-right');
+ $$$1(element).data('margin-right', actualMargin).css('margin-right', parseFloat(calculatedMargin) - _this9._scrollbarWidth + "px");
+ }); // Adjust navbar-toggler margin
+
+ $$$1(Selector.NAVBAR_TOGGLER).each(function (index, element) {
+ var actualMargin = $$$1(element)[0].style.marginRight;
+ var calculatedMargin = $$$1(element).css('margin-right');
+ $$$1(element).data('margin-right', actualMargin).css('margin-right', parseFloat(calculatedMargin) + _this9._scrollbarWidth + "px");
+ }); // Adjust body padding
+
+ var actualPadding = document.body.style.paddingRight;
+ var calculatedPadding = $$$1('body').css('padding-right');
+ $$$1('body').data('padding-right', actualPadding).css('padding-right', parseFloat(calculatedPadding) + this._scrollbarWidth + "px");
+ }
+ };
+
+ _proto._resetScrollbar = function _resetScrollbar() {
+ // Restore fixed content padding
+ $$$1(Selector.FIXED_CONTENT).each(function (index, element) {
+ var padding = $$$1(element).data('padding-right');
+
+ if (typeof padding !== 'undefined') {
+ $$$1(element).css('padding-right', padding).removeData('padding-right');
+ }
+ }); // Restore sticky content and navbar-toggler margin
+
+ $$$1(Selector.STICKY_CONTENT + ", " + Selector.NAVBAR_TOGGLER).each(function (index, element) {
+ var margin = $$$1(element).data('margin-right');
+
+ if (typeof margin !== 'undefined') {
+ $$$1(element).css('margin-right', margin).removeData('margin-right');
+ }
+ }); // Restore body padding
+
+ var padding = $$$1('body').data('padding-right');
+
+ if (typeof padding !== 'undefined') {
+ $$$1('body').css('padding-right', padding).removeData('padding-right');
+ }
+ };
+
+ _proto._getScrollbarWidth = function _getScrollbarWidth() {
+ // thx d.walsh
+ var scrollDiv = document.createElement('div');
+ scrollDiv.className = ClassName.SCROLLBAR_MEASURER;
+ document.body.appendChild(scrollDiv);
+ var scrollbarWidth = scrollDiv.getBoundingClientRect().width - scrollDiv.clientWidth;
+ document.body.removeChild(scrollDiv);
+ return scrollbarWidth;
+ }; // Static
+
+
+ Modal._jQueryInterface = function _jQueryInterface(config, relatedTarget) {
+ return this.each(function () {
+ var data = $$$1(this).data(DATA_KEY);
+
+ var _config = _extends({}, Modal.Default, $$$1(this).data(), typeof config === 'object' && config);
+
+ if (!data) {
+ data = new Modal(this, _config);
+ $$$1(this).data(DATA_KEY, data);
+ }
+
+ if (typeof config === 'string') {
+ if (typeof data[config] === 'undefined') {
+ throw new TypeError("No method named \"" + config + "\"");
+ }
+
+ data[config](relatedTarget);
+ } else if (_config.show) {
+ data.show(relatedTarget);
+ }
+ });
+ };
+
+ _createClass(Modal, null, [{
+ key: "VERSION",
+ get: function get() {
+ return VERSION;
+ }
+ }, {
+ key: "Default",
+ get: function get() {
+ return Default;
+ }
+ }]);
+ return Modal;
+ }();
+ /**
+ * ------------------------------------------------------------------------
+ * Data Api implementation
+ * ------------------------------------------------------------------------
+ */
+
+
+ $$$1(document).on(Event.CLICK_DATA_API, Selector.DATA_TOGGLE, function (event) {
+ var _this10 = this;
+
+ var target;
+ var selector = Util.getSelectorFromElement(this);
+
+ if (selector) {
+ target = $$$1(selector)[0];
+ }
+
+ var config = $$$1(target).data(DATA_KEY) ? 'toggle' : _extends({}, $$$1(target).data(), $$$1(this).data());
+
+ if (this.tagName === 'A' || this.tagName === 'AREA') {
+ event.preventDefault();
+ }
+
+ var $target = $$$1(target).one(Event.SHOW, function (showEvent) {
+ if (showEvent.isDefaultPrevented()) {
+ // Only register focus restorer if modal will actually get shown
+ return;
+ }
+
+ $target.one(Event.HIDDEN, function () {
+ if ($$$1(_this10).is(':visible')) {
+ _this10.focus();
+ }
+ });
+ });
+
+ Modal._jQueryInterface.call($$$1(target), config, this);
+ });
+ /**
+ * ------------------------------------------------------------------------
+ * jQuery
+ * ------------------------------------------------------------------------
+ */
+
+ $$$1.fn[NAME] = Modal._jQueryInterface;
+ $$$1.fn[NAME].Constructor = Modal;
+
+ $$$1.fn[NAME].noConflict = function () {
+ $$$1.fn[NAME] = JQUERY_NO_CONFLICT;
+ return Modal._jQueryInterface;
+ };
+
+ return Modal;
+}($);
+
+/**
+ * --------------------------------------------------------------------------
+ * Bootstrap (v4.0.0): tooltip.js
+ * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
+ * --------------------------------------------------------------------------
+ */
+
+var Tooltip = function ($$$1) {
+ /**
+ * ------------------------------------------------------------------------
+ * Constants
+ * ------------------------------------------------------------------------
+ */
+ var NAME = 'tooltip';
+ var VERSION = '4.0.0';
+ var DATA_KEY = 'bs.tooltip';
+ var EVENT_KEY = "." + DATA_KEY;
+ var JQUERY_NO_CONFLICT = $$$1.fn[NAME];
+ var TRANSITION_DURATION = 150;
+ var CLASS_PREFIX = 'bs-tooltip';
+ var BSCLS_PREFIX_REGEX = new RegExp("(^|\\s)" + CLASS_PREFIX + "\\S+", 'g');
+ var DefaultType = {
+ animation: 'boolean',
+ template: 'string',
+ title: '(string|element|function)',
+ trigger: 'string',
+ delay: '(number|object)',
+ html: 'boolean',
+ selector: '(string|boolean)',
+ placement: '(string|function)',
+ offset: '(number|string)',
+ container: '(string|element|boolean)',
+ fallbackPlacement: '(string|array)',
+ boundary: '(string|element)'
+ };
+ var AttachmentMap = {
+ AUTO: 'auto',
+ TOP: 'top',
+ RIGHT: 'right',
+ BOTTOM: 'bottom',
+ LEFT: 'left'
+ };
+ var Default = {
+ animation: true,
+ template: '',
+ trigger: 'hover focus',
+ title: '',
+ delay: 0,
+ html: false,
+ selector: false,
+ placement: 'top',
+ offset: 0,
+ container: false,
+ fallbackPlacement: 'flip',
+ boundary: 'scrollParent'
+ };
+ var HoverState = {
+ SHOW: 'show',
+ OUT: 'out'
+ };
+ var Event = {
+ HIDE: "hide" + EVENT_KEY,
+ HIDDEN: "hidden" + EVENT_KEY,
+ SHOW: "show" + EVENT_KEY,
+ SHOWN: "shown" + EVENT_KEY,
+ INSERTED: "inserted" + EVENT_KEY,
+ CLICK: "click" + EVENT_KEY,
+ FOCUSIN: "focusin" + EVENT_KEY,
+ FOCUSOUT: "focusout" + EVENT_KEY,
+ MOUSEENTER: "mouseenter" + EVENT_KEY,
+ MOUSELEAVE: "mouseleave" + EVENT_KEY
+ };
+ var ClassName = {
+ FADE: 'fade',
+ SHOW: 'show'
+ };
+ var Selector = {
+ TOOLTIP: '.tooltip',
+ TOOLTIP_INNER: '.tooltip-inner',
+ ARROW: '.arrow'
+ };
+ var Trigger = {
+ HOVER: 'hover',
+ FOCUS: 'focus',
+ CLICK: 'click',
+ MANUAL: 'manual'
+ /**
+ * ------------------------------------------------------------------------
+ * Class Definition
+ * ------------------------------------------------------------------------
+ */
+
+ };
+
+ var Tooltip =
+ /*#__PURE__*/
+ function () {
+ function Tooltip(element, config) {
+ /**
+ * Check for Popper dependency
+ * Popper - https://popper.js.org
+ */
+ if (typeof Popper === 'undefined') {
+ throw new TypeError('Bootstrap tooltips require Popper.js (https://popper.js.org)');
+ } // private
+
+
+ this._isEnabled = true;
+ this._timeout = 0;
+ this._hoverState = '';
+ this._activeTrigger = {};
+ this._popper = null; // Protected
+
+ this.element = element;
+ this.config = this._getConfig(config);
+ this.tip = null;
+
+ this._setListeners();
+ } // Getters
+
+
+ var _proto = Tooltip.prototype;
+
+ // Public
+ _proto.enable = function enable() {
+ this._isEnabled = true;
+ };
+
+ _proto.disable = function disable() {
+ this._isEnabled = false;
+ };
+
+ _proto.toggleEnabled = function toggleEnabled() {
+ this._isEnabled = !this._isEnabled;
+ };
+
+ _proto.toggle = function toggle(event) {
+ if (!this._isEnabled) {
+ return;
+ }
+
+ if (event) {
+ var dataKey = this.constructor.DATA_KEY;
+ var context = $$$1(event.currentTarget).data(dataKey);
+
+ if (!context) {
+ context = new this.constructor(event.currentTarget, this._getDelegateConfig());
+ $$$1(event.currentTarget).data(dataKey, context);
+ }
+
+ context._activeTrigger.click = !context._activeTrigger.click;
+
+ if (context._isWithActiveTrigger()) {
+ context._enter(null, context);
+ } else {
+ context._leave(null, context);
+ }
+ } else {
+ if ($$$1(this.getTipElement()).hasClass(ClassName.SHOW)) {
+ this._leave(null, this);
+
+ return;
+ }
+
+ this._enter(null, this);
+ }
+ };
+
+ _proto.dispose = function dispose() {
+ clearTimeout(this._timeout);
+ $$$1.removeData(this.element, this.constructor.DATA_KEY);
+ $$$1(this.element).off(this.constructor.EVENT_KEY);
+ $$$1(this.element).closest('.modal').off('hide.bs.modal');
+
+ if (this.tip) {
+ $$$1(this.tip).remove();
+ }
+
+ this._isEnabled = null;
+ this._timeout = null;
+ this._hoverState = null;
+ this._activeTrigger = null;
+
+ if (this._popper !== null) {
+ this._popper.destroy();
+ }
+
+ this._popper = null;
+ this.element = null;
+ this.config = null;
+ this.tip = null;
+ };
+
+ _proto.show = function show() {
+ var _this = this;
+
+ if ($$$1(this.element).css('display') === 'none') {
+ throw new Error('Please use show on visible elements');
+ }
+
+ var showEvent = $$$1.Event(this.constructor.Event.SHOW);
+
+ if (this.isWithContent() && this._isEnabled) {
+ $$$1(this.element).trigger(showEvent);
+ var isInTheDom = $$$1.contains(this.element.ownerDocument.documentElement, this.element);
+
+ if (showEvent.isDefaultPrevented() || !isInTheDom) {
+ return;
+ }
+
+ var tip = this.getTipElement();
+ var tipId = Util.getUID(this.constructor.NAME);
+ tip.setAttribute('id', tipId);
+ this.element.setAttribute('aria-describedby', tipId);
+ this.setContent();
+
+ if (this.config.animation) {
+ $$$1(tip).addClass(ClassName.FADE);
+ }
+
+ var placement = typeof this.config.placement === 'function' ? this.config.placement.call(this, tip, this.element) : this.config.placement;
+
+ var attachment = this._getAttachment(placement);
+
+ this.addAttachmentClass(attachment);
+ var container = this.config.container === false ? document.body : $$$1(this.config.container);
+ $$$1(tip).data(this.constructor.DATA_KEY, this);
+
+ if (!$$$1.contains(this.element.ownerDocument.documentElement, this.tip)) {
+ $$$1(tip).appendTo(container);
+ }
+
+ $$$1(this.element).trigger(this.constructor.Event.INSERTED);
+ this._popper = new Popper(this.element, tip, {
+ placement: attachment,
+ modifiers: {
+ offset: {
+ offset: this.config.offset
+ },
+ flip: {
+ behavior: this.config.fallbackPlacement
+ },
+ arrow: {
+ element: Selector.ARROW
+ },
+ preventOverflow: {
+ boundariesElement: this.config.boundary
+ }
+ },
+ onCreate: function onCreate(data) {
+ if (data.originalPlacement !== data.placement) {
+ _this._handlePopperPlacementChange(data);
+ }
+ },
+ onUpdate: function onUpdate(data) {
+ _this._handlePopperPlacementChange(data);
+ }
+ });
+ $$$1(tip).addClass(ClassName.SHOW); // If this is a touch-enabled device we add extra
+ // empty mouseover listeners to the body's immediate children;
+ // only needed because of broken event delegation on iOS
+ // https://www.quirksmode.org/blog/archives/2014/02/mouse_event_bub.html
+
+ if ('ontouchstart' in document.documentElement) {
+ $$$1('body').children().on('mouseover', null, $$$1.noop);
+ }
+
+ var complete = function complete() {
+ if (_this.config.animation) {
+ _this._fixTransition();
+ }
+
+ var prevHoverState = _this._hoverState;
+ _this._hoverState = null;
+ $$$1(_this.element).trigger(_this.constructor.Event.SHOWN);
+
+ if (prevHoverState === HoverState.OUT) {
+ _this._leave(null, _this);
+ }
+ };
+
+ if (Util.supportsTransitionEnd() && $$$1(this.tip).hasClass(ClassName.FADE)) {
+ $$$1(this.tip).one(Util.TRANSITION_END, complete).emulateTransitionEnd(Tooltip._TRANSITION_DURATION);
+ } else {
+ complete();
+ }
+ }
+ };
+
+ _proto.hide = function hide(callback) {
+ var _this2 = this;
+
+ var tip = this.getTipElement();
+ var hideEvent = $$$1.Event(this.constructor.Event.HIDE);
+
+ var complete = function complete() {
+ if (_this2._hoverState !== HoverState.SHOW && tip.parentNode) {
+ tip.parentNode.removeChild(tip);
+ }
+
+ _this2._cleanTipClass();
+
+ _this2.element.removeAttribute('aria-describedby');
+
+ $$$1(_this2.element).trigger(_this2.constructor.Event.HIDDEN);
+
+ if (_this2._popper !== null) {
+ _this2._popper.destroy();
+ }
+
+ if (callback) {
+ callback();
+ }
+ };
+
+ $$$1(this.element).trigger(hideEvent);
+
+ if (hideEvent.isDefaultPrevented()) {
+ return;
+ }
+
+ $$$1(tip).removeClass(ClassName.SHOW); // If this is a touch-enabled device we remove the extra
+ // empty mouseover listeners we added for iOS support
+
+ if ('ontouchstart' in document.documentElement) {
+ $$$1('body').children().off('mouseover', null, $$$1.noop);
+ }
+
+ this._activeTrigger[Trigger.CLICK] = false;
+ this._activeTrigger[Trigger.FOCUS] = false;
+ this._activeTrigger[Trigger.HOVER] = false;
+
+ if (Util.supportsTransitionEnd() && $$$1(this.tip).hasClass(ClassName.FADE)) {
+ $$$1(tip).one(Util.TRANSITION_END, complete).emulateTransitionEnd(TRANSITION_DURATION);
+ } else {
+ complete();
+ }
+
+ this._hoverState = '';
+ };
+
+ _proto.update = function update() {
+ if (this._popper !== null) {
+ this._popper.scheduleUpdate();
+ }
+ }; // Protected
+
+
+ _proto.isWithContent = function isWithContent() {
+ return Boolean(this.getTitle());
+ };
+
+ _proto.addAttachmentClass = function addAttachmentClass(attachment) {
+ $$$1(this.getTipElement()).addClass(CLASS_PREFIX + "-" + attachment);
+ };
+
+ _proto.getTipElement = function getTipElement() {
+ this.tip = this.tip || $$$1(this.config.template)[0];
+ return this.tip;
+ };
+
+ _proto.setContent = function setContent() {
+ var $tip = $$$1(this.getTipElement());
+ this.setElementContent($tip.find(Selector.TOOLTIP_INNER), this.getTitle());
+ $tip.removeClass(ClassName.FADE + " " + ClassName.SHOW);
+ };
+
+ _proto.setElementContent = function setElementContent($element, content) {
+ var html = this.config.html;
+
+ if (typeof content === 'object' && (content.nodeType || content.jquery)) {
+ // Content is a DOM node or a jQuery
+ if (html) {
+ if (!$$$1(content).parent().is($element)) {
+ $element.empty().append(content);
+ }
+ } else {
+ $element.text($$$1(content).text());
+ }
+ } else {
+ $element[html ? 'html' : 'text'](content);
+ }
+ };
+
+ _proto.getTitle = function getTitle() {
+ var title = this.element.getAttribute('data-original-title');
+
+ if (!title) {
+ title = typeof this.config.title === 'function' ? this.config.title.call(this.element) : this.config.title;
+ }
+
+ return title;
+ }; // Private
+
+
+ _proto._getAttachment = function _getAttachment(placement) {
+ return AttachmentMap[placement.toUpperCase()];
+ };
+
+ _proto._setListeners = function _setListeners() {
+ var _this3 = this;
+
+ var triggers = this.config.trigger.split(' ');
+ triggers.forEach(function (trigger) {
+ if (trigger === 'click') {
+ $$$1(_this3.element).on(_this3.constructor.Event.CLICK, _this3.config.selector, function (event) {
+ return _this3.toggle(event);
+ });
+ } else if (trigger !== Trigger.MANUAL) {
+ var eventIn = trigger === Trigger.HOVER ? _this3.constructor.Event.MOUSEENTER : _this3.constructor.Event.FOCUSIN;
+ var eventOut = trigger === Trigger.HOVER ? _this3.constructor.Event.MOUSELEAVE : _this3.constructor.Event.FOCUSOUT;
+ $$$1(_this3.element).on(eventIn, _this3.config.selector, function (event) {
+ return _this3._enter(event);
+ }).on(eventOut, _this3.config.selector, function (event) {
+ return _this3._leave(event);
+ });
+ }
+
+ $$$1(_this3.element).closest('.modal').on('hide.bs.modal', function () {
+ return _this3.hide();
+ });
+ });
+
+ if (this.config.selector) {
+ this.config = _extends({}, this.config, {
+ trigger: 'manual',
+ selector: ''
+ });
+ } else {
+ this._fixTitle();
+ }
+ };
+
+ _proto._fixTitle = function _fixTitle() {
+ var titleType = typeof this.element.getAttribute('data-original-title');
+
+ if (this.element.getAttribute('title') || titleType !== 'string') {
+ this.element.setAttribute('data-original-title', this.element.getAttribute('title') || '');
+ this.element.setAttribute('title', '');
+ }
+ };
+
+ _proto._enter = function _enter(event, context) {
+ var dataKey = this.constructor.DATA_KEY;
+ context = context || $$$1(event.currentTarget).data(dataKey);
+
+ if (!context) {
+ context = new this.constructor(event.currentTarget, this._getDelegateConfig());
+ $$$1(event.currentTarget).data(dataKey, context);
+ }
+
+ if (event) {
+ context._activeTrigger[event.type === 'focusin' ? Trigger.FOCUS : Trigger.HOVER] = true;
+ }
+
+ if ($$$1(context.getTipElement()).hasClass(ClassName.SHOW) || context._hoverState === HoverState.SHOW) {
+ context._hoverState = HoverState.SHOW;
+ return;
+ }
+
+ clearTimeout(context._timeout);
+ context._hoverState = HoverState.SHOW;
+
+ if (!context.config.delay || !context.config.delay.show) {
+ context.show();
+ return;
+ }
+
+ context._timeout = setTimeout(function () {
+ if (context._hoverState === HoverState.SHOW) {
+ context.show();
+ }
+ }, context.config.delay.show);
+ };
+
+ _proto._leave = function _leave(event, context) {
+ var dataKey = this.constructor.DATA_KEY;
+ context = context || $$$1(event.currentTarget).data(dataKey);
+
+ if (!context) {
+ context = new this.constructor(event.currentTarget, this._getDelegateConfig());
+ $$$1(event.currentTarget).data(dataKey, context);
+ }
+
+ if (event) {
+ context._activeTrigger[event.type === 'focusout' ? Trigger.FOCUS : Trigger.HOVER] = false;
+ }
+
+ if (context._isWithActiveTrigger()) {
+ return;
+ }
+
+ clearTimeout(context._timeout);
+ context._hoverState = HoverState.OUT;
+
+ if (!context.config.delay || !context.config.delay.hide) {
+ context.hide();
+ return;
+ }
+
+ context._timeout = setTimeout(function () {
+ if (context._hoverState === HoverState.OUT) {
+ context.hide();
+ }
+ }, context.config.delay.hide);
+ };
+
+ _proto._isWithActiveTrigger = function _isWithActiveTrigger() {
+ for (var trigger in this._activeTrigger) {
+ if (this._activeTrigger[trigger]) {
+ return true;
+ }
+ }
+
+ return false;
+ };
+
+ _proto._getConfig = function _getConfig(config) {
+ config = _extends({}, this.constructor.Default, $$$1(this.element).data(), config);
+
+ if (typeof config.delay === 'number') {
+ config.delay = {
+ show: config.delay,
+ hide: config.delay
+ };
+ }
+
+ if (typeof config.title === 'number') {
+ config.title = config.title.toString();
+ }
+
+ if (typeof config.content === 'number') {
+ config.content = config.content.toString();
+ }
+
+ Util.typeCheckConfig(NAME, config, this.constructor.DefaultType);
+ return config;
+ };
+
+ _proto._getDelegateConfig = function _getDelegateConfig() {
+ var config = {};
+
+ if (this.config) {
+ for (var key in this.config) {
+ if (this.constructor.Default[key] !== this.config[key]) {
+ config[key] = this.config[key];
+ }
+ }
+ }
+
+ return config;
+ };
+
+ _proto._cleanTipClass = function _cleanTipClass() {
+ var $tip = $$$1(this.getTipElement());
+ var tabClass = $tip.attr('class').match(BSCLS_PREFIX_REGEX);
+
+ if (tabClass !== null && tabClass.length > 0) {
+ $tip.removeClass(tabClass.join(''));
+ }
+ };
+
+ _proto._handlePopperPlacementChange = function _handlePopperPlacementChange(data) {
+ this._cleanTipClass();
+
+ this.addAttachmentClass(this._getAttachment(data.placement));
+ };
+
+ _proto._fixTransition = function _fixTransition() {
+ var tip = this.getTipElement();
+ var initConfigAnimation = this.config.animation;
+
+ if (tip.getAttribute('x-placement') !== null) {
+ return;
+ }
+
+ $$$1(tip).removeClass(ClassName.FADE);
+ this.config.animation = false;
+ this.hide();
+ this.show();
+ this.config.animation = initConfigAnimation;
+ }; // Static
+
+
+ Tooltip._jQueryInterface = function _jQueryInterface(config) {
+ return this.each(function () {
+ var data = $$$1(this).data(DATA_KEY);
+
+ var _config = typeof config === 'object' && config;
+
+ if (!data && /dispose|hide/.test(config)) {
+ return;
+ }
+
+ if (!data) {
+ data = new Tooltip(this, _config);
+ $$$1(this).data(DATA_KEY, data);
+ }
+
+ if (typeof config === 'string') {
+ if (typeof data[config] === 'undefined') {
+ throw new TypeError("No method named \"" + config + "\"");
+ }
+
+ data[config]();
+ }
+ });
+ };
+
+ _createClass(Tooltip, null, [{
+ key: "VERSION",
+ get: function get() {
+ return VERSION;
+ }
+ }, {
+ key: "Default",
+ get: function get() {
+ return Default;
+ }
+ }, {
+ key: "NAME",
+ get: function get() {
+ return NAME;
+ }
+ }, {
+ key: "DATA_KEY",
+ get: function get() {
+ return DATA_KEY;
+ }
+ }, {
+ key: "Event",
+ get: function get() {
+ return Event;
+ }
+ }, {
+ key: "EVENT_KEY",
+ get: function get() {
+ return EVENT_KEY;
+ }
+ }, {
+ key: "DefaultType",
+ get: function get() {
+ return DefaultType;
+ }
+ }]);
+ return Tooltip;
+ }();
+ /**
+ * ------------------------------------------------------------------------
+ * jQuery
+ * ------------------------------------------------------------------------
+ */
+
+
+ $$$1.fn[NAME] = Tooltip._jQueryInterface;
+ $$$1.fn[NAME].Constructor = Tooltip;
+
+ $$$1.fn[NAME].noConflict = function () {
+ $$$1.fn[NAME] = JQUERY_NO_CONFLICT;
+ return Tooltip._jQueryInterface;
+ };
+
+ return Tooltip;
+}($, Popper);
+
+/**
+ * --------------------------------------------------------------------------
+ * Bootstrap (v4.0.0): popover.js
+ * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
+ * --------------------------------------------------------------------------
+ */
+
+var Popover = function ($$$1) {
+ /**
+ * ------------------------------------------------------------------------
+ * Constants
+ * ------------------------------------------------------------------------
+ */
+ var NAME = 'popover';
+ var VERSION = '4.0.0';
+ var DATA_KEY = 'bs.popover';
+ var EVENT_KEY = "." + DATA_KEY;
+ var JQUERY_NO_CONFLICT = $$$1.fn[NAME];
+ var CLASS_PREFIX = 'bs-popover';
+ var BSCLS_PREFIX_REGEX = new RegExp("(^|\\s)" + CLASS_PREFIX + "\\S+", 'g');
+ var Default = _extends({}, Tooltip.Default, {
+ placement: 'right',
+ trigger: 'click',
+ content: '',
+ template: ''
+ });
+ var DefaultType = _extends({}, Tooltip.DefaultType, {
+ content: '(string|element|function)'
+ });
+ var ClassName = {
+ FADE: 'fade',
+ SHOW: 'show'
+ };
+ var Selector = {
+ TITLE: '.popover-header',
+ CONTENT: '.popover-body'
+ };
+ var Event = {
+ HIDE: "hide" + EVENT_KEY,
+ HIDDEN: "hidden" + EVENT_KEY,
+ SHOW: "show" + EVENT_KEY,
+ SHOWN: "shown" + EVENT_KEY,
+ INSERTED: "inserted" + EVENT_KEY,
+ CLICK: "click" + EVENT_KEY,
+ FOCUSIN: "focusin" + EVENT_KEY,
+ FOCUSOUT: "focusout" + EVENT_KEY,
+ MOUSEENTER: "mouseenter" + EVENT_KEY,
+ MOUSELEAVE: "mouseleave" + EVENT_KEY
+ /**
+ * ------------------------------------------------------------------------
+ * Class Definition
+ * ------------------------------------------------------------------------
+ */
+
+ };
+
+ var Popover =
+ /*#__PURE__*/
+ function (_Tooltip) {
+ _inheritsLoose(Popover, _Tooltip);
+
+ function Popover() {
+ return _Tooltip.apply(this, arguments) || this;
+ }
+
+ var _proto = Popover.prototype;
+
+ // Overrides
+ _proto.isWithContent = function isWithContent() {
+ return this.getTitle() || this._getContent();
+ };
+
+ _proto.addAttachmentClass = function addAttachmentClass(attachment) {
+ $$$1(this.getTipElement()).addClass(CLASS_PREFIX + "-" + attachment);
+ };
+
+ _proto.getTipElement = function getTipElement() {
+ this.tip = this.tip || $$$1(this.config.template)[0];
+ return this.tip;
+ };
+
+ _proto.setContent = function setContent() {
+ var $tip = $$$1(this.getTipElement()); // We use append for html objects to maintain js events
+
+ this.setElementContent($tip.find(Selector.TITLE), this.getTitle());
+
+ var content = this._getContent();
+
+ if (typeof content === 'function') {
+ content = content.call(this.element);
+ }
+
+ this.setElementContent($tip.find(Selector.CONTENT), content);
+ $tip.removeClass(ClassName.FADE + " " + ClassName.SHOW);
+ }; // Private
+
+
+ _proto._getContent = function _getContent() {
+ return this.element.getAttribute('data-content') || this.config.content;
+ };
+
+ _proto._cleanTipClass = function _cleanTipClass() {
+ var $tip = $$$1(this.getTipElement());
+ var tabClass = $tip.attr('class').match(BSCLS_PREFIX_REGEX);
+
+ if (tabClass !== null && tabClass.length > 0) {
+ $tip.removeClass(tabClass.join(''));
+ }
+ }; // Static
+
+
+ Popover._jQueryInterface = function _jQueryInterface(config) {
+ return this.each(function () {
+ var data = $$$1(this).data(DATA_KEY);
+
+ var _config = typeof config === 'object' ? config : null;
+
+ if (!data && /destroy|hide/.test(config)) {
+ return;
+ }
+
+ if (!data) {
+ data = new Popover(this, _config);
+ $$$1(this).data(DATA_KEY, data);
+ }
+
+ if (typeof config === 'string') {
+ if (typeof data[config] === 'undefined') {
+ throw new TypeError("No method named \"" + config + "\"");
+ }
+
+ data[config]();
+ }
+ });
+ };
+
+ _createClass(Popover, null, [{
+ key: "VERSION",
+ // Getters
+ get: function get() {
+ return VERSION;
+ }
+ }, {
+ key: "Default",
+ get: function get() {
+ return Default;
+ }
+ }, {
+ key: "NAME",
+ get: function get() {
+ return NAME;
+ }
+ }, {
+ key: "DATA_KEY",
+ get: function get() {
+ return DATA_KEY;
+ }
+ }, {
+ key: "Event",
+ get: function get() {
+ return Event;
+ }
+ }, {
+ key: "EVENT_KEY",
+ get: function get() {
+ return EVENT_KEY;
+ }
+ }, {
+ key: "DefaultType",
+ get: function get() {
+ return DefaultType;
+ }
+ }]);
+ return Popover;
+ }(Tooltip);
+ /**
+ * ------------------------------------------------------------------------
+ * jQuery
+ * ------------------------------------------------------------------------
+ */
+
+
+ $$$1.fn[NAME] = Popover._jQueryInterface;
+ $$$1.fn[NAME].Constructor = Popover;
+
+ $$$1.fn[NAME].noConflict = function () {
+ $$$1.fn[NAME] = JQUERY_NO_CONFLICT;
+ return Popover._jQueryInterface;
+ };
+
+ return Popover;
+}($);
+
+/**
+ * --------------------------------------------------------------------------
+ * Bootstrap (v4.0.0): scrollspy.js
+ * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
+ * --------------------------------------------------------------------------
+ */
+
+var ScrollSpy = function ($$$1) {
+ /**
+ * ------------------------------------------------------------------------
+ * Constants
+ * ------------------------------------------------------------------------
+ */
+ var NAME = 'scrollspy';
+ var VERSION = '4.0.0';
+ var DATA_KEY = 'bs.scrollspy';
+ var EVENT_KEY = "." + DATA_KEY;
+ var DATA_API_KEY = '.data-api';
+ var JQUERY_NO_CONFLICT = $$$1.fn[NAME];
+ var Default = {
+ offset: 10,
+ method: 'auto',
+ target: ''
+ };
+ var DefaultType = {
+ offset: 'number',
+ method: 'string',
+ target: '(string|element)'
+ };
+ var Event = {
+ ACTIVATE: "activate" + EVENT_KEY,
+ SCROLL: "scroll" + EVENT_KEY,
+ LOAD_DATA_API: "load" + EVENT_KEY + DATA_API_KEY
+ };
+ var ClassName = {
+ DROPDOWN_ITEM: 'dropdown-item',
+ DROPDOWN_MENU: 'dropdown-menu',
+ ACTIVE: 'active'
+ };
+ var Selector = {
+ DATA_SPY: '[data-spy="scroll"]',
+ ACTIVE: '.active',
+ NAV_LIST_GROUP: '.nav, .list-group',
+ NAV_LINKS: '.nav-link',
+ NAV_ITEMS: '.nav-item',
+ LIST_ITEMS: '.list-group-item',
+ DROPDOWN: '.dropdown',
+ DROPDOWN_ITEMS: '.dropdown-item',
+ DROPDOWN_TOGGLE: '.dropdown-toggle'
+ };
+ var OffsetMethod = {
+ OFFSET: 'offset',
+ POSITION: 'position'
+ /**
+ * ------------------------------------------------------------------------
+ * Class Definition
+ * ------------------------------------------------------------------------
+ */
+
+ };
+
+ var ScrollSpy =
+ /*#__PURE__*/
+ function () {
+ function ScrollSpy(element, config) {
+ var _this = this;
+
+ this._element = element;
+ this._scrollElement = element.tagName === 'BODY' ? window : element;
+ this._config = this._getConfig(config);
+ this._selector = this._config.target + " " + Selector.NAV_LINKS + "," + (this._config.target + " " + Selector.LIST_ITEMS + ",") + (this._config.target + " " + Selector.DROPDOWN_ITEMS);
+ this._offsets = [];
+ this._targets = [];
+ this._activeTarget = null;
+ this._scrollHeight = 0;
+ $$$1(this._scrollElement).on(Event.SCROLL, function (event) {
+ return _this._process(event);
+ });
+ this.refresh();
+
+ this._process();
+ } // Getters
+
+
+ var _proto = ScrollSpy.prototype;
+
+ // Public
+ _proto.refresh = function refresh() {
+ var _this2 = this;
+
+ var autoMethod = this._scrollElement === this._scrollElement.window ? OffsetMethod.OFFSET : OffsetMethod.POSITION;
+ var offsetMethod = this._config.method === 'auto' ? autoMethod : this._config.method;
+ var offsetBase = offsetMethod === OffsetMethod.POSITION ? this._getScrollTop() : 0;
+ this._offsets = [];
+ this._targets = [];
+ this._scrollHeight = this._getScrollHeight();
+ var targets = $$$1.makeArray($$$1(this._selector));
+ targets.map(function (element) {
+ var target;
+ var targetSelector = Util.getSelectorFromElement(element);
+
+ if (targetSelector) {
+ target = $$$1(targetSelector)[0];
+ }
+
+ if (target) {
+ var targetBCR = target.getBoundingClientRect();
+
+ if (targetBCR.width || targetBCR.height) {
+ // TODO (fat): remove sketch reliance on jQuery position/offset
+ return [$$$1(target)[offsetMethod]().top + offsetBase, targetSelector];
+ }
+ }
+
+ return null;
+ }).filter(function (item) {
+ return item;
+ }).sort(function (a, b) {
+ return a[0] - b[0];
+ }).forEach(function (item) {
+ _this2._offsets.push(item[0]);
+
+ _this2._targets.push(item[1]);
+ });
+ };
+
+ _proto.dispose = function dispose() {
+ $$$1.removeData(this._element, DATA_KEY);
+ $$$1(this._scrollElement).off(EVENT_KEY);
+ this._element = null;
+ this._scrollElement = null;
+ this._config = null;
+ this._selector = null;
+ this._offsets = null;
+ this._targets = null;
+ this._activeTarget = null;
+ this._scrollHeight = null;
+ }; // Private
+
+
+ _proto._getConfig = function _getConfig(config) {
+ config = _extends({}, Default, config);
+
+ if (typeof config.target !== 'string') {
+ var id = $$$1(config.target).attr('id');
+
+ if (!id) {
+ id = Util.getUID(NAME);
+ $$$1(config.target).attr('id', id);
+ }
+
+ config.target = "#" + id;
+ }
+
+ Util.typeCheckConfig(NAME, config, DefaultType);
+ return config;
+ };
+
+ _proto._getScrollTop = function _getScrollTop() {
+ return this._scrollElement === window ? this._scrollElement.pageYOffset : this._scrollElement.scrollTop;
+ };
+
+ _proto._getScrollHeight = function _getScrollHeight() {
+ return this._scrollElement.scrollHeight || Math.max(document.body.scrollHeight, document.documentElement.scrollHeight);
+ };
+
+ _proto._getOffsetHeight = function _getOffsetHeight() {
+ return this._scrollElement === window ? window.innerHeight : this._scrollElement.getBoundingClientRect().height;
+ };
+
+ _proto._process = function _process() {
+ var scrollTop = this._getScrollTop() + this._config.offset;
+
+ var scrollHeight = this._getScrollHeight();
+
+ var maxScroll = this._config.offset + scrollHeight - this._getOffsetHeight();
+
+ if (this._scrollHeight !== scrollHeight) {
+ this.refresh();
+ }
+
+ if (scrollTop >= maxScroll) {
+ var target = this._targets[this._targets.length - 1];
+
+ if (this._activeTarget !== target) {
+ this._activate(target);
+ }
+
+ return;
+ }
+
+ if (this._activeTarget && scrollTop < this._offsets[0] && this._offsets[0] > 0) {
+ this._activeTarget = null;
+
+ this._clear();
+
+ return;
+ }
+
+ for (var i = this._offsets.length; i--;) {
+ var isActiveTarget = this._activeTarget !== this._targets[i] && scrollTop >= this._offsets[i] && (typeof this._offsets[i + 1] === 'undefined' || scrollTop < this._offsets[i + 1]);
+
+ if (isActiveTarget) {
+ this._activate(this._targets[i]);
+ }
+ }
+ };
+
+ _proto._activate = function _activate(target) {
+ this._activeTarget = target;
+
+ this._clear();
+
+ var queries = this._selector.split(','); // eslint-disable-next-line arrow-body-style
+
+
+ queries = queries.map(function (selector) {
+ return selector + "[data-target=\"" + target + "\"]," + (selector + "[href=\"" + target + "\"]");
+ });
+ var $link = $$$1(queries.join(','));
+
+ if ($link.hasClass(ClassName.DROPDOWN_ITEM)) {
+ $link.closest(Selector.DROPDOWN).find(Selector.DROPDOWN_TOGGLE).addClass(ClassName.ACTIVE);
+ $link.addClass(ClassName.ACTIVE);
+ } else {
+ // Set triggered link as active
+ $link.addClass(ClassName.ACTIVE); // Set triggered links parents as active
+ // With both and markup a parent is the previous sibling of any nav ancestor
+
+ $link.parents(Selector.NAV_LIST_GROUP).prev(Selector.NAV_LINKS + ", " + Selector.LIST_ITEMS).addClass(ClassName.ACTIVE); // Handle special case when .nav-link is inside .nav-item
+
+ $link.parents(Selector.NAV_LIST_GROUP).prev(Selector.NAV_ITEMS).children(Selector.NAV_LINKS).addClass(ClassName.ACTIVE);
+ }
+
+ $$$1(this._scrollElement).trigger(Event.ACTIVATE, {
+ relatedTarget: target
+ });
+ };
+
+ _proto._clear = function _clear() {
+ $$$1(this._selector).filter(Selector.ACTIVE).removeClass(ClassName.ACTIVE);
+ }; // Static
+
+
+ ScrollSpy._jQueryInterface = function _jQueryInterface(config) {
+ return this.each(function () {
+ var data = $$$1(this).data(DATA_KEY);
+
+ var _config = typeof config === 'object' && config;
+
+ if (!data) {
+ data = new ScrollSpy(this, _config);
+ $$$1(this).data(DATA_KEY, data);
+ }
+
+ if (typeof config === 'string') {
+ if (typeof data[config] === 'undefined') {
+ throw new TypeError("No method named \"" + config + "\"");
+ }
+
+ data[config]();
+ }
+ });
+ };
+
+ _createClass(ScrollSpy, null, [{
+ key: "VERSION",
+ get: function get() {
+ return VERSION;
+ }
+ }, {
+ key: "Default",
+ get: function get() {
+ return Default;
+ }
+ }]);
+ return ScrollSpy;
+ }();
+ /**
+ * ------------------------------------------------------------------------
+ * Data Api implementation
+ * ------------------------------------------------------------------------
+ */
+
+
+ $$$1(window).on(Event.LOAD_DATA_API, function () {
+ var scrollSpys = $$$1.makeArray($$$1(Selector.DATA_SPY));
+
+ for (var i = scrollSpys.length; i--;) {
+ var $spy = $$$1(scrollSpys[i]);
+
+ ScrollSpy._jQueryInterface.call($spy, $spy.data());
+ }
+ });
+ /**
+ * ------------------------------------------------------------------------
+ * jQuery
+ * ------------------------------------------------------------------------
+ */
+
+ $$$1.fn[NAME] = ScrollSpy._jQueryInterface;
+ $$$1.fn[NAME].Constructor = ScrollSpy;
+
+ $$$1.fn[NAME].noConflict = function () {
+ $$$1.fn[NAME] = JQUERY_NO_CONFLICT;
+ return ScrollSpy._jQueryInterface;
+ };
+
+ return ScrollSpy;
+}($);
+
+/**
+ * --------------------------------------------------------------------------
+ * Bootstrap (v4.0.0): tab.js
+ * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
+ * --------------------------------------------------------------------------
+ */
+
+var Tab = function ($$$1) {
+ /**
+ * ------------------------------------------------------------------------
+ * Constants
+ * ------------------------------------------------------------------------
+ */
+ var NAME = 'tab';
+ var VERSION = '4.0.0';
+ var DATA_KEY = 'bs.tab';
+ var EVENT_KEY = "." + DATA_KEY;
+ var DATA_API_KEY = '.data-api';
+ var JQUERY_NO_CONFLICT = $$$1.fn[NAME];
+ var TRANSITION_DURATION = 150;
+ var Event = {
+ HIDE: "hide" + EVENT_KEY,
+ HIDDEN: "hidden" + EVENT_KEY,
+ SHOW: "show" + EVENT_KEY,
+ SHOWN: "shown" + EVENT_KEY,
+ CLICK_DATA_API: "click" + EVENT_KEY + DATA_API_KEY
+ };
+ var ClassName = {
+ DROPDOWN_MENU: 'dropdown-menu',
+ ACTIVE: 'active',
+ DISABLED: 'disabled',
+ FADE: 'fade',
+ SHOW: 'show'
+ };
+ var Selector = {
+ DROPDOWN: '.dropdown',
+ NAV_LIST_GROUP: '.nav, .list-group',
+ ACTIVE: '.active',
+ ACTIVE_UL: '> li > .active',
+ DATA_TOGGLE: '[data-toggle="tab"], [data-toggle="pill"], [data-toggle="list"]',
+ DROPDOWN_TOGGLE: '.dropdown-toggle',
+ DROPDOWN_ACTIVE_CHILD: '> .dropdown-menu .active'
+ /**
+ * ------------------------------------------------------------------------
+ * Class Definition
+ * ------------------------------------------------------------------------
+ */
+
+ };
+
+ var Tab =
+ /*#__PURE__*/
+ function () {
+ function Tab(element) {
+ this._element = element;
+ } // Getters
+
+
+ var _proto = Tab.prototype;
+
+ // Public
+ _proto.show = function show() {
+ var _this = this;
+
+ if (this._element.parentNode && this._element.parentNode.nodeType === Node.ELEMENT_NODE && $$$1(this._element).hasClass(ClassName.ACTIVE) || $$$1(this._element).hasClass(ClassName.DISABLED)) {
+ return;
+ }
+
+ var target;
+ var previous;
+ var listElement = $$$1(this._element).closest(Selector.NAV_LIST_GROUP)[0];
+ var selector = Util.getSelectorFromElement(this._element);
+
+ if (listElement) {
+ var itemSelector = listElement.nodeName === 'UL' ? Selector.ACTIVE_UL : Selector.ACTIVE;
+ previous = $$$1.makeArray($$$1(listElement).find(itemSelector));
+ previous = previous[previous.length - 1];
+ }
+
+ var hideEvent = $$$1.Event(Event.HIDE, {
+ relatedTarget: this._element
+ });
+ var showEvent = $$$1.Event(Event.SHOW, {
+ relatedTarget: previous
+ });
+
+ if (previous) {
+ $$$1(previous).trigger(hideEvent);
+ }
+
+ $$$1(this._element).trigger(showEvent);
+
+ if (showEvent.isDefaultPrevented() || hideEvent.isDefaultPrevented()) {
+ return;
+ }
+
+ if (selector) {
+ target = $$$1(selector)[0];
+ }
+
+ this._activate(this._element, listElement);
+
+ var complete = function complete() {
+ var hiddenEvent = $$$1.Event(Event.HIDDEN, {
+ relatedTarget: _this._element
+ });
+ var shownEvent = $$$1.Event(Event.SHOWN, {
+ relatedTarget: previous
+ });
+ $$$1(previous).trigger(hiddenEvent);
+ $$$1(_this._element).trigger(shownEvent);
+ };
+
+ if (target) {
+ this._activate(target, target.parentNode, complete);
+ } else {
+ complete();
+ }
+ };
+
+ _proto.dispose = function dispose() {
+ $$$1.removeData(this._element, DATA_KEY);
+ this._element = null;
+ }; // Private
+
+
+ _proto._activate = function _activate(element, container, callback) {
+ var _this2 = this;
+
+ var activeElements;
+
+ if (container.nodeName === 'UL') {
+ activeElements = $$$1(container).find(Selector.ACTIVE_UL);
+ } else {
+ activeElements = $$$1(container).children(Selector.ACTIVE);
+ }
+
+ var active = activeElements[0];
+ var isTransitioning = callback && Util.supportsTransitionEnd() && active && $$$1(active).hasClass(ClassName.FADE);
+
+ var complete = function complete() {
+ return _this2._transitionComplete(element, active, callback);
+ };
+
+ if (active && isTransitioning) {
+ $$$1(active).one(Util.TRANSITION_END, complete).emulateTransitionEnd(TRANSITION_DURATION);
+ } else {
+ complete();
+ }
+ };
+
+ _proto._transitionComplete = function _transitionComplete(element, active, callback) {
+ if (active) {
+ $$$1(active).removeClass(ClassName.SHOW + " " + ClassName.ACTIVE);
+ var dropdownChild = $$$1(active.parentNode).find(Selector.DROPDOWN_ACTIVE_CHILD)[0];
+
+ if (dropdownChild) {
+ $$$1(dropdownChild).removeClass(ClassName.ACTIVE);
+ }
+
+ if (active.getAttribute('role') === 'tab') {
+ active.setAttribute('aria-selected', false);
+ }
+ }
+
+ $$$1(element).addClass(ClassName.ACTIVE);
+
+ if (element.getAttribute('role') === 'tab') {
+ element.setAttribute('aria-selected', true);
+ }
+
+ Util.reflow(element);
+ $$$1(element).addClass(ClassName.SHOW);
+
+ if (element.parentNode && $$$1(element.parentNode).hasClass(ClassName.DROPDOWN_MENU)) {
+ var dropdownElement = $$$1(element).closest(Selector.DROPDOWN)[0];
+
+ if (dropdownElement) {
+ $$$1(dropdownElement).find(Selector.DROPDOWN_TOGGLE).addClass(ClassName.ACTIVE);
+ }
+
+ element.setAttribute('aria-expanded', true);
+ }
+
+ if (callback) {
+ callback();
+ }
+ }; // Static
+
+
+ Tab._jQueryInterface = function _jQueryInterface(config) {
+ return this.each(function () {
+ var $this = $$$1(this);
+ var data = $this.data(DATA_KEY);
+
+ if (!data) {
+ data = new Tab(this);
+ $this.data(DATA_KEY, data);
+ }
+
+ if (typeof config === 'string') {
+ if (typeof data[config] === 'undefined') {
+ throw new TypeError("No method named \"" + config + "\"");
+ }
+
+ data[config]();
+ }
+ });
+ };
+
+ _createClass(Tab, null, [{
+ key: "VERSION",
+ get: function get() {
+ return VERSION;
+ }
+ }]);
+ return Tab;
+ }();
+ /**
+ * ------------------------------------------------------------------------
+ * Data Api implementation
+ * ------------------------------------------------------------------------
+ */
+
+
+ $$$1(document).on(Event.CLICK_DATA_API, Selector.DATA_TOGGLE, function (event) {
+ event.preventDefault();
+
+ Tab._jQueryInterface.call($$$1(this), 'show');
+ });
+ /**
+ * ------------------------------------------------------------------------
+ * jQuery
+ * ------------------------------------------------------------------------
+ */
+
+ $$$1.fn[NAME] = Tab._jQueryInterface;
+ $$$1.fn[NAME].Constructor = Tab;
+
+ $$$1.fn[NAME].noConflict = function () {
+ $$$1.fn[NAME] = JQUERY_NO_CONFLICT;
+ return Tab._jQueryInterface;
+ };
+
+ return Tab;
+}($);
+
+/**
+ * --------------------------------------------------------------------------
+ * Bootstrap (v4.0.0-alpha.6): index.js
+ * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
+ * --------------------------------------------------------------------------
+ */
+
+(function ($$$1) {
+ if (typeof $$$1 === 'undefined') {
+ throw new TypeError('Bootstrap\'s JavaScript requires jQuery. jQuery must be included before Bootstrap\'s JavaScript.');
+ }
+
+ var version = $$$1.fn.jquery.split(' ')[0].split('.');
+ var minMajor = 1;
+ var ltMajor = 2;
+ var minMinor = 9;
+ var minPatch = 1;
+ var maxMajor = 4;
+
+ if (version[0] < ltMajor && version[1] < minMinor || version[0] === minMajor && version[1] === minMinor && version[2] < minPatch || version[0] >= maxMajor) {
+ throw new Error('Bootstrap\'s JavaScript requires at least jQuery v1.9.1 but less than v4.0.0');
+ }
+})($);
+
+exports.Util = Util;
+exports.Alert = Alert;
+exports.Button = Button;
+exports.Carousel = Carousel;
+exports.Collapse = Collapse;
+exports.Dropdown = Dropdown;
+exports.Modal = Modal;
+exports.Popover = Popover;
+exports.Scrollspy = ScrollSpy;
+exports.Tab = Tab;
+exports.Tooltip = Tooltip;
+
+Object.defineProperty(exports, '__esModule', { value: true });
+
+})));
+//# sourceMappingURL=bootstrap.js.map
diff --git a/web/themes/dedrone/js/libs/bootstrap/bootstrap.min.js b/web/themes/dedrone/js/libs/bootstrap/bootstrap.min.js
new file mode 100644
index 0000000..534d533
--- /dev/null
+++ b/web/themes/dedrone/js/libs/bootstrap/bootstrap.min.js
@@ -0,0 +1,7 @@
+/*!
+ * Bootstrap v4.0.0 (https://getbootstrap.com)
+ * Copyright 2011-2018 The Bootstrap Authors (https://github.com/twbs/bootstrap/graphs/contributors)
+ * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
+ */
+!function(t,e){"object"==typeof exports&&"undefined"!=typeof module?e(exports,require("jquery"),require("popper.js")):"function"==typeof define&&define.amd?define(["exports","jquery","popper.js"],e):e(t.bootstrap={},t.jQuery,t.Popper)}(this,function(t,e,n){"use strict";function i(t,e){for(var n=0;n0?i:null}catch(t){return null}},reflow:function(t){return t.offsetHeight},triggerTransitionEnd:function(n){t(n).trigger(e.end)},supportsTransitionEnd:function(){return Boolean(e)},isElement:function(t){return(t[0]||t).nodeType},typeCheckConfig:function(t,e,n){for(var s in n)if(Object.prototype.hasOwnProperty.call(n,s)){var r=n[s],o=e[s],a=o&&i.isElement(o)?"element":(l=o,{}.toString.call(l).match(/\s([a-zA-Z]+)/)[1].toLowerCase());if(!new RegExp(r).test(a))throw new Error(t.toUpperCase()+': Option "'+s+'" provided type "'+a+'" but expected type "'+r+'".')}var l}};return e=("undefined"==typeof window||!window.QUnit)&&{end:"transitionend"},t.fn.emulateTransitionEnd=n,i.supportsTransitionEnd()&&(t.event.special[i.TRANSITION_END]={bindType:e.end,delegateType:e.end,handle:function(e){if(t(e.target).is(this))return e.handleObj.handler.apply(this,arguments)}}),i}(e),L=(a="alert",h="."+(l="bs.alert"),c=(o=e).fn[a],u={CLOSE:"close"+h,CLOSED:"closed"+h,CLICK_DATA_API:"click"+h+".data-api"},f="alert",d="fade",_="show",g=function(){function t(t){this._element=t}var e=t.prototype;return e.close=function(t){t=t||this._element;var e=this._getRootElement(t);this._triggerCloseEvent(e).isDefaultPrevented()||this._removeElement(e)},e.dispose=function(){o.removeData(this._element,l),this._element=null},e._getRootElement=function(t){var e=P.getSelectorFromElement(t),n=!1;return e&&(n=o(e)[0]),n||(n=o(t).closest("."+f)[0]),n},e._triggerCloseEvent=function(t){var e=o.Event(u.CLOSE);return o(t).trigger(e),e},e._removeElement=function(t){var e=this;o(t).removeClass(_),P.supportsTransitionEnd()&&o(t).hasClass(d)?o(t).one(P.TRANSITION_END,function(n){return e._destroyElement(t,n)}).emulateTransitionEnd(150):this._destroyElement(t)},e._destroyElement=function(t){o(t).detach().trigger(u.CLOSED).remove()},t._jQueryInterface=function(e){return this.each(function(){var n=o(this),i=n.data(l);i||(i=new t(this),n.data(l,i)),"close"===e&&i[e](this)})},t._handleDismiss=function(t){return function(e){e&&e.preventDefault(),t.close(this)}},s(t,null,[{key:"VERSION",get:function(){return"4.0.0"}}]),t}(),o(document).on(u.CLICK_DATA_API,'[data-dismiss="alert"]',g._handleDismiss(new g)),o.fn[a]=g._jQueryInterface,o.fn[a].Constructor=g,o.fn[a].noConflict=function(){return o.fn[a]=c,g._jQueryInterface},g),R=(m="button",E="."+(v="bs.button"),T=".data-api",y=(p=e).fn[m],C="active",I="btn",A="focus",b='[data-toggle^="button"]',D='[data-toggle="buttons"]',S="input",w=".active",N=".btn",O={CLICK_DATA_API:"click"+E+T,FOCUS_BLUR_DATA_API:"focus"+E+T+" blur"+E+T},k=function(){function t(t){this._element=t}var e=t.prototype;return e.toggle=function(){var t=!0,e=!0,n=p(this._element).closest(D)[0];if(n){var i=p(this._element).find(S)[0];if(i){if("radio"===i.type)if(i.checked&&p(this._element).hasClass(C))t=!1;else{var s=p(n).find(w)[0];s&&p(s).removeClass(C)}if(t){if(i.hasAttribute("disabled")||n.hasAttribute("disabled")||i.classList.contains("disabled")||n.classList.contains("disabled"))return;i.checked=!p(this._element).hasClass(C),p(i).trigger("change")}i.focus(),e=!1}}e&&this._element.setAttribute("aria-pressed",!p(this._element).hasClass(C)),t&&p(this._element).toggleClass(C)},e.dispose=function(){p.removeData(this._element,v),this._element=null},t._jQueryInterface=function(e){return this.each(function(){var n=p(this).data(v);n||(n=new t(this),p(this).data(v,n)),"toggle"===e&&n[e]()})},s(t,null,[{key:"VERSION",get:function(){return"4.0.0"}}]),t}(),p(document).on(O.CLICK_DATA_API,b,function(t){t.preventDefault();var e=t.target;p(e).hasClass(I)||(e=p(e).closest(N)),k._jQueryInterface.call(p(e),"toggle")}).on(O.FOCUS_BLUR_DATA_API,b,function(t){var e=p(t.target).closest(N)[0];p(e).toggleClass(A,/^focus(in)?$/.test(t.type))}),p.fn[m]=k._jQueryInterface,p.fn[m].Constructor=k,p.fn[m].noConflict=function(){return p.fn[m]=y,k._jQueryInterface},k),j=function(t){var e="carousel",n="bs.carousel",i="."+n,o=t.fn[e],a={interval:5e3,keyboard:!0,slide:!1,pause:"hover",wrap:!0},l={interval:"(number|boolean)",keyboard:"boolean",slide:"(boolean|string)",pause:"(string|boolean)",wrap:"boolean"},h="next",c="prev",u="left",f="right",d={SLIDE:"slide"+i,SLID:"slid"+i,KEYDOWN:"keydown"+i,MOUSEENTER:"mouseenter"+i,MOUSELEAVE:"mouseleave"+i,TOUCHEND:"touchend"+i,LOAD_DATA_API:"load"+i+".data-api",CLICK_DATA_API:"click"+i+".data-api"},_="carousel",g="active",p="slide",m="carousel-item-right",v="carousel-item-left",E="carousel-item-next",T="carousel-item-prev",y={ACTIVE:".active",ACTIVE_ITEM:".active.carousel-item",ITEM:".carousel-item",NEXT_PREV:".carousel-item-next, .carousel-item-prev",INDICATORS:".carousel-indicators",DATA_SLIDE:"[data-slide], [data-slide-to]",DATA_RIDE:'[data-ride="carousel"]'},C=function(){function o(e,n){this._items=null,this._interval=null,this._activeElement=null,this._isPaused=!1,this._isSliding=!1,this.touchTimeout=null,this._config=this._getConfig(n),this._element=t(e)[0],this._indicatorsElement=t(this._element).find(y.INDICATORS)[0],this._addEventListeners()}var C=o.prototype;return C.next=function(){this._isSliding||this._slide(h)},C.nextWhenVisible=function(){!document.hidden&&t(this._element).is(":visible")&&"hidden"!==t(this._element).css("visibility")&&this.next()},C.prev=function(){this._isSliding||this._slide(c)},C.pause=function(e){e||(this._isPaused=!0),t(this._element).find(y.NEXT_PREV)[0]&&P.supportsTransitionEnd()&&(P.triggerTransitionEnd(this._element),this.cycle(!0)),clearInterval(this._interval),this._interval=null},C.cycle=function(t){t||(this._isPaused=!1),this._interval&&(clearInterval(this._interval),this._interval=null),this._config.interval&&!this._isPaused&&(this._interval=setInterval((document.visibilityState?this.nextWhenVisible:this.next).bind(this),this._config.interval))},C.to=function(e){var n=this;this._activeElement=t(this._element).find(y.ACTIVE_ITEM)[0];var i=this._getItemIndex(this._activeElement);if(!(e>this._items.length-1||e<0))if(this._isSliding)t(this._element).one(d.SLID,function(){return n.to(e)});else{if(i===e)return this.pause(),void this.cycle();var s=e>i?h:c;this._slide(s,this._items[e])}},C.dispose=function(){t(this._element).off(i),t.removeData(this._element,n),this._items=null,this._config=null,this._element=null,this._interval=null,this._isPaused=null,this._isSliding=null,this._activeElement=null,this._indicatorsElement=null},C._getConfig=function(t){return t=r({},a,t),P.typeCheckConfig(e,t,l),t},C._addEventListeners=function(){var e=this;this._config.keyboard&&t(this._element).on(d.KEYDOWN,function(t){return e._keydown(t)}),"hover"===this._config.pause&&(t(this._element).on(d.MOUSEENTER,function(t){return e.pause(t)}).on(d.MOUSELEAVE,function(t){return e.cycle(t)}),"ontouchstart"in document.documentElement&&t(this._element).on(d.TOUCHEND,function(){e.pause(),e.touchTimeout&&clearTimeout(e.touchTimeout),e.touchTimeout=setTimeout(function(t){return e.cycle(t)},500+e._config.interval)}))},C._keydown=function(t){if(!/input|textarea/i.test(t.target.tagName))switch(t.which){case 37:t.preventDefault(),this.prev();break;case 39:t.preventDefault(),this.next()}},C._getItemIndex=function(e){return this._items=t.makeArray(t(e).parent().find(y.ITEM)),this._items.indexOf(e)},C._getItemByDirection=function(t,e){var n=t===h,i=t===c,s=this._getItemIndex(e),r=this._items.length-1;if((i&&0===s||n&&s===r)&&!this._config.wrap)return e;var o=(s+(t===c?-1:1))%this._items.length;return-1===o?this._items[this._items.length-1]:this._items[o]},C._triggerSlideEvent=function(e,n){var i=this._getItemIndex(e),s=this._getItemIndex(t(this._element).find(y.ACTIVE_ITEM)[0]),r=t.Event(d.SLIDE,{relatedTarget:e,direction:n,from:s,to:i});return t(this._element).trigger(r),r},C._setActiveIndicatorElement=function(e){if(this._indicatorsElement){t(this._indicatorsElement).find(y.ACTIVE).removeClass(g);var n=this._indicatorsElement.children[this._getItemIndex(e)];n&&t(n).addClass(g)}},C._slide=function(e,n){var i,s,r,o=this,a=t(this._element).find(y.ACTIVE_ITEM)[0],l=this._getItemIndex(a),c=n||a&&this._getItemByDirection(e,a),_=this._getItemIndex(c),C=Boolean(this._interval);if(e===h?(i=v,s=E,r=u):(i=m,s=T,r=f),c&&t(c).hasClass(g))this._isSliding=!1;else if(!this._triggerSlideEvent(c,r).isDefaultPrevented()&&a&&c){this._isSliding=!0,C&&this.pause(),this._setActiveIndicatorElement(c);var I=t.Event(d.SLID,{relatedTarget:c,direction:r,from:l,to:_});P.supportsTransitionEnd()&&t(this._element).hasClass(p)?(t(c).addClass(s),P.reflow(c),t(a).addClass(i),t(c).addClass(i),t(a).one(P.TRANSITION_END,function(){t(c).removeClass(i+" "+s).addClass(g),t(a).removeClass(g+" "+s+" "+i),o._isSliding=!1,setTimeout(function(){return t(o._element).trigger(I)},0)}).emulateTransitionEnd(600)):(t(a).removeClass(g),t(c).addClass(g),this._isSliding=!1,t(this._element).trigger(I)),C&&this.cycle()}},o._jQueryInterface=function(e){return this.each(function(){var i=t(this).data(n),s=r({},a,t(this).data());"object"==typeof e&&(s=r({},s,e));var l="string"==typeof e?e:s.slide;if(i||(i=new o(this,s),t(this).data(n,i)),"number"==typeof e)i.to(e);else if("string"==typeof l){if("undefined"==typeof i[l])throw new TypeError('No method named "'+l+'"');i[l]()}else s.interval&&(i.pause(),i.cycle())})},o._dataApiClickHandler=function(e){var i=P.getSelectorFromElement(this);if(i){var s=t(i)[0];if(s&&t(s).hasClass(_)){var a=r({},t(s).data(),t(this).data()),l=this.getAttribute("data-slide-to");l&&(a.interval=!1),o._jQueryInterface.call(t(s),a),l&&t(s).data(n).to(l),e.preventDefault()}}},s(o,null,[{key:"VERSION",get:function(){return"4.0.0"}},{key:"Default",get:function(){return a}}]),o}();return t(document).on(d.CLICK_DATA_API,y.DATA_SLIDE,C._dataApiClickHandler),t(window).on(d.LOAD_DATA_API,function(){t(y.DATA_RIDE).each(function(){var e=t(this);C._jQueryInterface.call(e,e.data())})}),t.fn[e]=C._jQueryInterface,t.fn[e].Constructor=C,t.fn[e].noConflict=function(){return t.fn[e]=o,C._jQueryInterface},C}(e),H=function(t){var e="collapse",n="bs.collapse",i="."+n,o=t.fn[e],a={toggle:!0,parent:""},l={toggle:"boolean",parent:"(string|element)"},h={SHOW:"show"+i,SHOWN:"shown"+i,HIDE:"hide"+i,HIDDEN:"hidden"+i,CLICK_DATA_API:"click"+i+".data-api"},c="show",u="collapse",f="collapsing",d="collapsed",_="width",g="height",p={ACTIVES:".show, .collapsing",DATA_TOGGLE:'[data-toggle="collapse"]'},m=function(){function i(e,n){this._isTransitioning=!1,this._element=e,this._config=this._getConfig(n),this._triggerArray=t.makeArray(t('[data-toggle="collapse"][href="#'+e.id+'"],[data-toggle="collapse"][data-target="#'+e.id+'"]'));for(var i=t(p.DATA_TOGGLE),s=0;s0&&(this._selector=o,this._triggerArray.push(r))}this._parent=this._config.parent?this._getParent():null,this._config.parent||this._addAriaAndCollapsedClass(this._element,this._triggerArray),this._config.toggle&&this.toggle()}var o=i.prototype;return o.toggle=function(){t(this._element).hasClass(c)?this.hide():this.show()},o.show=function(){var e,s,r=this;if(!this._isTransitioning&&!t(this._element).hasClass(c)&&(this._parent&&0===(e=t.makeArray(t(this._parent).find(p.ACTIVES).filter('[data-parent="'+this._config.parent+'"]'))).length&&(e=null),!(e&&(s=t(e).not(this._selector).data(n))&&s._isTransitioning))){var o=t.Event(h.SHOW);if(t(this._element).trigger(o),!o.isDefaultPrevented()){e&&(i._jQueryInterface.call(t(e).not(this._selector),"hide"),s||t(e).data(n,null));var a=this._getDimension();t(this._element).removeClass(u).addClass(f),this._element.style[a]=0,this._triggerArray.length>0&&t(this._triggerArray).removeClass(d).attr("aria-expanded",!0),this.setTransitioning(!0);var l=function(){t(r._element).removeClass(f).addClass(u).addClass(c),r._element.style[a]="",r.setTransitioning(!1),t(r._element).trigger(h.SHOWN)};if(P.supportsTransitionEnd()){var _="scroll"+(a[0].toUpperCase()+a.slice(1));t(this._element).one(P.TRANSITION_END,l).emulateTransitionEnd(600),this._element.style[a]=this._element[_]+"px"}else l()}}},o.hide=function(){var e=this;if(!this._isTransitioning&&t(this._element).hasClass(c)){var n=t.Event(h.HIDE);if(t(this._element).trigger(n),!n.isDefaultPrevented()){var i=this._getDimension();if(this._element.style[i]=this._element.getBoundingClientRect()[i]+"px",P.reflow(this._element),t(this._element).addClass(f).removeClass(u).removeClass(c),this._triggerArray.length>0)for(var s=0;s0&&t(n).toggleClass(d,!i).attr("aria-expanded",i)}},i._getTargetFromElement=function(e){var n=P.getSelectorFromElement(e);return n?t(n)[0]:null},i._jQueryInterface=function(e){return this.each(function(){var s=t(this),o=s.data(n),l=r({},a,s.data(),"object"==typeof e&&e);if(!o&&l.toggle&&/show|hide/.test(e)&&(l.toggle=!1),o||(o=new i(this,l),s.data(n,o)),"string"==typeof e){if("undefined"==typeof o[e])throw new TypeError('No method named "'+e+'"');o[e]()}})},s(i,null,[{key:"VERSION",get:function(){return"4.0.0"}},{key:"Default",get:function(){return a}}]),i}();return t(document).on(h.CLICK_DATA_API,p.DATA_TOGGLE,function(e){"A"===e.currentTarget.tagName&&e.preventDefault();var i=t(this),s=P.getSelectorFromElement(this);t(s).each(function(){var e=t(this),s=e.data(n)?"toggle":i.data();m._jQueryInterface.call(e,s)})}),t.fn[e]=m._jQueryInterface,t.fn[e].Constructor=m,t.fn[e].noConflict=function(){return t.fn[e]=o,m._jQueryInterface},m}(e),W=function(t){var e="dropdown",i="bs.dropdown",o="."+i,a=".data-api",l=t.fn[e],h=new RegExp("38|40|27"),c={HIDE:"hide"+o,HIDDEN:"hidden"+o,SHOW:"show"+o,SHOWN:"shown"+o,CLICK:"click"+o,CLICK_DATA_API:"click"+o+a,KEYDOWN_DATA_API:"keydown"+o+a,KEYUP_DATA_API:"keyup"+o+a},u="disabled",f="show",d="dropup",_="dropright",g="dropleft",p="dropdown-menu-right",m="dropdown-menu-left",v="position-static",E='[data-toggle="dropdown"]',T=".dropdown form",y=".dropdown-menu",C=".navbar-nav",I=".dropdown-menu .dropdown-item:not(.disabled)",A="top-start",b="top-end",D="bottom-start",S="bottom-end",w="right-start",N="left-start",O={offset:0,flip:!0,boundary:"scrollParent"},k={offset:"(number|string|function)",flip:"boolean",boundary:"(string|element)"},L=function(){function a(t,e){this._element=t,this._popper=null,this._config=this._getConfig(e),this._menu=this._getMenuElement(),this._inNavbar=this._detectNavbar(),this._addEventListeners()}var l=a.prototype;return l.toggle=function(){if(!this._element.disabled&&!t(this._element).hasClass(u)){var e=a._getParentFromElement(this._element),i=t(this._menu).hasClass(f);if(a._clearMenus(),!i){var s={relatedTarget:this._element},r=t.Event(c.SHOW,s);if(t(e).trigger(r),!r.isDefaultPrevented()){if(!this._inNavbar){if("undefined"==typeof n)throw new TypeError("Bootstrap dropdown require Popper.js (https://popper.js.org)");var o=this._element;t(e).hasClass(d)&&(t(this._menu).hasClass(m)||t(this._menu).hasClass(p))&&(o=e),"scrollParent"!==this._config.boundary&&t(e).addClass(v),this._popper=new n(o,this._menu,this._getPopperConfig())}"ontouchstart"in document.documentElement&&0===t(e).closest(C).length&&t("body").children().on("mouseover",null,t.noop),this._element.focus(),this._element.setAttribute("aria-expanded",!0),t(this._menu).toggleClass(f),t(e).toggleClass(f).trigger(t.Event(c.SHOWN,s))}}}},l.dispose=function(){t.removeData(this._element,i),t(this._element).off(o),this._element=null,this._menu=null,null!==this._popper&&(this._popper.destroy(),this._popper=null)},l.update=function(){this._inNavbar=this._detectNavbar(),null!==this._popper&&this._popper.scheduleUpdate()},l._addEventListeners=function(){var e=this;t(this._element).on(c.CLICK,function(t){t.preventDefault(),t.stopPropagation(),e.toggle()})},l._getConfig=function(n){return n=r({},this.constructor.Default,t(this._element).data(),n),P.typeCheckConfig(e,n,this.constructor.DefaultType),n},l._getMenuElement=function(){if(!this._menu){var e=a._getParentFromElement(this._element);this._menu=t(e).find(y)[0]}return this._menu},l._getPlacement=function(){var e=t(this._element).parent(),n=D;return e.hasClass(d)?(n=A,t(this._menu).hasClass(p)&&(n=b)):e.hasClass(_)?n=w:e.hasClass(g)?n=N:t(this._menu).hasClass(p)&&(n=S),n},l._detectNavbar=function(){return t(this._element).closest(".navbar").length>0},l._getPopperConfig=function(){var t=this,e={};return"function"==typeof this._config.offset?e.fn=function(e){return e.offsets=r({},e.offsets,t._config.offset(e.offsets)||{}),e}:e.offset=this._config.offset,{placement:this._getPlacement(),modifiers:{offset:e,flip:{enabled:this._config.flip},preventOverflow:{boundariesElement:this._config.boundary}}}},a._jQueryInterface=function(e){return this.each(function(){var n=t(this).data(i);if(n||(n=new a(this,"object"==typeof e?e:null),t(this).data(i,n)),"string"==typeof e){if("undefined"==typeof n[e])throw new TypeError('No method named "'+e+'"');n[e]()}})},a._clearMenus=function(e){if(!e||3!==e.which&&("keyup"!==e.type||9===e.which))for(var n=t.makeArray(t(E)),s=0;s0&&r--,40===e.which&&rdocument.documentElement.clientHeight;!this._isBodyOverflowing&&t&&(this._element.style.paddingLeft=this._scrollbarWidth+"px"),this._isBodyOverflowing&&!t&&(this._element.style.paddingRight=this._scrollbarWidth+"px")},p._resetAdjustments=function(){this._element.style.paddingLeft="",this._element.style.paddingRight=""},p._checkScrollbar=function(){var t=document.body.getBoundingClientRect();this._isBodyOverflowing=t.left+t.right
',trigger:"hover focus",title:"",delay:0,html:!1,selector:!1,placement:"top",offset:0,container:!1,fallbackPlacement:"flip",boundary:"scrollParent"},f="show",d="out",_={HIDE:"hide"+o,HIDDEN:"hidden"+o,SHOW:"show"+o,SHOWN:"shown"+o,INSERTED:"inserted"+o,CLICK:"click"+o,FOCUSIN:"focusin"+o,FOCUSOUT:"focusout"+o,MOUSEENTER:"mouseenter"+o,MOUSELEAVE:"mouseleave"+o},g="fade",p="show",m=".tooltip-inner",v=".arrow",E="hover",T="focus",y="click",C="manual",I=function(){function a(t,e){if("undefined"==typeof n)throw new TypeError("Bootstrap tooltips require Popper.js (https://popper.js.org)");this._isEnabled=!0,this._timeout=0,this._hoverState="",this._activeTrigger={},this._popper=null,this.element=t,this.config=this._getConfig(e),this.tip=null,this._setListeners()}var I=a.prototype;return I.enable=function(){this._isEnabled=!0},I.disable=function(){this._isEnabled=!1},I.toggleEnabled=function(){this._isEnabled=!this._isEnabled},I.toggle=function(e){if(this._isEnabled)if(e){var n=this.constructor.DATA_KEY,i=t(e.currentTarget).data(n);i||(i=new this.constructor(e.currentTarget,this._getDelegateConfig()),t(e.currentTarget).data(n,i)),i._activeTrigger.click=!i._activeTrigger.click,i._isWithActiveTrigger()?i._enter(null,i):i._leave(null,i)}else{if(t(this.getTipElement()).hasClass(p))return void this._leave(null,this);this._enter(null,this)}},I.dispose=function(){clearTimeout(this._timeout),t.removeData(this.element,this.constructor.DATA_KEY),t(this.element).off(this.constructor.EVENT_KEY),t(this.element).closest(".modal").off("hide.bs.modal"),this.tip&&t(this.tip).remove(),this._isEnabled=null,this._timeout=null,this._hoverState=null,this._activeTrigger=null,null!==this._popper&&this._popper.destroy(),this._popper=null,this.element=null,this.config=null,this.tip=null},I.show=function(){var e=this;if("none"===t(this.element).css("display"))throw new Error("Please use show on visible elements");var i=t.Event(this.constructor.Event.SHOW);if(this.isWithContent()&&this._isEnabled){t(this.element).trigger(i);var s=t.contains(this.element.ownerDocument.documentElement,this.element);if(i.isDefaultPrevented()||!s)return;var r=this.getTipElement(),o=P.getUID(this.constructor.NAME);r.setAttribute("id",o),this.element.setAttribute("aria-describedby",o),this.setContent(),this.config.animation&&t(r).addClass(g);var l="function"==typeof this.config.placement?this.config.placement.call(this,r,this.element):this.config.placement,h=this._getAttachment(l);this.addAttachmentClass(h);var c=!1===this.config.container?document.body:t(this.config.container);t(r).data(this.constructor.DATA_KEY,this),t.contains(this.element.ownerDocument.documentElement,this.tip)||t(r).appendTo(c),t(this.element).trigger(this.constructor.Event.INSERTED),this._popper=new n(this.element,r,{placement:h,modifiers:{offset:{offset:this.config.offset},flip:{behavior:this.config.fallbackPlacement},arrow:{element:v},preventOverflow:{boundariesElement:this.config.boundary}},onCreate:function(t){t.originalPlacement!==t.placement&&e._handlePopperPlacementChange(t)},onUpdate:function(t){e._handlePopperPlacementChange(t)}}),t(r).addClass(p),"ontouchstart"in document.documentElement&&t("body").children().on("mouseover",null,t.noop);var u=function(){e.config.animation&&e._fixTransition();var n=e._hoverState;e._hoverState=null,t(e.element).trigger(e.constructor.Event.SHOWN),n===d&&e._leave(null,e)};P.supportsTransitionEnd()&&t(this.tip).hasClass(g)?t(this.tip).one(P.TRANSITION_END,u).emulateTransitionEnd(a._TRANSITION_DURATION):u()}},I.hide=function(e){var n=this,i=this.getTipElement(),s=t.Event(this.constructor.Event.HIDE),r=function(){n._hoverState!==f&&i.parentNode&&i.parentNode.removeChild(i),n._cleanTipClass(),n.element.removeAttribute("aria-describedby"),t(n.element).trigger(n.constructor.Event.HIDDEN),null!==n._popper&&n._popper.destroy(),e&&e()};t(this.element).trigger(s),s.isDefaultPrevented()||(t(i).removeClass(p),"ontouchstart"in document.documentElement&&t("body").children().off("mouseover",null,t.noop),this._activeTrigger[y]=!1,this._activeTrigger[T]=!1,this._activeTrigger[E]=!1,P.supportsTransitionEnd()&&t(this.tip).hasClass(g)?t(i).one(P.TRANSITION_END,r).emulateTransitionEnd(150):r(),this._hoverState="")},I.update=function(){null!==this._popper&&this._popper.scheduleUpdate()},I.isWithContent=function(){return Boolean(this.getTitle())},I.addAttachmentClass=function(e){t(this.getTipElement()).addClass("bs-tooltip-"+e)},I.getTipElement=function(){return this.tip=this.tip||t(this.config.template)[0],this.tip},I.setContent=function(){var e=t(this.getTipElement());this.setElementContent(e.find(m),this.getTitle()),e.removeClass(g+" "+p)},I.setElementContent=function(e,n){var i=this.config.html;"object"==typeof n&&(n.nodeType||n.jquery)?i?t(n).parent().is(e)||e.empty().append(n):e.text(t(n).text()):e[i?"html":"text"](n)},I.getTitle=function(){var t=this.element.getAttribute("data-original-title");return t||(t="function"==typeof this.config.title?this.config.title.call(this.element):this.config.title),t},I._getAttachment=function(t){return c[t.toUpperCase()]},I._setListeners=function(){var e=this;this.config.trigger.split(" ").forEach(function(n){if("click"===n)t(e.element).on(e.constructor.Event.CLICK,e.config.selector,function(t){return e.toggle(t)});else if(n!==C){var i=n===E?e.constructor.Event.MOUSEENTER:e.constructor.Event.FOCUSIN,s=n===E?e.constructor.Event.MOUSELEAVE:e.constructor.Event.FOCUSOUT;t(e.element).on(i,e.config.selector,function(t){return e._enter(t)}).on(s,e.config.selector,function(t){return e._leave(t)})}t(e.element).closest(".modal").on("hide.bs.modal",function(){return e.hide()})}),this.config.selector?this.config=r({},this.config,{trigger:"manual",selector:""}):this._fixTitle()},I._fixTitle=function(){var t=typeof this.element.getAttribute("data-original-title");(this.element.getAttribute("title")||"string"!==t)&&(this.element.setAttribute("data-original-title",this.element.getAttribute("title")||""),this.element.setAttribute("title",""))},I._enter=function(e,n){var i=this.constructor.DATA_KEY;(n=n||t(e.currentTarget).data(i))||(n=new this.constructor(e.currentTarget,this._getDelegateConfig()),t(e.currentTarget).data(i,n)),e&&(n._activeTrigger["focusin"===e.type?T:E]=!0),t(n.getTipElement()).hasClass(p)||n._hoverState===f?n._hoverState=f:(clearTimeout(n._timeout),n._hoverState=f,n.config.delay&&n.config.delay.show?n._timeout=setTimeout(function(){n._hoverState===f&&n.show()},n.config.delay.show):n.show())},I._leave=function(e,n){var i=this.constructor.DATA_KEY;(n=n||t(e.currentTarget).data(i))||(n=new this.constructor(e.currentTarget,this._getDelegateConfig()),t(e.currentTarget).data(i,n)),e&&(n._activeTrigger["focusout"===e.type?T:E]=!1),n._isWithActiveTrigger()||(clearTimeout(n._timeout),n._hoverState=d,n.config.delay&&n.config.delay.hide?n._timeout=setTimeout(function(){n._hoverState===d&&n.hide()},n.config.delay.hide):n.hide())},I._isWithActiveTrigger=function(){for(var t in this._activeTrigger)if(this._activeTrigger[t])return!0;return!1},I._getConfig=function(n){return"number"==typeof(n=r({},this.constructor.Default,t(this.element).data(),n)).delay&&(n.delay={show:n.delay,hide:n.delay}),"number"==typeof n.title&&(n.title=n.title.toString()),"number"==typeof n.content&&(n.content=n.content.toString()),P.typeCheckConfig(e,n,this.constructor.DefaultType),n},I._getDelegateConfig=function(){var t={};if(this.config)for(var e in this.config)this.constructor.Default[e]!==this.config[e]&&(t[e]=this.config[e]);return t},I._cleanTipClass=function(){var e=t(this.getTipElement()),n=e.attr("class").match(l);null!==n&&n.length>0&&e.removeClass(n.join(""))},I._handlePopperPlacementChange=function(t){this._cleanTipClass(),this.addAttachmentClass(this._getAttachment(t.placement))},I._fixTransition=function(){var e=this.getTipElement(),n=this.config.animation;null===e.getAttribute("x-placement")&&(t(e).removeClass(g),this.config.animation=!1,this.hide(),this.show(),this.config.animation=n)},a._jQueryInterface=function(e){return this.each(function(){var n=t(this).data(i),s="object"==typeof e&&e;if((n||!/dispose|hide/.test(e))&&(n||(n=new a(this,s),t(this).data(i,n)),"string"==typeof e)){if("undefined"==typeof n[e])throw new TypeError('No method named "'+e+'"');n[e]()}})},s(a,null,[{key:"VERSION",get:function(){return"4.0.0"}},{key:"Default",get:function(){return u}},{key:"NAME",get:function(){return e}},{key:"DATA_KEY",get:function(){return i}},{key:"Event",get:function(){return _}},{key:"EVENT_KEY",get:function(){return o}},{key:"DefaultType",get:function(){return h}}]),a}();return t.fn[e]=I._jQueryInterface,t.fn[e].Constructor=I,t.fn[e].noConflict=function(){return t.fn[e]=a,I._jQueryInterface},I}(e),x=function(t){var e="popover",n="bs.popover",i="."+n,o=t.fn[e],a=new RegExp("(^|\\s)bs-popover\\S+","g"),l=r({},U.Default,{placement:"right",trigger:"click",content:"",template:''}),h=r({},U.DefaultType,{content:"(string|element|function)"}),c="fade",u="show",f=".popover-header",d=".popover-body",_={HIDE:"hide"+i,HIDDEN:"hidden"+i,SHOW:"show"+i,SHOWN:"shown"+i,INSERTED:"inserted"+i,CLICK:"click"+i,FOCUSIN:"focusin"+i,FOCUSOUT:"focusout"+i,MOUSEENTER:"mouseenter"+i,MOUSELEAVE:"mouseleave"+i},g=function(r){var o,g;function p(){return r.apply(this,arguments)||this}g=r,(o=p).prototype=Object.create(g.prototype),o.prototype.constructor=o,o.__proto__=g;var m=p.prototype;return m.isWithContent=function(){return this.getTitle()||this._getContent()},m.addAttachmentClass=function(e){t(this.getTipElement()).addClass("bs-popover-"+e)},m.getTipElement=function(){return this.tip=this.tip||t(this.config.template)[0],this.tip},m.setContent=function(){var e=t(this.getTipElement());this.setElementContent(e.find(f),this.getTitle());var n=this._getContent();"function"==typeof n&&(n=n.call(this.element)),this.setElementContent(e.find(d),n),e.removeClass(c+" "+u)},m._getContent=function(){return this.element.getAttribute("data-content")||this.config.content},m._cleanTipClass=function(){var e=t(this.getTipElement()),n=e.attr("class").match(a);null!==n&&n.length>0&&e.removeClass(n.join(""))},p._jQueryInterface=function(e){return this.each(function(){var i=t(this).data(n),s="object"==typeof e?e:null;if((i||!/destroy|hide/.test(e))&&(i||(i=new p(this,s),t(this).data(n,i)),"string"==typeof e)){if("undefined"==typeof i[e])throw new TypeError('No method named "'+e+'"');i[e]()}})},s(p,null,[{key:"VERSION",get:function(){return"4.0.0"}},{key:"Default",get:function(){return l}},{key:"NAME",get:function(){return e}},{key:"DATA_KEY",get:function(){return n}},{key:"Event",get:function(){return _}},{key:"EVENT_KEY",get:function(){return i}},{key:"DefaultType",get:function(){return h}}]),p}(U);return t.fn[e]=g._jQueryInterface,t.fn[e].Constructor=g,t.fn[e].noConflict=function(){return t.fn[e]=o,g._jQueryInterface},g}(e),K=function(t){var e="scrollspy",n="bs.scrollspy",i="."+n,o=t.fn[e],a={offset:10,method:"auto",target:""},l={offset:"number",method:"string",target:"(string|element)"},h={ACTIVATE:"activate"+i,SCROLL:"scroll"+i,LOAD_DATA_API:"load"+i+".data-api"},c="dropdown-item",u="active",f={DATA_SPY:'[data-spy="scroll"]',ACTIVE:".active",NAV_LIST_GROUP:".nav, .list-group",NAV_LINKS:".nav-link",NAV_ITEMS:".nav-item",LIST_ITEMS:".list-group-item",DROPDOWN:".dropdown",DROPDOWN_ITEMS:".dropdown-item",DROPDOWN_TOGGLE:".dropdown-toggle"},d="offset",_="position",g=function(){function o(e,n){var i=this;this._element=e,this._scrollElement="BODY"===e.tagName?window:e,this._config=this._getConfig(n),this._selector=this._config.target+" "+f.NAV_LINKS+","+this._config.target+" "+f.LIST_ITEMS+","+this._config.target+" "+f.DROPDOWN_ITEMS,this._offsets=[],this._targets=[],this._activeTarget=null,this._scrollHeight=0,t(this._scrollElement).on(h.SCROLL,function(t){return i._process(t)}),this.refresh(),this._process()}var g=o.prototype;return g.refresh=function(){var e=this,n=this._scrollElement===this._scrollElement.window?d:_,i="auto"===this._config.method?n:this._config.method,s=i===_?this._getScrollTop():0;this._offsets=[],this._targets=[],this._scrollHeight=this._getScrollHeight(),t.makeArray(t(this._selector)).map(function(e){var n,r=P.getSelectorFromElement(e);if(r&&(n=t(r)[0]),n){var o=n.getBoundingClientRect();if(o.width||o.height)return[t(n)[i]().top+s,r]}return null}).filter(function(t){return t}).sort(function(t,e){return t[0]-e[0]}).forEach(function(t){e._offsets.push(t[0]),e._targets.push(t[1])})},g.dispose=function(){t.removeData(this._element,n),t(this._scrollElement).off(i),this._element=null,this._scrollElement=null,this._config=null,this._selector=null,this._offsets=null,this._targets=null,this._activeTarget=null,this._scrollHeight=null},g._getConfig=function(n){if("string"!=typeof(n=r({},a,n)).target){var i=t(n.target).attr("id");i||(i=P.getUID(e),t(n.target).attr("id",i)),n.target="#"+i}return P.typeCheckConfig(e,n,l),n},g._getScrollTop=function(){return this._scrollElement===window?this._scrollElement.pageYOffset:this._scrollElement.scrollTop},g._getScrollHeight=function(){return this._scrollElement.scrollHeight||Math.max(document.body.scrollHeight,document.documentElement.scrollHeight)},g._getOffsetHeight=function(){return this._scrollElement===window?window.innerHeight:this._scrollElement.getBoundingClientRect().height},g._process=function(){var t=this._getScrollTop()+this._config.offset,e=this._getScrollHeight(),n=this._config.offset+e-this._getOffsetHeight();if(this._scrollHeight!==e&&this.refresh(),t>=n){var i=this._targets[this._targets.length-1];this._activeTarget!==i&&this._activate(i)}else{if(this._activeTarget&&t0)return this._activeTarget=null,void this._clear();for(var s=this._offsets.length;s--;){this._activeTarget!==this._targets[s]&&t>=this._offsets[s]&&("undefined"==typeof this._offsets[s+1]||t li > .active",g='[data-toggle="tab"], [data-toggle="pill"], [data-toggle="list"]',p=".dropdown-toggle",m="> .dropdown-menu .active",v=function(){function n(t){this._element=t}var i=n.prototype;return i.show=function(){var e=this;if(!(this._element.parentNode&&this._element.parentNode.nodeType===Node.ELEMENT_NODE&&t(this._element).hasClass(a)||t(this._element).hasClass(l))){var n,i,s=t(this._element).closest(f)[0],o=P.getSelectorFromElement(this._element);if(s){var h="UL"===s.nodeName?_:d;i=(i=t.makeArray(t(s).find(h)))[i.length-1]}var c=t.Event(r.HIDE,{relatedTarget:this._element}),u=t.Event(r.SHOW,{relatedTarget:i});if(i&&t(i).trigger(c),t(this._element).trigger(u),!u.isDefaultPrevented()&&!c.isDefaultPrevented()){o&&(n=t(o)[0]),this._activate(this._element,s);var g=function(){var n=t.Event(r.HIDDEN,{relatedTarget:e._element}),s=t.Event(r.SHOWN,{relatedTarget:i});t(i).trigger(n),t(e._element).trigger(s)};n?this._activate(n,n.parentNode,g):g()}}},i.dispose=function(){t.removeData(this._element,e),this._element=null},i._activate=function(e,n,i){var s=this,r=("UL"===n.nodeName?t(n).find(_):t(n).children(d))[0],o=i&&P.supportsTransitionEnd()&&r&&t(r).hasClass(h),a=function(){return s._transitionComplete(e,r,i)};r&&o?t(r).one(P.TRANSITION_END,a).emulateTransitionEnd(150):a()},i._transitionComplete=function(e,n,i){if(n){t(n).removeClass(c+" "+a);var s=t(n.parentNode).find(m)[0];s&&t(s).removeClass(a),"tab"===n.getAttribute("role")&&n.setAttribute("aria-selected",!1)}if(t(e).addClass(a),"tab"===e.getAttribute("role")&&e.setAttribute("aria-selected",!0),P.reflow(e),t(e).addClass(c),e.parentNode&&t(e.parentNode).hasClass(o)){var r=t(e).closest(u)[0];r&&t(r).find(p).addClass(a),e.setAttribute("aria-expanded",!0)}i&&i()},n._jQueryInterface=function(i){return this.each(function(){var s=t(this),r=s.data(e);if(r||(r=new n(this),s.data(e,r)),"string"==typeof i){if("undefined"==typeof r[i])throw new TypeError('No method named "'+i+'"');r[i]()}})},s(n,null,[{key:"VERSION",get:function(){return"4.0.0"}}]),n}();return t(document).on(r.CLICK_DATA_API,g,function(e){e.preventDefault(),v._jQueryInterface.call(t(this),"show")}),t.fn.tab=v._jQueryInterface,t.fn.tab.Constructor=v,t.fn.tab.noConflict=function(){return t.fn.tab=i,v._jQueryInterface},v}(e);!function(t){if("undefined"==typeof t)throw new TypeError("Bootstrap's JavaScript requires jQuery. jQuery must be included before Bootstrap's JavaScript.");var e=t.fn.jquery.split(" ")[0].split(".");if(e[0]<2&&e[1]<9||1===e[0]&&9===e[1]&&e[2]<1||e[0]>=4)throw new Error("Bootstrap's JavaScript requires at least jQuery v1.9.1 but less than v4.0.0")}(e),t.Util=P,t.Alert=L,t.Button=R,t.Carousel=j,t.Collapse=H,t.Dropdown=W,t.Modal=M,t.Popover=x,t.Scrollspy=K,t.Tab=V,t.Tooltip=U,Object.defineProperty(t,"__esModule",{value:!0})});
+//# sourceMappingURL=bootstrap.min.js.map
\ No newline at end of file
diff --git a/web/themes/dedrone/js/main.js b/web/themes/dedrone/js/main.js
index afddb45..add5677 100755
--- a/web/themes/dedrone/js/main.js
+++ b/web/themes/dedrone/js/main.js
@@ -3,7 +3,7 @@
Drupal.behaviors.initSlider = {
attach: function (context, settings) {
$(document).ready(function(){
- var mySwiper = new Swiper ('.swiper-container', {
+ var swiperMainFull = new Swiper ('.slider-main .swiper-container', {
loop: true,
effect: 'fade',
speed: 700,
@@ -11,6 +11,19 @@
el: '.swiper-pagination',
clickable: true
}
+ });
+
+ var swiperMainInner = new Swiper ('.slider-inner .swiper-container', {
+ loop: true,
+ effect: 'slide',
+ speed: 500,
+ autoplay: {
+ delay: 8000,
+ },
+ pagination: {
+ el: '.swiper-pagination',
+ clickable: true
+ }
})
});
}
diff --git a/web/themes/dedrone/package-lock.json b/web/themes/dedrone/package-lock.json
new file mode 100644
index 0000000..a8f997f
--- /dev/null
+++ b/web/themes/dedrone/package-lock.json
@@ -0,0 +1,5270 @@
+{
+ "requires": true,
+ "lockfileVersion": 1,
+ "dependencies": {
+ "abbrev": {
+ "version": "1.1.1",
+ "resolved": "https://registry.npmjs.org/abbrev/-/abbrev-1.1.1.tgz",
+ "integrity": "sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q==",
+ "dev": true
+ },
+ "ajv": {
+ "version": "5.5.2",
+ "resolved": "https://registry.npmjs.org/ajv/-/ajv-5.5.2.tgz",
+ "integrity": "sha1-c7Xuyj+rZT49P5Qis0GtQiBdyWU=",
+ "dev": true,
+ "requires": {
+ "co": "^4.6.0",
+ "fast-deep-equal": "^1.0.0",
+ "fast-json-stable-stringify": "^2.0.0",
+ "json-schema-traverse": "^0.3.0"
+ }
+ },
+ "amdefine": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/amdefine/-/amdefine-1.0.1.tgz",
+ "integrity": "sha1-SlKCrBZHKek2Gbz9OtFR+BfOkfU=",
+ "dev": true
+ },
+ "ansi-colors": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/ansi-colors/-/ansi-colors-1.1.0.tgz",
+ "integrity": "sha512-SFKX67auSNoVR38N3L+nvsPjOE0bybKTYbkf5tRvushrAPQ9V75huw0ZxBkKVeRU9kqH3d6HA4xTckbwZ4ixmA==",
+ "dev": true,
+ "requires": {
+ "ansi-wrap": "^0.1.0"
+ }
+ },
+ "ansi-gray": {
+ "version": "0.1.1",
+ "resolved": "https://registry.npmjs.org/ansi-gray/-/ansi-gray-0.1.1.tgz",
+ "integrity": "sha1-KWLPVOyXksSFEKPetSRDaGHvclE=",
+ "requires": {
+ "ansi-wrap": "0.1.0"
+ }
+ },
+ "ansi-regex": {
+ "version": "2.1.1",
+ "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz",
+ "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8="
+ },
+ "ansi-styles": {
+ "version": "2.2.1",
+ "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz",
+ "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4="
+ },
+ "ansi-wrap": {
+ "version": "0.1.0",
+ "resolved": "https://registry.npmjs.org/ansi-wrap/-/ansi-wrap-0.1.0.tgz",
+ "integrity": "sha1-qCJQ3bABXponyoLoLqYDu/pF768="
+ },
+ "anymatch": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-2.0.0.tgz",
+ "integrity": "sha512-5teOsQWABXHHBFP9y3skS5P3d/WfWXpv3FUpy+LorMrNYaT9pI4oLMQX7jzQ2KklNpGpWHzdCXTDT2Y3XGlZBw==",
+ "dev": true,
+ "requires": {
+ "micromatch": "^3.1.4",
+ "normalize-path": "^2.1.1"
+ }
+ },
+ "append-buffer": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/append-buffer/-/append-buffer-1.0.2.tgz",
+ "integrity": "sha1-2CIM9GYIFSXv6lBhTz3mUU36WPE=",
+ "dev": true,
+ "requires": {
+ "buffer-equal": "^1.0.0"
+ }
+ },
+ "aproba": {
+ "version": "1.2.0",
+ "resolved": "https://registry.npmjs.org/aproba/-/aproba-1.2.0.tgz",
+ "integrity": "sha512-Y9J6ZjXtoYh8RnXVCMOU/ttDmk1aBjunq9vO0ta5x85WDQiQfUF9sIPBITdbiiIVcBo03Hi3jMxigBtsddlXRw==",
+ "dev": true
+ },
+ "archy": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/archy/-/archy-1.0.0.tgz",
+ "integrity": "sha1-+cjBN1fMHde8N5rHeyxipcKGjEA=",
+ "dev": true
+ },
+ "are-we-there-yet": {
+ "version": "1.1.5",
+ "resolved": "https://registry.npmjs.org/are-we-there-yet/-/are-we-there-yet-1.1.5.tgz",
+ "integrity": "sha512-5hYdAkZlcG8tOLujVDTgCT+uPX0VnpAH28gWsLfzpXYm7wP6mp5Q/gYyR7YQ0cKVJcXJnl3j2kpBan13PtQf6w==",
+ "dev": true,
+ "requires": {
+ "delegates": "^1.0.0",
+ "readable-stream": "^2.0.6"
+ },
+ "dependencies": {
+ "isarray": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz",
+ "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=",
+ "dev": true
+ },
+ "readable-stream": {
+ "version": "2.3.6",
+ "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.6.tgz",
+ "integrity": "sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw==",
+ "dev": true,
+ "requires": {
+ "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"
+ }
+ },
+ "string_decoder": {
+ "version": "1.1.1",
+ "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz",
+ "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==",
+ "dev": true,
+ "requires": {
+ "safe-buffer": "~5.1.0"
+ }
+ }
+ }
+ },
+ "arr-diff": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/arr-diff/-/arr-diff-4.0.0.tgz",
+ "integrity": "sha1-1kYQdP6/7HHn4VI1dhoyml3HxSA=",
+ "dev": true
+ },
+ "arr-filter": {
+ "version": "1.1.2",
+ "resolved": "https://registry.npmjs.org/arr-filter/-/arr-filter-1.1.2.tgz",
+ "integrity": "sha1-Q/3d0JHo7xGqTEXZzcGOLf8XEe4=",
+ "dev": true,
+ "requires": {
+ "make-iterator": "^1.0.0"
+ }
+ },
+ "arr-flatten": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/arr-flatten/-/arr-flatten-1.1.0.tgz",
+ "integrity": "sha512-L3hKV5R/p5o81R7O02IGnwpDmkp6E982XhtbuwSe3O4qOtMMMtodicASA1Cny2U+aCXcNpml+m4dPsvsJ3jatg==",
+ "dev": true
+ },
+ "arr-map": {
+ "version": "2.0.2",
+ "resolved": "https://registry.npmjs.org/arr-map/-/arr-map-2.0.2.tgz",
+ "integrity": "sha1-Onc0X/wc814qkYJWAfnljy4kysQ=",
+ "dev": true,
+ "requires": {
+ "make-iterator": "^1.0.0"
+ }
+ },
+ "arr-union": {
+ "version": "3.1.0",
+ "resolved": "https://registry.npmjs.org/arr-union/-/arr-union-3.1.0.tgz",
+ "integrity": "sha1-45sJrqne+Gao8gbiiK9jkZuuOcQ=",
+ "dev": true
+ },
+ "array-differ": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/array-differ/-/array-differ-1.0.0.tgz",
+ "integrity": "sha1-7/UuN1gknTO+QCuLuOVkuytdQDE="
+ },
+ "array-each": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/array-each/-/array-each-1.0.1.tgz",
+ "integrity": "sha1-p5SvDAWrF1KEbudTofIRoFugxE8=",
+ "dev": true
+ },
+ "array-find-index": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/array-find-index/-/array-find-index-1.0.2.tgz",
+ "integrity": "sha1-3wEKoSh+Fku9pvlyOwqWoexBh6E=",
+ "dev": true
+ },
+ "array-initial": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/array-initial/-/array-initial-1.1.0.tgz",
+ "integrity": "sha1-L6dLJnOTccOUe9enrcc74zSz15U=",
+ "dev": true,
+ "requires": {
+ "array-slice": "^1.0.0",
+ "is-number": "^4.0.0"
+ },
+ "dependencies": {
+ "is-number": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/is-number/-/is-number-4.0.0.tgz",
+ "integrity": "sha512-rSklcAIlf1OmFdyAqbnWTLVelsQ58uvZ66S/ZyawjWqIviTWCjg2PzVGw8WUA+nNuPTqb4wgA+NszrJ+08LlgQ==",
+ "dev": true
+ }
+ }
+ },
+ "array-last": {
+ "version": "1.3.0",
+ "resolved": "https://registry.npmjs.org/array-last/-/array-last-1.3.0.tgz",
+ "integrity": "sha512-eOCut5rXlI6aCOS7Z7kCplKRKyiFQ6dHFBem4PwlwKeNFk2/XxTrhRh5T9PyaEWGy/NHTZWbY+nsZlNFJu9rYg==",
+ "dev": true,
+ "requires": {
+ "is-number": "^4.0.0"
+ },
+ "dependencies": {
+ "is-number": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/is-number/-/is-number-4.0.0.tgz",
+ "integrity": "sha512-rSklcAIlf1OmFdyAqbnWTLVelsQ58uvZ66S/ZyawjWqIviTWCjg2PzVGw8WUA+nNuPTqb4wgA+NszrJ+08LlgQ==",
+ "dev": true
+ }
+ }
+ },
+ "array-slice": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/array-slice/-/array-slice-1.1.0.tgz",
+ "integrity": "sha512-B1qMD3RBP7O8o0H2KbrXDyB0IccejMF15+87Lvlor12ONPRHP6gTjXMNkt/d3ZuOGbAe66hFmaCfECI24Ufp6w==",
+ "dev": true
+ },
+ "array-sort": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/array-sort/-/array-sort-1.0.0.tgz",
+ "integrity": "sha512-ihLeJkonmdiAsD7vpgN3CRcx2J2S0TiYW+IS/5zHBI7mKUq3ySvBdzzBfD236ubDBQFiiyG3SWCPc+msQ9KoYg==",
+ "dev": true,
+ "requires": {
+ "default-compare": "^1.0.0",
+ "get-value": "^2.0.6",
+ "kind-of": "^5.0.2"
+ },
+ "dependencies": {
+ "kind-of": {
+ "version": "5.1.0",
+ "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz",
+ "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==",
+ "dev": true
+ }
+ }
+ },
+ "array-uniq": {
+ "version": "1.0.3",
+ "resolved": "https://registry.npmjs.org/array-uniq/-/array-uniq-1.0.3.tgz",
+ "integrity": "sha1-r2rId6Jcx/dOBYiUdThY39sk/bY="
+ },
+ "array-unique": {
+ "version": "0.3.2",
+ "resolved": "https://registry.npmjs.org/array-unique/-/array-unique-0.3.2.tgz",
+ "integrity": "sha1-qJS3XUvE9s1nnvMkSp/Y9Gri1Cg=",
+ "dev": true
+ },
+ "asn1": {
+ "version": "0.2.4",
+ "resolved": "https://registry.npmjs.org/asn1/-/asn1-0.2.4.tgz",
+ "integrity": "sha512-jxwzQpLQjSmWXgwaCZE9Nz+glAG01yF1QnWgbhGwHI5A6FRIEY6IVqtHhIepHqI7/kyEyQEagBC5mBEFlIYvdg==",
+ "dev": true,
+ "requires": {
+ "safer-buffer": "~2.1.0"
+ }
+ },
+ "assert-plus": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz",
+ "integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU=",
+ "dev": true
+ },
+ "assign-symbols": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/assign-symbols/-/assign-symbols-1.0.0.tgz",
+ "integrity": "sha1-WWZ/QfrdTyDMvCu5a41Pf3jsA2c=",
+ "dev": true
+ },
+ "async-done": {
+ "version": "1.3.1",
+ "resolved": "https://registry.npmjs.org/async-done/-/async-done-1.3.1.tgz",
+ "integrity": "sha512-R1BaUeJ4PMoLNJuk+0tLJgjmEqVsdN118+Z8O+alhnQDQgy0kmD5Mqi0DNEmMx2LM0Ed5yekKu+ZXYvIHceicg==",
+ "dev": true,
+ "requires": {
+ "end-of-stream": "^1.1.0",
+ "once": "^1.3.2",
+ "process-nextick-args": "^1.0.7",
+ "stream-exhaust": "^1.0.1"
+ },
+ "dependencies": {
+ "process-nextick-args": {
+ "version": "1.0.7",
+ "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-1.0.7.tgz",
+ "integrity": "sha1-FQ4gt1ZZCtP5EJPyWk8q2L/zC6M=",
+ "dev": true
+ }
+ }
+ },
+ "async-each": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/async-each/-/async-each-1.0.1.tgz",
+ "integrity": "sha1-GdOGodntxufByF04iu28xW0zYC0=",
+ "dev": true
+ },
+ "async-foreach": {
+ "version": "0.1.3",
+ "resolved": "https://registry.npmjs.org/async-foreach/-/async-foreach-0.1.3.tgz",
+ "integrity": "sha1-NhIfhFwFeBct5Bmpfb6x0W7DRUI=",
+ "dev": true
+ },
+ "async-settle": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/async-settle/-/async-settle-1.0.0.tgz",
+ "integrity": "sha1-HQqRS7Aldb7IqPOnTlCA9yssDGs=",
+ "dev": true,
+ "requires": {
+ "async-done": "^1.2.2"
+ }
+ },
+ "asynckit": {
+ "version": "0.4.0",
+ "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz",
+ "integrity": "sha1-x57Zf380y48robyXkLzDZkdLS3k=",
+ "dev": true
+ },
+ "atob": {
+ "version": "2.1.1",
+ "resolved": "https://registry.npmjs.org/atob/-/atob-2.1.1.tgz",
+ "integrity": "sha1-ri1acpR38onWDdf5amMUoi3Wwio=",
+ "dev": true
+ },
+ "autoprefixer-core": {
+ "version": "5.2.1",
+ "resolved": "https://registry.npmjs.org/autoprefixer-core/-/autoprefixer-core-5.2.1.tgz",
+ "integrity": "sha1-5kDEFK5Bmq4hwa1DyOoPPbgqVm0=",
+ "dev": true,
+ "requires": {
+ "browserslist": "~0.4.0",
+ "caniuse-db": "^1.0.30000214",
+ "num2fraction": "^1.1.0",
+ "postcss": "~4.1.12"
+ }
+ },
+ "aws-sign2": {
+ "version": "0.7.0",
+ "resolved": "https://registry.npmjs.org/aws-sign2/-/aws-sign2-0.7.0.tgz",
+ "integrity": "sha1-tG6JCTSpWR8tL2+G1+ap8bP+dqg=",
+ "dev": true
+ },
+ "aws4": {
+ "version": "1.8.0",
+ "resolved": "https://registry.npmjs.org/aws4/-/aws4-1.8.0.tgz",
+ "integrity": "sha512-ReZxvNHIOv88FlT7rxcXIIC0fPt4KZqZbOlivyWtXLt8ESx84zd3kMC6iK5jVeS2qt+g7ftS7ye4fi06X5rtRQ==",
+ "dev": true
+ },
+ "bach": {
+ "version": "1.2.0",
+ "resolved": "https://registry.npmjs.org/bach/-/bach-1.2.0.tgz",
+ "integrity": "sha1-Szzpa/JxNPeaG0FKUcFONMO9mIA=",
+ "dev": true,
+ "requires": {
+ "arr-filter": "^1.1.1",
+ "arr-flatten": "^1.0.1",
+ "arr-map": "^2.0.0",
+ "array-each": "^1.0.0",
+ "array-initial": "^1.0.0",
+ "array-last": "^1.1.1",
+ "async-done": "^1.2.2",
+ "async-settle": "^1.0.0",
+ "now-and-later": "^2.0.0"
+ }
+ },
+ "balanced-match": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.0.tgz",
+ "integrity": "sha1-ibTRmasr7kneFk6gK4nORi1xt2c=",
+ "dev": true
+ },
+ "base": {
+ "version": "0.11.2",
+ "resolved": "https://registry.npmjs.org/base/-/base-0.11.2.tgz",
+ "integrity": "sha512-5T6P4xPgpp0YDFvSWwEZ4NoE3aM4QBQXDzmVbraCkFj8zHM+mba8SyqB5DbZWyR7mYHo6Y7BdQo3MoA4m0TeQg==",
+ "dev": true,
+ "requires": {
+ "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"
+ },
+ "dependencies": {
+ "define-property": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz",
+ "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=",
+ "dev": true,
+ "requires": {
+ "is-descriptor": "^1.0.0"
+ }
+ },
+ "is-accessor-descriptor": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz",
+ "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==",
+ "dev": true,
+ "requires": {
+ "kind-of": "^6.0.0"
+ }
+ },
+ "is-data-descriptor": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz",
+ "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==",
+ "dev": true,
+ "requires": {
+ "kind-of": "^6.0.0"
+ }
+ },
+ "is-descriptor": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz",
+ "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==",
+ "dev": true,
+ "requires": {
+ "is-accessor-descriptor": "^1.0.0",
+ "is-data-descriptor": "^1.0.0",
+ "kind-of": "^6.0.2"
+ }
+ }
+ }
+ },
+ "bcrypt-pbkdf": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.2.tgz",
+ "integrity": "sha1-pDAdOJtqQ/m2f/PKEaP2Y342Dp4=",
+ "dev": true,
+ "optional": true,
+ "requires": {
+ "tweetnacl": "^0.14.3"
+ }
+ },
+ "beeper": {
+ "version": "1.1.1",
+ "resolved": "https://registry.npmjs.org/beeper/-/beeper-1.1.1.tgz",
+ "integrity": "sha1-5tXqjF2tABMEpwsiY4RH9pyy+Ak="
+ },
+ "binary-extensions": {
+ "version": "1.11.0",
+ "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-1.11.0.tgz",
+ "integrity": "sha1-RqoXUftqL5PuXmibsQh9SxTGwgU=",
+ "dev": true
+ },
+ "block-stream": {
+ "version": "0.0.9",
+ "resolved": "https://registry.npmjs.org/block-stream/-/block-stream-0.0.9.tgz",
+ "integrity": "sha1-E+v+d4oDIFz+A3UUgeu0szAMEmo=",
+ "dev": true,
+ "requires": {
+ "inherits": "~2.0.0"
+ }
+ },
+ "brace-expansion": {
+ "version": "1.1.11",
+ "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz",
+ "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==",
+ "dev": true,
+ "requires": {
+ "balanced-match": "^1.0.0",
+ "concat-map": "0.0.1"
+ }
+ },
+ "braces": {
+ "version": "2.3.2",
+ "resolved": "https://registry.npmjs.org/braces/-/braces-2.3.2.tgz",
+ "integrity": "sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w==",
+ "dev": true,
+ "requires": {
+ "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"
+ },
+ "dependencies": {
+ "extend-shallow": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz",
+ "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=",
+ "dev": true,
+ "requires": {
+ "is-extendable": "^0.1.0"
+ }
+ }
+ }
+ },
+ "browserslist": {
+ "version": "0.4.0",
+ "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-0.4.0.tgz",
+ "integrity": "sha1-O9SrkZncG5FQ1NbbpNnTqrvIbdQ=",
+ "dev": true,
+ "requires": {
+ "caniuse-db": "^1.0.30000153"
+ }
+ },
+ "buffer-equal": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/buffer-equal/-/buffer-equal-1.0.0.tgz",
+ "integrity": "sha1-WWFrSYME1Var1GaWayLu2j7KX74=",
+ "dev": true
+ },
+ "buffer-from": {
+ "version": "1.1.1",
+ "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.1.tgz",
+ "integrity": "sha512-MQcXEUbCKtEo7bhqEs6560Hyd4XaovZlO/k9V3hjVUF/zwW7KBVdSK4gIt/bzwS9MbR5qob+F5jusZsb0YQK2A==",
+ "dev": true
+ },
+ "builtin-modules": {
+ "version": "1.1.1",
+ "resolved": "https://registry.npmjs.org/builtin-modules/-/builtin-modules-1.1.1.tgz",
+ "integrity": "sha1-Jw8HbFpywC9bZaR9+Uxf46J4iS8=",
+ "dev": true
+ },
+ "cache-base": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/cache-base/-/cache-base-1.0.1.tgz",
+ "integrity": "sha512-AKcdTnFSWATd5/GCPRxr2ChwIJ85CeyrEyjRHlKxQ56d4XJMGym0uAiKn0xbLOGOl3+yRpOTi484dVCEc5AUzQ==",
+ "dev": true,
+ "requires": {
+ "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"
+ }
+ },
+ "camelcase": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-3.0.0.tgz",
+ "integrity": "sha1-MvxLn82vhF/N9+c7uXysImHwqwo=",
+ "dev": true
+ },
+ "camelcase-keys": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/camelcase-keys/-/camelcase-keys-2.1.0.tgz",
+ "integrity": "sha1-MIvur/3ygRkFHvodkyITyRuPkuc=",
+ "dev": true,
+ "requires": {
+ "camelcase": "^2.0.0",
+ "map-obj": "^1.0.0"
+ },
+ "dependencies": {
+ "camelcase": {
+ "version": "2.1.1",
+ "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-2.1.1.tgz",
+ "integrity": "sha1-fB0W1nmhu+WcoCys7PsBHiAfWh8=",
+ "dev": true
+ }
+ }
+ },
+ "caniuse-db": {
+ "version": "1.0.30000877",
+ "resolved": "https://registry.npmjs.org/caniuse-db/-/caniuse-db-1.0.30000877.tgz",
+ "integrity": "sha512-9RcqvE8HYgdZZzFW6xBmj/CeCaTyCJdUhgkueBCq47AK//w/Yzlg0zcfV1GTlh3jyYEbresGfY2vDEG/AaK/dQ==",
+ "dev": true
+ },
+ "caseless": {
+ "version": "0.12.0",
+ "resolved": "https://registry.npmjs.org/caseless/-/caseless-0.12.0.tgz",
+ "integrity": "sha1-G2gcIf+EAzyCZUMJBolCDRhxUdw=",
+ "dev": true
+ },
+ "chalk": {
+ "version": "1.1.3",
+ "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz",
+ "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=",
+ "requires": {
+ "ansi-styles": "^2.2.1",
+ "escape-string-regexp": "^1.0.2",
+ "has-ansi": "^2.0.0",
+ "strip-ansi": "^3.0.0",
+ "supports-color": "^2.0.0"
+ }
+ },
+ "chokidar": {
+ "version": "2.0.4",
+ "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-2.0.4.tgz",
+ "integrity": "sha512-z9n7yt9rOvIJrMhvDtDictKrkFHeihkNl6uWMmZlmL6tJtX9Cs+87oK+teBx+JIgzvbX3yZHT3eF8vpbDxHJXQ==",
+ "dev": true,
+ "requires": {
+ "anymatch": "^2.0.0",
+ "async-each": "^1.0.0",
+ "braces": "^2.3.0",
+ "fsevents": "^1.2.2",
+ "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"
+ }
+ },
+ "class-utils": {
+ "version": "0.3.6",
+ "resolved": "https://registry.npmjs.org/class-utils/-/class-utils-0.3.6.tgz",
+ "integrity": "sha512-qOhPa/Fj7s6TY8H8esGu5QNpMMQxz79h+urzrNYN6mn+9BnxlDGf5QZ+XeCDsxSjPqsSR56XOZOJmpeurnLMeg==",
+ "dev": true,
+ "requires": {
+ "arr-union": "^3.1.0",
+ "define-property": "^0.2.5",
+ "isobject": "^3.0.0",
+ "static-extend": "^0.1.1"
+ },
+ "dependencies": {
+ "define-property": {
+ "version": "0.2.5",
+ "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz",
+ "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=",
+ "dev": true,
+ "requires": {
+ "is-descriptor": "^0.1.0"
+ }
+ }
+ }
+ },
+ "cliui": {
+ "version": "3.2.0",
+ "resolved": "https://registry.npmjs.org/cliui/-/cliui-3.2.0.tgz",
+ "integrity": "sha1-EgYBU3qRbSmUD5NNo7SNWFo5IT0=",
+ "dev": true,
+ "requires": {
+ "string-width": "^1.0.1",
+ "strip-ansi": "^3.0.1",
+ "wrap-ansi": "^2.0.0"
+ }
+ },
+ "clone": {
+ "version": "1.0.4",
+ "resolved": "https://registry.npmjs.org/clone/-/clone-1.0.4.tgz",
+ "integrity": "sha1-2jCcwmPfFZlMaIypAheco8fNfH4="
+ },
+ "clone-buffer": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/clone-buffer/-/clone-buffer-1.0.0.tgz",
+ "integrity": "sha1-4+JbIHrE5wGvch4staFnksrD3Fg=",
+ "dev": true
+ },
+ "clone-stats": {
+ "version": "0.0.1",
+ "resolved": "https://registry.npmjs.org/clone-stats/-/clone-stats-0.0.1.tgz",
+ "integrity": "sha1-uI+UqCzzi4eR1YBG6kAprYjKmdE="
+ },
+ "cloneable-readable": {
+ "version": "1.1.2",
+ "resolved": "https://registry.npmjs.org/cloneable-readable/-/cloneable-readable-1.1.2.tgz",
+ "integrity": "sha512-Bq6+4t+lbM8vhTs/Bef5c5AdEMtapp/iFb6+s4/Hh9MVTt8OLKH7ZOOZSCT+Ys7hsHvqv0GuMPJ1lnQJVHvxpg==",
+ "dev": true,
+ "requires": {
+ "inherits": "^2.0.1",
+ "process-nextick-args": "^2.0.0",
+ "readable-stream": "^2.3.5"
+ },
+ "dependencies": {
+ "isarray": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz",
+ "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=",
+ "dev": true
+ },
+ "readable-stream": {
+ "version": "2.3.6",
+ "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.6.tgz",
+ "integrity": "sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw==",
+ "dev": true,
+ "requires": {
+ "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"
+ }
+ },
+ "string_decoder": {
+ "version": "1.1.1",
+ "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz",
+ "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==",
+ "dev": true,
+ "requires": {
+ "safe-buffer": "~5.1.0"
+ }
+ }
+ }
+ },
+ "co": {
+ "version": "4.6.0",
+ "resolved": "https://registry.npmjs.org/co/-/co-4.6.0.tgz",
+ "integrity": "sha1-bqa989hTrlTMuOR7+gvz+QMfsYQ=",
+ "dev": true
+ },
+ "code-point-at": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/code-point-at/-/code-point-at-1.1.0.tgz",
+ "integrity": "sha1-DQcLTQQ6W+ozovGkDi7bPZpMz3c=",
+ "dev": true
+ },
+ "collection-map": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/collection-map/-/collection-map-1.0.0.tgz",
+ "integrity": "sha1-rqDwb40mx4DCt1SUOFVEsiVa8Yw=",
+ "dev": true,
+ "requires": {
+ "arr-map": "^2.0.2",
+ "for-own": "^1.0.0",
+ "make-iterator": "^1.0.0"
+ }
+ },
+ "collection-visit": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/collection-visit/-/collection-visit-1.0.0.tgz",
+ "integrity": "sha1-S8A3PBZLwykbTTaMgpzxqApZ3KA=",
+ "dev": true,
+ "requires": {
+ "map-visit": "^1.0.0",
+ "object-visit": "^1.0.0"
+ }
+ },
+ "color-convert": {
+ "version": "1.9.2",
+ "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.2.tgz",
+ "integrity": "sha512-3NUJZdhMhcdPn8vJ9v2UQJoH0qqoGUkYTgFEPZaPjEtwmmKUfNV46zZmgB2M5M4DCEQHMaCfWHCxiBflLm04Tg==",
+ "dev": true,
+ "requires": {
+ "color-name": "1.1.1"
+ }
+ },
+ "color-name": {
+ "version": "1.1.1",
+ "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.1.tgz",
+ "integrity": "sha1-SxQVMEz1ACjqgWQ2Q72C6gWANok=",
+ "dev": true
+ },
+ "color-support": {
+ "version": "1.1.3",
+ "resolved": "https://registry.npmjs.org/color-support/-/color-support-1.1.3.tgz",
+ "integrity": "sha512-qiBjkpbMLO/HL68y+lh4q0/O1MZFj2RX6X/KmMa3+gJD3z+WwI1ZzDHysvqHGS3mP6mznPckpXmw1nI9cJjyRg=="
+ },
+ "combined-stream": {
+ "version": "1.0.6",
+ "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.6.tgz",
+ "integrity": "sha1-cj599ugBrFYTETp+RFqbactjKBg=",
+ "dev": true,
+ "requires": {
+ "delayed-stream": "~1.0.0"
+ }
+ },
+ "component-emitter": {
+ "version": "1.2.1",
+ "resolved": "https://registry.npmjs.org/component-emitter/-/component-emitter-1.2.1.tgz",
+ "integrity": "sha1-E3kY1teCg/ffemt8WmPhQOaUJeY=",
+ "dev": true
+ },
+ "concat-map": {
+ "version": "0.0.1",
+ "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz",
+ "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=",
+ "dev": true
+ },
+ "concat-stream": {
+ "version": "1.6.2",
+ "resolved": "https://registry.npmjs.org/concat-stream/-/concat-stream-1.6.2.tgz",
+ "integrity": "sha512-27HBghJxjiZtIk3Ycvn/4kbJk/1uZuJFfuPEns6LaEvpvG1f0hTea8lilrouyo9mVc2GWdcEZ8OLoGmSADlrCw==",
+ "dev": true,
+ "requires": {
+ "buffer-from": "^1.0.0",
+ "inherits": "^2.0.3",
+ "readable-stream": "^2.2.2",
+ "typedarray": "^0.0.6"
+ },
+ "dependencies": {
+ "isarray": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz",
+ "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=",
+ "dev": true
+ },
+ "readable-stream": {
+ "version": "2.3.6",
+ "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.6.tgz",
+ "integrity": "sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw==",
+ "dev": true,
+ "requires": {
+ "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"
+ }
+ },
+ "string_decoder": {
+ "version": "1.1.1",
+ "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz",
+ "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==",
+ "dev": true,
+ "requires": {
+ "safe-buffer": "~5.1.0"
+ }
+ }
+ }
+ },
+ "console-control-strings": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/console-control-strings/-/console-control-strings-1.1.0.tgz",
+ "integrity": "sha1-PXz0Rk22RG6mRL9LOVB/mFEAjo4=",
+ "dev": true
+ },
+ "convert-source-map": {
+ "version": "1.5.1",
+ "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.5.1.tgz",
+ "integrity": "sha1-uCeAl7m8IpNl3lxiz1/K7YtVmeU=",
+ "dev": true
+ },
+ "copy-descriptor": {
+ "version": "0.1.1",
+ "resolved": "https://registry.npmjs.org/copy-descriptor/-/copy-descriptor-0.1.1.tgz",
+ "integrity": "sha1-Z29us8OZl8LuGsOpJP1hJHSPV40=",
+ "dev": true
+ },
+ "copy-props": {
+ "version": "2.0.4",
+ "resolved": "https://registry.npmjs.org/copy-props/-/copy-props-2.0.4.tgz",
+ "integrity": "sha512-7cjuUME+p+S3HZlbllgsn2CDwS+5eCCX16qBgNC4jgSTf49qR1VKy/Zhl400m0IQXl/bPGEVqncgUUMjrr4s8A==",
+ "dev": true,
+ "requires": {
+ "each-props": "^1.3.0",
+ "is-plain-object": "^2.0.1"
+ }
+ },
+ "core-util-is": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz",
+ "integrity": "sha1-tf1UIgqivFq1eqtxQMlAdUUDwac="
+ },
+ "cross-spawn": {
+ "version": "3.0.1",
+ "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-3.0.1.tgz",
+ "integrity": "sha1-ElYDfsufDF9549bvE14wdwGEuYI=",
+ "dev": true,
+ "requires": {
+ "lru-cache": "^4.0.1",
+ "which": "^1.2.9"
+ }
+ },
+ "currently-unhandled": {
+ "version": "0.4.1",
+ "resolved": "https://registry.npmjs.org/currently-unhandled/-/currently-unhandled-0.4.1.tgz",
+ "integrity": "sha1-mI3zP+qxke95mmE2nddsF635V+o=",
+ "dev": true,
+ "requires": {
+ "array-find-index": "^1.0.1"
+ }
+ },
+ "d": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/d/-/d-1.0.0.tgz",
+ "integrity": "sha1-dUu1v+VUUdpppYuU1F9MWwRi1Y8=",
+ "dev": true,
+ "requires": {
+ "es5-ext": "^0.10.9"
+ }
+ },
+ "dargs": {
+ "version": "5.1.0",
+ "resolved": "https://registry.npmjs.org/dargs/-/dargs-5.1.0.tgz",
+ "integrity": "sha1-7H6lDHhWTNNsnV7Bj2Yyn63ieCk="
+ },
+ "dashdash": {
+ "version": "1.14.1",
+ "resolved": "https://registry.npmjs.org/dashdash/-/dashdash-1.14.1.tgz",
+ "integrity": "sha1-hTz6D3y+L+1d4gMmuN1YEDX24vA=",
+ "dev": true,
+ "requires": {
+ "assert-plus": "^1.0.0"
+ }
+ },
+ "dateformat": {
+ "version": "2.2.0",
+ "resolved": "https://registry.npmjs.org/dateformat/-/dateformat-2.2.0.tgz",
+ "integrity": "sha1-QGXiATz5+5Ft39gu+1Bq1MZ2kGI="
+ },
+ "debug": {
+ "version": "2.6.9",
+ "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
+ "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==",
+ "dev": true,
+ "requires": {
+ "ms": "2.0.0"
+ }
+ },
+ "decamelize": {
+ "version": "1.2.0",
+ "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz",
+ "integrity": "sha1-9lNNFRSCabIDUue+4m9QH5oZEpA=",
+ "dev": true
+ },
+ "decode-uri-component": {
+ "version": "0.2.0",
+ "resolved": "https://registry.npmjs.org/decode-uri-component/-/decode-uri-component-0.2.0.tgz",
+ "integrity": "sha1-6zkTMzRYd1y4TNGh+uBiEGu4dUU=",
+ "dev": true
+ },
+ "default-compare": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/default-compare/-/default-compare-1.0.0.tgz",
+ "integrity": "sha512-QWfXlM0EkAbqOCbD/6HjdwT19j7WCkMyiRhWilc4H9/5h/RzTF9gv5LYh1+CmDV5d1rki6KAWLtQale0xt20eQ==",
+ "dev": true,
+ "requires": {
+ "kind-of": "^5.0.2"
+ },
+ "dependencies": {
+ "kind-of": {
+ "version": "5.1.0",
+ "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz",
+ "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==",
+ "dev": true
+ }
+ }
+ },
+ "default-resolution": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/default-resolution/-/default-resolution-2.0.0.tgz",
+ "integrity": "sha1-vLgrqnKtebQmp2cy8aga1t8m1oQ=",
+ "dev": true
+ },
+ "define-properties": {
+ "version": "1.1.3",
+ "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.1.3.tgz",
+ "integrity": "sha512-3MqfYKj2lLzdMSf8ZIZE/V+Zuy+BgD6f164e8K2w7dgnpKArBDerGYpM46IYYcjnkdPNMjPk9A6VFB8+3SKlXQ==",
+ "dev": true,
+ "requires": {
+ "object-keys": "^1.0.12"
+ }
+ },
+ "define-property": {
+ "version": "2.0.2",
+ "resolved": "https://registry.npmjs.org/define-property/-/define-property-2.0.2.tgz",
+ "integrity": "sha512-jwK2UV4cnPpbcG7+VRARKTZPUWowwXA8bzH5NP6ud0oeAxyYPuGZUAC7hMugpCdz4BeSZl2Dl9k66CHJ/46ZYQ==",
+ "dev": true,
+ "requires": {
+ "is-descriptor": "^1.0.2",
+ "isobject": "^3.0.1"
+ },
+ "dependencies": {
+ "is-accessor-descriptor": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz",
+ "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==",
+ "dev": true,
+ "requires": {
+ "kind-of": "^6.0.0"
+ }
+ },
+ "is-data-descriptor": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz",
+ "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==",
+ "dev": true,
+ "requires": {
+ "kind-of": "^6.0.0"
+ }
+ },
+ "is-descriptor": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz",
+ "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==",
+ "dev": true,
+ "requires": {
+ "is-accessor-descriptor": "^1.0.0",
+ "is-data-descriptor": "^1.0.0",
+ "kind-of": "^6.0.2"
+ }
+ }
+ }
+ },
+ "delayed-stream": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz",
+ "integrity": "sha1-3zrhmayt+31ECqrgsp4icrJOxhk=",
+ "dev": true
+ },
+ "delegates": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/delegates/-/delegates-1.0.0.tgz",
+ "integrity": "sha1-hMbhWbgZBP3KWaDvRM2HDTElD5o=",
+ "dev": true
+ },
+ "detect-file": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/detect-file/-/detect-file-1.0.0.tgz",
+ "integrity": "sha1-8NZtA2cqglyxtzvbP+YjEMjlUrc=",
+ "dev": true
+ },
+ "duplexer2": {
+ "version": "0.0.2",
+ "resolved": "https://registry.npmjs.org/duplexer2/-/duplexer2-0.0.2.tgz",
+ "integrity": "sha1-xhTc9n4vsUmVqRcR5aYX6KYKMds=",
+ "requires": {
+ "readable-stream": "~1.1.9"
+ }
+ },
+ "duplexify": {
+ "version": "3.6.0",
+ "resolved": "https://registry.npmjs.org/duplexify/-/duplexify-3.6.0.tgz",
+ "integrity": "sha512-fO3Di4tBKJpYTFHAxTU00BcfWMY9w24r/x21a6rZRbsD/ToUgGxsMbiGRmB7uVAXeGKXD9MwiLZa5E97EVgIRQ==",
+ "dev": true,
+ "requires": {
+ "end-of-stream": "^1.0.0",
+ "inherits": "^2.0.1",
+ "readable-stream": "^2.0.0",
+ "stream-shift": "^1.0.0"
+ },
+ "dependencies": {
+ "isarray": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz",
+ "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=",
+ "dev": true
+ },
+ "readable-stream": {
+ "version": "2.3.6",
+ "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.6.tgz",
+ "integrity": "sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw==",
+ "dev": true,
+ "requires": {
+ "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"
+ }
+ },
+ "string_decoder": {
+ "version": "1.1.1",
+ "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz",
+ "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==",
+ "dev": true,
+ "requires": {
+ "safe-buffer": "~5.1.0"
+ }
+ }
+ }
+ },
+ "each-props": {
+ "version": "1.3.2",
+ "resolved": "https://registry.npmjs.org/each-props/-/each-props-1.3.2.tgz",
+ "integrity": "sha512-vV0Hem3zAGkJAyU7JSjixeU66rwdynTAa1vofCrSA5fEln+m67Az9CcnkVD776/fsN/UjIWmBDoNRS6t6G9RfA==",
+ "dev": true,
+ "requires": {
+ "is-plain-object": "^2.0.1",
+ "object.defaults": "^1.1.0"
+ }
+ },
+ "ecc-jsbn": {
+ "version": "0.1.2",
+ "resolved": "https://registry.npmjs.org/ecc-jsbn/-/ecc-jsbn-0.1.2.tgz",
+ "integrity": "sha1-OoOpBOVDUyh4dMVkt1SThoSamMk=",
+ "dev": true,
+ "optional": true,
+ "requires": {
+ "jsbn": "~0.1.0",
+ "safer-buffer": "^2.1.0"
+ }
+ },
+ "end-of-stream": {
+ "version": "1.4.1",
+ "resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.1.tgz",
+ "integrity": "sha512-1MkrZNvWTKCaigbn+W15elq2BB/L22nqrSY5DKlo3X6+vclJm8Bb5djXJBmEX6fS3+zCh/F4VBK5Z2KxJt4s2Q==",
+ "dev": true,
+ "requires": {
+ "once": "^1.4.0"
+ }
+ },
+ "error-ex": {
+ "version": "1.3.2",
+ "resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.2.tgz",
+ "integrity": "sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==",
+ "dev": true,
+ "requires": {
+ "is-arrayish": "^0.2.1"
+ }
+ },
+ "es5-ext": {
+ "version": "0.10.46",
+ "resolved": "https://registry.npmjs.org/es5-ext/-/es5-ext-0.10.46.tgz",
+ "integrity": "sha512-24XxRvJXNFwEMpJb3nOkiRJKRoupmjYmOPVlI65Qy2SrtxwOTB+g6ODjBKOtwEHbYrhWRty9xxOWLNdClT2djw==",
+ "dev": true,
+ "requires": {
+ "es6-iterator": "~2.0.3",
+ "es6-symbol": "~3.1.1",
+ "next-tick": "1"
+ }
+ },
+ "es6-iterator": {
+ "version": "2.0.3",
+ "resolved": "https://registry.npmjs.org/es6-iterator/-/es6-iterator-2.0.3.tgz",
+ "integrity": "sha1-p96IkUGgWpSwhUQDstCg+/qY87c=",
+ "dev": true,
+ "requires": {
+ "d": "1",
+ "es5-ext": "^0.10.35",
+ "es6-symbol": "^3.1.1"
+ }
+ },
+ "es6-promise": {
+ "version": "2.3.0",
+ "resolved": "https://registry.npmjs.org/es6-promise/-/es6-promise-2.3.0.tgz",
+ "integrity": "sha1-lu258v2wGZWCKyY92KratnSBgbw=",
+ "dev": true
+ },
+ "es6-symbol": {
+ "version": "3.1.1",
+ "resolved": "https://registry.npmjs.org/es6-symbol/-/es6-symbol-3.1.1.tgz",
+ "integrity": "sha1-vwDvT9q2uhtG7Le2KbTH7VcVzHc=",
+ "dev": true,
+ "requires": {
+ "d": "1",
+ "es5-ext": "~0.10.14"
+ }
+ },
+ "es6-weak-map": {
+ "version": "2.0.2",
+ "resolved": "https://registry.npmjs.org/es6-weak-map/-/es6-weak-map-2.0.2.tgz",
+ "integrity": "sha1-XjqzIlH/0VOKH45f+hNXdy+S2W8=",
+ "dev": true,
+ "requires": {
+ "d": "1",
+ "es5-ext": "^0.10.14",
+ "es6-iterator": "^2.0.1",
+ "es6-symbol": "^3.1.1"
+ }
+ },
+ "escape-string-regexp": {
+ "version": "1.0.5",
+ "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz",
+ "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ="
+ },
+ "expand-brackets": {
+ "version": "2.1.4",
+ "resolved": "https://registry.npmjs.org/expand-brackets/-/expand-brackets-2.1.4.tgz",
+ "integrity": "sha1-t3c14xXOMPa27/D4OwQVGiJEliI=",
+ "dev": true,
+ "requires": {
+ "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"
+ },
+ "dependencies": {
+ "define-property": {
+ "version": "0.2.5",
+ "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz",
+ "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=",
+ "dev": true,
+ "requires": {
+ "is-descriptor": "^0.1.0"
+ }
+ },
+ "extend-shallow": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz",
+ "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=",
+ "dev": true,
+ "requires": {
+ "is-extendable": "^0.1.0"
+ }
+ }
+ }
+ },
+ "expand-tilde": {
+ "version": "2.0.2",
+ "resolved": "https://registry.npmjs.org/expand-tilde/-/expand-tilde-2.0.2.tgz",
+ "integrity": "sha1-l+gBqgUt8CRU3kawK/YhZCzchQI=",
+ "dev": true,
+ "requires": {
+ "homedir-polyfill": "^1.0.1"
+ }
+ },
+ "extend": {
+ "version": "3.0.2",
+ "resolved": "https://registry.npmjs.org/extend/-/extend-3.0.2.tgz",
+ "integrity": "sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==",
+ "dev": true
+ },
+ "extend-shallow": {
+ "version": "3.0.2",
+ "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-3.0.2.tgz",
+ "integrity": "sha1-Jqcarwc7OfshJxcnRhMcJwQCjbg=",
+ "dev": true,
+ "requires": {
+ "assign-symbols": "^1.0.0",
+ "is-extendable": "^1.0.1"
+ },
+ "dependencies": {
+ "is-extendable": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz",
+ "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==",
+ "dev": true,
+ "requires": {
+ "is-plain-object": "^2.0.4"
+ }
+ }
+ }
+ },
+ "extglob": {
+ "version": "2.0.4",
+ "resolved": "https://registry.npmjs.org/extglob/-/extglob-2.0.4.tgz",
+ "integrity": "sha512-Nmb6QXkELsuBr24CJSkilo6UHHgbekK5UiZgfE6UHD3Eb27YC6oD+bhcT+tJ6cl8dmsgdQxnWlcry8ksBIBLpw==",
+ "dev": true,
+ "requires": {
+ "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"
+ },
+ "dependencies": {
+ "define-property": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz",
+ "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=",
+ "dev": true,
+ "requires": {
+ "is-descriptor": "^1.0.0"
+ }
+ },
+ "extend-shallow": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz",
+ "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=",
+ "dev": true,
+ "requires": {
+ "is-extendable": "^0.1.0"
+ }
+ },
+ "is-accessor-descriptor": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz",
+ "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==",
+ "dev": true,
+ "requires": {
+ "kind-of": "^6.0.0"
+ }
+ },
+ "is-data-descriptor": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz",
+ "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==",
+ "dev": true,
+ "requires": {
+ "kind-of": "^6.0.0"
+ }
+ },
+ "is-descriptor": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz",
+ "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==",
+ "dev": true,
+ "requires": {
+ "is-accessor-descriptor": "^1.0.0",
+ "is-data-descriptor": "^1.0.0",
+ "kind-of": "^6.0.2"
+ }
+ }
+ }
+ },
+ "extsprintf": {
+ "version": "1.3.0",
+ "resolved": "https://registry.npmjs.org/extsprintf/-/extsprintf-1.3.0.tgz",
+ "integrity": "sha1-lpGEQOMEGnpBT4xS48V06zw+HgU=",
+ "dev": true
+ },
+ "fancy-log": {
+ "version": "1.3.2",
+ "resolved": "https://registry.npmjs.org/fancy-log/-/fancy-log-1.3.2.tgz",
+ "integrity": "sha1-9BEl49hPLn2JpD0G2VjI94vha+E=",
+ "requires": {
+ "ansi-gray": "^0.1.1",
+ "color-support": "^1.1.3",
+ "time-stamp": "^1.0.0"
+ }
+ },
+ "fast-deep-equal": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-1.1.0.tgz",
+ "integrity": "sha1-wFNHeBfIa1HaqFPIHgWbcz0CNhQ=",
+ "dev": true
+ },
+ "fast-json-stable-stringify": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.0.0.tgz",
+ "integrity": "sha1-1RQsDK7msRifh9OnYREGT4bIu/I=",
+ "dev": true
+ },
+ "fill-range": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-4.0.0.tgz",
+ "integrity": "sha1-1USBHUKPmOsGpj3EAtJAPDKMOPc=",
+ "dev": true,
+ "requires": {
+ "extend-shallow": "^2.0.1",
+ "is-number": "^3.0.0",
+ "repeat-string": "^1.6.1",
+ "to-regex-range": "^2.1.0"
+ },
+ "dependencies": {
+ "extend-shallow": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz",
+ "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=",
+ "dev": true,
+ "requires": {
+ "is-extendable": "^0.1.0"
+ }
+ }
+ }
+ },
+ "find-up": {
+ "version": "1.1.2",
+ "resolved": "https://registry.npmjs.org/find-up/-/find-up-1.1.2.tgz",
+ "integrity": "sha1-ay6YIrGizgpgq2TWEOzK1TyyTQ8=",
+ "dev": true,
+ "requires": {
+ "path-exists": "^2.0.0",
+ "pinkie-promise": "^2.0.0"
+ }
+ },
+ "findup-sync": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/findup-sync/-/findup-sync-2.0.0.tgz",
+ "integrity": "sha1-kyaxSIwi0aYIhlCoaQGy2akKLLw=",
+ "dev": true,
+ "requires": {
+ "detect-file": "^1.0.0",
+ "is-glob": "^3.1.0",
+ "micromatch": "^3.0.4",
+ "resolve-dir": "^1.0.1"
+ },
+ "dependencies": {
+ "is-glob": {
+ "version": "3.1.0",
+ "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-3.1.0.tgz",
+ "integrity": "sha1-e6WuJCF4BKxwcHuWkiVnSGzD6Eo=",
+ "dev": true,
+ "requires": {
+ "is-extglob": "^2.1.0"
+ }
+ }
+ }
+ },
+ "fined": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/fined/-/fined-1.1.0.tgz",
+ "integrity": "sha1-s33IRLdqL15wgeiE98CuNE8VNHY=",
+ "dev": true,
+ "requires": {
+ "expand-tilde": "^2.0.2",
+ "is-plain-object": "^2.0.3",
+ "object.defaults": "^1.1.0",
+ "object.pick": "^1.2.0",
+ "parse-filepath": "^1.0.1"
+ }
+ },
+ "flagged-respawn": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/flagged-respawn/-/flagged-respawn-1.0.0.tgz",
+ "integrity": "sha1-Tnmumy6zi/hrO7Vr8+ClaqX8q9c=",
+ "dev": true
+ },
+ "flush-write-stream": {
+ "version": "1.0.3",
+ "resolved": "https://registry.npmjs.org/flush-write-stream/-/flush-write-stream-1.0.3.tgz",
+ "integrity": "sha512-calZMC10u0FMUqoiunI2AiGIIUtUIvifNwkHhNupZH4cbNnW1Itkoh/Nf5HFYmDrwWPjrUxpkZT0KhuCq0jmGw==",
+ "dev": true,
+ "requires": {
+ "inherits": "^2.0.1",
+ "readable-stream": "^2.0.4"
+ },
+ "dependencies": {
+ "isarray": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz",
+ "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=",
+ "dev": true
+ },
+ "readable-stream": {
+ "version": "2.3.6",
+ "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.6.tgz",
+ "integrity": "sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw==",
+ "dev": true,
+ "requires": {
+ "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"
+ }
+ },
+ "string_decoder": {
+ "version": "1.1.1",
+ "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz",
+ "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==",
+ "dev": true,
+ "requires": {
+ "safe-buffer": "~5.1.0"
+ }
+ }
+ }
+ },
+ "for-in": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/for-in/-/for-in-1.0.2.tgz",
+ "integrity": "sha1-gQaNKVqBQuwKxybG4iAMMPttXoA=",
+ "dev": true
+ },
+ "for-own": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/for-own/-/for-own-1.0.0.tgz",
+ "integrity": "sha1-xjMy9BXO3EsE2/5wz4NklMU8tEs=",
+ "dev": true,
+ "requires": {
+ "for-in": "^1.0.1"
+ }
+ },
+ "forever-agent": {
+ "version": "0.6.1",
+ "resolved": "https://registry.npmjs.org/forever-agent/-/forever-agent-0.6.1.tgz",
+ "integrity": "sha1-+8cfDEGt6zf5bFd60e1C2P2sypE=",
+ "dev": true
+ },
+ "form-data": {
+ "version": "2.3.2",
+ "resolved": "https://registry.npmjs.org/form-data/-/form-data-2.3.2.tgz",
+ "integrity": "sha1-SXBJi+YEwgwAXU9cI67NIda0kJk=",
+ "dev": true,
+ "requires": {
+ "asynckit": "^0.4.0",
+ "combined-stream": "1.0.6",
+ "mime-types": "^2.1.12"
+ }
+ },
+ "fragment-cache": {
+ "version": "0.2.1",
+ "resolved": "https://registry.npmjs.org/fragment-cache/-/fragment-cache-0.2.1.tgz",
+ "integrity": "sha1-QpD60n8T6Jvn8zeZxrxaCr//DRk=",
+ "dev": true,
+ "requires": {
+ "map-cache": "^0.2.2"
+ }
+ },
+ "fs-mkdirp-stream": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/fs-mkdirp-stream/-/fs-mkdirp-stream-1.0.0.tgz",
+ "integrity": "sha1-C3gV/DIBxqaeFNuYzgmMFpNSWes=",
+ "dev": true,
+ "requires": {
+ "graceful-fs": "^4.1.11",
+ "through2": "^2.0.3"
+ }
+ },
+ "fs.realpath": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz",
+ "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=",
+ "dev": true
+ },
+ "fsevents": {
+ "version": "1.2.4",
+ "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-1.2.4.tgz",
+ "integrity": "sha512-z8H8/diyk76B7q5wg+Ud0+CqzcAF3mBBI/bA5ne5zrRUUIvNkJY//D3BqyH571KuAC4Nr7Rw7CjWX4r0y9DvNg==",
+ "dev": true,
+ "optional": true,
+ "requires": {
+ "nan": "^2.9.2",
+ "node-pre-gyp": "^0.10.0"
+ },
+ "dependencies": {
+ "abbrev": {
+ "version": "1.1.1",
+ "bundled": true,
+ "dev": true,
+ "optional": true
+ },
+ "ansi-regex": {
+ "version": "2.1.1",
+ "bundled": true,
+ "dev": true
+ },
+ "aproba": {
+ "version": "1.2.0",
+ "bundled": true,
+ "dev": true,
+ "optional": true
+ },
+ "are-we-there-yet": {
+ "version": "1.1.4",
+ "bundled": true,
+ "dev": true,
+ "optional": true,
+ "requires": {
+ "delegates": "^1.0.0",
+ "readable-stream": "^2.0.6"
+ }
+ },
+ "balanced-match": {
+ "version": "1.0.0",
+ "bundled": true,
+ "dev": true
+ },
+ "brace-expansion": {
+ "version": "1.1.11",
+ "bundled": true,
+ "dev": true,
+ "requires": {
+ "balanced-match": "^1.0.0",
+ "concat-map": "0.0.1"
+ }
+ },
+ "chownr": {
+ "version": "1.0.1",
+ "bundled": true,
+ "dev": true,
+ "optional": true
+ },
+ "code-point-at": {
+ "version": "1.1.0",
+ "bundled": true,
+ "dev": true
+ },
+ "concat-map": {
+ "version": "0.0.1",
+ "bundled": true,
+ "dev": true
+ },
+ "console-control-strings": {
+ "version": "1.1.0",
+ "bundled": true,
+ "dev": true
+ },
+ "core-util-is": {
+ "version": "1.0.2",
+ "bundled": true,
+ "dev": true,
+ "optional": true
+ },
+ "debug": {
+ "version": "2.6.9",
+ "bundled": true,
+ "dev": true,
+ "optional": true,
+ "requires": {
+ "ms": "2.0.0"
+ }
+ },
+ "deep-extend": {
+ "version": "0.5.1",
+ "bundled": true,
+ "dev": true,
+ "optional": true
+ },
+ "delegates": {
+ "version": "1.0.0",
+ "bundled": true,
+ "dev": true,
+ "optional": true
+ },
+ "detect-libc": {
+ "version": "1.0.3",
+ "bundled": true,
+ "dev": true,
+ "optional": true
+ },
+ "fs-minipass": {
+ "version": "1.2.5",
+ "bundled": true,
+ "dev": true,
+ "optional": true,
+ "requires": {
+ "minipass": "^2.2.1"
+ }
+ },
+ "fs.realpath": {
+ "version": "1.0.0",
+ "bundled": true,
+ "dev": true,
+ "optional": true
+ },
+ "gauge": {
+ "version": "2.7.4",
+ "bundled": true,
+ "dev": true,
+ "optional": true,
+ "requires": {
+ "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"
+ }
+ },
+ "glob": {
+ "version": "7.1.2",
+ "bundled": true,
+ "dev": true,
+ "optional": true,
+ "requires": {
+ "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"
+ }
+ },
+ "has-unicode": {
+ "version": "2.0.1",
+ "bundled": true,
+ "dev": true,
+ "optional": true
+ },
+ "iconv-lite": {
+ "version": "0.4.21",
+ "bundled": true,
+ "dev": true,
+ "optional": true,
+ "requires": {
+ "safer-buffer": "^2.1.0"
+ }
+ },
+ "ignore-walk": {
+ "version": "3.0.1",
+ "bundled": true,
+ "dev": true,
+ "optional": true,
+ "requires": {
+ "minimatch": "^3.0.4"
+ }
+ },
+ "inflight": {
+ "version": "1.0.6",
+ "bundled": true,
+ "dev": true,
+ "optional": true,
+ "requires": {
+ "once": "^1.3.0",
+ "wrappy": "1"
+ }
+ },
+ "inherits": {
+ "version": "2.0.3",
+ "bundled": true,
+ "dev": true
+ },
+ "ini": {
+ "version": "1.3.5",
+ "bundled": true,
+ "dev": true,
+ "optional": true
+ },
+ "is-fullwidth-code-point": {
+ "version": "1.0.0",
+ "bundled": true,
+ "dev": true,
+ "requires": {
+ "number-is-nan": "^1.0.0"
+ }
+ },
+ "isarray": {
+ "version": "1.0.0",
+ "bundled": true,
+ "dev": true,
+ "optional": true
+ },
+ "minimatch": {
+ "version": "3.0.4",
+ "bundled": true,
+ "dev": true,
+ "requires": {
+ "brace-expansion": "^1.1.7"
+ }
+ },
+ "minimist": {
+ "version": "0.0.8",
+ "bundled": true,
+ "dev": true
+ },
+ "minipass": {
+ "version": "2.2.4",
+ "bundled": true,
+ "dev": true,
+ "requires": {
+ "safe-buffer": "^5.1.1",
+ "yallist": "^3.0.0"
+ }
+ },
+ "minizlib": {
+ "version": "1.1.0",
+ "bundled": true,
+ "dev": true,
+ "optional": true,
+ "requires": {
+ "minipass": "^2.2.1"
+ }
+ },
+ "mkdirp": {
+ "version": "0.5.1",
+ "bundled": true,
+ "dev": true,
+ "requires": {
+ "minimist": "0.0.8"
+ }
+ },
+ "ms": {
+ "version": "2.0.0",
+ "bundled": true,
+ "dev": true,
+ "optional": true
+ },
+ "needle": {
+ "version": "2.2.0",
+ "bundled": true,
+ "dev": true,
+ "optional": true,
+ "requires": {
+ "debug": "^2.1.2",
+ "iconv-lite": "^0.4.4",
+ "sax": "^1.2.4"
+ }
+ },
+ "node-pre-gyp": {
+ "version": "0.10.0",
+ "bundled": true,
+ "dev": true,
+ "optional": true,
+ "requires": {
+ "detect-libc": "^1.0.2",
+ "mkdirp": "^0.5.1",
+ "needle": "^2.2.0",
+ "nopt": "^4.0.1",
+ "npm-packlist": "^1.1.6",
+ "npmlog": "^4.0.2",
+ "rc": "^1.1.7",
+ "rimraf": "^2.6.1",
+ "semver": "^5.3.0",
+ "tar": "^4"
+ }
+ },
+ "nopt": {
+ "version": "4.0.1",
+ "bundled": true,
+ "dev": true,
+ "optional": true,
+ "requires": {
+ "abbrev": "1",
+ "osenv": "^0.1.4"
+ }
+ },
+ "npm-bundled": {
+ "version": "1.0.3",
+ "bundled": true,
+ "dev": true,
+ "optional": true
+ },
+ "npm-packlist": {
+ "version": "1.1.10",
+ "bundled": true,
+ "dev": true,
+ "optional": true,
+ "requires": {
+ "ignore-walk": "^3.0.1",
+ "npm-bundled": "^1.0.1"
+ }
+ },
+ "npmlog": {
+ "version": "4.1.2",
+ "bundled": true,
+ "dev": true,
+ "optional": true,
+ "requires": {
+ "are-we-there-yet": "~1.1.2",
+ "console-control-strings": "~1.1.0",
+ "gauge": "~2.7.3",
+ "set-blocking": "~2.0.0"
+ }
+ },
+ "number-is-nan": {
+ "version": "1.0.1",
+ "bundled": true,
+ "dev": true
+ },
+ "object-assign": {
+ "version": "4.1.1",
+ "bundled": true,
+ "dev": true,
+ "optional": true
+ },
+ "once": {
+ "version": "1.4.0",
+ "bundled": true,
+ "dev": true,
+ "requires": {
+ "wrappy": "1"
+ }
+ },
+ "os-homedir": {
+ "version": "1.0.2",
+ "bundled": true,
+ "dev": true,
+ "optional": true
+ },
+ "os-tmpdir": {
+ "version": "1.0.2",
+ "bundled": true,
+ "dev": true,
+ "optional": true
+ },
+ "osenv": {
+ "version": "0.1.5",
+ "bundled": true,
+ "dev": true,
+ "optional": true,
+ "requires": {
+ "os-homedir": "^1.0.0",
+ "os-tmpdir": "^1.0.0"
+ }
+ },
+ "path-is-absolute": {
+ "version": "1.0.1",
+ "bundled": true,
+ "dev": true,
+ "optional": true
+ },
+ "process-nextick-args": {
+ "version": "2.0.0",
+ "bundled": true,
+ "dev": true,
+ "optional": true
+ },
+ "rc": {
+ "version": "1.2.7",
+ "bundled": true,
+ "dev": true,
+ "optional": true,
+ "requires": {
+ "deep-extend": "^0.5.1",
+ "ini": "~1.3.0",
+ "minimist": "^1.2.0",
+ "strip-json-comments": "~2.0.1"
+ },
+ "dependencies": {
+ "minimist": {
+ "version": "1.2.0",
+ "bundled": true,
+ "dev": true,
+ "optional": true
+ }
+ }
+ },
+ "readable-stream": {
+ "version": "2.3.6",
+ "bundled": true,
+ "dev": true,
+ "optional": true,
+ "requires": {
+ "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"
+ }
+ },
+ "rimraf": {
+ "version": "2.6.2",
+ "bundled": true,
+ "dev": true,
+ "optional": true,
+ "requires": {
+ "glob": "^7.0.5"
+ }
+ },
+ "safe-buffer": {
+ "version": "5.1.1",
+ "bundled": true,
+ "dev": true
+ },
+ "safer-buffer": {
+ "version": "2.1.2",
+ "bundled": true,
+ "dev": true,
+ "optional": true
+ },
+ "sax": {
+ "version": "1.2.4",
+ "bundled": true,
+ "dev": true,
+ "optional": true
+ },
+ "semver": {
+ "version": "5.5.0",
+ "bundled": true,
+ "dev": true,
+ "optional": true
+ },
+ "set-blocking": {
+ "version": "2.0.0",
+ "bundled": true,
+ "dev": true,
+ "optional": true
+ },
+ "signal-exit": {
+ "version": "3.0.2",
+ "bundled": true,
+ "dev": true,
+ "optional": true
+ },
+ "string-width": {
+ "version": "1.0.2",
+ "bundled": true,
+ "dev": true,
+ "requires": {
+ "code-point-at": "^1.0.0",
+ "is-fullwidth-code-point": "^1.0.0",
+ "strip-ansi": "^3.0.0"
+ }
+ },
+ "string_decoder": {
+ "version": "1.1.1",
+ "bundled": true,
+ "dev": true,
+ "optional": true,
+ "requires": {
+ "safe-buffer": "~5.1.0"
+ }
+ },
+ "strip-ansi": {
+ "version": "3.0.1",
+ "bundled": true,
+ "dev": true,
+ "requires": {
+ "ansi-regex": "^2.0.0"
+ }
+ },
+ "strip-json-comments": {
+ "version": "2.0.1",
+ "bundled": true,
+ "dev": true,
+ "optional": true
+ },
+ "tar": {
+ "version": "4.4.1",
+ "bundled": true,
+ "dev": true,
+ "optional": true,
+ "requires": {
+ "chownr": "^1.0.1",
+ "fs-minipass": "^1.2.5",
+ "minipass": "^2.2.4",
+ "minizlib": "^1.1.0",
+ "mkdirp": "^0.5.0",
+ "safe-buffer": "^5.1.1",
+ "yallist": "^3.0.2"
+ }
+ },
+ "util-deprecate": {
+ "version": "1.0.2",
+ "bundled": true,
+ "dev": true,
+ "optional": true
+ },
+ "wide-align": {
+ "version": "1.1.2",
+ "bundled": true,
+ "dev": true,
+ "optional": true,
+ "requires": {
+ "string-width": "^1.0.2"
+ }
+ },
+ "wrappy": {
+ "version": "1.0.2",
+ "bundled": true,
+ "dev": true
+ },
+ "yallist": {
+ "version": "3.0.2",
+ "bundled": true,
+ "dev": true
+ }
+ }
+ },
+ "fstream": {
+ "version": "1.0.11",
+ "resolved": "https://registry.npmjs.org/fstream/-/fstream-1.0.11.tgz",
+ "integrity": "sha1-XB+x8RdHcRTwYyoOtLcbPLD9MXE=",
+ "dev": true,
+ "requires": {
+ "graceful-fs": "^4.1.2",
+ "inherits": "~2.0.0",
+ "mkdirp": ">=0.5 0",
+ "rimraf": "2"
+ }
+ },
+ "function-bind": {
+ "version": "1.1.1",
+ "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz",
+ "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==",
+ "dev": true
+ },
+ "gauge": {
+ "version": "2.7.4",
+ "resolved": "https://registry.npmjs.org/gauge/-/gauge-2.7.4.tgz",
+ "integrity": "sha1-LANAXHU4w51+s3sxcCLjJfsBi/c=",
+ "dev": true,
+ "requires": {
+ "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"
+ },
+ "dependencies": {
+ "object-assign": {
+ "version": "4.1.1",
+ "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz",
+ "integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=",
+ "dev": true
+ }
+ }
+ },
+ "gaze": {
+ "version": "1.1.3",
+ "resolved": "https://registry.npmjs.org/gaze/-/gaze-1.1.3.tgz",
+ "integrity": "sha512-BRdNm8hbWzFzWHERTrejLqwHDfS4GibPoq5wjTPIoJHoBtKGPg3xAFfxmM+9ztbXelxcf2hwQcaz1PtmFeue8g==",
+ "dev": true,
+ "requires": {
+ "globule": "^1.0.0"
+ }
+ },
+ "get-caller-file": {
+ "version": "1.0.3",
+ "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-1.0.3.tgz",
+ "integrity": "sha512-3t6rVToeoZfYSGd8YoLFR2DJkiQrIiUrGcjvFX2mDw3bn6k2OtwHN0TNCLbBO+w8qTvimhDkv+LSscbJY1vE6w==",
+ "dev": true
+ },
+ "get-stdin": {
+ "version": "4.0.1",
+ "resolved": "https://registry.npmjs.org/get-stdin/-/get-stdin-4.0.1.tgz",
+ "integrity": "sha1-uWjGsKBDhDJJAui/Gl3zJXmkUP4=",
+ "dev": true
+ },
+ "get-value": {
+ "version": "2.0.6",
+ "resolved": "https://registry.npmjs.org/get-value/-/get-value-2.0.6.tgz",
+ "integrity": "sha1-3BXKHGcjh8p2vTesCjlbogQqLCg=",
+ "dev": true
+ },
+ "getpass": {
+ "version": "0.1.7",
+ "resolved": "https://registry.npmjs.org/getpass/-/getpass-0.1.7.tgz",
+ "integrity": "sha1-Xv+OPmhNVprkyysSgmBOi6YhSfo=",
+ "dev": true,
+ "requires": {
+ "assert-plus": "^1.0.0"
+ }
+ },
+ "glob": {
+ "version": "7.1.2",
+ "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.2.tgz",
+ "integrity": "sha512-MJTUg1kjuLeQCJ+ccE4Vpa6kKVXkPYJ2mOCQyUuKLcLQsdrMCpBPUi8qVE6+YuaJkozeA9NusTAw3hLr8Xe5EQ==",
+ "dev": true,
+ "requires": {
+ "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"
+ }
+ },
+ "glob-parent": {
+ "version": "3.1.0",
+ "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-3.1.0.tgz",
+ "integrity": "sha1-nmr2KZ2NO9K9QEMIMr0RPfkGxa4=",
+ "dev": true,
+ "requires": {
+ "is-glob": "^3.1.0",
+ "path-dirname": "^1.0.0"
+ },
+ "dependencies": {
+ "is-glob": {
+ "version": "3.1.0",
+ "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-3.1.0.tgz",
+ "integrity": "sha1-e6WuJCF4BKxwcHuWkiVnSGzD6Eo=",
+ "dev": true,
+ "requires": {
+ "is-extglob": "^2.1.0"
+ }
+ }
+ }
+ },
+ "glob-stream": {
+ "version": "6.1.0",
+ "resolved": "https://registry.npmjs.org/glob-stream/-/glob-stream-6.1.0.tgz",
+ "integrity": "sha1-cEXJlBOz65SIjYOrRtC0BMx73eQ=",
+ "dev": true,
+ "requires": {
+ "extend": "^3.0.0",
+ "glob": "^7.1.1",
+ "glob-parent": "^3.1.0",
+ "is-negated-glob": "^1.0.0",
+ "ordered-read-streams": "^1.0.0",
+ "pumpify": "^1.3.5",
+ "readable-stream": "^2.1.5",
+ "remove-trailing-separator": "^1.0.1",
+ "to-absolute-glob": "^2.0.0",
+ "unique-stream": "^2.0.2"
+ },
+ "dependencies": {
+ "isarray": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz",
+ "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=",
+ "dev": true
+ },
+ "readable-stream": {
+ "version": "2.3.6",
+ "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.6.tgz",
+ "integrity": "sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw==",
+ "dev": true,
+ "requires": {
+ "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"
+ }
+ },
+ "string_decoder": {
+ "version": "1.1.1",
+ "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz",
+ "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==",
+ "dev": true,
+ "requires": {
+ "safe-buffer": "~5.1.0"
+ }
+ }
+ }
+ },
+ "glob-watcher": {
+ "version": "5.0.1",
+ "resolved": "https://registry.npmjs.org/glob-watcher/-/glob-watcher-5.0.1.tgz",
+ "integrity": "sha512-fK92r2COMC199WCyGUblrZKhjra3cyVMDiypDdqg1vsSDmexnbYivK1kNR4QItiNXLKmGlqan469ks67RtNa2g==",
+ "dev": true,
+ "requires": {
+ "async-done": "^1.2.0",
+ "chokidar": "^2.0.0",
+ "just-debounce": "^1.0.0",
+ "object.defaults": "^1.1.0"
+ }
+ },
+ "global-modules": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/global-modules/-/global-modules-1.0.0.tgz",
+ "integrity": "sha512-sKzpEkf11GpOFuw0Zzjzmt4B4UZwjOcG757PPvrfhxcLFbq0wpsgpOqxpxtxFiCG4DtG93M6XRVbF2oGdev7bg==",
+ "dev": true,
+ "requires": {
+ "global-prefix": "^1.0.1",
+ "is-windows": "^1.0.1",
+ "resolve-dir": "^1.0.0"
+ }
+ },
+ "global-prefix": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/global-prefix/-/global-prefix-1.0.2.tgz",
+ "integrity": "sha1-2/dDxsFJklk8ZVVoy2btMsASLr4=",
+ "dev": true,
+ "requires": {
+ "expand-tilde": "^2.0.2",
+ "homedir-polyfill": "^1.0.1",
+ "ini": "^1.3.4",
+ "is-windows": "^1.0.1",
+ "which": "^1.2.14"
+ }
+ },
+ "globule": {
+ "version": "1.2.1",
+ "resolved": "https://registry.npmjs.org/globule/-/globule-1.2.1.tgz",
+ "integrity": "sha512-g7QtgWF4uYSL5/dn71WxubOrS7JVGCnFPEnoeChJmBnyR9Mw8nGoEwOgJL/RC2Te0WhbsEUCejfH8SZNJ+adYQ==",
+ "dev": true,
+ "requires": {
+ "glob": "~7.1.1",
+ "lodash": "~4.17.10",
+ "minimatch": "~3.0.2"
+ }
+ },
+ "glogg": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/glogg/-/glogg-1.0.1.tgz",
+ "integrity": "sha512-ynYqXLoluBKf9XGR1gA59yEJisIL7YHEH4xr3ZziHB5/yl4qWfaK8Js9jGe6gBGCSCKVqiyO30WnRZADvemUNw==",
+ "requires": {
+ "sparkles": "^1.0.0"
+ }
+ },
+ "graceful-fs": {
+ "version": "4.1.11",
+ "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.1.11.tgz",
+ "integrity": "sha1-Dovf5NHduIVNZOBOp8AOKgJuVlg=",
+ "dev": true
+ },
+ "gulp": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/gulp/-/gulp-4.0.0.tgz",
+ "integrity": "sha1-lXZsYB2t5Kd+0+eyttwDiBtZY2Y=",
+ "dev": true,
+ "requires": {
+ "glob-watcher": "^5.0.0",
+ "gulp-cli": "^2.0.0",
+ "undertaker": "^1.0.0",
+ "vinyl-fs": "^3.0.0"
+ },
+ "dependencies": {
+ "gulp-cli": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/gulp-cli/-/gulp-cli-2.0.1.tgz",
+ "integrity": "sha512-RxujJJdN8/O6IW2nPugl7YazhmrIEjmiVfPKrWt68r71UCaLKS71Hp0gpKT+F6qOUFtr7KqtifDKaAJPRVvMYQ==",
+ "dev": true,
+ "requires": {
+ "ansi-colors": "^1.0.1",
+ "archy": "^1.0.0",
+ "array-sort": "^1.0.0",
+ "color-support": "^1.1.3",
+ "concat-stream": "^1.6.0",
+ "copy-props": "^2.0.1",
+ "fancy-log": "^1.3.2",
+ "gulplog": "^1.0.0",
+ "interpret": "^1.1.0",
+ "isobject": "^3.0.1",
+ "liftoff": "^2.5.0",
+ "matchdep": "^2.0.0",
+ "mute-stdout": "^1.0.0",
+ "pretty-hrtime": "^1.0.0",
+ "replace-homedir": "^1.0.0",
+ "semver-greatest-satisfied-range": "^1.1.0",
+ "v8flags": "^3.0.1",
+ "yargs": "^7.1.0"
+ }
+ }
+ }
+ },
+ "gulp-autoprefixer": {
+ "version": "2.3.1",
+ "resolved": "https://registry.npmjs.org/gulp-autoprefixer/-/gulp-autoprefixer-2.3.1.tgz",
+ "integrity": "sha1-9nXTsb128IjfLySretPkoFngfmc=",
+ "dev": true,
+ "requires": {
+ "autoprefixer-core": "^5.0.0",
+ "gulp-util": "^3.0.0",
+ "object-assign": "^2.0.0",
+ "postcss": "^4.1.5",
+ "through2": "^0.6.2",
+ "vinyl-sourcemaps-apply": "^0.1.3"
+ },
+ "dependencies": {
+ "object-assign": {
+ "version": "2.1.1",
+ "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-2.1.1.tgz",
+ "integrity": "sha1-Q8NuXVaf+OSBbE76i+AtJpZ8GKo=",
+ "dev": true
+ },
+ "readable-stream": {
+ "version": "1.0.34",
+ "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.0.34.tgz",
+ "integrity": "sha1-Elgg40vIQtLyqq+v5MKRbuMsFXw=",
+ "dev": true,
+ "requires": {
+ "core-util-is": "~1.0.0",
+ "inherits": "~2.0.1",
+ "isarray": "0.0.1",
+ "string_decoder": "~0.10.x"
+ }
+ },
+ "through2": {
+ "version": "0.6.5",
+ "resolved": "https://registry.npmjs.org/through2/-/through2-0.6.5.tgz",
+ "integrity": "sha1-QaucZ7KdVyCQcUEOHXp6lozTrUg=",
+ "dev": true,
+ "requires": {
+ "readable-stream": ">=1.0.33-1 <1.1.0-0",
+ "xtend": ">=4.0.0 <4.1.0-0"
+ }
+ }
+ }
+ },
+ "gulp-install": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/gulp-install/-/gulp-install-1.1.0.tgz",
+ "integrity": "sha1-k4a0bLRmm0cle2rfTj6i6DySiho=",
+ "requires": {
+ "dargs": "^5.1.0",
+ "gulp-util": "^3.0.7",
+ "lodash.groupby": "^4.6.0",
+ "p-queue": "^1.0.0",
+ "through2": "^2.0.3",
+ "which": "^1.2.14"
+ }
+ },
+ "gulp-plumber": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/gulp-plumber/-/gulp-plumber-1.0.0.tgz",
+ "integrity": "sha1-NVjde4L/Hd0OgyU3Jbn8SmNB1vw=",
+ "dev": true,
+ "requires": {
+ "gulp-util": "~3",
+ "through2": "~0.6"
+ },
+ "dependencies": {
+ "readable-stream": {
+ "version": "1.0.34",
+ "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.0.34.tgz",
+ "integrity": "sha1-Elgg40vIQtLyqq+v5MKRbuMsFXw=",
+ "dev": true,
+ "requires": {
+ "core-util-is": "~1.0.0",
+ "inherits": "~2.0.1",
+ "isarray": "0.0.1",
+ "string_decoder": "~0.10.x"
+ }
+ },
+ "through2": {
+ "version": "0.6.5",
+ "resolved": "https://registry.npmjs.org/through2/-/through2-0.6.5.tgz",
+ "integrity": "sha1-QaucZ7KdVyCQcUEOHXp6lozTrUg=",
+ "dev": true,
+ "requires": {
+ "readable-stream": ">=1.0.33-1 <1.1.0-0",
+ "xtend": ">=4.0.0 <4.1.0-0"
+ }
+ }
+ }
+ },
+ "gulp-rename": {
+ "version": "1.2.2",
+ "resolved": "https://registry.npmjs.org/gulp-rename/-/gulp-rename-1.2.2.tgz",
+ "integrity": "sha1-OtRCh2PwXidk3sHGfYaNsnVoeBc=",
+ "dev": true
+ },
+ "gulp-sass": {
+ "version": "4.0.1",
+ "resolved": "https://registry.npmjs.org/gulp-sass/-/gulp-sass-4.0.1.tgz",
+ "integrity": "sha512-OMQEgWNggpog8Tc5v1MuI6eo+5iiPkVeLL76iBhDoEEScLUPfZlpvzmgTnLkpcqdrNodZxpz5qcv6mS2rulk3g==",
+ "dev": true,
+ "requires": {
+ "chalk": "^2.3.0",
+ "lodash.clonedeep": "^4.3.2",
+ "node-sass": "^4.8.3",
+ "plugin-error": "^1.0.1",
+ "replace-ext": "^1.0.0",
+ "strip-ansi": "^4.0.0",
+ "through2": "^2.0.0",
+ "vinyl-sourcemaps-apply": "^0.2.0"
+ },
+ "dependencies": {
+ "ansi-regex": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz",
+ "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=",
+ "dev": true
+ },
+ "ansi-styles": {
+ "version": "3.2.1",
+ "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz",
+ "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==",
+ "dev": true,
+ "requires": {
+ "color-convert": "^1.9.0"
+ }
+ },
+ "chalk": {
+ "version": "2.4.1",
+ "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.1.tgz",
+ "integrity": "sha512-ObN6h1v2fTJSmUXoS3nMQ92LbDK9be4TV+6G+omQlGJFdcUX5heKi1LZ1YnRMIgwTLEj3E24bT6tYni50rlCfQ==",
+ "dev": true,
+ "requires": {
+ "ansi-styles": "^3.2.1",
+ "escape-string-regexp": "^1.0.5",
+ "supports-color": "^5.3.0"
+ }
+ },
+ "replace-ext": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/replace-ext/-/replace-ext-1.0.0.tgz",
+ "integrity": "sha1-3mMSg3P8v3w8z6TeWkgMRaZ5WOs=",
+ "dev": true
+ },
+ "strip-ansi": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz",
+ "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=",
+ "dev": true,
+ "requires": {
+ "ansi-regex": "^3.0.0"
+ }
+ },
+ "supports-color": {
+ "version": "5.4.0",
+ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.4.0.tgz",
+ "integrity": "sha512-zjaXglF5nnWpsq470jSv6P9DwPvgLkuapYmfDm3JWOm0vkNTVF2tI4UrN2r6jH1qM/uc/WtxYY1hYoA2dOKj5w==",
+ "dev": true,
+ "requires": {
+ "has-flag": "^3.0.0"
+ }
+ },
+ "vinyl-sourcemaps-apply": {
+ "version": "0.2.1",
+ "resolved": "https://registry.npmjs.org/vinyl-sourcemaps-apply/-/vinyl-sourcemaps-apply-0.2.1.tgz",
+ "integrity": "sha1-q2VJ1h0XLCsbh75cUI0jnI74dwU=",
+ "dev": true,
+ "requires": {
+ "source-map": "^0.5.1"
+ }
+ }
+ }
+ },
+ "gulp-util": {
+ "version": "3.0.8",
+ "resolved": "https://registry.npmjs.org/gulp-util/-/gulp-util-3.0.8.tgz",
+ "integrity": "sha1-AFTh50RQLifATBh8PsxQXdVLu08=",
+ "requires": {
+ "array-differ": "^1.0.0",
+ "array-uniq": "^1.0.2",
+ "beeper": "^1.0.0",
+ "chalk": "^1.0.0",
+ "dateformat": "^2.0.0",
+ "fancy-log": "^1.1.0",
+ "gulplog": "^1.0.0",
+ "has-gulplog": "^0.1.0",
+ "lodash._reescape": "^3.0.0",
+ "lodash._reevaluate": "^3.0.0",
+ "lodash._reinterpolate": "^3.0.0",
+ "lodash.template": "^3.0.0",
+ "minimist": "^1.1.0",
+ "multipipe": "^0.1.2",
+ "object-assign": "^3.0.0",
+ "replace-ext": "0.0.1",
+ "through2": "^2.0.0",
+ "vinyl": "^0.5.0"
+ }
+ },
+ "gulplog": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/gulplog/-/gulplog-1.0.0.tgz",
+ "integrity": "sha1-4oxNRdBey77YGDY86PnFkmIp/+U=",
+ "requires": {
+ "glogg": "^1.0.0"
+ }
+ },
+ "har-schema": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/har-schema/-/har-schema-2.0.0.tgz",
+ "integrity": "sha1-qUwiJOvKwEeCoNkDVSHyRzW37JI=",
+ "dev": true
+ },
+ "har-validator": {
+ "version": "5.0.3",
+ "resolved": "https://registry.npmjs.org/har-validator/-/har-validator-5.0.3.tgz",
+ "integrity": "sha1-ukAsJmGU8VlW7xXg/PJCmT9qff0=",
+ "dev": true,
+ "requires": {
+ "ajv": "^5.1.0",
+ "har-schema": "^2.0.0"
+ }
+ },
+ "has-ansi": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/has-ansi/-/has-ansi-2.0.0.tgz",
+ "integrity": "sha1-NPUEnOHs3ysGSa8+8k5F7TVBbZE=",
+ "requires": {
+ "ansi-regex": "^2.0.0"
+ }
+ },
+ "has-flag": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz",
+ "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=",
+ "dev": true
+ },
+ "has-gulplog": {
+ "version": "0.1.0",
+ "resolved": "https://registry.npmjs.org/has-gulplog/-/has-gulplog-0.1.0.tgz",
+ "integrity": "sha1-ZBTIKRNpfaUVkDl9r7EvIpZ4Ec4=",
+ "requires": {
+ "sparkles": "^1.0.0"
+ }
+ },
+ "has-symbols": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.0.tgz",
+ "integrity": "sha1-uhqPGvKg/DllD1yFA2dwQSIGO0Q=",
+ "dev": true
+ },
+ "has-unicode": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/has-unicode/-/has-unicode-2.0.1.tgz",
+ "integrity": "sha1-4Ob+aijPUROIVeCG0Wkedx3iqLk=",
+ "dev": true
+ },
+ "has-value": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/has-value/-/has-value-1.0.0.tgz",
+ "integrity": "sha1-GLKB2lhbHFxR3vJMkw7SmgvmsXc=",
+ "dev": true,
+ "requires": {
+ "get-value": "^2.0.6",
+ "has-values": "^1.0.0",
+ "isobject": "^3.0.0"
+ }
+ },
+ "has-values": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/has-values/-/has-values-1.0.0.tgz",
+ "integrity": "sha1-lbC2P+whRmGab+V/51Yo1aOe/k8=",
+ "dev": true,
+ "requires": {
+ "is-number": "^3.0.0",
+ "kind-of": "^4.0.0"
+ },
+ "dependencies": {
+ "kind-of": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-4.0.0.tgz",
+ "integrity": "sha1-IIE989cSkosgc3hpGkUGb65y3Vc=",
+ "dev": true,
+ "requires": {
+ "is-buffer": "^1.1.5"
+ }
+ }
+ }
+ },
+ "homedir-polyfill": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/homedir-polyfill/-/homedir-polyfill-1.0.1.tgz",
+ "integrity": "sha1-TCu8inWJmP7r9e1oWA921GdotLw=",
+ "dev": true,
+ "requires": {
+ "parse-passwd": "^1.0.0"
+ }
+ },
+ "hosted-git-info": {
+ "version": "2.7.1",
+ "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.7.1.tgz",
+ "integrity": "sha512-7T/BxH19zbcCTa8XkMlbK5lTo1WtgkFi3GvdWEyNuc4Vex7/9Dqbnpsf4JMydcfj9HCg4zUWFTL3Za6lapg5/w==",
+ "dev": true
+ },
+ "http-signature": {
+ "version": "1.2.0",
+ "resolved": "https://registry.npmjs.org/http-signature/-/http-signature-1.2.0.tgz",
+ "integrity": "sha1-muzZJRFHcvPZW2WmCruPfBj7rOE=",
+ "dev": true,
+ "requires": {
+ "assert-plus": "^1.0.0",
+ "jsprim": "^1.2.2",
+ "sshpk": "^1.7.0"
+ }
+ },
+ "in-publish": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/in-publish/-/in-publish-2.0.0.tgz",
+ "integrity": "sha1-4g/146KvwmkDILbcVSaCqcf631E=",
+ "dev": true
+ },
+ "indent-string": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/indent-string/-/indent-string-2.1.0.tgz",
+ "integrity": "sha1-ji1INIdCEhtKghi3oTfppSBJ3IA=",
+ "dev": true,
+ "requires": {
+ "repeating": "^2.0.0"
+ }
+ },
+ "inflight": {
+ "version": "1.0.6",
+ "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz",
+ "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=",
+ "dev": true,
+ "requires": {
+ "once": "^1.3.0",
+ "wrappy": "1"
+ }
+ },
+ "inherits": {
+ "version": "2.0.3",
+ "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz",
+ "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4="
+ },
+ "ini": {
+ "version": "1.3.5",
+ "resolved": "https://registry.npmjs.org/ini/-/ini-1.3.5.tgz",
+ "integrity": "sha512-RZY5huIKCMRWDUqZlEi72f/lmXKMvuszcMBduliQ3nnWbx9X/ZBQO7DijMEYS9EhHBb2qacRUMtC7svLwe0lcw==",
+ "dev": true
+ },
+ "interpret": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/interpret/-/interpret-1.1.0.tgz",
+ "integrity": "sha1-ftGxQQxqDg94z5XTuEQMY/eLhhQ=",
+ "dev": true
+ },
+ "invert-kv": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/invert-kv/-/invert-kv-1.0.0.tgz",
+ "integrity": "sha1-EEqOSqym09jNFXqO+L+rLXo//bY=",
+ "dev": true
+ },
+ "is-absolute": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/is-absolute/-/is-absolute-1.0.0.tgz",
+ "integrity": "sha512-dOWoqflvcydARa360Gvv18DZ/gRuHKi2NU/wU5X1ZFzdYfH29nkiNZsF3mp4OJ3H4yo9Mx8A/uAGNzpzPN3yBA==",
+ "dev": true,
+ "requires": {
+ "is-relative": "^1.0.0",
+ "is-windows": "^1.0.1"
+ }
+ },
+ "is-accessor-descriptor": {
+ "version": "0.1.6",
+ "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz",
+ "integrity": "sha1-qeEss66Nh2cn7u84Q/igiXtcmNY=",
+ "dev": true,
+ "requires": {
+ "kind-of": "^3.0.2"
+ },
+ "dependencies": {
+ "kind-of": {
+ "version": "3.2.2",
+ "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz",
+ "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=",
+ "dev": true,
+ "requires": {
+ "is-buffer": "^1.1.5"
+ }
+ }
+ }
+ },
+ "is-arrayish": {
+ "version": "0.2.1",
+ "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz",
+ "integrity": "sha1-d8mYQFJ6qOyxqLppe4BkWnqSap0=",
+ "dev": true
+ },
+ "is-binary-path": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-1.0.1.tgz",
+ "integrity": "sha1-dfFmQrSA8YenEcgUFh/TpKdlWJg=",
+ "dev": true,
+ "requires": {
+ "binary-extensions": "^1.0.0"
+ }
+ },
+ "is-buffer": {
+ "version": "1.1.6",
+ "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz",
+ "integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==",
+ "dev": true
+ },
+ "is-builtin-module": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/is-builtin-module/-/is-builtin-module-1.0.0.tgz",
+ "integrity": "sha1-VAVy0096wxGfj3bDDLwbHgN6/74=",
+ "dev": true,
+ "requires": {
+ "builtin-modules": "^1.0.0"
+ }
+ },
+ "is-data-descriptor": {
+ "version": "0.1.4",
+ "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz",
+ "integrity": "sha1-C17mSDiOLIYCgueT8YVv7D8wG1Y=",
+ "dev": true,
+ "requires": {
+ "kind-of": "^3.0.2"
+ },
+ "dependencies": {
+ "kind-of": {
+ "version": "3.2.2",
+ "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz",
+ "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=",
+ "dev": true,
+ "requires": {
+ "is-buffer": "^1.1.5"
+ }
+ }
+ }
+ },
+ "is-descriptor": {
+ "version": "0.1.6",
+ "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz",
+ "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==",
+ "dev": true,
+ "requires": {
+ "is-accessor-descriptor": "^0.1.6",
+ "is-data-descriptor": "^0.1.4",
+ "kind-of": "^5.0.0"
+ },
+ "dependencies": {
+ "kind-of": {
+ "version": "5.1.0",
+ "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz",
+ "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==",
+ "dev": true
+ }
+ }
+ },
+ "is-extendable": {
+ "version": "0.1.1",
+ "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz",
+ "integrity": "sha1-YrEQ4omkcUGOPsNqYX1HLjAd/Ik=",
+ "dev": true
+ },
+ "is-extglob": {
+ "version": "2.1.1",
+ "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz",
+ "integrity": "sha1-qIwCU1eR8C7TfHahueqXc8gz+MI=",
+ "dev": true
+ },
+ "is-finite": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/is-finite/-/is-finite-1.0.2.tgz",
+ "integrity": "sha1-zGZ3aVYCvlUO8R6LSqYwU0K20Ko=",
+ "dev": true,
+ "requires": {
+ "number-is-nan": "^1.0.0"
+ }
+ },
+ "is-fullwidth-code-point": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz",
+ "integrity": "sha1-754xOG8DGn8NZDr4L95QxFfvAMs=",
+ "dev": true,
+ "requires": {
+ "number-is-nan": "^1.0.0"
+ }
+ },
+ "is-glob": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.0.tgz",
+ "integrity": "sha1-lSHHaEXMJhCoUgPd8ICpWML/q8A=",
+ "dev": true,
+ "requires": {
+ "is-extglob": "^2.1.1"
+ }
+ },
+ "is-negated-glob": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/is-negated-glob/-/is-negated-glob-1.0.0.tgz",
+ "integrity": "sha1-aRC8pdqMleeEtXUbl2z1oQ/uNtI=",
+ "dev": true
+ },
+ "is-number": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz",
+ "integrity": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=",
+ "dev": true,
+ "requires": {
+ "kind-of": "^3.0.2"
+ },
+ "dependencies": {
+ "kind-of": {
+ "version": "3.2.2",
+ "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz",
+ "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=",
+ "dev": true,
+ "requires": {
+ "is-buffer": "^1.1.5"
+ }
+ }
+ }
+ },
+ "is-plain-object": {
+ "version": "2.0.4",
+ "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz",
+ "integrity": "sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==",
+ "dev": true,
+ "requires": {
+ "isobject": "^3.0.1"
+ }
+ },
+ "is-relative": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/is-relative/-/is-relative-1.0.0.tgz",
+ "integrity": "sha512-Kw/ReK0iqwKeu0MITLFuj0jbPAmEiOsIwyIXvvbfa6QfmN9pkD1M+8pdk7Rl/dTKbH34/XBFMbgD4iMJhLQbGA==",
+ "dev": true,
+ "requires": {
+ "is-unc-path": "^1.0.0"
+ }
+ },
+ "is-typedarray": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz",
+ "integrity": "sha1-5HnICFjfDBsR3dppQPlgEfzaSpo=",
+ "dev": true
+ },
+ "is-unc-path": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/is-unc-path/-/is-unc-path-1.0.0.tgz",
+ "integrity": "sha512-mrGpVd0fs7WWLfVsStvgF6iEJnbjDFZh9/emhRDcGWTduTfNHd9CHeUwH3gYIjdbwo4On6hunkztwOaAw0yllQ==",
+ "dev": true,
+ "requires": {
+ "unc-path-regex": "^0.1.2"
+ }
+ },
+ "is-utf8": {
+ "version": "0.2.1",
+ "resolved": "https://registry.npmjs.org/is-utf8/-/is-utf8-0.2.1.tgz",
+ "integrity": "sha1-Sw2hRCEE0bM2NA6AeX6GXPOffXI=",
+ "dev": true
+ },
+ "is-valid-glob": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/is-valid-glob/-/is-valid-glob-1.0.0.tgz",
+ "integrity": "sha1-Kb8+/3Ab4tTTFdusw5vDn+j2Aao=",
+ "dev": true
+ },
+ "is-windows": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/is-windows/-/is-windows-1.0.2.tgz",
+ "integrity": "sha512-eXK1UInq2bPmjyX6e3VHIzMLobc4J94i4AWn+Hpq3OU5KkrRC96OAcR3PRJ/pGu6m8TRnBHP9dkXQVsT/COVIA==",
+ "dev": true
+ },
+ "isarray": {
+ "version": "0.0.1",
+ "resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz",
+ "integrity": "sha1-ihis/Kmo9Bd+Cav8YDiTmwXR7t8="
+ },
+ "isexe": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz",
+ "integrity": "sha1-6PvzdNxVb/iUehDcsFctYz8s+hA="
+ },
+ "isobject": {
+ "version": "3.0.1",
+ "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz",
+ "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=",
+ "dev": true
+ },
+ "isstream": {
+ "version": "0.1.2",
+ "resolved": "https://registry.npmjs.org/isstream/-/isstream-0.1.2.tgz",
+ "integrity": "sha1-R+Y/evVa+m+S4VAOaQ64uFKcCZo=",
+ "dev": true
+ },
+ "js-base64": {
+ "version": "2.1.9",
+ "resolved": "https://registry.npmjs.org/js-base64/-/js-base64-2.1.9.tgz",
+ "integrity": "sha1-8OgK4DmkvWVLXygfyT8EqRSn/M4=",
+ "dev": true
+ },
+ "jsbn": {
+ "version": "0.1.1",
+ "resolved": "https://registry.npmjs.org/jsbn/-/jsbn-0.1.1.tgz",
+ "integrity": "sha1-peZUwuWi3rXyAdls77yoDA7y9RM=",
+ "dev": true,
+ "optional": true
+ },
+ "json-schema": {
+ "version": "0.2.3",
+ "resolved": "https://registry.npmjs.org/json-schema/-/json-schema-0.2.3.tgz",
+ "integrity": "sha1-tIDIkuWaLwWVTOcnvT8qTogvnhM=",
+ "dev": true
+ },
+ "json-schema-traverse": {
+ "version": "0.3.1",
+ "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.3.1.tgz",
+ "integrity": "sha1-NJptRMU6Ud6JtAgFxdXlm0F9M0A=",
+ "dev": true
+ },
+ "json-stable-stringify": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/json-stable-stringify/-/json-stable-stringify-1.0.1.tgz",
+ "integrity": "sha1-mnWdOcXy/1A/1TAGRu1EX4jE+a8=",
+ "dev": true,
+ "requires": {
+ "jsonify": "~0.0.0"
+ }
+ },
+ "json-stringify-safe": {
+ "version": "5.0.1",
+ "resolved": "https://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz",
+ "integrity": "sha1-Epai1Y/UXxmg9s4B1lcB4sc1tus=",
+ "dev": true
+ },
+ "jsonify": {
+ "version": "0.0.0",
+ "resolved": "https://registry.npmjs.org/jsonify/-/jsonify-0.0.0.tgz",
+ "integrity": "sha1-LHS27kHZPKUbe1qu6PUDYx0lKnM=",
+ "dev": true
+ },
+ "jsprim": {
+ "version": "1.4.1",
+ "resolved": "https://registry.npmjs.org/jsprim/-/jsprim-1.4.1.tgz",
+ "integrity": "sha1-MT5mvB5cwG5Di8G3SZwuXFastqI=",
+ "dev": true,
+ "requires": {
+ "assert-plus": "1.0.0",
+ "extsprintf": "1.3.0",
+ "json-schema": "0.2.3",
+ "verror": "1.10.0"
+ }
+ },
+ "just-debounce": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/just-debounce/-/just-debounce-1.0.0.tgz",
+ "integrity": "sha1-h/zPrv/AtozRnVX2cilD+SnqNeo=",
+ "dev": true
+ },
+ "kind-of": {
+ "version": "6.0.2",
+ "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.2.tgz",
+ "integrity": "sha512-s5kLOcnH0XqDO+FvuaLX8DDjZ18CGFk7VygH40QoKPUQhW4e2rvM0rwUq0t8IQDOwYSeLK01U90OjzBTme2QqA==",
+ "dev": true
+ },
+ "last-run": {
+ "version": "1.1.1",
+ "resolved": "https://registry.npmjs.org/last-run/-/last-run-1.1.1.tgz",
+ "integrity": "sha1-RblpQsF7HHnHchmCWbqUO+v4yls=",
+ "dev": true,
+ "requires": {
+ "default-resolution": "^2.0.0",
+ "es6-weak-map": "^2.0.1"
+ }
+ },
+ "lazystream": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/lazystream/-/lazystream-1.0.0.tgz",
+ "integrity": "sha1-9plf4PggOS9hOWvolGJAe7dxaOQ=",
+ "dev": true,
+ "requires": {
+ "readable-stream": "^2.0.5"
+ },
+ "dependencies": {
+ "isarray": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz",
+ "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=",
+ "dev": true
+ },
+ "readable-stream": {
+ "version": "2.3.6",
+ "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.6.tgz",
+ "integrity": "sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw==",
+ "dev": true,
+ "requires": {
+ "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"
+ }
+ },
+ "string_decoder": {
+ "version": "1.1.1",
+ "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz",
+ "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==",
+ "dev": true,
+ "requires": {
+ "safe-buffer": "~5.1.0"
+ }
+ }
+ }
+ },
+ "lcid": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/lcid/-/lcid-1.0.0.tgz",
+ "integrity": "sha1-MIrMr6C8SDo4Z7S28rlQYlHRuDU=",
+ "dev": true,
+ "requires": {
+ "invert-kv": "^1.0.0"
+ }
+ },
+ "lead": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/lead/-/lead-1.0.0.tgz",
+ "integrity": "sha1-bxT5mje+Op3XhPVJVpDlkDRm7kI=",
+ "dev": true,
+ "requires": {
+ "flush-write-stream": "^1.0.2"
+ }
+ },
+ "liftoff": {
+ "version": "2.5.0",
+ "resolved": "https://registry.npmjs.org/liftoff/-/liftoff-2.5.0.tgz",
+ "integrity": "sha1-IAkpG7Mc6oYbvxCnwVooyvdcMew=",
+ "dev": true,
+ "requires": {
+ "extend": "^3.0.0",
+ "findup-sync": "^2.0.0",
+ "fined": "^1.0.1",
+ "flagged-respawn": "^1.0.0",
+ "is-plain-object": "^2.0.4",
+ "object.map": "^1.0.0",
+ "rechoir": "^0.6.2",
+ "resolve": "^1.1.7"
+ }
+ },
+ "load-json-file": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/load-json-file/-/load-json-file-1.1.0.tgz",
+ "integrity": "sha1-lWkFcI1YtLq0wiYbBPWfMcmTdMA=",
+ "dev": true,
+ "requires": {
+ "graceful-fs": "^4.1.2",
+ "parse-json": "^2.2.0",
+ "pify": "^2.0.0",
+ "pinkie-promise": "^2.0.0",
+ "strip-bom": "^2.0.0"
+ }
+ },
+ "lodash": {
+ "version": "4.17.10",
+ "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.10.tgz",
+ "integrity": "sha512-UejweD1pDoXu+AD825lWwp4ZGtSwgnpZxb3JDViD7StjQz+Nb/6l093lx4OQ0foGWNRoc19mWy7BzL+UAK2iVg==",
+ "dev": true
+ },
+ "lodash._basecopy": {
+ "version": "3.0.1",
+ "resolved": "https://registry.npmjs.org/lodash._basecopy/-/lodash._basecopy-3.0.1.tgz",
+ "integrity": "sha1-jaDmqHbPNEwK2KVIghEd08XHyjY="
+ },
+ "lodash._basetostring": {
+ "version": "3.0.1",
+ "resolved": "https://registry.npmjs.org/lodash._basetostring/-/lodash._basetostring-3.0.1.tgz",
+ "integrity": "sha1-0YYdh3+CSlL2aYMtyvPuFVZqB9U="
+ },
+ "lodash._basevalues": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/lodash._basevalues/-/lodash._basevalues-3.0.0.tgz",
+ "integrity": "sha1-W3dXYoAr3j0yl1A+JjAIIP32Ybc="
+ },
+ "lodash._getnative": {
+ "version": "3.9.1",
+ "resolved": "https://registry.npmjs.org/lodash._getnative/-/lodash._getnative-3.9.1.tgz",
+ "integrity": "sha1-VwvH3t5G1hzc3mh9ZdPuy6o6r/U="
+ },
+ "lodash._isiterateecall": {
+ "version": "3.0.9",
+ "resolved": "https://registry.npmjs.org/lodash._isiterateecall/-/lodash._isiterateecall-3.0.9.tgz",
+ "integrity": "sha1-UgOte6Ql+uhCRg5pbbnPPmqsBXw="
+ },
+ "lodash._reescape": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/lodash._reescape/-/lodash._reescape-3.0.0.tgz",
+ "integrity": "sha1-Kx1vXf4HyKNVdT5fJ/rH8c3hYWo="
+ },
+ "lodash._reevaluate": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/lodash._reevaluate/-/lodash._reevaluate-3.0.0.tgz",
+ "integrity": "sha1-WLx0xAZklTrgsSTYBpltrKQx4u0="
+ },
+ "lodash._reinterpolate": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/lodash._reinterpolate/-/lodash._reinterpolate-3.0.0.tgz",
+ "integrity": "sha1-DM8tiRZq8Ds2Y8eWU4t1rG4RTZ0="
+ },
+ "lodash._root": {
+ "version": "3.0.1",
+ "resolved": "https://registry.npmjs.org/lodash._root/-/lodash._root-3.0.1.tgz",
+ "integrity": "sha1-+6HEUkwZ7ppfgTa0YJ8BfPTe1pI="
+ },
+ "lodash.assign": {
+ "version": "4.2.0",
+ "resolved": "https://registry.npmjs.org/lodash.assign/-/lodash.assign-4.2.0.tgz",
+ "integrity": "sha1-DZnzzNem0mHRm9rrkkUAXShYCOc=",
+ "dev": true
+ },
+ "lodash.clonedeep": {
+ "version": "4.5.0",
+ "resolved": "https://registry.npmjs.org/lodash.clonedeep/-/lodash.clonedeep-4.5.0.tgz",
+ "integrity": "sha1-4j8/nE+Pvd6HJSnBBxhXoIblzO8=",
+ "dev": true
+ },
+ "lodash.debounce": {
+ "version": "4.0.8",
+ "resolved": "https://registry.npmjs.org/lodash.debounce/-/lodash.debounce-4.0.8.tgz",
+ "integrity": "sha1-gteb/zCmfEAF/9XiUVMArZyk168=",
+ "dev": true
+ },
+ "lodash.escape": {
+ "version": "3.2.0",
+ "resolved": "https://registry.npmjs.org/lodash.escape/-/lodash.escape-3.2.0.tgz",
+ "integrity": "sha1-mV7g3BjBtIzJLv+ucaEKq1tIdpg=",
+ "requires": {
+ "lodash._root": "^3.0.0"
+ }
+ },
+ "lodash.groupby": {
+ "version": "4.6.0",
+ "resolved": "https://registry.npmjs.org/lodash.groupby/-/lodash.groupby-4.6.0.tgz",
+ "integrity": "sha1-Cwih3PaDl8OXhVwyOXg4Mt90A9E="
+ },
+ "lodash.isarguments": {
+ "version": "3.1.0",
+ "resolved": "https://registry.npmjs.org/lodash.isarguments/-/lodash.isarguments-3.1.0.tgz",
+ "integrity": "sha1-L1c9hcaiQon/AGY7SRwdM4/zRYo="
+ },
+ "lodash.isarray": {
+ "version": "3.0.4",
+ "resolved": "https://registry.npmjs.org/lodash.isarray/-/lodash.isarray-3.0.4.tgz",
+ "integrity": "sha1-eeTriMNqgSKvhvhEqpvNhRtfu1U="
+ },
+ "lodash.keys": {
+ "version": "3.1.2",
+ "resolved": "https://registry.npmjs.org/lodash.keys/-/lodash.keys-3.1.2.tgz",
+ "integrity": "sha1-TbwEcrFWvlCgsoaFXRvQsMZWCYo=",
+ "requires": {
+ "lodash._getnative": "^3.0.0",
+ "lodash.isarguments": "^3.0.0",
+ "lodash.isarray": "^3.0.0"
+ }
+ },
+ "lodash.mergewith": {
+ "version": "4.6.1",
+ "resolved": "https://registry.npmjs.org/lodash.mergewith/-/lodash.mergewith-4.6.1.tgz",
+ "integrity": "sha512-eWw5r+PYICtEBgrBE5hhlT6aAa75f411bgDz/ZL2KZqYV03USvucsxcHUIlGTDTECs1eunpI7HOV7U+WLDvNdQ==",
+ "dev": true
+ },
+ "lodash.restparam": {
+ "version": "3.6.1",
+ "resolved": "https://registry.npmjs.org/lodash.restparam/-/lodash.restparam-3.6.1.tgz",
+ "integrity": "sha1-k2pOMJ7zMKdkXtQUWYbIWuWyCAU="
+ },
+ "lodash.template": {
+ "version": "3.6.2",
+ "resolved": "https://registry.npmjs.org/lodash.template/-/lodash.template-3.6.2.tgz",
+ "integrity": "sha1-+M3sxhaaJVvpCYrosMU9N4kx0U8=",
+ "requires": {
+ "lodash._basecopy": "^3.0.0",
+ "lodash._basetostring": "^3.0.0",
+ "lodash._basevalues": "^3.0.0",
+ "lodash._isiterateecall": "^3.0.0",
+ "lodash._reinterpolate": "^3.0.0",
+ "lodash.escape": "^3.0.0",
+ "lodash.keys": "^3.0.0",
+ "lodash.restparam": "^3.0.0",
+ "lodash.templatesettings": "^3.0.0"
+ }
+ },
+ "lodash.templatesettings": {
+ "version": "3.1.1",
+ "resolved": "https://registry.npmjs.org/lodash.templatesettings/-/lodash.templatesettings-3.1.1.tgz",
+ "integrity": "sha1-+zB4RHU7Zrnxr6VOJix0UwfbqOU=",
+ "requires": {
+ "lodash._reinterpolate": "^3.0.0",
+ "lodash.escape": "^3.0.0"
+ }
+ },
+ "loud-rejection": {
+ "version": "1.6.0",
+ "resolved": "https://registry.npmjs.org/loud-rejection/-/loud-rejection-1.6.0.tgz",
+ "integrity": "sha1-W0b4AUft7leIcPCG0Eghz5mOVR8=",
+ "dev": true,
+ "requires": {
+ "currently-unhandled": "^0.4.1",
+ "signal-exit": "^3.0.0"
+ }
+ },
+ "lru-cache": {
+ "version": "4.1.3",
+ "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-4.1.3.tgz",
+ "integrity": "sha512-fFEhvcgzuIoJVUF8fYr5KR0YqxD238zgObTps31YdADwPPAp82a4M8TrckkWyx7ekNlf9aBcVn81cFwwXngrJA==",
+ "dev": true,
+ "requires": {
+ "pseudomap": "^1.0.2",
+ "yallist": "^2.1.2"
+ }
+ },
+ "make-iterator": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/make-iterator/-/make-iterator-1.0.1.tgz",
+ "integrity": "sha512-pxiuXh0iVEq7VM7KMIhs5gxsfxCux2URptUQaXo4iZZJxBAzTPOLE2BumO5dbfVYq/hBJFBR/a1mFDmOx5AGmw==",
+ "dev": true,
+ "requires": {
+ "kind-of": "^6.0.2"
+ }
+ },
+ "map-cache": {
+ "version": "0.2.2",
+ "resolved": "https://registry.npmjs.org/map-cache/-/map-cache-0.2.2.tgz",
+ "integrity": "sha1-wyq9C9ZSXZsFFkW7TyasXcmKDb8=",
+ "dev": true
+ },
+ "map-obj": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/map-obj/-/map-obj-1.0.1.tgz",
+ "integrity": "sha1-2TPOuSBdgr3PSIb2dCvcK03qFG0=",
+ "dev": true
+ },
+ "map-visit": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/map-visit/-/map-visit-1.0.0.tgz",
+ "integrity": "sha1-7Nyo8TFE5mDxtb1B8S80edmN+48=",
+ "dev": true,
+ "requires": {
+ "object-visit": "^1.0.0"
+ }
+ },
+ "matchdep": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/matchdep/-/matchdep-2.0.0.tgz",
+ "integrity": "sha1-xvNINKDY28OzfCfui7yyfHd1WC4=",
+ "dev": true,
+ "requires": {
+ "findup-sync": "^2.0.0",
+ "micromatch": "^3.0.4",
+ "resolve": "^1.4.0",
+ "stack-trace": "0.0.10"
+ }
+ },
+ "meow": {
+ "version": "3.7.0",
+ "resolved": "https://registry.npmjs.org/meow/-/meow-3.7.0.tgz",
+ "integrity": "sha1-cstmi0JSKCkKu/qFaJJYcwioAfs=",
+ "dev": true,
+ "requires": {
+ "camelcase-keys": "^2.0.0",
+ "decamelize": "^1.1.2",
+ "loud-rejection": "^1.0.0",
+ "map-obj": "^1.0.1",
+ "minimist": "^1.1.3",
+ "normalize-package-data": "^2.3.4",
+ "object-assign": "^4.0.1",
+ "read-pkg-up": "^1.0.1",
+ "redent": "^1.0.0",
+ "trim-newlines": "^1.0.0"
+ },
+ "dependencies": {
+ "object-assign": {
+ "version": "4.1.1",
+ "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz",
+ "integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=",
+ "dev": true
+ }
+ }
+ },
+ "micromatch": {
+ "version": "3.1.10",
+ "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-3.1.10.tgz",
+ "integrity": "sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg==",
+ "dev": true,
+ "requires": {
+ "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": {
+ "version": "1.35.0",
+ "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.35.0.tgz",
+ "integrity": "sha512-JWT/IcCTsB0Io3AhWUMjRqucrHSPsSf2xKLaRldJVULioggvkJvggZ3VXNNSRkCddE6D+BUI4HEIZIA2OjwIvg==",
+ "dev": true
+ },
+ "mime-types": {
+ "version": "2.1.19",
+ "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.19.tgz",
+ "integrity": "sha512-P1tKYHVSZ6uFo26mtnve4HQFE3koh1UWVkp8YUC+ESBHe945xWSoXuHHiGarDqcEZ+whpCDnlNw5LON0kLo+sw==",
+ "dev": true,
+ "requires": {
+ "mime-db": "~1.35.0"
+ }
+ },
+ "minimatch": {
+ "version": "3.0.4",
+ "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz",
+ "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==",
+ "dev": true,
+ "requires": {
+ "brace-expansion": "^1.1.7"
+ }
+ },
+ "minimist": {
+ "version": "1.2.0",
+ "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz",
+ "integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ="
+ },
+ "mixin-deep": {
+ "version": "1.3.1",
+ "resolved": "https://registry.npmjs.org/mixin-deep/-/mixin-deep-1.3.1.tgz",
+ "integrity": "sha512-8ZItLHeEgaqEvd5lYBXfm4EZSFCX29Jb9K+lAHhDKzReKBQKj3R+7NOF6tjqYi9t4oI8VUfaWITJQm86wnXGNQ==",
+ "dev": true,
+ "requires": {
+ "for-in": "^1.0.2",
+ "is-extendable": "^1.0.1"
+ },
+ "dependencies": {
+ "is-extendable": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz",
+ "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==",
+ "dev": true,
+ "requires": {
+ "is-plain-object": "^2.0.4"
+ }
+ }
+ }
+ },
+ "mkdirp": {
+ "version": "0.5.1",
+ "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.1.tgz",
+ "integrity": "sha1-MAV0OOrGz3+MR2fzhkjWaX11yQM=",
+ "dev": true,
+ "requires": {
+ "minimist": "0.0.8"
+ },
+ "dependencies": {
+ "minimist": {
+ "version": "0.0.8",
+ "resolved": "https://registry.npmjs.org/minimist/-/minimist-0.0.8.tgz",
+ "integrity": "sha1-hX/Kv8M5fSYluCKCYuhqp6ARsF0=",
+ "dev": true
+ }
+ }
+ },
+ "ms": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz",
+ "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=",
+ "dev": true
+ },
+ "multipipe": {
+ "version": "0.1.2",
+ "resolved": "https://registry.npmjs.org/multipipe/-/multipipe-0.1.2.tgz",
+ "integrity": "sha1-Ko8t33Du1WTf8tV/HhoTfZ8FB4s=",
+ "requires": {
+ "duplexer2": "0.0.2"
+ }
+ },
+ "mute-stdout": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/mute-stdout/-/mute-stdout-1.0.0.tgz",
+ "integrity": "sha1-WzLqB+tDyd7WEwQ0z5JvRrKn/U0=",
+ "dev": true
+ },
+ "nan": {
+ "version": "2.10.0",
+ "resolved": "https://registry.npmjs.org/nan/-/nan-2.10.0.tgz",
+ "integrity": "sha512-bAdJv7fBLhWC+/Bls0Oza+mvTaNQtP+1RyhhhvD95pgUJz6XM5IzgmxOkItJ9tkoCiplvAnXI1tNmmUD/eScyA==",
+ "dev": true
+ },
+ "nanomatch": {
+ "version": "1.2.13",
+ "resolved": "https://registry.npmjs.org/nanomatch/-/nanomatch-1.2.13.tgz",
+ "integrity": "sha512-fpoe2T0RbHwBTBUOftAfBPaDEi06ufaUai0mE6Yn1kacc3SnTErfb/h+X94VXzI64rKFHYImXSvdwGGCmwOqCA==",
+ "dev": true,
+ "requires": {
+ "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"
+ }
+ },
+ "next-tick": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/next-tick/-/next-tick-1.0.0.tgz",
+ "integrity": "sha1-yobR/ogoFpsBICCOPchCS524NCw=",
+ "dev": true
+ },
+ "node-gyp": {
+ "version": "3.8.0",
+ "resolved": "https://registry.npmjs.org/node-gyp/-/node-gyp-3.8.0.tgz",
+ "integrity": "sha512-3g8lYefrRRzvGeSowdJKAKyks8oUpLEd/DyPV4eMhVlhJ0aNaZqIrNUIPuEWWTAoPqyFkfGrM67MC69baqn6vA==",
+ "dev": true,
+ "requires": {
+ "fstream": "^1.0.0",
+ "glob": "^7.0.3",
+ "graceful-fs": "^4.1.2",
+ "mkdirp": "^0.5.0",
+ "nopt": "2 || 3",
+ "npmlog": "0 || 1 || 2 || 3 || 4",
+ "osenv": "0",
+ "request": "^2.87.0",
+ "rimraf": "2",
+ "semver": "~5.3.0",
+ "tar": "^2.0.0",
+ "which": "1"
+ },
+ "dependencies": {
+ "semver": {
+ "version": "5.3.0",
+ "resolved": "https://registry.npmjs.org/semver/-/semver-5.3.0.tgz",
+ "integrity": "sha1-myzl094C0XxgEq0yaqa00M9U+U8=",
+ "dev": true
+ }
+ }
+ },
+ "node-sass": {
+ "version": "4.9.3",
+ "resolved": "https://registry.npmjs.org/node-sass/-/node-sass-4.9.3.tgz",
+ "integrity": "sha512-XzXyGjO+84wxyH7fV6IwBOTrEBe2f0a6SBze9QWWYR/cL74AcQUks2AsqcCZenl/Fp/JVbuEaLpgrLtocwBUww==",
+ "dev": true,
+ "requires": {
+ "async-foreach": "^0.1.3",
+ "chalk": "^1.1.1",
+ "cross-spawn": "^3.0.0",
+ "gaze": "^1.0.0",
+ "get-stdin": "^4.0.1",
+ "glob": "^7.0.3",
+ "in-publish": "^2.0.0",
+ "lodash.assign": "^4.2.0",
+ "lodash.clonedeep": "^4.3.2",
+ "lodash.mergewith": "^4.6.0",
+ "meow": "^3.7.0",
+ "mkdirp": "^0.5.1",
+ "nan": "^2.10.0",
+ "node-gyp": "^3.8.0",
+ "npmlog": "^4.0.0",
+ "request": "2.87.0",
+ "sass-graph": "^2.2.4",
+ "stdout-stream": "^1.4.0",
+ "true-case-path": "^1.0.2"
+ }
+ },
+ "nopt": {
+ "version": "3.0.6",
+ "resolved": "https://registry.npmjs.org/nopt/-/nopt-3.0.6.tgz",
+ "integrity": "sha1-xkZdvwirzU2zWTF/eaxopkayj/k=",
+ "dev": true,
+ "requires": {
+ "abbrev": "1"
+ }
+ },
+ "normalize-package-data": {
+ "version": "2.4.0",
+ "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-2.4.0.tgz",
+ "integrity": "sha512-9jjUFbTPfEy3R/ad/2oNbKtW9Hgovl5O1FvFWKkKblNXoN/Oou6+9+KKohPK13Yc3/TyunyWhJp6gvRNR/PPAw==",
+ "dev": true,
+ "requires": {
+ "hosted-git-info": "^2.1.4",
+ "is-builtin-module": "^1.0.0",
+ "semver": "2 || 3 || 4 || 5",
+ "validate-npm-package-license": "^3.0.1"
+ }
+ },
+ "normalize-path": {
+ "version": "2.1.1",
+ "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-2.1.1.tgz",
+ "integrity": "sha1-GrKLVW4Zg2Oowab35vogE3/mrtk=",
+ "dev": true,
+ "requires": {
+ "remove-trailing-separator": "^1.0.1"
+ }
+ },
+ "now-and-later": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/now-and-later/-/now-and-later-2.0.0.tgz",
+ "integrity": "sha1-vGHLtFbXnLMiB85HygUTb/Ln1u4=",
+ "dev": true,
+ "requires": {
+ "once": "^1.3.2"
+ }
+ },
+ "npmlog": {
+ "version": "4.1.2",
+ "resolved": "https://registry.npmjs.org/npmlog/-/npmlog-4.1.2.tgz",
+ "integrity": "sha512-2uUqazuKlTaSI/dC8AzicUck7+IrEaOnN/e0jd3Xtt1KcGpwx30v50mL7oPyr/h9bL3E4aZccVwpwP+5W9Vjkg==",
+ "dev": true,
+ "requires": {
+ "are-we-there-yet": "~1.1.2",
+ "console-control-strings": "~1.1.0",
+ "gauge": "~2.7.3",
+ "set-blocking": "~2.0.0"
+ }
+ },
+ "num2fraction": {
+ "version": "1.2.2",
+ "resolved": "https://registry.npmjs.org/num2fraction/-/num2fraction-1.2.2.tgz",
+ "integrity": "sha1-b2gragJ6Tp3fpFZM0lidHU5mnt4=",
+ "dev": true
+ },
+ "number-is-nan": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/number-is-nan/-/number-is-nan-1.0.1.tgz",
+ "integrity": "sha1-CXtgK1NCKlIsGvuHkDGDNpQaAR0=",
+ "dev": true
+ },
+ "oauth-sign": {
+ "version": "0.8.2",
+ "resolved": "https://registry.npmjs.org/oauth-sign/-/oauth-sign-0.8.2.tgz",
+ "integrity": "sha1-Rqarfwrq2N6unsBWV4C31O/rnUM=",
+ "dev": true
+ },
+ "object-assign": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-3.0.0.tgz",
+ "integrity": "sha1-m+3VygiXlJvKR+f/QIBi1Un1h/I="
+ },
+ "object-copy": {
+ "version": "0.1.0",
+ "resolved": "https://registry.npmjs.org/object-copy/-/object-copy-0.1.0.tgz",
+ "integrity": "sha1-fn2Fi3gb18mRpBupde04EnVOmYw=",
+ "dev": true,
+ "requires": {
+ "copy-descriptor": "^0.1.0",
+ "define-property": "^0.2.5",
+ "kind-of": "^3.0.3"
+ },
+ "dependencies": {
+ "define-property": {
+ "version": "0.2.5",
+ "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz",
+ "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=",
+ "dev": true,
+ "requires": {
+ "is-descriptor": "^0.1.0"
+ }
+ },
+ "kind-of": {
+ "version": "3.2.2",
+ "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz",
+ "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=",
+ "dev": true,
+ "requires": {
+ "is-buffer": "^1.1.5"
+ }
+ }
+ }
+ },
+ "object-keys": {
+ "version": "1.0.12",
+ "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.0.12.tgz",
+ "integrity": "sha512-FTMyFUm2wBcGHnH2eXmz7tC6IwlqQZ6mVZ+6dm6vZ4IQIHjs6FdNsQBuKGPuUUUY6NfJw2PshC08Tn6LzLDOag==",
+ "dev": true
+ },
+ "object-visit": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/object-visit/-/object-visit-1.0.1.tgz",
+ "integrity": "sha1-95xEk68MU3e1n+OdOV5BBC3QRbs=",
+ "dev": true,
+ "requires": {
+ "isobject": "^3.0.0"
+ }
+ },
+ "object.assign": {
+ "version": "4.1.0",
+ "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.0.tgz",
+ "integrity": "sha512-exHJeq6kBKj58mqGyTQ9DFvrZC/eR6OwxzoM9YRoGBqrXYonaFyGiFMuc9VZrXf7DarreEwMpurG3dd+CNyW5w==",
+ "dev": true,
+ "requires": {
+ "define-properties": "^1.1.2",
+ "function-bind": "^1.1.1",
+ "has-symbols": "^1.0.0",
+ "object-keys": "^1.0.11"
+ }
+ },
+ "object.defaults": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/object.defaults/-/object.defaults-1.1.0.tgz",
+ "integrity": "sha1-On+GgzS0B96gbaFtiNXNKeQ1/s8=",
+ "dev": true,
+ "requires": {
+ "array-each": "^1.0.1",
+ "array-slice": "^1.0.0",
+ "for-own": "^1.0.0",
+ "isobject": "^3.0.0"
+ }
+ },
+ "object.map": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/object.map/-/object.map-1.0.1.tgz",
+ "integrity": "sha1-z4Plncj8wK1fQlDh94s7gb2AHTc=",
+ "dev": true,
+ "requires": {
+ "for-own": "^1.0.0",
+ "make-iterator": "^1.0.0"
+ }
+ },
+ "object.pick": {
+ "version": "1.3.0",
+ "resolved": "https://registry.npmjs.org/object.pick/-/object.pick-1.3.0.tgz",
+ "integrity": "sha1-h6EKxMFpS9Lhy/U1kaZhQftd10c=",
+ "dev": true,
+ "requires": {
+ "isobject": "^3.0.1"
+ }
+ },
+ "object.reduce": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/object.reduce/-/object.reduce-1.0.1.tgz",
+ "integrity": "sha1-b+NI8qx/oPlcpiEiZZkJaCW7A60=",
+ "dev": true,
+ "requires": {
+ "for-own": "^1.0.0",
+ "make-iterator": "^1.0.0"
+ }
+ },
+ "once": {
+ "version": "1.4.0",
+ "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz",
+ "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=",
+ "dev": true,
+ "requires": {
+ "wrappy": "1"
+ }
+ },
+ "ordered-read-streams": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/ordered-read-streams/-/ordered-read-streams-1.0.1.tgz",
+ "integrity": "sha1-d8DLN8QVJdZBZtmQ/61+xqDhNj4=",
+ "dev": true,
+ "requires": {
+ "readable-stream": "^2.0.1"
+ },
+ "dependencies": {
+ "isarray": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz",
+ "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=",
+ "dev": true
+ },
+ "readable-stream": {
+ "version": "2.3.6",
+ "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.6.tgz",
+ "integrity": "sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw==",
+ "dev": true,
+ "requires": {
+ "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"
+ }
+ },
+ "string_decoder": {
+ "version": "1.1.1",
+ "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz",
+ "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==",
+ "dev": true,
+ "requires": {
+ "safe-buffer": "~5.1.0"
+ }
+ }
+ }
+ },
+ "os-homedir": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/os-homedir/-/os-homedir-1.0.2.tgz",
+ "integrity": "sha1-/7xJiDNuDoM94MFox+8VISGqf7M=",
+ "dev": true
+ },
+ "os-locale": {
+ "version": "1.4.0",
+ "resolved": "https://registry.npmjs.org/os-locale/-/os-locale-1.4.0.tgz",
+ "integrity": "sha1-IPnxeuKe00XoveWDsT0gCYA8FNk=",
+ "dev": true,
+ "requires": {
+ "lcid": "^1.0.0"
+ }
+ },
+ "os-tmpdir": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/os-tmpdir/-/os-tmpdir-1.0.2.tgz",
+ "integrity": "sha1-u+Z0BseaqFxc/sdm/lc0VV36EnQ=",
+ "dev": true
+ },
+ "osenv": {
+ "version": "0.1.5",
+ "resolved": "https://registry.npmjs.org/osenv/-/osenv-0.1.5.tgz",
+ "integrity": "sha512-0CWcCECdMVc2Rw3U5w9ZjqX6ga6ubk1xDVKxtBQPK7wis/0F2r9T6k4ydGYhecl7YUBxBVxhL5oisPsNxAPe2g==",
+ "dev": true,
+ "requires": {
+ "os-homedir": "^1.0.0",
+ "os-tmpdir": "^1.0.0"
+ }
+ },
+ "p-queue": {
+ "version": "1.2.0",
+ "resolved": "https://registry.npmjs.org/p-queue/-/p-queue-1.2.0.tgz",
+ "integrity": "sha1-Y5y4sHJwwVtx16ZEao4wQU88ltE="
+ },
+ "parse-filepath": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/parse-filepath/-/parse-filepath-1.0.2.tgz",
+ "integrity": "sha1-pjISf1Oq89FYdvWHLz/6x2PWyJE=",
+ "dev": true,
+ "requires": {
+ "is-absolute": "^1.0.0",
+ "map-cache": "^0.2.0",
+ "path-root": "^0.1.1"
+ }
+ },
+ "parse-json": {
+ "version": "2.2.0",
+ "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-2.2.0.tgz",
+ "integrity": "sha1-9ID0BDTvgHQfhGkJn43qGPVaTck=",
+ "dev": true,
+ "requires": {
+ "error-ex": "^1.2.0"
+ }
+ },
+ "parse-passwd": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/parse-passwd/-/parse-passwd-1.0.0.tgz",
+ "integrity": "sha1-bVuTSkVpk7I9N/QKOC1vFmao5cY=",
+ "dev": true
+ },
+ "pascalcase": {
+ "version": "0.1.1",
+ "resolved": "https://registry.npmjs.org/pascalcase/-/pascalcase-0.1.1.tgz",
+ "integrity": "sha1-s2PlXoAGym/iF4TS2yK9FdeRfxQ=",
+ "dev": true
+ },
+ "path-dirname": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/path-dirname/-/path-dirname-1.0.2.tgz",
+ "integrity": "sha1-zDPSTVJeCZpTiMAzbG4yuRYGCeA=",
+ "dev": true
+ },
+ "path-exists": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-2.1.0.tgz",
+ "integrity": "sha1-D+tsZPD8UY2adU3V77YscCJ2H0s=",
+ "dev": true,
+ "requires": {
+ "pinkie-promise": "^2.0.0"
+ }
+ },
+ "path-is-absolute": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz",
+ "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=",
+ "dev": true
+ },
+ "path-parse": {
+ "version": "1.0.6",
+ "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.6.tgz",
+ "integrity": "sha512-GSmOT2EbHrINBf9SR7CDELwlJ8AENk3Qn7OikK4nFYAu3Ote2+JYNVvkpAEQm3/TLNEJFD/xZJjzyxg3KBWOzw==",
+ "dev": true
+ },
+ "path-root": {
+ "version": "0.1.1",
+ "resolved": "https://registry.npmjs.org/path-root/-/path-root-0.1.1.tgz",
+ "integrity": "sha1-mkpoFMrBwM1zNgqV8yCDyOpHRbc=",
+ "dev": true,
+ "requires": {
+ "path-root-regex": "^0.1.0"
+ }
+ },
+ "path-root-regex": {
+ "version": "0.1.2",
+ "resolved": "https://registry.npmjs.org/path-root-regex/-/path-root-regex-0.1.2.tgz",
+ "integrity": "sha1-v8zcjfWxLcUsi0PsONGNcsBLqW0=",
+ "dev": true
+ },
+ "path-type": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/path-type/-/path-type-1.1.0.tgz",
+ "integrity": "sha1-WcRPfuSR2nBNpBXaWkBwuk+P5EE=",
+ "dev": true,
+ "requires": {
+ "graceful-fs": "^4.1.2",
+ "pify": "^2.0.0",
+ "pinkie-promise": "^2.0.0"
+ }
+ },
+ "performance-now": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/performance-now/-/performance-now-2.1.0.tgz",
+ "integrity": "sha1-Ywn04OX6kT7BxpMHrjZLSzd8nns=",
+ "dev": true
+ },
+ "pify": {
+ "version": "2.3.0",
+ "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz",
+ "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=",
+ "dev": true
+ },
+ "pinkie": {
+ "version": "2.0.4",
+ "resolved": "https://registry.npmjs.org/pinkie/-/pinkie-2.0.4.tgz",
+ "integrity": "sha1-clVrgM+g1IqXToDnckjoDtT3+HA=",
+ "dev": true
+ },
+ "pinkie-promise": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/pinkie-promise/-/pinkie-promise-2.0.1.tgz",
+ "integrity": "sha1-ITXW36ejWMBprJsXh3YogihFD/o=",
+ "dev": true,
+ "requires": {
+ "pinkie": "^2.0.0"
+ }
+ },
+ "plugin-error": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/plugin-error/-/plugin-error-1.0.1.tgz",
+ "integrity": "sha512-L1zP0dk7vGweZME2i+EeakvUNqSrdiI3F91TwEoYiGrAfUXmVv6fJIq4g82PAXxNsWOp0J7ZqQy/3Szz0ajTxA==",
+ "dev": true,
+ "requires": {
+ "ansi-colors": "^1.0.1",
+ "arr-diff": "^4.0.0",
+ "arr-union": "^3.1.0",
+ "extend-shallow": "^3.0.2"
+ }
+ },
+ "posix-character-classes": {
+ "version": "0.1.1",
+ "resolved": "https://registry.npmjs.org/posix-character-classes/-/posix-character-classes-0.1.1.tgz",
+ "integrity": "sha1-AerA/jta9xoqbAL+q7jB/vfgDqs=",
+ "dev": true
+ },
+ "postcss": {
+ "version": "4.1.16",
+ "resolved": "https://registry.npmjs.org/postcss/-/postcss-4.1.16.tgz",
+ "integrity": "sha1-TESbTIr53zyvbTf44eV10DYXWNw=",
+ "dev": true,
+ "requires": {
+ "es6-promise": "~2.3.0",
+ "js-base64": "~2.1.8",
+ "source-map": "~0.4.2"
+ },
+ "dependencies": {
+ "source-map": {
+ "version": "0.4.4",
+ "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.4.4.tgz",
+ "integrity": "sha1-66T12pwNyZneaAMti092FzZSA2s=",
+ "dev": true,
+ "requires": {
+ "amdefine": ">=0.0.4"
+ }
+ }
+ }
+ },
+ "pretty-hrtime": {
+ "version": "1.0.3",
+ "resolved": "https://registry.npmjs.org/pretty-hrtime/-/pretty-hrtime-1.0.3.tgz",
+ "integrity": "sha1-t+PqQkNaTJsnWdmeDyAesZWALuE=",
+ "dev": true
+ },
+ "process-nextick-args": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.0.tgz",
+ "integrity": "sha512-MtEC1TqN0EU5nephaJ4rAtThHtC86dNN9qCuEhtshvpVBkAW5ZO7BASN9REnF9eoXGcRub+pFuKEpOHE+HbEMw=="
+ },
+ "pseudomap": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/pseudomap/-/pseudomap-1.0.2.tgz",
+ "integrity": "sha1-8FKijacOYYkX7wqKw0wa5aaChrM=",
+ "dev": true
+ },
+ "pump": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/pump/-/pump-2.0.1.tgz",
+ "integrity": "sha512-ruPMNRkN3MHP1cWJc9OWr+T/xDP0jhXYCLfJcBuX54hhfIBnaQmAUMfDcG4DM5UMWByBbJY69QSphm3jtDKIkA==",
+ "dev": true,
+ "requires": {
+ "end-of-stream": "^1.1.0",
+ "once": "^1.3.1"
+ }
+ },
+ "pumpify": {
+ "version": "1.5.1",
+ "resolved": "https://registry.npmjs.org/pumpify/-/pumpify-1.5.1.tgz",
+ "integrity": "sha512-oClZI37HvuUJJxSKKrC17bZ9Cu0ZYhEAGPsPUy9KlMUmv9dKX2o77RUmq7f3XjIxbwyGwYzbzQ1L2Ks8sIradQ==",
+ "dev": true,
+ "requires": {
+ "duplexify": "^3.6.0",
+ "inherits": "^2.0.3",
+ "pump": "^2.0.0"
+ }
+ },
+ "punycode": {
+ "version": "1.4.1",
+ "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.4.1.tgz",
+ "integrity": "sha1-wNWmOycYgArY4esPpSachN1BhF4=",
+ "dev": true
+ },
+ "qs": {
+ "version": "6.5.2",
+ "resolved": "https://registry.npmjs.org/qs/-/qs-6.5.2.tgz",
+ "integrity": "sha512-N5ZAX4/LxJmF+7wN74pUD6qAh9/wnvdQcjq9TZjevvXzSUo7bfmw91saqMjzGS2xq91/odN2dW/WOl7qQHNDGA==",
+ "dev": true
+ },
+ "read-pkg": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-1.1.0.tgz",
+ "integrity": "sha1-9f+qXs0pyzHAR0vKfXVra7KePyg=",
+ "dev": true,
+ "requires": {
+ "load-json-file": "^1.0.0",
+ "normalize-package-data": "^2.3.2",
+ "path-type": "^1.0.0"
+ }
+ },
+ "read-pkg-up": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-1.0.1.tgz",
+ "integrity": "sha1-nWPBMnbAZZGNV/ACpX9AobZD+wI=",
+ "dev": true,
+ "requires": {
+ "find-up": "^1.0.0",
+ "read-pkg": "^1.0.0"
+ }
+ },
+ "readable-stream": {
+ "version": "1.1.14",
+ "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.1.14.tgz",
+ "integrity": "sha1-fPTFTvZI44EwhMY23SB54WbAgdk=",
+ "requires": {
+ "core-util-is": "~1.0.0",
+ "inherits": "~2.0.1",
+ "isarray": "0.0.1",
+ "string_decoder": "~0.10.x"
+ }
+ },
+ "readdirp": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-2.1.0.tgz",
+ "integrity": "sha1-TtCtBg3zBzMAxIRANz9y0cxkLXg=",
+ "dev": true,
+ "requires": {
+ "graceful-fs": "^4.1.2",
+ "minimatch": "^3.0.2",
+ "readable-stream": "^2.0.2",
+ "set-immediate-shim": "^1.0.1"
+ },
+ "dependencies": {
+ "isarray": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz",
+ "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=",
+ "dev": true
+ },
+ "readable-stream": {
+ "version": "2.3.6",
+ "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.6.tgz",
+ "integrity": "sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw==",
+ "dev": true,
+ "requires": {
+ "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"
+ }
+ },
+ "string_decoder": {
+ "version": "1.1.1",
+ "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz",
+ "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==",
+ "dev": true,
+ "requires": {
+ "safe-buffer": "~5.1.0"
+ }
+ }
+ }
+ },
+ "rechoir": {
+ "version": "0.6.2",
+ "resolved": "https://registry.npmjs.org/rechoir/-/rechoir-0.6.2.tgz",
+ "integrity": "sha1-hSBLVNuoLVdC4oyWdW70OvUOM4Q=",
+ "dev": true,
+ "requires": {
+ "resolve": "^1.1.6"
+ }
+ },
+ "redent": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/redent/-/redent-1.0.0.tgz",
+ "integrity": "sha1-z5Fqsf1fHxbfsggi3W7H9zDCr94=",
+ "dev": true,
+ "requires": {
+ "indent-string": "^2.1.0",
+ "strip-indent": "^1.0.1"
+ }
+ },
+ "regex-not": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/regex-not/-/regex-not-1.0.2.tgz",
+ "integrity": "sha512-J6SDjUgDxQj5NusnOtdFxDwN/+HWykR8GELwctJ7mdqhcyy1xEc4SRFHUXvxTp661YaVKAjfRLZ9cCqS6tn32A==",
+ "dev": true,
+ "requires": {
+ "extend-shallow": "^3.0.2",
+ "safe-regex": "^1.1.0"
+ }
+ },
+ "remove-bom-buffer": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/remove-bom-buffer/-/remove-bom-buffer-3.0.0.tgz",
+ "integrity": "sha512-8v2rWhaakv18qcvNeli2mZ/TMTL2nEyAKRvzo1WtnZBl15SHyEhrCu2/xKlJyUFKHiHgfXIyuY6g2dObJJycXQ==",
+ "dev": true,
+ "requires": {
+ "is-buffer": "^1.1.5",
+ "is-utf8": "^0.2.1"
+ }
+ },
+ "remove-bom-stream": {
+ "version": "1.2.0",
+ "resolved": "https://registry.npmjs.org/remove-bom-stream/-/remove-bom-stream-1.2.0.tgz",
+ "integrity": "sha1-BfGlk/FuQuH7kOv1nejlaVJflSM=",
+ "dev": true,
+ "requires": {
+ "remove-bom-buffer": "^3.0.0",
+ "safe-buffer": "^5.1.0",
+ "through2": "^2.0.3"
+ }
+ },
+ "remove-trailing-separator": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/remove-trailing-separator/-/remove-trailing-separator-1.1.0.tgz",
+ "integrity": "sha1-wkvOKig62tW8P1jg1IJJuSN52O8=",
+ "dev": true
+ },
+ "repeat-element": {
+ "version": "1.1.2",
+ "resolved": "https://registry.npmjs.org/repeat-element/-/repeat-element-1.1.2.tgz",
+ "integrity": "sha1-7wiaF40Ug7quTZPrmLT55OEdmQo=",
+ "dev": true
+ },
+ "repeat-string": {
+ "version": "1.6.1",
+ "resolved": "https://registry.npmjs.org/repeat-string/-/repeat-string-1.6.1.tgz",
+ "integrity": "sha1-jcrkcOHIirwtYA//Sndihtp15jc=",
+ "dev": true
+ },
+ "repeating": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/repeating/-/repeating-2.0.1.tgz",
+ "integrity": "sha1-UhTFOpJtNVJwdSf7q0FdvAjQbdo=",
+ "dev": true,
+ "requires": {
+ "is-finite": "^1.0.0"
+ }
+ },
+ "replace-ext": {
+ "version": "0.0.1",
+ "resolved": "https://registry.npmjs.org/replace-ext/-/replace-ext-0.0.1.tgz",
+ "integrity": "sha1-KbvZIHinOfC8zitO5B6DeVNSKSQ="
+ },
+ "replace-homedir": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/replace-homedir/-/replace-homedir-1.0.0.tgz",
+ "integrity": "sha1-6H9tUTuSjd6AgmDBK+f+xv9ueYw=",
+ "dev": true,
+ "requires": {
+ "homedir-polyfill": "^1.0.1",
+ "is-absolute": "^1.0.0",
+ "remove-trailing-separator": "^1.1.0"
+ }
+ },
+ "request": {
+ "version": "2.87.0",
+ "resolved": "https://registry.npmjs.org/request/-/request-2.87.0.tgz",
+ "integrity": "sha512-fcogkm7Az5bsS6Sl0sibkbhcKsnyon/jV1kF3ajGmF0c8HrttdKTPRT9hieOaQHA5HEq6r8OyWOo/o781C1tNw==",
+ "dev": true,
+ "requires": {
+ "aws-sign2": "~0.7.0",
+ "aws4": "^1.6.0",
+ "caseless": "~0.12.0",
+ "combined-stream": "~1.0.5",
+ "extend": "~3.0.1",
+ "forever-agent": "~0.6.1",
+ "form-data": "~2.3.1",
+ "har-validator": "~5.0.3",
+ "http-signature": "~1.2.0",
+ "is-typedarray": "~1.0.0",
+ "isstream": "~0.1.2",
+ "json-stringify-safe": "~5.0.1",
+ "mime-types": "~2.1.17",
+ "oauth-sign": "~0.8.2",
+ "performance-now": "^2.1.0",
+ "qs": "~6.5.1",
+ "safe-buffer": "^5.1.1",
+ "tough-cookie": "~2.3.3",
+ "tunnel-agent": "^0.6.0",
+ "uuid": "^3.1.0"
+ }
+ },
+ "require-directory": {
+ "version": "2.1.1",
+ "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz",
+ "integrity": "sha1-jGStX9MNqxyXbiNE/+f3kqam30I=",
+ "dev": true
+ },
+ "require-main-filename": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/require-main-filename/-/require-main-filename-1.0.1.tgz",
+ "integrity": "sha1-l/cXtp1IeE9fUmpsWqj/3aBVpNE=",
+ "dev": true
+ },
+ "resolve": {
+ "version": "1.8.1",
+ "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.8.1.tgz",
+ "integrity": "sha512-AicPrAC7Qu1JxPCZ9ZgCZlY35QgFnNqc+0LtbRNxnVw4TXvjQ72wnuL9JQcEBgXkI9JM8MsT9kaQoHcpCRJOYA==",
+ "dev": true,
+ "requires": {
+ "path-parse": "^1.0.5"
+ }
+ },
+ "resolve-dir": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/resolve-dir/-/resolve-dir-1.0.1.tgz",
+ "integrity": "sha1-eaQGRMNivoLybv/nOcm7U4IEb0M=",
+ "dev": true,
+ "requires": {
+ "expand-tilde": "^2.0.0",
+ "global-modules": "^1.0.0"
+ }
+ },
+ "resolve-options": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/resolve-options/-/resolve-options-1.1.0.tgz",
+ "integrity": "sha1-MrueOcBtZzONyTeMDW1gdFZq0TE=",
+ "dev": true,
+ "requires": {
+ "value-or-function": "^3.0.0"
+ }
+ },
+ "resolve-url": {
+ "version": "0.2.1",
+ "resolved": "https://registry.npmjs.org/resolve-url/-/resolve-url-0.2.1.tgz",
+ "integrity": "sha1-LGN/53yJOv0qZj/iGqkIAGjiBSo=",
+ "dev": true
+ },
+ "ret": {
+ "version": "0.1.15",
+ "resolved": "https://registry.npmjs.org/ret/-/ret-0.1.15.tgz",
+ "integrity": "sha512-TTlYpa+OL+vMMNG24xSlQGEJ3B/RzEfUlLct7b5G/ytav+wPrplCpVMFuwzXbkecJrb6IYo1iFb0S9v37754mg==",
+ "dev": true
+ },
+ "rimraf": {
+ "version": "2.6.2",
+ "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.6.2.tgz",
+ "integrity": "sha512-lreewLK/BlghmxtfH36YYVg1i8IAce4TI7oao75I1g245+6BctqTVQiBP3YUJ9C6DQOXJmkYR9X9fCLtCOJc5w==",
+ "dev": true,
+ "requires": {
+ "glob": "^7.0.5"
+ }
+ },
+ "safe-buffer": {
+ "version": "5.1.2",
+ "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz",
+ "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g=="
+ },
+ "safe-regex": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/safe-regex/-/safe-regex-1.1.0.tgz",
+ "integrity": "sha1-QKNmnzsHfR6UPURinhV91IAjvy4=",
+ "dev": true,
+ "requires": {
+ "ret": "~0.1.10"
+ }
+ },
+ "safer-buffer": {
+ "version": "2.1.2",
+ "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz",
+ "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==",
+ "dev": true
+ },
+ "sass-graph": {
+ "version": "2.2.4",
+ "resolved": "https://registry.npmjs.org/sass-graph/-/sass-graph-2.2.4.tgz",
+ "integrity": "sha1-E/vWPNHK8JCLn9k0dq1DpR0eC0k=",
+ "dev": true,
+ "requires": {
+ "glob": "^7.0.0",
+ "lodash": "^4.0.0",
+ "scss-tokenizer": "^0.2.3",
+ "yargs": "^7.0.0"
+ }
+ },
+ "scss-tokenizer": {
+ "version": "0.2.3",
+ "resolved": "https://registry.npmjs.org/scss-tokenizer/-/scss-tokenizer-0.2.3.tgz",
+ "integrity": "sha1-jrBtualyMzOCTT9VMGQRSYR85dE=",
+ "dev": true,
+ "requires": {
+ "js-base64": "^2.1.8",
+ "source-map": "^0.4.2"
+ },
+ "dependencies": {
+ "source-map": {
+ "version": "0.4.4",
+ "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.4.4.tgz",
+ "integrity": "sha1-66T12pwNyZneaAMti092FzZSA2s=",
+ "dev": true,
+ "requires": {
+ "amdefine": ">=0.0.4"
+ }
+ }
+ }
+ },
+ "semver": {
+ "version": "5.5.0",
+ "resolved": "https://registry.npmjs.org/semver/-/semver-5.5.0.tgz",
+ "integrity": "sha512-4SJ3dm0WAwWy/NVeioZh5AntkdJoWKxHxcmyP622fOkgHa4z3R0TdBJICINyaSDE6uNwVc8gZr+ZinwZAH4xIA==",
+ "dev": true
+ },
+ "semver-greatest-satisfied-range": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/semver-greatest-satisfied-range/-/semver-greatest-satisfied-range-1.1.0.tgz",
+ "integrity": "sha1-E+jCZYq5aRywzXEJMkAoDTb3els=",
+ "dev": true,
+ "requires": {
+ "sver-compat": "^1.5.0"
+ }
+ },
+ "set-blocking": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/set-blocking/-/set-blocking-2.0.0.tgz",
+ "integrity": "sha1-BF+XgtARrppoA93TgrJDkrPYkPc=",
+ "dev": true
+ },
+ "set-immediate-shim": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/set-immediate-shim/-/set-immediate-shim-1.0.1.tgz",
+ "integrity": "sha1-SysbJ+uAip+NzEgaWOXlb1mfP2E=",
+ "dev": true
+ },
+ "set-value": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/set-value/-/set-value-2.0.0.tgz",
+ "integrity": "sha512-hw0yxk9GT/Hr5yJEYnHNKYXkIA8mVJgd9ditYZCe16ZczcaELYYcfvaXesNACk2O8O0nTiPQcQhGUQj8JLzeeg==",
+ "dev": true,
+ "requires": {
+ "extend-shallow": "^2.0.1",
+ "is-extendable": "^0.1.1",
+ "is-plain-object": "^2.0.3",
+ "split-string": "^3.0.1"
+ },
+ "dependencies": {
+ "extend-shallow": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz",
+ "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=",
+ "dev": true,
+ "requires": {
+ "is-extendable": "^0.1.0"
+ }
+ }
+ }
+ },
+ "signal-exit": {
+ "version": "3.0.2",
+ "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.2.tgz",
+ "integrity": "sha1-tf3AjxKH6hF4Yo5BXiUTK3NkbG0=",
+ "dev": true
+ },
+ "snapdragon": {
+ "version": "0.8.2",
+ "resolved": "https://registry.npmjs.org/snapdragon/-/snapdragon-0.8.2.tgz",
+ "integrity": "sha512-FtyOnWN/wCHTVXOMwvSv26d+ko5vWlIDD6zoUJ7LW8vh+ZBC8QdljveRP+crNrtBwioEUWy/4dMtbBjA4ioNlg==",
+ "dev": true,
+ "requires": {
+ "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"
+ },
+ "dependencies": {
+ "define-property": {
+ "version": "0.2.5",
+ "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz",
+ "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=",
+ "dev": true,
+ "requires": {
+ "is-descriptor": "^0.1.0"
+ }
+ },
+ "extend-shallow": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz",
+ "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=",
+ "dev": true,
+ "requires": {
+ "is-extendable": "^0.1.0"
+ }
+ }
+ }
+ },
+ "snapdragon-node": {
+ "version": "2.1.1",
+ "resolved": "https://registry.npmjs.org/snapdragon-node/-/snapdragon-node-2.1.1.tgz",
+ "integrity": "sha512-O27l4xaMYt/RSQ5TR3vpWCAB5Kb/czIcqUFOM/C4fYcLnbZUc1PkjTAMjof2pBWaSTwOUd6qUHcFGVGj7aIwnw==",
+ "dev": true,
+ "requires": {
+ "define-property": "^1.0.0",
+ "isobject": "^3.0.0",
+ "snapdragon-util": "^3.0.1"
+ },
+ "dependencies": {
+ "define-property": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz",
+ "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=",
+ "dev": true,
+ "requires": {
+ "is-descriptor": "^1.0.0"
+ }
+ },
+ "is-accessor-descriptor": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz",
+ "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==",
+ "dev": true,
+ "requires": {
+ "kind-of": "^6.0.0"
+ }
+ },
+ "is-data-descriptor": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz",
+ "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==",
+ "dev": true,
+ "requires": {
+ "kind-of": "^6.0.0"
+ }
+ },
+ "is-descriptor": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz",
+ "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==",
+ "dev": true,
+ "requires": {
+ "is-accessor-descriptor": "^1.0.0",
+ "is-data-descriptor": "^1.0.0",
+ "kind-of": "^6.0.2"
+ }
+ }
+ }
+ },
+ "snapdragon-util": {
+ "version": "3.0.1",
+ "resolved": "https://registry.npmjs.org/snapdragon-util/-/snapdragon-util-3.0.1.tgz",
+ "integrity": "sha512-mbKkMdQKsjX4BAL4bRYTj21edOf8cN7XHdYUJEe+Zn99hVEYcMvKPct1IqNe7+AZPirn8BCDOQBHQZknqmKlZQ==",
+ "dev": true,
+ "requires": {
+ "kind-of": "^3.2.0"
+ },
+ "dependencies": {
+ "kind-of": {
+ "version": "3.2.2",
+ "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz",
+ "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=",
+ "dev": true,
+ "requires": {
+ "is-buffer": "^1.1.5"
+ }
+ }
+ }
+ },
+ "source-map": {
+ "version": "0.5.7",
+ "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz",
+ "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=",
+ "dev": true
+ },
+ "source-map-resolve": {
+ "version": "0.5.2",
+ "resolved": "https://registry.npmjs.org/source-map-resolve/-/source-map-resolve-0.5.2.tgz",
+ "integrity": "sha512-MjqsvNwyz1s0k81Goz/9vRBe9SZdB09Bdw+/zYyO+3CuPk6fouTaxscHkgtE8jKvf01kVfl8riHzERQ/kefaSA==",
+ "dev": true,
+ "requires": {
+ "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": {
+ "version": "0.4.0",
+ "resolved": "https://registry.npmjs.org/source-map-url/-/source-map-url-0.4.0.tgz",
+ "integrity": "sha1-PpNdfd1zYxuXZZlW1VEo6HtQhKM=",
+ "dev": true
+ },
+ "sparkles": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/sparkles/-/sparkles-1.0.1.tgz",
+ "integrity": "sha512-dSO0DDYUahUt/0/pD/Is3VIm5TGJjludZ0HVymmhYF6eNA53PVLhnUk0znSYbH8IYBuJdCE+1luR22jNLMaQdw=="
+ },
+ "spdx-correct": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/spdx-correct/-/spdx-correct-3.0.0.tgz",
+ "integrity": "sha512-N19o9z5cEyc8yQQPukRCZ9EUmb4HUpnrmaL/fxS2pBo2jbfcFRVuFZ/oFC+vZz0MNNk0h80iMn5/S6qGZOL5+g==",
+ "dev": true,
+ "requires": {
+ "spdx-expression-parse": "^3.0.0",
+ "spdx-license-ids": "^3.0.0"
+ }
+ },
+ "spdx-exceptions": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/spdx-exceptions/-/spdx-exceptions-2.1.0.tgz",
+ "integrity": "sha512-4K1NsmrlCU1JJgUrtgEeTVyfx8VaYea9J9LvARxhbHtVtohPs/gFGG5yy49beySjlIMhhXZ4QqujIZEfS4l6Cg==",
+ "dev": true
+ },
+ "spdx-expression-parse": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/spdx-expression-parse/-/spdx-expression-parse-3.0.0.tgz",
+ "integrity": "sha512-Yg6D3XpRD4kkOmTpdgbUiEJFKghJH03fiC1OPll5h/0sO6neh2jqRDVHOQ4o/LMea0tgCkbMgea5ip/e+MkWyg==",
+ "dev": true,
+ "requires": {
+ "spdx-exceptions": "^2.1.0",
+ "spdx-license-ids": "^3.0.0"
+ }
+ },
+ "spdx-license-ids": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-3.0.0.tgz",
+ "integrity": "sha512-2+EPwgbnmOIl8HjGBXXMd9NAu02vLjOO1nWw4kmeRDFyHn+M/ETfHxQUK0oXg8ctgVnl9t3rosNVsZ1jG61nDA==",
+ "dev": true
+ },
+ "split-string": {
+ "version": "3.1.0",
+ "resolved": "https://registry.npmjs.org/split-string/-/split-string-3.1.0.tgz",
+ "integrity": "sha512-NzNVhJDYpwceVVii8/Hu6DKfD2G+NrQHlS/V/qgv763EYudVwEcMQNxd2lh+0VrUByXN/oJkl5grOhYWvQUYiw==",
+ "dev": true,
+ "requires": {
+ "extend-shallow": "^3.0.0"
+ }
+ },
+ "sshpk": {
+ "version": "1.14.2",
+ "resolved": "https://registry.npmjs.org/sshpk/-/sshpk-1.14.2.tgz",
+ "integrity": "sha1-xvxhZIo9nE52T9P8306hBeSSupg=",
+ "dev": true,
+ "requires": {
+ "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"
+ }
+ },
+ "stack-trace": {
+ "version": "0.0.10",
+ "resolved": "https://registry.npmjs.org/stack-trace/-/stack-trace-0.0.10.tgz",
+ "integrity": "sha1-VHxws0fo0ytOEI6hoqFZ5f3eGcA=",
+ "dev": true
+ },
+ "static-extend": {
+ "version": "0.1.2",
+ "resolved": "https://registry.npmjs.org/static-extend/-/static-extend-0.1.2.tgz",
+ "integrity": "sha1-YICcOcv/VTNyJv1eC1IPNB8ftcY=",
+ "dev": true,
+ "requires": {
+ "define-property": "^0.2.5",
+ "object-copy": "^0.1.0"
+ },
+ "dependencies": {
+ "define-property": {
+ "version": "0.2.5",
+ "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz",
+ "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=",
+ "dev": true,
+ "requires": {
+ "is-descriptor": "^0.1.0"
+ }
+ }
+ }
+ },
+ "stdout-stream": {
+ "version": "1.4.0",
+ "resolved": "https://registry.npmjs.org/stdout-stream/-/stdout-stream-1.4.0.tgz",
+ "integrity": "sha1-osfIWH5U2UJ+qe2zrD8s1SLfN4s=",
+ "dev": true,
+ "requires": {
+ "readable-stream": "^2.0.1"
+ },
+ "dependencies": {
+ "isarray": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz",
+ "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=",
+ "dev": true
+ },
+ "readable-stream": {
+ "version": "2.3.6",
+ "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.6.tgz",
+ "integrity": "sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw==",
+ "dev": true,
+ "requires": {
+ "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"
+ }
+ },
+ "string_decoder": {
+ "version": "1.1.1",
+ "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz",
+ "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==",
+ "dev": true,
+ "requires": {
+ "safe-buffer": "~5.1.0"
+ }
+ }
+ }
+ },
+ "stream-exhaust": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/stream-exhaust/-/stream-exhaust-1.0.2.tgz",
+ "integrity": "sha512-b/qaq/GlBK5xaq1yrK9/zFcyRSTNxmcZwFLGSTG0mXgZl/4Z6GgiyYOXOvY7N3eEvFRAG1bkDRz5EPGSvPYQlw==",
+ "dev": true
+ },
+ "stream-shift": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/stream-shift/-/stream-shift-1.0.0.tgz",
+ "integrity": "sha1-1cdSgl5TZ+eG944Y5EXqIjoVWVI=",
+ "dev": true
+ },
+ "string-width": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz",
+ "integrity": "sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=",
+ "dev": true,
+ "requires": {
+ "code-point-at": "^1.0.0",
+ "is-fullwidth-code-point": "^1.0.0",
+ "strip-ansi": "^3.0.0"
+ }
+ },
+ "string_decoder": {
+ "version": "0.10.31",
+ "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz",
+ "integrity": "sha1-YuIDvEF2bGwoyfyEMB2rHFMQ+pQ="
+ },
+ "strip-ansi": {
+ "version": "3.0.1",
+ "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz",
+ "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=",
+ "requires": {
+ "ansi-regex": "^2.0.0"
+ }
+ },
+ "strip-bom": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-2.0.0.tgz",
+ "integrity": "sha1-YhmoVhZSBJHzV4i9vxRHqZx+aw4=",
+ "dev": true,
+ "requires": {
+ "is-utf8": "^0.2.0"
+ }
+ },
+ "strip-indent": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/strip-indent/-/strip-indent-1.0.1.tgz",
+ "integrity": "sha1-DHlipq3vp7vUrDZkYKY4VSrhoKI=",
+ "dev": true,
+ "requires": {
+ "get-stdin": "^4.0.1"
+ }
+ },
+ "supports-color": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz",
+ "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc="
+ },
+ "sver-compat": {
+ "version": "1.5.0",
+ "resolved": "https://registry.npmjs.org/sver-compat/-/sver-compat-1.5.0.tgz",
+ "integrity": "sha1-PPh9/rTQe0o/FIJ7wYaz/QxkXNg=",
+ "dev": true,
+ "requires": {
+ "es6-iterator": "^2.0.1",
+ "es6-symbol": "^3.1.1"
+ }
+ },
+ "tar": {
+ "version": "2.2.1",
+ "resolved": "https://registry.npmjs.org/tar/-/tar-2.2.1.tgz",
+ "integrity": "sha1-jk0qJWwOIYXGsYrWlK7JaLg8sdE=",
+ "dev": true,
+ "requires": {
+ "block-stream": "*",
+ "fstream": "^1.0.2",
+ "inherits": "2"
+ }
+ },
+ "through2": {
+ "version": "2.0.3",
+ "resolved": "https://registry.npmjs.org/through2/-/through2-2.0.3.tgz",
+ "integrity": "sha1-AARWmzfHx0ujnEPzzteNGtlBQL4=",
+ "requires": {
+ "readable-stream": "^2.1.5",
+ "xtend": "~4.0.1"
+ },
+ "dependencies": {
+ "isarray": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz",
+ "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE="
+ },
+ "readable-stream": {
+ "version": "2.3.6",
+ "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.6.tgz",
+ "integrity": "sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw==",
+ "requires": {
+ "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"
+ }
+ },
+ "string_decoder": {
+ "version": "1.1.1",
+ "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz",
+ "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==",
+ "requires": {
+ "safe-buffer": "~5.1.0"
+ }
+ }
+ }
+ },
+ "through2-filter": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/through2-filter/-/through2-filter-2.0.0.tgz",
+ "integrity": "sha1-YLxVoNrLdghdsfna6Zq0P4PWIuw=",
+ "dev": true,
+ "requires": {
+ "through2": "~2.0.0",
+ "xtend": "~4.0.0"
+ }
+ },
+ "time-stamp": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/time-stamp/-/time-stamp-1.1.0.tgz",
+ "integrity": "sha1-dkpaEa9QVhkhsTPztE5hhofg9cM="
+ },
+ "to-absolute-glob": {
+ "version": "2.0.2",
+ "resolved": "https://registry.npmjs.org/to-absolute-glob/-/to-absolute-glob-2.0.2.tgz",
+ "integrity": "sha1-GGX0PZ50sIItufFFt4z/fQ98hJs=",
+ "dev": true,
+ "requires": {
+ "is-absolute": "^1.0.0",
+ "is-negated-glob": "^1.0.0"
+ }
+ },
+ "to-object-path": {
+ "version": "0.3.0",
+ "resolved": "https://registry.npmjs.org/to-object-path/-/to-object-path-0.3.0.tgz",
+ "integrity": "sha1-KXWIt7Dn4KwI4E5nL4XB9JmeF68=",
+ "dev": true,
+ "requires": {
+ "kind-of": "^3.0.2"
+ },
+ "dependencies": {
+ "kind-of": {
+ "version": "3.2.2",
+ "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz",
+ "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=",
+ "dev": true,
+ "requires": {
+ "is-buffer": "^1.1.5"
+ }
+ }
+ }
+ },
+ "to-regex": {
+ "version": "3.0.2",
+ "resolved": "https://registry.npmjs.org/to-regex/-/to-regex-3.0.2.tgz",
+ "integrity": "sha512-FWtleNAtZ/Ki2qtqej2CXTOayOH9bHDQF+Q48VpWyDXjbYxA4Yz8iDB31zXOBUlOHHKidDbqGVrTUvQMPmBGBw==",
+ "dev": true,
+ "requires": {
+ "define-property": "^2.0.2",
+ "extend-shallow": "^3.0.2",
+ "regex-not": "^1.0.2",
+ "safe-regex": "^1.1.0"
+ }
+ },
+ "to-regex-range": {
+ "version": "2.1.1",
+ "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-2.1.1.tgz",
+ "integrity": "sha1-fIDBe53+vlmeJzZ+DU3VWQFB2zg=",
+ "dev": true,
+ "requires": {
+ "is-number": "^3.0.0",
+ "repeat-string": "^1.6.1"
+ }
+ },
+ "to-through": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/to-through/-/to-through-2.0.0.tgz",
+ "integrity": "sha1-/JKtq6ByZHvAtn1rA2ZKoZUJOvY=",
+ "dev": true,
+ "requires": {
+ "through2": "^2.0.3"
+ }
+ },
+ "tough-cookie": {
+ "version": "2.3.4",
+ "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.3.4.tgz",
+ "integrity": "sha512-TZ6TTfI5NtZnuyy/Kecv+CnoROnyXn2DN97LontgQpCwsX2XyLYCC0ENhYkehSOwAp8rTQKc/NUIF7BkQ5rKLA==",
+ "dev": true,
+ "requires": {
+ "punycode": "^1.4.1"
+ }
+ },
+ "trim-newlines": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/trim-newlines/-/trim-newlines-1.0.0.tgz",
+ "integrity": "sha1-WIeWa7WCpFA6QetST301ARgVphM=",
+ "dev": true
+ },
+ "true-case-path": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/true-case-path/-/true-case-path-1.0.2.tgz",
+ "integrity": "sha1-fskRMJJHZsf1c74wIMNPj9/QDWI=",
+ "dev": true,
+ "requires": {
+ "glob": "^6.0.4"
+ },
+ "dependencies": {
+ "glob": {
+ "version": "6.0.4",
+ "resolved": "https://registry.npmjs.org/glob/-/glob-6.0.4.tgz",
+ "integrity": "sha1-DwiGD2oVUSey+t1PnOJLGqtuTSI=",
+ "dev": true,
+ "requires": {
+ "inflight": "^1.0.4",
+ "inherits": "2",
+ "minimatch": "2 || 3",
+ "once": "^1.3.0",
+ "path-is-absolute": "^1.0.0"
+ }
+ }
+ }
+ },
+ "tunnel-agent": {
+ "version": "0.6.0",
+ "resolved": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.6.0.tgz",
+ "integrity": "sha1-J6XeoGs2sEoKmWZ3SykIaPD8QP0=",
+ "dev": true,
+ "requires": {
+ "safe-buffer": "^5.0.1"
+ }
+ },
+ "tweetnacl": {
+ "version": "0.14.5",
+ "resolved": "https://registry.npmjs.org/tweetnacl/-/tweetnacl-0.14.5.tgz",
+ "integrity": "sha1-WuaBd/GS1EViadEIr6k/+HQ/T2Q=",
+ "dev": true,
+ "optional": true
+ },
+ "typedarray": {
+ "version": "0.0.6",
+ "resolved": "https://registry.npmjs.org/typedarray/-/typedarray-0.0.6.tgz",
+ "integrity": "sha1-hnrHTjhkGHsdPUfZlqeOxciDB3c=",
+ "dev": true
+ },
+ "unc-path-regex": {
+ "version": "0.1.2",
+ "resolved": "https://registry.npmjs.org/unc-path-regex/-/unc-path-regex-0.1.2.tgz",
+ "integrity": "sha1-5z3T17DXxe2G+6xrCufYxqadUPo=",
+ "dev": true
+ },
+ "undertaker": {
+ "version": "1.2.0",
+ "resolved": "https://registry.npmjs.org/undertaker/-/undertaker-1.2.0.tgz",
+ "integrity": "sha1-M52kZGJS0ILcN45wgGcpl1DhG0k=",
+ "dev": true,
+ "requires": {
+ "arr-flatten": "^1.0.1",
+ "arr-map": "^2.0.0",
+ "bach": "^1.0.0",
+ "collection-map": "^1.0.0",
+ "es6-weak-map": "^2.0.1",
+ "last-run": "^1.1.0",
+ "object.defaults": "^1.0.0",
+ "object.reduce": "^1.0.0",
+ "undertaker-registry": "^1.0.0"
+ }
+ },
+ "undertaker-registry": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/undertaker-registry/-/undertaker-registry-1.0.1.tgz",
+ "integrity": "sha1-XkvaMI5KiirlhPm5pDWaSZglzFA=",
+ "dev": true
+ },
+ "union-value": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/union-value/-/union-value-1.0.0.tgz",
+ "integrity": "sha1-XHHDTLW61dzr4+oM0IIHulqhrqQ=",
+ "dev": true,
+ "requires": {
+ "arr-union": "^3.1.0",
+ "get-value": "^2.0.6",
+ "is-extendable": "^0.1.1",
+ "set-value": "^0.4.3"
+ },
+ "dependencies": {
+ "extend-shallow": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz",
+ "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=",
+ "dev": true,
+ "requires": {
+ "is-extendable": "^0.1.0"
+ }
+ },
+ "set-value": {
+ "version": "0.4.3",
+ "resolved": "https://registry.npmjs.org/set-value/-/set-value-0.4.3.tgz",
+ "integrity": "sha1-fbCPnT0i3H945Trzw79GZuzfzPE=",
+ "dev": true,
+ "requires": {
+ "extend-shallow": "^2.0.1",
+ "is-extendable": "^0.1.1",
+ "is-plain-object": "^2.0.1",
+ "to-object-path": "^0.3.0"
+ }
+ }
+ }
+ },
+ "unique-stream": {
+ "version": "2.2.1",
+ "resolved": "https://registry.npmjs.org/unique-stream/-/unique-stream-2.2.1.tgz",
+ "integrity": "sha1-WqADz76Uxf+GbE59ZouxxNuts2k=",
+ "dev": true,
+ "requires": {
+ "json-stable-stringify": "^1.0.0",
+ "through2-filter": "^2.0.0"
+ }
+ },
+ "unset-value": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/unset-value/-/unset-value-1.0.0.tgz",
+ "integrity": "sha1-g3aHP30jNRef+x5vw6jtDfyKtVk=",
+ "dev": true,
+ "requires": {
+ "has-value": "^0.3.1",
+ "isobject": "^3.0.0"
+ },
+ "dependencies": {
+ "has-value": {
+ "version": "0.3.1",
+ "resolved": "https://registry.npmjs.org/has-value/-/has-value-0.3.1.tgz",
+ "integrity": "sha1-ex9YutpiyoJ+wKIHgCVlSEWZXh8=",
+ "dev": true,
+ "requires": {
+ "get-value": "^2.0.3",
+ "has-values": "^0.1.4",
+ "isobject": "^2.0.0"
+ },
+ "dependencies": {
+ "isobject": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/isobject/-/isobject-2.1.0.tgz",
+ "integrity": "sha1-8GVWEJaj8dou9GJy+BXIQNh+DIk=",
+ "dev": true,
+ "requires": {
+ "isarray": "1.0.0"
+ }
+ }
+ }
+ },
+ "has-values": {
+ "version": "0.1.4",
+ "resolved": "https://registry.npmjs.org/has-values/-/has-values-0.1.4.tgz",
+ "integrity": "sha1-bWHeldkd/Km5oCCJrThL/49it3E=",
+ "dev": true
+ },
+ "isarray": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz",
+ "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=",
+ "dev": true
+ }
+ }
+ },
+ "upath": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/upath/-/upath-1.1.0.tgz",
+ "integrity": "sha512-bzpH/oBhoS/QI/YtbkqCg6VEiPYjSZtrHQM6/QnJS6OL9pKUFLqb3aFh4Scvwm45+7iAgiMkLhSbaZxUqmrprw==",
+ "dev": true
+ },
+ "urix": {
+ "version": "0.1.0",
+ "resolved": "https://registry.npmjs.org/urix/-/urix-0.1.0.tgz",
+ "integrity": "sha1-2pN/emLiH+wf0Y1Js1wpNQZ6bHI=",
+ "dev": true
+ },
+ "use": {
+ "version": "3.1.1",
+ "resolved": "https://registry.npmjs.org/use/-/use-3.1.1.tgz",
+ "integrity": "sha512-cwESVXlO3url9YWlFW/TA9cshCEhtu7IKJ/p5soJ/gGpj7vbvFrAY/eIioQ6Dw23KjZhYgiIo8HOs1nQ2vr/oQ==",
+ "dev": true
+ },
+ "util-deprecate": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz",
+ "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8="
+ },
+ "uuid": {
+ "version": "3.3.2",
+ "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.3.2.tgz",
+ "integrity": "sha512-yXJmeNaw3DnnKAOKJE51sL/ZaYfWJRl1pK9dr19YFCu0ObS231AB1/LbqTKRAQ5kw8A90rA6fr4riOUpTZvQZA==",
+ "dev": true
+ },
+ "v8flags": {
+ "version": "3.1.1",
+ "resolved": "https://registry.npmjs.org/v8flags/-/v8flags-3.1.1.tgz",
+ "integrity": "sha512-iw/1ViSEaff8NJ3HLyEjawk/8hjJib3E7pvG4pddVXfUg1983s3VGsiClDjhK64MQVDGqc1Q8r18S4VKQZS9EQ==",
+ "dev": true,
+ "requires": {
+ "homedir-polyfill": "^1.0.1"
+ }
+ },
+ "validate-npm-package-license": {
+ "version": "3.0.4",
+ "resolved": "https://registry.npmjs.org/validate-npm-package-license/-/validate-npm-package-license-3.0.4.tgz",
+ "integrity": "sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew==",
+ "dev": true,
+ "requires": {
+ "spdx-correct": "^3.0.0",
+ "spdx-expression-parse": "^3.0.0"
+ }
+ },
+ "value-or-function": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/value-or-function/-/value-or-function-3.0.0.tgz",
+ "integrity": "sha1-HCQ6ULWVwb5Up1S/7OhWO5/42BM=",
+ "dev": true
+ },
+ "verror": {
+ "version": "1.10.0",
+ "resolved": "https://registry.npmjs.org/verror/-/verror-1.10.0.tgz",
+ "integrity": "sha1-OhBcoXBTr1XW4nDB+CiGguGNpAA=",
+ "dev": true,
+ "requires": {
+ "assert-plus": "^1.0.0",
+ "core-util-is": "1.0.2",
+ "extsprintf": "^1.2.0"
+ }
+ },
+ "vinyl": {
+ "version": "0.5.3",
+ "resolved": "https://registry.npmjs.org/vinyl/-/vinyl-0.5.3.tgz",
+ "integrity": "sha1-sEVbOPxeDPMNQyUTLkYZcMIJHN4=",
+ "requires": {
+ "clone": "^1.0.0",
+ "clone-stats": "^0.0.1",
+ "replace-ext": "0.0.1"
+ }
+ },
+ "vinyl-fs": {
+ "version": "3.0.3",
+ "resolved": "https://registry.npmjs.org/vinyl-fs/-/vinyl-fs-3.0.3.tgz",
+ "integrity": "sha512-vIu34EkyNyJxmP0jscNzWBSygh7VWhqun6RmqVfXePrOwi9lhvRs//dOaGOTRUQr4tx7/zd26Tk5WeSVZitgng==",
+ "dev": true,
+ "requires": {
+ "fs-mkdirp-stream": "^1.0.0",
+ "glob-stream": "^6.1.0",
+ "graceful-fs": "^4.0.0",
+ "is-valid-glob": "^1.0.0",
+ "lazystream": "^1.0.0",
+ "lead": "^1.0.0",
+ "object.assign": "^4.0.4",
+ "pumpify": "^1.3.5",
+ "readable-stream": "^2.3.3",
+ "remove-bom-buffer": "^3.0.0",
+ "remove-bom-stream": "^1.2.0",
+ "resolve-options": "^1.1.0",
+ "through2": "^2.0.0",
+ "to-through": "^2.0.0",
+ "value-or-function": "^3.0.0",
+ "vinyl": "^2.0.0",
+ "vinyl-sourcemap": "^1.1.0"
+ },
+ "dependencies": {
+ "clone": {
+ "version": "2.1.2",
+ "resolved": "https://registry.npmjs.org/clone/-/clone-2.1.2.tgz",
+ "integrity": "sha1-G39Ln1kfHo+DZwQBYANFoCiHQ18=",
+ "dev": true
+ },
+ "clone-stats": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/clone-stats/-/clone-stats-1.0.0.tgz",
+ "integrity": "sha1-s3gt/4u1R04Yuba/D9/ngvh3doA=",
+ "dev": true
+ },
+ "isarray": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz",
+ "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=",
+ "dev": true
+ },
+ "readable-stream": {
+ "version": "2.3.6",
+ "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.6.tgz",
+ "integrity": "sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw==",
+ "dev": true,
+ "requires": {
+ "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"
+ }
+ },
+ "replace-ext": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/replace-ext/-/replace-ext-1.0.0.tgz",
+ "integrity": "sha1-3mMSg3P8v3w8z6TeWkgMRaZ5WOs=",
+ "dev": true
+ },
+ "string_decoder": {
+ "version": "1.1.1",
+ "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz",
+ "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==",
+ "dev": true,
+ "requires": {
+ "safe-buffer": "~5.1.0"
+ }
+ },
+ "vinyl": {
+ "version": "2.2.0",
+ "resolved": "https://registry.npmjs.org/vinyl/-/vinyl-2.2.0.tgz",
+ "integrity": "sha512-MBH+yP0kC/GQ5GwBqrTPTzEfiiLjta7hTtvQtbxBgTeSXsmKQRQecjibMbxIXzVT3Y9KJK+drOz1/k+vsu8Nkg==",
+ "dev": true,
+ "requires": {
+ "clone": "^2.1.1",
+ "clone-buffer": "^1.0.0",
+ "clone-stats": "^1.0.0",
+ "cloneable-readable": "^1.0.0",
+ "remove-trailing-separator": "^1.0.1",
+ "replace-ext": "^1.0.0"
+ }
+ }
+ }
+ },
+ "vinyl-sourcemap": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/vinyl-sourcemap/-/vinyl-sourcemap-1.1.0.tgz",
+ "integrity": "sha1-kqgAWTo4cDqM2xHYswCtS+Y7PhY=",
+ "dev": true,
+ "requires": {
+ "append-buffer": "^1.0.2",
+ "convert-source-map": "^1.5.0",
+ "graceful-fs": "^4.1.6",
+ "normalize-path": "^2.1.1",
+ "now-and-later": "^2.0.0",
+ "remove-bom-buffer": "^3.0.0",
+ "vinyl": "^2.0.0"
+ },
+ "dependencies": {
+ "clone": {
+ "version": "2.1.2",
+ "resolved": "https://registry.npmjs.org/clone/-/clone-2.1.2.tgz",
+ "integrity": "sha1-G39Ln1kfHo+DZwQBYANFoCiHQ18=",
+ "dev": true
+ },
+ "clone-stats": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/clone-stats/-/clone-stats-1.0.0.tgz",
+ "integrity": "sha1-s3gt/4u1R04Yuba/D9/ngvh3doA=",
+ "dev": true
+ },
+ "replace-ext": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/replace-ext/-/replace-ext-1.0.0.tgz",
+ "integrity": "sha1-3mMSg3P8v3w8z6TeWkgMRaZ5WOs=",
+ "dev": true
+ },
+ "vinyl": {
+ "version": "2.2.0",
+ "resolved": "https://registry.npmjs.org/vinyl/-/vinyl-2.2.0.tgz",
+ "integrity": "sha512-MBH+yP0kC/GQ5GwBqrTPTzEfiiLjta7hTtvQtbxBgTeSXsmKQRQecjibMbxIXzVT3Y9KJK+drOz1/k+vsu8Nkg==",
+ "dev": true,
+ "requires": {
+ "clone": "^2.1.1",
+ "clone-buffer": "^1.0.0",
+ "clone-stats": "^1.0.0",
+ "cloneable-readable": "^1.0.0",
+ "remove-trailing-separator": "^1.0.1",
+ "replace-ext": "^1.0.0"
+ }
+ }
+ }
+ },
+ "vinyl-sourcemaps-apply": {
+ "version": "0.1.4",
+ "resolved": "https://registry.npmjs.org/vinyl-sourcemaps-apply/-/vinyl-sourcemaps-apply-0.1.4.tgz",
+ "integrity": "sha1-xfy9Q+LyOEI8LcmL3db3m3K8NFs=",
+ "dev": true,
+ "requires": {
+ "source-map": "^0.1.39"
+ },
+ "dependencies": {
+ "source-map": {
+ "version": "0.1.43",
+ "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.1.43.tgz",
+ "integrity": "sha1-wkvBRspRfBRx9drL4lcbK3+eM0Y=",
+ "dev": true,
+ "requires": {
+ "amdefine": ">=0.0.4"
+ }
+ }
+ }
+ },
+ "which": {
+ "version": "1.3.1",
+ "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz",
+ "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==",
+ "requires": {
+ "isexe": "^2.0.0"
+ }
+ },
+ "which-module": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/which-module/-/which-module-1.0.0.tgz",
+ "integrity": "sha1-u6Y8qGGUiZT/MHc2CJ47lgJsKk8=",
+ "dev": true
+ },
+ "wide-align": {
+ "version": "1.1.3",
+ "resolved": "https://registry.npmjs.org/wide-align/-/wide-align-1.1.3.tgz",
+ "integrity": "sha512-QGkOQc8XL6Bt5PwnsExKBPuMKBxnGxWWW3fU55Xt4feHozMUhdUMaBCk290qpm/wG5u/RSKzwdAC4i51YigihA==",
+ "dev": true,
+ "requires": {
+ "string-width": "^1.0.2 || 2"
+ }
+ },
+ "wrap-ansi": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-2.1.0.tgz",
+ "integrity": "sha1-2Pw9KE3QV5T+hJc8rs3Rz4JP3YU=",
+ "dev": true,
+ "requires": {
+ "string-width": "^1.0.1",
+ "strip-ansi": "^3.0.1"
+ }
+ },
+ "wrappy": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz",
+ "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=",
+ "dev": true
+ },
+ "xtend": {
+ "version": "4.0.1",
+ "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.1.tgz",
+ "integrity": "sha1-pcbVMr5lbiPbgg77lDofBJmNY68="
+ },
+ "y18n": {
+ "version": "3.2.1",
+ "resolved": "https://registry.npmjs.org/y18n/-/y18n-3.2.1.tgz",
+ "integrity": "sha1-bRX7qITAhnnA136I53WegR4H+kE=",
+ "dev": true
+ },
+ "yallist": {
+ "version": "2.1.2",
+ "resolved": "https://registry.npmjs.org/yallist/-/yallist-2.1.2.tgz",
+ "integrity": "sha1-HBH5IY8HYImkfdUS+TxmmaaoHVI=",
+ "dev": true
+ },
+ "yargs": {
+ "version": "7.1.0",
+ "resolved": "https://registry.npmjs.org/yargs/-/yargs-7.1.0.tgz",
+ "integrity": "sha1-a6MY6xaWFyf10oT46gA+jWFU0Mg=",
+ "dev": true,
+ "requires": {
+ "camelcase": "^3.0.0",
+ "cliui": "^3.2.0",
+ "decamelize": "^1.1.1",
+ "get-caller-file": "^1.0.1",
+ "os-locale": "^1.4.0",
+ "read-pkg-up": "^1.0.1",
+ "require-directory": "^2.1.1",
+ "require-main-filename": "^1.0.1",
+ "set-blocking": "^2.0.0",
+ "string-width": "^1.0.2",
+ "which-module": "^1.0.0",
+ "y18n": "^3.2.1",
+ "yargs-parser": "^5.0.0"
+ }
+ },
+ "yargs-parser": {
+ "version": "5.0.0",
+ "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-5.0.0.tgz",
+ "integrity": "sha1-J17PDX/+Bcd+ZOfIbkzZS/DhIoo=",
+ "dev": true,
+ "requires": {
+ "camelcase": "^3.0.0"
+ }
+ }
+ }
+}
diff --git a/web/themes/dedrone/package.json b/web/themes/dedrone/package.json
index 0a3838f..da32923 100644
--- a/web/themes/dedrone/package.json
+++ b/web/themes/dedrone/package.json
@@ -1,6 +1,6 @@
{
"devDependencies": {
- "gulp": "^3.9.1",
+ "gulp": "^4.0.0",
"gulp-autoprefixer": "^2.3.1",
"gulp-install": "^1.1.0",
"gulp-plumber": "1.0.0",
diff --git a/web/themes/dedrone/scss/base/_global.scss b/web/themes/dedrone/scss/base/_global.scss
index 39084b7..7bad0b3 100755
--- a/web/themes/dedrone/scss/base/_global.scss
+++ b/web/themes/dedrone/scss/base/_global.scss
@@ -7,4 +7,19 @@ body {
family: $primery-font;
}
color: $body-color;
-}
\ No newline at end of file
+}
+
+h1, h2, h3, h4, h5, h6 {
+ font-weight: 300;
+}
+
+img {
+ display: block;
+ width: 100%;
+ height: auto;
+}
+
+a {
+ display: inline-block;
+ transition: 0.25s all ease;
+}
diff --git a/web/themes/dedrone/scss/base/_typography.scss b/web/themes/dedrone/scss/base/_typography.scss
index 7347e09..e673af3 100755
--- a/web/themes/dedrone/scss/base/_typography.scss
+++ b/web/themes/dedrone/scss/base/_typography.scss
@@ -1,3 +1,43 @@
// typography go here
-@import url('https://fonts.googleapis.com/css?family=Roboto:300,400,500,700,800,900');
+@import url('https://fonts.googleapis.com/css?family=Roboto:100,200,300,400,500,700,800,900');
+
+h1{
+ font-size: 40px;
+ line-height: 45px;
+ letter-spacing: 0;
+ font-weight: 300;
+ color: #111;
+
+ @media (max-width: 479px)
+ {
+ font-size: 32px;
+ line-height: 36px;
+ }
+}
+
+h2{
+ font-size: 20px;
+ line-height: 24px;
+ letter-spacing: 0;
+ font-weight: 300;
+ color: #111;
+ @media (max-width: 479px)
+ {
+ font-size: 18px;
+ }
+}
+
+p
+{
+ font-size: 16px;
+ line-height: 24px;
+ letter-spacing: 0;
+ font-weight: 300;
+ color: #111;
+}
+
+a{
+ font-weight: 400;
+ color: #009ee3;
+}
\ No newline at end of file
diff --git a/web/themes/dedrone/scss/base/_variables.scss b/web/themes/dedrone/scss/base/_variables.scss
index de41855..5738b30 100755
--- a/web/themes/dedrone/scss/base/_variables.scss
+++ b/web/themes/dedrone/scss/base/_variables.scss
@@ -2,7 +2,7 @@
//typography
$primery-font: 'Roboto', sans-serif;
-$primery-font-size: 14px;
+$primery-font-size: 16px;
//colors
diff --git a/web/themes/dedrone/scss/blocks/_benefits-trio.scss b/web/themes/dedrone/scss/blocks/_benefits-trio.scss
new file mode 100755
index 0000000..7c9453c
--- /dev/null
+++ b/web/themes/dedrone/scss/blocks/_benefits-trio.scss
@@ -0,0 +1,28 @@
+.benefits-trio {
+ padding: 150px 0;
+ background: #fff;
+
+ .thumb {
+ text-align: center;
+ color: #111;
+
+ .image {
+ display: block;
+ margin: 0 auto 10px auto;
+ width: 70px;
+ height: auto;
+ }
+
+ h3 {
+ margin-top: 15px;
+ margin-bottom: 0;
+ //color: #111;
+ font-size: 15px;
+ line-height: 20px;
+ font-weight: 500;
+ }
+
+ p {
+ }
+ }
+}
\ No newline at end of file
diff --git a/web/themes/dedrone/scss/blocks/_buttons-section.scss b/web/themes/dedrone/scss/blocks/_buttons-section.scss
new file mode 100755
index 0000000..926213f
--- /dev/null
+++ b/web/themes/dedrone/scss/blocks/_buttons-section.scss
@@ -0,0 +1,48 @@
+.buttons-section {
+ padding-top: 0;
+ padding-bottom: 150px;
+ background-image: -webkit-linear-gradient(270deg,#011d2a,#011d2a);
+ background-image: linear-gradient(180deg,#011d2a,#011d2a);
+ color: #fff;
+ text-align: center;
+
+ h2 {
+ margin: 10px 0;
+ font-size: 40px;
+ line-height: 45px;
+ }
+
+ .wrap-buttons {
+ display: inline-block;
+ padding-top: 45px;
+
+ div {
+ display: inline-block;
+ }
+
+ .btn {
+ margin: 0 10px;
+ }
+
+ .btn-bordered {
+ padding: 15px 50px;
+ min-width: 220px;
+ border-color: #fff;
+ background-color: transparent;
+ background-image: none;
+ color: #fff;
+ border-color: #fff;
+ text-transform: uppercase;
+ font-size: 12px;
+ line-height: 15px;
+ font-weight: 400;
+
+ &:hover {
+ border-color: #fff;
+ background-image: -webkit-linear-gradient(270deg,#fff,#fff);
+ background-image: linear-gradient(180deg,#fff,#fff);
+ color: #011d2a;
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/web/themes/dedrone/scss/blocks/_cta-section.scss b/web/themes/dedrone/scss/blocks/_cta-section.scss
new file mode 100755
index 0000000..4a98aca
--- /dev/null
+++ b/web/themes/dedrone/scss/blocks/_cta-section.scss
@@ -0,0 +1,31 @@
+.cta-section {
+ padding-top: 150px;
+ padding-bottom: 150px;
+ text-align: center;
+ color: #fff;
+
+ h2 {
+ margin-bottom: 50px;
+ font-size: 40px;
+ line-height: 45px;
+ font-weight: 300;
+ color: #fff;
+ }
+
+ .button-bordered {
+ min-width: 220px;
+ padding: 15px 50px;
+ border-radius: 4px;
+ border: 1px solid #fff;
+ background-color: transparent;
+ font-size: 12px;
+ line-height: 15px;
+ font-weight: 400;
+ color: #fff;
+
+ &:hover {
+ background: #fff;
+ color: #f05c40;
+ }
+ }
+}
\ No newline at end of file
diff --git a/web/themes/dedrone/scss/blocks/_customers.scss b/web/themes/dedrone/scss/blocks/_customers.scss
new file mode 100755
index 0000000..711d688
--- /dev/null
+++ b/web/themes/dedrone/scss/blocks/_customers.scss
@@ -0,0 +1,60 @@
+.customers {
+ padding-top: 150px;
+ padding-bottom: 300px;
+ background-image: -webkit-linear-gradient(270deg,#fff,#fff);
+ background-image: linear-gradient(180deg,#fff,#fff);
+
+ h2 {
+ margin: 10px 0;
+ font-size: 40px;
+ line-height: 45px;
+ text-align: center;
+ color: #111;
+ font-weight: 300;
+ }
+
+ h4 {
+ margin-top: 20px;
+ color: #111;
+ font-size: 20px;
+ line-height: 24px;
+ font-weight: 200;
+ text-align: center;
+ letter-spacing: 0;
+ text-transform: none;
+ font-weight: 300;
+ }
+
+ .thumb {
+ img {
+ width: 170px;
+ height: auto;
+ }
+ }
+
+ .thumbs-wrap {
+ margin: 100px 0;
+ }
+
+ .button-wrap {
+ text-align: center;
+ }
+
+ .btn-customers {
+ margin-top: 20px;
+ margin-bottom: 10px;
+ padding: 15px 50px;
+ border-radius: 4px;
+ background-image: -webkit-linear-gradient(270deg,#009ee3,#009ee3);
+ background-image: linear-gradient(180deg,#009ee3,#009ee3);
+ color: #fff;
+ font-size: 12px;
+ line-height: 15px;
+ font-weight: 300;
+
+ &:hover {
+ background-image: -webkit-linear-gradient(270deg,#008ecc,#008ecc);
+ background-image: linear-gradient(180deg,#008ecc,#008ecc);
+ }
+ }
+}
\ No newline at end of file
diff --git a/web/themes/dedrone/scss/blocks/_federal_gov.scss b/web/themes/dedrone/scss/blocks/_federal_gov.scss
new file mode 100644
index 0000000..f762424
--- /dev/null
+++ b/web/themes/dedrone/scss/blocks/_federal_gov.scss
@@ -0,0 +1,41 @@
+
+.federal-gov {
+ img{
+ width: auto;
+ height: 530px;
+ }
+}
+.dedrone-solutions {
+ margin: 100px auto;
+
+ .field--name-field-left-column {
+ display: inline-block;
+ float: left;
+ }
+ .field--name-field-right-column {
+ display: inline-block;
+ float: right;
+ }
+}
+/* see_it_live */
+.paragraph--type--solutions-federal-see-it-live {
+ padding: 100px 0;
+ .title-wrap{
+ margin-bottom: 20px;
+ h3{
+ margin: auto;
+ color: #fff;
+ }
+ }
+ .content-wrap{
+ margin-bottom: 20px;
+ p{
+ color: #fff;
+ }
+ }
+ a{
+ color: #fff;
+ margin: auto;
+ }
+
+}
diff --git a/web/themes/dedrone/scss/blocks/_home-main-slider.scss b/web/themes/dedrone/scss/blocks/_home-main-slider.scss
new file mode 100644
index 0000000..c5024b7
--- /dev/null
+++ b/web/themes/dedrone/scss/blocks/_home-main-slider.scss
@@ -0,0 +1,234 @@
+$slider-height: 550px;
+$slider-inner-height: 424px;
+
+.slider-main {
+ height: $slider-height;
+ position: relative;
+
+ .image {
+ display: block;
+ width: 100%;
+ object-fit: cover;
+ height: $slider-height;
+ }
+
+ .wrap-description {
+ display: flex;
+ float: left;
+ flex-direction: column;
+ justify-content: center;
+ height: 100%;
+ width: 42%;
+
+ h2 {
+ padding-bottom: 0;
+ border-bottom-width: 0;
+ font-size: 40px;
+ line-height: 45px;
+ text-align: left;
+ letter-spacing: 0;
+ color: #fff;
+ font-weight: 300;
+ opacity: 1;
+ transform: translateX(0px) translateY(0px) translateZ(0px);
+ transition: opacity 1200ms cubic-bezier(0.25, 0.46, 0.45, 0.94) 0s, transform 500ms cubic-bezier(0.215, 0.61, 0.355, 1) 0s;
+ }
+
+ p {
+ margin-top: 20px;
+ margin-bottom: 20px;
+ float: none;
+ clear: none;
+ color: #fff;
+ font-weight: 300;
+ text-align: left;
+ }
+
+ .button {
+ @extend .btn;
+ margin-top: 20px;
+ margin-bottom: 10px;
+ padding: 15px 50px;
+ border-radius: 4px;
+ background-image: -webkit-linear-gradient(270deg,#fff,#fff);
+ background-image: linear-gradient(180deg,#fff,#fff);
+ color: #0a0c15;
+ font-size: 12px;
+ line-height: 15px;
+ font-weight: 400
+ }
+ }
+
+ .slide-animationimage {
+ position: absolute;
+ top: 50%;
+ right: 21%;
+ margin-top: -100px;
+ width: 200px;
+ height: 200px;
+
+ .image {
+ height: auto;
+ width: 100%;
+ position: absolute;
+ top: 0;
+ left: 0;
+ }
+
+ .field__item {
+ opacity: 0;
+
+ &:first-child {
+ opacity: 1;
+ }
+ }
+
+ }
+
+ .swiper-wrapper {
+ height: $slider-height;
+ }
+
+ .swiper-container {
+ height: 100%;
+
+ .image-wrap {
+ position: absolute;
+ z-index: 1;
+ top: 0;
+ left: 0;
+ width: 100%;
+ height: 100%;
+ }
+
+ .container {
+ position: relative;
+ z-index: 2;
+ height: $slider-height;
+ }
+ }
+
+ .swiper-pagination-bullet {
+ width: 12px;
+ height: 12px;
+ background-color: #fff;
+ opacity: 0.4;
+ }
+
+ .swiper-pagination-bullet-active {
+ background-color: #fff;
+ opacity: 1;
+ }
+
+ .swiper-pagination {
+ text-align: right;
+ padding-right: 50px;
+ }
+}
+
+.slider-inner {
+ //height: $slider-inner-height;
+ padding-top: 150px;
+ padding-bottom: 150px;
+ background-image: -webkit-linear-gradient(270deg,#011d2a,#011d2a);
+ background-image: linear-gradient(180deg,#011d2a,#011d2a);
+ color: #111;
+ text-align: center;
+
+ .slider-wrap {
+ overflow: hidden;
+ display: inline-block;
+ margin-top: -300px;
+ max-width: 940px;
+ box-shadow: 1px 1px 8px 0 rgba(0,0,0,.3);
+ border-radius: 4px;
+ }
+
+ .swiper-slide {
+ //height: $slider-inner-height;
+
+ .container {
+ max-width: inherit;
+ padding: 0;
+ margin: 0;
+ }
+
+ }
+
+ .wrap-slide {
+ display: flex;
+ background-color: #fff;
+ height: $slider-inner-height;
+
+ .image-wrap {
+ flex: 1 0;
+ order: 2;
+ }
+
+ .container {
+ flex: 0 0 315px;
+ max-width: 315px;
+ order: 1;
+ max-width: inherit;
+ padding: 40px 30px 0 40px;
+ margin: 0px;
+ }
+
+ .image {
+ object-fit: cover;
+ height: $slider-inner-height;
+ }
+
+ h2 {
+ margin-bottom: 10px;
+ font-size: 40px;
+ line-height: 45px;
+ }
+
+ p {
+ margin-top: 20px;
+ font-size: 20px;
+ line-height: 24px;
+ font-weight: 200;
+ }
+ }
+
+ .button-bordered {
+ width: 100%;
+ margin-top: 25px;
+ border-color: #e5310e;
+ color: #e5310e;
+ text-align: center;
+ margin-bottom: 10px;
+ padding: 15px 50px;
+ border-radius: 4px;
+ font-size: 12px;
+ line-height: 15px;
+ text-transform: uppercase;
+ font-weight: 400;
+
+
+ &:hover {
+ border-color: #f05c40;
+ background-image: -webkit-linear-gradient(270deg,#f05c40,#f05c40);
+ background-image: linear-gradient(180deg,#f05c40,#f05c40);
+ color: #fff;
+ }
+ }
+
+ .swiper-pagination {
+ width: 315px;
+ }
+
+ .swiper-pagination-bullet {
+ width: 12px;
+ height: 12px;
+ background-color: rgba(34,34,34,.4);
+ opacity: 1;
+ }
+
+ .swiper-pagination-bullet-active {
+ background: #222;
+ opacity: 1;
+ }
+}
\ No newline at end of file
diff --git a/web/themes/dedrone/scss/blocks/_products-intro.scss b/web/themes/dedrone/scss/blocks/_products-intro.scss
new file mode 100755
index 0000000..b7b06f9
--- /dev/null
+++ b/web/themes/dedrone/scss/blocks/_products-intro.scss
@@ -0,0 +1,88 @@
+.products-intro {
+ position: relative;
+ min-height: 700px;
+ margin-top: 0;
+ padding-top: 150px;
+ padding-bottom: 150px;
+ background-image: -webkit-linear-gradient(270deg,#011d2a,#011d2a);
+ background-image: linear-gradient(180deg,#011d2a,#011d2a);
+ color: #fff;
+
+ .paragraph {
+ display: block;
+ }
+
+ .container,
+ .paragraph>.paragraph__column {
+ position: static;
+ }
+
+ .nav-tabs {
+
+ li {
+
+ a {
+ padding: 5px 0 5px 15px;
+ margin: 0 0 10px 0;
+ border-left: 4px solid transparent;
+ color: #868686;
+
+ &.active {
+ border-left: 4px solid #f05c40;
+ color: #fff;
+ }
+ }
+
+ }
+ }
+
+ .tab-pane {
+ width: 45%;
+
+ h2,
+ h3 {
+ margin-bottom: 10px;
+ font-size: 40px;
+ line-height: 45px;
+ letter-spacing: 0;
+ font-weight: 300;
+ }
+
+ p {
+ margin: 20px 0;
+ font-size: 16px;
+ line-height: 24px;
+ font-weight: 300;
+ }
+
+ .link {
+ color: #009ee3;
+ text-decoration: none;
+ font-size: 16px;
+ }
+
+ .image {
+ position: absolute;
+ top: 91px;
+ right: 0px;
+ }
+
+ &:first-child {
+ .image {
+ width: 500px;
+ }
+ }
+
+ &:last-child {
+ .image {
+ width: 630px;
+ height: auto;
+ top: 0px;
+ }
+ }
+ }
+
+ .paragraph__column {
+ padding: 0 !important;
+ }
+}
\ No newline at end of file
diff --git a/web/themes/dedrone/scss/blocks/_tabs.scss b/web/themes/dedrone/scss/blocks/_tabs.scss
new file mode 100755
index 0000000..1d2683b
--- /dev/null
+++ b/web/themes/dedrone/scss/blocks/_tabs.scss
@@ -0,0 +1,32 @@
+.horizontal-tabs {
+
+ .tab-container {
+ display: flex;
+ flex-wrap: wrap;
+ align-items:flex-start;
+ align-content:flex-start;
+ }
+
+ .nav-tabs {
+ flex: 0 0 150px;
+ max-width: 150px;
+ border: 0 none;
+
+ li {
+ width: 100%;
+
+ a {
+ display: block;
+ background-color: transparent;
+ font-size: 12px;
+ font-weight: 700;
+ text-decoration: none !important;
+ }
+
+ }
+ }
+
+ .tab-content {
+ flex: 1 0;
+ }
+}
\ No newline at end of file
diff --git a/web/themes/dedrone/scss/blocks/_text-columns.scss b/web/themes/dedrone/scss/blocks/_text-columns.scss
new file mode 100755
index 0000000..fb17b4f
--- /dev/null
+++ b/web/themes/dedrone/scss/blocks/_text-columns.scss
@@ -0,0 +1,32 @@
+.text-columns {
+ min-height: 1000px;
+ padding-top: 150px;
+ padding-bottom: 150px;
+ background-image: url('../images/text_columns_bg.jpg');
+ background-size: cover;
+
+ .title {
+ margin: 10px 0;
+ font-size: 40px;
+ line-height: 45px;
+ text-align: center;
+ letter-spacing: 0;
+ color: #111;
+ font-weight: 300;
+ }
+
+ .wrap-items {
+ margin-top: 125px;
+
+ p {
+ margin-top: 10px;
+ float: none;
+ clear: none;
+ color: #111;
+ font-size: 16px;
+ line-height: 24px;
+ text-align: center;
+ font-weight: 300;
+ }
+ }
+}
\ No newline at end of file
diff --git a/web/themes/dedrone/scss/blocks/_webinars-section.scss b/web/themes/dedrone/scss/blocks/_webinars-section.scss
new file mode 100755
index 0000000..4783a8b
--- /dev/null
+++ b/web/themes/dedrone/scss/blocks/_webinars-section.scss
@@ -0,0 +1,78 @@
+.webinars-section {
+ padding-top: 175px;
+ padding-bottom: 150px;
+ color: #fff;
+ background-size: cover;
+
+ .wpap-content {
+ padding-left: 66.7%;
+
+ h2 {
+ margin-bottom: 10px;
+ font-size: 40px;
+ line-height: 45px;
+ }
+
+ p {
+ margin-top: 20px;
+ font-size: 20px;
+ line-height: 24px;
+ font-weight: 300;
+ }
+ }
+}
+
+.upcoming-webinars-section {
+ padding-top: 150px;
+ padding-bottom: 150px;
+
+ .viewsreference--view-title {
+ margin-bottom: 100px;
+ font-size: 40px;
+ line-height: 45px;
+ font-weight: 300;
+ text-align: center;
+ color: #111;
+ }
+
+ .event {
+
+ &-image {
+ img {
+ width: 100%;
+ height: 200px;
+ object-fit: cover;
+ }
+
+ }
+
+ &-description {
+ margin: 10px 0;
+ line-height: 22px;
+ color: #111;
+ font-size: 16px;
+ font-weight: 700;
+ }
+
+ &-date {
+ padding-top: 15px;
+ padding-bottom: 10px;
+ border-top:1px solid #ddd;
+ color: #111;
+ font-size: 12px;
+ line-height: 15px;
+ text-transform: uppercase;
+ font-weight: 500;
+ }
+ }
+
+
+ .column-item {
+ margin-bottom: 100px;
+
+ a {
+ text-decoration: none;
+ color: #111;
+ }
+ }
+}
\ No newline at end of file
diff --git a/web/themes/dedrone/scss/paragraph/_shared.scss b/web/themes/dedrone/scss/paragraph/_shared.scss
new file mode 100644
index 0000000..e77da69
--- /dev/null
+++ b/web/themes/dedrone/scss/paragraph/_shared.scss
@@ -0,0 +1,105 @@
+/* ==========================================================================
+ Shared site styles
+========================================================================== */
+
+
+/* Paragraphs background styles
+========================================================================== */
+.paragraph--type--shared-simple-white-title-
+{
+ .background_image_position
+ {
+ background-position: 0 0,50% 50% !important;
+ background-size: auto,cover !important;
+ min-height: 550px !important;
+ display:flex !important;
+ }
+}
+
+/* Styles for shared paragraph
+========================================================================== */
+
+.paragraph--type--shared-simple-white-title-
+{
+ .shared_white_title_pos
+ {
+ max-width: 500px;
+ color: #fff;
+ @include media-breakpoint-up(xs)
+ {
+ padding: 0px 25px;
+ }
+
+ /*Title*/
+ h1
+ {
+ margin-top: 10px;
+ margin-bottom: 10px;
+ padding-top: 5px;
+ color: #fff;
+ }
+ /*Description*/
+ h2
+ {
+ margin-top: 20px;
+ margin-bottom: 10px;
+ color: #fff;
+ }
+ }
+ @include media-breakpoint-up(xs) { margin-bottom: 75px; }
+ @include media-breakpoint-up(sm) { margin-bottom: 100px; }
+ @include media-breakpoint-up(md) { margin-bottom: 150px; }
+ @include media-breakpoint-up(lg) { margin-bottom: 150px; }
+}
+
+.paragraph--type--shared-aditional-information
+{
+ h1
+ {
+ color: #fff;
+ text-align: center;
+ }
+ .container
+ {
+ padding-top:150px;
+ padding-bottom:150px;
+ }
+}
+
+
+/* Buttons style
+========================================================================== */
+
+.shared_adit_inf_btns a
+{
+ display: inline-block;
+ text-decoration: none;
+ text-align:center;
+ padding: 15px 50px;
+ border-radius: 4px;
+ min-width: 220px;
+ margin: 0px 10px;
+ border-color: #fff;
+ background-color: transparent;
+ background-image: none;
+ color: #fff;
+ border: 1px solid #fff;
+ font-size: 12px;
+ line-height: 15px;
+ font-weight: 400;
+
+ @include media-breakpoint-down(xs) {
+ width: 100%;
+ margin: 20px 0px;
+ }
+}
+
+.shared_adit_inf_btns a:hover
+{
+ color: #f05c40;
+ background-color: #fff;
+}
+.shared_adit_inf_btns
+{
+ margin: 25px 10px 0px 10px;
+}
\ No newline at end of file
diff --git a/web/themes/dedrone/scss/paragraph/_technology_partners.scss b/web/themes/dedrone/scss/paragraph/_technology_partners.scss
new file mode 100644
index 0000000..bfe4c64
--- /dev/null
+++ b/web/themes/dedrone/scss/paragraph/_technology_partners.scss
@@ -0,0 +1,59 @@
+/* ==========================================================================
+ Page "Technology Partners" styles
+ - positioning options and unique page styles.
+ - other page styles defined in _shared.scss.
+ ========================================================================== */
+
+/*Title paragraph*/
+.paragraph--type--shared-simple-white-title-
+{
+
+}
+
+/*Page description paragraph*/
+.paragraph--type--bundle-description-tech-par-page
+{
+ h1{ margin-top:0px;
+ margin-bottom: 40px; }
+ p
+ {
+ padding: 0px 10px;
+ }
+ a{ padding-left: 10px; }
+}
+
+/*Main content paragraph*/
+.paragraph--type--bundle-content-tech-par-page
+{
+ h2
+ {
+ font-weight: 400;
+ margin: 10px 0px;
+
+ }
+ .bundle_partner_logo
+ {
+ padding-top: 15px;
+ padding-bottom: 10px;
+ display:flex;
+ width:160px;
+ height:100%;
+ }
+ .bundle_partner_logo img
+ {
+ width:160px;
+ height:auto;
+ }
+ .row
+ {
+ margin: 60px 0 40px;
+ padding: 40px 11px 11px;
+ border-top: 1px solid #426270;
+ }
+}
+
+/*Additional information paragraph*/
+.paragraph--type--shared-aditional-information
+{
+
+}
\ No newline at end of file
diff --git a/web/themes/dedrone/scss/styles.scss b/web/themes/dedrone/scss/styles.scss
index 9464a77..995e730 100755
--- a/web/themes/dedrone/scss/styles.scss
+++ b/web/themes/dedrone/scss/styles.scss
@@ -9,8 +9,9 @@
// Import Components
@import 'blocks/header';
-@import 'blocks/_footer_menu';
-@import 'blocks/_footer';
+@import 'blocks/footer_menu';
+@import 'blocks/footer';
+@import 'blocks/federal_gov';
// Import Layouts
// @import 'layouts/home';
diff --git a/web/themes/dedrone/scss/vendors/bootstrap4/_alert.scss b/web/themes/dedrone/scss/vendors/bootstrap4/_alert.scss
old mode 100644
new mode 100755
diff --git a/web/themes/dedrone/scss/vendors/bootstrap4/_badge.scss b/web/themes/dedrone/scss/vendors/bootstrap4/_badge.scss
old mode 100644
new mode 100755
diff --git a/web/themes/dedrone/scss/vendors/bootstrap4/_breadcrumb.scss b/web/themes/dedrone/scss/vendors/bootstrap4/_breadcrumb.scss
old mode 100644
new mode 100755
diff --git a/web/themes/dedrone/scss/vendors/bootstrap4/_button-group.scss b/web/themes/dedrone/scss/vendors/bootstrap4/_button-group.scss
old mode 100644
new mode 100755
diff --git a/web/themes/dedrone/scss/vendors/bootstrap4/_buttons.scss b/web/themes/dedrone/scss/vendors/bootstrap4/_buttons.scss
old mode 100644
new mode 100755
diff --git a/web/themes/dedrone/scss/vendors/bootstrap4/_card.scss b/web/themes/dedrone/scss/vendors/bootstrap4/_card.scss
old mode 100644
new mode 100755
diff --git a/web/themes/dedrone/scss/vendors/bootstrap4/_carousel.scss b/web/themes/dedrone/scss/vendors/bootstrap4/_carousel.scss
old mode 100644
new mode 100755
diff --git a/web/themes/dedrone/scss/vendors/bootstrap4/_close.scss b/web/themes/dedrone/scss/vendors/bootstrap4/_close.scss
old mode 100644
new mode 100755
diff --git a/web/themes/dedrone/scss/vendors/bootstrap4/_code.scss b/web/themes/dedrone/scss/vendors/bootstrap4/_code.scss
old mode 100644
new mode 100755
diff --git a/web/themes/dedrone/scss/vendors/bootstrap4/_custom-forms.scss b/web/themes/dedrone/scss/vendors/bootstrap4/_custom-forms.scss
old mode 100644
new mode 100755
diff --git a/web/themes/dedrone/scss/vendors/bootstrap4/_dropdown.scss b/web/themes/dedrone/scss/vendors/bootstrap4/_dropdown.scss
old mode 100644
new mode 100755
diff --git a/web/themes/dedrone/scss/vendors/bootstrap4/_forms.scss b/web/themes/dedrone/scss/vendors/bootstrap4/_forms.scss
old mode 100644
new mode 100755
diff --git a/web/themes/dedrone/scss/vendors/bootstrap4/_functions.scss b/web/themes/dedrone/scss/vendors/bootstrap4/_functions.scss
old mode 100644
new mode 100755
diff --git a/web/themes/dedrone/scss/vendors/bootstrap4/_grid.scss b/web/themes/dedrone/scss/vendors/bootstrap4/_grid.scss
old mode 100644
new mode 100755
diff --git a/web/themes/dedrone/scss/vendors/bootstrap4/_images.scss b/web/themes/dedrone/scss/vendors/bootstrap4/_images.scss
old mode 100644
new mode 100755
diff --git a/web/themes/dedrone/scss/vendors/bootstrap4/_input-group.scss b/web/themes/dedrone/scss/vendors/bootstrap4/_input-group.scss
old mode 100644
new mode 100755
diff --git a/web/themes/dedrone/scss/vendors/bootstrap4/_jumbotron.scss b/web/themes/dedrone/scss/vendors/bootstrap4/_jumbotron.scss
old mode 100644
new mode 100755
diff --git a/web/themes/dedrone/scss/vendors/bootstrap4/_list-group.scss b/web/themes/dedrone/scss/vendors/bootstrap4/_list-group.scss
old mode 100644
new mode 100755
diff --git a/web/themes/dedrone/scss/vendors/bootstrap4/_media.scss b/web/themes/dedrone/scss/vendors/bootstrap4/_media.scss
old mode 100644
new mode 100755
diff --git a/web/themes/dedrone/scss/vendors/bootstrap4/_mixins.scss b/web/themes/dedrone/scss/vendors/bootstrap4/_mixins.scss
old mode 100644
new mode 100755
diff --git a/web/themes/dedrone/scss/vendors/bootstrap4/_modal.scss b/web/themes/dedrone/scss/vendors/bootstrap4/_modal.scss
old mode 100644
new mode 100755
diff --git a/web/themes/dedrone/scss/vendors/bootstrap4/_nav.scss b/web/themes/dedrone/scss/vendors/bootstrap4/_nav.scss
old mode 100644
new mode 100755
diff --git a/web/themes/dedrone/scss/vendors/bootstrap4/_navbar.scss b/web/themes/dedrone/scss/vendors/bootstrap4/_navbar.scss
old mode 100644
new mode 100755
diff --git a/web/themes/dedrone/scss/vendors/bootstrap4/_pagination.scss b/web/themes/dedrone/scss/vendors/bootstrap4/_pagination.scss
old mode 100644
new mode 100755
diff --git a/web/themes/dedrone/scss/vendors/bootstrap4/_popover.scss b/web/themes/dedrone/scss/vendors/bootstrap4/_popover.scss
old mode 100644
new mode 100755
diff --git a/web/themes/dedrone/scss/vendors/bootstrap4/_print.scss b/web/themes/dedrone/scss/vendors/bootstrap4/_print.scss
old mode 100644
new mode 100755
diff --git a/web/themes/dedrone/scss/vendors/bootstrap4/_progress.scss b/web/themes/dedrone/scss/vendors/bootstrap4/_progress.scss
old mode 100644
new mode 100755
diff --git a/web/themes/dedrone/scss/vendors/bootstrap4/_reboot.scss b/web/themes/dedrone/scss/vendors/bootstrap4/_reboot.scss
old mode 100644
new mode 100755
diff --git a/web/themes/dedrone/scss/vendors/bootstrap4/_root.scss b/web/themes/dedrone/scss/vendors/bootstrap4/_root.scss
old mode 100644
new mode 100755
diff --git a/web/themes/dedrone/scss/vendors/bootstrap4/_tables.scss b/web/themes/dedrone/scss/vendors/bootstrap4/_tables.scss
old mode 100644
new mode 100755
diff --git a/web/themes/dedrone/scss/vendors/bootstrap4/_tooltip.scss b/web/themes/dedrone/scss/vendors/bootstrap4/_tooltip.scss
old mode 100644
new mode 100755
diff --git a/web/themes/dedrone/scss/vendors/bootstrap4/_transitions.scss b/web/themes/dedrone/scss/vendors/bootstrap4/_transitions.scss
old mode 100644
new mode 100755
diff --git a/web/themes/dedrone/scss/vendors/bootstrap4/_type.scss b/web/themes/dedrone/scss/vendors/bootstrap4/_type.scss
old mode 100644
new mode 100755
diff --git a/web/themes/dedrone/scss/vendors/bootstrap4/_utilities.scss b/web/themes/dedrone/scss/vendors/bootstrap4/_utilities.scss
old mode 100644
new mode 100755
diff --git a/web/themes/dedrone/scss/vendors/bootstrap4/_variables.scss b/web/themes/dedrone/scss/vendors/bootstrap4/_variables.scss
old mode 100644
new mode 100755
diff --git a/web/themes/dedrone/scss/vendors/bootstrap4/bootstrap-grid.scss b/web/themes/dedrone/scss/vendors/bootstrap4/bootstrap-grid.scss
old mode 100644
new mode 100755
diff --git a/web/themes/dedrone/scss/vendors/bootstrap4/bootstrap-reboot.scss b/web/themes/dedrone/scss/vendors/bootstrap4/bootstrap-reboot.scss
old mode 100644
new mode 100755
diff --git a/web/themes/dedrone/scss/vendors/bootstrap4/bootstrap.scss b/web/themes/dedrone/scss/vendors/bootstrap4/bootstrap.scss
old mode 100644
new mode 100755
diff --git a/web/themes/dedrone/scss/vendors/bootstrap4/mixins/_alert.scss b/web/themes/dedrone/scss/vendors/bootstrap4/mixins/_alert.scss
old mode 100644
new mode 100755
diff --git a/web/themes/dedrone/scss/vendors/bootstrap4/mixins/_background-variant.scss b/web/themes/dedrone/scss/vendors/bootstrap4/mixins/_background-variant.scss
old mode 100644
new mode 100755
diff --git a/web/themes/dedrone/scss/vendors/bootstrap4/mixins/_badge.scss b/web/themes/dedrone/scss/vendors/bootstrap4/mixins/_badge.scss
old mode 100644
new mode 100755
diff --git a/web/themes/dedrone/scss/vendors/bootstrap4/mixins/_border-radius.scss b/web/themes/dedrone/scss/vendors/bootstrap4/mixins/_border-radius.scss
old mode 100644
new mode 100755
diff --git a/web/themes/dedrone/scss/vendors/bootstrap4/mixins/_box-shadow.scss b/web/themes/dedrone/scss/vendors/bootstrap4/mixins/_box-shadow.scss
old mode 100644
new mode 100755
diff --git a/web/themes/dedrone/scss/vendors/bootstrap4/mixins/_breakpoints.scss b/web/themes/dedrone/scss/vendors/bootstrap4/mixins/_breakpoints.scss
old mode 100644
new mode 100755
diff --git a/web/themes/dedrone/scss/vendors/bootstrap4/mixins/_buttons.scss b/web/themes/dedrone/scss/vendors/bootstrap4/mixins/_buttons.scss
old mode 100644
new mode 100755
diff --git a/web/themes/dedrone/scss/vendors/bootstrap4/mixins/_caret.scss b/web/themes/dedrone/scss/vendors/bootstrap4/mixins/_caret.scss
old mode 100644
new mode 100755
diff --git a/web/themes/dedrone/scss/vendors/bootstrap4/mixins/_clearfix.scss b/web/themes/dedrone/scss/vendors/bootstrap4/mixins/_clearfix.scss
old mode 100644
new mode 100755
diff --git a/web/themes/dedrone/scss/vendors/bootstrap4/mixins/_float.scss b/web/themes/dedrone/scss/vendors/bootstrap4/mixins/_float.scss
old mode 100644
new mode 100755
diff --git a/web/themes/dedrone/scss/vendors/bootstrap4/mixins/_forms.scss b/web/themes/dedrone/scss/vendors/bootstrap4/mixins/_forms.scss
old mode 100644
new mode 100755
diff --git a/web/themes/dedrone/scss/vendors/bootstrap4/mixins/_gradients.scss b/web/themes/dedrone/scss/vendors/bootstrap4/mixins/_gradients.scss
old mode 100644
new mode 100755
diff --git a/web/themes/dedrone/scss/vendors/bootstrap4/mixins/_grid-framework.scss b/web/themes/dedrone/scss/vendors/bootstrap4/mixins/_grid-framework.scss
old mode 100644
new mode 100755
diff --git a/web/themes/dedrone/scss/vendors/bootstrap4/mixins/_grid.scss b/web/themes/dedrone/scss/vendors/bootstrap4/mixins/_grid.scss
old mode 100644
new mode 100755
diff --git a/web/themes/dedrone/scss/vendors/bootstrap4/mixins/_hover.scss b/web/themes/dedrone/scss/vendors/bootstrap4/mixins/_hover.scss
old mode 100644
new mode 100755
diff --git a/web/themes/dedrone/scss/vendors/bootstrap4/mixins/_image.scss b/web/themes/dedrone/scss/vendors/bootstrap4/mixins/_image.scss
old mode 100644
new mode 100755
diff --git a/web/themes/dedrone/scss/vendors/bootstrap4/mixins/_list-group.scss b/web/themes/dedrone/scss/vendors/bootstrap4/mixins/_list-group.scss
old mode 100644
new mode 100755
diff --git a/web/themes/dedrone/scss/vendors/bootstrap4/mixins/_lists.scss b/web/themes/dedrone/scss/vendors/bootstrap4/mixins/_lists.scss
old mode 100644
new mode 100755
diff --git a/web/themes/dedrone/scss/vendors/bootstrap4/mixins/_nav-divider.scss b/web/themes/dedrone/scss/vendors/bootstrap4/mixins/_nav-divider.scss
old mode 100644
new mode 100755
diff --git a/web/themes/dedrone/scss/vendors/bootstrap4/mixins/_navbar-align.scss b/web/themes/dedrone/scss/vendors/bootstrap4/mixins/_navbar-align.scss
old mode 100644
new mode 100755
diff --git a/web/themes/dedrone/scss/vendors/bootstrap4/mixins/_pagination.scss b/web/themes/dedrone/scss/vendors/bootstrap4/mixins/_pagination.scss
old mode 100644
new mode 100755
diff --git a/web/themes/dedrone/scss/vendors/bootstrap4/mixins/_reset-text.scss b/web/themes/dedrone/scss/vendors/bootstrap4/mixins/_reset-text.scss
old mode 100644
new mode 100755
diff --git a/web/themes/dedrone/scss/vendors/bootstrap4/mixins/_resize.scss b/web/themes/dedrone/scss/vendors/bootstrap4/mixins/_resize.scss
old mode 100644
new mode 100755
diff --git a/web/themes/dedrone/scss/vendors/bootstrap4/mixins/_screen-reader.scss b/web/themes/dedrone/scss/vendors/bootstrap4/mixins/_screen-reader.scss
old mode 100644
new mode 100755
diff --git a/web/themes/dedrone/scss/vendors/bootstrap4/mixins/_size.scss b/web/themes/dedrone/scss/vendors/bootstrap4/mixins/_size.scss
old mode 100644
new mode 100755
diff --git a/web/themes/dedrone/scss/vendors/bootstrap4/mixins/_table-row.scss b/web/themes/dedrone/scss/vendors/bootstrap4/mixins/_table-row.scss
old mode 100644
new mode 100755
diff --git a/web/themes/dedrone/scss/vendors/bootstrap4/mixins/_text-emphasis.scss b/web/themes/dedrone/scss/vendors/bootstrap4/mixins/_text-emphasis.scss
old mode 100644
new mode 100755
diff --git a/web/themes/dedrone/scss/vendors/bootstrap4/mixins/_text-hide.scss b/web/themes/dedrone/scss/vendors/bootstrap4/mixins/_text-hide.scss
old mode 100644
new mode 100755
diff --git a/web/themes/dedrone/scss/vendors/bootstrap4/mixins/_text-truncate.scss b/web/themes/dedrone/scss/vendors/bootstrap4/mixins/_text-truncate.scss
old mode 100644
new mode 100755
diff --git a/web/themes/dedrone/scss/vendors/bootstrap4/mixins/_transition.scss b/web/themes/dedrone/scss/vendors/bootstrap4/mixins/_transition.scss
old mode 100644
new mode 100755
diff --git a/web/themes/dedrone/scss/vendors/bootstrap4/mixins/_visibility.scss b/web/themes/dedrone/scss/vendors/bootstrap4/mixins/_visibility.scss
old mode 100644
new mode 100755
diff --git a/web/themes/dedrone/scss/vendors/bootstrap4/utilities/_align.scss b/web/themes/dedrone/scss/vendors/bootstrap4/utilities/_align.scss
old mode 100644
new mode 100755
diff --git a/web/themes/dedrone/scss/vendors/bootstrap4/utilities/_background.scss b/web/themes/dedrone/scss/vendors/bootstrap4/utilities/_background.scss
old mode 100644
new mode 100755
diff --git a/web/themes/dedrone/scss/vendors/bootstrap4/utilities/_borders.scss b/web/themes/dedrone/scss/vendors/bootstrap4/utilities/_borders.scss
old mode 100644
new mode 100755
diff --git a/web/themes/dedrone/scss/vendors/bootstrap4/utilities/_clearfix.scss b/web/themes/dedrone/scss/vendors/bootstrap4/utilities/_clearfix.scss
old mode 100644
new mode 100755
diff --git a/web/themes/dedrone/scss/vendors/bootstrap4/utilities/_display.scss b/web/themes/dedrone/scss/vendors/bootstrap4/utilities/_display.scss
old mode 100644
new mode 100755
diff --git a/web/themes/dedrone/scss/vendors/bootstrap4/utilities/_embed.scss b/web/themes/dedrone/scss/vendors/bootstrap4/utilities/_embed.scss
old mode 100644
new mode 100755
diff --git a/web/themes/dedrone/scss/vendors/bootstrap4/utilities/_flex.scss b/web/themes/dedrone/scss/vendors/bootstrap4/utilities/_flex.scss
old mode 100644
new mode 100755
diff --git a/web/themes/dedrone/scss/vendors/bootstrap4/utilities/_float.scss b/web/themes/dedrone/scss/vendors/bootstrap4/utilities/_float.scss
old mode 100644
new mode 100755
diff --git a/web/themes/dedrone/scss/vendors/bootstrap4/utilities/_position.scss b/web/themes/dedrone/scss/vendors/bootstrap4/utilities/_position.scss
old mode 100644
new mode 100755
diff --git a/web/themes/dedrone/scss/vendors/bootstrap4/utilities/_screenreaders.scss b/web/themes/dedrone/scss/vendors/bootstrap4/utilities/_screenreaders.scss
old mode 100644
new mode 100755
diff --git a/web/themes/dedrone/scss/vendors/bootstrap4/utilities/_sizing.scss b/web/themes/dedrone/scss/vendors/bootstrap4/utilities/_sizing.scss
old mode 100644
new mode 100755
diff --git a/web/themes/dedrone/scss/vendors/bootstrap4/utilities/_spacing.scss b/web/themes/dedrone/scss/vendors/bootstrap4/utilities/_spacing.scss
old mode 100644
new mode 100755
diff --git a/web/themes/dedrone/scss/vendors/bootstrap4/utilities/_text.scss b/web/themes/dedrone/scss/vendors/bootstrap4/utilities/_text.scss
old mode 100644
new mode 100755
diff --git a/web/themes/dedrone/scss/vendors/bootstrap4/utilities/_visibility.scss b/web/themes/dedrone/scss/vendors/bootstrap4/utilities/_visibility.scss
old mode 100644
new mode 100755
diff --git a/web/themes/dedrone/templates/field/field--field-author-drones-detected.html.twig b/web/themes/dedrone/templates/field/field--field-author-drones-detected.html.twig
new file mode 100644
index 0000000..0b10969
--- /dev/null
+++ b/web/themes/dedrone/templates/field/field--field-author-drones-detected.html.twig
@@ -0,0 +1,80 @@
+{#
+/**
+ * @file
+ * Theme override for a field.
+ *
+ * To override output, copy the "field.html.twig" from the templates directory
+ * to your theme's directory and customize it, just like customizing other
+ * Drupal templates such as page.html.twig or node.html.twig.
+ *
+ * Instead of overriding the theming for all fields, you can also just override
+ * theming for a subset of fields using
+ * @link themeable Theme hook suggestions. @endlink For example,
+ * here are some theme hook suggestions that can be used for a field_foo field
+ * on an article node type:
+ * - field--node--field-foo--article.html.twig
+ * - field--node--field-foo.html.twig
+ * - field--node--article.html.twig
+ * - field--field-foo.html.twig
+ * - field--text-with-summary.html.twig
+ * - field.html.twig
+ *
+ * Available variables:
+ * - attributes: HTML attributes for the containing element.
+ * - label_hidden: Whether to show the field label or not.
+ * - title_attributes: HTML attributes for the title.
+ * - label: The label for the field.
+ * - multiple: TRUE if a field can contain multiple items.
+ * - items: List of all the field items. Each item contains:
+ * - attributes: List of HTML attributes for each item.
+ * - content: The field item's content.
+ * - entity_type: The entity type to which the field belongs.
+ * - field_name: The name of the field.
+ * - field_type: The type of the field.
+ * - label_display: The display settings for the label.
+ *
+ *
+ * @see template_preprocess_field()
+ */
+#}
+{%
+ set classes = [
+ 'field',
+ 'field--name-' ~ field_name|clean_class,
+ 'field--type-' ~ field_type|clean_class,
+ 'field--label-' ~ label_display,
+ ]
+%}
+{%
+ set title_classes = [
+ 'field__label',
+ label_display == 'visually_hidden' ? 'visually-hidden',
+ ]
+%}
+
+{% if label_hidden %}
+ {% if multiple %}
+
+ {% for item in items %}
+
{{ item.content }}
+ {% endfor %}
+
+ {% else %}
+ {% for item in items %}
+ {{ item.content }}
+ {% endfor %}
+ {% endif %}
+{% else %}
+
+
{{ label }}
+ {% if multiple %}
+
+ {% endif %}
+ {% for item in items %}
+
{{ item.content }}
+ {% endfor %}
+ {% if multiple %}
+
+ {% endif %}
+
+{% endif %}
diff --git a/web/themes/dedrone/templates/field/field--field-big-title-drones-detected.html.twig b/web/themes/dedrone/templates/field/field--field-big-title-drones-detected.html.twig
new file mode 100644
index 0000000..0b10969
--- /dev/null
+++ b/web/themes/dedrone/templates/field/field--field-big-title-drones-detected.html.twig
@@ -0,0 +1,80 @@
+{#
+/**
+ * @file
+ * Theme override for a field.
+ *
+ * To override output, copy the "field.html.twig" from the templates directory
+ * to your theme's directory and customize it, just like customizing other
+ * Drupal templates such as page.html.twig or node.html.twig.
+ *
+ * Instead of overriding the theming for all fields, you can also just override
+ * theming for a subset of fields using
+ * @link themeable Theme hook suggestions. @endlink For example,
+ * here are some theme hook suggestions that can be used for a field_foo field
+ * on an article node type:
+ * - field--node--field-foo--article.html.twig
+ * - field--node--field-foo.html.twig
+ * - field--node--article.html.twig
+ * - field--field-foo.html.twig
+ * - field--text-with-summary.html.twig
+ * - field.html.twig
+ *
+ * Available variables:
+ * - attributes: HTML attributes for the containing element.
+ * - label_hidden: Whether to show the field label or not.
+ * - title_attributes: HTML attributes for the title.
+ * - label: The label for the field.
+ * - multiple: TRUE if a field can contain multiple items.
+ * - items: List of all the field items. Each item contains:
+ * - attributes: List of HTML attributes for each item.
+ * - content: The field item's content.
+ * - entity_type: The entity type to which the field belongs.
+ * - field_name: The name of the field.
+ * - field_type: The type of the field.
+ * - label_display: The display settings for the label.
+ *
+ *
+ * @see template_preprocess_field()
+ */
+#}
+{%
+ set classes = [
+ 'field',
+ 'field--name-' ~ field_name|clean_class,
+ 'field--type-' ~ field_type|clean_class,
+ 'field--label-' ~ label_display,
+ ]
+%}
+{%
+ set title_classes = [
+ 'field__label',
+ label_display == 'visually_hidden' ? 'visually-hidden',
+ ]
+%}
+
+{% if label_hidden %}
+ {% if multiple %}
+
+ {% for item in items %}
+
{{ item.content }}
+ {% endfor %}
+
+ {% else %}
+ {% for item in items %}
+ {{ item.content }}
+ {% endfor %}
+ {% endif %}
+{% else %}
+
+
{{ label }}
+ {% if multiple %}
+
+ {% endif %}
+ {% for item in items %}
+
{{ item.content }}
+ {% endfor %}
+ {% if multiple %}
+
+ {% endif %}
+
+{% endif %}
diff --git a/web/themes/dedrone/templates/field/field--field-body-drones-detected.html.twig b/web/themes/dedrone/templates/field/field--field-body-drones-detected.html.twig
new file mode 100644
index 0000000..0b10969
--- /dev/null
+++ b/web/themes/dedrone/templates/field/field--field-body-drones-detected.html.twig
@@ -0,0 +1,80 @@
+{#
+/**
+ * @file
+ * Theme override for a field.
+ *
+ * To override output, copy the "field.html.twig" from the templates directory
+ * to your theme's directory and customize it, just like customizing other
+ * Drupal templates such as page.html.twig or node.html.twig.
+ *
+ * Instead of overriding the theming for all fields, you can also just override
+ * theming for a subset of fields using
+ * @link themeable Theme hook suggestions. @endlink For example,
+ * here are some theme hook suggestions that can be used for a field_foo field
+ * on an article node type:
+ * - field--node--field-foo--article.html.twig
+ * - field--node--field-foo.html.twig
+ * - field--node--article.html.twig
+ * - field--field-foo.html.twig
+ * - field--text-with-summary.html.twig
+ * - field.html.twig
+ *
+ * Available variables:
+ * - attributes: HTML attributes for the containing element.
+ * - label_hidden: Whether to show the field label or not.
+ * - title_attributes: HTML attributes for the title.
+ * - label: The label for the field.
+ * - multiple: TRUE if a field can contain multiple items.
+ * - items: List of all the field items. Each item contains:
+ * - attributes: List of HTML attributes for each item.
+ * - content: The field item's content.
+ * - entity_type: The entity type to which the field belongs.
+ * - field_name: The name of the field.
+ * - field_type: The type of the field.
+ * - label_display: The display settings for the label.
+ *
+ *
+ * @see template_preprocess_field()
+ */
+#}
+{%
+ set classes = [
+ 'field',
+ 'field--name-' ~ field_name|clean_class,
+ 'field--type-' ~ field_type|clean_class,
+ 'field--label-' ~ label_display,
+ ]
+%}
+{%
+ set title_classes = [
+ 'field__label',
+ label_display == 'visually_hidden' ? 'visually-hidden',
+ ]
+%}
+
+{% if label_hidden %}
+ {% if multiple %}
+
+ {% for item in items %}
+
{{ item.content }}
+ {% endfor %}
+
+ {% else %}
+ {% for item in items %}
+ {{ item.content }}
+ {% endfor %}
+ {% endif %}
+{% else %}
+
+
{{ label }}
+ {% if multiple %}
+
+ {% endif %}
+ {% for item in items %}
+
{{ item.content }}
+ {% endfor %}
+ {% if multiple %}
+
+ {% endif %}
+
+{% endif %}
diff --git a/web/themes/dedrone/templates/field/field--field-image-bg.html.twig b/web/themes/dedrone/templates/field/field--field-image-bg.html.twig
new file mode 100644
index 0000000..0b10969
--- /dev/null
+++ b/web/themes/dedrone/templates/field/field--field-image-bg.html.twig
@@ -0,0 +1,80 @@
+{#
+/**
+ * @file
+ * Theme override for a field.
+ *
+ * To override output, copy the "field.html.twig" from the templates directory
+ * to your theme's directory and customize it, just like customizing other
+ * Drupal templates such as page.html.twig or node.html.twig.
+ *
+ * Instead of overriding the theming for all fields, you can also just override
+ * theming for a subset of fields using
+ * @link themeable Theme hook suggestions. @endlink For example,
+ * here are some theme hook suggestions that can be used for a field_foo field
+ * on an article node type:
+ * - field--node--field-foo--article.html.twig
+ * - field--node--field-foo.html.twig
+ * - field--node--article.html.twig
+ * - field--field-foo.html.twig
+ * - field--text-with-summary.html.twig
+ * - field.html.twig
+ *
+ * Available variables:
+ * - attributes: HTML attributes for the containing element.
+ * - label_hidden: Whether to show the field label or not.
+ * - title_attributes: HTML attributes for the title.
+ * - label: The label for the field.
+ * - multiple: TRUE if a field can contain multiple items.
+ * - items: List of all the field items. Each item contains:
+ * - attributes: List of HTML attributes for each item.
+ * - content: The field item's content.
+ * - entity_type: The entity type to which the field belongs.
+ * - field_name: The name of the field.
+ * - field_type: The type of the field.
+ * - label_display: The display settings for the label.
+ *
+ *
+ * @see template_preprocess_field()
+ */
+#}
+{%
+ set classes = [
+ 'field',
+ 'field--name-' ~ field_name|clean_class,
+ 'field--type-' ~ field_type|clean_class,
+ 'field--label-' ~ label_display,
+ ]
+%}
+{%
+ set title_classes = [
+ 'field__label',
+ label_display == 'visually_hidden' ? 'visually-hidden',
+ ]
+%}
+
+{% if label_hidden %}
+ {% if multiple %}
+
+ {% for item in items %}
+
{{ item.content }}
+ {% endfor %}
+
+ {% else %}
+ {% for item in items %}
+ {{ item.content }}
+ {% endfor %}
+ {% endif %}
+{% else %}
+
+
{{ label }}
+ {% if multiple %}
+
+ {% endif %}
+ {% for item in items %}
+
{{ item.content }}
+ {% endfor %}
+ {% if multiple %}
+
+ {% endif %}
+
+{% endif %}
diff --git a/web/themes/dedrone/templates/field/field--field-img-desc-drones-detected.html.twig b/web/themes/dedrone/templates/field/field--field-img-desc-drones-detected.html.twig
new file mode 100644
index 0000000..0b10969
--- /dev/null
+++ b/web/themes/dedrone/templates/field/field--field-img-desc-drones-detected.html.twig
@@ -0,0 +1,80 @@
+{#
+/**
+ * @file
+ * Theme override for a field.
+ *
+ * To override output, copy the "field.html.twig" from the templates directory
+ * to your theme's directory and customize it, just like customizing other
+ * Drupal templates such as page.html.twig or node.html.twig.
+ *
+ * Instead of overriding the theming for all fields, you can also just override
+ * theming for a subset of fields using
+ * @link themeable Theme hook suggestions. @endlink For example,
+ * here are some theme hook suggestions that can be used for a field_foo field
+ * on an article node type:
+ * - field--node--field-foo--article.html.twig
+ * - field--node--field-foo.html.twig
+ * - field--node--article.html.twig
+ * - field--field-foo.html.twig
+ * - field--text-with-summary.html.twig
+ * - field.html.twig
+ *
+ * Available variables:
+ * - attributes: HTML attributes for the containing element.
+ * - label_hidden: Whether to show the field label or not.
+ * - title_attributes: HTML attributes for the title.
+ * - label: The label for the field.
+ * - multiple: TRUE if a field can contain multiple items.
+ * - items: List of all the field items. Each item contains:
+ * - attributes: List of HTML attributes for each item.
+ * - content: The field item's content.
+ * - entity_type: The entity type to which the field belongs.
+ * - field_name: The name of the field.
+ * - field_type: The type of the field.
+ * - label_display: The display settings for the label.
+ *
+ *
+ * @see template_preprocess_field()
+ */
+#}
+{%
+ set classes = [
+ 'field',
+ 'field--name-' ~ field_name|clean_class,
+ 'field--type-' ~ field_type|clean_class,
+ 'field--label-' ~ label_display,
+ ]
+%}
+{%
+ set title_classes = [
+ 'field__label',
+ label_display == 'visually_hidden' ? 'visually-hidden',
+ ]
+%}
+
+{% if label_hidden %}
+ {% if multiple %}
+
+ {% for item in items %}
+
{{ item.content }}
+ {% endfor %}
+
+ {% else %}
+ {% for item in items %}
+ {{ item.content }}
+ {% endfor %}
+ {% endif %}
+{% else %}
+
+
{{ label }}
+ {% if multiple %}
+
+ {% endif %}
+ {% for item in items %}
+
{{ item.content }}
+ {% endfor %}
+ {% if multiple %}
+
+ {% endif %}
+
+{% endif %}
diff --git a/web/themes/dedrone/templates/field/field--field-img-drones-detected.html.twig b/web/themes/dedrone/templates/field/field--field-img-drones-detected.html.twig
new file mode 100644
index 0000000..0b10969
--- /dev/null
+++ b/web/themes/dedrone/templates/field/field--field-img-drones-detected.html.twig
@@ -0,0 +1,80 @@
+{#
+/**
+ * @file
+ * Theme override for a field.
+ *
+ * To override output, copy the "field.html.twig" from the templates directory
+ * to your theme's directory and customize it, just like customizing other
+ * Drupal templates such as page.html.twig or node.html.twig.
+ *
+ * Instead of overriding the theming for all fields, you can also just override
+ * theming for a subset of fields using
+ * @link themeable Theme hook suggestions. @endlink For example,
+ * here are some theme hook suggestions that can be used for a field_foo field
+ * on an article node type:
+ * - field--node--field-foo--article.html.twig
+ * - field--node--field-foo.html.twig
+ * - field--node--article.html.twig
+ * - field--field-foo.html.twig
+ * - field--text-with-summary.html.twig
+ * - field.html.twig
+ *
+ * Available variables:
+ * - attributes: HTML attributes for the containing element.
+ * - label_hidden: Whether to show the field label or not.
+ * - title_attributes: HTML attributes for the title.
+ * - label: The label for the field.
+ * - multiple: TRUE if a field can contain multiple items.
+ * - items: List of all the field items. Each item contains:
+ * - attributes: List of HTML attributes for each item.
+ * - content: The field item's content.
+ * - entity_type: The entity type to which the field belongs.
+ * - field_name: The name of the field.
+ * - field_type: The type of the field.
+ * - label_display: The display settings for the label.
+ *
+ *
+ * @see template_preprocess_field()
+ */
+#}
+{%
+ set classes = [
+ 'field',
+ 'field--name-' ~ field_name|clean_class,
+ 'field--type-' ~ field_type|clean_class,
+ 'field--label-' ~ label_display,
+ ]
+%}
+{%
+ set title_classes = [
+ 'field__label',
+ label_display == 'visually_hidden' ? 'visually-hidden',
+ ]
+%}
+
+{% if label_hidden %}
+ {% if multiple %}
+
+ {% for item in items %}
+
{{ item.content }}
+ {% endfor %}
+
+ {% else %}
+ {% for item in items %}
+ {{ item.content }}
+ {% endfor %}
+ {% endif %}
+{% else %}
+
+
{{ label }}
+ {% if multiple %}
+
+ {% endif %}
+ {% for item in items %}
+
{{ item.content }}
+ {% endfor %}
+ {% if multiple %}
+
+ {% endif %}
+
+{% endif %}
diff --git a/web/themes/dedrone/templates/field/field--field-link-drones-detected.html.twig b/web/themes/dedrone/templates/field/field--field-link-drones-detected.html.twig
new file mode 100644
index 0000000..0b10969
--- /dev/null
+++ b/web/themes/dedrone/templates/field/field--field-link-drones-detected.html.twig
@@ -0,0 +1,80 @@
+{#
+/**
+ * @file
+ * Theme override for a field.
+ *
+ * To override output, copy the "field.html.twig" from the templates directory
+ * to your theme's directory and customize it, just like customizing other
+ * Drupal templates such as page.html.twig or node.html.twig.
+ *
+ * Instead of overriding the theming for all fields, you can also just override
+ * theming for a subset of fields using
+ * @link themeable Theme hook suggestions. @endlink For example,
+ * here are some theme hook suggestions that can be used for a field_foo field
+ * on an article node type:
+ * - field--node--field-foo--article.html.twig
+ * - field--node--field-foo.html.twig
+ * - field--node--article.html.twig
+ * - field--field-foo.html.twig
+ * - field--text-with-summary.html.twig
+ * - field.html.twig
+ *
+ * Available variables:
+ * - attributes: HTML attributes for the containing element.
+ * - label_hidden: Whether to show the field label or not.
+ * - title_attributes: HTML attributes for the title.
+ * - label: The label for the field.
+ * - multiple: TRUE if a field can contain multiple items.
+ * - items: List of all the field items. Each item contains:
+ * - attributes: List of HTML attributes for each item.
+ * - content: The field item's content.
+ * - entity_type: The entity type to which the field belongs.
+ * - field_name: The name of the field.
+ * - field_type: The type of the field.
+ * - label_display: The display settings for the label.
+ *
+ *
+ * @see template_preprocess_field()
+ */
+#}
+{%
+ set classes = [
+ 'field',
+ 'field--name-' ~ field_name|clean_class,
+ 'field--type-' ~ field_type|clean_class,
+ 'field--label-' ~ label_display,
+ ]
+%}
+{%
+ set title_classes = [
+ 'field__label',
+ label_display == 'visually_hidden' ? 'visually-hidden',
+ ]
+%}
+
+{% if label_hidden %}
+ {% if multiple %}
+
+ {% for item in items %}
+
{{ item.content }}
+ {% endfor %}
+
+ {% else %}
+ {% for item in items %}
+ {{ item.content }}
+ {% endfor %}
+ {% endif %}
+{% else %}
+
+
{{ label }}
+ {% if multiple %}
+
+ {% endif %}
+ {% for item in items %}
+
{{ item.content }}
+ {% endfor %}
+ {% if multiple %}
+
+ {% endif %}
+
+{% endif %}
diff --git a/web/themes/dedrone/templates/field/field--field-quote-drones-detected.html.twig b/web/themes/dedrone/templates/field/field--field-quote-drones-detected.html.twig
new file mode 100644
index 0000000..0b10969
--- /dev/null
+++ b/web/themes/dedrone/templates/field/field--field-quote-drones-detected.html.twig
@@ -0,0 +1,80 @@
+{#
+/**
+ * @file
+ * Theme override for a field.
+ *
+ * To override output, copy the "field.html.twig" from the templates directory
+ * to your theme's directory and customize it, just like customizing other
+ * Drupal templates such as page.html.twig or node.html.twig.
+ *
+ * Instead of overriding the theming for all fields, you can also just override
+ * theming for a subset of fields using
+ * @link themeable Theme hook suggestions. @endlink For example,
+ * here are some theme hook suggestions that can be used for a field_foo field
+ * on an article node type:
+ * - field--node--field-foo--article.html.twig
+ * - field--node--field-foo.html.twig
+ * - field--node--article.html.twig
+ * - field--field-foo.html.twig
+ * - field--text-with-summary.html.twig
+ * - field.html.twig
+ *
+ * Available variables:
+ * - attributes: HTML attributes for the containing element.
+ * - label_hidden: Whether to show the field label or not.
+ * - title_attributes: HTML attributes for the title.
+ * - label: The label for the field.
+ * - multiple: TRUE if a field can contain multiple items.
+ * - items: List of all the field items. Each item contains:
+ * - attributes: List of HTML attributes for each item.
+ * - content: The field item's content.
+ * - entity_type: The entity type to which the field belongs.
+ * - field_name: The name of the field.
+ * - field_type: The type of the field.
+ * - label_display: The display settings for the label.
+ *
+ *
+ * @see template_preprocess_field()
+ */
+#}
+{%
+ set classes = [
+ 'field',
+ 'field--name-' ~ field_name|clean_class,
+ 'field--type-' ~ field_type|clean_class,
+ 'field--label-' ~ label_display,
+ ]
+%}
+{%
+ set title_classes = [
+ 'field__label',
+ label_display == 'visually_hidden' ? 'visually-hidden',
+ ]
+%}
+
+{% if label_hidden %}
+ {% if multiple %}
+
+ {% for item in items %}
+
{{ item.content }}
+ {% endfor %}
+
+ {% else %}
+ {% for item in items %}
+ {{ item.content }}
+ {% endfor %}
+ {% endif %}
+{% else %}
+
+
{{ label }}
+ {% if multiple %}
+
+ {% endif %}
+ {% for item in items %}
+
{{ item.content }}
+ {% endfor %}
+ {% if multiple %}
+
+ {% endif %}
+
+{% endif %}
diff --git a/web/themes/dedrone/templates/field/field--field-slide.html.twig b/web/themes/dedrone/templates/field/field--field-slide.html.twig
new file mode 100755
index 0000000..fad09d1
--- /dev/null
+++ b/web/themes/dedrone/templates/field/field--field-slide.html.twig
@@ -0,0 +1,43 @@
+
+{%
+ set classes = [
+ 'field',
+ 'field--name-' ~ field_name|clean_class,
+ 'field--type-' ~ field_type|clean_class,
+ 'field--label-' ~ label_display,
+ ]
+%}
+{%
+ set title_classes = [
+ 'field__label',
+ label_display == 'visually_hidden' ? 'visually-hidden',
+ ]
+%}
+
+{% if label_hidden %}
+ {% if multiple %}
+
+ {% for item in items %}
+
{{ item.content }}
+ {% endfor %}
+
+
+ {% else %}
+ {% for item in items %}
+ {{ item.content }}
+ {% endfor %}
+ {% endif %}
+{% else %}
+
+
{{ label }}
+ {% if multiple %}
+
+ {% endif %}
+ {% for item in items %}
+
{{ item.content }}
+ {% endfor %}
+ {% if multiple %}
+
+ {% endif %}
+
+{% endif %}
diff --git a/web/themes/dedrone/templates/field/field--field-small-title-drones-detecte.html.twig b/web/themes/dedrone/templates/field/field--field-small-title-drones-detecte.html.twig
new file mode 100644
index 0000000..0b10969
--- /dev/null
+++ b/web/themes/dedrone/templates/field/field--field-small-title-drones-detecte.html.twig
@@ -0,0 +1,80 @@
+{#
+/**
+ * @file
+ * Theme override for a field.
+ *
+ * To override output, copy the "field.html.twig" from the templates directory
+ * to your theme's directory and customize it, just like customizing other
+ * Drupal templates such as page.html.twig or node.html.twig.
+ *
+ * Instead of overriding the theming for all fields, you can also just override
+ * theming for a subset of fields using
+ * @link themeable Theme hook suggestions. @endlink For example,
+ * here are some theme hook suggestions that can be used for a field_foo field
+ * on an article node type:
+ * - field--node--field-foo--article.html.twig
+ * - field--node--field-foo.html.twig
+ * - field--node--article.html.twig
+ * - field--field-foo.html.twig
+ * - field--text-with-summary.html.twig
+ * - field.html.twig
+ *
+ * Available variables:
+ * - attributes: HTML attributes for the containing element.
+ * - label_hidden: Whether to show the field label or not.
+ * - title_attributes: HTML attributes for the title.
+ * - label: The label for the field.
+ * - multiple: TRUE if a field can contain multiple items.
+ * - items: List of all the field items. Each item contains:
+ * - attributes: List of HTML attributes for each item.
+ * - content: The field item's content.
+ * - entity_type: The entity type to which the field belongs.
+ * - field_name: The name of the field.
+ * - field_type: The type of the field.
+ * - label_display: The display settings for the label.
+ *
+ *
+ * @see template_preprocess_field()
+ */
+#}
+{%
+ set classes = [
+ 'field',
+ 'field--name-' ~ field_name|clean_class,
+ 'field--type-' ~ field_type|clean_class,
+ 'field--label-' ~ label_display,
+ ]
+%}
+{%
+ set title_classes = [
+ 'field__label',
+ label_display == 'visually_hidden' ? 'visually-hidden',
+ ]
+%}
+
+{% if label_hidden %}
+ {% if multiple %}
+
+ {% for item in items %}
+
{{ item.content }}
+ {% endfor %}
+
+ {% else %}
+ {% for item in items %}
+ {{ item.content }}
+ {% endfor %}
+ {% endif %}
+{% else %}
+
+
{{ label }}
+ {% if multiple %}
+
+ {% endif %}
+ {% for item in items %}
+
{{ item.content }}
+ {% endfor %}
+ {% if multiple %}
+
+ {% endif %}
+
+{% endif %}
diff --git a/web/themes/dedrone/templates/field/field--paragraph--field-background-image--background-description.html.twig b/web/themes/dedrone/templates/field/field--paragraph--field-background-image--background-description.html.twig
new file mode 100755
index 0000000..0b10969
--- /dev/null
+++ b/web/themes/dedrone/templates/field/field--paragraph--field-background-image--background-description.html.twig
@@ -0,0 +1,80 @@
+{#
+/**
+ * @file
+ * Theme override for a field.
+ *
+ * To override output, copy the "field.html.twig" from the templates directory
+ * to your theme's directory and customize it, just like customizing other
+ * Drupal templates such as page.html.twig or node.html.twig.
+ *
+ * Instead of overriding the theming for all fields, you can also just override
+ * theming for a subset of fields using
+ * @link themeable Theme hook suggestions. @endlink For example,
+ * here are some theme hook suggestions that can be used for a field_foo field
+ * on an article node type:
+ * - field--node--field-foo--article.html.twig
+ * - field--node--field-foo.html.twig
+ * - field--node--article.html.twig
+ * - field--field-foo.html.twig
+ * - field--text-with-summary.html.twig
+ * - field.html.twig
+ *
+ * Available variables:
+ * - attributes: HTML attributes for the containing element.
+ * - label_hidden: Whether to show the field label or not.
+ * - title_attributes: HTML attributes for the title.
+ * - label: The label for the field.
+ * - multiple: TRUE if a field can contain multiple items.
+ * - items: List of all the field items. Each item contains:
+ * - attributes: List of HTML attributes for each item.
+ * - content: The field item's content.
+ * - entity_type: The entity type to which the field belongs.
+ * - field_name: The name of the field.
+ * - field_type: The type of the field.
+ * - label_display: The display settings for the label.
+ *
+ *
+ * @see template_preprocess_field()
+ */
+#}
+{%
+ set classes = [
+ 'field',
+ 'field--name-' ~ field_name|clean_class,
+ 'field--type-' ~ field_type|clean_class,
+ 'field--label-' ~ label_display,
+ ]
+%}
+{%
+ set title_classes = [
+ 'field__label',
+ label_display == 'visually_hidden' ? 'visually-hidden',
+ ]
+%}
+
+{% if label_hidden %}
+ {% if multiple %}
+
+ {% for item in items %}
+
{{ item.content }}
+ {% endfor %}
+
+ {% else %}
+ {% for item in items %}
+ {{ item.content }}
+ {% endfor %}
+ {% endif %}
+{% else %}
+
+
{{ label }}
+ {% if multiple %}
+
+ {% endif %}
+ {% for item in items %}
+
{{ item.content }}
+ {% endfor %}
+ {% if multiple %}
+
+ {% endif %}
+
+{% endif %}
diff --git a/web/themes/dedrone/templates/field/field--paragraph--field-image-description-column.html.twig b/web/themes/dedrone/templates/field/field--paragraph--field-image-description-column.html.twig
old mode 100644
new mode 100755
index 1f25e55..30b6176
--- a/web/themes/dedrone/templates/field/field--paragraph--field-image-description-column.html.twig
+++ b/web/themes/dedrone/templates/field/field--paragraph--field-image-description-column.html.twig
@@ -56,12 +56,12 @@
{% if multiple %}
{% for item in items %}
-
{{ item.content }}
+
{{ item.content }}
{% endfor %}
{% else %}
{% for item in items %}
- {{ item.content }}
+ {{ item.content }}
{% endfor %}
{% endif %}
{% else %}
@@ -71,7 +71,7 @@
{% endif %}
{% for item in items %}
-
{{ item.content }}
+
{{ item.content }}
{% endfor %}
{% if multiple %}
diff --git a/web/themes/dedrone/templates/field/field--paragraph--solutions-federal-dedrone-soluti.html.twig b/web/themes/dedrone/templates/field/field--paragraph--solutions-federal-dedrone-soluti.html.twig
new file mode 100644
index 0000000..c2bc475
--- /dev/null
+++ b/web/themes/dedrone/templates/field/field--paragraph--solutions-federal-dedrone-soluti.html.twig
@@ -0,0 +1,81 @@
+{#
+/**
+ * @file
+ * Theme override for a field.
+ *
+ * To override output, copy the "field.html.twig" from the templates directory
+ * to your theme's directory and customize it, just like customizing other
+ * Drupal templates such as page.html.twig or node.html.twig.
+ *
+ * Instead of overriding the theming for all fields, you can also just override
+ * theming for a subset of fields using
+ * @link themeable Theme hook suggestions. @endlink For example,
+ * here are some theme hook suggestions that can be used for a field_foo field
+ * on an article node type:
+ * - field--node--field-foo--article.html.twig
+ * - field--node--field-foo.html.twig
+ * - field--node--article.html.twig
+ * - field--field-foo.html.twig
+ * - field--text-with-summary.html.twig
+ * - field.html.twig
+ *
+ * Available variables:
+ * - attributes: HTML attributes for the containing element.
+ * - label_hidden: Whether to show the field label or not.
+ * - title_attributes: HTML attributes for the title.
+ * - label: The label for the field.
+ * - multiple: TRUE if a field can contain multiple items.
+ * - items: List of all the field items. Each item contains:
+ * - attributes: List of HTML attributes for each item.
+ * - content: The field item's content.
+ * - entity_type: The entity type to which the field belongs.
+ * - field_name: The name of the field.
+ * - field_type: The type of the field.
+ * - label_display: The display settings for the label.
+ *
+ *
+ * @see template_preprocess_field()
+ */
+#}
+{%
+ set classes = [
+ 'field',
+ 'col-md-6',
+ 'field--name-' ~ field_name|clean_class,
+ 'field--type-' ~ field_type|clean_class,
+ 'field--label-' ~ label_display,
+ ]
+%}
+{%
+ set title_classes = [
+ 'field__label',
+ label_display == 'visually_hidden' ? 'visually-hidden',
+ ]
+%}
+
+{% if label_hidden %}
+ {% if multiple %}
+
+ {% for item in items %}
+
{{ item.content }}
+ {% endfor %}
+
+ {% else %}
+ {% for item in items %}
+ {{ item.content }}
+ {% endfor %}
+ {% endif %}
+{% else %}
+
+
{{ label }}
+ {% if multiple %}
+
+ {% endif %}
+ {% for item in items %}
+
{{ item.content }}
+ {% endfor %}
+ {% if multiple %}
+
+ {% endif %}
+
+{% endif %}
diff --git a/web/themes/dedrone/templates/field/field--paragraph--solutions-federal-see-it-live.html.twig b/web/themes/dedrone/templates/field/field--paragraph--solutions-federal-see-it-live.html.twig
new file mode 100644
index 0000000..19829e5
--- /dev/null
+++ b/web/themes/dedrone/templates/field/field--paragraph--solutions-federal-see-it-live.html.twig
@@ -0,0 +1,81 @@
+{#
+/**
+ * @file
+ * Theme override for a field.
+ *
+ * To override output, copy the "field.html.twig" from the templates directory
+ * to your theme's directory and customize it, just like customizing other
+ * Drupal templates such as page.html.twig or node.html.twig.
+ *
+ * Instead of overriding the theming for all fields, you can also just override
+ * theming for a subset of fields using
+ * @link themeable Theme hook suggestions. @endlink For example,
+ * here are some theme hook suggestions that can be used for a field_foo field
+ * on an article node type:
+ * - field--node--field-foo--article.html.twig
+ * - field--node--field-foo.html.twig
+ * - field--node--article.html.twig
+ * - field--field-foo.html.twig
+ * - field--text-with-summary.html.twig
+ * - field.html.twig
+ *
+ * Available variables:
+ * - attributes: HTML attributes for the containing element.
+ * - label_hidden: Whether to show the field label or not.
+ * - title_attributes: HTML attributes for the title.
+ * - label: The label for the field.
+ * - multiple: TRUE if a field can contain multiple items.
+ * - items: List of all the field items. Each item contains:
+ * - attributes: List of HTML attributes for each item.
+ * - content: The field item's content.
+ * - entity_type: The entity type to which the field belongs.
+ * - field_name: The name of the field.
+ * - field_type: The type of the field.
+ * - label_display: The display settings for the label.
+ *
+ *
+ * @see template_preprocess_field()
+ */
+#}
+{%
+ set classes = [
+ 'field',
+ 'row',
+ 'field--name-' ~ field_name|clean_class,
+ 'field--type-' ~ field_type|clean_class,
+ 'field--label-' ~ label_display,
+ ]
+%}
+{%
+ set title_classes = [
+ 'field__label',
+ label_display == 'visually_hidden' ? 'visually-hidden',
+ ]
+%}
+
+{% if label_hidden %}
+ {% if multiple %}
+
+ {% for item in items %}
+
{{ item.content }}
+ {% endfor %}
+
+ {% else %}
+ {% for item in items %}
+ {{ item.content }}
+ {% endfor %}
+ {% endif %}
+{% else %}
+
+
{{ label }}
+ {% if multiple %}
+
+ {% endif %}
+ {% for item in items %}
+
{{ item.content }}
+ {% endfor %}
+ {% if multiple %}
+
+ {% endif %}
+
+{% endif %}
diff --git a/web/themes/dedrone/templates/field/field--paragraph--tabs.html.twig b/web/themes/dedrone/templates/field/field--paragraph--tabs.html.twig
new file mode 100755
index 0000000..559c779
--- /dev/null
+++ b/web/themes/dedrone/templates/field/field--paragraph--tabs.html.twig
@@ -0,0 +1,37 @@
+{% set classes = [
+ 'field',
+ 'field--name-' ~ field_name|clean_class,
+ 'field--type-' ~ field_type|clean_class,
+ 'field--label-' ~ label_display,
+] %}
+{% set title_classes = [
+ 'field__label',
+ label_display == 'visually_hidden' ? 'visually-hidden',
+] %}
+
+{% if label_hidden %}
+ {% if multiple %}
+
+ {% for item in items %}
+
{{ item.content }}
+ {% endfor %}
+
+ {% else %}
+ {% for item in items %}
+ {{ item.content }}
+ {% endfor %}
+ {% endif %}
+{% else %}
+
+
{{ label }}
+ {% if multiple %}
+
+ {% endif %}
+ {% for item in items %}
+
{{ item.content }}
+ {% endfor %}
+ {% if multiple %}
+
+ {% endif %}
+
+{% endif %}
diff --git a/web/themes/dedrone/templates/field/field--paragraph--text-rapagraph.html.twig b/web/themes/dedrone/templates/field/field--paragraph--text-rapagraph.html.twig
new file mode 100755
index 0000000..e89e766
--- /dev/null
+++ b/web/themes/dedrone/templates/field/field--paragraph--text-rapagraph.html.twig
@@ -0,0 +1,42 @@
+
+{%
+ set classes = [
+ 'field',
+ 'field--name-' ~ field_name|clean_class,
+ 'field--type-' ~ field_type|clean_class,
+ 'field--label-' ~ label_display,
+ ]
+%}
+{%
+ set title_classes = [
+ 'field__label',
+ label_display == 'visually_hidden' ? 'visually-hidden',
+ ]
+%}
+
+{% if label_hidden %}
+ {% if multiple %}
+
+ {% for item in items %}
+
{{ item.content }}
+ {% endfor %}
+
+ {% else %}
+ {% for item in items %}
+ {{ item.content }}
+ {% endfor %}
+ {% endif %}
+{% else %}
+
+
{{ label }}
+ {% if multiple %}
+
+ {% endif %}
+ {% for item in items %}
+
{{ item.content }}
+ {% endfor %}
+ {% if multiple %}
+
+ {% endif %}
+
+{% endif %}
diff --git a/web/themes/dedrone/templates/field/field--text-long.html.twig b/web/themes/dedrone/templates/field/field--text-long.html.twig
new file mode 100644
index 0000000..07ce721
--- /dev/null
+++ b/web/themes/dedrone/templates/field/field--text-long.html.twig
@@ -0,0 +1 @@
+{% extends "field--text.html.twig" %}
diff --git a/web/themes/dedrone/templates/field/field--text.html.twig b/web/themes/dedrone/templates/field/field--text.html.twig
new file mode 100644
index 0000000..5d1690c
--- /dev/null
+++ b/web/themes/dedrone/templates/field/field--text.html.twig
@@ -0,0 +1,28 @@
+{% extends "field.html.twig" %}
+{#
+/**
+ * @file
+ * Default theme implementation for a text field.
+ *
+ * A 'clearfix' class is added, because 'text' fields have a 'format' property
+ * that allows a Text Format to be associated with the entered text, which then
+ * applies filtering on output. A common use case is to align images to the left
+ * or right, and without this 'clearfix' class, such aligned images may be
+ * rendered outside of the 'text' field formatter's boundaries, and hence
+ * overlap with other fields. By setting the 'clearfix' class on all 'text'
+ * fields, we prevent that.
+ *
+ * @see https://www.drupal.org/node/2358529
+ *
+ * A 'text-formatted' class is added to assist with default styling of base
+ * elements such as paragraphs and lists that may not have classes assigned to
+ * them. This allows user entered content to have default styling without
+ * interfering with the styles of other UI components such as system generated
+ * lists or other dynamic content.
+ *
+ * @see https://www.drupal.org/node/2539860
+ *
+ * @ingroup themeable
+ */
+#}
+{% set attributes = attributes.addClass('clearfix', 'text-formatted') %}
diff --git a/web/themes/dedrone/templates/field/field.html.twig b/web/themes/dedrone/templates/field/field.html.twig
new file mode 100644
index 0000000..0b10969
--- /dev/null
+++ b/web/themes/dedrone/templates/field/field.html.twig
@@ -0,0 +1,80 @@
+{#
+/**
+ * @file
+ * Theme override for a field.
+ *
+ * To override output, copy the "field.html.twig" from the templates directory
+ * to your theme's directory and customize it, just like customizing other
+ * Drupal templates such as page.html.twig or node.html.twig.
+ *
+ * Instead of overriding the theming for all fields, you can also just override
+ * theming for a subset of fields using
+ * @link themeable Theme hook suggestions. @endlink For example,
+ * here are some theme hook suggestions that can be used for a field_foo field
+ * on an article node type:
+ * - field--node--field-foo--article.html.twig
+ * - field--node--field-foo.html.twig
+ * - field--node--article.html.twig
+ * - field--field-foo.html.twig
+ * - field--text-with-summary.html.twig
+ * - field.html.twig
+ *
+ * Available variables:
+ * - attributes: HTML attributes for the containing element.
+ * - label_hidden: Whether to show the field label or not.
+ * - title_attributes: HTML attributes for the title.
+ * - label: The label for the field.
+ * - multiple: TRUE if a field can contain multiple items.
+ * - items: List of all the field items. Each item contains:
+ * - attributes: List of HTML attributes for each item.
+ * - content: The field item's content.
+ * - entity_type: The entity type to which the field belongs.
+ * - field_name: The name of the field.
+ * - field_type: The type of the field.
+ * - label_display: The display settings for the label.
+ *
+ *
+ * @see template_preprocess_field()
+ */
+#}
+{%
+ set classes = [
+ 'field',
+ 'field--name-' ~ field_name|clean_class,
+ 'field--type-' ~ field_type|clean_class,
+ 'field--label-' ~ label_display,
+ ]
+%}
+{%
+ set title_classes = [
+ 'field__label',
+ label_display == 'visually_hidden' ? 'visually-hidden',
+ ]
+%}
+
+{% if label_hidden %}
+ {% if multiple %}
+
+ {% for item in items %}
+
{{ item.content }}
+ {% endfor %}
+
+ {% else %}
+ {% for item in items %}
+ {{ item.content }}
+ {% endfor %}
+ {% endif %}
+{% else %}
+
+
{{ label }}
+ {% if multiple %}
+
+ {% endif %}
+ {% for item in items %}
+
{{ item.content }}
+ {% endfor %}
+ {% if multiple %}
+
+ {% endif %}
+
+{% endif %}
diff --git a/web/themes/dedrone/templates/node/node--event--teaser.html.twig b/web/themes/dedrone/templates/node/node--event--teaser.html.twig
new file mode 100755
index 0000000..4065d33
--- /dev/null
+++ b/web/themes/dedrone/templates/node/node--event--teaser.html.twig
@@ -0,0 +1,110 @@
+{#
+/**
+ * @file
+ * Theme override to display a node.
+ *
+ * Available variables:
+ * - node: The node entity with limited access to object properties and methods.
+ * Only method names starting with "get", "has", or "is" and a few common
+ * methods such as "id", "label", and "bundle" are available. For example:
+ * - node.getCreatedTime() will return the node creation timestamp.
+ * - node.hasField('field_example') returns TRUE if the node bundle includes
+ * field_example. (This does not indicate the presence of a value in this
+ * field.)
+ * - node.isPublished() will return whether the node is published or not.
+ * Calling other methods, such as node.delete(), will result in an exception.
+ * See \Drupal\node\Entity\Node for a full list of public properties and
+ * methods for the node object.
+ * - label: The title of the node.
+ * - content: All node items. Use {{ content }} to print them all,
+ * or print a subset such as {{ content.field_example }}. Use
+ * {{ content|without('field_example') }} to temporarily suppress the printing
+ * of a given child element.
+ * - author_picture: The node author user entity, rendered using the "compact"
+ * view mode.
+ * - metadata: Metadata for this node.
+ * - date: Themed creation date field.
+ * - author_name: Themed author name field.
+ * - url: Direct URL of the current node.
+ * - display_submitted: Whether submission information should be displayed.
+ * - attributes: HTML attributes for the containing element.
+ * The attributes.class element may contain one or more of the following
+ * classes:
+ * - node: The current template type (also known as a "theming hook").
+ * - node--type-[type]: The current node type. For example, if the node is an
+ * "Article" it would result in "node--type-article". Note that the machine
+ * name will often be in a short form of the human readable label.
+ * - node--view-mode-[view_mode]: The View Mode of the node; for example, a
+ * teaser would result in: "node--view-mode-teaser", and
+ * full: "node--view-mode-full".
+ * The following are controlled through the node publishing options.
+ * - node--promoted: Appears on nodes promoted to the front page.
+ * - node--sticky: Appears on nodes ordered above other non-sticky nodes in
+ * teaser listings.
+ * - node--unpublished: Appears on unpublished nodes visible only to site
+ * admins.
+ * - title_attributes: Same as attributes, except applied to the main title
+ * tag that appears in the template.
+ * - content_attributes: Same as attributes, except applied to the main
+ * content tag that appears in the template.
+ * - author_attributes: Same as attributes, except applied to the author of
+ * the node tag that appears in the template.
+ * - title_prefix: Additional output populated by modules, intended to be
+ * displayed in front of the main title tag that appears in the template.
+ * - title_suffix: Additional output populated by modules, intended to be
+ * displayed after the main title tag that appears in the template.
+ * - view_mode: View mode; for example, "teaser" or "full".
+ * - teaser: Flag for the teaser state. Will be true if view_mode is 'teaser'.
+ * - page: Flag for the full page state. Will be true if view_mode is 'full'.
+ * - readmore: Flag for more state. Will be true if the teaser content of the
+ * node cannot hold the main body content.
+ * - logged_in: Flag for authenticated user status. Will be true when the
+ * current user is a logged-in member.
+ * - is_admin: Flag for admin user status. Will be true when the current user
+ * is an administrator.
+ *
+ * @see template_preprocess_node()
+ *
+ * @todo Remove the id attribute (or make it a class), because if that gets
+ * rendered twice on a page this is invalid CSS for example: two lists
+ * in different view modes.
+ */
+#}
+{%
+ set classes = [
+ 'event-item',
+ 'node',
+ 'node--type-' ~ node.bundle|clean_class,
+ node.isPromoted() ? 'node--promoted',
+ node.isSticky() ? 'node--sticky',
+ not node.isPublished() ? 'node--unpublished',
+ view_mode ? 'node--view-mode-' ~ view_mode|clean_class,
+ ]
+%}
+{{ attach_library('classy/node') }}
+
+
+
+ {#{{ title_prefix }}#}
+
+
+ {{ label }}
+
+
+ {{ content }}
+
+
+ {#{{ title_suffix }}#}
+
+ {#{% if display_submitted %}#}
+ {##}
+ {#{% endif %}#}
+
+
+
diff --git a/web/themes/dedrone/templates/paragraph/Copy (1) paragraph.html.twig b/web/themes/dedrone/templates/paragraph/Copy (1) paragraph.html.twig
new file mode 100755
index 0000000..fa3ba93
--- /dev/null
+++ b/web/themes/dedrone/templates/paragraph/Copy (1) paragraph.html.twig
@@ -0,0 +1,55 @@
+{#
+/**
+ * @file
+ * Default theme implementation to display a paragraph.
+ *
+ * Available variables:
+ * - paragraph: Full paragraph entity.
+ * Only method names starting with "get", "has", or "is" and a few common
+ * methods such as "id", "label", and "bundle" are available. For example:
+ * - paragraph.getCreatedTime() will return the paragraph creation timestamp.
+ * - paragraph.id(): The paragraph ID.
+ * - paragraph.bundle(): The type of the paragraph, for example, "image" or "text".
+ * - paragraph.getOwnerId(): The user ID of the paragraph author.
+ * See Drupal\paragraphs\Entity\Paragraph for a full list of public properties
+ * and methods for the paragraph object.
+ * - content: All paragraph items. Use {{ content }} to print them all,
+ * or print a subset such as {{ content.field_example }}. Use
+ * {{ content|without('field_example') }} to temporarily suppress the printing
+ * of a given child element.
+ * - attributes: HTML attributes for the containing element.
+ * The attributes.class element may contain one or more of the following
+ * classes:
+ * - paragraphs: The current template type (also known as a "theming hook").
+ * - paragraphs--type-[type]: The current paragraphs type. For example, if the paragraph is an
+ * "Image" it would result in "paragraphs--type--image". Note that the machine
+ * name will often be in a short form of the human readable label.
+ * - paragraphs--view-mode--[view_mode]: The View Mode of the paragraph; for example, a
+ * preview would result in: "paragraphs--view-mode--preview", and
+ * default: "paragraphs--view-mode--default".
+ * - view_mode: View mode; for example, "preview" or "full".
+ * - logged_in: Flag for authenticated user status. Will be true when the
+ * current user is a logged-in member.
+ * - is_admin: Flag for admin user status. Will be true when the current user
+ * is an administrator.
+ *
+ * @see template_preprocess_paragraph()
+ *
+ * @ingroup themeable
+ */
+#}
+{%
+ set classes = [
+ 'paragraph',
+ 'paragraph--type--' ~ paragraph.bundle|clean_class,
+ view_mode ? 'paragraph--view-mode--' ~ view_mode|clean_class,
+ not paragraph.isPublished() ? 'paragraph--unpublished'
+ ]
+%}
+{% block paragraph %}
+
+ {% block content %}
+ {{ content }}
+ {% endblock %}
+
+{% endblock paragraph %}
diff --git a/web/themes/dedrone/templates/paragraph/paragraph--background-description.html.twig b/web/themes/dedrone/templates/paragraph/paragraph--background-description.html.twig
new file mode 100755
index 0000000..bccecce
--- /dev/null
+++ b/web/themes/dedrone/templates/paragraph/paragraph--background-description.html.twig
@@ -0,0 +1,59 @@
+{#
+/**
+ * @file
+ * Default theme implementation to display a paragraph.
+ *
+ * Available variables:
+ * - paragraph: Full paragraph entity.
+ * Only method names starting with "get", "has", or "is" and a few common
+ * methods such as "id", "label", and "bundle" are available. For example:
+ * - paragraph.getCreatedTime() will return the paragraph creation timestamp.
+ * - paragraph.id(): The paragraph ID.
+ * - paragraph.bundle(): The type of the paragraph, for example, "image" or "text".
+ * - paragraph.getOwnerId(): The user ID of the paragraph author.
+ * See Drupal\paragraphs\Entity\Paragraph for a full list of public properties
+ * and methods for the paragraph object.
+ * - content: All paragraph items. Use {{ content }} to print them all,
+ * or print a subset such as {{ content.field_example }}. Use
+ * {{ content|without('field_example') }} to temporarily suppress the printing
+ * of a given child element.
+ * - attributes: HTML attributes for the containing element.
+ * The attributes.class element may contain one or more of the following
+ * classes:
+ * - paragraphs: The current template type (also known as a "theming hook").
+ * - paragraphs--type-[type]: The current paragraphs type. For example, if the paragraph is an
+ * "Image" it would result in "paragraphs--type--image". Note that the machine
+ * name will often be in a short form of the human readable label.
+ * - paragraphs--view-mode--[view_mode]: The View Mode of the paragraph; for example, a
+ * preview would result in: "paragraphs--view-mode--preview", and
+ * default: "paragraphs--view-mode--default".
+ * - view_mode: View mode; for example, "preview" or "full".
+ * - logged_in: Flag for authenticated user status. Will be true when the
+ * current user is a logged-in member.
+ * - is_admin: Flag for admin user status. Will be true when the current user
+ * is an administrator.
+ *
+ * @see template_preprocess_paragraph()
+ *
+ * @ingroup themeable
+ */
+#}
+{%
+ set classes = [
+ 'paragraph',
+ 'paragraph--type--' ~ paragraph.bundle|clean_class,
+ view_mode ? 'paragraph--view-mode--' ~ view_mode|clean_class,
+ not paragraph.isPublished() ? 'paragraph--unpublished'
+ ]
+%}
+
+{% block paragraph %}
+
+ {% block content %}
+
+
{{ content|without('field_background_image') }}
+
+ {% endblock %}
+
+{% endblock paragraph %}
+
\ No newline at end of file
diff --git a/web/themes/dedrone/templates/paragraph/paragraph--bp-tabs.html.twig b/web/themes/dedrone/templates/paragraph/paragraph--bp-tabs.html.twig
new file mode 100755
index 0000000..c745433
--- /dev/null
+++ b/web/themes/dedrone/templates/paragraph/paragraph--bp-tabs.html.twig
@@ -0,0 +1,191 @@
+{#
+/**
+ * @file
+ * Bootstrap Paragraphs template for displaying Bootstrap Tabs.
+ *
+ * Available variables:
+ * - paragraph: Full paragraph entity.
+ * - id: The paragraph ID.
+ * - bundle: The type of the paragraph, for example, "image" or "text".
+ * - authorid: The user ID of the paragraph author.
+ * - createdtime: Formatted creation date. Preprocess functions can
+ * reformat it by calling format_date() with the desired parameters on
+ * $variables['paragraph']->getCreatedTime().
+ * - content: All paragraph items. Use {{ content }} to print them all,
+ * or print a subset such as {{ content.field_example }}. Use
+ * {{ content|without('field_example') }} to temporarily suppress the printing
+ * of a given child element.
+ * - attributes: HTML attributes for the containing element.
+ * The attributes.class element may contain one or more of the following
+ * classes:
+ * - paragraphs: The current template type (also known as a "theming hook").
+ * - paragraphs--type-[type]: The current paragraphs type. For example, if the paragraph is an
+ * "Image" it would result in "paragraphs--type--image". Note that the machine
+ * name will often be in a short form of the human readable label.
+ * - paragraphs--view-mode--[view_mode]: The View Mode of the paragraph; for example, a
+ * preview would result in: "paragraphs--view-mode--preview", and
+ * default: "paragraphs--view-mode--default".
+ * - view_mode: View mode; for example, "preview" or "full".
+ * - logged_in: Flag for authenticated user status. Will be true when the
+ * current user is a logged-in member.
+ * - is_admin: Flag for admin user status. Will be true when the current user
+ * is an administrator.
+ *
+ * @see template_preprocess_paragraph()
+ *
+ * @ingroup themeable
+ */
+#}
+
+{{ attach_library('bootstrap_paragraphs/bootstrap-paragraphs') }}
+{{ attach_library('bootstrap_paragraphs/bp-tabs') }}
+
+{# Renders Width field. #}
+{# Sets class name from values in database. #}
+{% if content.bp_width|render %}
+ {% set layout_width = content.bp_width['#items'].getString() %}
+ {% set layout_width_classes = [
+ 'paragraph--width--tiny' == layout_width ? 'paragraph--width--tiny',
+ 'paragraph--width--narrow' == layout_width ? 'paragraph--width--narrow',
+ 'paragraph--width--medium' == layout_width ? 'paragraph--width--medium',
+ 'paragraph--width--wide' == layout_width ? 'paragraph--width--wide',
+ 'paragraph--width--full' == layout_width ? 'paragraph--width--full',
+ ]
+ %}
+{% endif %}
+
+{# Renders Background field. #}
+{# Sets class name from values in database. #}
+{% if content.bp_background|render %}
+ {% set layout_background = content.bp_background['#items'].getString() %}
+ {% set layout_background_classes = [
+ 'paragraph--color paragraph--color--rgba-black-slight' == layout_background ? 'paragraph--color paragraph--color--rgba-black-slight',
+ 'paragraph--color paragraph--color--rgba-black-light' == layout_background ? 'paragraph--color paragraph--color--rgba-black-light',
+ 'paragraph--color paragraph--color--rgba-black-strong' == layout_background ? 'paragraph--color paragraph--color--rgba-black-strong',
+ 'paragraph--color paragraph--color--rgba-blue-slight' == layout_background ? 'paragraph--color paragraph--color--rgba-black-strong',
+ 'paragraph--color paragraph--color--rgba-blue-light' == layout_background ? 'paragraph--color paragraph--color--rgba-blue-light',
+ 'paragraph--color paragraph--color--rgba-blue-strong' == layout_background ? 'paragraph--color paragraph--color--rgba-blue-strong',
+ 'paragraph--color paragraph--color--rgba-bluegrey-slight' == layout_background ? 'paragraph--color paragraph--color--rgba-bluegrey-slight',
+ 'paragraph--color paragraph--color--rgba-bluegrey-light' == layout_background ? 'paragraph--color paragraph--color--rgba-bluegrey-light',
+ 'paragraph--color paragraph--color--rgba-bluegrey-strong' == layout_background ? 'paragraph--color paragraph--color--rgba-bluegrey-strong',
+ 'paragraph--color paragraph--color--rgba-brown-slight' == layout_background ? 'paragraph--color paragraph--color--rgba-brown-slight',
+ 'paragraph--color paragraph--color--rgba-brown-light' == layout_background ? 'paragraph--color paragraph--color--rgba-brown-light',
+ 'paragraph--color paragraph--color--rgba-brown-strong' == layout_background ? 'paragraph--color paragraph--color--rgba-brown-strong',
+ 'paragraph--color paragraph--color--rgba-cyan-slight' == layout_background ? 'paragraph--color paragraph--color--rgba-cyan-slight',
+ 'paragraph--color paragraph--color--rgba-cyan-light' == layout_background ? 'paragraph--color paragraph--color--rgba-cyan-light',
+ 'paragraph--color paragraph--color--rgba-cyan-strong' == layout_background ? 'paragraph--color paragraph--color--rgba-cyan-strong',
+ 'paragraph--color paragraph--color--rgba-green-slight' == layout_background ? 'paragraph--color paragraph--color--rgba-green-slight',
+ 'paragraph--color paragraph--color--rgba-green-light' == layout_background ? 'paragraph--color paragraph--color--rgba-green-light',
+ 'paragraph--color paragraph--color--rgba-green-strong' == layout_background ? 'paragraph--color paragraph--color--rgba-green-strong',
+ 'paragraph--color paragraph--color--rgba-grey-slight' == layout_background ? 'paragraph--color paragraph--color--rgba-grey-slight',
+ 'paragraph--color paragraph--color--rgba-grey-light' == layout_background ? 'paragraph--color paragraph--color--rgba-grey-light',
+ 'paragraph--color paragraph--color--rgba-grey-strong' == layout_background ? 'paragraph--color paragraph--color--rgba-grey-strong',
+ 'paragraph--color paragraph--color--rgba-indigo-slight' == layout_background ? 'paragraph--color paragraph--color--rgba-indigo-slight',
+ 'paragraph--color paragraph--color--rgba-indigo-light' == layout_background ? 'paragraph--color paragraph--color--rgba-indigo-light',
+ 'paragraph--color paragraph--color--rgba-indigo-strong' == layout_background ? 'paragraph--color paragraph--color--rgba-indigo-strong',
+ 'paragraph--color paragraph--color--rgba-lime-slight' == layout_background ? 'paragraph--color paragraph--color--rgba-lime-slight',
+ 'paragraph--color paragraph--color--rgba-lime-light' == layout_background ? 'paragraph--color paragraph--color--rgba-lime-light',
+ 'paragraph--color paragraph--color--rgba-lime-strong' == layout_background ? 'paragraph--color paragraph--color--rgba-lime-strong',
+ 'paragraph--color paragraph--color--rgba-orange-slight' == layout_background ? 'paragraph--color paragraph--color--rgba-orange-slight',
+ 'paragraph--color paragraph--color--rgba-orange-light' == layout_background ? 'paragraph--color paragraph--color--rgba-orange-light',
+ 'paragraph--color paragraph--color--rgba-orange-strong' == layout_background ? 'paragraph--color paragraph--color--rgba-orange-strong',
+ 'paragraph--color paragraph--color--rgba-pink-slight' == layout_background ? 'paragraph--color paragraph--color--rgba-pink-slight',
+ 'paragraph--color paragraph--color--rgba-pink-light' == layout_background ? 'paragraph--color paragraph--color--rgba-pink-light',
+ 'paragraph--color paragraph--color--rgba-pink-strong' == layout_background ? 'paragraph--color paragraph--color--rgba-pink-strong',
+ 'paragraph--color paragraph--color--rgba-purple-slight' == layout_background ? 'paragraph--color paragraph--color--rgba-purple-slight',
+ 'paragraph--color paragraph--color--rgba-purple-light' == layout_background ? 'paragraph--color paragraph--color--rgba-purple-light',
+ 'paragraph--color paragraph--color--rgba-purple-strong' == layout_background ? 'paragraph--color paragraph--color--rgba-purple-strong',
+ 'paragraph--color paragraph--color--rgba-red-slight' == layout_background ? 'paragraph--color paragraph--color--rgba-red-slight',
+ 'paragraph--color paragraph--color--rgba-red-light' == layout_background ? 'paragraph--color paragraph--color--rgba-red-light',
+ 'paragraph--color paragraph--color--rgba-red-strong' == layout_background ? 'paragraph--color paragraph--color--rgba-red-strong',
+ 'paragraph--color paragraph--color--rgba-stylish-slight' == layout_background ? 'paragraph--color paragraph--color--rgba-stylish-slight',
+ 'paragraph--color paragraph--color--rgba-stylish-light' == layout_background ? 'paragraph--color paragraph--color--rgba-stylish-light',
+ 'paragraph--color paragraph--color--rgba-stylish-strong' == layout_background ? 'paragraph--color paragraph--color--rgba-stylish-strong',
+ 'paragraph--color paragraph--color--rgba-teal-slight' == layout_background ? 'paragraph--color paragraph--color--rgba-teal-slight',
+ 'paragraph--color paragraph--color--rgba-teal-light' == layout_background ? 'paragraph--color paragraph--color--rgba-teal-light',
+ 'paragraph--color paragraph--color--rgba-teal-strong' == layout_background ? 'paragraph--color paragraph--color--rgba-teal-strong',
+ 'paragraph--color paragraph--color--rgba-white-slight' == layout_background ? 'paragraph--color paragraph--color--rgba-white-slight',
+ 'paragraph--color paragraph--color--rgba-white-light' == layout_background ? 'paragraph--color paragraph--color--rgba-white-light',
+ 'paragraph--color paragraph--color--rgba-white-strong' == layout_background ? 'paragraph--color paragraph--color--rgba-white-strong',
+ 'paragraph--color paragraph--color--rgba-yellow-slight' == layout_background ? 'paragraph--color paragraph--color--rgba-yellow-slight',
+ 'paragraph--color paragraph--color--rgba-yellow-light' == layout_background ? 'paragraph--color paragraph--color--rgba-yellow-light',
+ 'paragraph--color paragraph--color--rgba-yellow-strong' == layout_background ? 'paragraph--color paragraph--color--rgba-yellow-strong',
+ 'paragraph--color--transparent' == layout_background ? 'paragraph--color--transparent',
+ 'paragraph--color paragraph--color--primary' == layout_background ? 'paragraph--color paragraph--color--primary',
+ 'paragraph--color paragraph--color--secondary' == layout_background ? 'paragraph--color paragraph--color--secondary',
+ 'paragraph--color paragraph--color--success' == layout_background ? 'paragraph--color paragraph--color--success',
+ 'paragraph--color paragraph--color--info' == layout_background ? 'paragraph--color paragraph--color--info',
+ 'paragraph--color paragraph--color--warning' == layout_background ? 'paragraph--color paragraph--color--warning',
+ 'paragraph--color paragraph--color--danger' == layout_background ? 'paragraph--color paragraph--color--danger',
+ ]
+ %}
+{% endif %}
+
+{# The template default set classes. #}
+{# Sets Paragraph ID as class. #}
+{%
+set classes = [
+'paragraph',
+'paragraph--type--' ~ paragraph.bundle|clean_class,
+view_mode ? 'paragraph--view-mode--' ~ view_mode|clean_class,
+'paragraph--id--' ~ paragraph.id.value,
+]
+%}
+
+{# Merges Width field with classes. #}
+{% set width_field = content.bp_width|render %}
+{% if width_field %}
+ {% set classes = classes|merge(layout_width_classes) %}
+{% endif %}
+
+{# Merges Background field with classes. #}
+{% set background_field = content.bp_background|render %}
+{% if background_field %}
+ {% set classes = classes|merge(layout_background_classes) %}
+{% endif %}
+
+{# Sets Unique ID for Accordion from Paragraph ID. #}
+{% set paragraph_id = 'tab-' ~ paragraph.id.value %}
+
+{# Prints Tabs template. #}
+
+
+
+
+ {{ title_suffix }}
+
+
+ {# Loops through the tab sections again to print the tab section bodies. #}
+ {% for key, item in content.bp_tab_section if key|first != '#' %}
+
+ {% for body_key, body_item in item['#paragraph'].bp_tab_section_body %}
+ {# Use the same render array as item and set the '#paragraph'. #}
+ {% set section_body = item %}
+ {% set lang = section_body['#paragraph'].langcode[0].value %}
+ {# Check if a translation exists #}
+ {% if section_body['#paragraph'].bp_tab_section_body[body_key].entity.hasTranslation(lang) %}
+ {# Load the entity for the current translation #}
+ {% set section_translation= section_body['#paragraph'].bp_tab_section_body[body_key].entity.getTranslation(lang) %}
+ {% else %}
+ {# Load the source entity #}
+ {% set section_translation= section_body['#paragraph'].bp_tab_section_body[body_key].entity %}
+ {% endif %}
+ {% set section_body = section_body|merge({'#paragraph': section_translation}) %}
+ {# Remove the cache keys so it doesn't repeat the first value. #}
+ {% set section_body = section_body|merge({'#cache': {}}) %}
+ {# Print the compiled section body. #}
+ {{ section_body }}
+
+ {% endfor %}
+
+ {% endfor %}
+
+
+
+
+
\ No newline at end of file
diff --git a/web/themes/dedrone/templates/paragraph/paragraph--bundle-description-tech-par-page.html.twig b/web/themes/dedrone/templates/paragraph/paragraph--bundle-description-tech-par-page.html.twig
new file mode 100644
index 0000000..9fe277d
--- /dev/null
+++ b/web/themes/dedrone/templates/paragraph/paragraph--bundle-description-tech-par-page.html.twig
@@ -0,0 +1,31 @@
+{# #}
+{%
+ set classes = [
+ 'paragraph',
+ 'paragraph--type--' ~ paragraph.bundle|clean_class,
+ view_mode ? 'paragraph--view-mode--' ~ view_mode|clean_class,
+ not paragraph.isPublished() ? 'paragraph--unpublished'
+ ]
+%}
+{% block paragraph %}
+
+ {% block content %}
+
+
+
+
{{ content.field_shared_h1_title }}
+
+
+ {{ content.field_shared_p_simple_text[0] }}
+
+
+ {{ content.field_shared_p_simple_text[1] }}
+
+
+ {{ content.field_shared_link_label }}
+
+
+
+ {% endblock %}
+
+{% endblock paragraph %}
diff --git a/web/themes/dedrone/templates/paragraph/paragraph--bundle_content_tech_par_page.html.twig b/web/themes/dedrone/templates/paragraph/paragraph--bundle_content_tech_par_page.html.twig
new file mode 100644
index 0000000..2ec90ff
--- /dev/null
+++ b/web/themes/dedrone/templates/paragraph/paragraph--bundle_content_tech_par_page.html.twig
@@ -0,0 +1,30 @@
+{# #}
+{%
+ set classes = [
+ 'paragraph',
+ 'paragraph--type--' ~ paragraph.bundle|clean_class,
+ view_mode ? 'paragraph--view-mode--' ~ view_mode|clean_class,
+ not paragraph.isPublished() ? 'paragraph--unpublished'
+ ]
+%}
+{% block paragraph %}
+
+
+ {% block content %}
+
+
+
{{ content.field_shared_h2_title }}
+ {{ content.field_shared_link_label }}
+
+
+ {{ content.field_bundle_partner_logo }}
+
+
+ {{ content.field_shared_p_simple_text }}
+
+
+ {% endblock %}
+
+
+
+{% endblock paragraph %}
\ No newline at end of file
diff --git a/web/themes/dedrone/templates/paragraph/paragraph--default.html.twig b/web/themes/dedrone/templates/paragraph/paragraph--default.html.twig
new file mode 100755
index 0000000..ca6303b
--- /dev/null
+++ b/web/themes/dedrone/templates/paragraph/paragraph--default.html.twig
@@ -0,0 +1,159 @@
+{#
+/**
+ * @file
+ * Default theme implementation to display a paragraph in Bootstrap Paragraphs.
+ *
+ * Available variables:
+ * - paragraph: Full paragraph entity.
+ * - id: The paragraph ID.
+ * - bundle: The type of the paragraph, for example, "image" or "text".
+ * - authorid: The user ID of the paragraph author.
+ * - createdtime: Formatted creation date. Preprocess functions can
+ * reformat it by calling format_date() with the desired parameters on
+ * $variables['paragraph']->getCreatedTime().
+ * - content: All paragraph items. Use {{ content }} to print them all,
+ * or print a subset such as {{ content.field_example }}. Use
+ * {{ content|without('field_example') }} to temporarily suppress the printing
+ * of a given child element.
+ * - attributes: HTML attributes for the containing element.
+ * The attributes.class element may contain one or more of the following
+ * classes:
+ * - paragraphs: The current template type (also known as a "theming hook").
+ * - paragraphs--type-[type]: The current paragraphs type. For example, if the paragraph is an
+ * "Image" it would result in "paragraphs--type--image". Note that the machine
+ * name will often be in a short form of the human readable label.
+ * - paragraphs--view-mode--[view_mode]: The View Mode of the paragraph; for example, a
+ * preview would result in: "paragraphs--view-mode--preview", and
+ * default: "paragraphs--view-mode--default".
+ * - view_mode: View mode; for example, "preview" or "full".
+ * - logged_in: Flag for authenticated user status. Will be true when the
+ * current user is a logged-in member.
+ * - is_admin: Flag for admin user status. Will be true when the current user
+ * is an administrator.
+ *
+ * @see template_preprocess_paragraph()
+ *
+ * @ingroup themeable
+ */
+#}
+
+{{ attach_library('bootstrap_paragraphs/bootstrap-paragraphs') }}
+{% if paragraph.bundle == 'bp_columns' %}
+ {{ attach_library('bootstrap_paragraphs/bp-columns') }}
+{% endif %}
+
+{# Renders Width field. #}
+{# Sets class name from values in database. #}
+{% if content.bp_width|render %}
+ {% set layout_width = content.bp_width['#items'].getString() %}
+ {% set layout_width_classes = [
+ 'paragraph--width--tiny' == layout_width ? 'paragraph--width--tiny',
+ 'paragraph--width--narrow' == layout_width ? 'paragraph--width--narrow',
+ 'paragraph--width--medium' == layout_width ? 'paragraph--width--medium',
+ 'paragraph--width--wide' == layout_width ? 'paragraph--width--wide',
+ 'paragraph--width--full' == layout_width ? 'paragraph--width--full',
+ ]
+ %}
+{% endif %}
+
+{# Renders Background field. #}
+{# Sets class name from values in database. #}
+{% if content.bp_background|render %}
+ {% set layout_background = content.bp_background['#items'].getString() %}
+ {% set layout_background_classes = [
+ 'paragraph--color paragraph--color--rgba-black-slight' == layout_background ? 'paragraph--color paragraph--color--rgba-black-slight',
+ 'paragraph--color paragraph--color--rgba-black-light' == layout_background ? 'paragraph--color paragraph--color--rgba-black-light',
+ 'paragraph--color paragraph--color--rgba-black-strong' == layout_background ? 'paragraph--color paragraph--color--rgba-black-strong',
+ 'paragraph--color paragraph--color--rgba-blue-slight' == layout_background ? 'paragraph--color paragraph--color--rgba-black-strong',
+ 'paragraph--color paragraph--color--rgba-blue-light' == layout_background ? 'paragraph--color paragraph--color--rgba-blue-light',
+ 'paragraph--color paragraph--color--rgba-blue-strong' == layout_background ? 'paragraph--color paragraph--color--rgba-blue-strong',
+ 'paragraph--color paragraph--color--rgba-bluegrey-slight' == layout_background ? 'paragraph--color paragraph--color--rgba-bluegrey-slight',
+ 'paragraph--color paragraph--color--rgba-bluegrey-light' == layout_background ? 'paragraph--color paragraph--color--rgba-bluegrey-light',
+ 'paragraph--color paragraph--color--rgba-bluegrey-strong' == layout_background ? 'paragraph--color paragraph--color--rgba-bluegrey-strong',
+ 'paragraph--color paragraph--color--rgba-brown-slight' == layout_background ? 'paragraph--color paragraph--color--rgba-brown-slight',
+ 'paragraph--color paragraph--color--rgba-brown-light' == layout_background ? 'paragraph--color paragraph--color--rgba-brown-light',
+ 'paragraph--color paragraph--color--rgba-brown-strong' == layout_background ? 'paragraph--color paragraph--color--rgba-brown-strong',
+ 'paragraph--color paragraph--color--rgba-cyan-slight' == layout_background ? 'paragraph--color paragraph--color--rgba-cyan-slight',
+ 'paragraph--color paragraph--color--rgba-cyan-light' == layout_background ? 'paragraph--color paragraph--color--rgba-cyan-light',
+ 'paragraph--color paragraph--color--rgba-cyan-strong' == layout_background ? 'paragraph--color paragraph--color--rgba-cyan-strong',
+ 'paragraph--color paragraph--color--rgba-green-slight' == layout_background ? 'paragraph--color paragraph--color--rgba-green-slight',
+ 'paragraph--color paragraph--color--rgba-green-light' == layout_background ? 'paragraph--color paragraph--color--rgba-green-light',
+ 'paragraph--color paragraph--color--rgba-green-strong' == layout_background ? 'paragraph--color paragraph--color--rgba-green-strong',
+ 'paragraph--color paragraph--color--rgba-grey-slight' == layout_background ? 'paragraph--color paragraph--color--rgba-grey-slight',
+ 'paragraph--color paragraph--color--rgba-grey-light' == layout_background ? 'paragraph--color paragraph--color--rgba-grey-light',
+ 'paragraph--color paragraph--color--rgba-grey-strong' == layout_background ? 'paragraph--color paragraph--color--rgba-grey-strong',
+ 'paragraph--color paragraph--color--rgba-indigo-slight' == layout_background ? 'paragraph--color paragraph--color--rgba-indigo-slight',
+ 'paragraph--color paragraph--color--rgba-indigo-light' == layout_background ? 'paragraph--color paragraph--color--rgba-indigo-light',
+ 'paragraph--color paragraph--color--rgba-indigo-strong' == layout_background ? 'paragraph--color paragraph--color--rgba-indigo-strong',
+ 'paragraph--color paragraph--color--rgba-lime-slight' == layout_background ? 'paragraph--color paragraph--color--rgba-lime-slight',
+ 'paragraph--color paragraph--color--rgba-lime-light' == layout_background ? 'paragraph--color paragraph--color--rgba-lime-light',
+ 'paragraph--color paragraph--color--rgba-lime-strong' == layout_background ? 'paragraph--color paragraph--color--rgba-lime-strong',
+ 'paragraph--color paragraph--color--rgba-orange-slight' == layout_background ? 'paragraph--color paragraph--color--rgba-orange-slight',
+ 'paragraph--color paragraph--color--rgba-orange-light' == layout_background ? 'paragraph--color paragraph--color--rgba-orange-light',
+ 'paragraph--color paragraph--color--rgba-orange-strong' == layout_background ? 'paragraph--color paragraph--color--rgba-orange-strong',
+ 'paragraph--color paragraph--color--rgba-pink-slight' == layout_background ? 'paragraph--color paragraph--color--rgba-pink-slight',
+ 'paragraph--color paragraph--color--rgba-pink-light' == layout_background ? 'paragraph--color paragraph--color--rgba-pink-light',
+ 'paragraph--color paragraph--color--rgba-pink-strong' == layout_background ? 'paragraph--color paragraph--color--rgba-pink-strong',
+ 'paragraph--color paragraph--color--rgba-purple-slight' == layout_background ? 'paragraph--color paragraph--color--rgba-purple-slight',
+ 'paragraph--color paragraph--color--rgba-purple-light' == layout_background ? 'paragraph--color paragraph--color--rgba-purple-light',
+ 'paragraph--color paragraph--color--rgba-purple-strong' == layout_background ? 'paragraph--color paragraph--color--rgba-purple-strong',
+ 'paragraph--color paragraph--color--rgba-red-slight' == layout_background ? 'paragraph--color paragraph--color--rgba-red-slight',
+ 'paragraph--color paragraph--color--rgba-red-light' == layout_background ? 'paragraph--color paragraph--color--rgba-red-light',
+ 'paragraph--color paragraph--color--rgba-red-strong' == layout_background ? 'paragraph--color paragraph--color--rgba-red-strong',
+ 'paragraph--color paragraph--color--rgba-stylish-slight' == layout_background ? 'paragraph--color paragraph--color--rgba-stylish-slight',
+ 'paragraph--color paragraph--color--rgba-stylish-light' == layout_background ? 'paragraph--color paragraph--color--rgba-stylish-light',
+ 'paragraph--color paragraph--color--rgba-stylish-strong' == layout_background ? 'paragraph--color paragraph--color--rgba-stylish-strong',
+ 'paragraph--color paragraph--color--rgba-teal-slight' == layout_background ? 'paragraph--color paragraph--color--rgba-teal-slight',
+ 'paragraph--color paragraph--color--rgba-teal-light' == layout_background ? 'paragraph--color paragraph--color--rgba-teal-light',
+ 'paragraph--color paragraph--color--rgba-teal-strong' == layout_background ? 'paragraph--color paragraph--color--rgba-teal-strong',
+ 'paragraph--color paragraph--color--rgba-white-slight' == layout_background ? 'paragraph--color paragraph--color--rgba-white-slight',
+ 'paragraph--color paragraph--color--rgba-white-light' == layout_background ? 'paragraph--color paragraph--color--rgba-white-light',
+ 'paragraph--color paragraph--color--rgba-white-strong' == layout_background ? 'paragraph--color paragraph--color--rgba-white-strong',
+ 'paragraph--color paragraph--color--rgba-yellow-slight' == layout_background ? 'paragraph--color paragraph--color--rgba-yellow-slight',
+ 'paragraph--color paragraph--color--rgba-yellow-light' == layout_background ? 'paragraph--color paragraph--color--rgba-yellow-light',
+ 'paragraph--color paragraph--color--rgba-yellow-strong' == layout_background ? 'paragraph--color paragraph--color--rgba-yellow-strong',
+ 'paragraph--color--transparent' == layout_background ? 'paragraph--color--transparent',
+ 'paragraph--color paragraph--color--primary' == layout_background ? 'paragraph--color paragraph--color--primary',
+ 'paragraph--color paragraph--color--secondary' == layout_background ? 'paragraph--color paragraph--color--secondary',
+ 'paragraph--color paragraph--color--success' == layout_background ? 'paragraph--color paragraph--color--success',
+ 'paragraph--color paragraph--color--info' == layout_background ? 'paragraph--color paragraph--color--info',
+ 'paragraph--color paragraph--color--warning' == layout_background ? 'paragraph--color paragraph--color--warning',
+ 'paragraph--color paragraph--color--danger' == layout_background ? 'paragraph--color paragraph--color--danger',
+ ]
+ %}
+{% endif %}
+
+{# The template default set classes. #}
+{# Sets Paragraph ID as class. #}
+{%
+set classes = [
+'paragraph',
+'paragraph--type--' ~ paragraph.bundle|clean_class,
+view_mode ? 'paragraph--view-mode--' ~ view_mode|clean_class,
+'paragraph--id--' ~ paragraph.id.value,
+]
+%}
+
+{# Merges Width field with classes. #}
+{% set width_field = content.bp_width|render %}
+{% if width_field %}
+ {% set classes = classes|merge(layout_width_classes) %}
+{% endif %}
+
+{# Merges Background field with classes. #}
+{% set background_field = content.bp_background|render %}
+{% if background_field %}
+ {% set classes = classes|merge(layout_background_classes) %}
+{% endif %}
+
+{# Prints div with classes, and content without Width and Background. #}
+
+
+ {#
#}
+
+ {{ title_suffix }}
+ {{ content|without('bp_width', 'bp_background') }}
+
+ {#
#}
+
+
diff --git a/web/themes/dedrone/templates/paragraph/paragraph--description-images-button.html.twig b/web/themes/dedrone/templates/paragraph/paragraph--description-images-button.html.twig
new file mode 100755
index 0000000..dac24c8
--- /dev/null
+++ b/web/themes/dedrone/templates/paragraph/paragraph--description-images-button.html.twig
@@ -0,0 +1,28 @@
+{%
+ set classes = [
+ 'paragraph',
+ 'paragraph--type--' ~ paragraph.bundle|clean_class,
+ view_mode ? 'paragraph--view-mode--' ~ view_mode|clean_class,
+ not paragraph.isPublished() ? 'paragraph--unpublished'
+ ]
+%}
+
+
+ {% block paragraph %}
+
+
+ {% block content %}
+
+ {{ content.field_titles }}
+
+
+ {{ content.field_image_description_column }}
+
+
+ {{ content.field_link_customers }}
+
+ {% endblock %}
+
+
+ {% endblock paragraph %}
+
\ No newline at end of file
diff --git a/web/themes/dedrone/templates/paragraph/paragraph--description-with-buttons.html.twig b/web/themes/dedrone/templates/paragraph/paragraph--description-with-buttons.html.twig
new file mode 100755
index 0000000..153747c
--- /dev/null
+++ b/web/themes/dedrone/templates/paragraph/paragraph--description-with-buttons.html.twig
@@ -0,0 +1,61 @@
+{#
+/**
+ * @file
+ * Default theme implementation to display a paragraph.
+ *
+ * Available variables:
+ * - paragraph: Full paragraph entity.
+ * Only method names starting with "get", "has", or "is" and a few common
+ * methods such as "id", "label", and "bundle" are available. For example:
+ * - paragraph.getCreatedTime() will return the paragraph creation timestamp.
+ * - paragraph.id(): The paragraph ID.
+ * - paragraph.bundle(): The type of the paragraph, for example, "image" or "text".
+ * - paragraph.getOwnerId(): The user ID of the paragraph author.
+ * See Drupal\paragraphs\Entity\Paragraph for a full list of public properties
+ * and methods for the paragraph object.
+ * - content: All paragraph items. Use {{ content }} to print them all,
+ * or print a subset such as {{ content.field_example }}. Use
+ * {{ content|without('field_example') }} to temporarily suppress the printing
+ * of a given child element.
+ * - attributes: HTML attributes for the containing element.
+ * The attributes.class element may contain one or more of the following
+ * classes:
+ * - paragraphs: The current template type (also known as a "theming hook").
+ * - paragraphs--type-[type]: The current paragraphs type. For example, if the paragraph is an
+ * "Image" it would result in "paragraphs--type--image". Note that the machine
+ * name will often be in a short form of the human readable label.
+ * - paragraphs--view-mode--[view_mode]: The View Mode of the paragraph; for example, a
+ * preview would result in: "paragraphs--view-mode--preview", and
+ * default: "paragraphs--view-mode--default".
+ * - view_mode: View mode; for example, "preview" or "full".
+ * - logged_in: Flag for authenticated user status. Will be true when the
+ * current user is a logged-in member.
+ * - is_admin: Flag for admin user status. Will be true when the current user
+ * is an administrator.
+ *
+ * @see template_preprocess_paragraph()
+ *
+ * @ingroup themeable
+ */
+#}
+{%
+ set classes = [
+ 'paragraph',
+ 'paragraph--type--' ~ paragraph.bundle|clean_class,
+ view_mode ? 'paragraph--view-mode--' ~ view_mode|clean_class,
+ not paragraph.isPublished() ? 'paragraph--unpublished'
+ ]
+%}
+
+
+{% block paragraph %}
+
+
+ {% block content %}
+
{{ content.field_description }}
+
{{ content.field_buttons }}
+ {% endblock %}
+
+
+{% endblock paragraph %}
+
\ No newline at end of file
diff --git a/web/themes/dedrone/templates/paragraph/paragraph--description.html.twig b/web/themes/dedrone/templates/paragraph/paragraph--description.html.twig
new file mode 100644
index 0000000..0203c83
--- /dev/null
+++ b/web/themes/dedrone/templates/paragraph/paragraph--description.html.twig
@@ -0,0 +1,56 @@
+{#
+/**
+ * @file
+ * Default theme implementation to display a paragraph.
+ *
+ * Available variables:
+ * - paragraph: Full paragraph entity.
+ * Only method names starting with "get", "has", or "is" and a few common
+ * methods such as "id", "label", and "bundle" are available. For example:
+ * - paragraph.getCreatedTime() will return the paragraph creation timestamp.
+ * - paragraph.id(): The paragraph ID.
+ * - paragraph.bundle(): The type of the paragraph, for example, "image" or "text".
+ * - paragraph.getOwnerId(): The user ID of the paragraph author.
+ * See Drupal\paragraphs\Entity\Paragraph for a full list of public properties
+ * and methods for the paragraph object.
+ * - content: All paragraph items. Use {{ content }} to print them all,
+ * or print a subset such as {{ content.field_example }}. Use
+ * {{ content|without('field_example') }} to temporarily suppress the printing
+ * of a given child element.
+ * - attributes: HTML attributes for the containing element.
+ * The attributes.class element may contain one or more of the following
+ * classes:
+ * - paragraphs: The current template type (also known as a "theming hook").
+ * - paragraphs--type-[type]: The current paragraphs type. For example, if the paragraph is an
+ * "Image" it would result in "paragraphs--type--image". Note that the machine
+ * name will often be in a short form of the human readable label.
+ * - paragraphs--view-mode--[view_mode]: The View Mode of the paragraph; for example, a
+ * preview would result in: "paragraphs--view-mode--preview", and
+ * default: "paragraphs--view-mode--default".
+ * - view_mode: View mode; for example, "preview" or "full".
+ * - logged_in: Flag for authenticated user status. Will be true when the
+ * current user is a logged-in member.
+ * - is_admin: Flag for admin user status. Will be true when the current user
+ * is an administrator.
+ *
+ * @see template_preprocess_paragraph()
+ *
+ * @ingroup themeable
+ */
+#}
+{%
+ set classes = [
+ 'paragraph',
+ 'federal-gov',
+ 'paragraph--type--' ~ paragraph.bundle|clean_class,
+ view_mode ? 'paragraph--view-mode--' ~ view_mode|clean_class,
+ not paragraph.isPublished() ? 'paragraph--unpublished'
+ ]
+%}
+{% block paragraph %}
+
+ {% block content %}
+ {{ content }}
+ {% endblock %}
+
+{% endblock paragraph %}
diff --git a/web/themes/dedrone/templates/paragraph/paragraph--image-and-description-simple.html.twig b/web/themes/dedrone/templates/paragraph/paragraph--image-and-description-simple.html.twig
index b5a0878..28b7b32 100644
--- a/web/themes/dedrone/templates/paragraph/paragraph--image-and-description-simple.html.twig
+++ b/web/themes/dedrone/templates/paragraph/paragraph--image-and-description-simple.html.twig
@@ -1,43 +1,3 @@
-{#
-/**
- * @file
- * Custom theme implementation to display a paragraph.
- *
- * Available variables:
- * - paragraph: Full paragraph entity.
- * Only method names starting with "get", "has", or "is" and a few common
- * methods such as "id", "label", and "bundle" are available. For example:
- * - paragraph.getCreatedTime() will return the paragraph creation timestamp.
- * - paragraph.id(): The paragraph ID.
- * - paragraph.bundle(): The type of the paragraph, for example, "image" or "text".
- * - paragraph.getOwnerId(): The user ID of the paragraph author.
- * See Drupal\paragraphs\Entity\Paragraph for a full list of public properties
- * and methods for the paragraph object.
- * - content: All paragraph items. Use {{ content }} to print them all,
- * or print a subset such as {{ content.field_example }}. Use
- * {{ content|without('field_example') }} to temporarily suppress the printing
- * of a given child element.
- * - attributes: HTML attributes for the containing element.
- * The attributes.class element may contain one or more of the following
- * classes:
- * - paragraphs: The current template type (also known as a "theming hook").
- * - paragraphs--type-[type]: The current paragraphs type. For example, if the paragraph is an
- * "Image" it would result in "paragraphs--type--image". Note that the machine
- * name will often be in a short form of the human readable label.
- * - paragraphs--view-mode--[view_mode]: The View Mode of the paragraph; for example, a
- * preview would result in: "paragraphs--view-mode--preview", and
- * default: "paragraphs--view-mode--default".
- * - view_mode: View mode; for example, "preview" or "full".
- * - logged_in: Flag for authenticated user status. Will be true when the
- * current user is a logged-in member.
- * - is_admin: Flag for admin user status. Will be true when the current user
- * is an administrator.
- *
- * @see template_preprocess_paragraph()
- *
- * @ingroup themeable
- */
-#}
{%
set classes = [
diff --git a/web/themes/dedrone/templates/paragraph/paragraph--image-description-row.html.twig b/web/themes/dedrone/templates/paragraph/paragraph--image-description-row.html.twig
index 9dc4c1f..b468356 100644
--- a/web/themes/dedrone/templates/paragraph/paragraph--image-description-row.html.twig
+++ b/web/themes/dedrone/templates/paragraph/paragraph--image-description-row.html.twig
@@ -1,51 +1,14 @@
-{#
-/**
- * @file
- * Default theme implementation to display a paragraph.
- *
- * Available variables:
- * - paragraph: Full paragraph entity.
- * Only method names starting with "get", "has", or "is" and a few common
- * methods such as "id", "label", and "bundle" are available. For example:
- * - paragraph.getCreatedTime() will return the paragraph creation timestamp.
- * - paragraph.id(): The paragraph ID.
- * - paragraph.bundle(): The type of the paragraph, for example, "image" or "text".
- * - paragraph.getOwnerId(): The user ID of the paragraph author.
- * See Drupal\paragraphs\Entity\Paragraph for a full list of public properties
- * and methods for the paragraph object.
- * - content: All paragraph items. Use {{ content }} to print them all,
- * or print a subset such as {{ content.field_example }}. Use
- * {{ content|without('field_example') }} to temporarily suppress the printing
- * of a given child element.
- * - attributes: HTML attributes for the containing element.
- * The attributes.class element may contain one or more of the following
- * classes:
- * - paragraphs: The current template type (also known as a "theming hook").
- * - paragraphs--type-[type]: The current paragraphs type. For example, if the paragraph is an
- * "Image" it would result in "paragraphs--type--image". Note that the machine
- * name will often be in a short form of the human readable label.
- * - paragraphs--view-mode--[view_mode]: The View Mode of the paragraph; for example, a
- * preview would result in: "paragraphs--view-mode--preview", and
- * default: "paragraphs--view-mode--default".
- * - view_mode: View mode; for example, "preview" or "full".
- * - logged_in: Flag for authenticated user status. Will be true when the
- * current user is a logged-in member.
- * - is_admin: Flag for admin user status. Will be true when the current user
- * is an administrator.
- *
- * @see template_preprocess_paragraph()
- *
- * @ingroup themeable
- */
-#}
+
{%
set classes = [
+ 'benefits-trio',
'paragraph',
'paragraph--type--' ~ paragraph.bundle|clean_class,
view_mode ? 'paragraph--view-mode--' ~ view_mode|clean_class,
not paragraph.isPublished() ? 'paragraph--unpublished'
]
%}
+
{% block paragraph %}
{% endblock paragraph %}
+
\ No newline at end of file
diff --git a/web/themes/dedrone/templates/paragraph/paragraph--shared-aditional-information.html.twig b/web/themes/dedrone/templates/paragraph/paragraph--shared-aditional-information.html.twig
new file mode 100644
index 0000000..83e6b42
--- /dev/null
+++ b/web/themes/dedrone/templates/paragraph/paragraph--shared-aditional-information.html.twig
@@ -0,0 +1,30 @@
+{# #}
+{%
+ set classes = [
+ 'paragraph',
+ 'paragraph--type--' ~ paragraph.bundle|clean_class,
+ view_mode ? 'paragraph--view-mode--' ~ view_mode|clean_class,
+ not paragraph.isPublished() ? 'paragraph--unpublished'
+ ]
+%}
+{% block paragraph %}
+
+ {% block content %}
+
+
+
+
+
{{ content.field_shared_h1_white_title }}
+
+
+ {{content.field_shared_button_link[0]}}
+ {{content.field_shared_button_link[1]}}
+
+
+
+
+ {% endblock %}
+
+{% endblock paragraph %}
+
+
diff --git a/web/themes/dedrone/templates/paragraph/paragraph--shared-simple-white-title-.html.twig b/web/themes/dedrone/templates/paragraph/paragraph--shared-simple-white-title-.html.twig
new file mode 100644
index 0000000..cbc3ad4
--- /dev/null
+++ b/web/themes/dedrone/templates/paragraph/paragraph--shared-simple-white-title-.html.twig
@@ -0,0 +1,33 @@
+{# #}
+{%
+ set classes = [
+ 'paragraph',
+ 'paragraph--type--' ~ paragraph.bundle|clean_class,
+ view_mode ? 'paragraph--view-mode--' ~ view_mode|clean_class,
+ not paragraph.isPublished() ? 'paragraph--unpublished'
+ ]
+%}
+
+{% set the_image = item.content['#field_collection_item'].field_featurette_image %}
+{% block paragraph %}
+
+ {% block content %}
+
+
+
+
+
+ {{ content.field_shared_h1_white_title }}
+
+
+ {{ content.field_shared_h2_white_title_desc }}
+
+
+
+
+
+ {% endblock %}
+
+{% endblock paragraph %}
+
diff --git a/web/themes/dedrone/templates/paragraph/paragraph--slide--default.html.twig b/web/themes/dedrone/templates/paragraph/paragraph--slide--default.html.twig
index 74a094a..b8fa2e6 100644
--- a/web/themes/dedrone/templates/paragraph/paragraph--slide--default.html.twig
+++ b/web/themes/dedrone/templates/paragraph/paragraph--slide--default.html.twig
@@ -1,6 +1,6 @@
{%
set classes = [
- 'testslide',
+ 'wrap-slide',
'paragraph',
'paragraph--type--' ~ paragraph.bundle|clean_class,
view_mode ? 'paragraph--view-mode--' ~ view_mode|clean_class,
@@ -20,7 +20,10 @@
{{ content.field_description }}
{{ content.field_button }}
- {#{{ content.field_sustom_css_class }}#}
+
+
+
+ {{ content.field_slide_animationimage }}
{% endblock %}
diff --git a/web/themes/dedrone/templates/paragraph/paragraph--slider--classic-slider.html.twig b/web/themes/dedrone/templates/paragraph/paragraph--slider--classic-slider.html.twig
new file mode 100755
index 0000000..f62b537
--- /dev/null
+++ b/web/themes/dedrone/templates/paragraph/paragraph--slider--classic-slider.html.twig
@@ -0,0 +1,63 @@
+{#
+/**
+ * @file
+ * Default theme implementation to display a paragraph.
+ *
+ * Available variables:
+ * - paragraph: Full paragraph entity.
+ * Only method names starting with "get", "has", or "is" and a few common
+ * methods such as "id", "label", and "bundle" are available. For example:
+ * - paragraph.getCreatedTime() will return the paragraph creation timestamp.
+ * - paragraph.id(): The paragraph ID.
+ * - paragraph.bundle(): The type of the paragraph, for example, "image" or "text".
+ * - paragraph.getOwnerId(): The user ID of the paragraph author.
+ * See Drupal\paragraphs\Entity\Paragraph for a full list of public properties
+ * and methods for the paragraph object.
+ * - content: All paragraph items. Use {{ content }} to print them all,
+ * or print a subset such as {{ content.field_example }}. Use
+ * {{ content|without('field_example') }} to temporarily suppress the printing
+ * of a given child element.
+ * - attributes: HTML attributes for the containing element.
+ * The attributes.class element may contain one or more of the following
+ * classes:
+ * - paragraphs: The current template type (also known as a "theming hook").
+ * - paragraphs--type-[type]: The current paragraphs type. For example, if the paragraph is an
+ * "Image" it would result in "paragraphs--type--image". Note that the machine
+ * name will often be in a short form of the human readable label.
+ * - paragraphs--view-mode--[view_mode]: The View Mode of the paragraph; for example, a
+ * preview would result in: "paragraphs--view-mode--preview", and
+ * default: "paragraphs--view-mode--default".
+ * - view_mode: View mode; for example, "preview" or "full".
+ * - logged_in: Flag for authenticated user status. Will be true when the
+ * current user is a logged-in member.
+ * - is_admin: Flag for admin user status. Will be true when the current user
+ * is an administrator.
+ *
+ * @see template_preprocess_paragraph()
+ *
+ * @ingroup themeable
+ */
+#}
+{%
+ set classes = [
+ 'paragraph',
+ 'paragraph--type--' ~ paragraph.bundle|clean_class,
+ view_mode ? 'paragraph--view-mode--' ~ view_mode|clean_class,
+ not paragraph.isPublished() ? 'paragraph--unpublished'
+ ]
+%}
+
+{% block paragraph %}
+
+
+
+
+ {% block content %}
+ {{ content }}
+ {% endblock %}
+
+
+
+
+{% endblock paragraph %}
+
diff --git a/web/themes/dedrone/templates/paragraph/paragraph--solutions-federal-dedrone-soluti.html.twig b/web/themes/dedrone/templates/paragraph/paragraph--solutions-federal-dedrone-soluti.html.twig
new file mode 100644
index 0000000..f08bab0
--- /dev/null
+++ b/web/themes/dedrone/templates/paragraph/paragraph--solutions-federal-dedrone-soluti.html.twig
@@ -0,0 +1,58 @@
+{#
+/**
+ * @file
+ * Default theme implementation to display a paragraph.
+ *
+ * Available variables:
+ * - paragraph: Full paragraph entity.
+ * Only method names starting with "get", "has", or "is" and a few common
+ * methods such as "id", "label", and "bundle" are available. For example:
+ * - paragraph.getCreatedTime() will return the paragraph creation timestamp.
+ * - paragraph.id(): The paragraph ID.
+ * - paragraph.bundle(): The type of the paragraph, for example, "image" or "text".
+ * - paragraph.getOwnerId(): The user ID of the paragraph author.
+ * See Drupal\paragraphs\Entity\Paragraph for a full list of public properties
+ * and methods for the paragraph object.
+ * - content: All paragraph items. Use {{ content }} to print them all,
+ * or print a subset such as {{ content.field_example }}. Use
+ * {{ content|without('field_example') }} to temporarily suppress the printing
+ * of a given child element.
+ * - attributes: HTML attributes for the containing element.
+ * The attributes.class element may contain one or more of the following
+ * classes:
+ * - paragraphs: The current template type (also known as a "theming hook").
+ * - paragraphs--type-[type]: The current paragraphs type. For example, if the paragraph is an
+ * "Image" it would result in "paragraphs--type--image". Note that the machine
+ * name will often be in a short form of the human readable label.
+ * - paragraphs--view-mode--[view_mode]: The View Mode of the paragraph; for example, a
+ * preview would result in: "paragraphs--view-mode--preview", and
+ * default: "paragraphs--view-mode--default".
+ * - view_mode: View mode; for example, "preview" or "full".
+ * - logged_in: Flag for authenticated user status. Will be true when the
+ * current user is a logged-in member.
+ * - is_admin: Flag for admin user status. Will be true when the current user
+ * is an administrator.
+ *
+ * @see template_preprocess_paragraph()
+ *
+ * @ingroup themeable
+ */
+#}
+{%
+ set classes = [
+ 'paragraph',
+ 'container',
+ 'dedrone-solutions',
+ 'paragraph--type--' ~ paragraph.bundle|clean_class,
+ view_mode ? 'paragraph--view-mode--' ~ view_mode|clean_class,
+ not paragraph.isPublished() ? 'paragraph--unpublished'
+ ]
+%}
+
+{% block paragraph %}
+
+ {% block content %}
+
{{ content }}
+ {% endblock %}
+
+{% endblock paragraph %}
diff --git a/web/themes/dedrone/templates/paragraph/paragraph--solutions-federal-drones-detecte.html.twig b/web/themes/dedrone/templates/paragraph/paragraph--solutions-federal-drones-detecte.html.twig
new file mode 100755
index 0000000..9124cf2
--- /dev/null
+++ b/web/themes/dedrone/templates/paragraph/paragraph--solutions-federal-drones-detecte.html.twig
@@ -0,0 +1,74 @@
+{#
+/**
+ * @file
+ * Default theme implementation to display a paragraph.
+ *
+ * Available variables:
+ * - paragraph: Full paragraph entity.
+ * Only method names starting with "get", "has", or "is" and a few common
+ * methods such as "id", "label", and "bundle" are available. For example:
+ * - paragraph.getCreatedTime() will return the paragraph creation timestamp.
+ * - paragraph.id(): The paragraph ID.
+ * - paragraph.bundle(): The type of the paragraph, for example, "image" or "text".
+ * - paragraph.getOwnerId(): The user ID of the paragraph author.
+ * See Drupal\paragraphs\Entity\Paragraph for a full list of public properties
+ * and methods for the paragraph object.
+ * - content: All paragraph items. Use {{ content }} to print them all,
+ * or print a subset such as {{ content.field_example }}. Use
+ * {{ content|without('field_example') }} to temporarily suppress the printing
+ * of a given child element.
+ * - attributes: HTML attributes for the containing element.
+ * The attributes.class element may contain one or more of the following
+ * classes:
+ * - paragraphs: The current template type (also known as a "theming hook").
+ * - paragraphs--type-[type]: The current paragraphs type. For example, if the paragraph is an
+ * "Image" it would result in "paragraphs--type--image". Note that the machine
+ * name will often be in a short form of the human readable label.
+ * - paragraphs--view-mode--[view_mode]: The View Mode of the paragraph; for example, a
+ * preview would result in: "paragraphs--view-mode--preview", and
+ * default: "paragraphs--view-mode--default".
+ * - view_mode: View mode; for example, "preview" or "full".
+ * - logged_in: Flag for authenticated user status. Will be true when the
+ * current user is a logged-in member.
+ * - is_admin: Flag for admin user status. Will be true when the current user
+ * is an administrator.
+ *
+ * @see template_preprocess_paragraph()
+ *
+ * @ingroup themeable
+ */
+#}
+{%
+ set classes = [
+ 'paragraph',
+ 'paragraph--type--' ~ paragraph.bundle|clean_class,
+ view_mode ? 'paragraph--view-mode--' ~ view_mode|clean_class,
+ not paragraph.isPublished() ? 'paragraph--unpublished'
+ ]
+%}
+
+{% block paragraph %}
+
+ {% block content %}
+
+
+
+
+
{{ content.field_small_title_drones_detecte }}
+
{{ content.field_big_title_drones_detected }}
+
{{ content.field_body_drones_detected }}
+
{{ content.field_link_drones_detected }}
+
+
+
{{ content.field_img_drones_detected }}
+
{{ content.field_img_desc_drones_detected }}
+
{{ content.field_quote_drones_detected }}
+
{{ content.field_author_drones_detected }}
+
+
+
+
+ {% endblock %}
+
+{% endblock paragraph %}
+
diff --git a/web/themes/dedrone/templates/paragraph/paragraph--solutions-federal-see-it-live.html.twig b/web/themes/dedrone/templates/paragraph/paragraph--solutions-federal-see-it-live.html.twig
new file mode 100644
index 0000000..04eb1ce
--- /dev/null
+++ b/web/themes/dedrone/templates/paragraph/paragraph--solutions-federal-see-it-live.html.twig
@@ -0,0 +1,65 @@
+{#
+/**
+ * @file
+ * Default theme implementation to display a paragraph.
+ *
+ * Available variables:
+ * - paragraph: Full paragraph entity.
+ * Only method names starting with "get", "has", or "is" and a few common
+ * methods such as "id", "label", and "bundle" are available. For example:
+ * - paragraph.getCreatedTime() will return the paragraph creation timestamp.
+ * - paragraph.id(): The paragraph ID.
+ * - paragraph.bundle(): The type of the paragraph, for example, "image" or "text".
+ * - paragraph.getOwnerId(): The user ID of the paragraph author.
+ * See Drupal\paragraphs\Entity\Paragraph for a full list of public properties
+ * and methods for the paragraph object.
+ * - content: All paragraph items. Use {{ content }} to print them all,
+ * or print a subset such as {{ content.field_example }}. Use
+ * {{ content|without('field_example') }} to temporarily suppress the printing
+ * of a given child element.
+ * - attributes: HTML attributes for the containing element.
+ * The attributes.class element may contain one or more of the following
+ * classes:
+ * - paragraphs: The current template type (also known as a "theming hook").
+ * - paragraphs--type-[type]: The current paragraphs type. For example, if the paragraph is an
+ * "Image" it would result in "paragraphs--type--image". Note that the machine
+ * name will often be in a short form of the human readable label.
+ * - paragraphs--view-mode--[view_mode]: The View Mode of the paragraph; for example, a
+ * preview would result in: "paragraphs--view-mode--preview", and
+ * default: "paragraphs--view-mode--default".
+ * - view_mode: View mode; for example, "preview" or "full".
+ * - logged_in: Flag for authenticated user status. Will be true when the
+ * current user is a logged-in member.
+ * - is_admin: Flag for admin user status. Will be true when the current user
+ * is an administrator.
+ *
+ * @see template_preprocess_paragraph()
+ *
+ * @ingroup themeable
+ */
+#}
+{%
+ set classes = [
+ 'paragraph',
+ 'container',
+ 'paragraph--type--' ~ paragraph.bundle|clean_class,
+ view_mode ? 'paragraph--view-mode--' ~ view_mode|clean_class,
+ not paragraph.isPublished() ? 'paragraph--unpublished'
+ ]
+%}
+
+{% block paragraph %}
+
+ {% block content %}
+
+
+
{{ content.field_title_see_it_live }}
+
{{ content.field_body_see_it_live }}
+
{{ content.field_link_see_it_live }}
+
+
+ {% endblock %}
+
+{% endblock paragraph %}
+
+
diff --git a/web/themes/dedrone/templates/paragraph/paragraph--tab-item.html.twig b/web/themes/dedrone/templates/paragraph/paragraph--tab-item.html.twig
new file mode 100644
index 0000000..e8f48c9
--- /dev/null
+++ b/web/themes/dedrone/templates/paragraph/paragraph--tab-item.html.twig
@@ -0,0 +1,22 @@
+{% set classes = [
+ 'paragraph',
+ 'paragraph--type--' ~ paragraph.bundle|clean_class,
+ view_mode ? 'paragraph--view-mode--' ~ view_mode|clean_class,
+ not paragraph.isPublished() ? 'paragraph--unpublished'
+] %}
+
+ {% block paragraph %}
+
+
+ {% block content %}
+
+ {{ content.field_tab_link }}
+
+
+
+ {{ content|without('field_tab_link') }}
+
+ {% endblock %}
+
+
+ {% endblock paragraph %}
diff --git a/web/themes/dedrone/templates/paragraph/paragraph--tabs.html.twig b/web/themes/dedrone/templates/paragraph/paragraph--tabs.html.twig
new file mode 100644
index 0000000..34d71da
--- /dev/null
+++ b/web/themes/dedrone/templates/paragraph/paragraph--tabs.html.twig
@@ -0,0 +1,31 @@
+{% set classes = [
+ 'paragraph',
+ 'paragraph--type--' ~ paragraph.bundle|clean_class,
+ view_mode ? 'paragraph--view-mode--' ~ view_mode|clean_class,
+ not paragraph.isPublished() ? 'paragraph--unpublished'
+] %}
+
+ {% block paragraph %}
+
+
+ {% block content %}
+
+ {{ content.field_tab_link }}
+
+ {#
#}
+ {#
#}
+ {#{{ content.tab-content-title }}#}
+ {#{{ content.tab-content-description }}#}
+ {#{{ content.tab-content-link }}#}
+ {#
#}
+ {#
#}
+ {#tab-content-img#}
+ {#
#}
+ {#
#}
+
+ {{ content }}
+ {% endblock %}
+
+
+ {% endblock paragraph %}
+
\ No newline at end of file
diff --git a/web/themes/dedrone/templates/paragraph/paragraph--text-rapagraph.html.twig b/web/themes/dedrone/templates/paragraph/paragraph--text-rapagraph.html.twig
new file mode 100755
index 0000000..47c6d8f
--- /dev/null
+++ b/web/themes/dedrone/templates/paragraph/paragraph--text-rapagraph.html.twig
@@ -0,0 +1,57 @@
+{#
+/**
+ * @file
+ * Default theme implementation to display a paragraph.
+ *
+ * Available variables:
+ * - paragraph: Full paragraph entity.
+ * Only method names starting with "get", "has", or "is" and a few common
+ * methods such as "id", "label", and "bundle" are available. For example:
+ * - paragraph.getCreatedTime() will return the paragraph creation timestamp.
+ * - paragraph.id(): The paragraph ID.
+ * - paragraph.bundle(): The type of the paragraph, for example, "image" or "text".
+ * - paragraph.getOwnerId(): The user ID of the paragraph author.
+ * See Drupal\paragraphs\Entity\Paragraph for a full list of public properties
+ * and methods for the paragraph object.
+ * - content: All paragraph items. Use {{ content }} to print them all,
+ * or print a subset such as {{ content.field_example }}. Use
+ * {{ content|without('field_example') }} to temporarily suppress the printing
+ * of a given child element.
+ * - attributes: HTML attributes for the containing element.
+ * The attributes.class element may contain one or more of the following
+ * classes:
+ * - paragraphs: The current template type (also known as a "theming hook").
+ * - paragraphs--type-[type]: The current paragraphs type. For example, if the paragraph is an
+ * "Image" it would result in "paragraphs--type--image". Note that the machine
+ * name will often be in a short form of the human readable label.
+ * - paragraphs--view-mode--[view_mode]: The View Mode of the paragraph; for example, a
+ * preview would result in: "paragraphs--view-mode--preview", and
+ * default: "paragraphs--view-mode--default".
+ * - view_mode: View mode; for example, "preview" or "full".
+ * - logged_in: Flag for authenticated user status. Will be true when the
+ * current user is a logged-in member.
+ * - is_admin: Flag for admin user status. Will be true when the current user
+ * is an administrator.
+ *
+ * @see template_preprocess_paragraph()
+ *
+ * @ingroup themeable
+ */
+#}
+{%
+ set classes = [
+ 'paragraph',
+ 'paragraph--type--' ~ paragraph.bundle|clean_class,
+ view_mode ? 'paragraph--view-mode--' ~ view_mode|clean_class,
+ not paragraph.isPublished() ? 'paragraph--unpublished'
+ ]
+%}
+{% block paragraph %}
+
+
+ {% block content %}
+ {{ content }}
+ {% endblock %}
+
+
+{% endblock paragraph %}
diff --git a/web/themes/dedrone/templates/paragraph/paragraph--text-row.html.twig b/web/themes/dedrone/templates/paragraph/paragraph--text-row.html.twig
new file mode 100755
index 0000000..37b8490
--- /dev/null
+++ b/web/themes/dedrone/templates/paragraph/paragraph--text-row.html.twig
@@ -0,0 +1,24 @@
+{%
+ set classes = [
+ 'paragraph',
+ 'paragraph--type--' ~ paragraph.bundle|clean_class,
+ view_mode ? 'paragraph--view-mode--' ~ view_mode|clean_class,
+ not paragraph.isPublished() ? 'paragraph--unpublished'
+ ]
+%}
+
+{% block paragraph %}
+
+
+ {% block content %}
+
+ {{ content.field_title }}
+
+
+ {{ content.field_image_description_column }}
+
+ {% endblock %}
+
+
+{% endblock paragraph %}
+
\ No newline at end of file
diff --git a/web/themes/dedrone/templates/paragraph/paragraph.html.twig b/web/themes/dedrone/templates/paragraph/paragraph.html.twig
old mode 100644
new mode 100755
diff --git a/web/themes/dedrone/templates/region--content.html.twig b/web/themes/dedrone/templates/region--content.html.twig
index f807977..0d47677 100755
--- a/web/themes/dedrone/templates/region--content.html.twig
+++ b/web/themes/dedrone/templates/region--content.html.twig
@@ -7,6 +7,6 @@
%}
{% if content %}
- {{ content }}
+ {{ content }}
{% endif %}
diff --git a/web/themes/dedrone/templates/views/views-view-unformatted--upcoming-webinars.html.twig b/web/themes/dedrone/templates/views/views-view-unformatted--upcoming-webinars.html.twig
new file mode 100755
index 0000000..3225f4b
--- /dev/null
+++ b/web/themes/dedrone/templates/views/views-view-unformatted--upcoming-webinars.html.twig
@@ -0,0 +1,38 @@
+{#
+/**
+ * @file
+ * Theme override to display a view of unformatted rows.
+ *
+ * Available variables:
+ * - title: The title of this group of rows. May be empty.
+ * - rows: A list of the view's row items.
+ * - attributes: The row's HTML attributes.
+ * - content: The row's content.
+ * - view: The view object.
+ * - default_row_class: A flag indicating whether default classes should be
+ * used on rows.
+ *
+ * @see template_preprocess_views_view_unformatted()
+ */
+#}
+{% if title %}
+ {{ title }}
+{% endif %}
+
+{% for row in rows %}
+
+ {%
+
+ set row_classes = [
+ default_row_class ? 'views-row', 'col-sm-4',
+ ]
+ %}
+
+
+
+
+
{{- row.content -}}
+
+
+{% endfor %}
+
diff --git a/web/themes/dedrone/templates/views/views-view.html.twig b/web/themes/dedrone/templates/views/views-view.html.twig
new file mode 100755
index 0000000..9a49c01
--- /dev/null
+++ b/web/themes/dedrone/templates/views/views-view.html.twig
@@ -0,0 +1,97 @@
+{#
+/**
+ * @file
+ * Theme override for a main view template.
+ *
+ * Available variables:
+ * - attributes: Remaining HTML attributes for the element.
+ * - css_name: A css-safe version of the view name.
+ * - css_class: The user-specified classes names, if any.
+ * - header: The optional header.
+ * - footer: The optional footer.
+ * - rows: The results of the view query, if any.
+ * - empty: The content to display if there are no rows.
+ * - pager: The optional pager next/prev links to display.
+ * - exposed: Exposed widget form/info to display.
+ * - feed_icons: Optional feed icons to display.
+ * - more: An optional link to the next page of results.
+ * - title: Title of the view, only used when displaying in the admin preview.
+ * - title_prefix: Additional output populated by modules, intended to be
+ * displayed in front of the view title.
+ * - title_suffix: Additional output populated by modules, intended to be
+ * displayed after the view title.
+ * - attachment_before: An optional attachment view to be displayed before the
+ * view content.
+ * - attachment_after: An optional attachment view to be displayed after the
+ * view content.
+ * - dom_id: Unique id for every view being printed to give unique class for
+ * Javascript.
+ *
+ * @see template_preprocess_views_view()
+ */
+#}
+{%
+ set classes = [
+ 'view',
+ 'view-' ~ id|clean_class,
+ 'view-id-' ~ id,
+ 'view-display-id-' ~ display_id,
+ dom_id ? 'js-view-dom-id-' ~ dom_id,
+ ]
+%}
+
+
+ {{ title_prefix }}
+ {% if title %}
+ {{ title }}
+ {% endif %}
+ {{ title_suffix }}
+ {% if header %}
+
+ {% endif %}
+ {% if exposed %}
+
+ {{ exposed }}
+
+ {% endif %}
+ {% if attachment_before %}
+
+ {{ attachment_before }}
+
+ {% endif %}
+
+ {% if rows %}
+
+ {{ rows }}
+
+ {% elseif empty %}
+
+ {{ empty }}
+
+ {% endif %}
+
+ {% if pager %}
+ {{ pager }}
+ {% endif %}
+ {% if attachment_after %}
+
+ {{ attachment_after }}
+
+ {% endif %}
+ {% if more %}
+ {{ more }}
+ {% endif %}
+ {% if footer %}
+
+ {% endif %}
+ {% if feed_icons %}
+
+ {{ feed_icons }}
+
+ {% endif %}
+
+