From 2543f63f7fbe920aacdb972ed085b99320ce3eff Mon Sep 17 00:00:00 2001 From: mattijs vanhaverbeke Date: Wed, 15 Apr 2020 11:35:42 +0200 Subject: [PATCH 1/3] initial structure --- netbox_topology_views/__init__.py | 16 ++++++++++++++++ netbox_topology_views/api/urls.py | 0 netbox_topology_views/api/views.py | 0 .../templates/netbox_topology_views/index.html | 0 netbox_topology_views/urls.py | 0 netbox_topology_views/views.py | 0 setup.py | 14 ++++++++++++++ 7 files changed, 30 insertions(+) create mode 100644 netbox_topology_views/__init__.py create mode 100644 netbox_topology_views/api/urls.py create mode 100644 netbox_topology_views/api/views.py create mode 100644 netbox_topology_views/templates/netbox_topology_views/index.html create mode 100644 netbox_topology_views/urls.py create mode 100644 netbox_topology_views/views.py create mode 100644 setup.py diff --git a/netbox_topology_views/__init__.py b/netbox_topology_views/__init__.py new file mode 100644 index 0000000..60ed887 --- /dev/null +++ b/netbox_topology_views/__init__.py @@ -0,0 +1,16 @@ +from extras.plugins import PluginConfig + +class TopologyViewsConfig(PluginConfig): + name = 'netbox_topology_views' + verbose_name = 'Topology views' + description = 'An plugin to render toplogoy maps' + version = '0.1' + author = 'Mattijs Vanhaverbeke' + author_email = 'author@example.com' + base_url = 'topology-views' + required_settings = [] + default_settings = { + 'loud': False + } + +config = TopologyViewsConfig diff --git a/netbox_topology_views/api/urls.py b/netbox_topology_views/api/urls.py new file mode 100644 index 0000000..e69de29 diff --git a/netbox_topology_views/api/views.py b/netbox_topology_views/api/views.py new file mode 100644 index 0000000..e69de29 diff --git a/netbox_topology_views/templates/netbox_topology_views/index.html b/netbox_topology_views/templates/netbox_topology_views/index.html new file mode 100644 index 0000000..e69de29 diff --git a/netbox_topology_views/urls.py b/netbox_topology_views/urls.py new file mode 100644 index 0000000..e69de29 diff --git a/netbox_topology_views/views.py b/netbox_topology_views/views.py new file mode 100644 index 0000000..e69de29 diff --git a/setup.py b/setup.py new file mode 100644 index 0000000..14159e0 --- /dev/null +++ b/setup.py @@ -0,0 +1,14 @@ +from setuptools import setup, find_packages + + +setup( + name='netbox-topology-views', + version='0.1', + description='An NetBox plugin to create Topology maps', + url='https://github.com/mattieserver/netbox-topology-views', + author='Mattijs Vanhaverbeke', + license='Apache 2.0', + install_requires=[], + packages=find_packages(), + include_package_data=True, +) From a4807b306b699722373c9527e1045034e9cdc42f Mon Sep 17 00:00:00 2001 From: mattijs vanhaverbeke Date: Wed, 15 Apr 2020 16:41:13 +0200 Subject: [PATCH 2/3] structure and basic setup --- .gitignore | 2 + README.md | 9 +- gulpfile.js | 78 + netbox_topology_views/__init__.py | 4 +- netbox_topology_views/admin.py | 3 + netbox_topology_views/api/__init__.py | 0 netbox_topology_views/api/serializers.py | 10 + netbox_topology_views/api/urls.py | 12 + netbox_topology_views/api/views.py | 9 + netbox_topology_views/models.py | 3 + .../static/netbox_topology_views/css/app.css | 1 + .../netbox_topology_views/css/vendor.css | 1 + .../img/access-switch.png | Bin 0 -> 7415 bytes .../netbox_topology_views/img/backup.png | Bin 0 -> 5648 bytes .../netbox_topology_views/img/core-switch.png | Bin 0 -> 8387 bytes .../img/distribution-switch.png | Bin 0 -> 9522 bytes .../netbox_topology_views/img/firewall.png | Bin 0 -> 15596 bytes .../img/internal-switch.png | Bin 0 -> 1614 bytes .../img/isp-cpe-material.png | Bin 0 -> 5537 bytes .../img/non-racked-devices.png | Bin 0 -> 5079 bytes .../netbox_topology_views/img/power-units.png | Bin 0 -> 4710 bytes .../img/role-unknown.png | Bin 0 -> 8308 bytes .../netbox_topology_views/img/router.png | Bin 0 -> 13504 bytes .../netbox_topology_views/img/server.png | Bin 0 -> 4484 bytes .../netbox_topology_views/img/storage.png | Bin 0 -> 5648 bytes .../netbox_topology_views/img/wan-network.png | Bin 0 -> 7415 bytes .../netbox_topology_views/img/wireless-ap.png | Bin 0 -> 6975 bytes .../static/netbox_topology_views/js/app.js | 1 + .../static/netbox_topology_views/js/vendor.js | 1 + netbox_topology_views/static_dev/css/app.scss | 3 + netbox_topology_views/static_dev/js/home.js | 194 + .../netbox_topology_views/index.html | 74 + netbox_topology_views/urls.py | 10 + netbox_topology_views/views.py | 10 + package-lock.json | 4627 +++++++++++++++++ package.json | 20 + 36 files changed, 5070 insertions(+), 2 deletions(-) create mode 100644 gulpfile.js create mode 100644 netbox_topology_views/admin.py create mode 100644 netbox_topology_views/api/__init__.py create mode 100644 netbox_topology_views/api/serializers.py create mode 100644 netbox_topology_views/models.py create mode 100644 netbox_topology_views/static/netbox_topology_views/css/app.css create mode 100644 netbox_topology_views/static/netbox_topology_views/css/vendor.css create mode 100644 netbox_topology_views/static/netbox_topology_views/img/access-switch.png create mode 100644 netbox_topology_views/static/netbox_topology_views/img/backup.png create mode 100644 netbox_topology_views/static/netbox_topology_views/img/core-switch.png create mode 100644 netbox_topology_views/static/netbox_topology_views/img/distribution-switch.png create mode 100644 netbox_topology_views/static/netbox_topology_views/img/firewall.png create mode 100644 netbox_topology_views/static/netbox_topology_views/img/internal-switch.png create mode 100644 netbox_topology_views/static/netbox_topology_views/img/isp-cpe-material.png create mode 100644 netbox_topology_views/static/netbox_topology_views/img/non-racked-devices.png create mode 100644 netbox_topology_views/static/netbox_topology_views/img/power-units.png create mode 100644 netbox_topology_views/static/netbox_topology_views/img/role-unknown.png create mode 100644 netbox_topology_views/static/netbox_topology_views/img/router.png create mode 100644 netbox_topology_views/static/netbox_topology_views/img/server.png create mode 100644 netbox_topology_views/static/netbox_topology_views/img/storage.png create mode 100644 netbox_topology_views/static/netbox_topology_views/img/wan-network.png create mode 100644 netbox_topology_views/static/netbox_topology_views/img/wireless-ap.png create mode 100644 netbox_topology_views/static/netbox_topology_views/js/app.js create mode 100644 netbox_topology_views/static/netbox_topology_views/js/vendor.js create mode 100644 netbox_topology_views/static_dev/css/app.scss create mode 100644 netbox_topology_views/static_dev/js/home.js create mode 100644 package-lock.json create mode 100644 package.json diff --git a/.gitignore b/.gitignore index b6e4761..e2db160 100644 --- a/.gitignore +++ b/.gitignore @@ -127,3 +127,5 @@ dmypy.json # Pyre type checker .pyre/ + +node_modules \ No newline at end of file diff --git a/README.md b/README.md index eb56fad..795069f 100644 --- a/README.md +++ b/README.md @@ -1 +1,8 @@ -# netbox-topology-views \ No newline at end of file +# netbox-topology-views + +## install + + +## use + +go to /plugins/topology-views/ \ No newline at end of file diff --git a/gulpfile.js b/gulpfile.js new file mode 100644 index 0000000..cd65555 --- /dev/null +++ b/gulpfile.js @@ -0,0 +1,78 @@ +var gulp = require('gulp'); +var sass = require('gulp-sass'); +var concat = require('gulp-concat'); +var uglify = require('gulp-uglify'); +var cleanCss = require('gulp-clean-css'); + + +var jsVendorFiles = [ + 'node_modules/vis-network/standalone/umd/vis-network.min.js', +]; + +var cssVendorFiles = [ + 'node_modules/vis-network/styles/vis-network.min.css', +]; +var sassFiles = './netbox_topology_views/static_dev/css/*.scss', + cssDest = './netbox_topology_views/static/netbox_topology_views/css/'; + +var jsLocalResourceFiles = './netbox_topology_views/static_dev/js/*.js', + jsDest = './netbox_topology_views/static/netbox_topology_views/js/'; + + +function styles_local() { + return gulp.src(sassFiles) + .pipe(sass().on('error', sass.logError)) + .pipe(concat('app.css')) + .pipe(cleanCss()) + .pipe(gulp.dest(cssDest)); + +} +exports.styles_local = styles_local + +function styles_vendor() { + return gulp.src(cssVendorFiles) + .pipe(concat('vendor.css')) + .pipe(cleanCss()) + .pipe(gulp.dest(cssDest)) +} +exports.styles_vendor = styles_vendor + +function js_local() { + return gulp.src(jsLocalResourceFiles) + .pipe(concat('app.js')) + .pipe(uglify()) + .pipe(gulp.dest(jsDest)) +} +exports.js_local = js_local + +function js_vendor() { + return gulp.src(jsVendorFiles) + .pipe(concat('vendor.js')) + .pipe(uglify()) + .pipe(gulp.dest(jsDest)) + +} +exports.js_vendor = js_vendor + +function js_local_dev() { + return gulp.src(jsLocalResourceFiles) + .pipe(concat('app.js')) + .pipe(gulp.dest(jsDest)) +} +exports.js_local_dev = js_local_dev + +function js_vendor_dev() { + return gulp.src(jsVendorFiles) + .pipe(concat('vendor.js')) + .pipe(gulp.dest(jsDest)) + +} +exports.js_vendor_dev = js_vendor_dev + +exports.css = gulp.series(styles_local, styles_vendor); + +exports.js = gulp.series(js_local, js_vendor); +exports.js_dev = gulp.series(js_local_dev, js_vendor_dev); + +exports.build = gulp.series(exports.css, exports.js); +exports.build_dev = gulp.series(exports.css, exports.js_dev); \ No newline at end of file diff --git a/netbox_topology_views/__init__.py b/netbox_topology_views/__init__.py index 60ed887..334709e 100644 --- a/netbox_topology_views/__init__.py +++ b/netbox_topology_views/__init__.py @@ -10,7 +10,9 @@ class TopologyViewsConfig(PluginConfig): base_url = 'topology-views' required_settings = [] default_settings = { - 'loud': False + 'PRESELECTED_DEVICE_ROLES': 'Firewall,Router,Distribution Switch,Core Switch,Internal Switch,Access Switch,Server,Storage,Backup,Wireless AP', + 'IGNORE_CABLE_TYPE': 'dcim.poweroutlet,dcim.powerport', + 'DEVICE_IMG': 'access-switch,core-switch,firewall,router,distribution-switch,backup,storage,wan-network,wireless-ap,server,internal-switch,isp-cpe-material,non-racked-devices,power-units' } config = TopologyViewsConfig diff --git a/netbox_topology_views/admin.py b/netbox_topology_views/admin.py new file mode 100644 index 0000000..e47da1a --- /dev/null +++ b/netbox_topology_views/admin.py @@ -0,0 +1,3 @@ +from django.contrib import admin + +#no models yet \ No newline at end of file diff --git a/netbox_topology_views/api/__init__.py b/netbox_topology_views/api/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/netbox_topology_views/api/serializers.py b/netbox_topology_views/api/serializers.py new file mode 100644 index 0000000..5dc8463 --- /dev/null +++ b/netbox_topology_views/api/serializers.py @@ -0,0 +1,10 @@ +from rest_framework.serializers import ModelSerializer, ValidatedModelSerializer + +from dcim.models import DeviceRole + +class PreDeviceRoleSerializer(ValidatedModelSerializer): + + class Meta: + model = DeviceRole + fields = ('id', 'name', 'slug', 'color', 'vm_role', 'description') + \ No newline at end of file diff --git a/netbox_topology_views/api/urls.py b/netbox_topology_views/api/urls.py index e69de29..21fe127 100644 --- a/netbox_topology_views/api/urls.py +++ b/netbox_topology_views/api/urls.py @@ -0,0 +1,12 @@ +from rest_framework import routers + +from .views import PreSelectDeviceRolesViewSet + +router = routers.DefaultRouter() +#router.register('device_roles', AnimalViewSet) +#router.register('sites', AnimalViewSet) +#router.register('search', AnimalViewSet) +#router.register('save_coords', AnimalViewSet) +router.register('preselectdeviceroles', PreSelectDeviceRolesViewSet) + +urlpatterns = router.urls \ No newline at end of file diff --git a/netbox_topology_views/api/views.py b/netbox_topology_views/api/views.py index e69de29..0e57673 100644 --- a/netbox_topology_views/api/views.py +++ b/netbox_topology_views/api/views.py @@ -0,0 +1,9 @@ +from rest_framework.viewsets import ModelViewSet + +from .serializers import PreDeviceRoleSerializer + +from dcim.models import DeviceRole + +class PreSelectDeviceRolesViewSet(ModelViewSet): + queryset = DeviceRole.objects.all() + serializer_class = PreDeviceRoleSerializer diff --git a/netbox_topology_views/models.py b/netbox_topology_views/models.py new file mode 100644 index 0000000..1e60583 --- /dev/null +++ b/netbox_topology_views/models.py @@ -0,0 +1,3 @@ +from django.db import models + +# no modeles yet \ No newline at end of file diff --git a/netbox_topology_views/static/netbox_topology_views/css/app.css b/netbox_topology_views/static/netbox_topology_views/css/app.css new file mode 100644 index 0000000..4b35865 --- /dev/null +++ b/netbox_topology_views/static/netbox_topology_views/css/app.css @@ -0,0 +1 @@ +#visgraph{height:70vh} \ No newline at end of file diff --git a/netbox_topology_views/static/netbox_topology_views/css/vendor.css b/netbox_topology_views/static/netbox_topology_views/css/vendor.css new file mode 100644 index 0000000..d0cd9a9 --- /dev/null +++ b/netbox_topology_views/static/netbox_topology_views/css/vendor.css @@ -0,0 +1 @@ +.vis-overlay{position:absolute;top:0;right:0;bottom:0;left:0;z-index:10}.vis-active{box-shadow:0 0 10px #86d5f8}div.vis-network div.vis-navigation div.vis-button{width:34px;height:34px;-moz-border-radius:17px;border-radius:17px;position:absolute;display:inline-block;background-position:2px 2px;background-repeat:no-repeat;cursor:pointer;-webkit-touch-callout:none;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}div.vis-network div.vis-navigation div.vis-button:hover{box-shadow:0 0 3px 3px rgba(56,207,21,.3)}div.vis-network div.vis-navigation div.vis-button:active{box-shadow:0 0 1px 3px rgba(56,207,21,.95)}div.vis-network div.vis-navigation div.vis-button.vis-up{background-image:url(data:image/png;base64,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);bottom:50px;left:55px}div.vis-network div.vis-navigation div.vis-button.vis-down{background-image:url(data:image/png;base64,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);bottom:10px;left:55px}div.vis-network div.vis-navigation div.vis-button.vis-left{background-image:url(data:image/png;base64,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);bottom:10px;left:15px}div.vis-network div.vis-navigation div.vis-button.vis-right{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAB4AAAAeCAYAAAA7MK6iAAAACXBIWXMAAAsTAAALEwEAmpwYAAAKT2lDQ1BQaG90b3Nob3AgSUNDIHByb2ZpbGUAAHjanVNnVFPpFj333vRCS4iAlEtvUhUIIFJCi4AUkSYqIQkQSoghodkVUcERRUUEG8igiAOOjoCMFVEsDIoK2AfkIaKOg6OIisr74Xuja9a89+bN/rXXPues852zzwfACAyWSDNRNYAMqUIeEeCDx8TG4eQuQIEKJHAAEAizZCFz/SMBAPh+PDwrIsAHvgABeNMLCADATZvAMByH/w/qQplcAYCEAcB0kThLCIAUAEB6jkKmAEBGAYCdmCZTAKAEAGDLY2LjAFAtAGAnf+bTAICd+Jl7AQBblCEVAaCRACATZYhEAGg7AKzPVopFAFgwABRmS8Q5ANgtADBJV2ZIALC3AMDOEAuyAAgMADBRiIUpAAR7AGDIIyN4AISZABRG8lc88SuuEOcqAAB4mbI8uSQ5RYFbCC1xB1dXLh4ozkkXKxQ2YQJhmkAuwnmZGTKBNA/g88wAAKCRFRHgg/P9eM4Ors7ONo62Dl8t6r8G/yJiYuP+5c+rcEAAAOF0ftH+LC+zGoA7BoBt/qIl7gRoXgugdfeLZrIPQLUAoOnaV/Nw+H48PEWhkLnZ2eXk5NhKxEJbYcpXff5nwl/AV/1s+X48/Pf14L7iJIEyXYFHBPjgwsz0TKUcz5IJhGLc5o9H/LcL//wd0yLESWK5WCoU41EScY5EmozzMqUiiUKSKcUl0v9k4t8s+wM+3zUAsGo+AXuRLahdYwP2SycQWHTA4vcAAPK7b8HUKAgDgGiD4c93/+8//UegJQCAZkmScQAAXkQkLlTKsz/HCAAARKCBKrBBG/TBGCzABhzBBdzBC/xgNoRCJMTCQhBCCmSAHHJgKayCQiiGzbAdKmAv1EAdNMBRaIaTcA4uwlW4Dj1wD/phCJ7BKLyBCQRByAgTYSHaiAFiilgjjggXmYX4IcFIBBKLJCDJiBRRIkuRNUgxUopUIFVIHfI9cgI5h1xGupE7yAAygvyGvEcxlIGyUT3UDLVDuag3GoRGogvQZHQxmo8WoJvQcrQaPYw2oefQq2gP2o8+Q8cwwOgYBzPEbDAuxsNCsTgsCZNjy7EirAyrxhqwVqwDu4n1Y8+xdwQSgUXACTYEd0IgYR5BSFhMWE7YSKggHCQ0EdoJNwkDhFHCJyKTqEu0JroR+cQYYjIxh1hILCPWEo8TLxB7iEPENyQSiUMyJ7mQAkmxpFTSEtJG0m5SI+ksqZs0SBojk8naZGuyBzmULCAryIXkneTD5DPkG+Qh8lsKnWJAcaT4U+IoUspqShnlEOU05QZlmDJBVaOaUt2ooVQRNY9aQq2htlKvUYeoEzR1mjnNgxZJS6WtopXTGmgXaPdpr+h0uhHdlR5Ol9BX0svpR+iX6AP0dwwNhhWDx4hnKBmbGAcYZxl3GK+YTKYZ04sZx1QwNzHrmOeZD5lvVVgqtip8FZHKCpVKlSaVGyovVKmqpqreqgtV81XLVI+pXlN9rkZVM1PjqQnUlqtVqp1Q61MbU2epO6iHqmeob1Q/pH5Z/YkGWcNMw09DpFGgsV/jvMYgC2MZs3gsIWsNq4Z1gTXEJrHN2Xx2KruY/R27iz2qqaE5QzNKM1ezUvOUZj8H45hx+Jx0TgnnKKeX836K3hTvKeIpG6Y0TLkxZVxrqpaXllirSKtRq0frvTau7aedpr1Fu1n7gQ5Bx0onXCdHZ4/OBZ3nU9lT3acKpxZNPTr1ri6qa6UbobtEd79up+6Ynr5egJ5Mb6feeb3n+hx9L/1U/W36p/VHDFgGswwkBtsMzhg8xTVxbzwdL8fb8VFDXcNAQ6VhlWGX4YSRudE8o9VGjUYPjGnGXOMk423GbcajJgYmISZLTepN7ppSTbmmKaY7TDtMx83MzaLN1pk1mz0x1zLnm+eb15vft2BaeFostqi2uGVJsuRaplnutrxuhVo5WaVYVVpds0atna0l1rutu6cRp7lOk06rntZnw7Dxtsm2qbcZsOXYBtuutm22fWFnYhdnt8Wuw+6TvZN9un2N/T0HDYfZDqsdWh1+c7RyFDpWOt6azpzuP33F9JbpL2dYzxDP2DPjthPLKcRpnVOb00dnF2e5c4PziIuJS4LLLpc+Lpsbxt3IveRKdPVxXeF60vWdm7Obwu2o26/uNu5p7ofcn8w0nymeWTNz0MPIQ+BR5dE/C5+VMGvfrH5PQ0+BZ7XnIy9jL5FXrdewt6V3qvdh7xc+9j5yn+M+4zw33jLeWV/MN8C3yLfLT8Nvnl+F30N/I/9k/3r/0QCngCUBZwOJgUGBWwL7+Hp8Ib+OPzrbZfay2e1BjKC5QRVBj4KtguXBrSFoyOyQrSH355jOkc5pDoVQfujW0Adh5mGLw34MJ4WHhVeGP45wiFga0TGXNXfR3ENz30T6RJZE3ptnMU85ry1KNSo+qi5qPNo3ujS6P8YuZlnM1VidWElsSxw5LiquNm5svt/87fOH4p3iC+N7F5gvyF1weaHOwvSFpxapLhIsOpZATIhOOJTwQRAqqBaMJfITdyWOCnnCHcJnIi/RNtGI2ENcKh5O8kgqTXqS7JG8NXkkxTOlLOW5hCepkLxMDUzdmzqeFpp2IG0yPTq9MYOSkZBxQqohTZO2Z+pn5mZ2y6xlhbL+xW6Lty8elQfJa7OQrAVZLQq2QqboVFoo1yoHsmdlV2a/zYnKOZarnivN7cyzytuQN5zvn//tEsIS4ZK2pYZLVy0dWOa9rGo5sjxxedsK4xUFK4ZWBqw8uIq2Km3VT6vtV5eufr0mek1rgV7ByoLBtQFr6wtVCuWFfevc1+1dT1gvWd+1YfqGnRs+FYmKrhTbF5cVf9go3HjlG4dvyr+Z3JS0qavEuWTPZtJm6ebeLZ5bDpaql+aXDm4N2dq0Dd9WtO319kXbL5fNKNu7g7ZDuaO/PLi8ZafJzs07P1SkVPRU+lQ27tLdtWHX+G7R7ht7vPY07NXbW7z3/T7JvttVAVVN1WbVZftJ+7P3P66Jqun4lvttXa1ObXHtxwPSA/0HIw6217nU1R3SPVRSj9Yr60cOxx++/p3vdy0NNg1VjZzG4iNwRHnk6fcJ3/ceDTradox7rOEH0x92HWcdL2pCmvKaRptTmvtbYlu6T8w+0dbq3nr8R9sfD5w0PFl5SvNUyWna6YLTk2fyz4ydlZ19fi753GDborZ752PO32oPb++6EHTh0kX/i+c7vDvOXPK4dPKy2+UTV7hXmq86X23qdOo8/pPTT8e7nLuarrlca7nuer21e2b36RueN87d9L158Rb/1tWeOT3dvfN6b/fF9/XfFt1+cif9zsu72Xcn7q28T7xf9EDtQdlD3YfVP1v+3Njv3H9qwHeg89HcR/cGhYPP/pH1jw9DBY+Zj8uGDYbrnjg+OTniP3L96fynQ89kzyaeF/6i/suuFxYvfvjV69fO0ZjRoZfyl5O/bXyl/erA6xmv28bCxh6+yXgzMV70VvvtwXfcdx3vo98PT+R8IH8o/2j5sfVT0Kf7kxmTk/8EA5jz/GMzLdsAAAAgY0hSTQAAeiUAAICDAAD5/wAAgOkAAHUwAADqYAAAOpgAABdvkl/FRgAABs1JREFUeNqsl3tQlOcVxp9z3m+XygK7C4sLxkW5o4CAkYssFSkRjabjJEOSJm1IbZx2krapiZdeprW0NVVJ0pqMM0kYJQlqkoZImGioE1ItiCAgIsFwE4Es99vCslwChf36xy5EW1A0Pn9+73fO772e93kJC5EMCszFd20SbyFZNpJAAACtjWUI8KAN1CRAJTbg9LXNU+dBkG+Xkm7Zmg4OWoUdNqZXmQCZHQFsz0yOcCYGEc8mJGDnl2UTh5AO2x2DA3OxDaAsCDvQ32VF11qP9aZYz6SeFeooi17pPQEAvZNdTnWWKnWFuVhfYT7v0zza4M3EsMk2EPgnNZusby8Y7P8x/5lI/gMTYNSnNKQt/0Xtev1DfQtZlaK+M54fmDJXXhg4G8zEINBfqlLMe28L9s/lQ8Tyr5iAJ32fK/tj+OFq3IUO1O+JyGk7GgsiEPFrlQ/07bixXdwEPckHWZJ3MgG7Qw9+/mLIS/W4SyXoNvQskpyHLg1e8CNQ3NI0laoje7Tg/8CBudgGgQwSwO/DD322ze/FFnxLRWhiBzUK94GLA2f9mSTjfU+7mjqyrVe+AX8I4aGgShbA0/47Sn4ZuLcR90ih6qih0anRiVprtUEQb43bYtlXmwNZAEDAj/ACMW1M8ExpeDXyWMVCEl4yF7vntR/zLeov8JJlWfZR+Y3N92+cx/reOmu1quNrk27EWW0xvWspJcigoNNkA4C3Yk59vH7xltvu3ktDxe7PX34ilQCQfeci1j2xfn94ZrGCneY8uxcHCnW/vbr9EQD4d2ITc8AprAOAQLewroVAAaB8oMiLiRHvmVy7znNTjWCFrXKoJOSHFQ+kvnF9f+jco07s91MFdwmSkHQuYB0T8WYwIcYj0bTQdRufGlFKJMFVaCb/GvZW6aGI4yeXOwd2mr/u05zsyDY+W5X64Nm+fO85NpuJiCFJTpslIoonADEeiT2zIzIXuh+o25PQNtbsNVMOBUn2g08MiSTHN3uZjNTEDr4dnX/6H+1H/XPasmKvW+sMGfW/MXzende4K3h/ibvSYxIAItyie/K7cgCitQxCIBFjpTrKMgM+WPfrhLbxFi9iMQtlYjAJSCSBSYBAIPBNI3p86TPXj8bk56R4PVylFE626uFLQc9efiTVPDmgBIAAtzALEYNBQRITa4kYix21FwBax655CVagPLk7806Pj1qo/7MraF/FQ14/aMhszYhvGqn3KTef89rklWrSKXUTkn3mtJK9Bzf3XJA0e/PcrdgxIwSCDPmbZMQgABJkDBKzvn+yy2npIv9xAPB1Ceo2jTZ7Gc8afipIgEhAkACDwcSQQZBIIGnx5it7gg+U3wgcnbZKR1r+FnW+v2DVtDwtXCXNSKz797oAwDzZ7ySRAIBBFsTXmBh1w1+oZ4J3h+wv9lUFdbMDOrO+5IAqWIGZthuV13nC77nKRx8r7PssyibLIkoT1/h65HsfzWyu5tF6NYNB4EYJzKUETqgcLNVv0D/cDQBrNAnm9+LOfTLfNB5u2hf5z+6TMexYji+tVdrM5leMbWOtSwQx/F1C2rcuebIqwSO568a4WmuN3mEYSiUi+pRl2l1pLvYBsKArUKVwnZRYgdHpMWVG4+/WXhwoDBXE7OmkHzJ6JNemLfv51bniGqzVPoIkyLbpfK7ZMFIkE6FlrMn7Ql+BbiHg+zXGbgLjylDpyosD58KZmKM0cfWHI9//aD5o1VCZrnO83VuQQOja5PMCfwK8n3K2ChIbLVOD9KB36le3A+u/s2Q81C2yRavQmQNdVnamLnmq4nHD9jpB0rwm77jpjTW9E906Bu18fWlWCQHAox9CtGoXTwmS8IThZyXPB+29inuoE6bMsDM9ufEAMNHqJuU8ljMtAKA2B7IhzaWNiLfWjVQb3J10/SGuEZZ7Af1X7+lluZ3HkpgEQPL291M+qbzJgXQcG60ypKlVTGwsMxcFaJW6/hDXVZZvCz3RlrmRiQHwy9nRn2bM6bnas4cLfH6s1RIorsJcFDA2PToR7Z7QezfQD9qzwvI6TyTZC47ttXeiT+2c1+wBgOndoTPLt7mrmCRjvfULQ4O1xsVVchu7b9GysYUAqy3lnsdNb0aXmQuj7PYWL2etuRl6S0OfXLjiGQIdEY6K5esc2BWhjvkqXLO6x08VPKxV6iYAwuBkv5NpvNmtbrhaX2+tWdY70eVNINhtLW0/sjrv6B0/YdJlcGlR2AvE4hUlKwHQ7BU5cz8LRx0HaPY7gXb53L/67+mUfudPmP/twOWS6AQi/j6B4iWS/IlYK+yGYJDB1wWLErLRKd/omOJbAWf03wEAyO9m+/TtS3AAAAAASUVORK5CYII=);bottom:10px;left:95px}div.vis-network div.vis-navigation div.vis-button.vis-zoomIn{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAB4AAAAeCAYAAAA7MK6iAAAACXBIWXMAAAsTAAALEwEAmpwYAAAKT2lDQ1BQaG90b3Nob3AgSUNDIHByb2ZpbGUAAHjanVNnVFPpFj333vRCS4iAlEtvUhUIIFJCi4AUkSYqIQkQSoghodkVUcERRUUEG8igiAOOjoCMFVEsDIoK2AfkIaKOg6OIisr74Xuja9a89+bN/rXXPues852zzwfACAyWSDNRNYAMqUIeEeCDx8TG4eQuQIEKJHAAEAizZCFz/SMBAPh+PDwrIsAHvgABeNMLCADATZvAMByH/w/qQplcAYCEAcB0kThLCIAUAEB6jkKmAEBGAYCdmCZTAKAEAGDLY2LjAFAtAGAnf+bTAICd+Jl7AQBblCEVAaCRACATZYhEAGg7AKzPVopFAFgwABRmS8Q5ANgtADBJV2ZIALC3AMDOEAuyAAgMADBRiIUpAAR7AGDIIyN4AISZABRG8lc88SuuEOcqAAB4mbI8uSQ5RYFbCC1xB1dXLh4ozkkXKxQ2YQJhmkAuwnmZGTKBNA/g88wAAKCRFRHgg/P9eM4Ors7ONo62Dl8t6r8G/yJiYuP+5c+rcEAAAOF0ftH+LC+zGoA7BoBt/qIl7gRoXgugdfeLZrIPQLUAoOnaV/Nw+H48PEWhkLnZ2eXk5NhKxEJbYcpXff5nwl/AV/1s+X48/Pf14L7iJIEyXYFHBPjgwsz0TKUcz5IJhGLc5o9H/LcL//wd0yLESWK5WCoU41EScY5EmozzMqUiiUKSKcUl0v9k4t8s+wM+3zUAsGo+AXuRLahdYwP2SycQWHTA4vcAAPK7b8HUKAgDgGiD4c93/+8//UegJQCAZkmScQAAXkQkLlTKsz/HCAAARKCBKrBBG/TBGCzABhzBBdzBC/xgNoRCJMTCQhBCCmSAHHJgKayCQiiGzbAdKmAv1EAdNMBRaIaTcA4uwlW4Dj1wD/phCJ7BKLyBCQRByAgTYSHaiAFiilgjjggXmYX4IcFIBBKLJCDJiBRRIkuRNUgxUopUIFVIHfI9cgI5h1xGupE7yAAygvyGvEcxlIGyUT3UDLVDuag3GoRGogvQZHQxmo8WoJvQcrQaPYw2oefQq2gP2o8+Q8cwwOgYBzPEbDAuxsNCsTgsCZNjy7EirAyrxhqwVqwDu4n1Y8+xdwQSgUXACTYEd0IgYR5BSFhMWE7YSKggHCQ0EdoJNwkDhFHCJyKTqEu0JroR+cQYYjIxh1hILCPWEo8TLxB7iEPENyQSiUMyJ7mQAkmxpFTSEtJG0m5SI+ksqZs0SBojk8naZGuyBzmULCAryIXkneTD5DPkG+Qh8lsKnWJAcaT4U+IoUspqShnlEOU05QZlmDJBVaOaUt2ooVQRNY9aQq2htlKvUYeoEzR1mjnNgxZJS6WtopXTGmgXaPdpr+h0uhHdlR5Ol9BX0svpR+iX6AP0dwwNhhWDx4hnKBmbGAcYZxl3GK+YTKYZ04sZx1QwNzHrmOeZD5lvVVgqtip8FZHKCpVKlSaVGyovVKmqpqreqgtV81XLVI+pXlN9rkZVM1PjqQnUlqtVqp1Q61MbU2epO6iHqmeob1Q/pH5Z/YkGWcNMw09DpFGgsV/jvMYgC2MZs3gsIWsNq4Z1gTXEJrHN2Xx2KruY/R27iz2qqaE5QzNKM1ezUvOUZj8H45hx+Jx0TgnnKKeX836K3hTvKeIpG6Y0TLkxZVxrqpaXllirSKtRq0frvTau7aedpr1Fu1n7gQ5Bx0onXCdHZ4/OBZ3nU9lT3acKpxZNPTr1ri6qa6UbobtEd79up+6Ynr5egJ5Mb6feeb3n+hx9L/1U/W36p/VHDFgGswwkBtsMzhg8xTVxbzwdL8fb8VFDXcNAQ6VhlWGX4YSRudE8o9VGjUYPjGnGXOMk423GbcajJgYmISZLTepN7ppSTbmmKaY7TDtMx83MzaLN1pk1mz0x1zLnm+eb15vft2BaeFostqi2uGVJsuRaplnutrxuhVo5WaVYVVpds0atna0l1rutu6cRp7lOk06rntZnw7Dxtsm2qbcZsOXYBtuutm22fWFnYhdnt8Wuw+6TvZN9un2N/T0HDYfZDqsdWh1+c7RyFDpWOt6azpzuP33F9JbpL2dYzxDP2DPjthPLKcRpnVOb00dnF2e5c4PziIuJS4LLLpc+Lpsbxt3IveRKdPVxXeF60vWdm7Obwu2o26/uNu5p7ofcn8w0nymeWTNz0MPIQ+BR5dE/C5+VMGvfrH5PQ0+BZ7XnIy9jL5FXrdewt6V3qvdh7xc+9j5yn+M+4zw33jLeWV/MN8C3yLfLT8Nvnl+F30N/I/9k/3r/0QCngCUBZwOJgUGBWwL7+Hp8Ib+OPzrbZfay2e1BjKC5QRVBj4KtguXBrSFoyOyQrSH355jOkc5pDoVQfujW0Adh5mGLw34MJ4WHhVeGP45wiFga0TGXNXfR3ENz30T6RJZE3ptnMU85ry1KNSo+qi5qPNo3ujS6P8YuZlnM1VidWElsSxw5LiquNm5svt/87fOH4p3iC+N7F5gvyF1weaHOwvSFpxapLhIsOpZATIhOOJTwQRAqqBaMJfITdyWOCnnCHcJnIi/RNtGI2ENcKh5O8kgqTXqS7JG8NXkkxTOlLOW5hCepkLxMDUzdmzqeFpp2IG0yPTq9MYOSkZBxQqohTZO2Z+pn5mZ2y6xlhbL+xW6Lty8elQfJa7OQrAVZLQq2QqboVFoo1yoHsmdlV2a/zYnKOZarnivN7cyzytuQN5zvn//tEsIS4ZK2pYZLVy0dWOa9rGo5sjxxedsK4xUFK4ZWBqw8uIq2Km3VT6vtV5eufr0mek1rgV7ByoLBtQFr6wtVCuWFfevc1+1dT1gvWd+1YfqGnRs+FYmKrhTbF5cVf9go3HjlG4dvyr+Z3JS0qavEuWTPZtJm6ebeLZ5bDpaql+aXDm4N2dq0Dd9WtO319kXbL5fNKNu7g7ZDuaO/PLi8ZafJzs07P1SkVPRU+lQ27tLdtWHX+G7R7ht7vPY07NXbW7z3/T7JvttVAVVN1WbVZftJ+7P3P66Jqun4lvttXa1ObXHtxwPSA/0HIw6217nU1R3SPVRSj9Yr60cOxx++/p3vdy0NNg1VjZzG4iNwRHnk6fcJ3/ceDTradox7rOEH0x92HWcdL2pCmvKaRptTmvtbYlu6T8w+0dbq3nr8R9sfD5w0PFl5SvNUyWna6YLTk2fyz4ydlZ19fi753GDborZ752PO32oPb++6EHTh0kX/i+c7vDvOXPK4dPKy2+UTV7hXmq86X23qdOo8/pPTT8e7nLuarrlca7nuer21e2b36RueN87d9L158Rb/1tWeOT3dvfN6b/fF9/XfFt1+cif9zsu72Xcn7q28T7xf9EDtQdlD3YfVP1v+3Njv3H9qwHeg89HcR/cGhYPP/pH1jw9DBY+Zj8uGDYbrnjg+OTniP3L96fynQ89kzyaeF/6i/suuFxYvfvjV69fO0ZjRoZfyl5O/bXyl/erA6xmv28bCxh6+yXgzMV70VvvtwXfcdx3vo98PT+R8IH8o/2j5sfVT0Kf7kxmTk/8EA5jz/GMzLdsAAAAgY0hSTQAAeiUAAICDAAD5/wAAgOkAAHUwAADqYAAAOpgAABdvkl/FRgAABiBJREFUeNqkV2tQlOcVfp7zvgvDRe66y8htXUBR1GoFI+BtFJvRtjPJBGeaH2a8DGmbttgSTWbSJEw6TWOsrbbpTIeJZGqaTipTa6LJZDTVUTYQdNAohoso6qLucnERN0Axcb/8+HaJUHDX9Pz6vnnPe57vXJ5zzkeEIwaYcwBL/VrW0TCKqZANINEvBhSk3w9eUmC9HzjcsfarOhBGKJN84GkVJHcetvqFu4SAIYELYlpm4LpQQMqoQQKVnzeO7EYV/A8NnHMAGwHWQJmAjtg895LkFa7FU1d258UvGLBGpI4AQM9dd2TrwNn4016n9bS3LqNzsD1VKPAbfhCyqflR31thAzv+La+QxotCoNi6pn1D1s9aVli/3xtOVk72fjT1XVf17E9uHZspFBD8zdk13pdCAjsOyG6KUSEEnrT/tPHluW+cw7eQ19q2z6/t2rsYJEjZ07S6d+ukwI5/yQ7RxnYC2DZnx8dbHNs6xxs85T2R9GprZcmVwYs2BYWsmBzP83m7nIVJS73jdfdd+7PjjUu/XWUCGTtPre7ZHjxTY3Kq8DoV8Ou5u49snPGrKxN58syZ9aVXBztsigoUBd+Xt2NbfZ8llaVvah+vOz9hcX+CJenWp7eOOYS6ePpTU1w39vk+AwCzFPdDQbFGFPCUY2v9hqxfXJ0shNeHLtsUFc6UequbVvdVkwLX0GXbZPpl6Zuu/ij9x/VCBU1dU7bfdFYAIDsSFRCgeOqa9hfy/nDhwfwTKOrRd0U95n0iqch9+cKS5JVtpMCdkllhAhugCHcRwAb7z1tCEp8CCXAWAJRoCFXIYnti+sYWTQ0tll0wQMk+hGUAkBOX714xbV1IyuhxHhIMC/iR5OV9M2JmuhU1Vh7PXiakrIUQhcnLXeHQxPT4GyAtFqgwgAPF5iIFWkeu1SSLCKAweXn3/ZR5rXV7SddQpy3YDoNems9qTI5hGCitm1MOAAx0aaFCerTd84zjBed3Egq9ADA/rqD7Q3ctQC4REDmkYHb8goGgsR2tz5V0DV+xUdQoqAQ81RybU4IgFWgACgpaLLCIBUo0bv63y/aXy6+WBHWz4/IHSIGAuVooiaRgWqD3AsDVoQ6bEgtOrfJUhwrf0WUtk+r8sL6wvHvk5ijVUiJSRrQZuURtfoGMuaCoRyfP/yMy0XykgAA0DPRTxNp31x2ZFuUYBgB7bK7HNdhpKz6WXq6oQCooKghMKhkgji77vBoA1jkXlAvVfRQjFMUcmxSkRWd6gpjeu32R2kxTvyhKh1DQeud8fFBh26zfOe0xuR4JgAbzywCoRSzfeDUKatJKUQK+CjKiHZ6nZ2xzBnU7B9vixTy7qCHSQEhJU3+DtdT6mAcAFiWUeP/xyPH3Jwrfo3XzysemRcEA8F5RY8h6aPE1WwMLQ4OQ/EBANHmdGWHlzZyxk3ayB0m771yGooYy+KE0l35x0iBxZehS6ie9R1PCMaDvCzWDXA4hZ283ptwcvp6qqDBnyao6AWEQrBQQ/7y+d3YoA+NBTAaElo973p8tVFCQyipW+c3pdNu7BwBOe+tm/eniK/kPFWowpMfvuKrzzw80zSKIkWsJe0bHYu163BNwMwDsv7G36ODNtzMnM5IWZfeQgscbisvLPl1aDhLTo7I8k+n/p+dw5pGeg0WKGiS31K6vvTdmA7nx9uDZ9A3xMUIpbvSezE6MSOmbNWXewHhD6dH23o7BlqQvvrwTK6KQFpXl2WyvcE6LTB2eCPSdrurvmcUnO/cVfPD6pMteyfGs3QKpUFQoS9tU/xPH8xe+Tdd693pN/pHug0Xmqntvz1uLDo9Z9v5nnrn+dvujrI1JMUJd3OY7n97ua46douOGpkdlDoUDeG7g1NS/u/5a0Og9scCsB+ysWXSoMuyFftWJvM0E31SBjmWPznHPjy+8NjdhYfeMmJl3EiNSRgCi/25fpGu4M671zjlrm685s2fEnUoQ5lrLLW8uPLj3oX9hqgxIw8n8X1LU7yMkItCHzREZrGQV6ONmy5TggHk247sL/1jFqof/hRn/AWfqC0pI+QHBIk3tICXRrFTpF8hlJaqefh6yFxQ6HwQYlK8HAKyt3WsWxl7fAAAAAElFTkSuQmCC);bottom:10px;right:15px}div.vis-network div.vis-navigation div.vis-button.vis-zoomOut{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAB4AAAAeCAYAAAA7MK6iAAAACXBIWXMAAAsTAAALEwEAmpwYAAAKT2lDQ1BQaG90b3Nob3AgSUNDIHByb2ZpbGUAAHjanVNnVFPpFj333vRCS4iAlEtvUhUIIFJCi4AUkSYqIQkQSoghodkVUcERRUUEG8igiAOOjoCMFVEsDIoK2AfkIaKOg6OIisr74Xuja9a89+bN/rXXPues852zzwfACAyWSDNRNYAMqUIeEeCDx8TG4eQuQIEKJHAAEAizZCFz/SMBAPh+PDwrIsAHvgABeNMLCADATZvAMByH/w/qQplcAYCEAcB0kThLCIAUAEB6jkKmAEBGAYCdmCZTAKAEAGDLY2LjAFAtAGAnf+bTAICd+Jl7AQBblCEVAaCRACATZYhEAGg7AKzPVopFAFgwABRmS8Q5ANgtADBJV2ZIALC3AMDOEAuyAAgMADBRiIUpAAR7AGDIIyN4AISZABRG8lc88SuuEOcqAAB4mbI8uSQ5RYFbCC1xB1dXLh4ozkkXKxQ2YQJhmkAuwnmZGTKBNA/g88wAAKCRFRHgg/P9eM4Ors7ONo62Dl8t6r8G/yJiYuP+5c+rcEAAAOF0ftH+LC+zGoA7BoBt/qIl7gRoXgugdfeLZrIPQLUAoOnaV/Nw+H48PEWhkLnZ2eXk5NhKxEJbYcpXff5nwl/AV/1s+X48/Pf14L7iJIEyXYFHBPjgwsz0TKUcz5IJhGLc5o9H/LcL//wd0yLESWK5WCoU41EScY5EmozzMqUiiUKSKcUl0v9k4t8s+wM+3zUAsGo+AXuRLahdYwP2SycQWHTA4vcAAPK7b8HUKAgDgGiD4c93/+8//UegJQCAZkmScQAAXkQkLlTKsz/HCAAARKCBKrBBG/TBGCzABhzBBdzBC/xgNoRCJMTCQhBCCmSAHHJgKayCQiiGzbAdKmAv1EAdNMBRaIaTcA4uwlW4Dj1wD/phCJ7BKLyBCQRByAgTYSHaiAFiilgjjggXmYX4IcFIBBKLJCDJiBRRIkuRNUgxUopUIFVIHfI9cgI5h1xGupE7yAAygvyGvEcxlIGyUT3UDLVDuag3GoRGogvQZHQxmo8WoJvQcrQaPYw2oefQq2gP2o8+Q8cwwOgYBzPEbDAuxsNCsTgsCZNjy7EirAyrxhqwVqwDu4n1Y8+xdwQSgUXACTYEd0IgYR5BSFhMWE7YSKggHCQ0EdoJNwkDhFHCJyKTqEu0JroR+cQYYjIxh1hILCPWEo8TLxB7iEPENyQSiUMyJ7mQAkmxpFTSEtJG0m5SI+ksqZs0SBojk8naZGuyBzmULCAryIXkneTD5DPkG+Qh8lsKnWJAcaT4U+IoUspqShnlEOU05QZlmDJBVaOaUt2ooVQRNY9aQq2htlKvUYeoEzR1mjnNgxZJS6WtopXTGmgXaPdpr+h0uhHdlR5Ol9BX0svpR+iX6AP0dwwNhhWDx4hnKBmbGAcYZxl3GK+YTKYZ04sZx1QwNzHrmOeZD5lvVVgqtip8FZHKCpVKlSaVGyovVKmqpqreqgtV81XLVI+pXlN9rkZVM1PjqQnUlqtVqp1Q61MbU2epO6iHqmeob1Q/pH5Z/YkGWcNMw09DpFGgsV/jvMYgC2MZs3gsIWsNq4Z1gTXEJrHN2Xx2KruY/R27iz2qqaE5QzNKM1ezUvOUZj8H45hx+Jx0TgnnKKeX836K3hTvKeIpG6Y0TLkxZVxrqpaXllirSKtRq0frvTau7aedpr1Fu1n7gQ5Bx0onXCdHZ4/OBZ3nU9lT3acKpxZNPTr1ri6qa6UbobtEd79up+6Ynr5egJ5Mb6feeb3n+hx9L/1U/W36p/VHDFgGswwkBtsMzhg8xTVxbzwdL8fb8VFDXcNAQ6VhlWGX4YSRudE8o9VGjUYPjGnGXOMk423GbcajJgYmISZLTepN7ppSTbmmKaY7TDtMx83MzaLN1pk1mz0x1zLnm+eb15vft2BaeFostqi2uGVJsuRaplnutrxuhVo5WaVYVVpds0atna0l1rutu6cRp7lOk06rntZnw7Dxtsm2qbcZsOXYBtuutm22fWFnYhdnt8Wuw+6TvZN9un2N/T0HDYfZDqsdWh1+c7RyFDpWOt6azpzuP33F9JbpL2dYzxDP2DPjthPLKcRpnVOb00dnF2e5c4PziIuJS4LLLpc+Lpsbxt3IveRKdPVxXeF60vWdm7Obwu2o26/uNu5p7ofcn8w0nymeWTNz0MPIQ+BR5dE/C5+VMGvfrH5PQ0+BZ7XnIy9jL5FXrdewt6V3qvdh7xc+9j5yn+M+4zw33jLeWV/MN8C3yLfLT8Nvnl+F30N/I/9k/3r/0QCngCUBZwOJgUGBWwL7+Hp8Ib+OPzrbZfay2e1BjKC5QRVBj4KtguXBrSFoyOyQrSH355jOkc5pDoVQfujW0Adh5mGLw34MJ4WHhVeGP45wiFga0TGXNXfR3ENz30T6RJZE3ptnMU85ry1KNSo+qi5qPNo3ujS6P8YuZlnM1VidWElsSxw5LiquNm5svt/87fOH4p3iC+N7F5gvyF1weaHOwvSFpxapLhIsOpZATIhOOJTwQRAqqBaMJfITdyWOCnnCHcJnIi/RNtGI2ENcKh5O8kgqTXqS7JG8NXkkxTOlLOW5hCepkLxMDUzdmzqeFpp2IG0yPTq9MYOSkZBxQqohTZO2Z+pn5mZ2y6xlhbL+xW6Lty8elQfJa7OQrAVZLQq2QqboVFoo1yoHsmdlV2a/zYnKOZarnivN7cyzytuQN5zvn//tEsIS4ZK2pYZLVy0dWOa9rGo5sjxxedsK4xUFK4ZWBqw8uIq2Km3VT6vtV5eufr0mek1rgV7ByoLBtQFr6wtVCuWFfevc1+1dT1gvWd+1YfqGnRs+FYmKrhTbF5cVf9go3HjlG4dvyr+Z3JS0qavEuWTPZtJm6ebeLZ5bDpaql+aXDm4N2dq0Dd9WtO319kXbL5fNKNu7g7ZDuaO/PLi8ZafJzs07P1SkVPRU+lQ27tLdtWHX+G7R7ht7vPY07NXbW7z3/T7JvttVAVVN1WbVZftJ+7P3P66Jqun4lvttXa1ObXHtxwPSA/0HIw6217nU1R3SPVRSj9Yr60cOxx++/p3vdy0NNg1VjZzG4iNwRHnk6fcJ3/ceDTradox7rOEH0x92HWcdL2pCmvKaRptTmvtbYlu6T8w+0dbq3nr8R9sfD5w0PFl5SvNUyWna6YLTk2fyz4ydlZ19fi753GDborZ752PO32oPb++6EHTh0kX/i+c7vDvOXPK4dPKy2+UTV7hXmq86X23qdOo8/pPTT8e7nLuarrlca7nuer21e2b36RueN87d9L158Rb/1tWeOT3dvfN6b/fF9/XfFt1+cif9zsu72Xcn7q28T7xf9EDtQdlD3YfVP1v+3Njv3H9qwHeg89HcR/cGhYPP/pH1jw9DBY+Zj8uGDYbrnjg+OTniP3L96fynQ89kzyaeF/6i/suuFxYvfvjV69fO0ZjRoZfyl5O/bXyl/erA6xmv28bCxh6+yXgzMV70VvvtwXfcdx3vo98PT+R8IH8o/2j5sfVT0Kf7kxmTk/8EA5jz/GMzLdsAAAAgY0hSTQAAeiUAAICDAAD5/wAAgOkAAHUwAADqYAAAOpgAABdvkl/FRgAABV5JREFUeNq0l2tQVVUYht/3W/vACMr16IFRQDiAgChpgiikMqY1WjnN9KsfGOXYTOVgkvbDUsZuXrK0qZmGUSvNspjI8TZOmo6AGBoZYly8YB6Qw80DBwQ6jJ3dj30OZZmiwvtv77XW96y91l7v9y1iMNLBuCI84tZkIXU9gwqxAILdokNBOtzgJQWWuYEDFxfcLAGh3y0k79iaD4mfjOVu4WYhoItngBiR6RkuFJAyEJBA3m/lri3Ih/uewXFFyAG4A8oAWkcm2meEzrFNH53Vkhg4xWnxCXcBQGu/3bfGeTbwjKPUcsZRElnfUxcuFLh1Nwh5vurx7s8GDbZ+L+tI/U0hkGGZX5c9/pXqOZYn2gazK8Vth0fvsRUknbx+bIJQQPCts/Mda+4KthbJFoqeKwSejX6pfO2kjytxH1pfuyqlsGH7dJAgZWvFo23L/9muboF+JxtE0/OEwMqJG46uSHinFvepTPO8lhGaX+fPHSdjCKaPy/b3v7az58h/wHFFyIHCRirgjUlbfsiJWXEFD6iUoOkdQaaQ6z9dP2YVahljF4+yXdvZ/evf4G+hQk2sEAUsti4vWxa35gKGSBMDp3T23OxxVXdXRijKovSFzrerC6ELAMT6IhcCZIyeX7c68YPzGGLlxq89PyM0q5YU2M1RuQAg0EERbiaA7Ohl1RgmPTM2p1qjBk1Mm6GDErsfswAgLiDZPmfMwrbhAqeHzm6P8Z9gV9SQdTx2lpCyAEKkhc62YZiVEjTdRgo0zXeBRnImAaSFzm7xdjjtOBGyvmZVZkNvfZjXDhU14+BToFEDKRAQpAJ0HRTjP6XHpYUKEX7RzS9bV5c+FJTmAICUgNSWQ/ZCgJwhIOJIQVLgFKcXvKHm9cyGvithFDUAFQqECho1CBUIggYapAJ1QEFBExNMYoISDU1/NIR9cvndTG/c2IBkp2fC8ZpQgknBGI/3AsDvvRfDlJhwem5zwYMs7VNlaUtbXE1h3mezj9mlGSsXrBkzkFsGKGoDmedBJLfLjxQQgAYdHRSxtPfbfceNsPYBQPTI+GZbT31YxrGIpYoKpIKigkAgFOggNBrbQBBCBaEM2L+iGGmTgnF+Uc1epqO/3VejAoAOUZSLQkFN17lAb4eVCe+VRvvHN4sH6t1feqAmMUGoPHvvhdLzTjzfKoj0sza/GLOy1Bu3vqc20Pgl5YIGkVOEZFZ0nLLMszzdDADTgjIdX6Uf3zfUx6m6u8riKRhOCcmDAqLCURo53Oe4rrsyUlGD0nlIqubdKNZJXOm9FH6y7Yh5uKBnO8vNTX2N4YoKE2fMLREQOsE8AfFN4/ak4QIfbd2XJFRQkLx85ruN7NTp2AoAZxwlCR9dWJc81NDdtoLkc86KBIJwXQ3aOpCPqwuhR2SPbCBlUc2NyogQX3N7wqgU51BAf2w9EFXUtCtLqADqS76ev6/ilgrk2q6esxHZgf5CySh3FMcG+5jbE0ZNdj4odHdDwWPGcZNNO1MPbrxtzdW4s+tI5HPBwQTTzziKY3v/7HGlhmS23g90T+OO5L1Nu7MMw3Fv/Tx1f97/FnsAYPui8/D4nBB/oZZR230uoq67auQoLaB37Iio3sEAK52nR39p+zS13HFiilHeYtOOabdC71jQzz2R+ALBbcrjWNF+cfaUwLSrk4KmtsT4T+gK9jG7AKKjv93X1lcfUNNVaantropqddnDCcIoa7lk29S92+/5CpOvQ04VJ79KUe/7iI/Hh40U6c3PyuPjhmWKN8G8Fvnw1A/zmX/vV5h/T+CXstRMUp4kOFOjZiUlWBkFQYdALitRZXRzf3RqWumdgF79NQDBOa2V/iYSHAAAAABJRU5ErkJggg==);bottom:10px;right:55px}div.vis-network div.vis-navigation div.vis-button.vis-zoomExtends{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAB4AAAAeCAYAAAA7MK6iAAAACXBIWXMAAAsTAAALEwEAmpwYAAAKT2lDQ1BQaG90b3Nob3AgSUNDIHByb2ZpbGUAAHjanVNnVFPpFj333vRCS4iAlEtvUhUIIFJCi4AUkSYqIQkQSoghodkVUcERRUUEG8igiAOOjoCMFVEsDIoK2AfkIaKOg6OIisr74Xuja9a89+bN/rXXPues852zzwfACAyWSDNRNYAMqUIeEeCDx8TG4eQuQIEKJHAAEAizZCFz/SMBAPh+PDwrIsAHvgABeNMLCADATZvAMByH/w/qQplcAYCEAcB0kThLCIAUAEB6jkKmAEBGAYCdmCZTAKAEAGDLY2LjAFAtAGAnf+bTAICd+Jl7AQBblCEVAaCRACATZYhEAGg7AKzPVopFAFgwABRmS8Q5ANgtADBJV2ZIALC3AMDOEAuyAAgMADBRiIUpAAR7AGDIIyN4AISZABRG8lc88SuuEOcqAAB4mbI8uSQ5RYFbCC1xB1dXLh4ozkkXKxQ2YQJhmkAuwnmZGTKBNA/g88wAAKCRFRHgg/P9eM4Ors7ONo62Dl8t6r8G/yJiYuP+5c+rcEAAAOF0ftH+LC+zGoA7BoBt/qIl7gRoXgugdfeLZrIPQLUAoOnaV/Nw+H48PEWhkLnZ2eXk5NhKxEJbYcpXff5nwl/AV/1s+X48/Pf14L7iJIEyXYFHBPjgwsz0TKUcz5IJhGLc5o9H/LcL//wd0yLESWK5WCoU41EScY5EmozzMqUiiUKSKcUl0v9k4t8s+wM+3zUAsGo+AXuRLahdYwP2SycQWHTA4vcAAPK7b8HUKAgDgGiD4c93/+8//UegJQCAZkmScQAAXkQkLlTKsz/HCAAARKCBKrBBG/TBGCzABhzBBdzBC/xgNoRCJMTCQhBCCmSAHHJgKayCQiiGzbAdKmAv1EAdNMBRaIaTcA4uwlW4Dj1wD/phCJ7BKLyBCQRByAgTYSHaiAFiilgjjggXmYX4IcFIBBKLJCDJiBRRIkuRNUgxUopUIFVIHfI9cgI5h1xGupE7yAAygvyGvEcxlIGyUT3UDLVDuag3GoRGogvQZHQxmo8WoJvQcrQaPYw2oefQq2gP2o8+Q8cwwOgYBzPEbDAuxsNCsTgsCZNjy7EirAyrxhqwVqwDu4n1Y8+xdwQSgUXACTYEd0IgYR5BSFhMWE7YSKggHCQ0EdoJNwkDhFHCJyKTqEu0JroR+cQYYjIxh1hILCPWEo8TLxB7iEPENyQSiUMyJ7mQAkmxpFTSEtJG0m5SI+ksqZs0SBojk8naZGuyBzmULCAryIXkneTD5DPkG+Qh8lsKnWJAcaT4U+IoUspqShnlEOU05QZlmDJBVaOaUt2ooVQRNY9aQq2htlKvUYeoEzR1mjnNgxZJS6WtopXTGmgXaPdpr+h0uhHdlR5Ol9BX0svpR+iX6AP0dwwNhhWDx4hnKBmbGAcYZxl3GK+YTKYZ04sZx1QwNzHrmOeZD5lvVVgqtip8FZHKCpVKlSaVGyovVKmqpqreqgtV81XLVI+pXlN9rkZVM1PjqQnUlqtVqp1Q61MbU2epO6iHqmeob1Q/pH5Z/YkGWcNMw09DpFGgsV/jvMYgC2MZs3gsIWsNq4Z1gTXEJrHN2Xx2KruY/R27iz2qqaE5QzNKM1ezUvOUZj8H45hx+Jx0TgnnKKeX836K3hTvKeIpG6Y0TLkxZVxrqpaXllirSKtRq0frvTau7aedpr1Fu1n7gQ5Bx0onXCdHZ4/OBZ3nU9lT3acKpxZNPTr1ri6qa6UbobtEd79up+6Ynr5egJ5Mb6feeb3n+hx9L/1U/W36p/VHDFgGswwkBtsMzhg8xTVxbzwdL8fb8VFDXcNAQ6VhlWGX4YSRudE8o9VGjUYPjGnGXOMk423GbcajJgYmISZLTepN7ppSTbmmKaY7TDtMx83MzaLN1pk1mz0x1zLnm+eb15vft2BaeFostqi2uGVJsuRaplnutrxuhVo5WaVYVVpds0atna0l1rutu6cRp7lOk06rntZnw7Dxtsm2qbcZsOXYBtuutm22fWFnYhdnt8Wuw+6TvZN9un2N/T0HDYfZDqsdWh1+c7RyFDpWOt6azpzuP33F9JbpL2dYzxDP2DPjthPLKcRpnVOb00dnF2e5c4PziIuJS4LLLpc+Lpsbxt3IveRKdPVxXeF60vWdm7Obwu2o26/uNu5p7ofcn8w0nymeWTNz0MPIQ+BR5dE/C5+VMGvfrH5PQ0+BZ7XnIy9jL5FXrdewt6V3qvdh7xc+9j5yn+M+4zw33jLeWV/MN8C3yLfLT8Nvnl+F30N/I/9k/3r/0QCngCUBZwOJgUGBWwL7+Hp8Ib+OPzrbZfay2e1BjKC5QRVBj4KtguXBrSFoyOyQrSH355jOkc5pDoVQfujW0Adh5mGLw34MJ4WHhVeGP45wiFga0TGXNXfR3ENz30T6RJZE3ptnMU85ry1KNSo+qi5qPNo3ujS6P8YuZlnM1VidWElsSxw5LiquNm5svt/87fOH4p3iC+N7F5gvyF1weaHOwvSFpxapLhIsOpZATIhOOJTwQRAqqBaMJfITdyWOCnnCHcJnIi/RNtGI2ENcKh5O8kgqTXqS7JG8NXkkxTOlLOW5hCepkLxMDUzdmzqeFpp2IG0yPTq9MYOSkZBxQqohTZO2Z+pn5mZ2y6xlhbL+xW6Lty8elQfJa7OQrAVZLQq2QqboVFoo1yoHsmdlV2a/zYnKOZarnivN7cyzytuQN5zvn//tEsIS4ZK2pYZLVy0dWOa9rGo5sjxxedsK4xUFK4ZWBqw8uIq2Km3VT6vtV5eufr0mek1rgV7ByoLBtQFr6wtVCuWFfevc1+1dT1gvWd+1YfqGnRs+FYmKrhTbF5cVf9go3HjlG4dvyr+Z3JS0qavEuWTPZtJm6ebeLZ5bDpaql+aXDm4N2dq0Dd9WtO319kXbL5fNKNu7g7ZDuaO/PLi8ZafJzs07P1SkVPRU+lQ27tLdtWHX+G7R7ht7vPY07NXbW7z3/T7JvttVAVVN1WbVZftJ+7P3P66Jqun4lvttXa1ObXHtxwPSA/0HIw6217nU1R3SPVRSj9Yr60cOxx++/p3vdy0NNg1VjZzG4iNwRHnk6fcJ3/ceDTradox7rOEH0x92HWcdL2pCmvKaRptTmvtbYlu6T8w+0dbq3nr8R9sfD5w0PFl5SvNUyWna6YLTk2fyz4ydlZ19fi753GDborZ752PO32oPb++6EHTh0kX/i+c7vDvOXPK4dPKy2+UTV7hXmq86X23qdOo8/pPTT8e7nLuarrlca7nuer21e2b36RueN87d9L158Rb/1tWeOT3dvfN6b/fF9/XfFt1+cif9zsu72Xcn7q28T7xf9EDtQdlD3YfVP1v+3Njv3H9qwHeg89HcR/cGhYPP/pH1jw9DBY+Zj8uGDYbrnjg+OTniP3L96fynQ89kzyaeF/6i/suuFxYvfvjV69fO0ZjRoZfyl5O/bXyl/erA6xmv28bCxh6+yXgzMV70VvvtwXfcdx3vo98PT+R8IH8o/2j5sfVT0Kf7kxmTk/8EA5jz/GMzLdsAAAAgY0hSTQAAeiUAAICDAAD5/wAAgOkAAHUwAADqYAAAOpgAABdvkl/FRgAABptJREFUeNqsl21QlNcVx///cx9hIipuAJHasgHlRdw0xay7yK7smg6sb2DSdtqZduLUNENmOk1tQuM4U7UzTvshSRlFZzoNCWSSSTJp+6VNkLCAeQHBoCCgqNBE0wUqL+KuwIiiZZ9+eHa3aAS3Sf8zO8/L3nt+95x7z7n3YWlpKUQEJAEgch9+Jola9xEC2ADBVgAOKqwCYAqKDgUJBIHPBWwFWQNdbyZFBwAC0GGIAHQSj3/8HHRdhzYbdDfwg4IjAsGvICgXAroYBiCEDkBBACBZoyST4gDwQqh7mQ4cEkhQD0EBIIggRMQAh2EiEvEYAGrdR3YSqIYCIEDaotVDeYnu/ryEjSOr43PHl8WmTBPA6PRQ7IWJrvhT/ubkU/7m1EvX+1KEUh7Ug+WkPEXgdUSkR+xrd0NJ4qjr8AEI9pGAI7mo78mHfnF+Y/K2K7iHUheuvJG6cOUNz/LvDwPobrpSl/Ruf2VOy9UPs4RSTSANwH4Y449EVdnt9ojHIeghCHYLgR+n/7zt4Np32tIWZU4hSpnjVk1t/caPfOO3/f++MNH5TVJcisoEoo4ksgbsXwYfdR1+kQplQuCFNS82Pp/9+158RTkTC0ce0OKutQeOp5PME0qcUBqyBmwGOC8vz4AWVOyE4CUqYO/Dh+p3pj//Bb6mHllqCyxd8ODVT69+uFKoOYTSnzFg7SJpzHFNQYWiQrUIsCN9V+uOh375zz179pSGI1FSUuK12+2+aGDt7e3muro6T/h57969lZdvDrT+ZbA6n0B1nfPVN7e0PjMjIgIIdkEAR1JR329yDvaE0+l/hQKA1Wr1bd682SsikUW7K+O3PesTNvaSAiXaLhGBvO86RFEoJ4Adac+eDxsgiZKSEm9NTY3n5MmT5mjBHR0d5vr6es+mTZu8SqnI+x+s+Ol5jRo0auX1jtepQaEAADKWWIbcy7ZGUmb79u1eu93uI+mtra31HLj5TGDs9rBJICCNn1GRCKGCUJAUuzzw6CfbTB6Px7t27VofAG/YXl6Ceyw9LmvIN3UxZUafKRACWyCELcHVP3vk4fDabDZf+2N/D9g+fsLEEFSooFGDogZNFkBRgSCsTcWm066jgRAU4et/F5u9nxRosmCLRmE+QdgSXCNzhW/s9rDJ63wVJx77V+V8YS6UNaW8BdOcqzx+3Ujt0F8Bcr1GMIMU5CzJHZ+rg6IGCYV2PimoyIK6lzIWrxkPTVGmRoqJFCyLTZmeq4MB5f3BVADnbpcQkzStUQMAk0YKBPfzxlhA95NQQe43QBotBECAFFyZHo6dz6CKCizAPFPivzUWqxm2AqIgnwkFvZNn4uczGK3Hah7wpet98UZ85R8aKScIcXYEWpMLkx8fvleHpNjlAWtTsakQa0pVKGcJQqMGUqCHBvfdjp/gTP6xwFzg85PdyaH2J4SUowKiw3889e4KBACnT582W5uKTV2uusAdUFlgzBcFQoFGDT35HwW+82mhqaenxwwA4WtYfRNnUkMZUqsJpEkn8cXU5yktYw2JjsTCMQDwer0ekt6GhgZPUVGRd3fu7qjqdU9Mj7mlpcVD0tvS0uKxWCyVANB5rS3x8s3BFEUFgTTLtuZndQHLBMSfB6pyZtfqMDQ3NzfqTcJisficTqc3BI+8bxh9L8corarM3fnDoIT+rACAU/7m7MOfHbCEwQDQ2Njo6erqinqTOHfuXNjjiI23+ystZ8c7smmkWgVJcN++fRARfLDhlacEUqVEQ1nm77xPrHjSh/+Djo3WmN/s/6OHEOgIPr2h63tVuq5Dud1ukETWoK3zorkzTiiONn/TKlNM4lj24m+Pf13o2wOVHqGA5MsAXjKPrDaqnMvlQnjTzhy0Nlw0d5oI5p3yN62amrk+ve5B5+hXgb47WGX52+V3NgoFOvQKAGUkkTqcbZy5XC7XHYf4zEFr3aXU7jih5uidPPOtvsmzixZr8VMrHjBHddLsHj+Z9Fb/n9a1+T/JDaXey0IpEzEKkHnU8Jj79++PeEwSSimQRGP+Gz8j5DVFBVKQtjBj6JGlNt/D8Y+OpMdlTphiEqcB4tqtsVjfjUtLLkx0J/dOnjWPTg+lEARIEHwaQJVQIYggACC/qxi6rn8ZHL4XETSsf0MU1HOk/CFGYgAwskUqY5eBitRxzn7/a0V1EEBwdqkN6jPI7y4xPmHmC5unbWdQRMqP2d86qANOksU6gvmArNQRNClqABnQgYuK0krI+wCOAyH3DK/vqOXhaf3PAO7mIRjDNV25AAAAAElFTkSuQmCC);bottom:50px;right:15px}div.vis-tooltip{position:absolute;visibility:hidden;padding:5px;white-space:nowrap;font-family:verdana;font-size:14px;color:#000;background-color:#f5f4ed;-moz-border-radius:3px;-webkit-border-radius:3px;border-radius:3px;border:1px solid #808074;box-shadow:3px 3px 10px rgba(0,0,0,.2);pointer-events:none;z-index:5}div.vis-network div.vis-manipulation{box-sizing:content-box;border:0 solid #d6d9d8;border-bottom:1px;background:#fff;background:-moz-linear-gradient(top,#fff 0,#fcfcfc 48%,#fafafa 50%,#fcfcfc 100%);background:-webkit-gradient(linear,left top,left bottom,color-stop(0,#fff),color-stop(48%,#fcfcfc),color-stop(50%,#fafafa),color-stop(100%,#fcfcfc));background:-webkit-linear-gradient(top,#fff,#fcfcfc 48%,#fafafa 50%,#fcfcfc);background:-o-linear-gradient(top,#fff 0,#fcfcfc 48%,#fafafa 50%,#fcfcfc 100%);background:-ms-linear-gradient(top,#fff 0,#fcfcfc 48%,#fafafa 50%,#fcfcfc 100%);background:linear-gradient(180deg,#fff 0,#fcfcfc 48%,#fafafa 50%,#fcfcfc);padding-top:4px;position:absolute;left:0;top:0;width:100%;height:28px}div.vis-network div.vis-edit-mode{position:absolute;left:0;top:5px;height:30px}div.vis-network div.vis-close{position:absolute;right:0;top:0;width:30px;height:30px;background-position:20px 3px;background-repeat:no-repeat;background-image:url(data:image/png;base64,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/GMzLdsAADvGaVRYdFhNTDpjb20uYWRvYmUueG1wAAAAAAA8P3hwYWNrZXQgYmVnaW49Iu+7vyIgaWQ9Ilc1TTBNcENlaGlIenJlU3pOVGN6a2M5ZCI/Pgo8eDp4bXBtZXRhIHhtbG5zOng9ImFkb2JlOm5zOm1ldGEvIiB4OnhtcHRrPSJBZG9iZSBYTVAgQ29yZSA1LjUtYzAyMSA3OS4xNTQ5MTEsIDIwMTMvMTAvMjktMTE6NDc6MTYgICAgICAgICI+CiAgIDxyZGY6UkRGIHhtbG5zOnJkZj0iaHR0cDovL3d3dy53My5vcmcvMTk5OS8wMi8yMi1yZGYtc3ludGF4LW5zIyI+CiAgICAgIDxyZGY6RGVzY3JpcHRpb24gcmRmOmFib3V0PSIiCiAgICAgICAgICAgIHhtbG5zOnhtcD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLyIKICAgICAgICAgICAgeG1sbnM6eG1wTU09Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9tbS8iCiAgICAgICAgICAgIHhtbG5zOnN0RXZ0PSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvc1R5cGUvUmVzb3VyY2VFdmVudCMiCiAgICAgICAgICAgIHhtbG5zOmRjPSJodHRwOi8vcHVybC5vcmcvZGMvZWxlbWVudHMvMS4xLyIKICAgICAgICAgICAgeG1sbnM6cGhvdG9zaG9wPSJodHRwOi8vbnMuYWRvYmUuY29tL3Bob3Rvc2hvcC8xLjAvIgogICAgICAgICAgICB4bWxuczp0aWZmPSJodHRwOi8vbnMuYWRvYmUuY29tL3RpZmYvMS4wLyIKICAgICAgICAgICAgeG1sbnM6ZXhpZj0iaHR0cDovL25zLmFkb2JlLmNvbS9leGlmLzEuMC8iPgogICAgICAgICA8eG1wOkNyZWF0b3JUb29sPkFkb2JlIFBob3Rvc2hvcCBDQyAoV2luZG93cyk8L3htcDpDcmVhdG9yVG9vbD4KICAgICAgICAgPHhtcDpDcmVhdGVEYXRlPjIwMTQtMDItMTRUMTE6NTU6MzUrMDE6MDA8L3htcDpDcmVhdGVEYXRlPgogICAgICAgICA8eG1wOk1ldGFkYXRhRGF0ZT4yMDE0LTAyLTE0VDEyOjA1OjE3KzAxOjAwPC94bXA6TWV0YWRhdGFEYXRlPgogICAgICAgICA8eG1wOk1vZGlmeURhdGU+MjAxNC0wMi0xNFQxMjowNToxNyswMTowMDwveG1wOk1vZGlmeURhdGU+CiAgICAgICAgIDx4bXBNTTpJbnN0YW5jZUlEPnhtcC5paWQ6NjU0YmM5YmQtMWI2Yi1jYjRhLTllOWQtNWY2MzgxNDVjZjk0PC94bXBNTTpJbnN0YW5jZUlEPgogICAgICAgICA8eG1wTU06RG9jdW1lbnRJRD54bXAuZGlkOjk4MmM2MGIwLWUzZjMtMDk0MC04MjU0LTFiZTliNWE0ZTE4MzwveG1wTU06RG9jdW1lbnRJRD4KICAgICAgICAgPHhtcE1NOk9yaWdpbmFsRG9jdW1lbnRJRD54bXAuZGlkOjk4MmM2MGIwLWUzZjMtMDk0MC04MjU0LTFiZTliNWE0ZTE4MzwveG1wTU06T3JpZ2luYWxEb2N1bWVudElEPgogICAgICAgICA8eG1wTU06SGlzdG9yeT4KICAgICAgICAgICAgPHJkZjpTZXE+CiAgICAgICAgICAgICAgIDxyZGY6bGkgcmRmOnBhcnNlVHlwZT0iUmVzb3VyY2UiPgogICAgICAgICAgICAgICAgICA8c3RFdnQ6YWN0aW9uPmNyZWF0ZWQ8L3N0RXZ0OmFjdGlvbj4KICAgICAgICAgICAgICAgICAgPHN0RXZ0Omluc3RhbmNlSUQ+eG1wLmlpZDo5ODJjNjBiMC1lM2YzLTA5NDAtODI1NC0xYmU5YjVhNGUxODM8L3N0RXZ0Omluc3RhbmNlSUQ+CiAgICAgICAgICAgICAgICAgIDxzdEV2dDp3aGVuPjIwMTQtMDItMTRUMTE6NTU6MzUrMDE6MDA8L3N0RXZ0OndoZW4+CiAgICAgICAgICAgICAgICAgIDxzdEV2dDpzb2Z0d2FyZUFnZW50PkFkb2JlIFBob3Rvc2hvcCBDQyAoV2luZG93cyk8L3N0RXZ0OnNvZnR3YXJlQWdlbnQ+CiAgICAgICAgICAgICAgIDwvcmRmOmxpPgogICAgICAgICAgICAgICA8cmRmOmxpIHJkZjpwYXJzZVR5cGU9IlJlc291cmNlIj4KICAgICAgICAgICAgICAgICAgPHN0RXZ0OmFjdGlvbj5zYXZlZDwvc3RFdnQ6YWN0aW9uPgogICAgICAgICAgICAgICAgICA8c3RFdnQ6aW5zdGFuY2VJRD54bXAuaWlkOjIxODYxNmM2LTM1MWMtNDI0OS04YWFkLWJkZDQ2ZTczNWE0NDwvc3RFdnQ6aW5zdGFuY2VJRD4KICAgICAgICAgICAgICAgICAgPHN0RXZ0OndoZW4+MjAxNC0wMi0xNFQxMTo1NTozNSswMTowMDwvc3RFdnQ6d2hlbj4KICAgICAgICAgICAgICAgICAgPHN0RXZ0OnNvZnR3YXJlQWdlbnQ+QWRvYmUgUGhvdG9zaG9wIENDIChXaW5kb3dzKTwvc3RFdnQ6c29mdHdhcmVBZ2VudD4KICAgICAgICAgICAgICAgICAgPHN0RXZ0OmNoYW5nZWQ+Lzwvc3RFdnQ6Y2hhbmdlZD4KICAgICAgICAgICAgICAgPC9yZGY6bGk+CiAgICAgICAgICAgICAgIDxyZGY6bGkgcmRmOnBhcnNlVHlwZT0iUmVzb3VyY2UiPgogICAgICAgICAgICAgICAgICA8c3RFdnQ6YWN0aW9uPnNhdmVkPC9zdEV2dDphY3Rpb24+CiAgICAgICAgICAgICAgICAgIDxzdEV2dDppbnN0YW5jZUlEPnhtcC5paWQ6NjU0YmM5YmQtMWI2Yi1jYjRhLTllOWQtNWY2MzgxNDVjZjk0PC9zdEV2dDppbnN0YW5jZUlEPgogICAgICAgICAgICAgICAgICA8c3RFdnQ6d2hlbj4yMDE0LTAyLTE0VDEyOjA1OjE3KzAxOjAwPC9zdEV2dDp3aGVuPgogICAgICAgICAgICAgICAgICA8c3RFdnQ6c29mdHdhcmVBZ2VudD5BZG9iZSBQaG90b3Nob3AgQ0MgKFdpbmRvd3MpPC9zdEV2dDpzb2Z0d2FyZUFnZW50PgogICAgICAgICAgICAgICAgICA8c3RFdnQ6Y2hhbmdlZD4vPC9zdEV2dDpjaGFuZ2VkPgogICAgICAgICAgICAgICA8L3JkZjpsaT4KICAgICAgICAgICAgPC9yZGY6U2VxPgogICAgICAgICA8L3htcE1NOkhpc3Rvcnk+CiAgICAgICAgIDxkYzpmb3JtYXQ+aW1hZ2UvcG5nPC9kYzpmb3JtYXQ+CiAgICAgICAgIDxwaG90b3Nob3A6Q29sb3JNb2RlPjM8L3Bob3Rvc2hvcDpDb2xvck1vZGU+CiAgICAgICAgIDxwaG90b3Nob3A6SUNDUHJvZmlsZT5zUkdCIElFQzYxOTY2LTIuMTwvcGhvdG9zaG9wOklDQ1Byb2ZpbGU+CiAgICAgICAgIDx0aWZmOk9yaWVudGF0aW9uPjE8L3RpZmY6T3JpZW50YXRpb24+CiAgICAgICAgIDx0aWZmOlhSZXNvbHV0aW9uPjcyMDAwMC8xMDAwMDwvdGlmZjpYUmVzb2x1dGlvbj4KICAgICAgICAgPHRpZmY6WVJlc29sdXRpb24+NzIwMDAwLzEwMDAwPC90aWZmOllSZXNvbHV0aW9uPgogICAgICAgICA8dGlmZjpSZXNvbHV0aW9uVW5pdD4yPC90aWZmOlJlc29sdXRpb25Vbml0PgogICAgICAgICA8ZXhpZjpDb2xvclNwYWNlPjE8L2V4aWY6Q29sb3JTcGFjZT4KICAgICAgICAgPGV4aWY6UGl4ZWxYRGltZW5zaW9uPjc8L2V4aWY6UGl4ZWxYRGltZW5zaW9uPgogICAgICAgICA8ZXhpZjpQaXhlbFlEaW1lbnNpb24+NzwvZXhpZjpQaXhlbFlEaW1lbnNpb24+CiAgICAgIDwvcmRmOkRlc2NyaXB0aW9uPgogICA8L3JkZjpSREY+CjwveDp4bXBtZXRhPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgIAo8P3hwYWNrZXQgZW5kPSJ3Ij8+cZUZMwAAACBjSFJNAAB6JQAAgIMAAPn/AACA6QAAdTAAAOpgAAA6mAAAF2+SX8VGAAAA2ElEQVR42gDLADT/AS0tLUQFBQUVFxcXtPHx8fPl5eUNCAgITCkpKesEHx8fGgYGBjH+/v4a+Pj4qgQEBFU6OjodMTExzwQUFBSvEBAQEfX19SD19fVqNDQ0CElJSd/9/f2vAwEBAfrn5+fkBwcHLRYWFgsXFxfz29vbo9LS0uwDDQ0NDfPz81orKysXIyMj+ODg4Avh4eEa/f391gMkJCRYPz8/KUhISOMCAgKh8fHxHRsbGx4UFBQQBDk5OeY7Ozv7CAgItPb29vMEBASaJSUlTQ0NDesDAEwpT0Ko8Ri2AAAAAElFTkSuQmCC);cursor:pointer;-webkit-touch-callout:none;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}div.vis-network div.vis-close:hover{opacity:.6}div.vis-network div.vis-edit-mode div.vis-button,div.vis-network div.vis-manipulation div.vis-button{float:left;font-family:verdana;font-size:12px;-moz-border-radius:15px;border-radius:15px;display:inline-block;background-position:0 0;background-repeat:no-repeat;height:24px;margin-left:10px;cursor:pointer;padding:0 8px;-webkit-touch-callout:none;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}div.vis-network div.vis-manipulation div.vis-button:hover{box-shadow:1px 1px 8px rgba(0,0,0,.2)}div.vis-network div.vis-manipulation div.vis-button:active{box-shadow:1px 1px 8px rgba(0,0,0,.5)}div.vis-network div.vis-manipulation div.vis-button.vis-back{background-image:url(data:image/png;base64,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/GMzLdsAAEEOaVRYdFhNTDpjb20uYWRvYmUueG1wAAAAAAA8P3hwYWNrZXQgYmVnaW49Iu+7vyIgaWQ9Ilc1TTBNcENlaGlIenJlU3pOVGN6a2M5ZCI/Pgo8eDp4bXBtZXRhIHhtbG5zOng9ImFkb2JlOm5zOm1ldGEvIiB4OnhtcHRrPSJBZG9iZSBYTVAgQ29yZSA1LjUtYzAyMSA3OS4xNTQ5MTEsIDIwMTMvMTAvMjktMTE6NDc6MTYgICAgICAgICI+CiAgIDxyZGY6UkRGIHhtbG5zOnJkZj0iaHR0cDovL3d3dy53My5vcmcvMTk5OS8wMi8yMi1yZGYtc3ludGF4LW5zIyI+CiAgICAgIDxyZGY6RGVzY3JpcHRpb24gcmRmOmFib3V0PSIiCiAgICAgICAgICAgIHhtbG5zOnhtcD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLyIKICAgICAgICAgICAgeG1sbnM6ZGM9Imh0dHA6Ly9wdXJsLm9yZy9kYy9lbGVtZW50cy8xLjEvIgogICAgICAgICAgICB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIKICAgICAgICAgICAgeG1sbnM6c3RFdnQ9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZUV2ZW50IyIKICAgICAgICAgICAgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiCiAgICAgICAgICAgIHhtbG5zOnBob3Rvc2hvcD0iaHR0cDovL25zLmFkb2JlLmNvbS9waG90b3Nob3AvMS4wLyIKICAgICAgICAgICAgeG1sbnM6dGlmZj0iaHR0cDovL25zLmFkb2JlLmNvbS90aWZmLzEuMC8iCiAgICAgICAgICAgIHhtbG5zOmV4aWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20vZXhpZi8xLjAvIj4KICAgICAgICAgPHhtcDpDcmVhdG9yVG9vbD5BZG9iZSBQaG90b3Nob3AgQ0MgKFdpbmRvd3MpPC94bXA6Q3JlYXRvclRvb2w+CiAgICAgICAgIDx4bXA6Q3JlYXRlRGF0ZT4yMDE0LTAxLTIyVDE5OjI0OjUxKzAxOjAwPC94bXA6Q3JlYXRlRGF0ZT4KICAgICAgICAgPHhtcDpNZXRhZGF0YURhdGU+MjAxNC0wMi0wNFQxNTowMTowOSswMTowMDwveG1wOk1ldGFkYXRhRGF0ZT4KICAgICAgICAgPHhtcDpNb2RpZnlEYXRlPjIwMTQtMDItMDRUMTU6MDE6MDkrMDE6MDA8L3htcDpNb2RpZnlEYXRlPgogICAgICAgICA8ZGM6Zm9ybWF0PmltYWdlL3BuZzwvZGM6Zm9ybWF0PgogICAgICAgICA8eG1wTU06SW5zdGFuY2VJRD54bXAuaWlkOmI2YjQwMjVkLTAxNjQtMzU0OC1hOTdlLTQ4ZmYxMWM3NTYzMzwveG1wTU06SW5zdGFuY2VJRD4KICAgICAgICAgPHhtcE1NOkRvY3VtZW50SUQ+eG1wLmRpZDpFQTc2MkY5Njc0ODNFMzExOTQ4QkQxM0UyQkU3OTlBMTwveG1wTU06RG9jdW1lbnRJRD4KICAgICAgICAgPHhtcE1NOk9yaWdpbmFsRG9jdW1lbnRJRD54bXAuZGlkOjczQjYyQUFEOTE4M0UzMTE5NDhCRDEzRTJCRTc5OUExPC94bXBNTTpPcmlnaW5hbERvY3VtZW50SUQ+CiAgICAgICAgIDx4bXBNTTpIaXN0b3J5PgogICAgICAgICAgICA8cmRmOlNlcT4KICAgICAgICAgICAgICAgPHJkZjpsaSByZGY6cGFyc2VUeXBlPSJSZXNvdXJjZSI+CiAgICAgICAgICAgICAgICAgIDxzdEV2dDphY3Rpb24+Y3JlYXRlZDwvc3RFdnQ6YWN0aW9uPgogICAgICAgICAgICAgICAgICA8c3RFdnQ6aW5zdGFuY2VJRD54bXAuaWlkOjczQjYyQUFEOTE4M0UzMTE5NDhCRDEzRTJCRTc5OUExPC9zdEV2dDppbnN0YW5jZUlEPgogICAgICAgICAgICAgICAgICA8c3RFdnQ6d2hlbj4yMDE0LTAxLTIyVDE5OjI0OjUxKzAxOjAwPC9zdEV2dDp3aGVuPgogICAgICAgICAgICAgICAgICA8c3RFdnQ6c29mdHdhcmVBZ2VudD5BZG9iZSBQaG90b3Nob3AgQ1M2IChXaW5kb3dzKTwvc3RFdnQ6c29mdHdhcmVBZ2VudD4KICAgICAgICAgICAgICAgPC9yZGY6bGk+CiAgICAgICAgICAgICAgIDxyZGY6bGkgcmRmOnBhcnNlVHlwZT0iUmVzb3VyY2UiPgogICAgICAgICAgICAgICAgICA8c3RFdnQ6YWN0aW9uPnNhdmVkPC9zdEV2dDphY3Rpb24+CiAgICAgICAgICAgICAgICAgIDxzdEV2dDppbnN0YW5jZUlEPnhtcC5paWQ6RUE2MEEyNEUxOTg0RTMxMUFEQUZFRkU2RUMzMzNFMDM8L3N0RXZ0Omluc3RhbmNlSUQ+CiAgICAgICAgICAgICAgICAgIDxzdEV2dDp3aGVuPjIwMTQtMDEtMjNUMTk6MTg6MDcrMDE6MDA8L3N0RXZ0OndoZW4+CiAgICAgICAgICAgICAgICAgIDxzdEV2dDpzb2Z0d2FyZUFnZW50PkFkb2JlIFBob3Rvc2hvcCBDUzYgKFdpbmRvd3MpPC9zdEV2dDpzb2Z0d2FyZUFnZW50PgogICAgICAgICAgICAgICAgICA8c3RFdnQ6Y2hhbmdlZD4vPC9zdEV2dDpjaGFuZ2VkPgogICAgICAgICAgICAgICA8L3JkZjpsaT4KICAgICAgICAgICAgICAgPHJkZjpsaSByZGY6cGFyc2VUeXBlPSJSZXNvdXJjZSI+CiAgICAgICAgICAgICAgICAgIDxzdEV2dDphY3Rpb24+c2F2ZWQ8L3N0RXZ0OmFjdGlvbj4KICAgICAgICAgICAgICAgICAgPHN0RXZ0Omluc3RhbmNlSUQ+eG1wLmlpZDpmOWQ3OGY4ZC1lNzY0LTc1NDgtODZiNy1iNmQ1OGMzZDg2OTc8L3N0RXZ0Omluc3RhbmNlSUQ+CiAgICAgICAgICAgICAgICAgIDxzdEV2dDp3aGVuPjIwMTQtMDItMDRUMTU6MDE6MDkrMDE6MDA8L3N0RXZ0OndoZW4+CiAgICAgICAgICAgICAgICAgIDxzdEV2dDpzb2Z0d2FyZUFnZW50PkFkb2JlIFBob3Rvc2hvcCBDQyAoV2luZG93cyk8L3N0RXZ0OnNvZnR3YXJlQWdlbnQ+CiAgICAgICAgICAgICAgICAgIDxzdEV2dDpjaGFuZ2VkPi88L3N0RXZ0OmNoYW5nZWQ+CiAgICAgICAgICAgICAgIDwvcmRmOmxpPgogICAgICAgICAgICAgICA8cmRmOmxpIHJkZjpwYXJzZVR5cGU9IlJlc291cmNlIj4KICAgICAgICAgICAgICAgICAgPHN0RXZ0OmFjdGlvbj5jb252ZXJ0ZWQ8L3N0RXZ0OmFjdGlvbj4KICAgICAgICAgICAgICAgICAgPHN0RXZ0OnBhcmFtZXRlcnM+ZnJvbSBhcHBsaWNhdGlvbi92bmQuYWRvYmUucGhvdG9zaG9wIHRvIGltYWdlL3BuZzwvc3RFdnQ6cGFyYW1ldGVycz4KICAgICAgICAgICAgICAgPC9yZGY6bGk+CiAgICAgICAgICAgICAgIDxyZGY6bGkgcmRmOnBhcnNlVHlwZT0iUmVzb3VyY2UiPgogICAgICAgICAgICAgICAgICA8c3RFdnQ6YWN0aW9uPmRlcml2ZWQ8L3N0RXZ0OmFjdGlvbj4KICAgICAgICAgICAgICAgICAgPHN0RXZ0OnBhcmFtZXRlcnM+Y29udmVydGVkIGZyb20gYXBwbGljYXRpb24vdm5kLmFkb2JlLnBob3Rvc2hvcCB0byBpbWFnZS9wbmc8L3N0RXZ0OnBhcmFtZXRlcnM+CiAgICAgICAgICAgICAgIDwvcmRmOmxpPgogICAgICAgICAgICAgICA8cmRmOmxpIHJkZjpwYXJzZVR5cGU9IlJlc291cmNlIj4KICAgICAgICAgICAgICAgICAgPHN0RXZ0OmFjdGlvbj5zYXZlZDwvc3RFdnQ6YWN0aW9uPgogICAgICAgICAgICAgICAgICA8c3RFdnQ6aW5zdGFuY2VJRD54bXAuaWlkOmI2YjQwMjVkLTAxNjQtMzU0OC1hOTdlLTQ4ZmYxMWM3NTYzMzwvc3RFdnQ6aW5zdGFuY2VJRD4KICAgICAgICAgICAgICAgICAgPHN0RXZ0OndoZW4+MjAxNC0wMi0wNFQxNTowMTowOSswMTowMDwvc3RFdnQ6d2hlbj4KICAgICAgICAgICAgICAgICAgPHN0RXZ0OnNvZnR3YXJlQWdlbnQ+QWRvYmUgUGhvdG9zaG9wIENDIChXaW5kb3dzKTwvc3RFdnQ6c29mdHdhcmVBZ2VudD4KICAgICAgICAgICAgICAgICAgPHN0RXZ0OmNoYW5nZWQ+Lzwvc3RFdnQ6Y2hhbmdlZD4KICAgICAgICAgICAgICAgPC9yZGY6bGk+CiAgICAgICAgICAgIDwvcmRmOlNlcT4KICAgICAgICAgPC94bXBNTTpIaXN0b3J5PgogICAgICAgICA8eG1wTU06RGVyaXZlZEZyb20gcmRmOnBhcnNlVHlwZT0iUmVzb3VyY2UiPgogICAgICAgICAgICA8c3RSZWY6aW5zdGFuY2VJRD54bXAuaWlkOmY5ZDc4ZjhkLWU3NjQtNzU0OC04NmI3LWI2ZDU4YzNkODY5Nzwvc3RSZWY6aW5zdGFuY2VJRD4KICAgICAgICAgICAgPHN0UmVmOmRvY3VtZW50SUQ+eG1wLmRpZDpFQTc2MkY5Njc0ODNFMzExOTQ4QkQxM0UyQkU3OTlBMTwvc3RSZWY6ZG9jdW1lbnRJRD4KICAgICAgICAgICAgPHN0UmVmOm9yaWdpbmFsRG9jdW1lbnRJRD54bXAuZGlkOjczQjYyQUFEOTE4M0UzMTE5NDhCRDEzRTJCRTc5OUExPC9zdFJlZjpvcmlnaW5hbERvY3VtZW50SUQ+CiAgICAgICAgIDwveG1wTU06RGVyaXZlZEZyb20+CiAgICAgICAgIDxwaG90b3Nob3A6Q29sb3JNb2RlPjM8L3Bob3Rvc2hvcDpDb2xvck1vZGU+CiAgICAgICAgIDxwaG90b3Nob3A6SUNDUHJvZmlsZT5zUkdCIElFQzYxOTY2LTIuMTwvcGhvdG9zaG9wOklDQ1Byb2ZpbGU+CiAgICAgICAgIDx0aWZmOk9yaWVudGF0aW9uPjE8L3RpZmY6T3JpZW50YXRpb24+CiAgICAgICAgIDx0aWZmOlhSZXNvbHV0aW9uPjcyMDA5MC8xMDAwMDwvdGlmZjpYUmVzb2x1dGlvbj4KICAgICAgICAgPHRpZmY6WVJlc29sdXRpb24+NzIwMDkwLzEwMDAwPC90aWZmOllSZXNvbHV0aW9uPgogICAgICAgICA8dGlmZjpSZXNvbHV0aW9uVW5pdD4yPC90aWZmOlJlc29sdXRpb25Vbml0PgogICAgICAgICA8ZXhpZjpDb2xvclNwYWNlPjE8L2V4aWY6Q29sb3JTcGFjZT4KICAgICAgICAgPGV4aWY6UGl4ZWxYRGltZW5zaW9uPjI0PC9leGlmOlBpeGVsWERpbWVuc2lvbj4KICAgICAgICAgPGV4aWY6UGl4ZWxZRGltZW5zaW9uPjI0PC9leGlmOlBpeGVsWURpbWVuc2lvbj4KICAgICAgPC9yZGY6RGVzY3JpcHRpb24+CiAgIDwvcmRmOlJERj4KPC94OnhtcG1ldGE+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgCjw/eHBhY2tldCBlbmQ9InciPz4jq1U/AAAAIGNIUk0AAHolAACAgwAA+f8AAIDpAAB1MAAA6mAAADqYAAAXb5JfxUYAAAVTSURBVHjanFVfTFNnFP+d77ve8qeVFbBrpcVgRrCRFikFByLxwSAaE32oRCHD6JMxxhhn8G2RxxH3MsOTbyYsmCAxPMmMMYtkIUYmK60OO0qAK23BFlNob0uh3x7WS5jLZPpLbm6+k/P9zrm5v9855PF4UFhYCABgjIExBgAgIqRSqRIi6gDQRkQ1RGTB3wgR0e8AHgH4Sa/XR/EBiAiJRAJ04cIF5Ofng4g2n0gkUkxENwF0c843LzHGQEQQQkCLExEA9ALotVgsUQAQQmgNQhJCbF5kjCEUCl0moj4t5na7fTU1NUpVVVXUYrEkASAcDhe8efOmxOfzWScmJqoBdBNR99LS0hWz2dynNSSEAF28eBGFhYVgjCEcDn9HRD1EhIMHD3o9Hs9kWVlZAh9BKBQqGB4edr58+dKZ+6JbJpOpBwBWV1fB6+rqIMsyIpHIFcZYL2MMra2tY5cuXRrfuXNnBtvAYDBk3G63oqpqZm5uzgrgSDKZjBoMhueZTAbc5XIhFouVEtFTxhiOHTs2dv78eS8+Efv374+oqpqZnZ21cs5PJJPJPlmWkyynnBuMMTQ0NHi7uro+mVyDx+Pxulwu71ZOlkqlSonoJhGhvb39s8k1nDx50ss5hyRJN9PpdKlERB2aWjSVaEilUvzBgwcORVEs5eXloXPnzk1sV8BkMiUdDofP7/dXZ7PZDilnIhw4cGBeS1pbW2P37t1zBwKBikQiUUREWFhYsHHO0d7evm0Ru90+/+rVq2rO+XGJiJxEhMrKyhgAjI6OWoeHh5tWVla+4JzDZrO9bW5unhwcHGzz+/32np4e+xaDbfoHAMxmc6ijo2O0oqIiJkkSNjY2HBIRmRljMJvNyWfPnln7+/tPMMZQXl6+0NbW9qK2tjYcj8floaEhqKpq+HCkbD3PzMwYBgYG0NXV9UuusFna2kEgELAQEQ4dOvSis7PzN41Ar9dnrl27NqCNkv/C3bt3zy4tLVmICJxzEBFJRBQmorLFxcWCqqqq0Pj4eO3Y2JhbUZTdra2tL2pra8OJRGLHnTt3zkqS9K+huHU4EhHMZnMoGo0W5OIh7nK5jjLGKq1W69vDhw8rRqMxMjc3t2t5eXnX5ORklc/nM+fl5SWnpqa+0uv1K/n5+Ws6nW5NluXNd15e3ppOp1uz2WyzZ86cGQ0Gg6ZAIFCZzWZ/lYjokRDiuN/vt7W0tMw3NTUpbrd78P79++5gMFgRiUTKHj58WMYYQ3V19etTp05tq6Lp6Wkb5xxCiEfc7XZPM8a6FxcXTfX19a/1en2Gcy5qamreNjY2/qGq6joRZe12+9Tp06e3JY/FYgWPHz8+mhvr3/CWlpbk+vp6PmOseWVlBS6XS9GSJUkSdrs93NDQ8Oe+ffvC/8fJIyMjddFo9Esi6pVleVjT2m0A8Hq9zqGhIefnjoknT544A4GAM/eDbxMReFNTE0pKSpKqqsaI6Pj8/LxVVdWM3W6PfCr5xMTE1zllXS0uLn6aSqXAGxsbodPpoNfrn6uqCs75EUVRrJFIZMfevXsXdTrdxseIE4mEPDIyUu/3++tynd8yGo29RIR0Og26fv06ioqKwBgD5xzv3r27zBjrIyJIkgSHwzFZWVmp7NmzJ1ZaWpoAgGg0WqgoSvHMzIw1GAw6tvjhitFo7NPW5fv370Hd3d0oKCgA53zTQMvLy+VCiKuSJH0rSdLmztZytIWv5RPRD0T0Y3Fx8dzWfby6ugopHo//w4mcc8iyPMc5v5FOp7/PZrOdQohWInIC2C2EgBBigYi8Qoifs9lsv06nWyIiaFxagXg8jr8GAGxuIe7LBeWhAAAAAElFTkSuQmCC)}div.vis-network div.vis-manipulation div.vis-button.vis-none:hover{box-shadow:1px 1px 8px transparent;cursor:default}div.vis-network div.vis-manipulation div.vis-button.vis-none:active{box-shadow:1px 1px 8px transparent}div.vis-network div.vis-manipulation div.vis-button.vis-none{padding:0}div.vis-network div.vis-manipulation div.notification{margin:2px;font-weight:700}div.vis-network div.vis-manipulation div.vis-button.vis-add{background-image:url(data:image/png;base64,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/GMzLdsAAEEOaVRYdFhNTDpjb20uYWRvYmUueG1wAAAAAAA8P3hwYWNrZXQgYmVnaW49Iu+7vyIgaWQ9Ilc1TTBNcENlaGlIenJlU3pOVGN6a2M5ZCI/Pgo8eDp4bXBtZXRhIHhtbG5zOng9ImFkb2JlOm5zOm1ldGEvIiB4OnhtcHRrPSJBZG9iZSBYTVAgQ29yZSA1LjUtYzAyMSA3OS4xNTQ5MTEsIDIwMTMvMTAvMjktMTE6NDc6MTYgICAgICAgICI+CiAgIDxyZGY6UkRGIHhtbG5zOnJkZj0iaHR0cDovL3d3dy53My5vcmcvMTk5OS8wMi8yMi1yZGYtc3ludGF4LW5zIyI+CiAgICAgIDxyZGY6RGVzY3JpcHRpb24gcmRmOmFib3V0PSIiCiAgICAgICAgICAgIHhtbG5zOnhtcD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLyIKICAgICAgICAgICAgeG1sbnM6ZGM9Imh0dHA6Ly9wdXJsLm9yZy9kYy9lbGVtZW50cy8xLjEvIgogICAgICAgICAgICB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIKICAgICAgICAgICAgeG1sbnM6c3RFdnQ9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZUV2ZW50IyIKICAgICAgICAgICAgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiCiAgICAgICAgICAgIHhtbG5zOnBob3Rvc2hvcD0iaHR0cDovL25zLmFkb2JlLmNvbS9waG90b3Nob3AvMS4wLyIKICAgICAgICAgICAgeG1sbnM6dGlmZj0iaHR0cDovL25zLmFkb2JlLmNvbS90aWZmLzEuMC8iCiAgICAgICAgICAgIHhtbG5zOmV4aWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20vZXhpZi8xLjAvIj4KICAgICAgICAgPHhtcDpDcmVhdG9yVG9vbD5BZG9iZSBQaG90b3Nob3AgQ0MgKFdpbmRvd3MpPC94bXA6Q3JlYXRvclRvb2w+CiAgICAgICAgIDx4bXA6Q3JlYXRlRGF0ZT4yMDE0LTAxLTIyVDE5OjI0OjUxKzAxOjAwPC94bXA6Q3JlYXRlRGF0ZT4KICAgICAgICAgPHhtcDpNZXRhZGF0YURhdGU+MjAxNC0wMi0wNFQxNDo0MDoyOSswMTowMDwveG1wOk1ldGFkYXRhRGF0ZT4KICAgICAgICAgPHhtcDpNb2RpZnlEYXRlPjIwMTQtMDItMDRUMTQ6NDA6MjkrMDE6MDA8L3htcDpNb2RpZnlEYXRlPgogICAgICAgICA8ZGM6Zm9ybWF0PmltYWdlL3BuZzwvZGM6Zm9ybWF0PgogICAgICAgICA8eG1wTU06SW5zdGFuY2VJRD54bXAuaWlkOjVkNWIwNmQwLTVmMjAtOGE0NC1hMzIwLWZmMTEzMzQwNDc0YjwveG1wTU06SW5zdGFuY2VJRD4KICAgICAgICAgPHhtcE1NOkRvY3VtZW50SUQ+eG1wLmRpZDpFQTc2MkY5Njc0ODNFMzExOTQ4QkQxM0UyQkU3OTlBMTwveG1wTU06RG9jdW1lbnRJRD4KICAgICAgICAgPHhtcE1NOk9yaWdpbmFsRG9jdW1lbnRJRD54bXAuZGlkOjczQjYyQUFEOTE4M0UzMTE5NDhCRDEzRTJCRTc5OUExPC94bXBNTTpPcmlnaW5hbERvY3VtZW50SUQ+CiAgICAgICAgIDx4bXBNTTpIaXN0b3J5PgogICAgICAgICAgICA8cmRmOlNlcT4KICAgICAgICAgICAgICAgPHJkZjpsaSByZGY6cGFyc2VUeXBlPSJSZXNvdXJjZSI+CiAgICAgICAgICAgICAgICAgIDxzdEV2dDphY3Rpb24+Y3JlYXRlZDwvc3RFdnQ6YWN0aW9uPgogICAgICAgICAgICAgICAgICA8c3RFdnQ6aW5zdGFuY2VJRD54bXAuaWlkOjczQjYyQUFEOTE4M0UzMTE5NDhCRDEzRTJCRTc5OUExPC9zdEV2dDppbnN0YW5jZUlEPgogICAgICAgICAgICAgICAgICA8c3RFdnQ6d2hlbj4yMDE0LTAxLTIyVDE5OjI0OjUxKzAxOjAwPC9zdEV2dDp3aGVuPgogICAgICAgICAgICAgICAgICA8c3RFdnQ6c29mdHdhcmVBZ2VudD5BZG9iZSBQaG90b3Nob3AgQ1M2IChXaW5kb3dzKTwvc3RFdnQ6c29mdHdhcmVBZ2VudD4KICAgICAgICAgICAgICAgPC9yZGY6bGk+CiAgICAgICAgICAgICAgIDxyZGY6bGkgcmRmOnBhcnNlVHlwZT0iUmVzb3VyY2UiPgogICAgICAgICAgICAgICAgICA8c3RFdnQ6YWN0aW9uPnNhdmVkPC9zdEV2dDphY3Rpb24+CiAgICAgICAgICAgICAgICAgIDxzdEV2dDppbnN0YW5jZUlEPnhtcC5paWQ6RUE2MEEyNEUxOTg0RTMxMUFEQUZFRkU2RUMzMzNFMDM8L3N0RXZ0Omluc3RhbmNlSUQ+CiAgICAgICAgICAgICAgICAgIDxzdEV2dDp3aGVuPjIwMTQtMDEtMjNUMTk6MTg6MDcrMDE6MDA8L3N0RXZ0OndoZW4+CiAgICAgICAgICAgICAgICAgIDxzdEV2dDpzb2Z0d2FyZUFnZW50PkFkb2JlIFBob3Rvc2hvcCBDUzYgKFdpbmRvd3MpPC9zdEV2dDpzb2Z0d2FyZUFnZW50PgogICAgICAgICAgICAgICAgICA8c3RFdnQ6Y2hhbmdlZD4vPC9zdEV2dDpjaGFuZ2VkPgogICAgICAgICAgICAgICA8L3JkZjpsaT4KICAgICAgICAgICAgICAgPHJkZjpsaSByZGY6cGFyc2VUeXBlPSJSZXNvdXJjZSI+CiAgICAgICAgICAgICAgICAgIDxzdEV2dDphY3Rpb24+c2F2ZWQ8L3N0RXZ0OmFjdGlvbj4KICAgICAgICAgICAgICAgICAgPHN0RXZ0Omluc3RhbmNlSUQ+eG1wLmlpZDo2OWVmYWE1NS01ZTI5LTIzNGUtYTUzMy0xNDkxYjM1NDNmYmE8L3N0RXZ0Omluc3RhbmNlSUQ+CiAgICAgICAgICAgICAgICAgIDxzdEV2dDp3aGVuPjIwMTQtMDItMDRUMTQ6NDA6MjkrMDE6MDA8L3N0RXZ0OndoZW4+CiAgICAgICAgICAgICAgICAgIDxzdEV2dDpzb2Z0d2FyZUFnZW50PkFkb2JlIFBob3Rvc2hvcCBDQyAoV2luZG93cyk8L3N0RXZ0OnNvZnR3YXJlQWdlbnQ+CiAgICAgICAgICAgICAgICAgIDxzdEV2dDpjaGFuZ2VkPi88L3N0RXZ0OmNoYW5nZWQ+CiAgICAgICAgICAgICAgIDwvcmRmOmxpPgogICAgICAgICAgICAgICA8cmRmOmxpIHJkZjpwYXJzZVR5cGU9IlJlc291cmNlIj4KICAgICAgICAgICAgICAgICAgPHN0RXZ0OmFjdGlvbj5jb252ZXJ0ZWQ8L3N0RXZ0OmFjdGlvbj4KICAgICAgICAgICAgICAgICAgPHN0RXZ0OnBhcmFtZXRlcnM+ZnJvbSBhcHBsaWNhdGlvbi92bmQuYWRvYmUucGhvdG9zaG9wIHRvIGltYWdlL3BuZzwvc3RFdnQ6cGFyYW1ldGVycz4KICAgICAgICAgICAgICAgPC9yZGY6bGk+CiAgICAgICAgICAgICAgIDxyZGY6bGkgcmRmOnBhcnNlVHlwZT0iUmVzb3VyY2UiPgogICAgICAgICAgICAgICAgICA8c3RFdnQ6YWN0aW9uPmRlcml2ZWQ8L3N0RXZ0OmFjdGlvbj4KICAgICAgICAgICAgICAgICAgPHN0RXZ0OnBhcmFtZXRlcnM+Y29udmVydGVkIGZyb20gYXBwbGljYXRpb24vdm5kLmFkb2JlLnBob3Rvc2hvcCB0byBpbWFnZS9wbmc8L3N0RXZ0OnBhcmFtZXRlcnM+CiAgICAgICAgICAgICAgIDwvcmRmOmxpPgogICAgICAgICAgICAgICA8cmRmOmxpIHJkZjpwYXJzZVR5cGU9IlJlc291cmNlIj4KICAgICAgICAgICAgICAgICAgPHN0RXZ0OmFjdGlvbj5zYXZlZDwvc3RFdnQ6YWN0aW9uPgogICAgICAgICAgICAgICAgICA8c3RFdnQ6aW5zdGFuY2VJRD54bXAuaWlkOjVkNWIwNmQwLTVmMjAtOGE0NC1hMzIwLWZmMTEzMzQwNDc0Yjwvc3RFdnQ6aW5zdGFuY2VJRD4KICAgICAgICAgICAgICAgICAgPHN0RXZ0OndoZW4+MjAxNC0wMi0wNFQxNDo0MDoyOSswMTowMDwvc3RFdnQ6d2hlbj4KICAgICAgICAgICAgICAgICAgPHN0RXZ0OnNvZnR3YXJlQWdlbnQ+QWRvYmUgUGhvdG9zaG9wIENDIChXaW5kb3dzKTwvc3RFdnQ6c29mdHdhcmVBZ2VudD4KICAgICAgICAgICAgICAgICAgPHN0RXZ0OmNoYW5nZWQ+Lzwvc3RFdnQ6Y2hhbmdlZD4KICAgICAgICAgICAgICAgPC9yZGY6bGk+CiAgICAgICAgICAgIDwvcmRmOlNlcT4KICAgICAgICAgPC94bXBNTTpIaXN0b3J5PgogICAgICAgICA8eG1wTU06RGVyaXZlZEZyb20gcmRmOnBhcnNlVHlwZT0iUmVzb3VyY2UiPgogICAgICAgICAgICA8c3RSZWY6aW5zdGFuY2VJRD54bXAuaWlkOjY5ZWZhYTU1LTVlMjktMjM0ZS1hNTMzLTE0OTFiMzU0M2ZiYTwvc3RSZWY6aW5zdGFuY2VJRD4KICAgICAgICAgICAgPHN0UmVmOmRvY3VtZW50SUQ+eG1wLmRpZDpFQTc2MkY5Njc0ODNFMzExOTQ4QkQxM0UyQkU3OTlBMTwvc3RSZWY6ZG9jdW1lbnRJRD4KICAgICAgICAgICAgPHN0UmVmOm9yaWdpbmFsRG9jdW1lbnRJRD54bXAuZGlkOjczQjYyQUFEOTE4M0UzMTE5NDhCRDEzRTJCRTc5OUExPC9zdFJlZjpvcmlnaW5hbERvY3VtZW50SUQ+CiAgICAgICAgIDwveG1wTU06RGVyaXZlZEZyb20+CiAgICAgICAgIDxwaG90b3Nob3A6Q29sb3JNb2RlPjM8L3Bob3Rvc2hvcDpDb2xvck1vZGU+CiAgICAgICAgIDxwaG90b3Nob3A6SUNDUHJvZmlsZT5zUkdCIElFQzYxOTY2LTIuMTwvcGhvdG9zaG9wOklDQ1Byb2ZpbGU+CiAgICAgICAgIDx0aWZmOk9yaWVudGF0aW9uPjE8L3RpZmY6T3JpZW50YXRpb24+CiAgICAgICAgIDx0aWZmOlhSZXNvbHV0aW9uPjcyMDA5MC8xMDAwMDwvdGlmZjpYUmVzb2x1dGlvbj4KICAgICAgICAgPHRpZmY6WVJlc29sdXRpb24+NzIwMDkwLzEwMDAwPC90aWZmOllSZXNvbHV0aW9uPgogICAgICAgICA8dGlmZjpSZXNvbHV0aW9uVW5pdD4yPC90aWZmOlJlc29sdXRpb25Vbml0PgogICAgICAgICA8ZXhpZjpDb2xvclNwYWNlPjE8L2V4aWY6Q29sb3JTcGFjZT4KICAgICAgICAgPGV4aWY6UGl4ZWxYRGltZW5zaW9uPjI0PC9leGlmOlBpeGVsWERpbWVuc2lvbj4KICAgICAgICAgPGV4aWY6UGl4ZWxZRGltZW5zaW9uPjI0PC9leGlmOlBpeGVsWURpbWVuc2lvbj4KICAgICAgPC9yZGY6RGVzY3JpcHRpb24+CiAgIDwvcmRmOlJERj4KPC94OnhtcG1ldGE+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgCjw/eHBhY2tldCBlbmQ9InciPz5WKqp9AAAAIGNIUk0AAHolAACAgwAA+f8AAIDpAAB1MAAA6mAAADqYAAAXb5JfxUYAAAYXSURBVHjafFZtUFTXGX7e9z27sveuMCwYV8ElrA7YSFYHtJUPkaaI0aRqG8wP00zUzljDINNSA/2ROtpO24SxnahlxjYd7SSjmUkymcxYlDhQPzHGisEVp8HwYWCVVVgEsrsuLnL74+5uqTF9Z+7cO/d8PO95zvO851BlZSV0XQcAMDOYGQBARDhX3JRmMDYZwLPMWAzGHACYIgwS46oBNBNwtOL8CwE8EkSEUCgE2rJlC2w2G4go8Zwo/bMDgnoG6gxLfAAAYvPDMCCszKTAMIAGAhrWnf15AAAMwwARIRKJgDZv3gy73Q4iAjPjxIr9VVOMRhbAYKB8zvrO0llrfEsdKwLZek6YAPSFvtSu3GtLawu0ZJ6625SHGBQB1T88t6MxvopgMAjaunUrdF0HM+P4yv27DMYeJmB1RqW3Jnf3tQX2p0L4P9EXuqEd7PmDp+XuMU9sRbvXnnt1TxxACgoKYLVacbzsQDUJGkSATe6qi28uPtzusM6Kxie6NHLGUX3lxVUNX9StPHnn4wy3njuUYcu6n2pNi66avcEXnByP/nv8aiaIyrqz2gO5A9+9FI1GIfn5+WhZdTAdjFMkwMvZOy7uWnTAOz3L4Yk71m3t69fdfTDoUGTBeHTUfiHQ6lo7Z2OXJvpDAChKe+aOCdKRKWxZ2+1qb3yyd3GYmRkQ7GQBVs99wfv6on3eR2k4PdTkDEbH7IuS8/svld/561PJS/pDk1/bzwx94pze7xc5v/H+YPY6r5BAkdrJzODTK46lE6PeYEJt7u+8j+OZwCBiEAgAoNgKJoEQf6PvNvdrXgtZoNhSf7q0KZ3B2AQmVMze0Jmt54S/DcDCVig2NcvEUGxJAE4Pl+YOr0iv6BRSIPAmBeBZAmHlE2sH4p1uhrq1s0MnnEQMBsf8wRASAICQQCCITN1X7/sOuc0kgOVp3/fPs2WHv+coG7gQOJUnLGsUCTxEjPzUohEA+NfIWUdtx0+efzA1kSSkIGyBAQNCKgHAEBAJ3u79U7kiAcWoem/gb5Fd33nrH3kp+SMWtuAB+GllMJxMjCx9QRgA3uiqL5kwHiTlpxb3smlfMDGYGPP1hcMAkJvs8ScpfdJspdj+MK6Pf+5+u29vyb4lR4+BGEziVESAkEpw6Av1OhUpHCz4qOXbzFWz4Ncdj/v/o08Lt92ODDgZDCEFJYoUGH4mzugP92puPTf0pD3H7wvfdFZdqSxnMtWjoGAAmG9fOLxjwesdjT2/XzIQ7ks3sycYMSEwGHNtWf5bkX5NkYCJBxUBXiGV0XHvosOt54Zey33j/K+8P33++vjnbiGJbbLE+J9SANAb6nJ2B79wcUwETAwQQ7fMjPzMvfP8ja87HUIKMOiaAqMZhrGmLdAy78eZrwwsTS0eObTs+IdtgVanxBUExqGbb5VzrIISGIoUXsmqbgEhJldCQWqRf27SvPAn/o8XmgLhZsUkR4ll37mhk3n94Z4OlzY/7NLcYZfm7o1z2zT4vsvUNSXqprBCkmiTFbPX90/fh8GIT2sf+zTPdDMf4dVnNg4z+E0ixsGeBs9jd5ViSgLHjCb/peaR+MD3d4/ZJg2llyuG2Vwy7QWAs8PNnn1f7vkGSGxAzE6mk+kxkx/p/4unffSCR0hAoL1EBCYiPNdWNcwkNQTCR7feWX6g+7f/A7I8rcw/U6UEe0Ndrhc/W7mtL9ztmqlSgstSS/zTJ28dalpOpkRryrwbhwBACgsLMWPGDOT4ll3qyeqAkJTdCF7P/CrUY/GkLL1rE+2hTbSH8+0Lb/WEuhzhyaA905blf9Vd/895WnZwLHrPevir/cvOB1oLYpTtLrm6oYGIMDExAaqtrUVKSgqYGSKCk0WHq5ikkWEWtNL0imv5qUW+RclLRjJsrhBAuH1/QL8R7HR4xy5nescuP23E6hOA6mLv+sb4uTw6Ogqqq6uDpmkQkcStorX4XRcM1FjZ+kvFFjCJKU1WpkNJJUqIMtX1RyLeX3JtQ0JRhmGYZ/L27duRnJycuFGISOJ9pqh5lrB6iYgqGOxRrOaa54DcZmKvkJxk8JHC9rKh+KVhOsD4+Dj+MwADIf8n5m4xGwAAAABJRU5ErkJggg==)}div.vis-network div.vis-edit-mode div.vis-button.vis-edit,div.vis-network div.vis-manipulation div.vis-button.vis-edit{background-image:url(data:image/png;base64,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/GMzLdsAAEEOaVRYdFhNTDpjb20uYWRvYmUueG1wAAAAAAA8P3hwYWNrZXQgYmVnaW49Iu+7vyIgaWQ9Ilc1TTBNcENlaGlIenJlU3pOVGN6a2M5ZCI/Pgo8eDp4bXBtZXRhIHhtbG5zOng9ImFkb2JlOm5zOm1ldGEvIiB4OnhtcHRrPSJBZG9iZSBYTVAgQ29yZSA1LjUtYzAyMSA3OS4xNTQ5MTEsIDIwMTMvMTAvMjktMTE6NDc6MTYgICAgICAgICI+CiAgIDxyZGY6UkRGIHhtbG5zOnJkZj0iaHR0cDovL3d3dy53My5vcmcvMTk5OS8wMi8yMi1yZGYtc3ludGF4LW5zIyI+CiAgICAgIDxyZGY6RGVzY3JpcHRpb24gcmRmOmFib3V0PSIiCiAgICAgICAgICAgIHhtbG5zOnhtcD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLyIKICAgICAgICAgICAgeG1sbnM6ZGM9Imh0dHA6Ly9wdXJsLm9yZy9kYy9lbGVtZW50cy8xLjEvIgogICAgICAgICAgICB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIKICAgICAgICAgICAgeG1sbnM6c3RFdnQ9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZUV2ZW50IyIKICAgICAgICAgICAgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiCiAgICAgICAgICAgIHhtbG5zOnBob3Rvc2hvcD0iaHR0cDovL25zLmFkb2JlLmNvbS9waG90b3Nob3AvMS4wLyIKICAgICAgICAgICAgeG1sbnM6dGlmZj0iaHR0cDovL25zLmFkb2JlLmNvbS90aWZmLzEuMC8iCiAgICAgICAgICAgIHhtbG5zOmV4aWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20vZXhpZi8xLjAvIj4KICAgICAgICAgPHhtcDpDcmVhdG9yVG9vbD5BZG9iZSBQaG90b3Nob3AgQ0MgKFdpbmRvd3MpPC94bXA6Q3JlYXRvclRvb2w+CiAgICAgICAgIDx4bXA6Q3JlYXRlRGF0ZT4yMDE0LTAxLTIyVDE5OjI0OjUxKzAxOjAwPC94bXA6Q3JlYXRlRGF0ZT4KICAgICAgICAgPHhtcDpNZXRhZGF0YURhdGU+MjAxNC0wMi0wNVQxNDoxMjoyNSswMTowMDwveG1wOk1ldGFkYXRhRGF0ZT4KICAgICAgICAgPHhtcDpNb2RpZnlEYXRlPjIwMTQtMDItMDVUMTQ6MTI6MjUrMDE6MDA8L3htcDpNb2RpZnlEYXRlPgogICAgICAgICA8ZGM6Zm9ybWF0PmltYWdlL3BuZzwvZGM6Zm9ybWF0PgogICAgICAgICA8eG1wTU06SW5zdGFuY2VJRD54bXAuaWlkOjY5OTM3ZGZjLTJjNzQtYTU0YS05OTIzLTQyMmZhNDNkMjljNDwveG1wTU06SW5zdGFuY2VJRD4KICAgICAgICAgPHhtcE1NOkRvY3VtZW50SUQ+eG1wLmRpZDpFQTc2MkY5Njc0ODNFMzExOTQ4QkQxM0UyQkU3OTlBMTwveG1wTU06RG9jdW1lbnRJRD4KICAgICAgICAgPHhtcE1NOk9yaWdpbmFsRG9jdW1lbnRJRD54bXAuZGlkOjczQjYyQUFEOTE4M0UzMTE5NDhCRDEzRTJCRTc5OUExPC94bXBNTTpPcmlnaW5hbERvY3VtZW50SUQ+CiAgICAgICAgIDx4bXBNTTpIaXN0b3J5PgogICAgICAgICAgICA8cmRmOlNlcT4KICAgICAgICAgICAgICAgPHJkZjpsaSByZGY6cGFyc2VUeXBlPSJSZXNvdXJjZSI+CiAgICAgICAgICAgICAgICAgIDxzdEV2dDphY3Rpb24+Y3JlYXRlZDwvc3RFdnQ6YWN0aW9uPgogICAgICAgICAgICAgICAgICA8c3RFdnQ6aW5zdGFuY2VJRD54bXAuaWlkOjczQjYyQUFEOTE4M0UzMTE5NDhCRDEzRTJCRTc5OUExPC9zdEV2dDppbnN0YW5jZUlEPgogICAgICAgICAgICAgICAgICA8c3RFdnQ6d2hlbj4yMDE0LTAxLTIyVDE5OjI0OjUxKzAxOjAwPC9zdEV2dDp3aGVuPgogICAgICAgICAgICAgICAgICA8c3RFdnQ6c29mdHdhcmVBZ2VudD5BZG9iZSBQaG90b3Nob3AgQ1M2IChXaW5kb3dzKTwvc3RFdnQ6c29mdHdhcmVBZ2VudD4KICAgICAgICAgICAgICAgPC9yZGY6bGk+CiAgICAgICAgICAgICAgIDxyZGY6bGkgcmRmOnBhcnNlVHlwZT0iUmVzb3VyY2UiPgogICAgICAgICAgICAgICAgICA8c3RFdnQ6YWN0aW9uPnNhdmVkPC9zdEV2dDphY3Rpb24+CiAgICAgICAgICAgICAgICAgIDxzdEV2dDppbnN0YW5jZUlEPnhtcC5paWQ6RUE2MEEyNEUxOTg0RTMxMUFEQUZFRkU2RUMzMzNFMDM8L3N0RXZ0Omluc3RhbmNlSUQ+CiAgICAgICAgICAgICAgICAgIDxzdEV2dDp3aGVuPjIwMTQtMDEtMjNUMTk6MTg6MDcrMDE6MDA8L3N0RXZ0OndoZW4+CiAgICAgICAgICAgICAgICAgIDxzdEV2dDpzb2Z0d2FyZUFnZW50PkFkb2JlIFBob3Rvc2hvcCBDUzYgKFdpbmRvd3MpPC9zdEV2dDpzb2Z0d2FyZUFnZW50PgogICAgICAgICAgICAgICAgICA8c3RFdnQ6Y2hhbmdlZD4vPC9zdEV2dDpjaGFuZ2VkPgogICAgICAgICAgICAgICA8L3JkZjpsaT4KICAgICAgICAgICAgICAgPHJkZjpsaSByZGY6cGFyc2VUeXBlPSJSZXNvdXJjZSI+CiAgICAgICAgICAgICAgICAgIDxzdEV2dDphY3Rpb24+c2F2ZWQ8L3N0RXZ0OmFjdGlvbj4KICAgICAgICAgICAgICAgICAgPHN0RXZ0Omluc3RhbmNlSUQ+eG1wLmlpZDozOWNhNzE5ZC03YzNlLTUyNGEtYmY1NS03NGVmMmM1MzE0YTc8L3N0RXZ0Omluc3RhbmNlSUQ+CiAgICAgICAgICAgICAgICAgIDxzdEV2dDp3aGVuPjIwMTQtMDItMDVUMTQ6MTI6MjUrMDE6MDA8L3N0RXZ0OndoZW4+CiAgICAgICAgICAgICAgICAgIDxzdEV2dDpzb2Z0d2FyZUFnZW50PkFkb2JlIFBob3Rvc2hvcCBDQyAoV2luZG93cyk8L3N0RXZ0OnNvZnR3YXJlQWdlbnQ+CiAgICAgICAgICAgICAgICAgIDxzdEV2dDpjaGFuZ2VkPi88L3N0RXZ0OmNoYW5nZWQ+CiAgICAgICAgICAgICAgIDwvcmRmOmxpPgogICAgICAgICAgICAgICA8cmRmOmxpIHJkZjpwYXJzZVR5cGU9IlJlc291cmNlIj4KICAgICAgICAgICAgICAgICAgPHN0RXZ0OmFjdGlvbj5jb252ZXJ0ZWQ8L3N0RXZ0OmFjdGlvbj4KICAgICAgICAgICAgICAgICAgPHN0RXZ0OnBhcmFtZXRlcnM+ZnJvbSBhcHBsaWNhdGlvbi92bmQuYWRvYmUucGhvdG9zaG9wIHRvIGltYWdlL3BuZzwvc3RFdnQ6cGFyYW1ldGVycz4KICAgICAgICAgICAgICAgPC9yZGY6bGk+CiAgICAgICAgICAgICAgIDxyZGY6bGkgcmRmOnBhcnNlVHlwZT0iUmVzb3VyY2UiPgogICAgICAgICAgICAgICAgICA8c3RFdnQ6YWN0aW9uPmRlcml2ZWQ8L3N0RXZ0OmFjdGlvbj4KICAgICAgICAgICAgICAgICAgPHN0RXZ0OnBhcmFtZXRlcnM+Y29udmVydGVkIGZyb20gYXBwbGljYXRpb24vdm5kLmFkb2JlLnBob3Rvc2hvcCB0byBpbWFnZS9wbmc8L3N0RXZ0OnBhcmFtZXRlcnM+CiAgICAgICAgICAgICAgIDwvcmRmOmxpPgogICAgICAgICAgICAgICA8cmRmOmxpIHJkZjpwYXJzZVR5cGU9IlJlc291cmNlIj4KICAgICAgICAgICAgICAgICAgPHN0RXZ0OmFjdGlvbj5zYXZlZDwvc3RFdnQ6YWN0aW9uPgogICAgICAgICAgICAgICAgICA8c3RFdnQ6aW5zdGFuY2VJRD54bXAuaWlkOjY5OTM3ZGZjLTJjNzQtYTU0YS05OTIzLTQyMmZhNDNkMjljNDwvc3RFdnQ6aW5zdGFuY2VJRD4KICAgICAgICAgICAgICAgICAgPHN0RXZ0OndoZW4+MjAxNC0wMi0wNVQxNDoxMjoyNSswMTowMDwvc3RFdnQ6d2hlbj4KICAgICAgICAgICAgICAgICAgPHN0RXZ0OnNvZnR3YXJlQWdlbnQ+QWRvYmUgUGhvdG9zaG9wIENDIChXaW5kb3dzKTwvc3RFdnQ6c29mdHdhcmVBZ2VudD4KICAgICAgICAgICAgICAgICAgPHN0RXZ0OmNoYW5nZWQ+Lzwvc3RFdnQ6Y2hhbmdlZD4KICAgICAgICAgICAgICAgPC9yZGY6bGk+CiAgICAgICAgICAgIDwvcmRmOlNlcT4KICAgICAgICAgPC94bXBNTTpIaXN0b3J5PgogICAgICAgICA8eG1wTU06RGVyaXZlZEZyb20gcmRmOnBhcnNlVHlwZT0iUmVzb3VyY2UiPgogICAgICAgICAgICA8c3RSZWY6aW5zdGFuY2VJRD54bXAuaWlkOjM5Y2E3MTlkLTdjM2UtNTI0YS1iZjU1LTc0ZWYyYzUzMTRhNzwvc3RSZWY6aW5zdGFuY2VJRD4KICAgICAgICAgICAgPHN0UmVmOmRvY3VtZW50SUQ+eG1wLmRpZDpFQTc2MkY5Njc0ODNFMzExOTQ4QkQxM0UyQkU3OTlBMTwvc3RSZWY6ZG9jdW1lbnRJRD4KICAgICAgICAgICAgPHN0UmVmOm9yaWdpbmFsRG9jdW1lbnRJRD54bXAuZGlkOjczQjYyQUFEOTE4M0UzMTE5NDhCRDEzRTJCRTc5OUExPC9zdFJlZjpvcmlnaW5hbERvY3VtZW50SUQ+CiAgICAgICAgIDwveG1wTU06RGVyaXZlZEZyb20+CiAgICAgICAgIDxwaG90b3Nob3A6Q29sb3JNb2RlPjM8L3Bob3Rvc2hvcDpDb2xvck1vZGU+CiAgICAgICAgIDxwaG90b3Nob3A6SUNDUHJvZmlsZT5zUkdCIElFQzYxOTY2LTIuMTwvcGhvdG9zaG9wOklDQ1Byb2ZpbGU+CiAgICAgICAgIDx0aWZmOk9yaWVudGF0aW9uPjE8L3RpZmY6T3JpZW50YXRpb24+CiAgICAgICAgIDx0aWZmOlhSZXNvbHV0aW9uPjcyMDA5MC8xMDAwMDwvdGlmZjpYUmVzb2x1dGlvbj4KICAgICAgICAgPHRpZmY6WVJlc29sdXRpb24+NzIwMDkwLzEwMDAwPC90aWZmOllSZXNvbHV0aW9uPgogICAgICAgICA8dGlmZjpSZXNvbHV0aW9uVW5pdD4yPC90aWZmOlJlc29sdXRpb25Vbml0PgogICAgICAgICA8ZXhpZjpDb2xvclNwYWNlPjE8L2V4aWY6Q29sb3JTcGFjZT4KICAgICAgICAgPGV4aWY6UGl4ZWxYRGltZW5zaW9uPjI0PC9leGlmOlBpeGVsWERpbWVuc2lvbj4KICAgICAgICAgPGV4aWY6UGl4ZWxZRGltZW5zaW9uPjI0PC9leGlmOlBpeGVsWURpbWVuc2lvbj4KICAgICAgPC9yZGY6RGVzY3JpcHRpb24+CiAgIDwvcmRmOlJERj4KPC94OnhtcG1ldGE+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgCjw/eHBhY2tldCBlbmQ9InciPz4ykninAAAAIGNIUk0AAHolAACAgwAA+f8AAIDpAAB1MAAA6mAAADqYAAAXb5JfxUYAAAYpSURBVHjafFZtTFvnFX7Oea+NudiY2Hwam4CBlgQwXdKREDKUoYg0jbRJ29RJ2VZ1mjRFUxSpA3VTfkzJfkQbS7spU6rtx5Z2UtppScjaHxvLuiatWi2jLEoMIUDCh23g2gbj7+tPuPvhOurawPl1dc99n+c55z33fV46ceIEZFkGADAziAgAQERoe/9ZK4GPM/AcgbsIXAcABCgMvkfAqAa89eDoJyF8LogIqqqChoaGYDAYHr8kItS8uc8iIH6iAa9IkAo5EAQX8pqmgUVBCBggYFgDhv0/GAsBgKZpICJkMhnQ4OAgZFkGEYGZUXmp+0cS+CKBwWA0DVRPOg5Zl2q6zaHyJlnVAMQXVTkwHrUqH0Xsvn+tdQAAMQDgpPLS2MViFY8rkGUZzIzaS/t/xqCzGggtz9e697zsnKhoLUtim4jOq/LE6x7X0nsh16dEZ5a/O3a2SCAOHjwInU6Hujd6ThJ4mCDQ+b2G232v7v6vwarPbQn8MGlMr+X0kpE3Wr5Zt5hL5HPhqYSdQIfKJ+yhxDPKWC6Xg+jt7UXD5b5KBt1kCHS85Ljd8/On3NupfnhFaZj4rWff1B98B1R/hnUmKd36bdtCNl4g0en4edNE/cXwLq8qMTMIPAQwmo/WuHvObA8+9c58k/dKtD0TyZWXN5YGA7ej7epKxspM//7SoNOdWc/Jyq2wiwhDzPxT8cP0jys3VMM7OmL0/77zn4Ydui3b8uiK0jD7RrA77c9Wd57cefPpF+2T6bWsFPWkaiPTCWvTsZpHFU+XrS+8G3AR08F6X+1FJvBxQQzHQOWk2SmrW4FPX/U2LVwPuDZj+fJKl2khPpeyAqA9rzR/YqwuiWXX8taN/CabGkrVuq9YJlkQQDjOAJ5jAhz9Vt9W4N5/rNp8I+vtMV/aZm4zLnUNNt0urdYnF68HWoJj4Wo1mLGUNRr8LEgDgNqeCh8xQIKOsgC7iAjVe83rT9zQa8uNM28u70kspessu8q8zq/V3NcZpVzb9+0zmVhOvvvrhaMVzrJg0zeq7xMVCCwdpnWSGBqjUyJwLTFgbvxie3w31uoWR1Y74r60rdxZqrR8q85t2W2MGCp12bm/KC3hyaSTiMhxuGrKcahqpbjOaDOoEhOEoFqJQCCJvqA85I6bfTdDjQlf2lbxVNlS6wt19yy7jRHZZlDnrinNj/6sHMhnNw2Ogco7O79e5fm/xQywRBBCEAuwn4gQ96bkYj4Vyuq9N1Z3Bj4Od5bs0MXt/dZZ21ctiqFan174q985P+Lfp+U1g7XDON/1ctP458WlVjLyJhOISZE0wM0S1QfuRC3lTjkJAKKEtNC9eIOhSh9xHLZOJRZTFuXDsEoStLkR/768ummsaJG9Pb9oe+9J+xaeSVokiQDSJphAo5uaBuWjiKP4QTqS1cUWU7ayesN66wu22frD1vmVW6GW6T8u9eVjGyZzs+w78Nqu0a2mbvVu1KEJQAgeZRL0liQYyx+GOmKeQpu0rMYsAJPNEFGD2dLodLIy6c9Ys7G8yeSUl3tf2/X3rcBVJSOv34l3sCBogi7z1LH/rBHjl4IJ93/ncQFAnjeImJD0Z8zuCwu9q3djDXqTlAKID5xv+9t2R8n8VcUFBljQ8Gyfe40BYBM4DwDLt8Kue79ZcFkbzfEdbUbv+oN4c9KTtsfm1MbYQqqh+2zrVZYKs/7Ef+byimt1POYiJhDhPBFBIiIEXhxfs7/dfYoIF+auBfYTE/pebx/V8hqBP2ODvD34yvuh/WCAmU75Bx6sIgaI/v5+6PV6JLqUsYr7dpDAoehs0h73pHTWrvKgThYbRSt9UmSjef3MpaUvBz4O72UmADgTOPJguGiZor+/HyUlJWBmJFz+D8xTtlUiOpbwpmrmrweeSXrT+g11k4SBN3RGKUcAVCVdFhyP1nreDbY//NPyEXUlU/Pp4XYycGT6V0Ux2WwWdO7cOZSWlkII8diX7SPPNgDaKdbxoNAxwATBAEkEEgSWCEQAqPAMwqvMdCEwMO0tVqZpWsGTT58+DaPR+PhGIYQAAAgh0P7B3ioW/B0iGiCGiwXbCuOHFSJys6AbYFye2T+xWhT3WYJEIoH/DQBMw3kes8OJPgAAAABJRU5ErkJggg==)}div.vis-network div.vis-edit-mode div.vis-button.vis-edit.vis-edit-mode{background-color:#fcfcfc;border:1px solid #ccc}div.vis-network div.vis-manipulation div.vis-button.vis-connect{background-image:url(data:image/png;base64,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/GMzLdsAAEEOaVRYdFhNTDpjb20uYWRvYmUueG1wAAAAAAA8P3hwYWNrZXQgYmVnaW49Iu+7vyIgaWQ9Ilc1TTBNcENlaGlIenJlU3pOVGN6a2M5ZCI/Pgo8eDp4bXBtZXRhIHhtbG5zOng9ImFkb2JlOm5zOm1ldGEvIiB4OnhtcHRrPSJBZG9iZSBYTVAgQ29yZSA1LjUtYzAyMSA3OS4xNTQ5MTEsIDIwMTMvMTAvMjktMTE6NDc6MTYgICAgICAgICI+CiAgIDxyZGY6UkRGIHhtbG5zOnJkZj0iaHR0cDovL3d3dy53My5vcmcvMTk5OS8wMi8yMi1yZGYtc3ludGF4LW5zIyI+CiAgICAgIDxyZGY6RGVzY3JpcHRpb24gcmRmOmFib3V0PSIiCiAgICAgICAgICAgIHhtbG5zOnhtcD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLyIKICAgICAgICAgICAgeG1sbnM6ZGM9Imh0dHA6Ly9wdXJsLm9yZy9kYy9lbGVtZW50cy8xLjEvIgogICAgICAgICAgICB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIKICAgICAgICAgICAgeG1sbnM6c3RFdnQ9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZUV2ZW50IyIKICAgICAgICAgICAgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiCiAgICAgICAgICAgIHhtbG5zOnBob3Rvc2hvcD0iaHR0cDovL25zLmFkb2JlLmNvbS9waG90b3Nob3AvMS4wLyIKICAgICAgICAgICAgeG1sbnM6dGlmZj0iaHR0cDovL25zLmFkb2JlLmNvbS90aWZmLzEuMC8iCiAgICAgICAgICAgIHhtbG5zOmV4aWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20vZXhpZi8xLjAvIj4KICAgICAgICAgPHhtcDpDcmVhdG9yVG9vbD5BZG9iZSBQaG90b3Nob3AgQ0MgKFdpbmRvd3MpPC94bXA6Q3JlYXRvclRvb2w+CiAgICAgICAgIDx4bXA6Q3JlYXRlRGF0ZT4yMDE0LTAxLTIyVDE5OjI0OjUxKzAxOjAwPC94bXA6Q3JlYXRlRGF0ZT4KICAgICAgICAgPHhtcDpNZXRhZGF0YURhdGU+MjAxNC0wMi0wNFQxNDozODo1NyswMTowMDwveG1wOk1ldGFkYXRhRGF0ZT4KICAgICAgICAgPHhtcDpNb2RpZnlEYXRlPjIwMTQtMDItMDRUMTQ6Mzg6NTcrMDE6MDA8L3htcDpNb2RpZnlEYXRlPgogICAgICAgICA8ZGM6Zm9ybWF0PmltYWdlL3BuZzwvZGM6Zm9ybWF0PgogICAgICAgICA8eG1wTU06SW5zdGFuY2VJRD54bXAuaWlkOjlmYjUwMDU0LWE3ODEtMWQ0OC05ZTllLTU2ZWQ5YzhlYjdjNjwveG1wTU06SW5zdGFuY2VJRD4KICAgICAgICAgPHhtcE1NOkRvY3VtZW50SUQ+eG1wLmRpZDpFQTc2MkY5Njc0ODNFMzExOTQ4QkQxM0UyQkU3OTlBMTwveG1wTU06RG9jdW1lbnRJRD4KICAgICAgICAgPHhtcE1NOk9yaWdpbmFsRG9jdW1lbnRJRD54bXAuZGlkOjczQjYyQUFEOTE4M0UzMTE5NDhCRDEzRTJCRTc5OUExPC94bXBNTTpPcmlnaW5hbERvY3VtZW50SUQ+CiAgICAgICAgIDx4bXBNTTpIaXN0b3J5PgogICAgICAgICAgICA8cmRmOlNlcT4KICAgICAgICAgICAgICAgPHJkZjpsaSByZGY6cGFyc2VUeXBlPSJSZXNvdXJjZSI+CiAgICAgICAgICAgICAgICAgIDxzdEV2dDphY3Rpb24+Y3JlYXRlZDwvc3RFdnQ6YWN0aW9uPgogICAgICAgICAgICAgICAgICA8c3RFdnQ6aW5zdGFuY2VJRD54bXAuaWlkOjczQjYyQUFEOTE4M0UzMTE5NDhCRDEzRTJCRTc5OUExPC9zdEV2dDppbnN0YW5jZUlEPgogICAgICAgICAgICAgICAgICA8c3RFdnQ6d2hlbj4yMDE0LTAxLTIyVDE5OjI0OjUxKzAxOjAwPC9zdEV2dDp3aGVuPgogICAgICAgICAgICAgICAgICA8c3RFdnQ6c29mdHdhcmVBZ2VudD5BZG9iZSBQaG90b3Nob3AgQ1M2IChXaW5kb3dzKTwvc3RFdnQ6c29mdHdhcmVBZ2VudD4KICAgICAgICAgICAgICAgPC9yZGY6bGk+CiAgICAgICAgICAgICAgIDxyZGY6bGkgcmRmOnBhcnNlVHlwZT0iUmVzb3VyY2UiPgogICAgICAgICAgICAgICAgICA8c3RFdnQ6YWN0aW9uPnNhdmVkPC9zdEV2dDphY3Rpb24+CiAgICAgICAgICAgICAgICAgIDxzdEV2dDppbnN0YW5jZUlEPnhtcC5paWQ6RUE2MEEyNEUxOTg0RTMxMUFEQUZFRkU2RUMzMzNFMDM8L3N0RXZ0Omluc3RhbmNlSUQ+CiAgICAgICAgICAgICAgICAgIDxzdEV2dDp3aGVuPjIwMTQtMDEtMjNUMTk6MTg6MDcrMDE6MDA8L3N0RXZ0OndoZW4+CiAgICAgICAgICAgICAgICAgIDxzdEV2dDpzb2Z0d2FyZUFnZW50PkFkb2JlIFBob3Rvc2hvcCBDUzYgKFdpbmRvd3MpPC9zdEV2dDpzb2Z0d2FyZUFnZW50PgogICAgICAgICAgICAgICAgICA8c3RFdnQ6Y2hhbmdlZD4vPC9zdEV2dDpjaGFuZ2VkPgogICAgICAgICAgICAgICA8L3JkZjpsaT4KICAgICAgICAgICAgICAgPHJkZjpsaSByZGY6cGFyc2VUeXBlPSJSZXNvdXJjZSI+CiAgICAgICAgICAgICAgICAgIDxzdEV2dDphY3Rpb24+c2F2ZWQ8L3N0RXZ0OmFjdGlvbj4KICAgICAgICAgICAgICAgICAgPHN0RXZ0Omluc3RhbmNlSUQ+eG1wLmlpZDo3ZWRhMjI0MC0yYTQxLTNlNDQtYWM2My1iNzNiYTE5OWI3Y2E8L3N0RXZ0Omluc3RhbmNlSUQ+CiAgICAgICAgICAgICAgICAgIDxzdEV2dDp3aGVuPjIwMTQtMDItMDRUMTQ6Mzg6NTcrMDE6MDA8L3N0RXZ0OndoZW4+CiAgICAgICAgICAgICAgICAgIDxzdEV2dDpzb2Z0d2FyZUFnZW50PkFkb2JlIFBob3Rvc2hvcCBDQyAoV2luZG93cyk8L3N0RXZ0OnNvZnR3YXJlQWdlbnQ+CiAgICAgICAgICAgICAgICAgIDxzdEV2dDpjaGFuZ2VkPi88L3N0RXZ0OmNoYW5nZWQ+CiAgICAgICAgICAgICAgIDwvcmRmOmxpPgogICAgICAgICAgICAgICA8cmRmOmxpIHJkZjpwYXJzZVR5cGU9IlJlc291cmNlIj4KICAgICAgICAgICAgICAgICAgPHN0RXZ0OmFjdGlvbj5jb252ZXJ0ZWQ8L3N0RXZ0OmFjdGlvbj4KICAgICAgICAgICAgICAgICAgPHN0RXZ0OnBhcmFtZXRlcnM+ZnJvbSBhcHBsaWNhdGlvbi92bmQuYWRvYmUucGhvdG9zaG9wIHRvIGltYWdlL3BuZzwvc3RFdnQ6cGFyYW1ldGVycz4KICAgICAgICAgICAgICAgPC9yZGY6bGk+CiAgICAgICAgICAgICAgIDxyZGY6bGkgcmRmOnBhcnNlVHlwZT0iUmVzb3VyY2UiPgogICAgICAgICAgICAgICAgICA8c3RFdnQ6YWN0aW9uPmRlcml2ZWQ8L3N0RXZ0OmFjdGlvbj4KICAgICAgICAgICAgICAgICAgPHN0RXZ0OnBhcmFtZXRlcnM+Y29udmVydGVkIGZyb20gYXBwbGljYXRpb24vdm5kLmFkb2JlLnBob3Rvc2hvcCB0byBpbWFnZS9wbmc8L3N0RXZ0OnBhcmFtZXRlcnM+CiAgICAgICAgICAgICAgIDwvcmRmOmxpPgogICAgICAgICAgICAgICA8cmRmOmxpIHJkZjpwYXJzZVR5cGU9IlJlc291cmNlIj4KICAgICAgICAgICAgICAgICAgPHN0RXZ0OmFjdGlvbj5zYXZlZDwvc3RFdnQ6YWN0aW9uPgogICAgICAgICAgICAgICAgICA8c3RFdnQ6aW5zdGFuY2VJRD54bXAuaWlkOjlmYjUwMDU0LWE3ODEtMWQ0OC05ZTllLTU2ZWQ5YzhlYjdjNjwvc3RFdnQ6aW5zdGFuY2VJRD4KICAgICAgICAgICAgICAgICAgPHN0RXZ0OndoZW4+MjAxNC0wMi0wNFQxNDozODo1NyswMTowMDwvc3RFdnQ6d2hlbj4KICAgICAgICAgICAgICAgICAgPHN0RXZ0OnNvZnR3YXJlQWdlbnQ+QWRvYmUgUGhvdG9zaG9wIENDIChXaW5kb3dzKTwvc3RFdnQ6c29mdHdhcmVBZ2VudD4KICAgICAgICAgICAgICAgICAgPHN0RXZ0OmNoYW5nZWQ+Lzwvc3RFdnQ6Y2hhbmdlZD4KICAgICAgICAgICAgICAgPC9yZGY6bGk+CiAgICAgICAgICAgIDwvcmRmOlNlcT4KICAgICAgICAgPC94bXBNTTpIaXN0b3J5PgogICAgICAgICA8eG1wTU06RGVyaXZlZEZyb20gcmRmOnBhcnNlVHlwZT0iUmVzb3VyY2UiPgogICAgICAgICAgICA8c3RSZWY6aW5zdGFuY2VJRD54bXAuaWlkOjdlZGEyMjQwLTJhNDEtM2U0NC1hYzYzLWI3M2JhMTk5YjdjYTwvc3RSZWY6aW5zdGFuY2VJRD4KICAgICAgICAgICAgPHN0UmVmOmRvY3VtZW50SUQ+eG1wLmRpZDpFQTc2MkY5Njc0ODNFMzExOTQ4QkQxM0UyQkU3OTlBMTwvc3RSZWY6ZG9jdW1lbnRJRD4KICAgICAgICAgICAgPHN0UmVmOm9yaWdpbmFsRG9jdW1lbnRJRD54bXAuZGlkOjczQjYyQUFEOTE4M0UzMTE5NDhCRDEzRTJCRTc5OUExPC9zdFJlZjpvcmlnaW5hbERvY3VtZW50SUQ+CiAgICAgICAgIDwveG1wTU06RGVyaXZlZEZyb20+CiAgICAgICAgIDxwaG90b3Nob3A6Q29sb3JNb2RlPjM8L3Bob3Rvc2hvcDpDb2xvck1vZGU+CiAgICAgICAgIDxwaG90b3Nob3A6SUNDUHJvZmlsZT5zUkdCIElFQzYxOTY2LTIuMTwvcGhvdG9zaG9wOklDQ1Byb2ZpbGU+CiAgICAgICAgIDx0aWZmOk9yaWVudGF0aW9uPjE8L3RpZmY6T3JpZW50YXRpb24+CiAgICAgICAgIDx0aWZmOlhSZXNvbHV0aW9uPjcyMDA5MC8xMDAwMDwvdGlmZjpYUmVzb2x1dGlvbj4KICAgICAgICAgPHRpZmY6WVJlc29sdXRpb24+NzIwMDkwLzEwMDAwPC90aWZmOllSZXNvbHV0aW9uPgogICAgICAgICA8dGlmZjpSZXNvbHV0aW9uVW5pdD4yPC90aWZmOlJlc29sdXRpb25Vbml0PgogICAgICAgICA8ZXhpZjpDb2xvclNwYWNlPjE8L2V4aWY6Q29sb3JTcGFjZT4KICAgICAgICAgPGV4aWY6UGl4ZWxYRGltZW5zaW9uPjI0PC9leGlmOlBpeGVsWERpbWVuc2lvbj4KICAgICAgICAgPGV4aWY6UGl4ZWxZRGltZW5zaW9uPjI0PC9leGlmOlBpeGVsWURpbWVuc2lvbj4KICAgICAgPC9yZGY6RGVzY3JpcHRpb24+CiAgIDwvcmRmOlJERj4KPC94OnhtcG1ldGE+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgCjw/eHBhY2tldCBlbmQ9InciPz4ubxs+AAAAIGNIUk0AAHolAACAgwAA+f8AAIDpAAB1MAAA6mAAADqYAAAXb5JfxUYAAAUtSURBVHjajJZ/bNT1Gcdfz/P53PV6B4W7VltLqdAaplIOiMOoyxxJCSs/Gv/yB4gzJroAosmmDklwkYWR0bQsdmkykoojTpcsWYLxD/lRZdMQkTHRtkLZRqG0tIVe7662vTu43n32x/VKZ/jh89cn38/zvN7P5/l88zwf2blzJz6fDwARQUSm1n8s31CM0/VAnbNmsUPuAsDpgEO+Bg4C7//iyv5hvmMiQiqVQpqamvB6vVNwEeG1JZtCBrYi/MrkAwDNgjhwAlbzICBLA0rDb0+/839C6XQaaWxspLCw8Dp86cbNmqVFJQddE6KzdjZ9D89g+B6fSyCOcyn1nxil+O9xKg5HqWFSHGXLjrP7W/ICqVQK2bNnDz6fDxFh65KNvxbHDhF4rJj2bXPo+IGfcW5h5xL4f99P+FCEMIAob75x9t0dAMlkElNXV4e1lteXbNqiQoMaeOFOjrdU868SD2luYyEP6dUh+sYmSHeOU6GO5Z8VLx5+NNZxIpPJ5AS2L3upROCoCvz8Lo7vnkf77cAHhpiz/zIL9vWz8L8p/NvupmM0Q7pjnAoLqz8tDrc8MnQqYVUVhVdF4LEg7b+rvDn8wDDlH0WoPpukLJImSBaMwjcJqmwWts2jPZLG/8kwYVFeVdXXZcFf4yVDc2cNKfBFmD9X+0ncCP58F48eG+Feo2CAUkvs4dl0V/uJvdXLiiV+ut++n7YLSfxPfMMG54ChzB3WIesVWB2i82bw1AR6fJR7C4VsfYiv6u/k3A9nEgP4zXke8DiYHyAOMK+QxPIgnZ9GqSHr1itQJ8DK2fTerDQ+S/bHRXQJaHSCwNIZ2Xh+7+S3VAmwNMBA/tuPZtErgKquUmdMWIFlRURvdamRNEXGwIWrlP47pTMzLiunxghGMwTLvcTWlHAp77s4QNSrYMQtss6ZMgWqCm5cHoDHO1nbk6K8zEN8+3zatv2Hn1b59EqJZdxmYUERg9P9KwpIiAOTdWUWBXuLzB/vZG3P1Un4PNp2d1MbmyD45TWCxuCsQm0x56bHGHFYEZwxok7toAA9Sfw3hCcoL/NOwi9QO5wmWO1j4JEgZxTkodmcWRGkf3pcX0r8xoAaBixKu4U5/xwndM+0tpAvS6mP+PZK2nb1UBvPEKwKMLDvPj4ESGc55lGy303sdJKQdZB2rkMdctAB/4gzN+/Q2ENNd4LyUi/xN+bTtquX2thk5nk4wI3gAF+OMNcA1nFQDfK+BY5GqbkwWabTY5QZhXWlnNx1ntrY1Rz87fuvw29m/Sn8J+PUGAFj5T19baA1IspuBZp7cx1x4SwG1cEf+lgRSROs8jGwb+Ht4QB/GSSsAhYano39LWIBxNEIbP14hPDuiyS2VtJuHXQlKKvxM/jiXDq/D/xPlwifGMkJZB2NIoKpr69nxeiZxLHicFSFVWfGqBidIP3LSjrWltD94CyufF/4kQgPuVz2Lz93+dDRa9eu5QQ8Hg8/iXee+Dy4CKMs7xqn4nwKz9IirhQqmVuB42m8ey+x7LMoD6iAON782eChhqmRuXfvXgKBAKqKqtI0/8nNKrQI4BVYXkzHgzPpC88gWuHL/caXrhLoGiN0apSKr0ZZRBZM7q2w5ZnLR1oAnHOMjY0hra2tFBQUYIyZmstvVT1Z6eDlAuEVq7merxmwueNPDXy9PvybjKP5mctHLk4/XTKZRJqbm/H7/VNw1VyEMYbW4FN3WNWnnchKoy5sHeVGBRX6VWi3ymFx7r11Ix8MTX/y5C2RSPC/AQB61erowbpqSwAAAABJRU5ErkJggg==)}div.vis-network div.vis-manipulation div.vis-button.vis-delete{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAACXBIWXMAAAsTAAALEwEAmpwYAAAKT2lDQ1BQaG90b3Nob3AgSUNDIHByb2ZpbGUAAHjanVNnVFPpFj333vRCS4iAlEtvUhUIIFJCi4AUkSYqIQkQSoghodkVUcERRUUEG8igiAOOjoCMFVEsDIoK2AfkIaKOg6OIisr74Xuja9a89+bN/rXXPues852zzwfACAyWSDNRNYAMqUIeEeCDx8TG4eQuQIEKJHAAEAizZCFz/SMBAPh+PDwrIsAHvgABeNMLCADATZvAMByH/w/qQplcAYCEAcB0kThLCIAUAEB6jkKmAEBGAYCdmCZTAKAEAGDLY2LjAFAtAGAnf+bTAICd+Jl7AQBblCEVAaCRACATZYhEAGg7AKzPVopFAFgwABRmS8Q5ANgtADBJV2ZIALC3AMDOEAuyAAgMADBRiIUpAAR7AGDIIyN4AISZABRG8lc88SuuEOcqAAB4mbI8uSQ5RYFbCC1xB1dXLh4ozkkXKxQ2YQJhmkAuwnmZGTKBNA/g88wAAKCRFRHgg/P9eM4Ors7ONo62Dl8t6r8G/yJiYuP+5c+rcEAAAOF0ftH+LC+zGoA7BoBt/qIl7gRoXgugdfeLZrIPQLUAoOnaV/Nw+H48PEWhkLnZ2eXk5NhKxEJbYcpXff5nwl/AV/1s+X48/Pf14L7iJIEyXYFHBPjgwsz0TKUcz5IJhGLc5o9H/LcL//wd0yLESWK5WCoU41EScY5EmozzMqUiiUKSKcUl0v9k4t8s+wM+3zUAsGo+AXuRLahdYwP2SycQWHTA4vcAAPK7b8HUKAgDgGiD4c93/+8//UegJQCAZkmScQAAXkQkLlTKsz/HCAAARKCBKrBBG/TBGCzABhzBBdzBC/xgNoRCJMTCQhBCCmSAHHJgKayCQiiGzbAdKmAv1EAdNMBRaIaTcA4uwlW4Dj1wD/phCJ7BKLyBCQRByAgTYSHaiAFiilgjjggXmYX4IcFIBBKLJCDJiBRRIkuRNUgxUopUIFVIHfI9cgI5h1xGupE7yAAygvyGvEcxlIGyUT3UDLVDuag3GoRGogvQZHQxmo8WoJvQcrQaPYw2oefQq2gP2o8+Q8cwwOgYBzPEbDAuxsNCsTgsCZNjy7EirAyrxhqwVqwDu4n1Y8+xdwQSgUXACTYEd0IgYR5BSFhMWE7YSKggHCQ0EdoJNwkDhFHCJyKTqEu0JroR+cQYYjIxh1hILCPWEo8TLxB7iEPENyQSiUMyJ7mQAkmxpFTSEtJG0m5SI+ksqZs0SBojk8naZGuyBzmULCAryIXkneTD5DPkG+Qh8lsKnWJAcaT4U+IoUspqShnlEOU05QZlmDJBVaOaUt2ooVQRNY9aQq2htlKvUYeoEzR1mjnNgxZJS6WtopXTGmgXaPdpr+h0uhHdlR5Ol9BX0svpR+iX6AP0dwwNhhWDx4hnKBmbGAcYZxl3GK+YTKYZ04sZx1QwNzHrmOeZD5lvVVgqtip8FZHKCpVKlSaVGyovVKmqpqreqgtV81XLVI+pXlN9rkZVM1PjqQnUlqtVqp1Q61MbU2epO6iHqmeob1Q/pH5Z/YkGWcNMw09DpFGgsV/jvMYgC2MZs3gsIWsNq4Z1gTXEJrHN2Xx2KruY/R27iz2qqaE5QzNKM1ezUvOUZj8H45hx+Jx0TgnnKKeX836K3hTvKeIpG6Y0TLkxZVxrqpaXllirSKtRq0frvTau7aedpr1Fu1n7gQ5Bx0onXCdHZ4/OBZ3nU9lT3acKpxZNPTr1ri6qa6UbobtEd79up+6Ynr5egJ5Mb6feeb3n+hx9L/1U/W36p/VHDFgGswwkBtsMzhg8xTVxbzwdL8fb8VFDXcNAQ6VhlWGX4YSRudE8o9VGjUYPjGnGXOMk423GbcajJgYmISZLTepN7ppSTbmmKaY7TDtMx83MzaLN1pk1mz0x1zLnm+eb15vft2BaeFostqi2uGVJsuRaplnutrxuhVo5WaVYVVpds0atna0l1rutu6cRp7lOk06rntZnw7Dxtsm2qbcZsOXYBtuutm22fWFnYhdnt8Wuw+6TvZN9un2N/T0HDYfZDqsdWh1+c7RyFDpWOt6azpzuP33F9JbpL2dYzxDP2DPjthPLKcRpnVOb00dnF2e5c4PziIuJS4LLLpc+Lpsbxt3IveRKdPVxXeF60vWdm7Obwu2o26/uNu5p7ofcn8w0nymeWTNz0MPIQ+BR5dE/C5+VMGvfrH5PQ0+BZ7XnIy9jL5FXrdewt6V3qvdh7xc+9j5yn+M+4zw33jLeWV/MN8C3yLfLT8Nvnl+F30N/I/9k/3r/0QCngCUBZwOJgUGBWwL7+Hp8Ib+OPzrbZfay2e1BjKC5QRVBj4KtguXBrSFoyOyQrSH355jOkc5pDoVQfujW0Adh5mGLw34MJ4WHhVeGP45wiFga0TGXNXfR3ENz30T6RJZE3ptnMU85ry1KNSo+qi5qPNo3ujS6P8YuZlnM1VidWElsSxw5LiquNm5svt/87fOH4p3iC+N7F5gvyF1weaHOwvSFpxapLhIsOpZATIhOOJTwQRAqqBaMJfITdyWOCnnCHcJnIi/RNtGI2ENcKh5O8kgqTXqS7JG8NXkkxTOlLOW5hCepkLxMDUzdmzqeFpp2IG0yPTq9MYOSkZBxQqohTZO2Z+pn5mZ2y6xlhbL+xW6Lty8elQfJa7OQrAVZLQq2QqboVFoo1yoHsmdlV2a/zYnKOZarnivN7cyzytuQN5zvn//tEsIS4ZK2pYZLVy0dWOa9rGo5sjxxedsK4xUFK4ZWBqw8uIq2Km3VT6vtV5eufr0mek1rgV7ByoLBtQFr6wtVCuWFfevc1+1dT1gvWd+1YfqGnRs+FYmKrhTbF5cVf9go3HjlG4dvyr+Z3JS0qavEuWTPZtJm6ebeLZ5bDpaql+aXDm4N2dq0Dd9WtO319kXbL5fNKNu7g7ZDuaO/PLi8ZafJzs07P1SkVPRU+lQ27tLdtWHX+G7R7ht7vPY07NXbW7z3/T7JvttVAVVN1WbVZftJ+7P3P66Jqun4lvttXa1ObXHtxwPSA/0HIw6217nU1R3SPVRSj9Yr60cOxx++/p3vdy0NNg1VjZzG4iNwRHnk6fcJ3/ceDTradox7rOEH0x92HWcdL2pCmvKaRptTmvtbYlu6T8w+0dbq3nr8R9sfD5w0PFl5SvNUyWna6YLTk2fyz4ydlZ19fi753GDborZ752PO32oPb++6EHTh0kX/i+c7vDvOXPK4dPKy2+UTV7hXmq86X23qdOo8/pPTT8e7nLuarrlca7nuer21e2b36RueN87d9L158Rb/1tWeOT3dvfN6b/fF9/XfFt1+cif9zsu72Xcn7q28T7xf9EDtQdlD3YfVP1v+3Njv3H9qwHeg89HcR/cGhYPP/pH1jw9DBY+Zj8uGDYbrnjg+OTniP3L96fynQ89kzyaeF/6i/suuFxYvfvjV69fO0ZjRoZfyl5O/bXyl/erA6xmv28bCxh6+yXgzMV70VvvtwXfcdx3vo98PT+R8IH8o/2j5sfVT0Kf7kxmTk/8EA5jz/GMzLdsAAEEOaVRYdFhNTDpjb20uYWRvYmUueG1wAAAAAAA8P3hwYWNrZXQgYmVnaW49Iu+7vyIgaWQ9Ilc1TTBNcENlaGlIenJlU3pOVGN6a2M5ZCI/Pgo8eDp4bXBtZXRhIHhtbG5zOng9ImFkb2JlOm5zOm1ldGEvIiB4OnhtcHRrPSJBZG9iZSBYTVAgQ29yZSA1LjUtYzAyMSA3OS4xNTQ5MTEsIDIwMTMvMTAvMjktMTE6NDc6MTYgICAgICAgICI+CiAgIDxyZGY6UkRGIHhtbG5zOnJkZj0iaHR0cDovL3d3dy53My5vcmcvMTk5OS8wMi8yMi1yZGYtc3ludGF4LW5zIyI+CiAgICAgIDxyZGY6RGVzY3JpcHRpb24gcmRmOmFib3V0PSIiCiAgICAgICAgICAgIHhtbG5zOnhtcD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLyIKICAgICAgICAgICAgeG1sbnM6ZGM9Imh0dHA6Ly9wdXJsLm9yZy9kYy9lbGVtZW50cy8xLjEvIgogICAgICAgICAgICB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIKICAgICAgICAgICAgeG1sbnM6c3RFdnQ9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZUV2ZW50IyIKICAgICAgICAgICAgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiCiAgICAgICAgICAgIHhtbG5zOnBob3Rvc2hvcD0iaHR0cDovL25zLmFkb2JlLmNvbS9waG90b3Nob3AvMS4wLyIKICAgICAgICAgICAgeG1sbnM6dGlmZj0iaHR0cDovL25zLmFkb2JlLmNvbS90aWZmLzEuMC8iCiAgICAgICAgICAgIHhtbG5zOmV4aWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20vZXhpZi8xLjAvIj4KICAgICAgICAgPHhtcDpDcmVhdG9yVG9vbD5BZG9iZSBQaG90b3Nob3AgQ0MgKFdpbmRvd3MpPC94bXA6Q3JlYXRvclRvb2w+CiAgICAgICAgIDx4bXA6Q3JlYXRlRGF0ZT4yMDE0LTAxLTIyVDE5OjI0OjUxKzAxOjAwPC94bXA6Q3JlYXRlRGF0ZT4KICAgICAgICAgPHhtcDpNZXRhZGF0YURhdGU+MjAxNC0wMi0wNFQxNDo0MTowNCswMTowMDwveG1wOk1ldGFkYXRhRGF0ZT4KICAgICAgICAgPHhtcDpNb2RpZnlEYXRlPjIwMTQtMDItMDRUMTQ6NDE6MDQrMDE6MDA8L3htcDpNb2RpZnlEYXRlPgogICAgICAgICA8ZGM6Zm9ybWF0PmltYWdlL3BuZzwvZGM6Zm9ybWF0PgogICAgICAgICA8eG1wTU06SW5zdGFuY2VJRD54bXAuaWlkOjc3NDkzYmUxLTEyZGItOTg0NC1iNDYyLTg2NGVmNGIzMzM3MTwveG1wTU06SW5zdGFuY2VJRD4KICAgICAgICAgPHhtcE1NOkRvY3VtZW50SUQ+eG1wLmRpZDpFQTc2MkY5Njc0ODNFMzExOTQ4QkQxM0UyQkU3OTlBMTwveG1wTU06RG9jdW1lbnRJRD4KICAgICAgICAgPHhtcE1NOk9yaWdpbmFsRG9jdW1lbnRJRD54bXAuZGlkOjczQjYyQUFEOTE4M0UzMTE5NDhCRDEzRTJCRTc5OUExPC94bXBNTTpPcmlnaW5hbERvY3VtZW50SUQ+CiAgICAgICAgIDx4bXBNTTpIaXN0b3J5PgogICAgICAgICAgICA8cmRmOlNlcT4KICAgICAgICAgICAgICAgPHJkZjpsaSByZGY6cGFyc2VUeXBlPSJSZXNvdXJjZSI+CiAgICAgICAgICAgICAgICAgIDxzdEV2dDphY3Rpb24+Y3JlYXRlZDwvc3RFdnQ6YWN0aW9uPgogICAgICAgICAgICAgICAgICA8c3RFdnQ6aW5zdGFuY2VJRD54bXAuaWlkOjczQjYyQUFEOTE4M0UzMTE5NDhCRDEzRTJCRTc5OUExPC9zdEV2dDppbnN0YW5jZUlEPgogICAgICAgICAgICAgICAgICA8c3RFdnQ6d2hlbj4yMDE0LTAxLTIyVDE5OjI0OjUxKzAxOjAwPC9zdEV2dDp3aGVuPgogICAgICAgICAgICAgICAgICA8c3RFdnQ6c29mdHdhcmVBZ2VudD5BZG9iZSBQaG90b3Nob3AgQ1M2IChXaW5kb3dzKTwvc3RFdnQ6c29mdHdhcmVBZ2VudD4KICAgICAgICAgICAgICAgPC9yZGY6bGk+CiAgICAgICAgICAgICAgIDxyZGY6bGkgcmRmOnBhcnNlVHlwZT0iUmVzb3VyY2UiPgogICAgICAgICAgICAgICAgICA8c3RFdnQ6YWN0aW9uPnNhdmVkPC9zdEV2dDphY3Rpb24+CiAgICAgICAgICAgICAgICAgIDxzdEV2dDppbnN0YW5jZUlEPnhtcC5paWQ6RUE2MEEyNEUxOTg0RTMxMUFEQUZFRkU2RUMzMzNFMDM8L3N0RXZ0Omluc3RhbmNlSUQ+CiAgICAgICAgICAgICAgICAgIDxzdEV2dDp3aGVuPjIwMTQtMDEtMjNUMTk6MTg6MDcrMDE6MDA8L3N0RXZ0OndoZW4+CiAgICAgICAgICAgICAgICAgIDxzdEV2dDpzb2Z0d2FyZUFnZW50PkFkb2JlIFBob3Rvc2hvcCBDUzYgKFdpbmRvd3MpPC9zdEV2dDpzb2Z0d2FyZUFnZW50PgogICAgICAgICAgICAgICAgICA8c3RFdnQ6Y2hhbmdlZD4vPC9zdEV2dDpjaGFuZ2VkPgogICAgICAgICAgICAgICA8L3JkZjpsaT4KICAgICAgICAgICAgICAgPHJkZjpsaSByZGY6cGFyc2VUeXBlPSJSZXNvdXJjZSI+CiAgICAgICAgICAgICAgICAgIDxzdEV2dDphY3Rpb24+c2F2ZWQ8L3N0RXZ0OmFjdGlvbj4KICAgICAgICAgICAgICAgICAgPHN0RXZ0Omluc3RhbmNlSUQ+eG1wLmlpZDowNmE3NWYwMy04MDdhLWUzNGYtYjk1Zi1jZGU2MjM0Mzg4OGY8L3N0RXZ0Omluc3RhbmNlSUQ+CiAgICAgICAgICAgICAgICAgIDxzdEV2dDp3aGVuPjIwMTQtMDItMDRUMTQ6NDE6MDQrMDE6MDA8L3N0RXZ0OndoZW4+CiAgICAgICAgICAgICAgICAgIDxzdEV2dDpzb2Z0d2FyZUFnZW50PkFkb2JlIFBob3Rvc2hvcCBDQyAoV2luZG93cyk8L3N0RXZ0OnNvZnR3YXJlQWdlbnQ+CiAgICAgICAgICAgICAgICAgIDxzdEV2dDpjaGFuZ2VkPi88L3N0RXZ0OmNoYW5nZWQ+CiAgICAgICAgICAgICAgIDwvcmRmOmxpPgogICAgICAgICAgICAgICA8cmRmOmxpIHJkZjpwYXJzZVR5cGU9IlJlc291cmNlIj4KICAgICAgICAgICAgICAgICAgPHN0RXZ0OmFjdGlvbj5jb252ZXJ0ZWQ8L3N0RXZ0OmFjdGlvbj4KICAgICAgICAgICAgICAgICAgPHN0RXZ0OnBhcmFtZXRlcnM+ZnJvbSBhcHBsaWNhdGlvbi92bmQuYWRvYmUucGhvdG9zaG9wIHRvIGltYWdlL3BuZzwvc3RFdnQ6cGFyYW1ldGVycz4KICAgICAgICAgICAgICAgPC9yZGY6bGk+CiAgICAgICAgICAgICAgIDxyZGY6bGkgcmRmOnBhcnNlVHlwZT0iUmVzb3VyY2UiPgogICAgICAgICAgICAgICAgICA8c3RFdnQ6YWN0aW9uPmRlcml2ZWQ8L3N0RXZ0OmFjdGlvbj4KICAgICAgICAgICAgICAgICAgPHN0RXZ0OnBhcmFtZXRlcnM+Y29udmVydGVkIGZyb20gYXBwbGljYXRpb24vdm5kLmFkb2JlLnBob3Rvc2hvcCB0byBpbWFnZS9wbmc8L3N0RXZ0OnBhcmFtZXRlcnM+CiAgICAgICAgICAgICAgIDwvcmRmOmxpPgogICAgICAgICAgICAgICA8cmRmOmxpIHJkZjpwYXJzZVR5cGU9IlJlc291cmNlIj4KICAgICAgICAgICAgICAgICAgPHN0RXZ0OmFjdGlvbj5zYXZlZDwvc3RFdnQ6YWN0aW9uPgogICAgICAgICAgICAgICAgICA8c3RFdnQ6aW5zdGFuY2VJRD54bXAuaWlkOjc3NDkzYmUxLTEyZGItOTg0NC1iNDYyLTg2NGVmNGIzMzM3MTwvc3RFdnQ6aW5zdGFuY2VJRD4KICAgICAgICAgICAgICAgICAgPHN0RXZ0OndoZW4+MjAxNC0wMi0wNFQxNDo0MTowNCswMTowMDwvc3RFdnQ6d2hlbj4KICAgICAgICAgICAgICAgICAgPHN0RXZ0OnNvZnR3YXJlQWdlbnQ+QWRvYmUgUGhvdG9zaG9wIENDIChXaW5kb3dzKTwvc3RFdnQ6c29mdHdhcmVBZ2VudD4KICAgICAgICAgICAgICAgICAgPHN0RXZ0OmNoYW5nZWQ+Lzwvc3RFdnQ6Y2hhbmdlZD4KICAgICAgICAgICAgICAgPC9yZGY6bGk+CiAgICAgICAgICAgIDwvcmRmOlNlcT4KICAgICAgICAgPC94bXBNTTpIaXN0b3J5PgogICAgICAgICA8eG1wTU06RGVyaXZlZEZyb20gcmRmOnBhcnNlVHlwZT0iUmVzb3VyY2UiPgogICAgICAgICAgICA8c3RSZWY6aW5zdGFuY2VJRD54bXAuaWlkOjA2YTc1ZjAzLTgwN2EtZTM0Zi1iOTVmLWNkZTYyMzQzODg4Zjwvc3RSZWY6aW5zdGFuY2VJRD4KICAgICAgICAgICAgPHN0UmVmOmRvY3VtZW50SUQ+eG1wLmRpZDpFQTc2MkY5Njc0ODNFMzExOTQ4QkQxM0UyQkU3OTlBMTwvc3RSZWY6ZG9jdW1lbnRJRD4KICAgICAgICAgICAgPHN0UmVmOm9yaWdpbmFsRG9jdW1lbnRJRD54bXAuZGlkOjczQjYyQUFEOTE4M0UzMTE5NDhCRDEzRTJCRTc5OUExPC9zdFJlZjpvcmlnaW5hbERvY3VtZW50SUQ+CiAgICAgICAgIDwveG1wTU06RGVyaXZlZEZyb20+CiAgICAgICAgIDxwaG90b3Nob3A6Q29sb3JNb2RlPjM8L3Bob3Rvc2hvcDpDb2xvck1vZGU+CiAgICAgICAgIDxwaG90b3Nob3A6SUNDUHJvZmlsZT5zUkdCIElFQzYxOTY2LTIuMTwvcGhvdG9zaG9wOklDQ1Byb2ZpbGU+CiAgICAgICAgIDx0aWZmOk9yaWVudGF0aW9uPjE8L3RpZmY6T3JpZW50YXRpb24+CiAgICAgICAgIDx0aWZmOlhSZXNvbHV0aW9uPjcyMDA5MC8xMDAwMDwvdGlmZjpYUmVzb2x1dGlvbj4KICAgICAgICAgPHRpZmY6WVJlc29sdXRpb24+NzIwMDkwLzEwMDAwPC90aWZmOllSZXNvbHV0aW9uPgogICAgICAgICA8dGlmZjpSZXNvbHV0aW9uVW5pdD4yPC90aWZmOlJlc29sdXRpb25Vbml0PgogICAgICAgICA8ZXhpZjpDb2xvclNwYWNlPjE8L2V4aWY6Q29sb3JTcGFjZT4KICAgICAgICAgPGV4aWY6UGl4ZWxYRGltZW5zaW9uPjI0PC9leGlmOlBpeGVsWERpbWVuc2lvbj4KICAgICAgICAgPGV4aWY6UGl4ZWxZRGltZW5zaW9uPjI0PC9leGlmOlBpeGVsWURpbWVuc2lvbj4KICAgICAgPC9yZGY6RGVzY3JpcHRpb24+CiAgIDwvcmRmOlJERj4KPC94OnhtcG1ldGE+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgCjw/eHBhY2tldCBlbmQ9InciPz4aYJzYAAAAIGNIUk0AAHolAACAgwAA+f8AAIDpAAB1MAAA6mAAADqYAAAXb5JfxUYAAAYGSURBVHjalJZ7UJTnFcZ/73m/72PdJY1RbhoQp6lkXRAvmIYxdCUadLVOozPNtGObap1JsKipjiShbdoRbeKEiQHpQK3xj0xa03aamTbaTGyAYV1QGeqFi+JyiZFLAlmESBkWRmS3fyzslGkmnZ5/v/M873Oe75zzvqqoqAibzQaAiKCUAkApRdHIK/NFsx2NR91nOSILADDoJyzNaM4xxbtvPHh0iC+JiYkJ1OHDh4mJiUEpFSXPv/ziPC28TIiXDCOSrAClQDSEpsCwJPIhrEBRQpiSytXlQwDhcBilFPfu3UMVFxdjt9ujFTzfcLBADCoEEAFr1ZbrrNjch2vtEImPBgHob7fTcWE+bVXJNJ/NiFQlEGLvieXHKmYqGB8fRx05cgSbzYaIsPvywV8pKFaA7fGtLTzz61YWpo/xVTHQbufsq5lcez9zWuWhk5mvFwMEg0H0+vXrMU2Tn1wp3CtCiQ5DjGd3A/m/v8IDCZP8r4iNmyRrWx/j/5qktykZpXKzAjVDVxPzGqemptDr1q1jX3NRnIJarcDKK2hgR2ULXRfncv7UYv7xpovhnhiW5Mz+kefeSKO6LJ1A1xzEuk/Ojm4mRibpuZaMZW3OCtRUND60NmiICCIUShisx7a2sLMiQn4s77uEQgIabnqdfHIlgT1/qQeg8vs5dHhdCNB1wYn3RIiC995j26stjAbsNH+YiZJCESnS1Y/XxIXu8r4YIPv/VkVs3CTnTy2ms34xro1+sp9po6sxlTu34ultmsPVvy6is86FCHgO+DDs49zpjufBpCG+seYOC9OHaTidieicb9ouVAhKtouAseI710ma7pLuqwmgYfHqAFt+6WdLoQ/LBl11Lm7VudAa8vb72PCin9TlAWIsGGhLACD+kSAZnusYBii1XQAPYWDllt6ov2lrBkDBR2+6Ofuak2//3M+G/T4wAAPW7fPhKfRTVeqk9qQbFKRmDUTxS3N7QYGYmwzCkqklBGlPDEcTNv+sg9tNCbTXuvBWujE0bHrZj9JE1B/wU1Pm5PwJN6YBS9a2kVvQEcWnrh5GTFD3lxkYkqRMgYQlwVldUvDnen73LHTUuqitdKM0eAr9AFQfd1J/yo2aJn+2sn4Wdn5qEFODJskgBIjx5T0uCrQA08pnIjS9PERDjPnfOKXAMEBECUoGEIHBj+2zkt76UQ6dXheGAev3+cg74Kf6uJPqcicbfuond7cPy4SOiy7+tD9nFvZurx00KOk3CNEC+mE+vjSPBc7IWqgqTaPT60IMcO/xsXGa3HfKjRgRdbl7/KDg0jtubje6aHj7c7J3dgLQ2zoPwwQ91SooOQdAW1VKVMHty0kA5Bb48BycJn/LjWFGbLv4thvvb53kFvjJ+XEdWkPfjQVR/CcNKYgGMc8JWt5Fa2j+MIPPuyI2pa4IoHSkt6vLIuRaQ9q32khzt4GCxtNu6k46GeiIR2lIfDQQsafPzq1LGRGL9Gk9d+vrwewvfHPQOoexQVjxdB/auk/zmaUMdsfz6bVUtIalT7bxveP1ZHh6GPDPYeSzeD69kcpIfxymFWLNrka+ljhBTWkWwz2JiJT84YHnz2iPx0P20PkmRF5i6HYiwZFJsn/YzdezbzE3cQibY5xV266z6RfXohakb+xB9CjanCD9qTbW7Grk4WV38VZm0l6dhQiEw9taHSuDqrS0FIfDwXM3X9mHMsvRAk/sauDpQy38P+GtzOTGB9mEpkD0C2dS8n8zOjqK9ng8WJZFU+JTjasGvaCNXPpvJBPoMlm0OoDNMfWVxONfWNSUPUZ7TUQ56tCZlPwSgMnJSVRpaSmxsbFE1raw82ZxAZZRQUiBYUKGp5UlOX2krBzmoUVjiIKhHge9rfPo+Wcy3ZeXIYASgL1/X5RfMXMvj46OosrLy7HZbGitUUohIuzoem0RofALaOsghgWGjky0MiJTL8b0lOvI8hN1DKXKP0jd3TNTWDgcJhgMoo4ePYrD4Yi+KmaeLlprnrtXFo9h/AAlG1AqE8yFmBrC+jO0bgH9EVpO/1F2Dc5g//OAsbEx/j0Af+USsQynL1UAAAAASUVORK5CYII=)}div.vis-network div.vis-edit-mode div.vis-label,div.vis-network div.vis-manipulation div.vis-label{margin:0 0 0 23px;line-height:25px}div.vis-network div.vis-manipulation div.vis-separator-line{float:left;display:inline-block;width:1px;height:21px;background-color:#bdbdbd;margin:0 7px 0 15px}div.vis-configuration{position:relative;display:block;float:left;font-size:12px}div.vis-configuration-wrapper{display:block;width:700px}div.vis-configuration-wrapper:after{clear:both;content:"";display:block}div.vis-configuration.vis-config-option-container{display:block;width:495px;background-color:#fff;border:2px solid #f7f8fa;border-radius:4px;margin-top:20px;left:10px;padding-left:5px}div.vis-configuration.vis-config-button{display:block;width:495px;height:25px;vertical-align:middle;line-height:25px;background-color:#f7f8fa;border:2px solid #ceced0;border-radius:4px;margin-top:20px;left:10px;padding-left:5px;cursor:pointer;margin-bottom:30px}div.vis-configuration.vis-config-button.hover{background-color:#4588e6;border:2px solid #214373;color:#fff}div.vis-configuration.vis-config-item{display:block;float:left;width:495px;height:25px;vertical-align:middle;line-height:25px}div.vis-configuration.vis-config-item.vis-config-s2{left:10px;background-color:#f7f8fa;padding-left:5px;border-radius:3px}div.vis-configuration.vis-config-item.vis-config-s3{left:20px;background-color:#e4e9f0;padding-left:5px;border-radius:3px}div.vis-configuration.vis-config-item.vis-config-s4{left:30px;background-color:#cfd8e6;padding-left:5px;border-radius:3px}div.vis-configuration.vis-config-header{font-size:18px;font-weight:700}div.vis-configuration.vis-config-label{width:120px;height:25px;line-height:25px}div.vis-configuration.vis-config-label.vis-config-s3{width:110px}div.vis-configuration.vis-config-label.vis-config-s4{width:100px}div.vis-configuration.vis-config-colorBlock{top:1px;width:30px;height:19px;border:1px solid #444;border-radius:2px;padding:0;margin:0;cursor:pointer}input.vis-configuration.vis-config-checkbox{left:-5px}input.vis-configuration.vis-config-rangeinput{position:relative;top:-5px;width:60px;padding:1px;margin:0;pointer-events:none}input.vis-configuration.vis-config-range{-webkit-appearance:none;border:0 solid #fff;background-color:transparent;width:300px;height:20px}input.vis-configuration.vis-config-range::-webkit-slider-runnable-track{width:300px;height:5px;background:#dedede;background:-moz-linear-gradient(top,#dedede 0,#c8c8c8 99%);background:-webkit-gradient(linear,left top,left bottom,color-stop(0,#dedede),color-stop(99%,#c8c8c8));background:-webkit-linear-gradient(top,#dedede,#c8c8c8 99%);background:-o-linear-gradient(top,#dedede 0,#c8c8c8 99%);background:-ms-linear-gradient(top,#dedede 0,#c8c8c8 99%);background:linear-gradient(180deg,#dedede 0,#c8c8c8 99%);border:1px solid #999;box-shadow:0 0 3px 0 #aaa;border-radius:3px}input.vis-configuration.vis-config-range::-webkit-slider-thumb{-webkit-appearance:none;border:1px solid #14334b;height:17px;width:17px;border-radius:50%;background:#3876c2;background:-moz-linear-gradient(top,#3876c2 0,#385380 100%);background:-webkit-gradient(linear,left top,left bottom,color-stop(0,#3876c2),color-stop(100%,#385380));background:-webkit-linear-gradient(top,#3876c2,#385380);background:-o-linear-gradient(top,#3876c2 0,#385380 100%);background:-ms-linear-gradient(top,#3876c2 0,#385380 100%);background:linear-gradient(180deg,#3876c2 0,#385380);box-shadow:0 0 1px 0 #111927;margin-top:-7px}input.vis-configuration.vis-config-range:focus{outline:0}input.vis-configuration.vis-config-range:focus::-webkit-slider-runnable-track{background:#9d9d9d;background:-moz-linear-gradient(top,#9d9d9d 0,#c8c8c8 99%);background:-webkit-gradient(linear,left top,left bottom,color-stop(0,#9d9d9d),color-stop(99%,#c8c8c8));background:-webkit-linear-gradient(top,#9d9d9d,#c8c8c8 99%);background:-o-linear-gradient(top,#9d9d9d 0,#c8c8c8 99%);background:-ms-linear-gradient(top,#9d9d9d 0,#c8c8c8 99%);background:linear-gradient(180deg,#9d9d9d 0,#c8c8c8 99%)}input.vis-configuration.vis-config-range::-moz-range-track{width:300px;height:10px;background:#dedede;background:-moz-linear-gradient(top,#dedede 0,#c8c8c8 99%);background:-webkit-gradient(linear,left top,left bottom,color-stop(0,#dedede),color-stop(99%,#c8c8c8));background:-webkit-linear-gradient(top,#dedede,#c8c8c8 99%);background:-o-linear-gradient(top,#dedede 0,#c8c8c8 99%);background:-ms-linear-gradient(top,#dedede 0,#c8c8c8 99%);background:linear-gradient(180deg,#dedede 0,#c8c8c8 99%);border:1px solid #999;box-shadow:0 0 3px 0 #aaa;border-radius:3px}input.vis-configuration.vis-config-range::-moz-range-thumb{border:none;height:16px;width:16px;border-radius:50%;background:#385380}input.vis-configuration.vis-config-range:-moz-focusring{outline:1px solid #fff;outline-offset:-1px}input.vis-configuration.vis-config-range::-ms-track{width:300px;height:5px;background:0 0;border-color:transparent;border-width:6px 0;color:transparent}input.vis-configuration.vis-config-range::-ms-fill-lower{background:#777;border-radius:10px}input.vis-configuration.vis-config-range::-ms-fill-upper{background:#ddd;border-radius:10px}input.vis-configuration.vis-config-range::-ms-thumb{border:none;height:16px;width:16px;border-radius:50%;background:#385380}input.vis-configuration.vis-config-range:focus::-ms-fill-lower{background:#888}input.vis-configuration.vis-config-range:focus::-ms-fill-upper{background:#ccc}.vis-configuration-popup{position:absolute;background:rgba(57,76,89,.85);border:2px solid #f2faff;line-height:30px;height:30px;width:150px;text-align:center;color:#fff;font-size:14px;border-radius:4px;-webkit-transition:opacity .3s ease-in-out;-moz-transition:opacity .3s ease-in-out;transition:opacity .3s ease-in-out}.vis-configuration-popup:after,.vis-configuration-popup:before{left:100%;top:50%;border:solid transparent;content:" ";height:0;width:0;position:absolute;pointer-events:none}.vis-configuration-popup:after{border-color:rgba(136,183,213,0) rgba(136,183,213,0) rgba(136,183,213,0) rgba(57,76,89,.85);border-width:8px;margin-top:-8px}.vis-configuration-popup:before{border-color:rgba(194,225,245,0) rgba(194,225,245,0) rgba(194,225,245,0) #f2faff;border-width:12px;margin-top:-12px}div.vis-color-picker{position:absolute;top:0;left:30px;margin-top:-140px;margin-left:30px;width:310px;height:444px;z-index:1;padding:10px;border-radius:15px;background-color:#fff;display:none;box-shadow:0 0 10px 0 rgba(0,0,0,.5)}div.vis-color-picker div.vis-arrow{position:absolute;top:147px;left:5px}div.vis-color-picker div.vis-arrow:after,div.vis-color-picker div.vis-arrow:before{right:100%;top:50%;border:solid transparent;content:" ";height:0;width:0;position:absolute;pointer-events:none}div.vis-color-picker div.vis-arrow:after{border-color:hsla(0,0%,100%,0) #fff hsla(0,0%,100%,0) hsla(0,0%,100%,0);border-width:30px;margin-top:-30px}div.vis-color-picker div.vis-color{position:absolute;width:289px;height:289px;cursor:pointer}div.vis-color-picker div.vis-brightness{position:absolute;top:313px}div.vis-color-picker div.vis-opacity{position:absolute;top:350px}div.vis-color-picker div.vis-selector{position:absolute;top:137px;left:137px;width:15px;height:15px;border-radius:15px;border:1px solid #fff;background:#4c4c4c;background:-moz-linear-gradient(top,#4c4c4c 0,#595959 12%,#666 25%,#474747 39%,#2c2c2c 50%,#000 51%,#111 60%,#2b2b2b 76%,#1c1c1c 91%,#131313 100%);background:-webkit-gradient(linear,left top,left bottom,color-stop(0,#4c4c4c),color-stop(12%,#595959),color-stop(25%,#666),color-stop(39%,#474747),color-stop(50%,#2c2c2c),color-stop(51%,#000),color-stop(60%,#111),color-stop(76%,#2b2b2b),color-stop(91%,#1c1c1c),color-stop(100%,#131313));background:-webkit-linear-gradient(top,#4c4c4c,#595959 12%,#666 25%,#474747 39%,#2c2c2c 50%,#000 51%,#111 60%,#2b2b2b 76%,#1c1c1c 91%,#131313);background:-o-linear-gradient(top,#4c4c4c 0,#595959 12%,#666 25%,#474747 39%,#2c2c2c 50%,#000 51%,#111 60%,#2b2b2b 76%,#1c1c1c 91%,#131313 100%);background:-ms-linear-gradient(top,#4c4c4c 0,#595959 12%,#666 25%,#474747 39%,#2c2c2c 50%,#000 51%,#111 60%,#2b2b2b 76%,#1c1c1c 91%,#131313 100%);background:linear-gradient(180deg,#4c4c4c 0,#595959 12%,#666 25%,#474747 39%,#2c2c2c 50%,#000 51%,#111 60%,#2b2b2b 76%,#1c1c1c 91%,#131313)}div.vis-color-picker div.vis-new-color{left:159px;text-align:right;padding-right:2px}div.vis-color-picker div.vis-initial-color,div.vis-color-picker div.vis-new-color{position:absolute;width:140px;height:20px;border:1px solid rgba(0,0,0,.1);border-radius:5px;top:380px;font-size:10px;color:rgba(0,0,0,.4);vertical-align:middle;line-height:20px}div.vis-color-picker div.vis-initial-color{left:10px;text-align:left;padding-left:2px}div.vis-color-picker div.vis-label{position:absolute;width:300px;left:10px}div.vis-color-picker div.vis-label.vis-brightness{top:300px}div.vis-color-picker div.vis-label.vis-opacity{top:338px}div.vis-color-picker div.vis-button{position:absolute;width:68px;height:25px;border-radius:10px;vertical-align:middle;text-align:center;line-height:25px;top:410px;border:2px solid #d9d9d9;background-color:#f7f7f7;cursor:pointer}div.vis-color-picker div.vis-button.vis-cancel{left:5px}div.vis-color-picker div.vis-button.vis-load{left:82px}div.vis-color-picker div.vis-button.vis-apply{left:159px}div.vis-color-picker div.vis-button.vis-save{left:236px}div.vis-color-picker input.vis-range{width:290px;height:20px} \ No newline at end of file diff --git a/netbox_topology_views/static/netbox_topology_views/img/access-switch.png b/netbox_topology_views/static/netbox_topology_views/img/access-switch.png new file mode 100644 index 0000000000000000000000000000000000000000..f0b9a293e7ba48acd0e177e0431701414d7c7266 GIT binary patch literal 7415 zcmV zd6;Eoedj;F_ndRL+N-x}dZD2~6B`>4WqfpG1oMnh$EZ<29}U3`6t@^16El-^+GHM* zag2$MA}z|`D3T`XxW+gWaS1voj5LdgEJAm6clB0#)m_dx?{EHi?|bW3Sp{^}y;Zk5 z_xn8cSKV{Zx##zLfBXA=g@vFh+Jr(=gz$IvUuA-+2l3(!pHkJ*l zS`;w{F=ijiZAl>ic=XLX9|d6V-hfLlwTS3^*UG%#xJwPY#R6>FbLVqa!gm8Nl_=W- zK$@Uw0y^(^wz1q0L4pv15CE-|M=|DGlG=|Qy!yO5fLSt~b?L8t*#^gHCauJ0+Q$B+E^|qplM1{i78JNDUMB0DVE#<6#>;mviVT09Z$=XuR3zg zbH7_}37q_@{$bt! zO&@)mHxPs&Hcg$Gsrj8YS_TS=A|jX|AWag62ahmyViXewU~MYdd|>0s!=>J?XOGwS!|dK|*|Ec2vGLP)U0_V+rO`m<}E$98rh4HDpUotsCEoxPwe3rh=8(h}c#;S&< zmcGpcM7b<#RZxp$@`f~hKY(nw?q}NqqxWEfE^MkcwX*h%O?3A6I@2L-d%vooiU~s| zPmFT>v4fbvC?*hWI<91%X-r^WF4=q+HnD0|GKCz4o-Swl+rnS{5SJMgdb`Nvv#6?I z6D!$#w`l3*MwCl%_o;py)1OfS;F4S7UD2OWNVuP}iBoVL%gltE? zE&Njvs!p~DU=3+3i0%v(*@#U55fcbuHgZLtw)sDGAcCRl+%m|d8$=C zG19K@F98As0;Uz$j_VO2{^8UD6vA1bz_==38z&6`5{2nR2?RO`g_az1$lB z0m>HoBjHsWBA(Y9P_ZzcD5g~{LKWeYf255kf&dB7AHfah>E=7*!M zgx(nls?chswYCB*5k_DtR$jS2Vr$+ITL=w2t0&-DJpn%&N%-_&%umKrA`uD!*cNJ} zwiTcOP@MT!oI(gr$RhB(zL4kjh5Xa8gwG7d+&7t$3xvFJ@xe+fLOTX%5R}^92-rPSU?u7|U6OjLY#l;9ax(pwGMvjmDW}c@N3?s3UEK_{Y&I0DZ z0I|YUG83N*E}}O;AW~BVzf#R2SFHbDTa6$uUK8;AzC5=aj=Aw*g(GF9JCvEvGy!b| zsDlWUQs@og@_`H+bHYRdCt}N3tc)efSOSx&GMy;X)>Qx}5~Z|+3Xk{uRv}~HicJwO zUK?`V{t90`nvkM&1=5tXan&e*Ut!J4n*~TL^hK~|N1n4f=J$?PpB=N2|(g+D(#%YRrO^0$vwxNAJ6GZdl*_ZM1T0lbNg)&1~{Z)P?4K1Q5S z|KRj2XLT4VcD4_$xdDN^Kt3a^tv<{-U1rwjmV)~DKoy?d6L8bcJYP5zv*$pCkwobU zrD4^?mJI^^i%1kkVkKu_Lq;fBNNIeOoGA2$!VCLD6bR=D0PC%g+b`!~^Sr1(WHeS%8WSY8qyhxuUg$`ybO!LQ(=*(1Zhs6 zzf@s+!Eoa<^Spe0#Av+u#jv75puw5i$;3(XMQcLdx;f&Ut^ja9)SFnC@r%upPuLR6 z;mHxmOv-re)3TJU^4${&9o69QWUwL%;00N?6{!{US;8Tj&0 z%uNSlxhGV5alG<;0GSq)%GYp3>4g25v_lILX{&~a|4qq&4rnm6cF%Wog%JMhAs_=u6gwD|YuB8ee z8ms_5x*t!JjzD8w?7iPLZK^k6E`^{ zWU972QTWnO%wIoRA!Ftjs4xHCI9TDL{ydSHbJGP7D-^3msm=zaE#6%P0@JB`rq3OU znNF3yNNN_Y5onkK_~?E*QT|iI}ZIArSUWro8LtC9c>Mu{LtOhtb%%hOtB$iIo$v>jaL*%2cWhmXs?u zM_j!nv!p@Kx#s?#k0<>1{S|&OWvj})xJdtruw(`Bt9~q2He?NdvOUA^Zis-T`S~Y; ze^GOv17<6kuh;vk;qPt;`O1-G!C1g5bQt0Gk(3{ersRxM>O^%`FW&!VBSJ=CG*RLu z3Z~xN|8mOmiTxG6dm*6fMwEeJfTWYak~J#|{RFmJkcrxfa-;hRpvr!-5 ziNL<`ls$tnKNwChA`Or3pDIpT0sQFHs|Q?pw6UtWU z3TG;!D}j?%0IM$F{o{MfmO%{@W7PvhYyr^$-0okW#wx}V}3qq$p9>& z@3G|g-TSicP^c(e`)HXf?=5oocv>q6HTnhkQtZ5&H)UpQ+v|ZJ+rD)uA=c*f`xWS{ z7I1o_)?om7GBm6il&WjV_C>75h1+yYV2BuQwmct3(JQmmX*fj&IWTI>q8rlx_)}SMFCiZ_Gin(n# z<*LmQuO5hMJ6#srNB8gd;VH{kj>PmuQX7VJR=_o9asd>K&=I(28LlY%OO`^=xZv+p zK~n}o{7UGHgyC4(^>CT5A4_=0)(roqclOBlViX~3Tq@NY&0fuZBB*3xI#rHVz~VMe zbS`3K`dko1$lpCyscma&bfBnpf6L9u*CLtkQ^vAY@oja5_Ecxt zK6RkN<#!jk`A}Tjiap<;$7+Ia?LzCd#23P{w{g;H8rB~P$7AI$9x3zseMSE1crvpk zn$@QW3QVO=!38%)=Eu=m87tDqQ`}04#082EOHqeD^aRG8LYy8 zJ~P9Y&d>Atoq4X@6cMoUJb+Jz6>a4D_#kgwA?c1$7bw2>ffDym*jXftmezC;MqI}6 z{N8}eHb(SD!dV@L51g6h=5zC0IuKzM#uBY5b}OMJI{9t`hfCE8M)=N&gx|ln$e%ql zlQ9@v%h?D#G(FRSTxkeyH2mxiHx-rW%tzgI2Lb^TKBgz16*X6NwwyZZS9dr0`8DzuN!(+K?~o%=2ewWm#9P zmabIB(9#M3%$l4DS9wKmE_3+ns?6bU-;yB|KdiF6fnv)mKs}bbqSq*H;JK(LjP8wu zcW=vZ^Ugf4SQk;WZoAoX6_Qq!0xTDdKt)|)r(|bHDq-PSgp(DP?_hdG*j6xH`}8b( zcH}v~%KjB=^W8#A27xP$$wb+fH}prsWU5T1F4r%mjwUuyt(CSzamAkUA}3<&6+zVn ziqGlE^Q9v(dk(}LC|OrsY?AwHD?l9tH{JWbGqPMh5RwmE7E-oODaI3JGIcwIhht?t zar^o9mn>&hXCW86VCypmBaSNXk~JaM@2_y{k%T1GT1&f;dax=Kz|+h?^QwV?xN6<2 zH$+^yDXQHo6bJ*?&GfW3Px!1$G}-mcp#72X!R?M*b?ST>e$FVolPqho9f-d83n`j=j8e9V9X~Tub|b*r^UX9mT>{~4B@?z@PRWj z+;U!?%QiaUr|J|#fD3y<%C>Q?K!6mjRUBKDE7-py#Sv+LYDbR#&}Ar#jXhRe0lY68 zjU8*p+qPu*`}6X=adU>wx?@s&zOA@9f@WYf>~i*nsYKy9y#ag9$+I!*j;vkGYgw_M zT+a}mC|ouWar3!(-m@*knrOD*XZc~8R}nPJ?c|q$P+WR?X2EdzK*Z!Ct-!L!0N&3} zrHU$C(jRiwmW3I@mlL*CZT~z-)LE% z)aLhE)f3e7Eq?KE%twD!Ay&8hX|aW&rYe9J>R95=y?fi13|DTB=&90)EQKN5U$)Th zBEM3UnF*aI;tCE89H}Tp>t+;NDHW`@jt5K1hksS(JI5VmtRE&>ESjPK-rP^6j;#5` zYeKF$JyWZfFO?x&aUHsnh1j|iwCcBu`};@6l})Fu`+r9;f6+v#l0}!5N2gPMvm=Si+>{|#x9XNEcz^xxZ;rTP zQ$#M1r$kP*y#N>V1YCJfk$Wf8c?U{Ug|0yO%8`Vpbr@bf5Y@iBY#kxA>jt{tc%tHu zl2slrS}y7jdFi^aAzR?Rxt~as&kV-gd?;qx&aC>DJ2^BES4$sHlo$4g{NWih=DrzJ zF&%Z9RPXES;Xfhbj)aX2ym3>8cmJZeps7||Ebw0*DYJJdW?f{MNR^4|5wX+O_5EY( zT$`Wc8?N#szjWQ=YZPU;N@l8xb0N5>`q63Sm+D9y{T#m$SB1=kGY3rh?^$dW zv0m_jI0DH}?vMGG(S(eV+My85BDGkw0{9m{5-S(=1^lP&S+?d)(}|+}y%+QO{zw?e z7#@f%g#{Do^%pFb3Htg`$Bl8aIR#rf60 zJUh!PHbl#^>X!;H^ObD()-!}#g|8h=`0QYXho&u^!3^WcaGHtQygx^Y}kgbGSk$pA5yJ0Zq z`@_i$b^Qtn-eXZ@(H)`io#P1~{AHOBot>=>Y_zfq@Q9n(@bMG7b0hmlrY)ZxjQMtp zFof4*Q89p3r@dc48Z%h3eCX^f+Y6>v@M*=l3ZE)Yr0)3|_3jndnR{f))^-xXOk{u4 z!3tkJnlPTU4nuf77A-5kt?Ay0lq>Eja_dk$>v;24f)Dy)g<};XC%$R5?&mKK^)x*Y2C$5U`8IEQ|64z^pQ!uX_l8r(5^eb57K(cZc>~8PN<|&_Q6Q}= zc#nqk0=#MK4&4zl*FNg{)$iGs;W<4^X9lgmj{x^iSPqpf16kvahz%V_u;=QZTN?If z@!dFBS@h`CQ+YO@Awla4-lL)IV4n%}N5VamDQ~^6$Sc=JylrcSf$W?ikVU{p*55pq z@bUd+He?KexRqB3+)Te`>+TMPHPz!}50{m19gCT$9&^{s(Z5w9_Zk{L51=@c+fn7@ z-#ZlZy^(}BZp!ewjS(5M^f9o!ae~eocdw}w##61Dep`zXyf6g!JQ-=-ng5kS(?-I) zneB~)$prrD(K6pSn(+3m87^59)JC)x!yNAS?s-`T;(V}FJ5=+1-%67)wJMsPvZw0u zWKRhBo(GD&^XDb*o5KUR6yem0FD&2Y%~J)-G8OED#C&z1_xFYq{_kkY@2n4b^JaJc zAT;lYnKl;2vKH<93hfSEige52nAh!_=DPirSzDf0O9Xu?U`497^*n&Z6#njU#~gmk z;Zuh>e6?Uj%l1BPTobt?-FH9in8W|^*uu==E7i+CRk7lI8=p32>H@|0KUm_8_Y}E( zWQIB1TLi)J>9v)hF=!cri26XWAi`baDRkm>Qj+QY<4PiV2ODrpMLr4KwtX9giz~)8slp)rt|u4j(5? z5=2(KP}s&2A!10Agz=$ch&$EFnp_7K`TF6jpS|BnIMDy5<)R`6F`{v)%*fyoBxozZ zYKH{E@Zb<}sf-v=#GsX;HP(Ctz_533aQLkk+@+Pu4W^?zz-ns3fXNdh3=a-rg23&C zZ@Yul19iO;69fzo9%1UlC?*WSYHB*V16wYC`p`A!{fxbP17X)L191AbS9ZrScS@Aq zuH|BiF@a4|I@a{izj=Tl46$j7R#S?0H>Sm)u8b!lm>?ic5{3tdm^v|r2?MY;m24rf zarvQ=CeIl;bioAtc~y+N)UaFZX`lSb`DF9o7wFPTB_%L{O%kG9mY#ui6neW{aEPMw z@v^kBG7wzt1{dv5k4`W)bd0!Eb}K)%sbsQ&s*WdGdBM@QUT}|>`OG@ryEovn%hCJvKm6*!ZG}B{~#KkgV z#254u$reJj>6k4|zhdYe7k=N%8s>^`*KHxYFHSaIf9JCZvo{CX!qe^4sG?XzjH-%S z3nCa}TvXY{ilbJ-S4FCUJgOGKn2uht<*5gloOu1A_dNe+UdH~~UzcE2J9@7DVPD6( z?rR0PO0s#erD?E9m6TlF{+srAP76U5#Q9|t8k6fl%hMLsJ(H8e9~^t{#iR8r-(!C9 zRs93N=IefTp^ePDP<@$1***Z$1Wi-W)@&U8tAiLM2q19HU9FTy5c3UdlaCKw{j8q? zvt&B!(gnX%Rk-z5<27c(p1aQoR9+&1ywIk}xuUuWq0p`wuP{^-NQo@40us^v zJ41D$08pJmb#6y;ede~;G}Hxv=K|MqkpOV|pZo>@_)7r5790Q+asYtEJHN?5>6$@` z(AH4D#_M&W)*N;X6yBN^e%Ib6|09s9P+kxKFz#xpLyd!Gb_)W%ttPW#!j71v(M&rg znU$((TMUlh(#pOjYtJn^1k}b&>iyMe;a`w5O&BC?@kJ)CherN-F2Cjwj)UB3pdFUqa*5uyFuL8R)qmap%CZQ@)YxSA*YoB8bCR zY>-{XJ!zSYT_%1nyM=qw!yLaf%HKsuvGh1`Vs+`5BJEpM+wNXi&;dI*gv*%riS}S zegZMFikU={bW5I~>9obze#9h#?)pMVv0vkwL9sna6T)hYgCUn*KTPHV_Z~=7+u|NO zv-qmLM6PEozc650sG5&8dNYtXA=!O*Z~)jUD3}Ue;x`VC=Bc{Jx!L_AO?eK#fSxq< z?7JsBABS~-SWZ%p($#|88-FC!fE9HgdlxQ##!LDpYU+iU+t1l#_CP>5uS7g%u33>M)a|?c`QL9B zX4|YP&bAZ_)(!G|r?@{E=UoT)^>=Q^y&sGaJkqeik&6iUJ7+993*T9dda?3rpmkXI zVI*aW)N<%r`H_+?czYMv|oE^8`92C{9gv9aOU+sIql3R@|_rfW;k%=!S z|LexO^w(_$@JBX_OWSAFy5ST|<(s`HqnxI)M(Q@1bvrqCW2ys|5Oc_c(;L_KqfN4A zE;GjVH^!eavrl(FibtD*5VaU~+f;@cIKI?9dcwwXKEC<+V9h=R1QaP=XuP;=^U^?a z3RDrkn7x!x4mzKnc(M{^20L|{3%#Uk3pfr0!oL?yrJP+YAH=#AsYE_)`N#Jd6TtD^ zv&DW!_*q?#G`W&_y}}mcI!kW_b>13Ac|36L9YLZ#f zZ_0mjBU3@Zc7W;xTa6Lp3H`gYc7Q9=N;Z%E2D}_SmaLP1Un+7~`>6>1b8AB(OU|I_ zE`lzw?nQ5=QlEhJVXlYEy+mu)XJS=J8?q@`x<-AGZgvKbw#(bvTd}?`0w5<+Kh?%+ z!~e_S^4pNBo7032|HHixv*-u+UkZqWIiTHeLC;+|v{bM5zTWPsFt6_icHAzfhCYF< zYg_a);fJ(+!CDp9+;jk|M>1tgtNUoCPo{;L&tZ&4b=P>pq?tSHtb7~>RQeyS3{%C7 zTj^uDM&SYO}Z{rpH@n_VIYiys8(H5}-TV43yOr!sj*wTwu z7Yhec^&w=cr7Cbr_jD>#JjDk&;ygLx537+TzFj>p=qy-E>7s>%Qq6;Q9vE>;kf<{t zAy7dnX^7fS`!M;}CFwNKPjt|ERIzDnxM^guZEUzLagx=|_eMCN0)UB!TEcx$^d%!rI!*Qv|+x@$VBH9GgEs4@GJ3ec&6jLG|N%1BpY5*Y8Kz*Tc zoM2|OO6HwJ(${!jZ0@SU8P0`j@*kzG{W+E?a7YxX_m1MgvrNU8jIetTx(2`OPkhp4 zu7Vn~Dk~5a=u9yjpwFDK)PLrIg58p_ESKknFp;dwGUm);m3|(LG?EaN=r%IAcV(&E zL_a6!z}~t$X#&XzdN!4|cSQd3m{Nu96uQ?6SCkom7I{fm03B091UH#lSTTi1;h6;8 zjI{iArp$&LsrP66V?G9)oQV67dD?{{qorjMvtV@-THi@A5i)BRG{#;Rq8vBSW>uU) zl7j=xjcPGq713~|vZyD-!4(10OncBm;g?pG?;dFeF0JmH4I@vzEM{xwxd?+kV(NoL zK;eDMksuxj6HV|vxa05uT<5-Jz5@ZKax!DTrqRbqEl3*ooS|bp%Cwe&Z{vHa4#Fh1aFN{b-!MCC?57+O(lI{!4)pW+kJ0a6Hg2NXa z_Q>1hS=AHnjE*GP1})2j=c1OkJ}$5CJL71IS2w$xBPA}WirIU1?!fQX_x?;|zS9dY zN(HW2yh&iZEg&3bnU|j%!D~&QO$EH^#oPweD^TYQVAQQL zm{x%5R%|_o$`_z`!NqksZhjRM-0P{IS;&$=iW{fj_VI3DW<8|PX-+m`&JyX(lIc?W z;Zx?QC7{V7E+Rf_@gwTM&((E}QG_BsuxnOi$k`Ut^ocAs=l=TRQ4qQ!SS-v?<0BKd zw4TmmQ6dR#!Z*(ciPCm43hq=c%7@MBcTdzZd$LoxG8c`aJ+gz%=P2O)2BmesDKd%q z8LP)*dNy4)z)7DHHRF$GrgnueE{NVw_Y-@kerA(<-vXTLZoO|&LSZZ=%L>11dY z*h7ZJ_Jz>$KFwnvTT%(&=fa$lldke9G3mIh-l0(919dP79NfUae@$XxMS?Q4<6`51 zDPhRg465R@fL9>A*HW)Lz+6S>vkAlXY25ps;~evu>?)9ObgVaiqvf@g)KNc6A>>CS zWXKH+=OINx%asKV=%n5S7_5)eRR%2-F^J{|BXwJdVaN;tO>1Xbohi)=y{)3kae96t=hzPN%IM+uS}Z7R?1vkUYKeG&_%{T_7<)@+)d^be zE^weK;SkXY)|V!71K&~a0gp`6`QX(=RC{203K?-ZocTW;)87b zi@%Por@n)**r1ykpck%{Ozz1Bs+ekJiAdc`P~DV~l)f?JSF@+~g~lsSZ#G}jjROcv zvP#-72;t~cxceG}FS(MY*qo|ZpXQMjHGoyH2edTCNQ;N<5A=0WE`)@nN-GETn&PL! z@tfVlGt_K99de>_UZ#JNlwDIL{z`DV-)SK;nYXjb6|F%OeBU!Gh3%Tg>9$XU$NI^Vx zpKU!BrQe}V%BtniuZ2h*D6%7qMv3Sq}wy?S)6Fy`fi!y_=k5m>m7ZHvX

zs%Lpeo=f>Nv!-4OLlRmWBBJRFS}tYDyJ#xE;%APh;+dmbTvqR-LwORGDip{IKM9@yS{+kwx&RUW`ZA} z{ILYz&_SNWPqr?dnY;Me^_7f&nP&p82yN{H+Oh(ar8I zkqV<9^zHfbVwP-J!FV=C&s}(D-$@(wN%KkfTder)hw|1R@(+zY)_Xj2#18A_P_7=p z$|5zZLTK-{VrVZmzCR0hK1}PjOZ4ilurV!n183E$3YE`^H3suFwBN>P&$MQJu8@J~ zj2FcPv5bfksLbn6mdnoO^bwEw8q_EA_>pVAWe4d08%qlX=AYFW9`b)!otMS^2|ha>Kyw9{E3t@v6nB2-ANe!)JlF~P zfdn3D=BBx_3`=?DM?-uV^c2e-#+_-#F|pQ2{3{($8ToV1PfIRII*FNGOoV0V0(E|R zsiKaRtkEKrSj#W3Um=i zlHa99P?8xT8P4wvtsc2KIU3hXrsO*Mipn;d)ytp1e-j%4yUK5qhbRkHo}Ziz$k-h7 z+fT_BQ6}-(28IXmNEpH@V&sV}eyWb8oIGxPF?qRpvPH9d0m}{ypDKeNONIA_mdfgR zBWn8jLm;xs5<{0Kub7_-Bj>2$RMJh7uw*R|FcP(m z`(9VM2YS2D>lCSj{xSZ9bt*e2Pp1W%*L}@Piw0HOqogl_yuaG0vPC!Esz=8}vCJp=(`hUS@NB9#D4nTv zct6%l<&Z2-K(O}(nfU`GTgbnQTQyZfIU0P)XHQzAOoqkJSHx)9e64k8-~B}`+_4#M z;C$s*iu&fI^EyFMyS>&sjEZq=;LF4_9Wy5cKM%Gol4M6mD*^Rq;CM1+=)PcD;{=! z+K->~fq%1X{D^z`v#GR-@?XkF1ehahr{Tyk?{&`IPvKA$`wIAuO4CbI+UV~1`;Cdn z3)~mxYa6nEVGjo&+al~_;)HqrZ$7?xa%=Cou4vx((T4jty&BHhX?Tg}VUdKICs%J2 ze2agS|8zBeqU=O9*ivYWyldTDBz^{Puu&V@P|-1*q&X5u0;#KlqsF7XgX-+g(OO#! zcPo_fd}Oc;2m4ZUiedx-7Lg#=J}5Ikp!U8zs+->${|s6O?r7nJm&t~gc5LLIU4AnT z%9qTN0&q;9az!ouBP$Z4a)fSB)@(34;QROtnD`9f=?;iQM-D?_CeDEn{#af%J->so|L4eIG=cZy}1 z%JZpkiNl{d<*4hB?k~^SG-k5cOdY+=-Rq5&5$~IZ^rYobtI+eEyYxBJr~jOI(`r^r z>NO@aB}UxfI;-WJ3f=B* ze0RwBUstm>Qa|58X)W}z2gScVQjigx8wip5wF^g3{}Q*zE~iprtJ0W}k93Glu7d!z ztxcmYY=((}Kl*{+ujY)%xf}eqVC42)8Lo~%x_nrKyQrf3^|t_0#Gf5qk6D0N54U?- z!c}1|pSYddz3Og#qb9QSzu8Pf%@CLDDdoU>P#BM zS=~&D#m3|Nk!WY`VIAh@aYpO`>5#p`ahIv>}9dEW#ZgNu9Yng8cZ>q1f4Lh9B|q}2K46W< zdN1bXfp&@WiM_$#hb6>1Z}S&V4d$F=*@$A(qXi2kzWC0sp}9@bm1vZRyjm1s+5=@K zH3vC$PJIE30#rnU#1&xjO%;7^N_u;!L}Ix4Jy0vSl8onheesAQHY8=yB~;4c zYwGa%LsIA(qmoH7>-9909|~&)&}4QQXVd UId4yi{aOgng6XMOslw6!186#UhX4Qo literal 0 HcmV?d00001 diff --git a/netbox_topology_views/static/netbox_topology_views/img/core-switch.png b/netbox_topology_views/static/netbox_topology_views/img/core-switch.png new file mode 100644 index 0000000000000000000000000000000000000000..430e765a7558f593c41a13d9775a12d7a0c677d7 GIT binary patch literal 8387 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 Z|3Awqi4Kb@-t_ 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 QiU0rr07*qoM6N<$f|h5Y?EnA( literal 0 HcmV?d00001 diff --git a/netbox_topology_views/static/netbox_topology_views/img/firewall.png b/netbox_topology_views/static/netbox_topology_views/img/firewall.png new file mode 100644 index 0000000000000000000000000000000000000000..7d445bd2efb0329ddec26342607979bac00bfb41 GIT binary patch literal 15596 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 literal 0 HcmV?d00001 diff --git a/netbox_topology_views/static/netbox_topology_views/img/isp-cpe-material.png b/netbox_topology_views/static/netbox_topology_views/img/isp-cpe-material.png new file mode 100644 index 0000000000000000000000000000000000000000..e4fa49573630093c0c0d76464be97b2a556fab35 GIT binary patch literal 5537 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 literal 0 HcmV?d00001 diff --git a/netbox_topology_views/static/netbox_topology_views/img/role-unknown.png b/netbox_topology_views/static/netbox_topology_views/img/role-unknown.png new file mode 100644 index 0000000000000000000000000000000000000000..9ea4f299990fd26d7c8c64b8fd0b5f60c1b86abd GIT binary patch literal 8308 zcmZ{JWl&sAu=b*1Ap|D`cMHMY-QC^YU4lC-65QS0gUdp2*Wj>0f(2MCi|6uw->>`Q zo~k)dotd^X)m<~)9jmG=gN{mw3IG7m$v1p^ z9wd5#-vH<;tLO2iZS}taCr+R1`!@N`Q%*_h-TpfSbP67@L+T6wKqf3FDW>VWah`7% zZ@8Mi8+^0_vpujW~9?7th!_V!pRCmXgA@G;BAP>Qze!!$l{bXvLq$oVh0Y!|( zn(jCV=K#XC6`98wza;!qIH+yuOi%gs-1dj z?b2AI-|{M2JaM|}BXqgtF~=A%-Q=ShH@m`P`usu4JEln@q8_zYO&c&3!mjH0f@lj+ zJ3G>fn1VkF?Z8#uyG!%E`N~(H=eL(Myj@^XkmQVEI;e`26iW4dbGQY=3S&GUY+Zz^ z3vLr`=US~UtiD-g5UC6zh8U2&i$`!lyG9!!!}|e&7VPNs^x?)0%76ggWc86%j^bTp zD{y$;@ModwXBvPZ?pcLU#F$X)vzr3cu`BnjA{D*cX~^qN*`@=R4wE1J+EvxY>+2~0 z=WdL9_+w{NzWJrc2qRK+_+|aVTKEA?-uSE^%uI#C%^Hi$-!7wcTM(OUs`|CBdbIdZ z0`S)Wb+iIMGEY142oRV7HX%oNLh(7j_Md8xx`jGVnhx;YVG9dNr!!&@G;ltcwuNWM z+u!jf0)ZLf63~cp-S&}Gq`%`)zvCS@oBXSx55fg}dvf#rHv~fPCKwHj zHUDGm@88~t80LockqxD8M=J^#l(&3+g9 z;SI_FkofeTH{$~?f%bhtXyuZqF+ZDXHC4VrV&YxfrR)!Ww_3dIch@v&jpSsx96`+l z??|-{{6T`H#om7adtenQ!R=Gtc+P8&aj%ShsWPDY5@T71r%|(?_Fc|m7 zwv_=80x>H$uDT<4=Yf6;ZA_`Q6B(Sg1?=M8ClV^h!?eeYyGsK*BHOXR;O6e;YUZ07 z4Dx3WNT~N;7+W~J1j@g4qK8-jb#`)PqK1vujdO$w!OBAXJ(&I*tv`4rtXoXN5Vc#MN zabeoJ6gw=+R|Bko#G=*aq`<-AD0yhY(2aFZo6XL!>ow6cm>+((neZqgaZi~Y*|3kP zgmQ~oEFc46F?-R9Po$bwYSM1@J)uYs%F~lG|CyA7SLK;NPYJ0seqJry-h`<)IHcQH zAV_@ompYsi#Yl1r8uP7Q;75Wn7yB2^n@HM*J>usMWZcaK+Ld_;67;6Y&L~lPlQeIK zWL^ty8gS--i+msUe<7^=>Lr|U3in3;*$;R&fROUHKgb_5tGc>qKrbmbB$vPM-1Z{b zh&5Ls`ZA>CXbpR#H5oUh?(Yu^S@R}E$2*kJk8J%v?-B+`K_j`w>K-`B+v4Wh#pj18N{~wFTUbb| z4D2uSF{qOqz7v)mg|*-%{al!0cfVoTf2S)VKA2w&*`UGzbD=BrEW zD9vpjR7fALqd?_O&H8?RfLsdyZ-MBh{;SKwb->E#P5)YsZ|}!97l>+9$~7tFWjHW0 zcK;LP>_JcoQMPD{0-n~_S{P*1s{C@;d#O!dc>ET+;FsVbjB&}&Zj9Zj0D+AY^SVc2 z-z%gorlzInpgfO!JNT_4>KgG1e|Uf=e{zQS%I?%%?Fb0c(Y)LVvVq0j+InxMq_dWA2hm308Z^FT25ArUY z(gTWWT_C&~?|jIU)~LBs3;PR{QXtNzs3jEHOtffxcW9P6SvT~E4m3TQKgL%J3THB< z;)#*gOgUnxFiMEk#is9GWuRmE9)xt3B=>Vfg!(n5 z_SpCX?-t@8B7(YY_9X-k?2sxEl=n#%of&sr@)NbXyZ9$Cssyk}aaP`tt!cUU(3~z&PFm;@!@bY_UCR9t@?gjGcILG(YJ13=P~u!~mP#4`7AZhj zCehlsmJ4)o{;fQNg~c)`!NsC2!=_aVLaIrc)joGN@D`;eaqcKVj zwO|s;pw;Nd+{eQ3=#_T&Ysbl28;ZAZ1HMFZe_0>H2o;IG(;3&(-avGB9V`8spc;%0 zw;Z>h8`3l3etiJHKW5NiSlIjG5xKx0YCLG$FgW-*q$d-WXo6GW^Md6nlIlZwAauYH;Oct{QRM}QqaMGD$5TPs5`@|di0@q#7_X*7R9Nx5We zBJ_p6IS`%4XJzb=kL$9duO4W>Is2uHsK^|Mf_umb&0cJG#zaNNkEprM==!s$0aC&$ z-pU6Runzq>gVs9-q*5=%{+)UFI!wA~+9v>eCd&$(`|OmBFhz(Ig~7m9>+tO-v)#Tq zYwl>^2lD#isX|OJws`K(MwtbnHg~3X0D*T79aJp^#5gQ*qXbR|*b}9*zxpJ!#Khvo z>ISpQleJli3T67ImVNjLnL|h>#Vv1@zQrN)H<1Rd`KjV#zu-W168==;usn4BCPmW%t<(4r0lK6tF ztRuej2Td-JN;~xAh$Ivg|)-?Xg>Dpf$nYO*y1KwEOLc7f}P-$OEBO>q^rQnKH9=@ z+5Go_sLnCbZSIhEcXw;*#F$1Js6bPPKK|vfhLL#&WqFisbJRTO$uq&p0$7V(?lv{U z$x}~vdM1@u`glrI7jQ8hd#7Q0SJ-`6Sw<7)RT0}-AakL z{uSDU4}Ww@)TB8fv@tflQC5?}om=J>!9P~nD82PBD16R1R(IPoLO9o#FiP@FTchX3 zds$x*7iX&_9go{|d$)H8w6>7z8`RVlotgQ$8NM8wds?OLt_nS2gMP=5U*i=BMj;)yHW9jgpFp(gVH3*i_k^q)ds;51cd!l&EUcB=s`` z`}PrbcUGfkxDD~9L|C*S2E$It!(}_gR=#!V!Ouje3@@=q72^wJ{)r9DsrHEQX3Y^< zC*=VnTdpJ@;iyVB5t0mSC6E!)F|B25fA>*2NtdZbcon=EcE8uN??|RZe~-~BfHRV| z6O=hLGDSW02sMk5!$v(~34+ECk?2t6gw8ibrAo^tP;gq0j^ulN*hw8_8)h>YGw=7c z&QnoY4+vSzZq4G&Cf4xv!qspgf7K`H2lT}rT})y1#a8a6(XFP*wE=4o%NO6TZUCHA z^r+*;zl5R)Y>1i5uMu{-&U~r>@n^~{)NHY5Ko2_{9II&%d3aBU{T-c%4RZCk?C~!8 zaozfHS=CwdoK8@~#LZqEHSsd3JE^UWgnog$kbR6|X_5MXS-i!bzyIXre(^p0xscVO zu~UoKyJbQiOQ}d;K5WP{%k)Vr_Zo-LG@8QW*%9I0_+qtEp_>Nn?qrD$$k+o%6xDd$ zt9ZhuK{9PGjWhAe`IY&2hi{R$0=II@kH&m15?LygJ($~Z2qUvWCaaxPV<;bB_P<#JmmwL#Q9d2zdg8&QHI(tTuojBoG zHojY;s@5X4^io8<1@LV_Z)KV;aS)it^6vTW5tW6Rg>n=#Z8E#goh0*G-PuN59-)r= zz!9$38omOQi6N63hay%itIHJ1_UtQ>KDMgGYXFp05|((FPLJtn;H)0~kV)HVd7&>? zSaDBXOei4iUp_&ibA4qkp8z$cfi$ja-T$f}ZOUlUq@>5K=mYXr@6qtAPM=YLQK{xt zdQe2ay0Z5L%1NS3S%sM=Q?~^KJFtkXs~#p4Bt_+?BL9l2s+hEC82v+_z-|g7V_S+Q1j3!-brkMcrTlEozO;8QWWD8)U z7-1Yz21*rXCt13cE*9?!W6LO8hx~IoJ-pk2HwmKavA?5!l@MPIXbR-~^*1>yGXqc7 z2&6#5-PFo|ECY=AdSc`1)D68}j{RKYU+#8=Z0eL|G!=)BHsi45@AdIN4z7nwpjWQzT#<7OR zv8u8cPuCE8P8lE<|8;Kk>tu$$ykBToVQTzg;g@%U%?(5QXN>W` z19#VLTo`T?ztAZ`pL-m70S7zcdE0$EI1#N!a^(VcB5?_1G z^h3%BfrKs-7OuiL@j>2l-Ej7+w-cJBzj2yT`1iE-pJy8KCk!sc&cE3YNDv6UDDnO2^!RtLv&f+d)GW}KXcOnN(~K)w|Nh^5JRdC7JKFqOq=rgM&wb~RcNjS)>G zP4=hCkIxEOMC zASyCZRCa2NPd5I7UoWgkI5&#bj+1TFG@gPLIeX1DnePc0L*Qu2?%|}?8k8^5C(%cD z6*Ls>F29@Iy-pB^?)VcXS%}7ZK<({x_Ut0C7gA?yhT(Jo&aUh>-@n$69{| zLN^X6S2SO3*LdQ=tC_T-8sg&@1L)?R(6u{_v%Rp1Ij-(cw|KArYmEN*t5@xi)05UB zHIu!0`xf{y3weFR@x+pg9V3ssrdK&Si}Nh`E}3g@;J?J zsY%{WUUh2J_Mjo83UdD^7wMb3mqK*qg;eR`yb=i+fTgf=^(_w4=CNsCAI*D;b_3aI zkaGSDj_clG8e9K0b2f941<+qhJZCWRr`ORc(d_L!inEhXWb;|EXkUuvTuyNyHr%Bs zUHJW534w61l3(er3YMM2^J3a9tmG!g|0(Pz9|7TC@7|O0A9zzZ^Bo1e)Xi|12Olkw zKmy1km`Izl=koksxK%Lf1my2=AFGYJ;#Ek5m8y;U#n1PoQlwkMCCSUYKg~dYCJrEq zzVCfspRRKyGl7cbjSDI#y>R3cZvThwDkpw^s+IGdaAtum$AXGeTE;FhVX-cOE$D8t z*KiD<%ZEV~qAVXSX-eEDqb@*aCCi~;VP*)x!rv6Y-)*l zYuSCase2t_g(VUhgC}M&=h7vn3YB$cB$1ieZcWMK?KGGU4XTh7{XqAwM~vtw#%RPUrUuYB$Jwm{=pBN>j)`pp|cxWHKhk&_%QIY9W6KMusLsFrU#|91Yp z^9-Z2&t={;I*5kN;cb_`MDCvpLT_*co@g(-S8qz_LODF=xuIq#)p~Lqosr88ze}B1 zFy9IpGp6s}rZSNX-{rY6&MCfJ=d9FAu5f_kEL%iZi?aUIH*XriFUee4vxNAFlhGSIRs^SZUMBKgGAIYF^RcMk7`PFsD$|Lg{V&b%{PO^0e%k;O8)%hg9` zQvvF&@zzbHhcCvO#67Pc$tXkqtA4(fq&^_P06w1n2gdTl-Z({RsXER4 zLxy~zSxgmRf^b-B|3T`-K@I=O;+J|+?D5`^5duZiqkJD$t{2X5gP8N*%H2LQQ9L1I z(J)OBYKY2b>$ugim2rv|`DGF>jqDFNukNPwl>#?Ho#j4C2^gi}DW#z|R^-KMM ztrYOa;HMu;FYfv~+yOD4Kwrl8C}S$W~TKWIxhB_D@DRB~*zV zDG@X|XG8k(p0~a6n$R_3+Q4=~6c}^PZ$I*6;B)4T9ZJD9RfTs+)qb{_KI6c~n{b@` z>qV$>PB1*1yrkxu3L@h`{!O`Wra^&QC%^WU(4WgRyJ#rqK)==J=wflaX#4 zbWyx3Ot<;;%waqO3+YJ;_zXITr0@J>^H@F1g8k^>^jWXS8sBG85$n8K|C|k2PB1<9nD*NRwivJW>lnd{)WWs)y*`oAMbm)&~p# z<(8?PxmyS&XO(ify@z}cQnJd{$zuu2`?PS8t;*LI)5ZlD~SGHR#Fz z4savc(QxZ2{1lAyi-q$uk9*N3M}Z&BWL3502b!Fs+3=6O3RrA0$qpLhRn~SU`caf3 z$q2Ua=4u9FGbtZz15xi2v37X9iv(>lcp85=-iv;Z{e=`NViU^{(-2Cq{5K@qJXT}I z9jO~Ple$bUue>C#G=78*I2&lnUx1oUY5&z$!YHBFRT?q?U?JWX;Q1*M>ZibQXziuA z{H&SevLy9yaJ{GkloQ~2Z4dI@^zv!QW(6HnFiaV7iMuM1ORS29bbkw&y< zteTie`69K<#HVwIa@a`xx;wTvOTwpWq^fxqR{!yb|D%wr_mSy~%KHtpuK-Ws)nSJuwRoFYS#n~ zUlCBS5;`^pyX$LP8+BK+BiY^b5ZC;N{t1f-D;wN~%KSy${p05BkkXA50&j82E^mM1 z(OQWCl}!F`=r~bHBbzp$Y z98l{40Yc}=yFcEB*?P=Sqr2>x51@qDfd2ikfoVtIIP&_`j$Xa2=p-CpBK!-dsiVsx z>$d+(g7n%0d-b{Dy=j!`k$tL*3D8&>z_{ir5_mAf`k_Ai~Ml-aLNFZWD%apE*p&7 z?^XaO4o8g3>U(#?E=5|5fN(_}p`Q(}!ko>wg0y{Y_X!%&Wje{X;x@<)%c`VU_p4xx zrKSL@V)=ruBC6<3uxdTMD+iP&Em#`gb&)%Us8}_abWd8bMCX08$-g4F`8_nC z*fVzSai>h$K*cT?j7LLdwCl5@)IA7VvSLpBi6&}Ak3^)WZsi}ZRy?F(YJ1Fz*hlmQL4J+M^ zJ37VOI2xMpbk^2d@TR--u=IKl-6RXuT}T~9j6Knf=t6*hg!#Lr`uqU*f_k=(+*uSK z#7IVshDI;3I91G3ZakX~2DzYv?uJ+Ri$k;lzBr0xL~G=m_eY3+8)zz|yBdCY*#j@a zE=-@`v%nXnrMb(w;o$K9*ZsqW;orrOjnN)8Eii-~Yx1OXl8L@&-cr=xh{9Oia}tqF zg4Y>0JPM*2*D$`d8H4@pT|fV2%yIkH8l`_Frv3$P5Zz=b3;<^o#~qIp&3zr zw-H+{;%sxsOVhndEYUJh|DK4VK>fS_-QgWzr}Lstdi_S2IVQ}^(KYa zC)({wg!OfiRF0({OUYl1Q4}s9N_j_HsbybzaBkC`HvrG>h=eLSE0R zr;K^NJt`@HMzfErYDfu*OF(4X-y++W*3oZush)LAr{dst=F=~^P0H0&AIN?arz$Kw zM$%_n@|mH_W95Eb+Jt(q`>##L$=})Z1>InT95+WhpZrZ>LLt+G&jKQdyk3A((k}3x znTNNFPupWh&xU!P7TV}jkoWr3)UgUtLUL5oMX}D3$)&<%%UMCVI}$@0pa&YpF}t!k zk(cyFPp)Y5o%??si;dxR?tq22<~oh1l&+_xnWq)Mg}c=o0N7dC_`b06d|~C#WMkv! z;Na)t`pnAC&&tZ>$Bgm67@S-z?X3O&Zw5)~jMg`XPycDqaIyCEF>|*9`1trR+c`UU cSeUt5F}t|iL?`zNhEkYcnAmxBxxxz74ZG%e;4dG@b7@2@dN|}M})N44>hl>%WTgqb4mA; zp3<}KHv`WZE0=>}Q{D9}2!wbbMRZj0)qtr`nMKBT_C=oiM>{<)o62t0wv2*v-v06XiS<7CA<PLaS73d8sQESBcksVSL(hjYZ@EeW9Um@jw#qCHjfb&fWxvl&m$;mg`K_`d9_~*sGj?E>e2qV&9*{SFrmtSRWF37DCnxxgO=_=m0lw`h)Gse zo4c>n6e-G`yJzqAWk#cK<3~SIPRq-l4!AZ{o7{OW_}IwTG*pIBk=Uk9Dq67)UWkGG zw$y->TiyFW+yi8D1mWJi(2ZeoMb%rCMzybo+~iSFy2;q}X@yK_+c7C7&!8Q-uIh!3 ziEG)SnWD1y!LAi(sxQ)S`*ym5c>0Fmq^T8pzJmt$vSBz(spN+`VK_}(CE$yD5uMNB z2Cq02K3#xFX*N1>O|wPW)%=Cg zWluki$Yg8O@|5U)GpCJWB8WZ1nlhS%MoBKZDW8Y_%Z*m!lS)Yanar9+eo8S|&6O>Y z$O8u`*)#p?nh=E#^)BjNZ+g1AD7Y{jwKQ+qLhyg^%@gO z5b!<%{A9)SZ(RLHX~NL04kLw%Xb|@V|3z6)vR)@&t5T^fIr5fw5a&xGJK8jcsG`MZ z)B1aA0Eb_5r3mVx?{5XUj_o2&jZ)5Sl2bR~J{(ALq9Le6S`8(j(nLp?XTpEI}f$*1tG&psj&^k8=rdgz1_7x1 z$k&J5&T|*P`<}=GVi9P2PCvTvI8P#I_#^a`qxa-jTd^<#h;83%S+VORQd3xR8~~Qv ze7tpRtg;Z7T*n+dGmOLyja0pz($};%D7?? zH|s4`5;K;+E5kv+dA4M%Qk8mHwU$D8Z7@!Vk7CJ_B4FaktEhq;=a2E^)SUBhJmMT) zWnl$w5|0vV@t>PZ4Fq@Yk=O7Yf3Feu16f9-R13P6%CY;+^@Q#BcazJh60Ppll@Z~t zfk^ce<-A41!oVdL_$7EU=t|v(HN#U^@$VL<1163ME4aLF$;}$Fy_X|KdMiF&}b7s{4D- zFq2;@AoM-Yc_l&R|C|*e@d^)O3HU{PJ9B)H3(CIJVvu(RC+rYkcAaqNuHW2M+g)L~ zdd2W{gxIW6ISfbwTNg9mO6AJ^ifa>Igtbilexn}U-PdaWc!-4*qo8~%NU%Fi%z#h) z(Z%NBmYx_A;hYT(z!izrVM!4@(2a9!S2)K;?%F$pY2ekXGG?6SsD$Sxy+G}GH1+&! zs-I(A)sxqKfF@VAXw#g*F*3TO18-`;O;^>$8BF~pBkAvi;ZMXCZ>vsctgv44MOsmd z?!z3?27$ZbC!d%bOHKgoS?eG5*Nt0+9n1a~S5H#;Z}{uh!LG=rRf+`4q$9UTwlpaB z@;IJ5SE0G^*(_M+qU4B|0%G$~tchQNgj@|&hJ!8mz_rizlP)MNj1D7XOaJpc^AoO? zJ%2;SXPqNvxwaP}KmWme8&otP!IAkp!%kf|4RILFdLU=NVi+A&14VYasW0+84$+Vn zzR3dFw%SXzWBhwHuK&f7?@oJl#?+0-R=}Qx(1WpNAc(%wuIACRL@gkSm{=M$N+inw zSF0oXgOgt5`nYGmLI|yWUKoehD|GLD#tllojH+av_}St>X!AO#I%4}V+7gS+ppFGY z3a051$}@|0>8&T-?*@GbN0x<3<%C6f5ZAK0kY8zFWXuy*2ujY(8Zp87zWg0DSbSBW zDA&e(o4x$rlv%s^DXR(8rlI0-mocONJg&{Qw@qPA*E4Q(jHku{JP#%^V`|k~Lp`gY z<@!Z{sKqPLzfW;V=B&z=u1#MAi^(iW@m=aWbbh=?Y`^I%GC>2f@Hkcc!9y|>RIPab zq-uM!uwPc)r^c|w)UaERjI)zk1|i>A!Yu7lQou#zuFCpW#YYv8z{#YH4rS}J@!vPR z_dL!El-dB&y-{3VJqD)j9j0J_IGcq+SQJ~@vyvk_-fbCS%Aa*aT7H`TAzf2Km zAi=VZMy@Ya@rTZ@oMEwUZAH17x{QyYK<(E#UClbzOw-p#Z^gYg!7@@_i-BEDSrxX= z6$}|{Tg?mVWSAE%_h|{Seupi!eO*YDSn6@7swO|9a9|z`dUKYz(Go8{Ey}%nhH&OV z6m4=#B;s3cqu_%Wn#0+=Sxq_$RA}`kAzvpk-A6H_X6+cFU@ni$JEw-jx-d7SsE-g% zq|k4g#NH={1Q4;UOO`HIEaeL!RXTj41Ny|cJidzbZZL&aELDk~uXL&F1@kJYAjQ^Vfys!%ey+)asv9Ri}&iprL`rz9=@f_sQ{> z-0sdn#hNKrbb62Y1S59NTl;?g1px`JGMzno=p9 z%U`i%ztcr{ZyyqKH$THGh1gfRLe|)Y@xt|7C-kv5^sYSA4f`nzNQS}d7>Ly-vd0rL z1K~W5^7$G}wvuh^T(12qDtA)O>N{u%<_|y1ahZ59A0z+=Zt^gQ*Z{M>%>*>BJi;9g zpi6Xf6<5H9-Kt`P$PyV5mBdVA`WXx>j(=QqMPgY(8c%1!=v+CKudleDEh!vD_SG8X z;rGyI*nYd$78+|g0#VUFoqb&Og5Z+%C^f0SG9X|a7Ku6lz?%J_>F@)ESjceC)|>z>?>p0SXF_<}^hu|E?gB0x2f zrb)o9)8wZPMHM6LNixz&3R0#__=C9Ul*l%`q2Mv7Ys((q;=45JK6G57Gcs^HNgN>? zgI;4Ju4BCVj5DFOi#o&Jc>Dr~1e5;Uq3zB>72hj~nD|QPZGx*RKX57BzN)ad@gZK!qFkrrY54HM$iiDr+R$hMxr)8w>X>mTN6 zP1^1ks6;1^vASZ5wknI(I+Il;jzdMGAi^uJfWsQ9`Wz`j8Y*m7mt7XoS7iA?*b1mb ze7=_tC~kxI<+Y07B=B0=>wMPpb*Gixi^uUHD<1%;kIen6Hk(-Gm;N9o>Ad#1It1lv zW%AL2hbDKuHUQW2XcZ$!uYdZhXsnyKwQf{4Rgp#Q*zUrSRu^dPrao;lP-LQyxejkn z%%7`6VMm9{REb-2(PCE~jwy)QO)VaSIf@VF93xweah&tF5j4+|7yBe3$ZqWiRu63|3bbaK z-Ty#Op5t)b_FRrke=9=oA6q^c5jCc(iNREk*UfcNE-_M>pehceQ^deys=DnAdiXkE z{x`Dnl~MB^cbX~VfImr&&it`=afN-un***s(OO-YSxvj!87W%=A&mk(It|+KLUK9a zKK_K*>v|lkf-Q+IJpM)(EJD28Odrxy_9Hu7c zhH8Y|G#Gz+vazN3?V&H7-KF1`nI{K?>qp01qm6ZQl+V>5%tk_7Bhgw9lp zTXWUY>D24uyrh(|KVShpLoqa_w;3z*x-PRpPs!IvrwWX^^-i_dn%bj&Bpb%Ngp9>@#JIhutM2s4shL63VA$HMta9M#`=g=DWX?cG8Fz6FDZ$-jiVa> zJ3-EsifC|hQfQgIyA0n^teM_9rw_w2SAr>%d>m z2~H?9%}4xcI(dsrxgtxVX+2Xs+#Ea5T3aI-h$6qCD))Gl=Rh)oWm#v3z!Uu_(0*zJ z_;%lC&(D^m>16V)6>c>M@8qLbjm~=q#}%Gx`~+94#bx;2ueOei*dUXcuz~&r(a%h_ z+;?3G`*}YKvH$e+c2`4uDe|rd;pflqiupSEKEuLNyZn7;nt5isbL}Sr9UEJjlbRG0 z$+?YvoD&RfZF5BAN>AgmY2t57N0b52Rs1vO2!oz@-E3rx!^jp~%L0rueI6_fmI5Dc zPjw!{5Megv{q%s4;W1!?f5%>5^@70_=mbX%zrh>$OsZO8P+c7k#UKoxv-Ym>@J;I? z=F9y@dJF$%!CtUX=W4e%6=|~?(m8y1d@j@h4Q&58*D+Ba+0Bt6Q8g}*!b*Fk%zYYZ#JylEeANi-IW)2`1{!~56P|y;{P%w=4 z5@Eg~biLb{kt!B$tCgv*#XF;3_*)@;>!B6~g-fWjx}`-5Db#_q%XAo( zDQZtM_QKK?$njL;=R{UFGcy!@EQ`;+u3#IcRo7BmHqESC4is1HS1OIZyyaE$)jBRL^C9HI#pNpD$?;|^{Vg;KM{*^U9 z)$^KN)@Y+dN|iW%RDHadG78?hS(3&2z^`N@uW@o?giVy(8)USp0YnQ95bYA_Kq>yFw5y9@F zFPMxK>y)S-3$f)o*e#OnK`FX}sz=tF{J9Rp#IaPmDrV+yzLy$X+Srz7K|K%hEFkqpWdCYa0#`n|y`(&E$3>v@vaF{A@ z*3BDJta|@Pc%}N6#$gz-E+L~9 zNip`C5_1jS^5hbs+}s4TqfgP)oI>7sux#c1Ns@e^%}Wn<`H99=t+6ZbHBQ`yL3B#v z;7yls+HpDbYKFf{rdDO-%{HHmzj}dR!20F(Gs(sbj2G~$xIs7BpB0O_F_KW}iMgu& zG%KRwjj*e#Od!#}UBjylc}PdJd=4euI_fL=<8%jE&-_Gl3d1$a=eI<&X>^hppwNP{ zL6_i6oaJ!`>28>qN83ik7TKaC&C!S8*@y(h-|j7pPT!&19+1yYy*)FYxH=;DmIdT~ zv@aO{YVMgNkSPl)=BxBG3r}^E+7&Zl-WZ#hD*J4&l%~<&mM#rN_)wO0w;% zSg%7hek4+Oq>2mU=6{o!771eMYXrlka|97dOG$ouV}w=uPG8p`LqU3>ddQ|;)5*y9 z-Sh+DjTy!dp-OzO0zC|sG0_l4@Z*NBq1JQ}`D$e6ac*QePhpLOX&%+F%n)VjoOV`{ z23l6Z1-{OyuU|aH2quexfk3)U121wnRW|zV`iwvUTZrQA!I<0jTQ*;)N%fz1V~*3v zf|c;r8TV<3D*WzuJ=WtdaT|GH>W492tlIoh9oqR$tWS6|Pe~CFZpW!VXQ@c1Lmrf` z)mCTn+$byCnYZK7l7@{y6}J@VI+(2jdJ2{53i2z)L6=k)Kj0!e?oYwL`VIq&M!K}A zUZNJKSL+Z|lu=HL3?Vk=+=QJ(82Bz7%opDn1yJqdgOq{`TJUlN?^RI#doHNdp*&%v+%taa)FcuUms#r>Dcd zSfZ52eR`|5dJ`O-@pva9^)MZfi^68ILb&-RmdTxyU7A|)8;pNSOs??m2rfWZzSsz7 zDKxnQhYU;#h)fb<8r&lz+~U*JnT2|+^Q{NUoLsqzuNzDkkqs~$p|OOds88S$-px9a z3k-1=A2{Nii224a14OW1Nh*T+Q8W`q+VGU6&NlKjG+9aAZ-aG&*)ClO$_#p|zH-Qr zFw(o=lzI(7twL+ao9c$^S8rT3bnM!yfVf?G2+#ZbuyeG+ZdgoMQk|6U5S84jfrng` zY9o~rKoRmKf^YnjkKj&mX7K(b^lm)7@`XY3DWX5-W7DkS>6?|pAZmt`K{obF70Ypx zuEH_qIM?8wkT1{POUhhU_2~?iSZY6veo-3w3gO=p%6L~ zq&B~tW-e56B7E&!H!ewV-px$>&O?C(Li`cy>dJ9c%W<|D}ZODkgLk9U<4#Vx=$idgT) zlFX>4a_YpP(e1^thaibAqoHMp%2a_@Q>NX#hzJI2OH%Q=U2D1GfP!FLQL7n&J1Xd) z?OUfzMFX88AVmQ_Rb=36-9dIj3)SgO`7<;wfC3MPg!(##RB|H1Qm+C)R-h+#43|eV z`;b^*OG$x5@`bB`Vd+c=*GJs6*6kYa?8Ji`@Nt?E`WsE-C`{gb;49|9al_t4gR#3o znYai=U2QSJrJNezso%OzmZ*Yn8{`y&qOVt!wR|LBip-Y%skU&}EU6ng>Z~oQnz0*# z{dHI*@94j&j3cx?vy*?B$jr(Hv0orn#X)PQ=2X#YW1p8#Wh=nk%fS5X6t0gTMIIUN z&JW#)|0>#O6*3BJ6xr^r=ef9&AAvxH73etf0Q<`EW<8EK^(0hi3;RxOfmxqBN$tT+QAHKA6H1Gy+{O?UCWvoH zVdM91(|}s|DBNLT)E}c-mYh&Fclq~M0Gg0!K^=p6@XF@SVHY+QZ>1U4S1-E?q3sW? z%!rY9=~rAzJapCWrR&azL@cZyVX90<*(h>6d0${jO~U^CC`#5Lofp8myf6K99*tbo z9ma&ipzy+@CJzXgL+4+={tv``++-Btw@t>5>}+iv$4FYPOu|z&6xb#z#fuo(jb&;V zBb9eVkX69YNEZB=*(Mk9S>11eaT}jmBU3KZG2ZOs1C!^wyrYgZ@npnJABMe0G;Z5{ z%YP3ZIgC<{W}2AFQ<4BSNCmzjA<6rzji>g|yB}CsHR8Y93-f0=9nHXKyOdK!wCCI- zdNqSDlt1E^{ly^d(wzj&MiZAq&dOx4Mh4%Xcc7cCs3%?Id=jn7`Dxp;8P(r$FzR%< zyp1f0U?!Grb>$FSzdc?&L+i1Jt?5$Mf_z|7$tNcZb8`ER&<@9eoxZ(WIK3?uO+n$> z>7yUtlB@gg=*|+ZnX2t&O1Z6xux6j#SgI+MfH#GABy#n|RUe=pLEN zb+-Su%}$X~)njUW_LXceftl%67UgfN{~#+WVc=9O=pF5C&3tIqSWI*#Pt*ZUN1Ut>hrSi0MbRH1#x#Qnoo4n< zi=7Jo%^>UR1(ETFCTLe&JmBU7 zD`AN+g|zsDdKfLfjKj3?=;9Zc<&vMmjxp+6*YHFx!T~w?ews<{h zakIuv2F0j<(GP?Vy~u+?Gk7Wuq@k%<&~7mH&NBWwCW3wfbYyZl zVo+_7PoVJn6#p7g8{=kJaHPSIQ%V z}cYCT*Vh9aG_KFv%~}>f^f8;g;KA~ZhT79pJeCAiO>EZ8EO*Cz2gK1X=QZ;jozU>*)R<+|6@eFmi}>jWu1 zhqR%Yb4dzR1G#Z&(p-7$_DokfF^x9z*HfshzxjlfRGb`$75HJjV+#E#aq@<%WQ&75B4XCU97P!9%G zg9K=z^4BXK>@V7rz4ujD4EUh8=snAo6VPfZdTv|6WXBA%i}sR|C&D6+C?=ZdrcHzd z8tDxnXoNWM;JI**XuQkB9)wi9V8uLGt;oexgBv-&kxS5DF23iJaRDy2ZKi{SE#qnf zRPz9N#jVpKr)v>X-*~w@FDkM${OJCKs(4V6tgPOaqt#^oz}ncXLsNsH=myUbkyLH1 zM9*9%#=HZEVjKOc94sXE-q-g&DV+;|c_TV-PV6})LgXp{i~lSPoh=6WZ^~BO^}dPa zg#}V6y9GiGxn2)h0q4vzR}x9^Q;tGm%HxU)~6cTmnLYfl17S@>)5WZ7Qv&DKI0VHCHMx7a494t$}{X zj0cwOC9u*R;4eZ>79II8vI^n|=sSQXnY(ZxJ71naJVxXMfK7 z(tGp9pfPKn9O~!!KzwdT?O4t5m@9}xZhWgS2r`vzI`=^lG(Q&_$e*mlHx@-oE&k`* zvNcEJ;|E>am*~LzYk+PJ1SUY?%hoY!n|v_oKS&+ZxUb%22g72c12cYyL+M85{kyLn zA*_yGWkY2M)&}6R>apE7aFElS%d&}u4~Adw=?CBp$F4KcvW{PB6zUZ7hHhhYL%cji zGh@kB$A-!mX$1?(Q3nhbog|~1J?>uzhL(orJ~MJ1f1(Jk9k+P?6_xK}ND@i@<sZ0LI_X@* z-m^?^Ae!~j=S&>`*K#j|Q?>(4=0jTq+F=K|!&?a#@G4EKz?KOnH1h8_+o)DVH1&+~ zy4ddp&F6};HAXC6*drVg!&rm(EYR;gv~e+tn|^!0=3ZhuuY(W}z#U>XjG1h3FX=&P z<8BtTzXqwW_emtfgGC?q74hA|Kj;s+X)DjSKJb&8)B{yg-MgWCo1J3yWT2G6&JM!X zy^3(MK=Lp$8UwL1Vtnmi7IS2KZ(Z~@9?FVHWB2~eF+7G;sCk9?;lx8;PJaV)M7G<_QQ< zG!DyUAcIbxm@QT<_XQVN`}FiGm4+ENS@%WiZ1R`XUmA^evojGoPpkM%qr%A_6^;xl zaBQvOmaMt|l)qq|XC4rWe=>BQuGhrz{)oG$hzj8r{3Lb1>G`9gu9O8~DjBZe{naci zEp0g%vUL^H3j78uwpY<2ex;^8)Di#cp$+U&t_Xubi<}*yo=6*>R+kUwpT9;}JiKV= zADl|m(Byy55QD$QfdX1~Cjs*sZt#$agGL$zoyiyOzr*aNCRd_tp-ttDvf-TG+6`Aw zU2@kE*qCj3Cf3t?6!lU@JQ`PWOT8vyjE&c|s$NGGkqP#+4P?w)A(h9WIZHcum8C;@ zc+K*)D`JVhr_KjlHIksO*X!%Blk&O4 zL0w2tA=k7!o5p()J$T(M#E8e|zV%%rO&rG2DKzcFs`D^t{t3xcN$BaYS5S~C`U~09 ze48Z=&5Sx~i|@Gq#Ls3n6PldjL6sq~@Z*0t)iqP8RHdu`1W3jy zxd}as4{(h#d73ME>ww;$hnWxHiEIi4_#N&hHn~_i*pk}zxhR_-U*v`fH^U`U>fyj` zR31d#&Ix4mG9FA4Zm!(&vow3z!E6r8h?B zu`VcfCkW=Vx$P}ufyk7}C#$LQKehHM2O1rZic|xpG1r1H;opXNzfLpb|6$MeEsCyB ztuGvCYSh<*Tr`b+w-=M^pVgmGCTDCrjt>u9*4VV|Gn~LPo+rnK*1k5mYO<1Aarye? z(U`kZ?r{5LqU!CL-+`sO|GjyUAz{%}rtP#PVhHEALIl`?foA$+DZ^!|efXack=MJr zp~w=+NNoTQ8WhAPMoo44=P6$`a9};ltF~q#aqm4s8|=Edhn5^w4AbPP{cWB*h0-NY z8YkC%36P&59Eh()=DWgoB{-uo5Je7PwHG^e57^%T_&to^=WHR(97n@-zi|bU2tPMko;1qmik~B^^ILH5^|b$O8(9A8-d&v19HCCK|UBL zMG)=~IP-5`#}@fCqY^ag=P82tF!mx8ZOcL+n(;FWAFxX zS7AI#F$RWT*@f}*Zeyes=`;m`9Q~lVL?@cir|D#yM0|W7U=V(-Pw0=o3#T85?4Gb| z(Uu)}oUc1aXAuVGw?lWF4&G?2qP{4~Wy$r4*~*w^`1I#0??PMrW^e@SqStb1q9nV3 zDJ36wa6bSH=z^LRXGmZx{j?R@pLDH6<%6U`YY{0sef+O@FuAr;ul@wr-5E`W2RjX9 zxH6lK5$%O2dX(`MJN{|r$oNOR?n`6;dEA8|ljs=BZ!)9x;Lu!Yd_KuH!OlFf=*8nS z@DkqFBlsQ}jVAw{F#eL4<=_lk1X`&$uNDb?4m;myok! z(tj}xys)`rmPAMPOm4tTJqmSsf$rMs!@|>Uxq}%IfLTu}45pSjj`WZ8``B9`6!hiE zSoo0q%{Ec`G~#z9#m0C;diYAX;mUI8h^NdF?epM#`_i>BZRavJy*oeibM3~APU63K zf3>q;(|rRu1+yk9qNi3HihizRfDr zy6zE?>gpOfjfpOSn7OUi8F`m`D>Gwvzs*zQBkG|aoBNf^JMeO-@p7QDXZ;{W#O?D- z3p}i2Xi6hcqqUjJ!=?0@QuseTIKZO1J-J*@uA_>ln>WSV^AY7T=3$Y)m^6=U7jjcT9+I^9GuquA(S8l-8c5ykBc^o2seQ7RK!*1D3(hL zy$%)F*&54Pwe9D@V?9VX11*CZrH!XG5iwgwT@{`c8m+wnjyU}+h0zyWJpokbEtiQx z_ZcBVg}TYC$wYNR$8sG(Z|f)(Jc*2TrGEIgb1-rcN@YuyGk#m#Ptdgo10}Xar*Ii! z@pAHN?2Evur38ho>kK&8MtRlxhO2>=&(QMw&%ch`=xXE-Ib~W#566vl%Oy)gBRe$s ziN+1;f$Q#z>5$>G6J<#rFy#+T37K%(LWSqxegUw+i7H7pq#}a@6ywhd^lgxz4keqD zMl8-Bp5YzIAITxJZfTs(1?vjrJ2)RV@7&!^PR#{9Pu>;@{~1(ln?8{=1F5XzyGPVs z$VsqlqcZK|FSha9r{w{sbN3b*kSVzKG3Kp|So}YJGfu$0Cr;|9P{Kp;?lnrHZ$DIX z*$bf!uB$(FKI~!jv~m9}7K!O)2Y@Zy+ffjPEk<>KfUNXtR{xVfWg?s!I31Voro%4%BP4SuV1s zw)-qd5Bypr2RjfVz`8Y613<#i-|V^sw$iSF3W3*#|K^@ zL;3m_uw(1e=i5<`AlM%DGf#HjZoe)37ZI__VU^td*L0>?atWnS@{Xrj9Nf%0(1d@Y zW89}C6ZczmX-;SJfc(EPy>9Cfwpwab<<_XufB;q5rS~#NZlYf*oc*tZVrX%D%3vP} zV7>`Ezw@Fk9+d!rF8>LlT3TwNU2X3gV_&u$?^)qMa6OyY_w1zBwoiUC0_0S|i>wR7 z$k)>LK>YUd&5$W@?D#Izzi~SSI!q@lC6fzP94!D3xXZ@_Ilt9KA_ABp=md77WgI^ei z>kgrndVf=BoZ8#+jnvJC%Qmc#V6qmXt6rXX`kY_#ZDROkGc$NpVOc$egXKwP=`h_#N{i;3w9Cbg14F&8#|f5SwIe8iqAn05RADW znV@fsNf$QfA*-Kv1FJZWf_gZM$Dcqqd(eqA8w_WL9lwK?==+^1V^)9e^G2xc#J~=~ zB(Q+}F0k5?wS#IfWIGi*B?FQzM4-Rt@eCL@#`$*ys{T!T{vnjr*`JmwHTDk=XlYaw zk)H9l!o(BYHKgMw*JEWLg$_ZEg zDyW|*4)rSrD&n|ojR3vV#;|wx_%3HdmT}GjlF2jmb^|ta6E8}ihH7|bmD@OH|IfL| z?hmX>o%f9`hF~(93N;gOeb8$Y=C- ze};fM*FZnI>yu5F>_2ryK4r(V{a<&b(14dtKV|+e(nJ$V73_rBtImK={F*n!jit$z z86jLO&*p{J`!kfC?xAD&KoglIY|xFdxRO|`BEPa=f#Z}+g(adW$jx1>$#5Z1RBpq+T>=?u-2@nMAi3%FU8$- z{*}{tT9y1QxcL#+5L5Nv3ug$5dB5ji+2UNEu?+ulLE5p|X5Q|y1_NQ(qm7t6VCew* zbOn3}PIHv*J4|k^*u-+Tequ|yU;bgHsrGH~!!|h?*yU(LpQ>D?&bkZ@cS^0mBfyxy zr)#n4eF7#SxO{A4woUN`xT61S51wn?x{mS{q5$$b4XDTEaapEK)}v~@lwaH!uLS;^ zo*0$ni*ykRhF!M-EzZ^pW?3oZ>lHQl{d5V8D??S_dfI+E)EAi8{B`M?9<@Z&!UrxX z)&%%h9{(=T4b+RYSiKTn4uOOLulXx_HxRudFHem_jU2v!c?hG+kt^>ooV!f)qaJ+W zjR(80I1dJDn3)scaf5S-Mq^_2p2lrzx^IrsBr@j}dP0E0-h8VSZ@{!^_^g#@+CZ~6 zBpO4+IdnMtQwg~34))*rLmHK9`ZMQj9W@GEDkq<{|IKX$N{V?krvLLD)bVSCvlX?BXqYIu@?a{~v!p=HnJE|p&u1aIr?;7J3Mls9d92o&|8{&?4!FqCB!VtA+_WH))GR5E##s?rLf0>b)@G99*Cv*)N1@4JbjNGwq2}|1)(D+~tMZG&Z$jtH zL+At(NFYs3kP(=UD)93yjY#}ZJ9H3+WHXu#-Yirq*ZZ91ej9iP_VyJ^c4zXAjPm>kF#j!0FKcjsV4BNsgoDBVs}kB8&009nZ4ajbuL~zx9#) zpCc7t(2wSdLa4I43SPu1Uv!rq(~viv)c>_~=p&_FBril=|9606v`!ys)50f&)YAX# zDroS=ME)KI)c{`4OlAqzR5?u;y^x7&N_@i2R>J0V{P{FdrQ0^PSZIlaE9)=e5h{L= zCrCp;V@Yyw)IRuKuTQhP;WgY~67JB8yQgtL3v6LIiEx&(P0ZKO`>!G6I%Jj)W z<1M8?uew5$#HFU!2JBk18x%_^g8`~Q%{^5){Ts%jP)8aLPM@XbB`Arc%8u_R-E|J~ z?el}$t9h^O@>?mwdC${Xm9CX{{eHmP40#n^&6U9<*M3pxd7oC;zgDxb&M=%q zT?gkTFsftJCW1s0V?&f!Whz&I3WfAz^c4M@)lqty=$p8QVrK*aeE}ldGf`ka) zf0MBsz!RaJoTeNAfJTttSl+|GKZU92Y61ZM9Qe3M0O0Cx{3Zb4EdT&)TL1u(C;;H0 zTV}J4H2wpTmAbMbp7HHc0TY5JQa2SNPXOS4*Iy8%aNlPF0H`fh73K7N=k~IU64<8o zUk(SP85vzeT7HZPE!L=Z8awBX@-c_e@4h4eS&%$CL_Q=$Vc(N{BQ~LSCSVDtiVA(o z1H^*V51n>VRirRKrHnZ0R9Z&f7mMRUFUC#0_fmG&@@<=?Fr~`lvxR+p`q^J9%QMm% zmN0(HLFX-BDFqecX8f@@WO`ETLCBkSU^|Pp(uCUgU7{7h38$8meDKb zZONwy*F$o2{Sx9>2a|bVeCKGIUlxV)j67T^CAjH7QOn41mieOHMqBqzQ0(r}0rX_c zJYdBz3QS;2C5C&pe`6^hecH4pPycA-u8ovLwFjQziMs?3O zOb5Khi8%Tp8}^HJ`DS%)ryj3ue<*a1t=rjjO?#paq(9B9sn8JGLyM0Vr5snzYpJi% zzwKN$C^D@!dQx*JJlU|!Fn3q)gioj^gY#&m|3dc&$4e=51XT5Z`Ht`v^sAp89rx^3 zZOi}%R46S}Lu%_}-Hh&Q*^tXsgz%bSIQLdc-nXWCM@|BHQr94E}e_{PF}!uTLCv@pgste3NRWX&NO-_)EZ{opr;8fR*csP)`) zgmG}d7YtDT(aS=6^XV)X7tei1bMIhCq4{7pxv*Ggtvhy&2hY{=<{p?pDbU zOidudMoPF$Z!Bp*D6?2M#@U=zi*h}0TAY!Cz14kPHo$NH`N>VBY%632A>M%Qng|Lo z_w{;&|3T`SLB@q1dFVg>_MhFhWb0+MJoWXiCZ4S#rOrf+VQZDTE1+KN_0WV5vrZKnmVaC%RS}7SEWm+$8X{=TPiStAe05u- zhR~W|NMjT~9Wg&gpJDU)oZg4~~scV*g|?RhzY zh}|4g>X{+^BID+{Ot)W<+=N9>~lN?NxS+&02eXzE+ zlGeAVlK4q>VE4=UF`uY9#r7Wmqa;eeRbVXEPM zWCjV45uXfKD8wdKI3)KkLVK7j4T%6%l2$@uiwmOfUFt=O?8a!Ph1;O{f`(f82)t4*$>dvT>$C*L$h{4Kv&&Is(3?<#v4n=P*DrhQwkUw$@C(2?mfo^tF{sGXGTq zy>BWKI{zs|2wgpPk*Y0C|5rf?y0`9`$@D=#O9sRZ48*m?N`*vIOQV;eukJ?2g!rD` zFPYeB$GXlSNFzQMgdmfP`DyS1nn!AWou_!DIFXKDmn#X$khHX#y@4Y5ju@^Njk6oV!OCgv2QhGgnGE=8|Ft<<8-$w9;FBBTcNLi(_e7Z zM{)H*eTA6r0eOTDv*XOnB=tz6(6{Yjq`w!AXg_+WpFe)2*=A#sJMa5|3gf3iFRzC! z=5F5VlBbxO*U^@j>F_bhxCB`! z>q%S3G|ya5VzMlhFsI03xuGBB*>Nm+3N>;(e>*0)s+T(Y&|rkSgY4XMmf=YOb))+G>}YJctajS1Q(`a%v#Vv*(ZRc=G7k=^kM}E)b>X}(ecc}qb|`z5 zS`{BzcAg|Top-UQR_qD8ivRGGM);{*djhp1ea>VjLe|(tpfu{dbHGV2m;-^FRB2me zJ5lnv38sUZbGY#$vQ)rn(817BeE3r5dOML-;O8vI&T!XF zq&Qd{@xsB%6#e|`>wjjXh8v@f0qaqRYY0CU)2Pvw_PP9f<*Xe0GA-j5#Px)=y4pBr z(tu}SLZvllih=@3p<0A(XRpyfYLLLx=jaUd{fvnxy(_6+<O+ zix@W)6)yr^^<|R@*zD#vS@N`D-H%YxFZt^^9O{G5G-*`EI4QrHYJVTt3NtvbX6&by zYJT+v_D0ZD4Qxt*Rls#`$9vp#zP~wly4%8+Ala}oRQL-vbZ-&ke2F??TGHXiY!1l5 z9e5JA zehUjNWvir>tmSNcO0zAc!~FnAd8d^(1>8#X+b%?B@aYQIuNPqc+o2#hS69tnX&v{o zUE!u`k>724-&sH&`$Y(spO9{sZEl(HlTpS?YkZo{@ukV>0q&>8fCJ#>(6Tm z%HwB1bC(%u8Ls&BH&_N4_@YtAq|_JDX%9Z|(7k~w;c7nk@|%Cm>c|IvO9+E_ z2%DsBk2+$sPDi35T(mL=&~Ww{qK8H4Jj}ZjfX2Y8ACKWbRYf8m-z@QZPpM@Y?jkvO z_5)i&_xFSCDd`BWbOrH#U{nHcTu0aaVSC<=e(;tPg8u8~9j0=+toDPg=TMLOz&FokF8VC@sI?8N%U~`z}tw*QjiZeQy6BOg!G+2u|*w)b`zr<+s* zAhX0LTkkH8#fh}com2_8=P{q3J4zq}CpRAvYlbAqoe)+e_iQGr<|J2i(wRsz@cO;dU2O{w{bvv%p_@Y27_v?Aj?H)>EDJR<- z4U~BZHqj$r9K8wv@6Y!RY(du%Yb_Qzz~?EE>>nf`wLbpD?cWsD6U z$i4>RxW*v!EAdD7H>r#iGu8qE2D6h1CKi+NzNu>{l8daIH_IWdV>p{=si-9XftQU+ zRwM`|Dfte;A7P1dDcxE6j2xUA7E|kG02J9lq!@<_`BB-Ac3Z$}u}u35RqTblTP}-q z$p&K5rbU%Lnp@T0yaFQ3MrvL*4C-Y{?OE{F0}&Rx`HsyLw>J_KJXl6N@ zrN+QRrC!8ia_LP?*6$KJW{5}&_p)0=vDqVlm&Z!YxF+N5Qd$ZAMCix?H0VGfQWu%p zMYfHQj_4CF5_Xl>;j8I#&4P_E9Cg*TE_%9midd?h$$-d5_sRIf|FWXmad<1*`#P!p zvbYX^KsAb4o!4=q0aB9Tpm|QWB)fk?)|tlP&gM<#NnaK|rRyAeP0V#Im_}-coaDcc zJx~wbx*P;OXTh;L7FxN|uSOw3y*N^5KFa*$ueZ)8RCL=^p?WjwJ-ZI+BuB_E(g`?j z#f>()w-x#_zD0h$P~1io*4;ukmnekNCz^(Y31t{Q{tn!F^i3Ip%$s^{OLcVnt@MTB zJ!<=h_!|gzuYX>9SzCJ9NWwg9@C1Me2uk4VzzY%A6NE@YL?i`7xdkAS0s=k0io*Yu z-~zXHu=V@@6YAM-qVWlj{*C~J+j{v}de{Jbe0=yET%9~&mToqDa1XnTeQ8E~5J2@G LEyYTCi}3#e>^qY` literal 0 HcmV?d00001 diff --git a/netbox_topology_views/static/netbox_topology_views/img/storage.png b/netbox_topology_views/static/netbox_topology_views/img/storage.png new file mode 100644 index 0000000000000000000000000000000000000000..6a78a9cccc1c219f4bb84ad74dc139f8d40b3ca9 GIT binary patch literal 5648 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 UId4yi{aOgng6XMOslw6!186#UhX4Qo literal 0 HcmV?d00001 diff --git a/netbox_topology_views/static/netbox_topology_views/img/wan-network.png b/netbox_topology_views/static/netbox_topology_views/img/wan-network.png new file mode 100644 index 0000000000000000000000000000000000000000..f0b9a293e7ba48acd0e177e0431701414d7c7266 GIT binary patch literal 7415 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 ZY&qP$?6c0r$Y4wWB{?Loading data'),e.preventDefault();var a=$("#name").val(),t=$("#device-roles").val(),n=$("#sites").val();$.ajax({type:"POST",url:"/api/search",data:JSON.stringify({name:a,devicerole:t,sites:n}),headers:{"X-CSRFToken":csrftoken},contentType:"application/json; charset=utf-8",dataType:"json",success:function(e){$("#status").html('Drawing network'),graph=null,nodes=new vis.DataSet,edges=new vis.DataSet,graph=new vis.Network(container,{nodes:nodes,edges:edges},options),$.each(e.nodes,function(e,a){nodes.add(a)}),$.each(e.edges,function(e,a){edges.add(a)}),graph.fit(),graph.on("afterDrawing",function(){$("#status").html('Ready')}),graph.on("dragEnd",function(e){dragged=this.getPositions(e.nodes),$.each(dragged,function(e,a){$("#coordstatus").html(""),$("#checkSaveCoordinates").is(":checked")&&(nodes.update({id:e,physics:!1}),$.ajax({url:"/api/save_coords",type:"POST",dataType:"json",headers:{"X-CSRFToken":csrftoken},contentType:"application/json; charset=utf-8",data:JSON.stringify({node_id:e,x:a.x,y:a.y}),error:function(e){$("#coordstatus").html('Failed to update coordinates')},success:function(e){$("#coordstatus").html('Updated coordinates'),$.ajax({url:"/api/reload_devices",type:"GET",headers:{"X-CSRFToken":csrftoken},success:function(e){}})}}))})})},error:function(e){$("#status").html('Something went wrong')}})})} \ No newline at end of file diff --git a/netbox_topology_views/static/netbox_topology_views/js/vendor.js b/netbox_topology_views/static/netbox_topology_views/js/vendor.js new file mode 100644 index 0000000..3421d57 --- /dev/null +++ b/netbox_topology_views/static/netbox_topology_views/js/vendor.js @@ -0,0 +1 @@ +!function(t,g){"object"==typeof exports&&"undefined"!=typeof module?g(exports):"function"==typeof define&&define.amd?define(["exports"],g):g((t=t||self).vis=t.vis||{})}(this,function(t){"use strict";var g="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:{};function e(t,g){return t(g={exports:{}},g.exports),g.exports}function A(t){return t&&t.default||t}function I(t){return t&&t.Math==Math&&t}function a(t){try{return!!t()}catch(t){return!0}}function y(t,g){return{enumerable:!(1&t),configurable:!(2&t),writable:!(4&t),value:g}}function C(t){return k.call(t).slice(8,-1)}function o(t){if(null==t)throw TypeError("Can't call method on "+t);return t}function r(t){return O(o(t))}function d(t){return"object"==typeof t?null!==t:"function"==typeof t}function i(t,g){if(!d(t))return t;var e,A;if(g&&"function"==typeof(e=t.toString)&&!d(A=e.call(t)))return A;if("function"==typeof(e=t.valueOf)&&!d(A=e.call(t)))return A;if(!g&&"function"==typeof(e=t.toString)&&!d(A=e.call(t)))return A;throw TypeError("Can't convert object to primitive value")}function f(t,g){return N.call(t,g)}function n(t){return Z?E.createElement(t):{}}function s(t,g){var e=S[R(t)];return e==L||e!=F&&("function"==typeof g?a(g):!!g)}function l(t){if("function"!=typeof t)throw TypeError(String(t)+" is not a function");return t}function m(A,I,t){if(l(A),void 0===I)return A;switch(t){case 0:return function(){return A.call(I)};case 1:return function(t){return A.call(I,t)};case 2:return function(t,g){return A.call(I,t,g)};case 3:return function(t,g,e){return A.call(I,t,g,e)}}return function(){return A.apply(I,arguments)}}function c(t){if(!d(t))throw TypeError(String(t)+" is not an object");return t}function p(A){function t(t,g,e){if(this instanceof A){switch(arguments.length){case 0:return new A;case 1:return new A(t);case 2:return new A(t,g)}return new A(t,g,e)}return A.apply(this,arguments)}return t.prototype=A.prototype,t}function b(t,g){var e,A,I,C,i,n,o,r,s=t.target,a=t.global,d=t.stat,l=t.proto,c=a?v:d?v[s]:(v[s]||{}).prototype,h=a?Y:Y[s]||(Y[s]={}),u=h.prototype;for(I in g)e=!Q(a?I:s+(d?".":"#")+I,t.forced)&&c&&f(c,I),i=h[I],e&&(n=t.noTargetGet?(r=P(c,I))&&r.value:c[I]),C=e&&n?n:g[I],e&&typeof i==typeof C||(o=t.bind&&e?m(C,v):t.wrap&&e?p(C):l&&"function"==typeof C?m(Function.call,C):C,(t.sham||C&&C.sham||i&&i.sham)&&j(o,"sham",!0),h[I]=o,l&&(f(Y,A=s+"Prototype")||j(Y,A,{}),Y[A][I]=C,t.real&&u&&!u[I]&&j(u,I,C)))}var v=I("object"==typeof globalThis&&globalThis)||I("object"==typeof window&&window)||I("object"==typeof self&&self)||I("object"==typeof g&&g)||Function("return this")(),h=!a(function(){return 7!=Object.defineProperty({},1,{get:function(){return 7}})[1]}),u={}.propertyIsEnumerable,w=Object.getOwnPropertyDescriptor,x={f:w&&!u.call({1:2},1)?function(t){var g=w(this,t);return!!g&&g.enumerable}:u},k={}.toString,D="".split,O=a(function(){return!Object("z").propertyIsEnumerable(0)})?function(t){return"String"==C(t)?D.call(t,""):Object(t)}:Object,N={}.hasOwnProperty,E=v.document,Z=d(E)&&d(E.createElement),M=!h&&!a(function(){return 7!=Object.defineProperty(n("div"),"a",{get:function(){return 7}}).a}),T=Object.getOwnPropertyDescriptor,G={f:h?T:function(t,g){if(t=r(t),g=i(g,!0),M)try{return T(t,g)}catch(t){}if(f(t,g))return y(!x.f.call(t,g),t[g])}},B=/#|\.prototype\./,R=s.normalize=function(t){return String(t).replace(B,".").toLowerCase()},S=s.data={},F=s.NATIVE="N",L=s.POLYFILL="P",Q=s,Y={},W=Object.defineProperty,z={f:h?W:function(t,g,e){if(c(t),g=i(g,!0),c(e),M)try{return W(t,g,e)}catch(t){}if("get"in e||"set"in e)throw TypeError("Accessors not supported");return"value"in e&&(t[g]=e.value),t}},j=h?function(t,g,e){return z.f(t,g,y(1,e))}:function(t,g,e){return t[g]=e,t},P=G.f,V=[].slice,X={},U=Function.bind||function(g){var e=l(this),A=V.call(arguments,1),I=function(){var t=A.concat(V.call(arguments));return this instanceof I?function(t,g,e){if(!(g in X)){for(var A=[],I=0;Is&&(c=s),l=Math.sqrt(c*c/(1+r*r)),g+=l=n<0?-l:l,e+=r*l,!0===d?t.lineTo(g,e):t.moveTo(g,e),s-=c,d=!d}var At={circle:q,dashedLine:et,database:gt,diamond:function(t,g,e,A){t.beginPath(),t.lineTo(g,e+A),t.lineTo(g+A,e),t.lineTo(g,e-A),t.lineTo(g-A,e),t.closePath()},ellipse:tt,ellipse_vis:tt,hexagon:function(t,g,e,A){t.beginPath();var I=2*Math.PI/6;t.moveTo(g+A,e);for(var C=1;C<6;C++)t.lineTo(g+A*Math.cos(I*C),e+A*Math.sin(I*C));t.closePath()},roundRect:$,square:function(t,g,e,A){t.beginPath(),t.rect(g-A,e-A,2*A,2*A),t.closePath()},star:function(t,g,e,A){t.beginPath(),e+=.1*(A*=.82);for(var I=0;I<10;I++){var C=I%2==0?1.3*A:.5*A;t.lineTo(g+C*Math.sin(2*I*Math.PI/10),e-C*Math.cos(2*I*Math.PI/10))}t.closePath()},triangle:function(t,g,e,A){t.beginPath(),e+=.275*(A*=1.15);var I=2*A,C=I/2,i=Math.sqrt(3)/6*I,n=Math.sqrt(I*I-C*C);t.moveTo(g,e-(n-i)),t.lineTo(g+C,e+i),t.lineTo(g-C,e+i),t.lineTo(g,e-(n-i)),t.closePath()},triangleDown:function(t,g,e,A){t.beginPath(),e-=.275*(A*=1.15);var I=2*A,C=I/2,i=Math.sqrt(3)/6*I,n=Math.sqrt(I*I-C*C);t.moveTo(g,e+(n-i)),t.lineTo(g+C,e-i),t.lineTo(g-C,e-i),t.lineTo(g,e+(n-i)),t.closePath()}},It=e(function(t){function e(t){if(t)return function(t){for(var g in e.prototype)t[g]=e.prototype[g];return t}(t)}(t.exports=e).prototype.on=e.prototype.addEventListener=function(t,g){return this._callbacks=this._callbacks||{},(this._callbacks["$"+t]=this._callbacks["$"+t]||[]).push(g),this},e.prototype.once=function(t,g){function e(){this.off(t,e),g.apply(this,arguments)}return e.fn=g,this.on(t,e),this},e.prototype.off=e.prototype.removeListener=e.prototype.removeAllListeners=e.prototype.removeEventListener=function(t,g){if(this._callbacks=this._callbacks||{},0==arguments.length)return this._callbacks={},this;var e,A=this._callbacks["$"+t];if(!A)return this;if(1==arguments.length)return delete this._callbacks["$"+t],this;for(var I=0;II;)ht(A,e=g[I++])&&(~ng(C,e)||C.push(e));return C}var qt=it(function(t){var A=zt.Object,g=t.exports=function(t,g,e){return A.defineProperty(t,g,e)};A.defineProperty.sham&&(g.sham=!0)}),$t=qt,tg=Math.ceil,gg=Math.floor,eg=Math.min,Ag=Math.max,Ig=Math.min,Cg={includes:Jt(!0),indexOf:Jt(!1)},ig={},ng=Cg.indexOf,og=["constructor","hasOwnProperty","isPrototypeOf","propertyIsEnumerable","toLocaleString","toString","valueOf"],rg=Object.keys||function(t){return Kt(t,og)},sg=wt?Object.defineProperties:function(t,g){vt(t);for(var e,A=rg(g),I=A.length,C=0;Cn;)void 0!==(e=I(A,g=C[n++]))&&lg(i,g,e);return i}});var vg=zt.Object.getOwnPropertyDescriptors,yg=Rt.f,mg=ot(function(){yg(1)});mt({target:"Object",stat:!0,forced:!wt||mg,sham:!wt},{getOwnPropertyDescriptor:function(t,g){return yg(dt(t),g)}});function bg(t){return Object(at(t))}function wg(t){return"Symbol("+String(void 0===t?"":t)+")_"+(++Rg+Sg).toString(36)}function xg(t){return Fg[t]||(Fg[t]=wg(t))}function kg(){}function Dg(t){return" + + + + +{% endblock %} \ No newline at end of file diff --git a/netbox_topology_views/urls.py b/netbox_topology_views/urls.py index e69de29..5a1c715 100644 --- a/netbox_topology_views/urls.py +++ b/netbox_topology_views/urls.py @@ -0,0 +1,10 @@ +from django.urls import path + +from . import views + + +# Define a list of URL patterns to be imported by NetBox. Each pattern maps a URL to +# a specific view so that it can be accessed by users. +urlpatterns = ( + path('', views.TopologyHomeView.as_view(), name='home'), +) diff --git a/netbox_topology_views/views.py b/netbox_topology_views/views.py index e69de29..27b9e00 100644 --- a/netbox_topology_views/views.py +++ b/netbox_topology_views/views.py @@ -0,0 +1,10 @@ +from django.shortcuts import get_object_or_404, render +from django.views.generic import View + + +class TopologyHomeView(View): + """ + Show the home page + """ + def get(self, request): + return render(request, 'netbox_topology_views/index.html') \ No newline at end of file diff --git a/package-lock.json b/package-lock.json new file mode 100644 index 0000000..2e8e71c --- /dev/null +++ b/package-lock.json @@ -0,0 +1,4627 @@ +{ + "name": "netbox_topology_views", + "version": "0.0.1", + "lockfileVersion": 1, + "requires": true, + "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": "6.12.0", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.0.tgz", + "integrity": "sha512-D6gFiFA0RRLyUbvijN74DWAjXSFxWKaWP7mldxkVhyhAV3+SWA9HEJPHQ2c9soIeTFJqcSdFDGFgdqs1iUU2Hw==", + "dev": true, + "requires": { + "fast-deep-equal": "^3.1.1", + "fast-json-stable-stringify": "^2.0.0", + "json-schema-traverse": "^0.4.1", + "uri-js": "^4.2.2" + } + }, + "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=", + "dev": true, + "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=", + "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" + } + }, + "ansi-wrap": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/ansi-wrap/-/ansi-wrap-0.1.0.tgz", + "integrity": "sha1-qCJQ3bABXponyoLoLqYDu/pF768=", + "dev": true + }, + "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" + } + }, + "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-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-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.2", + "resolved": "https://registry.npmjs.org/async-done/-/async-done-1.3.2.tgz", + "integrity": "sha512-uYkTP8dw2og1tu1nmza1n1CMW0qb8gWWlwqMmLb7MhBVs4BXrFziT6HXUd+/RlRA/i4H9AkofYloUbs1fwMqlw==", + "dev": true, + "requires": { + "end-of-stream": "^1.1.0", + "once": "^1.3.2", + "process-nextick-args": "^2.0.0", + "stream-exhaust": "^1.0.1" + } + }, + "async-each": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/async-each/-/async-each-1.0.3.tgz", + "integrity": "sha512-z/WhQ5FPySLdvREByI2vZiTWwCnF0moMJ1hK9YQwDTHKh6I7/uSckMetoRGb5UBZPC1z0jlw+n/XCgjeH7y1AQ==", + "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.2", + "resolved": "https://registry.npmjs.org/atob/-/atob-2.1.2.tgz", + "integrity": "sha512-Wm6ukoaOGJi/73p/cl2GvLjTI5JM1k/O14isD73YML8StrH/7/lRFgmg8nICZgD3bZZvjwCGxtMOD3wWNAu8cg==", + "dev": true + }, + "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.9.1", + "resolved": "https://registry.npmjs.org/aws4/-/aws4-1.9.1.tgz", + "integrity": "sha512-wMHVg2EOHaMRxbzgFJ9gtjOOCrI80OHLG14rxi28XwOW8ux6IiEbRCGGGqCtdAIg4FQCbW20k9RsT4y3gJlFug==", + "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, + "requires": { + "tweetnacl": "^0.14.3" + } + }, + "binary-extensions": { + "version": "1.13.1", + "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-1.13.1.tgz", + "integrity": "sha512-Un7MIEDdUC5gNpcGDV97op1Ywk748MpHcFTHoYs6qnj1Z3j7I53VG3nwZhKzoBZmbdRNnb6WRdFlwl7tSDuZGw==", + "dev": true + }, + "bindings": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/bindings/-/bindings-1.5.0.tgz", + "integrity": "sha512-p2q/t/mhvuOj/UeLlV6566GD/guowlr0hHxClI0W9m7MWYkL1F0hLo+0Aexs9HSPCtR1SXQ0TD3MMKrXZajbiQ==", + "dev": true, + "optional": true, + "requires": { + "file-uri-to-path": "1.0.0" + } + }, + "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" + } + } + } + }, + "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 + }, + "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 + } + } + }, + "caseless": { + "version": "0.12.0", + "resolved": "https://registry.npmjs.org/caseless/-/caseless-0.12.0.tgz", + "integrity": "sha1-G2gcIf+EAzyCZUMJBolCDRhxUdw=", + "dev": true + }, + "chalk": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", + "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "dev": true, + "requires": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + } + }, + "chokidar": { + "version": "2.1.8", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-2.1.8.tgz", + "integrity": "sha512-ZmZUazfOzf0Nve7duiCKD23PFSCs4JPoYyccjUFF3aQkQadqBhfzhjkwBH2mNOG9cTBwhamM37EIsIkZw3nRgg==", + "dev": true, + "requires": { + "anymatch": "^2.0.0", + "async-each": "^1.0.1", + "braces": "^2.3.2", + "fsevents": "^1.2.7", + "glob-parent": "^3.1.0", + "inherits": "^2.0.3", + "is-binary-path": "^1.0.0", + "is-glob": "^4.0.0", + "normalize-path": "^3.0.0", + "path-is-absolute": "^1.0.0", + "readdirp": "^2.2.1", + "upath": "^1.1.1" + }, + "dependencies": { + "normalize-path": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", + "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==", + "dev": true + } + } + }, + "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" + } + } + } + }, + "clean-css": { + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/clean-css/-/clean-css-4.2.3.tgz", + "integrity": "sha512-VcMWDN54ZN/DS+g58HYL5/n4Zrqe8vHJpGA8KdgUXFU4fuP/aHNw8eld9SyEIyabIMJX/0RaY/fplOo5hYLSFA==", + "dev": true, + "requires": { + "source-map": "~0.6.0" + }, + "dependencies": { + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true + } + } + }, + "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": "2.1.2", + "resolved": "https://registry.npmjs.org/clone/-/clone-2.1.2.tgz", + "integrity": "sha1-G39Ln1kfHo+DZwQBYANFoCiHQ18=", + "dev": true + }, + "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": "1.0.0", + "resolved": "https://registry.npmjs.org/clone-stats/-/clone-stats-1.0.0.tgz", + "integrity": "sha1-s3gt/4u1R04Yuba/D9/ngvh3doA=", + "dev": true + }, + "cloneable-readable": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/cloneable-readable/-/cloneable-readable-1.1.3.tgz", + "integrity": "sha512-2EF8zTQOxYq70Y4XKtorQupqF0m49MBz2/yf5Bj+MHjvpG3Hy7sImifnqD6UA+TKYxeSV+u6qqQPawN5UvnpKQ==", + "dev": true, + "requires": { + "inherits": "^2.0.1", + "process-nextick-args": "^2.0.0", + "readable-stream": "^2.3.5" + } + }, + "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.3", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", + "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", + "dev": true, + "requires": { + "color-name": "1.1.3" + } + }, + "color-name": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", + "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=", + "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==", + "dev": true + }, + "combined-stream": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz", + "integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==", + "dev": true, + "requires": { + "delayed-stream": "~1.0.0" + } + }, + "commander": { + "version": "2.20.3", + "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz", + "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==", + "dev": true + }, + "component-emitter": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/component-emitter/-/component-emitter-1.3.0.tgz", + "integrity": "sha512-Rd3se6QB+sO1TwqZjscQrurpEPIfO0/yYnSin6Q/rD3mOutHvUrCAhJub3r90uNb+SESBuE0QYoB90YdfatsRg==", + "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" + } + }, + "concat-with-sourcemaps": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/concat-with-sourcemaps/-/concat-with-sourcemaps-1.1.0.tgz", + "integrity": "sha512-4gEjHJFT9e+2W/77h/DS5SGUgwDaOwprX8L/gl5+3ixnzkVJJsZWDSelmN3Oilw3LNDZjZV0yqH1hLG3k6nghg==", + "dev": true, + "requires": { + "source-map": "^0.6.1" + }, + "dependencies": { + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true + } + } + }, + "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.7.0", + "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.7.0.tgz", + "integrity": "sha512-4FJkXzKXEDB1snCFZlLP4gpC3JILicCpGbzG9f9G7tGqGCzETQ2hWPrcinA9oU4wtf2biUaEH5065UnMeR33oA==", + "dev": true, + "requires": { + "safe-buffer": "~5.1.1" + } + }, + "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=", + "dev": true + }, + "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.1", + "resolved": "https://registry.npmjs.org/d/-/d-1.0.1.tgz", + "integrity": "sha512-m62ShEObQ39CfralilEQRjH6oAMtNCV1xJyEx5LpRYUVN+EviphDgUc/F3hnYbADmkiNs67Y+3ylmlG7Lnu+FA==", + "dev": true, + "requires": { + "es5-ext": "^0.10.50", + "type": "^1.0.1" + } + }, + "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" + } + }, + "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 + }, + "duplexify": { + "version": "3.7.1", + "resolved": "https://registry.npmjs.org/duplexify/-/duplexify-3.7.1.tgz", + "integrity": "sha512-07z8uv2wMyS51kKhD1KsdXJg5WQ6t93RneqRxUHnskXVtlYYkLqM0gqStQZ3pj073g687jPCHrqNfCzawLYh5g==", + "dev": true, + "requires": { + "end-of-stream": "^1.0.0", + "inherits": "^2.0.1", + "readable-stream": "^2.0.0", + "stream-shift": "^1.0.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, + "requires": { + "jsbn": "~0.1.0", + "safer-buffer": "^2.1.0" + } + }, + "end-of-stream": { + "version": "1.4.4", + "resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.4.tgz", + "integrity": "sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==", + "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.53", + "resolved": "https://registry.npmjs.org/es5-ext/-/es5-ext-0.10.53.tgz", + "integrity": "sha512-Xs2Stw6NiNHWypzRTY1MtaG/uJlwCk8kH81920ma8mvN8Xq1gsfhZvpkImLQArw8AHnv8MT2I45J3c0R8slE+Q==", + "dev": true, + "requires": { + "es6-iterator": "~2.0.3", + "es6-symbol": "~3.1.3", + "next-tick": "~1.0.0" + } + }, + "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-symbol": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/es6-symbol/-/es6-symbol-3.1.3.tgz", + "integrity": "sha512-NJ6Yn3FuDinBaBRWl/q5X/s4koRHBrgKAu+yGI6JCBeiu3qrcbJhwT2GeR/EXVfylRk8dpQVJoLEFhK+Mu31NA==", + "dev": true, + "requires": { + "d": "^1.0.1", + "ext": "^1.1.2" + } + }, + "es6-weak-map": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/es6-weak-map/-/es6-weak-map-2.0.3.tgz", + "integrity": "sha512-p5um32HOTO1kP+w7PRnB+5lQ43Z6muuMuIMffvDN8ZB4GcnjLBV6zGStpbASIMk4DCAvEaamhe2zhyCb/QXXsA==", + "dev": true, + "requires": { + "d": "1", + "es5-ext": "^0.10.46", + "es6-iterator": "^2.0.3", + "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=", + "dev": true + }, + "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" + } + }, + "ext": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/ext/-/ext-1.4.0.tgz", + "integrity": "sha512-Key5NIsUxdqKg3vIsdw9dSuXpPCQ297y6wBjL30edxwPgt2E44WcWBZey/ZvUc6sERLTxKdyCu4gZFmUbk1Q7A==", + "dev": true, + "requires": { + "type": "^2.0.0" + }, + "dependencies": { + "type": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/type/-/type-2.0.0.tgz", + "integrity": "sha512-KBt58xCHry4Cejnc2ISQAF7QY+ORngsWfxezO68+12hKV6lQY8P/psIkcbjeHWn7MqcgciWJyCCevFMJdIXpow==", + "dev": true + } + } + }, + "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.3", + "resolved": "https://registry.npmjs.org/fancy-log/-/fancy-log-1.3.3.tgz", + "integrity": "sha512-k9oEhlyc0FrVh25qYuSELjr8oxsCoc4/LEZfg2iJJrfEk/tZL9bCoJE47gqAvI2m/AUjluCS4+3I0eTx8n3AEw==", + "dev": true, + "requires": { + "ansi-gray": "^0.1.1", + "color-support": "^1.1.3", + "parse-node-version": "^1.0.0", + "time-stamp": "^1.0.0" + } + }, + "fast-deep-equal": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.1.tgz", + "integrity": "sha512-8UEa58QDLauDNfpbrX55Q9jrGHThw2ZMdOky5Gl1CDtVeJDPVrG4Jxx1N8jw2gkWaff5UUuX1KJd+9zGe2B+ZA==", + "dev": true + }, + "fast-json-stable-stringify": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz", + "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==", + "dev": true + }, + "file-uri-to-path": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/file-uri-to-path/-/file-uri-to-path-1.0.0.tgz", + "integrity": "sha512-0Zt+s3L7Vf1biwWZ29aARiVYLx7iMGnEUl9x33fbB/j3jR81u/O2LbqK+Bm1CDSNDKVtJ/YjwY7TUd5SkeLQLw==", + "dev": true, + "optional": 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": "3.0.0", + "resolved": "https://registry.npmjs.org/findup-sync/-/findup-sync-3.0.0.tgz", + "integrity": "sha512-YbffarhcicEhOrm4CtrwdKBdCuz576RLdhJDsIfvNtxUuhdRet1qZcsMjqbePtAseKdAnDyM/IyXbu7PRPRLYg==", + "dev": true, + "requires": { + "detect-file": "^1.0.0", + "is-glob": "^4.0.0", + "micromatch": "^3.0.4", + "resolve-dir": "^1.0.1" + } + }, + "fined": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/fined/-/fined-1.2.0.tgz", + "integrity": "sha512-ZYDqPLGxDkDhDZBjZBb+oD1+j0rA4E0pXY50eplAAOPg2N/gUBSSk5IM1/QhPfyVo19lJ+CvXpqfvk+b2p/8Ng==", + "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.1", + "resolved": "https://registry.npmjs.org/flagged-respawn/-/flagged-respawn-1.0.1.tgz", + "integrity": "sha512-lNaHNVymajmk0OJMBn8fVUAU1BtDeKIqKoVhk4xAALB57aALg6b4W0MfJ/cUE0g9YBXy5XhSlPIpYIJ7HaY/3Q==", + "dev": true + }, + "flush-write-stream": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/flush-write-stream/-/flush-write-stream-1.1.1.tgz", + "integrity": "sha512-3Z4XhFZ3992uIq0XOqb9AreonueSYphE6oYbpt5+3u06JWklbsPkNv3ZKkP9Bz/r+1MWCaMoSQ28P85+1Yc77w==", + "dev": true, + "requires": { + "inherits": "^2.0.3", + "readable-stream": "^2.3.6" + } + }, + "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.3", + "resolved": "https://registry.npmjs.org/form-data/-/form-data-2.3.3.tgz", + "integrity": "sha512-1lLKB2Mu3aGP1Q/2eCOx0fNbRMe7XdwktwOruhfqqd0rIJWwN4Dh+E3hrPSlDCXnSR7UtZ1N38rVXm+6+MEhJQ==", + "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.12", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-1.2.12.tgz", + "integrity": "sha512-Ggd/Ktt7E7I8pxZRbGIs7vwqAPscSESMrCSkx2FtWeqmheJgCo2R74fTsZFCifr0VTPwqRpPv17+6b8Zp7th0Q==", + "dev": true, + "optional": true, + "requires": { + "bindings": "^1.5.0", + "nan": "^2.12.1", + "node-pre-gyp": "*" + }, + "dependencies": { + "abbrev": { + "version": "1.1.1", + "bundled": true, + "dev": true, + "optional": true + }, + "ansi-regex": { + "version": "2.1.1", + "bundled": true, + "dev": true, + "optional": true + }, + "aproba": { + "version": "1.2.0", + "bundled": true, + "dev": true, + "optional": true + }, + "are-we-there-yet": { + "version": "1.1.5", + "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, + "optional": true + }, + "brace-expansion": { + "version": "1.1.11", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "chownr": { + "version": "1.1.4", + "bundled": true, + "dev": true, + "optional": true + }, + "code-point-at": { + "version": "1.1.0", + "bundled": true, + "dev": true, + "optional": true + }, + "concat-map": { + "version": "0.0.1", + "bundled": true, + "dev": true, + "optional": true + }, + "console-control-strings": { + "version": "1.1.0", + "bundled": true, + "dev": true, + "optional": true + }, + "core-util-is": { + "version": "1.0.2", + "bundled": true, + "dev": true, + "optional": true + }, + "debug": { + "version": "3.2.6", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "ms": "^2.1.1" + } + }, + "deep-extend": { + "version": "0.6.0", + "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.7", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "minipass": "^2.6.0" + } + }, + "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.6", + "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.24", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "safer-buffer": ">= 2.1.2 < 3" + } + }, + "ignore-walk": { + "version": "3.0.3", + "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.4", + "bundled": true, + "dev": true, + "optional": true + }, + "ini": { + "version": "1.3.5", + "bundled": true, + "dev": true, + "optional": true + }, + "is-fullwidth-code-point": { + "version": "1.0.0", + "bundled": true, + "dev": true, + "optional": 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, + "optional": true, + "requires": { + "brace-expansion": "^1.1.7" + } + }, + "minimist": { + "version": "1.2.5", + "bundled": true, + "dev": true, + "optional": true + }, + "minipass": { + "version": "2.9.0", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "safe-buffer": "^5.1.2", + "yallist": "^3.0.0" + } + }, + "minizlib": { + "version": "1.3.3", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "minipass": "^2.9.0" + } + }, + "mkdirp": { + "version": "0.5.3", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "minimist": "^1.2.5" + } + }, + "ms": { + "version": "2.1.2", + "bundled": true, + "dev": true, + "optional": true + }, + "needle": { + "version": "2.3.3", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "debug": "^3.2.6", + "iconv-lite": "^0.4.4", + "sax": "^1.2.4" + } + }, + "node-pre-gyp": { + "version": "0.14.0", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "detect-libc": "^1.0.2", + "mkdirp": "^0.5.1", + "needle": "^2.2.1", + "nopt": "^4.0.1", + "npm-packlist": "^1.1.6", + "npmlog": "^4.0.2", + "rc": "^1.2.7", + "rimraf": "^2.6.1", + "semver": "^5.3.0", + "tar": "^4.4.2" + } + }, + "nopt": { + "version": "4.0.3", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "abbrev": "1", + "osenv": "^0.1.4" + } + }, + "npm-bundled": { + "version": "1.1.1", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "npm-normalize-package-bin": "^1.0.1" + } + }, + "npm-normalize-package-bin": { + "version": "1.0.1", + "bundled": true, + "dev": true, + "optional": true + }, + "npm-packlist": { + "version": "1.4.8", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "ignore-walk": "^3.0.1", + "npm-bundled": "^1.0.1", + "npm-normalize-package-bin": "^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, + "optional": true + }, + "object-assign": { + "version": "4.1.1", + "bundled": true, + "dev": true, + "optional": true + }, + "once": { + "version": "1.4.0", + "bundled": true, + "dev": true, + "optional": 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.1", + "bundled": true, + "dev": true, + "optional": true + }, + "rc": { + "version": "1.2.8", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "deep-extend": "^0.6.0", + "ini": "~1.3.0", + "minimist": "^1.2.0", + "strip-json-comments": "~2.0.1" + } + }, + "readable-stream": { + "version": "2.3.7", + "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.7.1", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "glob": "^7.1.3" + } + }, + "safe-buffer": { + "version": "5.1.2", + "bundled": true, + "dev": true, + "optional": 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.7.1", + "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, + "optional": 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, + "optional": true, + "requires": { + "ansi-regex": "^2.0.0" + } + }, + "strip-json-comments": { + "version": "2.0.1", + "bundled": true, + "dev": true, + "optional": true + }, + "tar": { + "version": "4.4.13", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "chownr": "^1.1.1", + "fs-minipass": "^1.2.5", + "minipass": "^2.8.6", + "minizlib": "^1.2.1", + "mkdirp": "^0.5.0", + "safe-buffer": "^5.1.2", + "yallist": "^3.0.3" + } + }, + "util-deprecate": { + "version": "1.0.2", + "bundled": true, + "dev": true, + "optional": true + }, + "wide-align": { + "version": "1.1.3", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "string-width": "^1.0.2 || 2" + } + }, + "wrappy": { + "version": "1.0.2", + "bundled": true, + "dev": true, + "optional": true + }, + "yallist": { + "version": "3.1.1", + "bundled": true, + "dev": true, + "optional": true + } + } + }, + "fstream": { + "version": "1.0.12", + "resolved": "https://registry.npmjs.org/fstream/-/fstream-1.0.12.tgz", + "integrity": "sha512-WvJ193OHa0GHPEL+AycEJgxvBEwyfRkN1vhjca23OaPVMCaLCXTd5qAu82AjTcgP1UJmytkOKb63Ypde7raDIg==", + "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" + } + }, + "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.6", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.6.tgz", + "integrity": "sha512-LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA==", + "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" + } + }, + "glob-watcher": { + "version": "5.0.3", + "resolved": "https://registry.npmjs.org/glob-watcher/-/glob-watcher-5.0.3.tgz", + "integrity": "sha512-8tWsULNEPHKQ2MR4zXuzSmqbdyV5PtwwCaWSGQ1WwHsJ07ilNeN1JB8ntxhckbnpSHaf9dXFUHzIWvm1I13dsg==", + "dev": true, + "requires": { + "anymatch": "^2.0.0", + "async-done": "^1.2.0", + "chokidar": "^2.0.0", + "is-negated-glob": "^1.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.3.1", + "resolved": "https://registry.npmjs.org/globule/-/globule-1.3.1.tgz", + "integrity": "sha512-OVyWOHgw29yosRHCHo7NncwR1hW5ew0W/UrvtwvjefVJeQ26q4/8r8FmPsSF1hJ93IgWkyv16pCTz6WblMzm/g==", + "dev": true, + "requires": { + "glob": "~7.1.1", + "lodash": "~4.17.12", + "minimatch": "~3.0.2" + } + }, + "glogg": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/glogg/-/glogg-1.0.2.tgz", + "integrity": "sha512-5mwUoSuBk44Y4EshyiqcH95ZntbDdTQqA3QYSrxmzj28Ai0vXBGMH1ApSANH14j2sIRtqCEyg6PfsuP7ElOEDA==", + "dev": true, + "requires": { + "sparkles": "^1.0.0" + } + }, + "graceful-fs": { + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.3.tgz", + "integrity": "sha512-a30VEBm4PEdx1dRB7MFK7BejejvCvBronbLjht+sHuGYj8PHs7M/5Z+rt5lw551vZ7yfTCj4Vuyy3mSJytDWRQ==", + "dev": true + }, + "gulp": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/gulp/-/gulp-4.0.2.tgz", + "integrity": "sha512-dvEs27SCZt2ibF29xYgmnwwCYZxdxhQ/+LFWlbAW8y7jt68L/65402Lz3+CKy0Ov4rOs+NERmDq7YlZaDqUIfA==", + "dev": true, + "requires": { + "glob-watcher": "^5.0.3", + "gulp-cli": "^2.2.0", + "undertaker": "^1.2.1", + "vinyl-fs": "^3.0.0" + }, + "dependencies": { + "gulp-cli": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/gulp-cli/-/gulp-cli-2.2.0.tgz", + "integrity": "sha512-rGs3bVYHdyJpLqR0TUBnlcZ1O5O++Zs4bA0ajm+zr3WFCfiSLjGwoCBqFs18wzN+ZxahT9DkOK5nDf26iDsWjA==", + "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": "^3.1.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-clean-css": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/gulp-clean-css/-/gulp-clean-css-4.3.0.tgz", + "integrity": "sha512-mGyeT3qqFXTy61j0zOIciS4MkYziF2U594t2Vs9rUnpkEHqfu6aDITMp8xOvZcvdX61Uz3y1mVERRYmjzQF5fg==", + "dev": true, + "requires": { + "clean-css": "4.2.3", + "plugin-error": "1.0.1", + "through2": "3.0.1", + "vinyl-sourcemaps-apply": "0.2.1" + }, + "dependencies": { + "through2": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/through2/-/through2-3.0.1.tgz", + "integrity": "sha512-M96dvTalPT3YbYLaKaCuwu+j06D/8Jfib0o/PxbVt6Amhv3dUAtW6rTV1jPgJSBG83I/e04Y6xkVdVhSRhi0ww==", + "dev": true, + "requires": { + "readable-stream": "2 || 3" + } + } + } + }, + "gulp-concat": { + "version": "2.6.1", + "resolved": "https://registry.npmjs.org/gulp-concat/-/gulp-concat-2.6.1.tgz", + "integrity": "sha1-Yz0WyV2IUEYorQJmVmPO5aR5M1M=", + "dev": true, + "requires": { + "concat-with-sourcemaps": "^1.0.0", + "through2": "^2.0.0", + "vinyl": "^2.0.0" + } + }, + "gulp-sass": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/gulp-sass/-/gulp-sass-4.0.2.tgz", + "integrity": "sha512-q8psj4+aDrblJMMtRxihNBdovfzGrXJp1l4JU0Sz4b/Mhsi2DPrKFYCGDwjIWRENs04ELVHxdOJQ7Vs98OFohg==", + "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 + }, + "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" + } + } + } + }, + "gulp-uglify": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/gulp-uglify/-/gulp-uglify-3.0.2.tgz", + "integrity": "sha512-gk1dhB74AkV2kzqPMQBLA3jPoIAPd/nlNzP2XMDSG8XZrqnlCiDGAqC+rZOumzFvB5zOphlFh6yr3lgcAb/OOg==", + "dev": true, + "requires": { + "array-each": "^1.0.1", + "extend-shallow": "^3.0.2", + "gulplog": "^1.0.0", + "has-gulplog": "^0.1.0", + "isobject": "^3.0.1", + "make-error-cause": "^1.1.1", + "safe-buffer": "^5.1.2", + "through2": "^2.0.0", + "uglify-js": "^3.0.5", + "vinyl-sourcemaps-apply": "^0.2.0" + } + }, + "gulplog": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/gulplog/-/gulplog-1.0.0.tgz", + "integrity": "sha1-4oxNRdBey77YGDY86PnFkmIp/+U=", + "dev": true, + "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.1.3", + "resolved": "https://registry.npmjs.org/har-validator/-/har-validator-5.1.3.tgz", + "integrity": "sha512-sNvOCzEQNr/qrvJgc3UG/kD4QtlHycrzwS+6mfTrrSq97BvaYcPZZI1ZSqGSPR73Cxn4LKTD4PttRwfU7jWq5g==", + "dev": true, + "requires": { + "ajv": "^6.5.5", + "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=", + "dev": true, + "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=", + "dev": true, + "requires": { + "sparkles": "^1.0.0" + } + }, + "has-symbols": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.1.tgz", + "integrity": "sha512-PLcsoqu++dmEIZB+6totNFKq/7Do+Z0u4oT0zKOJNl3lYK6vGwwu2hjHs+68OEZbTjiUE9bgOABXbP/GvrS0Kg==", + "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.3", + "resolved": "https://registry.npmjs.org/homedir-polyfill/-/homedir-polyfill-1.0.3.tgz", + "integrity": "sha512-eSmmWE5bZTK2Nou4g0AI3zZ9rswp7GRKoKXS1BLUkvPviOqs4YTN1djQIqrXy9k5gEtdLPy86JjRwsNM9tnDcA==", + "dev": true, + "requires": { + "parse-passwd": "^1.0.0" + } + }, + "hosted-git-info": { + "version": "2.8.8", + "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.8.8.tgz", + "integrity": "sha512-f/wzC2QaWBs7t9IYqB4T3sR1xviIViXJRJTWBlx2Gf3g0Xi5vI7Yy4koXQ1c9OYDGHN9sBy1DQ2AB8fqZBWhUg==", + "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.1", + "resolved": "https://registry.npmjs.org/in-publish/-/in-publish-2.0.1.tgz", + "integrity": "sha512-oDM0kUSNFC31ShNxHKUyfZKy8ZeXZBWMjMdZHKLOk13uvT27VTL/QzRGfRUcevJhpkZAvlhPYuXkF7eNWrtyxQ==", + "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.4", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", + "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==", + "dev": true + }, + "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.2.0", + "resolved": "https://registry.npmjs.org/interpret/-/interpret-1.2.0.tgz", + "integrity": "sha512-mT34yGKMNceBQUoVn7iCDKDntA7SC6gycMAWzGx1z/CMCTV7b2AAtXlo3nRyHZ1FelRkQbQjprHSYGwzLtkVbw==", + "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-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.1.0", + "resolved": "https://registry.npmjs.org/is-finite/-/is-finite-1.1.0.tgz", + "integrity": "sha512-cdyMtqX/BOqqNBBiKlIVkytNHm49MtMlYyn1zxzvJKWmFMlGzm+ry5BBfYyeY9YmNKbRSo/o7OX9w9ale0wg3w==", + "dev": true + }, + "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.1", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.1.tgz", + "integrity": "sha512-5G0tKtBTFImOqDnLB2hG6Bp2qcKEFduo4tZu9MT/H6NQv/ghhy30o55ufafxJ/LdH79LLs2Kfrn85TLKyA7BUg==", + "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": "1.0.0", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=", + "dev": true + }, + "isexe": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", + "integrity": "sha1-6PvzdNxVb/iUehDcsFctYz8s+hA=", + "dev": true + }, + "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.5.2", + "resolved": "https://registry.npmjs.org/js-base64/-/js-base64-2.5.2.tgz", + "integrity": "sha512-Vg8czh0Q7sFBSUMWWArX/miJeBWYBPpdU/3M/DKSaekLMqrqVPaedp+5mZhie/r0lgrcaYBfwXatEew6gwgiQQ==", + "dev": true + }, + "jsbn": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/jsbn/-/jsbn-0.1.1.tgz", + "integrity": "sha1-peZUwuWi3rXyAdls77yoDA7y9RM=", + "dev": 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.4.1", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", + "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", + "dev": true + }, + "json-stable-stringify-without-jsonify": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz", + "integrity": "sha1-nbe1lJatPzz+8wp1FC0tkwrXJlE=", + "dev": true + }, + "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 + }, + "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.3", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz", + "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==", + "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" + } + }, + "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": "3.1.0", + "resolved": "https://registry.npmjs.org/liftoff/-/liftoff-3.1.0.tgz", + "integrity": "sha512-DlIPlJUkCV0Ips2zf2pJP0unEoT1kwYhiiPUGF3s/jtxTCjziNLoiVVh+jqWOWeFi6mmwQ5fNxvAUyPad4Dfog==", + "dev": true, + "requires": { + "extend": "^3.0.0", + "findup-sync": "^3.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.15", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.15.tgz", + "integrity": "sha512-8xOcRHvCjnocdS5cpwXQXVzmmh5e5+saE2QGoeQmbKmRS6J3VQppPOIt0MnmE+4xlZoumy0GPG0D0MVIQbNA1A==", + "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 + }, + "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.5", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-4.1.5.tgz", + "integrity": "sha512-sWZlbEP2OsHNkXrMl5GYk/jKk70MBng6UU4YI/qGDYbgf6YbP4EvmqISbXCoJiRKs+1bSpFHVgQxvJ17F2li5g==", + "dev": true, + "requires": { + "pseudomap": "^1.0.2", + "yallist": "^2.1.2" + } + }, + "make-error": { + "version": "1.3.6", + "resolved": "https://registry.npmjs.org/make-error/-/make-error-1.3.6.tgz", + "integrity": "sha512-s8UhlNe7vPKomQhC1qFelMokr/Sc3AgNbso3n74mVPA5LTZwkB9NlXf4XPamLxJE8h0gh73rM94xvwRT2CVInw==", + "dev": true + }, + "make-error-cause": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/make-error-cause/-/make-error-cause-1.2.2.tgz", + "integrity": "sha1-3wOI/NCzeBbf8KX7gQiTl3fcvJ0=", + "dev": true, + "requires": { + "make-error": "^1.2.0" + } + }, + "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" + }, + "dependencies": { + "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" + } + }, + "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" + } + } + } + }, + "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" + } + }, + "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.43.0", + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.43.0.tgz", + "integrity": "sha512-+5dsGEEovYbT8UY9yD7eE4XTc4UwJ1jBYlgaQQF38ENsKR3wj/8q8RFZrF9WIZpB2V1ArTVFUva8sAul1NzRzQ==", + "dev": true + }, + "mime-types": { + "version": "2.1.26", + "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.26.tgz", + "integrity": "sha512-01paPWYgLrkqAyrlDorC1uDwl2p3qZT7yl806vW7DvDoxwXi46jsjFbg+WdwotBIk6/MbEhO/dh5aZ5sNj/dWQ==", + "dev": true, + "requires": { + "mime-db": "1.43.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.5", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.5.tgz", + "integrity": "sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw==", + "dev": true + }, + "mixin-deep": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/mixin-deep/-/mixin-deep-1.3.2.tgz", + "integrity": "sha512-WRoDn//mXBiJ1H40rqa3vH0toePwSsGb45iInWlTySa+Uu4k3tYUSxa2v1KqAiLtvlrSzaExqS1gtk96A9zvEA==", + "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.5", + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.5.tgz", + "integrity": "sha512-NKmAlESf6jMGym1++R0Ra7wvhV+wFW63FaSOFPwRahvea0gMUcGUhVeAg/0BC0wiv9ih5NYPB1Wn1UEI1/L+xQ==", + "dev": true, + "requires": { + "minimist": "^1.2.5" + } + }, + "moment": { + "version": "2.24.0", + "resolved": "https://registry.npmjs.org/moment/-/moment-2.24.0.tgz", + "integrity": "sha512-bV7f+6l2QigeBBZSM/6yTNq4P2fNpSWj/0e7jQcy87A8e7o2nAfP/34/2ky5Vw4B9S446EtIhodAzkFCcR4dQg==", + "dev": true + }, + "ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", + "dev": true + }, + "mute-stdout": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/mute-stdout/-/mute-stdout-1.0.1.tgz", + "integrity": "sha512-kDcwXR4PS7caBpuRYYBUz9iVixUk3anO3f5OYFiIPwK/20vCzKCHyKoulbiDY1S53zD2bxUpxN/IJ+TnXjfvxg==", + "dev": true + }, + "nan": { + "version": "2.14.0", + "resolved": "https://registry.npmjs.org/nan/-/nan-2.14.0.tgz", + "integrity": "sha512-INOFj37C7k3AfaNTtX8RhsTw7qRy7eLET14cROi9+5HAVbbHuIWUHEauBv5qT4Av2tWasiTY1Jw6puUNqRJXQg==", + "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.13.1", + "resolved": "https://registry.npmjs.org/node-sass/-/node-sass-4.13.1.tgz", + "integrity": "sha512-TTWFx+ZhyDx1Biiez2nB0L3YrCZ/8oHagaDalbuBSlqXgUPsdkUSzJsVxeDO9LtPB49+Fh3WQl3slABo6AotNw==", + "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": "^4.17.15", + "meow": "^3.7.0", + "mkdirp": "^0.5.1", + "nan": "^2.13.2", + "node-gyp": "^3.8.0", + "npmlog": "^4.0.0", + "request": "^2.88.0", + "sass-graph": "^2.2.4", + "stdout-stream": "^1.4.0", + "true-case-path": "^1.0.2" + }, + "dependencies": { + "ansi-styles": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz", + "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=", + "dev": true + }, + "chalk": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", + "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", + "dev": true, + "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" + } + }, + "supports-color": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz", + "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=", + "dev": true + } + } + }, + "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.5.0", + "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-2.5.0.tgz", + "integrity": "sha512-/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA==", + "dev": true, + "requires": { + "hosted-git-info": "^2.1.4", + "resolve": "^1.10.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.1", + "resolved": "https://registry.npmjs.org/now-and-later/-/now-and-later-2.0.1.tgz", + "integrity": "sha512-KGvQ0cB70AQfg107Xvs/Fbu+dGmZoTRJp2TaPwcwQm3/7PteUyN2BCgk8KBMPGBUXZdVwyWS8fDCGFygBm19UQ==", + "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" + } + }, + "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.9.0", + "resolved": "https://registry.npmjs.org/oauth-sign/-/oauth-sign-0.9.0.tgz", + "integrity": "sha512-fexhUFFPTGV8ybAtSIGbV6gOkSv8UtRbDBnAyLQw4QPKkgNlsH2ByPGtMUqdWkos6YCRmAqViwgZrJc/mRDzZQ==", + "dev": true + }, + "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 + }, + "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.1.1", + "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.1.1.tgz", + "integrity": "sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==", + "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" + } + }, + "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" + } + }, + "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-node-version": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/parse-node-version/-/parse-node-version-1.0.1.tgz", + "integrity": "sha512-3YHlOa/JgH6Mnpr05jP9eDG254US9ek25LyIxZlDItp2iJtwyaXQb57lBYLdT3MowkUFYEV2XXNAYIPlESvJlA==", + "dev": true + }, + "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 + }, + "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.1", + "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz", + "integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==", + "dev": true + }, + "pseudomap": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/pseudomap/-/pseudomap-1.0.2.tgz", + "integrity": "sha1-8FKijacOYYkX7wqKw0wa5aaChrM=", + "dev": true + }, + "psl": { + "version": "1.8.0", + "resolved": "https://registry.npmjs.org/psl/-/psl-1.8.0.tgz", + "integrity": "sha512-RIdOzyoavK+hA18OGGWDqUTsCLhtA7IcZ/6NCs4fFJaHBDab+pDDmDIByWFRQJq2Cd7r1OoQxBGKOaztq+hjIQ==", + "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": "2.1.1", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz", + "integrity": "sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==", + "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": "2.3.7", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", + "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==", + "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" + } + }, + "readdirp": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-2.2.1.tgz", + "integrity": "sha512-1JU/8q+VgFZyxwrJ+SVIOsh+KywWGpds3NTqikiKpDMZWScmAYyKIgqkO+ARvNWJfXeXR1zxz7aHF4u4CyH6vQ==", + "dev": true, + "requires": { + "graceful-fs": "^4.1.11", + "micromatch": "^3.1.10", + "readable-stream": "^2.0.2" + } + }, + "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.3", + "resolved": "https://registry.npmjs.org/repeat-element/-/repeat-element-1.1.3.tgz", + "integrity": "sha512-ahGq0ZnV5m5XtZLMb+vP76kcAM5nkLqk0lpqAuojSKGgQtn4eRi4ZZGm2olo2zKFH+sMsWaqOCW1dqAnOru72g==", + "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": "1.0.0", + "resolved": "https://registry.npmjs.org/replace-ext/-/replace-ext-1.0.0.tgz", + "integrity": "sha1-3mMSg3P8v3w8z6TeWkgMRaZ5WOs=", + "dev": true + }, + "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.88.2", + "resolved": "https://registry.npmjs.org/request/-/request-2.88.2.tgz", + "integrity": "sha512-MsvtOrfG9ZcrOwAW+Qi+F6HbD0CWXEh9ou77uOb7FM2WPhwT7smM833PzanhJLsgXjN89Ir6V2PczXNnMpwKhw==", + "dev": true, + "requires": { + "aws-sign2": "~0.7.0", + "aws4": "^1.8.0", + "caseless": "~0.12.0", + "combined-stream": "~1.0.6", + "extend": "~3.0.2", + "forever-agent": "~0.6.1", + "form-data": "~2.3.2", + "har-validator": "~5.1.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.19", + "oauth-sign": "~0.9.0", + "performance-now": "^2.1.0", + "qs": "~6.5.2", + "safe-buffer": "^5.1.2", + "tough-cookie": "~2.5.0", + "tunnel-agent": "^0.6.0", + "uuid": "^3.3.2" + } + }, + "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.15.1", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.15.1.tgz", + "integrity": "sha512-84oo6ZTtoTUpjgNEr5SJyzQhzL72gaRodsSfyxC/AXRvwu0Yse9H8eF9IpGo7b8YetZhlI6v7ZQ6bKBFV/6S7w==", + "dev": true, + "requires": { + "path-parse": "^1.0.6" + } + }, + "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.7.1", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz", + "integrity": "sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==", + "dev": true, + "requires": { + "glob": "^7.1.3" + } + }, + "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==", + "dev": true + }, + "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.7.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", + "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", + "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-value": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/set-value/-/set-value-2.0.1.tgz", + "integrity": "sha512-JxHc1weCN68wRY0fhCoXpyK55m/XPHafOmK4UWD7m2CI14GMcFypt4w/0+NV5f/ZMby2F6S2wwA7fgynh9gWSw==", + "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.3", + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.3.tgz", + "integrity": "sha512-VUJ49FC8U1OxwZLxIbTTrDvLnf/6TDgxZcK8wxR8zs13xpx7xbG60ndBlhNrFi2EMuFRoeDoJO7wthSLq42EjA==", + "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.3", + "resolved": "https://registry.npmjs.org/source-map-resolve/-/source-map-resolve-0.5.3.tgz", + "integrity": "sha512-Htz+RnsXWk5+P2slx5Jh3Q66vhQj1Cllm0zvnaY98+NFx+Dv2CF/f5O/t8x+KaNdrdIAsruNzoh/KpialbqAnw==", + "dev": true, + "requires": { + "atob": "^2.1.2", + "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==", + "dev": true + }, + "spdx-correct": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/spdx-correct/-/spdx-correct-3.1.0.tgz", + "integrity": "sha512-lr2EZCctC2BNR7j7WzJ2FpDznxky1sjfxvvYEyzxNyb6lZXHODmEoJeFu4JupYlkfha1KZpJyoqiJ7pgA1qq8Q==", + "dev": true, + "requires": { + "spdx-expression-parse": "^3.0.0", + "spdx-license-ids": "^3.0.0" + } + }, + "spdx-exceptions": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/spdx-exceptions/-/spdx-exceptions-2.2.0.tgz", + "integrity": "sha512-2XQACfElKi9SlVb1CYadKDXvoajPgBVPn/gOQLrTvHdElaVhr7ZEbqJaRnJLVNeaI4cMEAgVCeBMKF6MWRDCRA==", + "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.5", + "resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-3.0.5.tgz", + "integrity": "sha512-J+FWzZoynJEXGphVIS+XEh3kFSjZX/1i9gFBaWQcB+/tmpe2qUsSBABpcxqxnAxFdiUFEgAX1bjYGQvIZmoz9Q==", + "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.16.1", + "resolved": "https://registry.npmjs.org/sshpk/-/sshpk-1.16.1.tgz", + "integrity": "sha512-HXXqVUq7+pcKeLqqZj6mHFUMvXtOJt1uoUx09pFW6011inTMxqI8BA8PM95myrIyyKwdnzjdFjLiE6KBPVtJIg==", + "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.1", + "resolved": "https://registry.npmjs.org/stdout-stream/-/stdout-stream-1.4.1.tgz", + "integrity": "sha512-j4emi03KXqJWcIeF8eIXkjMFN1Cmb8gUlDYGeBALLPo5qdyTfA9bOtl8m33lRoC+vFMkP3gl0WsDr6+gzxbbTA==", + "dev": true, + "requires": { + "readable-stream": "^2.0.1" + } + }, + "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.1", + "resolved": "https://registry.npmjs.org/stream-shift/-/stream-shift-1.0.1.tgz", + "integrity": "sha512-AiisoFqQ0vbGcZgQPY1cdP2I76glaVA/RauYR4G4thNFgkTqr90yXTo4LYX60Jl+sIlPNHHdGSwo01AvbKUSVQ==", + "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": "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" + } + }, + "strip-ansi": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", + "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", + "dev": true, + "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": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "dev": true, + "requires": { + "has-flag": "^3.0.0" + } + }, + "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.2", + "resolved": "https://registry.npmjs.org/tar/-/tar-2.2.2.tgz", + "integrity": "sha512-FCEhQ/4rE1zYv9rYXJw/msRqsnmlje5jHP6huWeBZ704jUTy02c5AZyWujpMR1ax6mVw9NyJMfuK2CMDWVIfgA==", + "dev": true, + "requires": { + "block-stream": "*", + "fstream": "^1.0.12", + "inherits": "2" + } + }, + "through2": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/through2/-/through2-2.0.5.tgz", + "integrity": "sha512-/mrRod8xqpA+IHSLyGCQ2s8SPHiCDEeQJSep1jqLYeEUClOFG2Qsh+4FU6G9VeqpZnGW/Su8LQGc4YKni5rYSQ==", + "dev": true, + "requires": { + "readable-stream": "~2.3.6", + "xtend": "~4.0.1" + } + }, + "through2-filter": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/through2-filter/-/through2-filter-3.0.0.tgz", + "integrity": "sha512-jaRjI2WxN3W1V8/FMZ9HKIBXixtiqs3SQSX4/YGIiP3gL6djW48VoZq9tDqeCWs3MT8YY5wb/zli8VW8snY1CA==", + "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=", + "dev": true + }, + "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.5.0", + "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.5.0.tgz", + "integrity": "sha512-nlLsUzgm1kfLXSXfRZMc1KLAugd4hqJHDTvc2hDIwS3mZAfMEuMbc03SujMF+GEcpaX/qboeycw6iO8JwVv2+g==", + "dev": true, + "requires": { + "psl": "^1.1.28", + "punycode": "^2.1.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.3", + "resolved": "https://registry.npmjs.org/true-case-path/-/true-case-path-1.0.3.tgz", + "integrity": "sha512-m6s2OdQe5wgpFMC+pAJ+q9djG82O2jcHPOI6RNg1yy9rCYR+WD6Nbpl32fDpfC56nirdRy+opFa/Vk7HYhqaew==", + "dev": true, + "requires": { + "glob": "^7.1.2" + } + }, + "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 + }, + "type": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/type/-/type-1.2.0.tgz", + "integrity": "sha512-+5nt5AAniqsCnu2cEQQdpzCAh33kVx8n0VoFidKpB1dVVLAN/F+bgVOqOJqOnEnrhp222clB5p3vUlD+1QAnfg==", + "dev": true + }, + "typedarray": { + "version": "0.0.6", + "resolved": "https://registry.npmjs.org/typedarray/-/typedarray-0.0.6.tgz", + "integrity": "sha1-hnrHTjhkGHsdPUfZlqeOxciDB3c=", + "dev": true + }, + "uglify-js": { + "version": "3.9.1", + "resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-3.9.1.tgz", + "integrity": "sha512-JUPoL1jHsc9fOjVFHdQIhqEEJsQvfKDjlubcCilu8U26uZ73qOg8VsN8O1jbuei44ZPlwL7kmbAdM4tzaUvqnA==", + "dev": true, + "requires": { + "commander": "~2.20.3" + } + }, + "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.1", + "resolved": "https://registry.npmjs.org/undertaker/-/undertaker-1.2.1.tgz", + "integrity": "sha512-71WxIzDkgYk9ZS+spIB8iZXchFhAdEo2YU8xYqBYJ39DIUIqziK78ftm26eecoIY49X0J2MLhG4hr18Yp6/CMA==", + "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.1", + "resolved": "https://registry.npmjs.org/union-value/-/union-value-1.0.1.tgz", + "integrity": "sha512-tJfXmxMeWYnczCVs7XAEvIV7ieppALdyepWMkHkwciRpZraG/xwT+s2JN8+pr1+8jCRf80FFzvr+MpQeeoF4Xg==", + "dev": true, + "requires": { + "arr-union": "^3.1.0", + "get-value": "^2.0.6", + "is-extendable": "^0.1.1", + "set-value": "^2.0.1" + } + }, + "unique-stream": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/unique-stream/-/unique-stream-2.3.1.tgz", + "integrity": "sha512-2nY4TnBE70yoxHkDli7DMazpWiP7xMdCYqU2nBRO0UB+ZpEkGsSija7MvmvnZFUeC+mrgiUfcHSr3LmRFIg4+A==", + "dev": true, + "requires": { + "json-stable-stringify-without-jsonify": "^1.0.1", + "through2-filter": "^3.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 + } + } + }, + "upath": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/upath/-/upath-1.2.0.tgz", + "integrity": "sha512-aZwGpamFO61g3OlfT7OQCHqhGnW43ieH9WZeP7QxN/G/jS4jfqUkZxoryvJgVPEcrl5NL/ggHsSmLMHuH64Lhg==", + "dev": true + }, + "uri-js": { + "version": "4.2.2", + "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.2.2.tgz", + "integrity": "sha512-KY9Frmirql91X2Qgjry0Wd4Y+YTdrdZheS8TFwvkbLWf/G5KNJDCh6pKL5OZctEW4+0Baa5idK2ZQuELRwPznQ==", + "dev": true, + "requires": { + "punycode": "^2.1.0" + } + }, + "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=", + "dev": true + }, + "uuid": { + "version": "3.4.0", + "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.4.0.tgz", + "integrity": "sha512-HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A==", + "dev": true + }, + "v8flags": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/v8flags/-/v8flags-3.1.3.tgz", + "integrity": "sha512-amh9CCg3ZxkzQ48Mhcb8iX7xpAfYJgePHxWMQCBWECpOSqJUXgY26ncA61UTV0BkPqfhcy6mzwCIoP4ygxpW8w==", + "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": "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-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" + } + }, + "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" + } + }, + "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" + } + }, + "vis-data": { + "version": "6.5.1", + "resolved": "https://registry.npmjs.org/vis-data/-/vis-data-6.5.1.tgz", + "integrity": "sha512-bOIG0REskXot0JbuAYLFRR61xf4ls+nIYNnZ7X04iq2y/Vrg896A/bfquQjhsERZipOmCgllAR0d58OGyo9s0g==", + "dev": true + }, + "vis-network": { + "version": "6.5.2", + "resolved": "https://registry.npmjs.org/vis-network/-/vis-network-6.5.2.tgz", + "integrity": "sha512-Dj5oEtZMUWuhq7D7dwdmxmtJgrK3kwfV4Ov/ePSrhPZgNdJlXzpeDZU/Eq0pKGyOAPLClemgVImc0bZpZ4Yafw==", + "dev": true + }, + "vis-util": { + "version": "1.1.10", + "resolved": "https://registry.npmjs.org/vis-util/-/vis-util-1.1.10.tgz", + "integrity": "sha512-8hGSxsFi2ogYYweClQyITzWnirWgQ8p0i9M4d3OXMuUO8vjXrf+2zHOYI9OZbtUduxAWuMEePnS9BXDtPJmJ7Q==", + "dev": true, + "requires": { + "moment": "2.24.0", + "vis-uuid": "1.1.3" + } + }, + "vis-uuid": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/vis-uuid/-/vis-uuid-1.1.3.tgz", + "integrity": "sha512-2B6XdY1bkzbUh+TugmnAaFa61KO9R5pzBzIuFIm8a9FrkbxIdSmQXV+FbfkL8QunkQV/bT0JDLQ2puqCS2+0Og==", + "dev": true + }, + "which": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz", + "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==", + "dev": true, + "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.2", + "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.2.tgz", + "integrity": "sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==", + "dev": true + }, + "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/package.json b/package.json new file mode 100644 index 0000000..abc8818 --- /dev/null +++ b/package.json @@ -0,0 +1,20 @@ +{ + "private": true, + "name": "netbox_topology_views", + "version": "0.0.1", + "scripts": { + "resources": "gulp build", + "resources_dev": "gulp build_dev" + }, + "dependencies": {}, + "devDependencies": { + "gulp": "^4.0.2", + "gulp-clean-css": "^4.2.0", + "gulp-concat": "^2.6.1", + "gulp-sass": "^4.0.2", + "gulp-uglify": "^3.0.2", + "vis-data": "^6.2.3", + "vis-util": "^1.1.8", + "vis-network": "^6.4.4" + } +} From ac76d70c57f4fa88310b746dcced8625e858da54 Mon Sep 17 00:00:00 2001 From: mattijs vanhaverbeke Date: Thu, 16 Apr 2020 14:22:42 +0200 Subject: [PATCH 3/3] added base functions and api --- README.md | 11 ++- doc/img/preview.png | Bin 0 -> 54276 bytes netbox_topology_views/__init__.py | 4 +- netbox_topology_views/api/__init__.py | 0 netbox_topology_views/api/serializers.py | 6 +- netbox_topology_views/api/urls.py | 7 +- netbox_topology_views/api/views.py | 88 +++++++++++++++++- .../static/netbox_topology_views/js/app.js | 2 +- netbox_topology_views/static_dev/js/home.js | 16 ++-- .../netbox_topology_views/index.html | 1 + netbox_topology_views/views.py | 1 - 11 files changed, 111 insertions(+), 25 deletions(-) create mode 100644 doc/img/preview.png delete mode 100644 netbox_topology_views/api/__init__.py diff --git a/README.md b/README.md index 795069f..496efbe 100644 --- a/README.md +++ b/README.md @@ -1,8 +1,17 @@ # netbox-topology-views +## preview + +![preview image](doc/img/preview.png?raw=true "preview") + ## install +Add 'netbox_topology_views' to the PLUGINS array in your django configuration file. +Then run python3 manage.py collectstatic --no-input + +There is also support for custom fiels. +If you create a custom field "coordinates" for "dcim > device" with type "text" and name "coordinates" you will see the same layout every time. ## use -go to /plugins/topology-views/ \ No newline at end of file +go to /plugins/topology-views/ view your topologies \ No newline at end of file diff --git a/doc/img/preview.png b/doc/img/preview.png new file mode 100644 index 0000000000000000000000000000000000000000..83a411c4d628d4f897f1f3bae1134a1b065f5b36 GIT binary patch literal 54276 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 literal 0 HcmV?d00001 diff --git a/netbox_topology_views/__init__.py b/netbox_topology_views/__init__.py index 334709e..843bbdc 100644 --- a/netbox_topology_views/__init__.py +++ b/netbox_topology_views/__init__.py @@ -10,9 +10,9 @@ class TopologyViewsConfig(PluginConfig): base_url = 'topology-views' required_settings = [] default_settings = { - 'PRESELECTED_DEVICE_ROLES': 'Firewall,Router,Distribution Switch,Core Switch,Internal Switch,Access Switch,Server,Storage,Backup,Wireless AP', + 'preselected_device_roles': 'Firewall,Router,Distribution Switch,Core Switch,Internal Switch,Access Switch,Server,Storage,Backup,Wireless AP', 'IGNORE_CABLE_TYPE': 'dcim.poweroutlet,dcim.powerport', - 'DEVICE_IMG': 'access-switch,core-switch,firewall,router,distribution-switch,backup,storage,wan-network,wireless-ap,server,internal-switch,isp-cpe-material,non-racked-devices,power-units' + 'device_img': 'access-switch,core-switch,firewall,router,distribution-switch,backup,storage,wan-network,wireless-ap,server,internal-switch,isp-cpe-material,non-racked-devices,power-units' } config = TopologyViewsConfig diff --git a/netbox_topology_views/api/__init__.py b/netbox_topology_views/api/__init__.py deleted file mode 100644 index e69de29..0000000 diff --git a/netbox_topology_views/api/serializers.py b/netbox_topology_views/api/serializers.py index 5dc8463..76f571d 100644 --- a/netbox_topology_views/api/serializers.py +++ b/netbox_topology_views/api/serializers.py @@ -1,10 +1,10 @@ -from rest_framework.serializers import ModelSerializer, ValidatedModelSerializer +from rest_framework.serializers import ModelSerializer from dcim.models import DeviceRole -class PreDeviceRoleSerializer(ValidatedModelSerializer): +class PreDeviceRoleSerializer(ModelSerializer): class Meta: model = DeviceRole - fields = ('id', 'name', 'slug', 'color', 'vm_role', 'description') + fields = ('id', 'name') \ No newline at end of file diff --git a/netbox_topology_views/api/urls.py b/netbox_topology_views/api/urls.py index 21fe127..7fac369 100644 --- a/netbox_topology_views/api/urls.py +++ b/netbox_topology_views/api/urls.py @@ -1,12 +1,9 @@ from rest_framework import routers -from .views import PreSelectDeviceRolesViewSet +from .views import PreSelectDeviceRolesViewSet, SearchViewSet router = routers.DefaultRouter() -#router.register('device_roles', AnimalViewSet) -#router.register('sites', AnimalViewSet) -#router.register('search', AnimalViewSet) -#router.register('save_coords', AnimalViewSet) router.register('preselectdeviceroles', PreSelectDeviceRolesViewSet) +router.register('search', SearchViewSet, basename='search') urlpatterns = router.urls \ No newline at end of file diff --git a/netbox_topology_views/api/views.py b/netbox_topology_views/api/views.py index 0e57673..8aed3ba 100644 --- a/netbox_topology_views/api/views.py +++ b/netbox_topology_views/api/views.py @@ -1,9 +1,89 @@ -from rest_framework.viewsets import ModelViewSet +from rest_framework.viewsets import ModelViewSet, ViewSet, ReadOnlyModelViewSet +from rest_framework.decorators import action +from rest_framework.response import Response from .serializers import PreDeviceRoleSerializer +from django.conf import settings -from dcim.models import DeviceRole +from utilities.api import IsAuthenticatedOrLoginNotRequired -class PreSelectDeviceRolesViewSet(ModelViewSet): - queryset = DeviceRole.objects.all() +from dcim.models import DeviceRole, Device, Cable + + +class PreSelectDeviceRolesViewSet(ReadOnlyModelViewSet): + preselected_device_roles_raw = settings.PLUGINS_CONFIG["netbox_topology_views"]["preselected_device_roles"] + preselected_device_roles = preselected_device_roles_raw.split(",") + queryset = DeviceRole.objects.filter(name__in=preselected_device_roles) serializer_class = PreDeviceRoleSerializer + +class SearchViewSet(ViewSet): + _ignore_model_permissions = True + permission_classes = [IsAuthenticatedOrLoginNotRequired] + + def _filter(self, site, role, name): + filter_devices = Device.objects.all() + if name is not None: + filter_devices = filter_devices.filter(name__contains=name) + if site is not None: + filter_devices = filter_devices.filter(site__id__in=site) + if role is not None: + filter_devices = filter_devices.filter(device_role__id__in=role) + return filter_devices + + + @action(detail=False, methods=['post']) + def search(self, request): + name = None + sites = None + devicerole = None + if "devicerole" in request.data: + if request.data["devicerole"]: + devicerole = request.data["devicerole"] + if "sites" in request.data: + if request.data["sites"]: + sites = request.data["sites"] + if "name" in request.data: + if request.data["name"]: + name = request.data["name"] + + devices = self._filter(sites, devicerole, name) + nodes = [] + edges = [] + edge_ids = 0 + cable_ids = [] + for device in devices: + cables = device.get_cables() + for cable in cables: + if cable.id not in cable_ids: + cable_ids.append(cable.id) + edge_ids += 1 + edge = {} + edge["id"] = edge_ids + edge["from"] = cable.termination_a.device.id + edge["to"] = cable.termination_b.device.id + edge["title"] = "Connection between
" + cable.termination_a.device.name + " [" + cable.termination_a.name + "]
" + cable.termination_b.device.name + " [" + cable.termination_b.name + "]" + edges.append(edge) + node = {} + node["id"] = device.id + node["name"] = device.name + node["label"] = device.name + device.device_type.display_name + node["shape"] = 'image' + if device.device_role.slug in settings.PLUGINS_CONFIG["netbox_topology_views"]["device_img"]: + node["image"] = '/static/netbox_topology_views/img/' + device.device_role.slug + ".png" + else: + node["image"] = "/static/netbox_topology_views/img/role-unknown.png" + + for device_custom_field in device.custom_field_values.all(): + if device_custom_field.field.name == "coordinates": + cords = device_custom_field.serialized_value.split(";") + node["x"] = int(cords[0]) + node["y"] = int(cords[1]) + node["physics"] = False + + nodes.append(node) + + results = {} + results["nodes"] = nodes + results["edges"] = edges + + return Response(results) \ No newline at end of file diff --git a/netbox_topology_views/static/netbox_topology_views/js/app.js b/netbox_topology_views/static/netbox_topology_views/js/app.js index 67d5d83..c5aef68 100644 --- a/netbox_topology_views/static/netbox_topology_views/js/app.js +++ b/netbox_topology_views/static/netbox_topology_views/js/app.js @@ -1 +1 @@ -var graph=null,container=null,csrftoken=null,nodes=new vis.DataSet,edges=new vis.DataSet,options={interaction:{hover:!0,hoverConnectedEdges:!0,multiselect:!0},nodes:{shape:"image",brokenImage:"/static/assets/img/role-unknown.png",size:35,font:{multi:"md",face:"helvetica"}},edges:{length:100,width:2,font:{face:"helvetica"}},physics:{solver:"forceAtlas2Based"}};function iniPlotboxIndex(){document.addEventListener("DOMContentLoaded",function(){container=document.getElementById("visgraph"),csrftoken=jQuery("[name=csrfmiddlewaretoken]").val(),startLoadSearchBar(),handleButtonPress()},!1)}function startLoadSearchBar(){$("#device-roles").select2({allowClear:!0,placeholder:"---------",theme:"bootstrap",multiple:!0,ajax:{url:"/api/device_roles",dataType:"json",type:"GET",data:function(e){return{term:e.term}},processResults:function(e){return{results:$.map(e,function(e){return{text:e.name,id:e.id}})}}}}),$("#sites").select2({allowClear:!0,placeholder:"---------",theme:"bootstrap",multiple:!0,ajax:{url:"/api/sites",dataType:"json",type:"GET",data:function(e){return{term:e.term}},processResults:function(e){return{results:$.map(e,function(e){return{text:e.name,id:e.id}})}}}});var n=$("#device-roles");$.ajax({type:"GET",url:"/api/preselect_device_roles"}).then(function(e){$.each(e.data,function(e,a){var t=new Option(a.name,a.id,!0,!0);n.append(t).trigger("change"),n.trigger({type:"select2:select",params:{data:a}})})})}function handleButtonPress(){$("#search-form").submit(function(e){$("#status").html('Loading data'),e.preventDefault();var a=$("#name").val(),t=$("#device-roles").val(),n=$("#sites").val();$.ajax({type:"POST",url:"/api/search",data:JSON.stringify({name:a,devicerole:t,sites:n}),headers:{"X-CSRFToken":csrftoken},contentType:"application/json; charset=utf-8",dataType:"json",success:function(e){$("#status").html('Drawing network'),graph=null,nodes=new vis.DataSet,edges=new vis.DataSet,graph=new vis.Network(container,{nodes:nodes,edges:edges},options),$.each(e.nodes,function(e,a){nodes.add(a)}),$.each(e.edges,function(e,a){edges.add(a)}),graph.fit(),graph.on("afterDrawing",function(){$("#status").html('Ready')}),graph.on("dragEnd",function(e){dragged=this.getPositions(e.nodes),$.each(dragged,function(e,a){$("#coordstatus").html(""),$("#checkSaveCoordinates").is(":checked")&&(nodes.update({id:e,physics:!1}),$.ajax({url:"/api/save_coords",type:"POST",dataType:"json",headers:{"X-CSRFToken":csrftoken},contentType:"application/json; charset=utf-8",data:JSON.stringify({node_id:e,x:a.x,y:a.y}),error:function(e){$("#coordstatus").html('Failed to update coordinates')},success:function(e){$("#coordstatus").html('Updated coordinates'),$.ajax({url:"/api/reload_devices",type:"GET",headers:{"X-CSRFToken":csrftoken},success:function(e){}})}}))})})},error:function(e){$("#status").html('Something went wrong')}})})} \ No newline at end of file +var graph=null,container=null,csrftoken=null,nodes=new vis.DataSet,edges=new vis.DataSet,options={interaction:{hover:!0,hoverConnectedEdges:!0,multiselect:!0},nodes:{shape:"image",brokenImage:"/static/netbox_topology_views/img/role-unknown.png",size:35,font:{multi:"md",face:"helvetica"}},edges:{length:100,width:2,font:{face:"helvetica"}},physics:{solver:"forceAtlas2Based"}};function iniPlotboxIndex(){document.addEventListener("DOMContentLoaded",function(){container=document.getElementById("visgraph"),csrftoken=jQuery("[name=csrfmiddlewaretoken]").val(),startLoadSearchBar(),handleButtonPress()},!1)}function startLoadSearchBar(){$("#device-roles").select2({allowClear:!0,placeholder:"---------",theme:"bootstrap",multiple:!0,ajax:{url:"/api/dcim/device-roles/?brief=true",dataType:"json",type:"GET",data:function(e){return{term:e.term}},processResults:function(e){return{results:$.map(e.results,function(e){return{text:e.name,id:e.id}})}}}}),$("#sites").select2({allowClear:!0,placeholder:"---------",theme:"bootstrap",multiple:!0,ajax:{url:"/api/dcim/sites/?brief=true",dataType:"json",type:"GET",data:function(e){return{term:e.term}},processResults:function(e){return{results:$.map(e.results,function(e){return{text:e.name,id:e.id}})}}}});var n=$("#device-roles");$.ajax({type:"GET",url:"/api/plugins/topology-views/preselectdeviceroles/"}).then(function(e){$.each(e.results,function(e,t){var a=new Option(t.name,t.id,!0,!0);n.append(a).trigger("change"),n.trigger({type:"select2:select",params:{data:t}})})})}function handleButtonPress(){$("#search-form").submit(function(e){$("#status").html('Loading data'),e.preventDefault();var t=$("#name").val(),a=$("#device-roles").val(),n=$("#sites").val();$.ajax({type:"POST",url:"/api/plugins/topology-views/search/search/",data:JSON.stringify({name:t,devicerole:a,sites:n}),headers:{"X-CSRFToken":csrftoken},contentType:"application/json; charset=utf-8",dataType:"json",success:function(e){$("#status").html('Drawing network'),graph=null,nodes=new vis.DataSet,edges=new vis.DataSet,graph=new vis.Network(container,{nodes:nodes,edges:edges},options),$.each(e.nodes,function(e,t){nodes.add(t)}),$.each(e.edges,function(e,t){edges.add(t)}),graph.fit(),graph.on("afterDrawing",function(){$("#status").html('Ready')}),graph.on("dragEnd",function(e){dragged=this.getPositions(e.nodes),$.each(dragged,function(e,t){$("#coordstatus").html(""),$("#checkSaveCoordinates").is(":checked")&&(nodes.update({id:e,physics:!1}),$.ajax({url:"/api/save_coords",type:"POST",dataType:"json",headers:{"X-CSRFToken":csrftoken},contentType:"application/json; charset=utf-8",data:JSON.stringify({node_id:e,x:t.x,y:t.y}),error:function(e){$("#coordstatus").html('Failed to update coordinates')},success:function(e){$("#coordstatus").html('Updated coordinates'),$.ajax({url:"/api/reload_devices",type:"GET",headers:{"X-CSRFToken":csrftoken},success:function(e){}})}}))})})},error:function(e){$("#status").html('Something went wrong')}})})} \ No newline at end of file diff --git a/netbox_topology_views/static_dev/js/home.js b/netbox_topology_views/static_dev/js/home.js index ecabb37..83f4d6a 100644 --- a/netbox_topology_views/static_dev/js/home.js +++ b/netbox_topology_views/static_dev/js/home.js @@ -11,7 +11,7 @@ var options = { }, nodes: { shape: 'image', - brokenImage: '/static/assets/img/role-unknown.png', + brokenImage: '/static/netbox_topology_views/img/role-unknown.png', size: 35, font: { multi: 'md', @@ -46,7 +46,7 @@ function startLoadSearchBar() { theme: "bootstrap", multiple: true, ajax: { - url: "/api/device_roles", + url: "/api/dcim/device-roles/?brief=true", dataType: "json", type: "GET", data: function (params) { @@ -57,7 +57,7 @@ function startLoadSearchBar() { }, processResults: function (data) { return { - results: $.map(data, function (item) { + results: $.map(data.results, function (item) { return { text: item.name, id: item.id @@ -73,7 +73,7 @@ function startLoadSearchBar() { theme: "bootstrap", multiple: true, ajax: { - url: "/api/sites", + url: "/api/dcim/sites/?brief=true", dataType: "json", type: "GET", data: function (params) { @@ -85,7 +85,7 @@ function startLoadSearchBar() { }, processResults: function (data) { return { - results: $.map(data, function (item) { + results: $.map(data.results, function (item) { return { text: item.name, id: item.id @@ -99,9 +99,9 @@ function startLoadSearchBar() { var deviceRolesSelect = $('#device-roles'); $.ajax({ type: 'GET', - url: '/api/preselect_device_roles' + url: '/api/plugins/topology-views/preselectdeviceroles/' }).then(function (data) { - $.each(data.data, function (index, device_role_to_preload) { + $.each(data.results, function (index, device_role_to_preload) { var option = new Option(device_role_to_preload.name, device_role_to_preload.id, true, true); deviceRolesSelect.append(option).trigger('change'); deviceRolesSelect.trigger({ @@ -123,7 +123,7 @@ function handleButtonPress() { var value3 = $("#sites").val(); $.ajax({ type: "POST", - url: "/api/search", + url: "/api/plugins/topology-views/search/search/", data: JSON.stringify({ 'name': value, 'devicerole': value2, diff --git a/netbox_topology_views/templates/netbox_topology_views/index.html b/netbox_topology_views/templates/netbox_topology_views/index.html index 02a52c1..79e91e8 100644 --- a/netbox_topology_views/templates/netbox_topology_views/index.html +++ b/netbox_topology_views/templates/netbox_topology_views/index.html @@ -62,6 +62,7 @@ +{% endwith %} {% endblock %} {% block javascript %} diff --git a/netbox_topology_views/views.py b/netbox_topology_views/views.py index 27b9e00..bf1c275 100644 --- a/netbox_topology_views/views.py +++ b/netbox_topology_views/views.py @@ -1,7 +1,6 @@ from django.shortcuts import get_object_or_404, render from django.views.generic import View - class TopologyHomeView(View): """ Show the home page