From cb27e2fcf3d6b2a7fbd8c87c07b399a1cea2bffa Mon Sep 17 00:00:00 2001 From: Nicolas Lamirault Date: Wed, 19 Aug 2020 02:25:08 +0200 Subject: [PATCH 01/71] Add: Prometheus Operator component (#253) Signed-off-by: Nicolas Lamirault --- diagrams/onprem/monitoring.py | 4 ++++ docs/nodes/onprem.md | 1 + .../onprem/monitoring/prometheus-operator.png | Bin 0 -> 26076 bytes 3 files changed, 5 insertions(+) create mode 100644 resources/onprem/monitoring/prometheus-operator.png diff --git a/diagrams/onprem/monitoring.py b/diagrams/onprem/monitoring.py index cd1d2998..bd690f5a 100644 --- a/diagrams/onprem/monitoring.py +++ b/diagrams/onprem/monitoring.py @@ -16,6 +16,10 @@ class Grafana(_Monitoring): _icon = "grafana.png" +class PrometheusOperator(_Monitoring): + _icon = "prometheus-operator.png" + + class Prometheus(_Monitoring): _icon = "prometheus.png" diff --git a/docs/nodes/onprem.md b/docs/nodes/onprem.md index f7d41d1d..3add7e88 100644 --- a/docs/nodes/onprem.md +++ b/docs/nodes/onprem.md @@ -113,6 +113,7 @@ Node classes list of onprem provider. - **diagrams.onprem.monitoring.Datadog** - **diagrams.onprem.monitoring.Grafana** +- **diagrams.onprem.monitoring.PrometheusOperator** - **diagrams.onprem.monitoring.Prometheus** - **diagrams.onprem.monitoring.Sentry** - **diagrams.onprem.monitoring.Splunk** diff --git a/resources/onprem/monitoring/prometheus-operator.png b/resources/onprem/monitoring/prometheus-operator.png new file mode 100644 index 0000000000000000000000000000000000000000..105adbc23e731ae98962811fe313211be4986aaf GIT binary patch literal 26076 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

cp73f^okX51xb96` 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 Date: Fri, 21 Aug 2020 13:36:08 +0200 Subject: [PATCH 02/71] add outscale provider (#251) Outscale isa French IaaS provider This commit add support for generated diagram with outscale images Signed-off-by: Matthias Gatto Co-authored-by: matthias.gatto --- autogen.sh | 2 +- config.py | 7 +++- docs/nodes/outscale.md | 30 ++++++++++++++++++ resources/outscale/compute/compute.png | Bin 0 -> 14026 bytes resources/outscale/compute/direct-connect.png | Bin 0 -> 21576 bytes resources/outscale/network/client-vpn.png | Bin 0 -> 13651 bytes .../outscale/network/internet-service.png | Bin 0 -> 13720 bytes resources/outscale/network/load-balancer.png | Bin 0 -> 12779 bytes resources/outscale/network/nat-service.png | Bin 0 -> 9455 bytes resources/outscale/network/net.png | Bin 0 -> 12217 bytes .../outscale/network/site-to-site-vpng.png | Bin 0 -> 9653 bytes resources/outscale/security/firewall.png | Bin 0 -> 11219 bytes .../identity-and-access-management.png | Bin 0 -> 14753 bytes .../storage/simple-storage-service.png | Bin 0 -> 12943 bytes resources/outscale/storage/storage.png | Bin 0 -> 15726 bytes scripts/resource.py | 5 +++ 16 files changed, 42 insertions(+), 2 deletions(-) create mode 100644 docs/nodes/outscale.md create mode 100644 resources/outscale/compute/compute.png create mode 100644 resources/outscale/compute/direct-connect.png create mode 100644 resources/outscale/network/client-vpn.png create mode 100644 resources/outscale/network/internet-service.png create mode 100644 resources/outscale/network/load-balancer.png create mode 100644 resources/outscale/network/nat-service.png create mode 100644 resources/outscale/network/net.png create mode 100644 resources/outscale/network/site-to-site-vpng.png create mode 100644 resources/outscale/security/firewall.png create mode 100644 resources/outscale/security/identity-and-access-management.png create mode 100644 resources/outscale/storage/simple-storage-service.png create mode 100644 resources/outscale/storage/storage.png diff --git a/autogen.sh b/autogen.sh index 407e2752..6af32ce4 100755 --- a/autogen.sh +++ b/autogen.sh @@ -4,7 +4,7 @@ set -e app_root_dir="diagrams" # NOTE: azure icon set is not latest version -providers=("onprem" "aws" "azure" "gcp" "firebase" "k8s" "alibabacloud" "oci" "programming" "saas" "elastic" "generic" "openstack") +providers=("onprem" "aws" "azure" "gcp" "firebase" "k8s" "alibabacloud" "oci" "programming" "saas" "elastic" "generic" "openstack" "outscale") if ! [ -x "$(command -v round)" ]; then echo 'round is not installed' diff --git a/config.py b/config.py index 535c7863..e21badc9 100644 --- a/config.py +++ b/config.py @@ -13,7 +13,7 @@ DIR_TEMPLATE = "templates" PROVIDERS = ( "base", "onprem", "aws", "azure", "gcp", "firebase", "k8s", "alibabacloud", "oci", "programming", "saas", "elastic", - "generic", "openstack") + "generic", "openstack", "outscale") ######################### # Resource Processing # @@ -38,6 +38,7 @@ FILE_PREFIXES = { "programming": (), "saas": (), "elastic": (), + "outscale": (), "generic": (), "openstack": (), } @@ -66,6 +67,7 @@ UPPER_WORDS = { "oci": ("oci", "ocid", "oke", "ocir", "ddos", "waf", "bm", "vm", "cdn", "vpn", "dns", "nat", "dms", "api", "id"), "elastic": ("apm", "siem", "ece", "eck"), "generic": ("vpn", "ios", "xen", "sql"), + "outscale": ("osc",), "openstack": ("rpm", "loci", "nfv", "ec2api"), } @@ -395,6 +397,9 @@ ALIASES = { "Logstash": "LogStash", } }, + "outscale": { + "Osc": "OSC", + }, "generic": {}, "openstack": { "user": { diff --git a/docs/nodes/outscale.md b/docs/nodes/outscale.md new file mode 100644 index 00000000..2e583fe4 --- /dev/null +++ b/docs/nodes/outscale.md @@ -0,0 +1,30 @@ +--- +id: outscale +title: Outscale +--- + +Node classes list of outscale provider. + +## outscale.compute + +- **diagrams.outscale.compute.Compute** +- **diagrams.outscale.compute.DirectConnect** + +## outscale.network + +- **diagrams.outscale.network.ClientVpn** +- **diagrams.outscale.network.InternetService** +- **diagrams.outscale.network.LoadBalancer** +- **diagrams.outscale.network.NatService** +- **diagrams.outscale.network.Net** +- **diagrams.outscale.network.SiteToSiteVpng** + +## outscale.security + +- **diagrams.outscale.security.Firewall** +- **diagrams.outscale.security.IdentityAndAccessManagement** + +## outscale.storage + +- **diagrams.outscale.storage.SimpleStorageService** +- **diagrams.outscale.storage.Storage** diff --git a/resources/outscale/compute/compute.png b/resources/outscale/compute/compute.png new file mode 100644 index 0000000000000000000000000000000000000000..2c74f942a9220507e7e9a92259b3fa633df1d90d GIT binary patch literal 14026 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 literal 0 HcmV?d00001 diff --git a/resources/outscale/compute/direct-connect.png b/resources/outscale/compute/direct-connect.png new file mode 100644 index 0000000000000000000000000000000000000000..530bbb54eb71dc1ae5d364e1914c885147aab2ce GIT binary patch literal 21576 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 literal 0 HcmV?d00001 diff --git a/resources/outscale/network/internet-service.png b/resources/outscale/network/internet-service.png new file mode 100644 index 0000000000000000000000000000000000000000..6033552f9a8787400e0d183cb1b66c756400919b GIT binary patch literal 13720 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 D)PK}F literal 0 HcmV?d00001 diff --git a/resources/outscale/network/load-balancer.png b/resources/outscale/network/load-balancer.png new file mode 100644 index 0000000000000000000000000000000000000000..d31ea0bb44b263d7128c5f9010c3e2a3a65df383 GIT binary patch literal 12779 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 literal 0 HcmV?d00001 diff --git a/resources/outscale/network/nat-service.png b/resources/outscale/network/nat-service.png new file mode 100644 index 0000000000000000000000000000000000000000..c0ff3d2359fd2aa96bfa401e00b741cc54afc0b4 GIT binary patch literal 9455 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 Oh_0rgMx~lf#Qy@67B&e0 literal 0 HcmV?d00001 diff --git a/resources/outscale/network/site-to-site-vpng.png b/resources/outscale/network/site-to-site-vpng.png new file mode 100644 index 0000000000000000000000000000000000000000..e3789c404198d8ccbd42a080b235c1281f66f64c GIT binary patch literal 9653 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 literal 0 HcmV?d00001 diff --git a/resources/outscale/security/firewall.png b/resources/outscale/security/firewall.png new file mode 100644 index 0000000000000000000000000000000000000000..7ba23881727039e4a5e96ea8280730ca81c061b6 GIT binary patch literal 11219 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
$Wi2`b_)`FX(#BMn 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 literal 0 HcmV?d00001 diff --git a/resources/outscale/storage/storage.png b/resources/outscale/storage/storage.png new file mode 100644 index 0000000000000000000000000000000000000000..55d931f1f5c953bbb470ffffad973513b004617a GIT binary patch literal 15726 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ÿ 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 literal 0 HcmV?d00001 diff --git a/scripts/resource.py b/scripts/resource.py index a371cd80..2543472c 100644 --- a/scripts/resource.py +++ b/scripts/resource.py @@ -109,6 +109,10 @@ def cleaner_elastic(f): return f.lower() +def cleaner_outscale(f): + return f.lower() + + def cleaner_openstack(f): return f.lower() @@ -125,6 +129,7 @@ cleaners = { "programming": cleaner_programming, "saas": cleaner_saas, "elastic": cleaner_elastic, + "outscale": cleaner_outscale, "generic": cleaner_generic, "openstack": cleaner_openstack, } From 019ad0a3081ffc42a8ca5eb9c7a78db3ce98584e Mon Sep 17 00:00:00 2001 From: umgelurgel Date: Fri, 21 Aug 2020 16:58:29 +0200 Subject: [PATCH 03/71] Add Okta as identity provider. (#254) --- diagrams/saas/identity.py | 4 ++++ docs/nodes/saas.md | 1 + resources/saas/identity/okta.png | Bin 0 -> 9199 bytes 3 files changed, 5 insertions(+) create mode 100644 resources/saas/identity/okta.png diff --git a/diagrams/saas/identity.py b/diagrams/saas/identity.py index efef0b0c..10eafad1 100644 --- a/diagrams/saas/identity.py +++ b/diagrams/saas/identity.py @@ -12,4 +12,8 @@ class Auth0(_Identity): _icon = "auth0.png" +class Okta(_Identity): + _icon = "okta.png" + + # Aliases diff --git a/docs/nodes/saas.md b/docs/nodes/saas.md index 3ee8adc6..e42f106a 100644 --- a/docs/nodes/saas.md +++ b/docs/nodes/saas.md @@ -27,6 +27,7 @@ Node classes list of saas provider. ## saas.identity - **diagrams.saas.identity.Auth0** +- **diagrams.saas.identity.Okta** ## saas.logging diff --git a/resources/saas/identity/okta.png b/resources/saas/identity/okta.png new file mode 100644 index 0000000000000000000000000000000000000000..cfe43169a17994fc7a63ed281deb6ce5e4c3939c GIT binary patch literal 9199 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 F`VSUWoYMdR literal 0 HcmV?d00001 From 677be01b5038cdc419ceb73f0b8d64428957ecc8 Mon Sep 17 00:00:00 2001 From: Florian Dambrine Date: Fri, 21 Aug 2020 08:03:41 -0700 Subject: [PATCH 04/71] Add DroneCI and Atlantis (Terraform) (#255) --- config.py | 1 + diagrams/onprem/ci.py | 5 +++++ diagrams/onprem/iac.py | 4 ++++ docs/nodes/onprem.md | 2 ++ resources/onprem/ci/droneci.png | Bin 0 -> 12080 bytes resources/onprem/iac/atlantis.png | Bin 0 -> 24271 bytes 6 files changed, 12 insertions(+) create mode 100644 resources/onprem/ci/droneci.png create mode 100644 resources/onprem/iac/atlantis.png diff --git a/config.py b/config.py index e21badc9..4b6f922f 100644 --- a/config.py +++ b/config.py @@ -92,6 +92,7 @@ ALIASES = { "ci": { "Circleci": "CircleCI", "Concourseci": "ConcourseCI", + "Droneci": "DroneCI", "Gitlabci": "GitlabCI", "Travisci": "TravisCI", "Teamcity": "TC", diff --git a/diagrams/onprem/ci.py b/diagrams/onprem/ci.py index 7df84148..8ee8831d 100644 --- a/diagrams/onprem/ci.py +++ b/diagrams/onprem/ci.py @@ -16,6 +16,10 @@ class Concourseci(_Ci): _icon = "concourseci.png" +class Droneci(_Ci): + _icon = "droneci.png" + + class Gitlabci(_Ci): _icon = "gitlabci.png" @@ -40,6 +44,7 @@ class Zuulci(_Ci): CircleCI = Circleci ConcourseCI = Concourseci +DroneCI = Droneci GitlabCI = Gitlabci TravisCI = Travisci TC = Teamcity diff --git a/diagrams/onprem/iac.py b/diagrams/onprem/iac.py index a2ae55d1..a9db5c0e 100644 --- a/diagrams/onprem/iac.py +++ b/diagrams/onprem/iac.py @@ -12,6 +12,10 @@ class Ansible(_Iac): _icon = "ansible.png" +class Atlantis(_Iac): + _icon = "atlantis.png" + + class Awx(_Iac): _icon = "awx.png" diff --git a/docs/nodes/onprem.md b/docs/nodes/onprem.md index 3add7e88..16549066 100644 --- a/docs/nodes/onprem.md +++ b/docs/nodes/onprem.md @@ -30,6 +30,7 @@ Node classes list of onprem provider. - **diagrams.onprem.ci.Circleci**, **CircleCI** (alias) - **diagrams.onprem.ci.Concourseci**, **ConcourseCI** (alias) +- **diagrams.onprem.ci.Droneci**, **DroneCI** (alias) - **diagrams.onprem.ci.Gitlabci**, **GitlabCI** (alias) - **diagrams.onprem.ci.Jenkins** - **diagrams.onprem.ci.Teamcity**, **TC** (alias) @@ -86,6 +87,7 @@ Node classes list of onprem provider. ## onprem.iac - **diagrams.onprem.iac.Ansible** +- **diagrams.onprem.iac.Atlantis** - **diagrams.onprem.iac.Awx** - **diagrams.onprem.iac.Terraform** diff --git a/resources/onprem/ci/droneci.png b/resources/onprem/ci/droneci.png new file mode 100644 index 0000000000000000000000000000000000000000..d40613f676402212599b2347a11cf3607762f1d0 GIT binary patch literal 12080 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 literal 0 HcmV?d00001 From aa97a7c957d269842595c9e5672c97e881d39ca5 Mon Sep 17 00:00:00 2001 From: mingrammer Date: Mon, 24 Aug 2020 19:34:59 +0900 Subject: [PATCH 05/71] fix: missing outscale nodes --- diagrams/outscale/compute.py | 19 +++++++++++++++++++ diagrams/outscale/network.py | 35 +++++++++++++++++++++++++++++++++++ diagrams/outscale/security.py | 19 +++++++++++++++++++ diagrams/outscale/storage.py | 19 +++++++++++++++++++ 4 files changed, 92 insertions(+) create mode 100644 diagrams/outscale/compute.py create mode 100644 diagrams/outscale/network.py create mode 100644 diagrams/outscale/security.py create mode 100644 diagrams/outscale/storage.py diff --git a/diagrams/outscale/compute.py b/diagrams/outscale/compute.py new file mode 100644 index 00000000..35a09619 --- /dev/null +++ b/diagrams/outscale/compute.py @@ -0,0 +1,19 @@ +# This module is automatically generated by autogen.sh. DO NOT EDIT. + +from . import _Outscale + + +class _Compute(_Outscale): + _type = "compute" + _icon_dir = "resources/outscale/compute" + + +class Compute(_Compute): + _icon = "compute.png" + + +class DirectConnect(_Compute): + _icon = "direct-connect.png" + + +# Aliases diff --git a/diagrams/outscale/network.py b/diagrams/outscale/network.py new file mode 100644 index 00000000..f5a18376 --- /dev/null +++ b/diagrams/outscale/network.py @@ -0,0 +1,35 @@ +# This module is automatically generated by autogen.sh. DO NOT EDIT. + +from . import _Outscale + + +class _Network(_Outscale): + _type = "network" + _icon_dir = "resources/outscale/network" + + +class ClientVpn(_Network): + _icon = "client-vpn.png" + + +class InternetService(_Network): + _icon = "internet-service.png" + + +class LoadBalancer(_Network): + _icon = "load-balancer.png" + + +class NatService(_Network): + _icon = "nat-service.png" + + +class Net(_Network): + _icon = "net.png" + + +class SiteToSiteVpng(_Network): + _icon = "site-to-site-vpng.png" + + +# Aliases diff --git a/diagrams/outscale/security.py b/diagrams/outscale/security.py new file mode 100644 index 00000000..8e79df51 --- /dev/null +++ b/diagrams/outscale/security.py @@ -0,0 +1,19 @@ +# This module is automatically generated by autogen.sh. DO NOT EDIT. + +from . import _Outscale + + +class _Security(_Outscale): + _type = "security" + _icon_dir = "resources/outscale/security" + + +class Firewall(_Security): + _icon = "firewall.png" + + +class IdentityAndAccessManagement(_Security): + _icon = "identity-and-access-management.png" + + +# Aliases diff --git a/diagrams/outscale/storage.py b/diagrams/outscale/storage.py new file mode 100644 index 00000000..1a8f3171 --- /dev/null +++ b/diagrams/outscale/storage.py @@ -0,0 +1,19 @@ +# This module is automatically generated by autogen.sh. DO NOT EDIT. + +from . import _Outscale + + +class _Storage(_Outscale): + _type = "storage" + _icon_dir = "resources/outscale/storage" + + +class SimpleStorageService(_Storage): + _icon = "simple-storage-service.png" + + +class Storage(_Storage): + _icon = "storage.png" + + +# Aliases From e5b183bd3a8113362ea4dd3409a333808ee5a0c1 Mon Sep 17 00:00:00 2001 From: mingrammer Date: Mon, 24 Aug 2020 19:35:11 +0900 Subject: [PATCH 06/71] docs: update sidebar --- website/i18n/en.json | 6 ++++++ website/sidebars.json | 3 ++- 2 files changed, 8 insertions(+), 1 deletion(-) diff --git a/website/i18n/en.json b/website/i18n/en.json index e18f4e07..00bb5536 100644 --- a/website/i18n/en.json +++ b/website/i18n/en.json @@ -53,6 +53,12 @@ "nodes/onprem": { "title": "OnPrem" }, + "nodes/openstack": { + "title": "OpenStack" + }, + "nodes/outscale": { + "title": "Outscale" + }, "nodes/programming": { "title": "Programming" }, diff --git a/website/sidebars.json b/website/sidebars.json index 91d5d709..5400b35a 100644 --- a/website/sidebars.json +++ b/website/sidebars.json @@ -21,7 +21,8 @@ "nodes/programming", "nodes/firebase", "nodes/saas", - "nodes/elastic" + "nodes/elastic", + "nodes/outscale" ] } } \ No newline at end of file From 838251b85a8547a5cbe4728ba15c89a19cf6be5c Mon Sep 17 00:00:00 2001 From: mingrammer Date: Mon, 24 Aug 2020 19:39:02 +0900 Subject: [PATCH 07/71] fix: update bm, vm cases for OCI --- config.py | 8 ++++---- diagrams/oci/compute.py | 8 ++++---- docs/nodes/oci.md | 8 ++++---- 3 files changed, 12 insertions(+), 12 deletions(-) diff --git a/config.py b/config.py index 4b6f922f..23e036d5 100644 --- a/config.py +++ b/config.py @@ -364,10 +364,10 @@ ALIASES = { }, "oci": { "compute": { - "Vm": "VirtualMachine", - "VmWhite": "VirtualMachineWhite", - "Bm": "BareMetal", - "BmWhite": "BareMetalWhite", + "VM": "VirtualMachine", + "VMWhite": "VirtualMachineWhite", + "BM": "BareMetal", + "BMWhite": "BareMetalWhite", "OCIR": "OCIRegistry", "OCIRWhite": "OCIRegistryWhite", "OKE": "ContainerEngine", diff --git a/diagrams/oci/compute.py b/diagrams/oci/compute.py index 4979021d..ed268d8c 100644 --- a/diagrams/oci/compute.py +++ b/diagrams/oci/compute.py @@ -74,10 +74,10 @@ class VM(_Compute): # Aliases -VirtualMachine = Vm -VirtualMachineWhite = VmWhite -BareMetal = Bm -BareMetalWhite = BmWhite +VirtualMachine = VM +VirtualMachineWhite = VMWhite +BareMetal = BM +BareMetalWhite = BMWhite OCIRegistry = OCIR OCIRegistryWhite = OCIRWhite ContainerEngine = OKE diff --git a/docs/nodes/oci.md b/docs/nodes/oci.md index 39a0a556..42fe874f 100644 --- a/docs/nodes/oci.md +++ b/docs/nodes/oci.md @@ -9,8 +9,8 @@ Node classes list of oci provider. - **diagrams.oci.compute.AutoscaleWhite** - **diagrams.oci.compute.Autoscale** -- **diagrams.oci.compute.BMWhite** -- **diagrams.oci.compute.BM** +- **diagrams.oci.compute.BMWhite**, **BareMetalWhite** (alias) +- **diagrams.oci.compute.BM**, **BareMetal** (alias) - **diagrams.oci.compute.ContainerWhite** - **diagrams.oci.compute.Container** - **diagrams.oci.compute.FunctionsWhite** @@ -21,8 +21,8 @@ Node classes list of oci provider. - **diagrams.oci.compute.OCIR**, **OCIRegistry** (alias) - **diagrams.oci.compute.OKEWhite**, **ContainerEngineWhite** (alias) - **diagrams.oci.compute.OKE**, **ContainerEngine** (alias) -- **diagrams.oci.compute.VMWhite** -- **diagrams.oci.compute.VM** +- **diagrams.oci.compute.VMWhite**, **VirtualMachineWhite** (alias) +- **diagrams.oci.compute.VM**, **VirtualMachine** (alias) ## oci.connectivity From dc3ab4cf7ec303c3f3b79b0bcafa27f4d842fa18 Mon Sep 17 00:00:00 2001 From: mingrammer Date: Wed, 26 Aug 2020 21:44:20 +0900 Subject: [PATCH 08/71] docs: add missing 'generic' menu --- website/sidebars.json | 1 + 1 file changed, 1 insertion(+) diff --git a/website/sidebars.json b/website/sidebars.json index 5400b35a..c00efb24 100644 --- a/website/sidebars.json +++ b/website/sidebars.json @@ -22,6 +22,7 @@ "nodes/firebase", "nodes/saas", "nodes/elastic", + "nodes/generic", "nodes/outscale" ] } From b57be0f711ab42a6de22602b521408b8a94cc49f Mon Sep 17 00:00:00 2001 From: mingrammer Date: Wed, 26 Aug 2020 21:49:50 +0900 Subject: [PATCH 09/71] docs: add missing 'openstack' menu --- website/sidebars.json | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/website/sidebars.json b/website/sidebars.json index c00efb24..f74f0735 100644 --- a/website/sidebars.json +++ b/website/sidebars.json @@ -18,10 +18,11 @@ "nodes/k8s", "nodes/alibabacloud", "nodes/oci", + "nodes/openstack", "nodes/programming", "nodes/firebase", - "nodes/saas", "nodes/elastic", + "nodes/saas", "nodes/generic", "nodes/outscale" ] From 1fb25c46cc6dce2767c0b04e62b25f601f51bf76 Mon Sep 17 00:00:00 2001 From: mingrammer Date: Wed, 26 Aug 2020 21:51:18 +0900 Subject: [PATCH 10/71] docs(readme): update badges --- README.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/README.md b/README.md index ed6209e7..92c24eef 100644 --- a/README.md +++ b/README.md @@ -20,6 +20,8 @@ ![elastic provider](https://img.shields.io/badge/provider-Elastic-orange?logo=elastic&color=005571) ![saas provider](https://img.shields.io/badge/provider-SaaS-orange?color=5f87bf) ![openstack provider](https://img.shields.io/badge/provider-OpenStack-orange?logo=openstack&color=da1a32) +![generic provider](https://img.shields.io/badge/provider-Generic-orange?color=5f87bf) +![outscale provider](https://img.shields.io/badge/provider-OutScale-orange?color=5f87bf) Buy Me A Coffee From f96bd7ef4b085a695b2b292ed817f25684e5b2ec Mon Sep 17 00:00:00 2001 From: MinJae Kwon Date: Wed, 26 Aug 2020 21:54:03 +0900 Subject: [PATCH 11/71] docs(readme): reorder badges --- README.md | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/README.md b/README.md index 92c24eef..03c24aec 100644 --- a/README.md +++ b/README.md @@ -9,19 +9,19 @@ [![todos](https://badgen.net/https/api.tickgit.com/badgen/github.com/mingrammer/diagrams?label=todos)](https://www.tickgit.com/browse?repo=github.com/mingrammer/diagrams) ![on premise provider](https://img.shields.io/badge/provider-OnPremise-orange?color=5f87bf) +![generic provider](https://img.shields.io/badge/provider-Generic-orange?color=5f87bf) ![aws provider](https://img.shields.io/badge/provider-AWS-orange?logo=amazon-aws&color=ff9900) ![azure provider](https://img.shields.io/badge/provider-Azure-orange?logo=microsoft-azure&color=0089d6) ![gcp provider](https://img.shields.io/badge/provider-GCP-orange?logo=google-cloud&color=4285f4) ![kubernetes provider](https://img.shields.io/badge/provider-Kubernetes-orange?logo=kubernetes&color=326ce5) ![alibaba cloud provider](https://img.shields.io/badge/provider-AlibabaCloud-orange) ![oracle cloud provider](https://img.shields.io/badge/provider-OracleCloud-orange?logo=oracle&color=f80000) -![programming provider](https://img.shields.io/badge/provider-Programming-orange?color=5f87bf) +![openstack provider](https://img.shields.io/badge/provider-OpenStack-orange?logo=openstack&color=da1a32) ![firebase provider](https://img.shields.io/badge/provider-Firebase-orange?logo=firebase&color=FFCA28) +![outscale provider](https://img.shields.io/badge/provider-OutScale-orange?color=5f87bf) ![elastic provider](https://img.shields.io/badge/provider-Elastic-orange?logo=elastic&color=005571) ![saas provider](https://img.shields.io/badge/provider-SaaS-orange?color=5f87bf) -![openstack provider](https://img.shields.io/badge/provider-OpenStack-orange?logo=openstack&color=da1a32) -![generic provider](https://img.shields.io/badge/provider-Generic-orange?color=5f87bf) -![outscale provider](https://img.shields.io/badge/provider-OutScale-orange?color=5f87bf) +![programming provider](https://img.shields.io/badge/provider-Programming-orange?color=5f87bf) Buy Me A Coffee From 3c49484bed7134a9a9de7a0bb08a7860a0af2958 Mon Sep 17 00:00:00 2001 From: MinJae Kwon Date: Wed, 26 Aug 2020 21:59:19 +0900 Subject: [PATCH 12/71] docs(readme): reorder badges --- README.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index 03c24aec..d70cee0b 100644 --- a/README.md +++ b/README.md @@ -9,7 +9,6 @@ [![todos](https://badgen.net/https/api.tickgit.com/badgen/github.com/mingrammer/diagrams?label=todos)](https://www.tickgit.com/browse?repo=github.com/mingrammer/diagrams) ![on premise provider](https://img.shields.io/badge/provider-OnPremise-orange?color=5f87bf) -![generic provider](https://img.shields.io/badge/provider-Generic-orange?color=5f87bf) ![aws provider](https://img.shields.io/badge/provider-AWS-orange?logo=amazon-aws&color=ff9900) ![azure provider](https://img.shields.io/badge/provider-Azure-orange?logo=microsoft-azure&color=0089d6) ![gcp provider](https://img.shields.io/badge/provider-GCP-orange?logo=google-cloud&color=4285f4) @@ -20,8 +19,9 @@ ![firebase provider](https://img.shields.io/badge/provider-Firebase-orange?logo=firebase&color=FFCA28) ![outscale provider](https://img.shields.io/badge/provider-OutScale-orange?color=5f87bf) ![elastic provider](https://img.shields.io/badge/provider-Elastic-orange?logo=elastic&color=005571) -![saas provider](https://img.shields.io/badge/provider-SaaS-orange?color=5f87bf) +![generic provider](https://img.shields.io/badge/provider-Generic-orange?color=5f87bf) ![programming provider](https://img.shields.io/badge/provider-Programming-orange?color=5f87bf) +![saas provider](https://img.shields.io/badge/provider-SaaS-orange?color=5f87bf) Buy Me A Coffee From 82367d353b1641dcb111e351200461aa9aa4393f Mon Sep 17 00:00:00 2001 From: mingrammer Date: Wed, 26 Aug 2020 22:02:32 +0900 Subject: [PATCH 13/71] docs(website): reorder menu --- website/sidebars.json | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/website/sidebars.json b/website/sidebars.json index f74f0735..a9697114 100644 --- a/website/sidebars.json +++ b/website/sidebars.json @@ -19,12 +19,12 @@ "nodes/alibabacloud", "nodes/oci", "nodes/openstack", - "nodes/programming", "nodes/firebase", + "nodes/outscale", "nodes/elastic", - "nodes/saas", "nodes/generic", - "nodes/outscale" + "nodes/programming", + "nodes/saas" ] } } \ No newline at end of file From ca4972cbad905fecb88cb73d7fe80ffcf1b27f03 Mon Sep 17 00:00:00 2001 From: Guy Zylberberg Date: Thu, 27 Aug 2020 03:20:11 +0300 Subject: [PATCH 14/71] Added GCP Endpoints (#259) --- diagrams/gcp/api.py | 15 +++++++++++++++ docs/nodes/gcp.md | 4 ++++ resources/gcp/api/endpoints.png | Bin 0 -> 2737 bytes 3 files changed, 19 insertions(+) create mode 100644 diagrams/gcp/api.py create mode 100644 resources/gcp/api/endpoints.png diff --git a/diagrams/gcp/api.py b/diagrams/gcp/api.py new file mode 100644 index 00000000..5b027b6a --- /dev/null +++ b/diagrams/gcp/api.py @@ -0,0 +1,15 @@ +# This module is automatically generated by autogen.sh. DO NOT EDIT. + +from . import _GCP + + +class _API(_GCP): + _type = "api" + _icon_dir = "resources/gcp/api" + + +class Endpoints(_API): + _icon = "endpoints.png" + + +# Aliases diff --git a/docs/nodes/gcp.md b/docs/nodes/gcp.md index 91032ce3..39ad2e31 100644 --- a/docs/nodes/gcp.md +++ b/docs/nodes/gcp.md @@ -18,6 +18,10 @@ Node classes list of gcp provider. - **diagrams.gcp.analytics.Genomics** - **diagrams.gcp.analytics.Pubsub**, **PubSub** (alias) +## gcp.api + +- **diagrams.gcp.api.Endpoints** + ## gcp.compute - **diagrams.gcp.compute.AppEngine**, **GAE** (alias) diff --git a/resources/gcp/api/endpoints.png b/resources/gcp/api/endpoints.png new file mode 100644 index 0000000000000000000000000000000000000000..339f7f24b946acd087b06eb43fd395911fa1e5e5 GIT binary patch literal 2737 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 Date: Thu, 27 Aug 2020 00:08:39 +0900 Subject: [PATCH 15/71] docs(website): remove sponsorship section --- website/pages/en/index.js | 15 --------------- 1 file changed, 15 deletions(-) diff --git a/website/pages/en/index.js b/website/pages/en/index.js index 117ba514..cc0bdcaa 100644 --- a/website/pages/en/index.js +++ b/website/pages/en/index.js @@ -111,20 +111,6 @@ class Index extends React.Component { ); - const Sponsorship = () => ( -

-

Sponsorship

- - Sponsoring always helps a lot to maintain Diagrams. Thank you :) - - - Buy Me A Coffee - -
- ); - const Example = () => ( {[ @@ -162,7 +148,6 @@ class Index extends React.Component { - ); From 01332a459ef090d47e059a13ba078e1e2f8e33d3 Mon Sep 17 00:00:00 2001 From: mingrammer Date: Thu, 27 Aug 2020 09:37:52 +0900 Subject: [PATCH 16/71] bump: up to version 0.17.0 --- pyproject.toml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pyproject.toml b/pyproject.toml index c714e8c5..8725f849 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -1,6 +1,6 @@ [tool.poetry] name = "diagrams" -version = "0.16.0" +version = "0.17.0" description = "Diagram as Code" license = "MIT" authors = ["mingrammer "] From 67e093fd434d2385130908b624b186df97a66400 Mon Sep 17 00:00:00 2001 From: mingrammer Date: Thu, 27 Aug 2020 09:55:49 +0900 Subject: [PATCH 17/71] docs(changelog): update v0.17.0 --- CHANGELOG.md | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index ac9c5d3a..20a0fc2d 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,23 @@ # Changelogs +## 0.17.0 + +### Added + +- Support GCP Endpoints: #259 +- Support DroneCI and Atlantis (Terraform): #255 +- Support Okta: #254 +- Support OutScale provider: #251 +- Support Prometheus Operator: #253 +- Support Snowflake: #245 +- Support for CJK fonts + Replace ms-fonts with opensans: #242 +- Support Pushover: #241 + +### Fixed + +- Update bm, vm cases for OCI +- Set a dummy filename to prevent raise error when both name and filename are not provided: #240 + ## 0.16.0 ### Breaking Changes From d46896c75ffbbeef3c297622c79ae9d4aaa3ed58 Mon Sep 17 00:00:00 2001 From: MinJae Kwon Date: Thu, 27 Aug 2020 09:58:15 +0900 Subject: [PATCH 18/71] docs(changelog): update PR links --- CHANGELOG.md | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 20a0fc2d..692ff6b0 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -4,19 +4,19 @@ ### Added -- Support GCP Endpoints: #259 -- Support DroneCI and Atlantis (Terraform): #255 -- Support Okta: #254 -- Support OutScale provider: #251 -- Support Prometheus Operator: #253 -- Support Snowflake: #245 -- Support for CJK fonts + Replace ms-fonts with opensans: #242 -- Support Pushover: #241 +- Support GCP Endpoints: [#259](https://github.com/mingrammer/diagrams/pull/259) +- Support DroneCI and Atlantis (Terraform): [#255](https://github.com/mingrammer/diagrams/pull/255) +- Support Okta: [#254](https://github.com/mingrammer/diagrams/pull/254) +- Support OutScale provider: [#251](https://github.com/mingrammer/diagrams/pull/251) +- Support Prometheus Operator: [#253](https://github.com/mingrammer/diagrams/pull/253) +- Support Snowflake: [#245](https://github.com/mingrammer/diagrams/pull/245) +- Support for CJK fonts + Replace ms-fonts with opensans: [#242](https://github.com/mingrammer/diagrams/pull/242) +- Support Pushover: [#241](https://github.com/mingrammer/diagrams/pull/241) ### Fixed - Update bm, vm cases for OCI -- Set a dummy filename to prevent raise error when both name and filename are not provided: #240 +- Set a dummy filename to prevent raise error when both name and filename are not provided: [#240](https://github.com/mingrammer/diagrams/pull/240) ## 0.16.0 From 5d64fb968be79d0c7bc0b214515a4e0b431b9e9c Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Sun, 6 Sep 2020 00:41:18 +0900 Subject: [PATCH 19/71] chore(deps): bump decompress from 4.2.0 to 4.2.1 in /website (#262) Bumps [decompress](https://github.com/kevva/decompress) from 4.2.0 to 4.2.1. - [Release notes](https://github.com/kevva/decompress/releases) - [Commits](https://github.com/kevva/decompress/compare/v4.2.0...v4.2.1) Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- website/yarn.lock | 59 +++++++++++++++++++++-------------------------- 1 file changed, 26 insertions(+), 33 deletions(-) diff --git a/website/yarn.lock b/website/yarn.lock index cbfadbd6..acaa1fd9 100644 --- a/website/yarn.lock +++ b/website/yarn.lock @@ -1253,9 +1253,9 @@ bindings@^1.5.0: file-uri-to-path "1.0.0" bl@^1.0.0: - version "1.2.2" - resolved "https://registry.yarnpkg.com/bl/-/bl-1.2.2.tgz#a160911717103c07410cef63ef51b397c025af9c" - integrity sha512-e8tQYnZodmebYDWGH7KMRvtzKXaJHx3BbilrgZCfvyLUYdKpK1t5PSPmpkny/SgiTSCnjfLW7v5rlONXVFkQEA== + version "1.2.3" + resolved "https://registry.yarnpkg.com/bl/-/bl-1.2.3.tgz#1e8dd80142eac80d7158c9dccc047fb620e035e7" + integrity sha512-pvcNpa0UU69UT341rO6AYy4FVAIkUHuZXRIWbq+zHnsVcRzDDjIAhGuuYoi0d//cwIwtt4pkpKycWEfjdV+vww== dependencies: readable-stream "^2.3.5" safe-buffer "^5.1.1" @@ -1363,9 +1363,9 @@ buffer-from@^1.0.0: integrity sha512-MQcXEUbCKtEo7bhqEs6560Hyd4XaovZlO/k9V3hjVUF/zwW7KBVdSK4gIt/bzwS9MbR5qob+F5jusZsb0YQK2A== buffer@^5.2.1: - version "5.5.0" - resolved "https://registry.yarnpkg.com/buffer/-/buffer-5.5.0.tgz#9c3caa3d623c33dd1c7ef584b89b88bf9c9bc1ce" - integrity sha512-9FTEDjLjwoAkEwyMGDjYJQN2gfRgOKBKRfiglhvibGbpeeU/pQn1bJxQqm32OD/AIeEuHxU9roxXxg34Byp/Ww== + version "5.6.0" + resolved "https://registry.yarnpkg.com/buffer/-/buffer-5.6.0.tgz#a31749dc7d81d84db08abf937b6b8c4033f62786" + integrity sha512-/gDYp/UtU0eA1ys8bOs9J6a+E/KWIY+DZ+Q2WESNUA0jFRsJOc0SNUO6xJ5SGA1xueg3NL65W6s+NY5l9cunuw== dependencies: base64-js "^1.0.2" ieee754 "^1.1.4" @@ -1661,7 +1661,7 @@ combined-stream@^1.0.6, combined-stream@~1.0.6: dependencies: delayed-stream "~1.0.0" -commander@^2.15.1: +commander@^2.15.1, commander@^2.8.1: version "2.20.3" resolved "https://registry.yarnpkg.com/commander/-/commander-2.20.3.tgz#fd485e84c03eb4881c20722ba48035e8531aeb33" integrity sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ== @@ -1671,13 +1671,6 @@ commander@^4.0.1: resolved "https://registry.yarnpkg.com/commander/-/commander-4.1.1.tgz#9fd602bd936294e9e9ef46a3f4d6964044b18068" integrity sha512-NOKm8xhkzAjzFx8B2v5OAHT+u5pRQc2UCa2Vq9jYL/31o2wi9mxBA7LIFs3sV5VSC49z6pEhfbMULvShKj26WA== -commander@~2.8.1: - version "2.8.1" - resolved "https://registry.yarnpkg.com/commander/-/commander-2.8.1.tgz#06be367febfda0c330aa1e2a072d3dc9762425d4" - integrity sha1-Br42f+v9oMMwqh4qBy09yXYkJdQ= - dependencies: - graceful-readlink ">= 1.0.0" - commondir@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/commondir/-/commondir-1.0.1.tgz#ddd800da0c66127393cca5950ea968a3aaf1253b" @@ -2062,9 +2055,9 @@ decompress-unzip@^4.0.1: yauzl "^2.4.2" decompress@^4.0.0, decompress@^4.2.0: - version "4.2.0" - resolved "https://registry.yarnpkg.com/decompress/-/decompress-4.2.0.tgz#7aedd85427e5a92dacfe55674a7c505e96d01f9d" - integrity sha1-eu3YVCflqS2s/lVnSnxQXpbQH50= + version "4.2.1" + resolved "https://registry.yarnpkg.com/decompress/-/decompress-4.2.1.tgz#007f55cc6a62c055afa37c07eb6a4ee1b773f118" + integrity sha512-e48kc2IjU+2Zw8cTb6VZcJQ3lgVbS4uuB1TfCHbiZIP/haNXm+SVyhu+87jts5/3ROpd82GSVCoNs/z8l4ZOaQ== dependencies: decompress-tar "^4.0.0" decompress-tarbz2 "^4.0.0" @@ -3071,14 +3064,9 @@ got@^8.3.1: url-to-options "^1.0.1" graceful-fs@^4.1.10, graceful-fs@^4.1.11, graceful-fs@^4.1.2, graceful-fs@^4.1.6, graceful-fs@^4.2.0: - version "4.2.3" - resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.2.3.tgz#4a12ff1b60376ef09862c2093edd908328be8423" - integrity sha512-a30VEBm4PEdx1dRB7MFK7BejejvCvBronbLjht+sHuGYj8PHs7M/5Z+rt5lw551vZ7yfTCj4Vuyy3mSJytDWRQ== - -"graceful-readlink@>= 1.0.0": - version "1.0.1" - resolved "https://registry.yarnpkg.com/graceful-readlink/-/graceful-readlink-1.0.1.tgz#4cafad76bc62f02fa039b2f94e9a3dd3a391a725" - integrity sha1-TK+tdrxi8C+gObL5Tpo906ORpyU= + version "4.2.4" + resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.2.4.tgz#2256bde14d3632958c465ebc96dc467ca07a29fb" + integrity sha512-WjKPNJF79dtJAVniUlGGWHYGz2jWxT6VhN/4m1NdkbZ2nOsEF+cI1Edgql5zCRhs/VsQYRvrXctxktVXZUkixw== gray-matter@^2.1.0: version "2.1.1" @@ -5597,11 +5585,16 @@ safe-buffer@5.1.2, safe-buffer@~5.1.0, safe-buffer@~5.1.1: resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.1.2.tgz#991ec69d296e0313747d59bdfd2b745c35f8828d" integrity sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g== -safe-buffer@>=5.1.0, safe-buffer@^5.0.1, safe-buffer@^5.1.1, safe-buffer@^5.1.2, safe-buffer@~5.2.0: +safe-buffer@>=5.1.0, safe-buffer@^5.0.1, safe-buffer@^5.1.2, safe-buffer@~5.2.0: version "5.2.0" resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.2.0.tgz#b74daec49b1148f88c64b68d49b1e815c1f2f519" integrity sha512-fZEwUGbVl7kouZs1jCdMLdt95hdIv0ZeHg6L7qPeciMZhZ+/gdesW4wgTARkrFWEpspjEATAzUGPG8N2jJiwbg== +safe-buffer@^5.1.1: + version "5.2.1" + resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.2.1.tgz#1eaf9fa9bdb1fdd4ec75f58f9cdb4e6b7827eec6" + integrity sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ== + safe-json-parse@~1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/safe-json-parse/-/safe-json-parse-1.0.1.tgz#3e76723e38dfdda13c9b1d29a1e07ffee4b30b57" @@ -5633,11 +5626,11 @@ scheduler@^0.19.1: object-assign "^4.1.1" seek-bzip@^1.0.5: - version "1.0.5" - resolved "https://registry.yarnpkg.com/seek-bzip/-/seek-bzip-1.0.5.tgz#cfe917cb3d274bcffac792758af53173eb1fabdc" - integrity sha1-z+kXyz0nS8/6x5J1ivUxc+sfq9w= + version "1.0.6" + resolved "https://registry.yarnpkg.com/seek-bzip/-/seek-bzip-1.0.6.tgz#35c4171f55a680916b52a07859ecf3b5857f21c4" + integrity sha512-e1QtP3YL5tWww8uKaOCQ18UxIT2laNBXHjV/S2WYCiK4udiv8lkG89KRIoCjUagnAmCBurjF4zEVX2ByBbnCjQ== dependencies: - commander "~2.8.1" + commander "^2.8.1" select@^1.1.2: version "1.1.2" @@ -6327,9 +6320,9 @@ typedarray@^0.0.6: integrity sha1-hnrHTjhkGHsdPUfZlqeOxciDB3c= unbzip2-stream@^1.0.9: - version "1.3.3" - resolved "https://registry.yarnpkg.com/unbzip2-stream/-/unbzip2-stream-1.3.3.tgz#d156d205e670d8d8c393e1c02ebd506422873f6a" - integrity sha512-fUlAF7U9Ah1Q6EieQ4x4zLNejrRvDWUYmxXUpN3uziFYCHapjWFaCAnreY9bGgxzaMCFAPPpYNng57CypwJVhg== + version "1.4.3" + resolved "https://registry.yarnpkg.com/unbzip2-stream/-/unbzip2-stream-1.4.3.tgz#b0da04c4371311df771cdc215e87f2130991ace7" + integrity sha512-mlExGW4w71ebDJviH16lQLtZS32VKqsSfk80GCfUlwT/4/hNRFsoscrF/c++9xinkMzECL1uL9DDwXqFWkruPg== dependencies: buffer "^5.2.1" through "^2.3.8" From e16eea48a4e5b7cbcc8a06312ebc7803b710500a Mon Sep 17 00:00:00 2001 From: Emrem Date: Sat, 5 Sep 2020 18:43:31 +0300 Subject: [PATCH 20/71] ocelot gateway add (#263) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-authored-by: Emrem Pıtırlı --- diagrams/onprem/network.py | 4 ++++ docs/nodes/onprem.md | 1 + resources/onprem/network/ocelot.png | Bin 0 -> 26992 bytes 3 files changed, 5 insertions(+) create mode 100644 resources/onprem/network/ocelot.png diff --git a/diagrams/onprem/network.py b/diagrams/onprem/network.py index 82a61499..67f5e712 100644 --- a/diagrams/onprem/network.py +++ b/diagrams/onprem/network.py @@ -52,6 +52,10 @@ class Nginx(_Network): _icon = "nginx.png" +class Ocelot(_Network): + _icon = "ocelot.png" + + class Pfsense(_Network): _icon = "pfsense.png" diff --git a/docs/nodes/onprem.md b/docs/nodes/onprem.md index 16549066..454b6bae 100644 --- a/docs/nodes/onprem.md +++ b/docs/nodes/onprem.md @@ -134,6 +134,7 @@ Node classes list of onprem provider. - **diagrams.onprem.network.Kong** - **diagrams.onprem.network.Linkerd** - **diagrams.onprem.network.Nginx** +- **diagrams.onprem.network.Ocelot** - **diagrams.onprem.network.Pfsense**, **PFSense** (alias) - **diagrams.onprem.network.Pomerium** - **diagrams.onprem.network.Tomcat** diff --git a/resources/onprem/network/ocelot.png b/resources/onprem/network/ocelot.png new file mode 100644 index 0000000000000000000000000000000000000000..1216057309d1c04a292d30b9be6467c454ca035e GIT binary patch literal 26992 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∾_ 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 huWMTINO$iaHd&URqGmsPJUAr@OI<} Date: Mon, 14 Sep 2020 04:56:02 -0700 Subject: [PATCH 21/71] Adds akamai (#267) --- diagrams/saas/cdn.py | 4 ++++ docs/nodes/saas.md | 1 + resources/saas/cdn/akamai.png | Bin 0 -> 8419 bytes 3 files changed, 5 insertions(+) create mode 100644 resources/saas/cdn/akamai.png diff --git a/diagrams/saas/cdn.py b/diagrams/saas/cdn.py index dec52654..3733621d 100644 --- a/diagrams/saas/cdn.py +++ b/diagrams/saas/cdn.py @@ -8,6 +8,10 @@ class _Cdn(_Saas): _icon_dir = "resources/saas/cdn" +class Akamai(_Cdn): + _icon = "akamai.png" + + class Cloudflare(_Cdn): _icon = "cloudflare.png" diff --git a/docs/nodes/saas.md b/docs/nodes/saas.md index e42f106a..607fa09c 100644 --- a/docs/nodes/saas.md +++ b/docs/nodes/saas.md @@ -17,6 +17,7 @@ Node classes list of saas provider. ## saas.cdn +- **diagrams.saas.cdn.Akamai** - **diagrams.saas.cdn.Cloudflare** ## saas.chat diff --git a/resources/saas/cdn/akamai.png b/resources/saas/cdn/akamai.png new file mode 100644 index 0000000000000000000000000000000000000000..2c008ed2abbad94b885794adbc80f1aa4a9f8610 GIT binary patch literal 8419 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 IR Date: Wed, 16 Sep 2020 16:15:39 +0200 Subject: [PATCH 22/71] Add: OpenServiceMesh component (#260) * Add: OpenServiceMesh component Signed-off-by: Nicolas Lamirault * Update: use full name OpenServiceMesh name Signed-off-by: Nicolas Lamirault * Update: add OSM alias for OpenServiceMesh Signed-off-by: Nicolas Lamirault * Fix: name of resource Signed-off-by: Nicolas Lamirault * Fix: name of OSM resource Signed-off-by: Nicolas Lamirault * Fix: remove doc Signed-off-by: Nicolas Lamirault --- config.py | 1 + diagrams/onprem/network.py | 5 +++++ docs/nodes/onprem.md | 1 + resources/onprem/network/open-service-mesh.png | Bin 0 -> 21752 bytes 4 files changed, 7 insertions(+) create mode 100644 resources/onprem/network/open-service-mesh.png diff --git a/config.py b/config.py index 23e036d5..4d31677b 100644 --- a/config.py +++ b/config.py @@ -124,6 +124,7 @@ ALIASES = { "network": { "Etcd": "ETCD", "Haproxy": "HAProxy", + "OpenServiceMesh": "OSM", "Pfsense": "PFSense", "Vyos": "VyOS" }, diff --git a/diagrams/onprem/network.py b/diagrams/onprem/network.py index 67f5e712..9ea63186 100644 --- a/diagrams/onprem/network.py +++ b/diagrams/onprem/network.py @@ -56,6 +56,10 @@ class Ocelot(_Network): _icon = "ocelot.png" +class OpenServiceMesh(_Network): + _icon = "open-service-mesh.png" + + class Pfsense(_Network): _icon = "pfsense.png" @@ -84,5 +88,6 @@ class Zookeeper(_Network): ETCD = Etcd HAProxy = Haproxy +OSM = OpenServiceMesh PFSense = Pfsense VyOS = Vyos diff --git a/docs/nodes/onprem.md b/docs/nodes/onprem.md index 454b6bae..ff4bcc16 100644 --- a/docs/nodes/onprem.md +++ b/docs/nodes/onprem.md @@ -135,6 +135,7 @@ Node classes list of onprem provider. - **diagrams.onprem.network.Linkerd** - **diagrams.onprem.network.Nginx** - **diagrams.onprem.network.Ocelot** +- **diagrams.onprem.network.OpenServiceMesh**, **OSM** (alias) - **diagrams.onprem.network.Pfsense**, **PFSense** (alias) - **diagrams.onprem.network.Pomerium** - **diagrams.onprem.network.Tomcat** diff --git a/resources/onprem/network/open-service-mesh.png b/resources/onprem/network/open-service-mesh.png new file mode 100644 index 0000000000000000000000000000000000000000..d56d508314f373fd7eaac06c6c2eb21fe6ac58c4 GIT binary patch literal 21752 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

sOdNoyW1QC;L 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 literal 0 HcmV?d00001 From 005d6372931b6114594de0f5d6f6248809980240 Mon Sep 17 00:00:00 2001 From: Nicolas Lamirault Date: Wed, 16 Sep 2020 16:16:50 +0200 Subject: [PATCH 23/71] Add: cert-manager and letsencrypt into resources certificates (#265) * Add: cert-manager into resources certificates Signed-off-by: Nicolas Lamirault * Add: letsencrypt service Signed-off-by: Nicolas Lamirault * Fix: names of new resources Signed-off-by: Nicolas Lamirault * Fix: remove doc Signed-off-by: Nicolas Lamirault * Add: certificates components Signed-off-by: Nicolas Lamirault --- diagrams/onprem/certificates.py | 19 ++++++++++++++++++ docs/nodes/onprem.md | 5 +++++ .../onprem/certificates/cert-manager.png | Bin 0 -> 32453 bytes .../onprem/certificates/lets-encrypt.png | Bin 0 -> 5160 bytes 4 files changed, 24 insertions(+) create mode 100644 diagrams/onprem/certificates.py create mode 100644 resources/onprem/certificates/cert-manager.png create mode 100644 resources/onprem/certificates/lets-encrypt.png diff --git a/diagrams/onprem/certificates.py b/diagrams/onprem/certificates.py new file mode 100644 index 00000000..030e8a42 --- /dev/null +++ b/diagrams/onprem/certificates.py @@ -0,0 +1,19 @@ +# This module is automatically generated by autogen.sh. DO NOT EDIT. + +from . import _OnPrem + + +class _Certificates(_OnPrem): + _type = "certificates" + _icon_dir = "resources/onprem/certificates" + + +class CertManager(_Certificates): + _icon = "cert-manager.png" + + +class LetsEncrypt(_Certificates): + _icon = "lets-encrypt.png" + + +# Aliases diff --git a/docs/nodes/onprem.md b/docs/nodes/onprem.md index ff4bcc16..62ec53ad 100644 --- a/docs/nodes/onprem.md +++ b/docs/nodes/onprem.md @@ -26,6 +26,11 @@ Node classes list of onprem provider. - **diagrams.onprem.cd.TektonCli** - **diagrams.onprem.cd.Tekton** +## onprem.certificates + +- **diagrams.onprem.certificates.CertManager** +- **diagrams.onprem.certificates.LetsEncrypt** + ## onprem.ci - **diagrams.onprem.ci.Circleci**, **CircleCI** (alias) diff --git a/resources/onprem/certificates/cert-manager.png b/resources/onprem/certificates/cert-manager.png new file mode 100644 index 0000000000000000000000000000000000000000..72bd27546e61606cdfeda3dcd5ba21d15ecaf7a1 GIT binary patch literal 32453 zcmX6^19Tm2*9{uo*ly6+w(W*Z(%7~e+qP|+4I8JiZR<@M>z{o8$_nn}uDLVMJm;K! z_TDF4Q9%+Bga-lx14ERS5>o~P0|)*Ddw_)oe%>TRI03)Dm*-L2xXJz>I`3>$~Ea(axgmIRZ7l+x0gGFLwA5JpA1OxMKk`@zIbzi;6c5^3K za=G_qZS1QWA~9^7*w)~EcKXYkgBvzHO7A2G3fX@GQw`SX>AX%;?MFE`UxS4)FyMPsx7H+e z^%0m5)4=7xhad+0K)sM$VD$faqlZDF5`TI0cg=$`hnS?$jSl~4g%BVH3-ZSy2C>m$ z)@WazLH$)gf`>0ijDy3tlP~UB}+|`iST@48Tj}3y-f1uZAn^-aRu?xQC z%~4e;XQde7z)P=pFhKW951s~W6*Pk==nbWa7;|?M-A(4N*5vr{GP0aKUi2i zjtCl4=<6}XE5|;~2ky3Mku+ae{|?`DuZnp&Vv|1+X(7`e&oA`(zn0AV^jeDfO~~L`2q!ULy*GUmoV;~Qr&d;`A56%nok!4m?AnZ04Yx{#-_hOV2 zCRxZ7xE}=I;+*`5h_k%{A8hr7iL--zL!+?30%eHNp(!00kNfs}&>z+HPoKJ5g#U#@ z_HIE;758wL!TuV`gE$7?2-*r}d-y;~|H2yPAIq`*((6l{SmY;6K8+6CIHxoEJ4vq~ zc&@l<7vgTeFu^1HHDOUK7>+8$26GwM?6mwNC4?ZPt>D%Ydsx>s-L-n}fBX1>GI{8M zAYy;p{vMQc^M+S1J#_(;a=~AZZpezW?=yQnjM~;h6qXlK-OOcQ$QT05G6g%}KG>yp za(%jMY0-n?`ssqas3W{AXqHu>IuQvtph9)}3=%(Dtw0&j6$N?Zr?&{`awJR$VfX=Q z3}M40C6w>gfwmxo+jS@Eksd~{bI9&5UCCZXig3XCT=x4iUaRQ;d+M%nE`sOwtMHqv z*><5;O)67OwVY3?oKLbspjIiTTcCQVNb11kQ-Depr2*3td1Qye5SNCl;cMwd(Z|W7 zOcElafE9-#H1KCMpItSWKIgQ!!DV}q`}qoeA)F{Ah7t)s@#n6XHWWOBXPYs;{7-Kl z8jjyoneVjxHG5Ivl^zb*D8EP?8ihPmtcrnD`cN4O-d@Nmj^M=5F$qV=4|CO&GIt&2 z-WMx!EQo>*VjR>a7`e$7{4C4aa+`T>haaWggL#8?C=oK1;6<}|#3>^1*Yew~BN0;D zvua-;_u~JtcEACT8joe-h@WWb8<@dZj}4xxyPCw(avIOrWE8V2MNA!YgG|jS(ps;N zF|*F}S2peqL;HVCll~oCp{ILUmWvk18OIWaYk4_Kqu5{GaZmQ6DYm*Wl6!k|zS>x0zJ?P#F5fh?%UK z^G25PXfloV1sQOR{kD9kYzNzh&ma&iY&O;l!aLNa+Jfjc6OjZh!CNrv{+4m6;iG z_Nn{7_!E(?cti&5TM8D)7(F3SE={Ge(xe|*8Nh5*96c*J?Smi%2uk?gNmC}K%;i_-=KXXQ}`j+PNVRer5g z4faejsxz@Jr4(&Ni_+1>2I}TA)}f+zR+{eog+I|FGm8j{RJTVxjX(JFvXdmTm$ynh zNp9!KehDLNf&zc7iorV>Oe@1}omWRBBi(CsE$aGRXd9z`kg%P^cbP|{4z#+aN<(eFcw$m5zo zY?#&=0dowEpz$u6g<_fkT6PJpnAy>XrZJ+h#D(WY0G4-7(YX}UCZqRnoWt{gak(K74Y$K=7x8e}+ z6CO>Mb4gAevo+x~x#9#BLTpIEy0mt^ie&zi9*kF}2q%Efg#MZ;qgFmvW*II0?Ocw~ z#!Q*iqkKYz&x#5U+nS$XFZK#*#hqA&iB$Ox5lRdu!Tn#UP-?g%5B;gyip zu#~^4;EI%~Tq>ig7SlLZC)eSSOk8x{ZN+C8>6#r73SZ z%b0Fm^}@`Y!&e{Hk+Ze_AX2C;ES%oV-dHqWy*Pz_coFb_b*EDh-4J|!bjQ@N37*R< zdxTzx&uBj;9S!Ghdc>nIpz-e|H5>USF3}xch1=76l7hM!)8Muw#KXscCs(7hz1wi2 zU^#ZXbkafMZuULt!~1vO?`DU*?L|LicY<`C4#u}YcwtlobExUSZDc5cXzM}t?zkfs zxiUJXcB|k}uM(|L@ih`}qp~0aB zObg$?29)b}f2tmz_CR0{3-u+}gKmto)wL4<8thtop|JQ)U^n6R-XB#oDY}*^ScX z8Fgo3QKgG8nmv>OjAYPIJ+M+V0ifEk3T}o=%@c!rcge|=WP|>U3xoHw1EiSTnaFx_ zuyn3}v>h%?A^wH1(0|x2NP-`r$;6i;L~?0Ig&HkmA{jS-q@;#^NQq`qE{19}(#u)t z+YeqLlVJ+Gl#kuPZ>&27b6%M}j$`v^^iU=k@-jedic_Heo&?(?;j5i%PQ}=)B~fvQ zKiv4b`lv1roG_$W_&}6r45*ilP$dzl*59BN0 zVuzw5*SRlV3?2G1fw*nr=zZ^SAIre`^CZf$W_PH;OVm>mM0?cXNF&7}@9rTRruTbV zShP~9iXOa|!q|W2?8GjIQQTg)#18pSmY(=cvpUwER|#C>@Y>Vr#=%7H@yH1d06Jc` z@WFxoNPyr#<%#AGV?I@5e@V zHeG2`ZI~8tuY!}TBo;k_!?yi`xGRn?HHO-<%2+?99R5>xOJ+8ey7wGZRK0#3LP74q z-BxX!$>nqT9V_ch|DQYui2Ak+p;8rBa6%zn(%>Qn)@&`RE7`ANWS^>5c1JZ)Sa!H~ z|Mh!{MQr)Z;I7es@Y>1cImphTI$x88}HBWsi4nA)Y&M1S?{sxy;G^(iu}y^h-FJ)y%GC z(e>;czyniFt#H?&iGUD%FN_V{LO3*;%z%(kw|X5;t-w_(o>??->{!@-)Xe^N=YYgH z5<*PxBTB)82sTcYF4y!cCQ|Tsc@lMDLo4(u1VxWm-_-3@sIk(I|8m|u4oJ^isW;>w zuSAp?qUnd)gW_m+hij>KSeH__9gR6B(iq&I0-1Wen*%!z3oc+t!_ZlSa%rTU6=4#E_1tp%KuB7R|lx zhm>u9o)6^|+Yu9>zuq?^0l86%jv=D_i)FmlwpoJRzf?3T4RCoq0Mq1(acmJNMLDI5 zVBL7_EGi4Q*jOwY6Pm3dzQ1t`_IUCOY2{H-7jlcL>?AHFGnsWkmg)#!43aU+!HUbZ zd=3Avug^Ti>;y!zFY{~AT0J&*jV%~dd+tyNM4XVAeIA2Pw;d)iJ%^rDor7Et!^|sCPnPArO1mYh1pL;nRS{0n&za0s_Tl^r|Mz?i?GHwDQh8X7*+9m zX0MwK;!yluue-^HDuO-^`5mLBq-_W4*OyzuM^V%I!$B0|S`gGqRZy^A1!D)fqAGk| z=Ji(Szh79xbGcI3Z>u^c>+O8JJ4=Y}K1N|g0w;ST7U`HAy~cvZ9do(eOUkL9u!QS4Yj&2B#Sa zC9x;knmS0qLd*MakTc*rI6(@^$ss=i1g{iL8o0va(Uma7V2?;SGd2vz?%)A+~01~Bbn*WFdSM#S2HTvIqUCB}w?5;E}cc$#<2M!b?T)jtrxDtJTFAZHy?^2qe z??o^+_}(`~@@3fu)}F-VKD4PuO6fwBn-UZGX%U@M#!umBV=NP!%PJTx$6Grzsld5@=Z%E zAy5Aid9%Gt6aY5BB#}VmCU0>$F_IOtV&zM`Puj--%%o5+F z`$dYEo={>eb*GNj9UYMuC<*ZzuH#8kTt6gBxWT?T^x5g25aVHc?Pes*gAlL#@~L`$ z)dy}+HfTwA4q(_{Kw!5rB*$klu4|7aP%HS{TEYNL6Z1s>izOT8X(nR#g9fi&PiNK{ z_Rlp1OBw))pm~ub4sU|6Xu&O6uE~vC@-&aDh3e`24y102w^1N$b$1WH+tK``X*?VJ zOXBm~l-nZY5TvKHJv3wfd@tvgw-Tk1p;0%j|06o;dlD{ojD~dSgT5 zTR#A*f$%t#FQ@=xKlqvI*=QaSI9f>Karhf0wuf+EPHU%{Q!SVxcN97I8kKV!D^h?w zRDS1{GkNxu)5AlyO+#x888Q~)3j4ViY8+BZ>&-@LSWme9Md-4aF>`0%?uvG*0{jRb zUsN1%1C}KCBl98ItO!#@E!c(k8{5m@EKEQ7;4|zF6%x8yS(60<&Q`iRd!TKHr{D%! z4F&mjiEvqY_K6YGTAD9aX$QL%9@!NCy?1a;*&(1V<^L&mT;Ov%^#Os~T|}XbZ)~NB z*c8g?1VnzC{#rZ^`vHv#Jr6XYD=sd#v&__Z z#~I|;qMl1}Aq*DIJbjSxdTQ))f~0#2LPV?+%(muN#pxzN6-Cz z{~KEHx{WNLkToM5uj`~1FD)riV92nma;Ur`f<|AGlI#18sEOB6 zzUwLklsbfHTtjnl91MLJgcR$?Fk~y%4FuG76SddnkTOH=Nz-d5;!DBnW310l-U!-P z={dG=0J*u__!*V%mA~0bmN_LWFMMH7SLriQzlLgzMaF|Z=fg4@M4)`HlWGDjaj&FV zW7o_rGiU`%8nRGRuJJckjCi)axJMZz%(7l02fEaB-^#BVP6Bo`%1*P+Sj(l{V zLfl{b%`pN3U}go2atA!i%IggDf_%M-qSYF80Ek^?m9jOyL}&}b;hi6%tfB79as3Zq zY=H)vBDSu$MX)<>G@YZ6su{lm!VJB9VCzK;%4tZ8mbAk&IJB^IkMB*lY+9T=F-|S; zL#qrDOBtNYe~o%O4pHTopP-vjxJgbc5FkE}L9wet1xoy-c~mG%P<>LR`|anT%0sRd z$H#RRZIzKf8NRO?P>GVOGl+fvm|YjI!cEDGKqyflq{TsUBl&>l5}dt@$m@9~gTF1X zc9&uLt<-5HR8sFfI)Sme7bYS_E@1zvZat|A)*TsI}=RxxKHCF~4j$a;p zfQG%>%QOAps{_4{MZ*O@?p13+j+7kMaM9k-;8)XFr>t)XAp2pHoFt-w66&b3hJz&O z6l2`v z6wmMes7j&X`fm>uQ2rME&G75%?dz-Eda&-!I&s*Xm|j!Ks2LznOQWuO{@H^!H79NA zp5UCcBK5y6%w}Gt5CF+QFhWV@9#4|4%gZQ#f=}_;EAK$R5wP}bRdQmw8>oa0FGA64 z*%1BQ*#VMZz5`ji2VZ0VXO4jv9CVSDt@soV|2)czoT zMmNBtm5=es2TyHi$e4r=?L2b<#iPw2zEk$?$x3S=%X${Z3)j)Nm&stp80JBD=i=tQ z)AJip2ib^We`1h%Ong+sG1;a?S00%lA$Jghay!eDAYB|R;UB87Nyg8tZuu4S>HMBB z@_ciJ5c$`b0rvKddzrfFi$VwpkgqFQqL9%BqsSb)9%PKY|Zh3`%pQbCoh=csneru zUj?mi^(NFdL2SjU3pXcHMfga`bZfrn5F zHZpVeN#BNT3INJcyJb$LB4{fnsr_|W+0V$G+V5ctg9+e;OKWLQl=U|8gZv~nK{uD1 z{Sa{g0VDsubp{WN6z5jR_}d;3VM$8PV>itwBuoOtk_nalf2aty}F zNzEQJK$WGrDG1l+0rkx;NOG&;5ZQheQ^4CBt}w(rI08gh40duKY)=*?90GRRiGnHM zm3)_?aCI3Ca58;{uFik)WCHx}>s=bu9<$((BvdVqdFDAz2)J;MtUI%|1N*n&pwfLm zt}}&OzQ#BJx!CS11xf|-NdOKUKrzPm?w;5MijJ+{mu*_TZ1|P~%V>>JKV8$l1;4>8Zr{g=V1kmvvE4(8Oxo;>8Fn`fY|i8j z6V77fYa|)D+*<_QU20q!tTSl|Xn`{-LpwvCVDN!<3@9R=$i>MrLp%ao7sSzU1QplNdKnVb~nRR93%1rz3 zBG;p)Hn0_=&-;@TzcJ;iZU^rR(biDe&!Hg?&{e>s#8Ii{UJxm@QMVc6x}KtQOXsC-kmvS!aYv9*13QFJ_!iyLI|+8lG0| zVv<2GK;$j8273S`Nl40WLWS;xqS_}to=k5b;9(;@bfpKpxA7{p%x<*2eniArS(j~% z$n?&APA)2bge>Ts7{If(veEnst$1B^3T*U>9DXhdLBwp8g%Tzj-*RuPy+*rLe=eRIT+SM$Tg$!9m;>1ywC)z1dgWEs@9384EJtW^)Jasky{WdDWiiO;Qbq$v6s33- z#{B?g3&_arRQ{+^x!U(jX?x2l@g_(O)cPl?lyeehx^Dni%;<~q)p&dqRb&KVoN-Gx zW%cMNK)H2H-Ij5$#Uw}gNI!-N;B%eQOnpsh_5WXtb*%rDEtNij*FJ%S-0))e!+r&` zMsL4mp8p=u7-Mo6zAn8CBFqJOpc8uSq$saXZeBH`H1z0|1Yx$S>`d9xn_PYw&J&pg zuK-CZ410LG9bU9=l-Li5w33TteXS!H;b~oN2rIszr-(Cwh?9G*ueWzJEzJLBeKQ8L z<7D0p9ghof-GL$Cq9a}V8zTU<571e>9^zfQUvueS2Yp*_0tFx4J>7!r8J(Bd5AXnx z@FliVKg%^0!x>WdiCBy{OEZumW7l{#EDJ5rG;w5nbO`c8I z@9d+zA-fiR^ZMBg{!^t)mA`6l>Zp-EI+}X+aI*`Ns%kuZe|uB<#9s>p*m@n+O_G!s zCahV2GPs@1|F-6~VR$i&rB+E%&J~UgD zg8VAbl9L-*L*Jc6uTK~4YiVbQpF`vWtq$9Nv5{!KQheOB#WwSj9*4Zz@@Pt{Vt>Zo z1JT3Gyr^{Lc#Zu6A7_j3&J^5ETGrYRx-|gis{U$pg|3iVnK*^he0I!`W=^4d_$cw? z26TD6_?2ZY$Dd~7`Nw%jf-tb)YQ;2-l>fT^KJR(<30RaR{D$HrjJh#qB(HWFS}Py< zE9*Tfs-{1lPbK-?Om~Gcx{leiiyzx;`#>s2VSLTc`tFIQ2(1o5KA6^&o1Xo_%Tqll zC8jT;M_V71uCzF}*)wR@VCuP?u?^Db{I*_*si;!JT*POG7AcDsLHa_VL5=3PiV5iG zVL z8D4o*bqDrMl0>p@bZPr}6>OBHXQ5I_r)CWhRi~+yBMF`p7%aJ7^Kld7A3#n%)q=i# zzx6K=GU}8TMfQ9+Wl6@zZl{NV3KcFARWe>mzmW9gV7$`Z zF}c%LuPq`HAp2su!T3ZPo2 z?Rk9|rA@mLRpnhNQwkFFt$q+~KQtiPcj|V(OAho2b-$N4>%~dk&Y_asaHg;D#Yd>%# zn$t}Jny^XSuRusEv~LF*ey5iNPt>WlFAaWuc`Z~2LntGJ3S2-2scB23_Yp7&(a*nM zRY#*QIrW4G9^+S#W(W9wyl`~iDS8ILld)I!^P@QW$n5`G2b8 zxSaDTl@QZ$4d=m5)qa~r&g9(FKIF_MMf^t3c4Q1(?v_lCde&tX#^AqPWYc<{Z1AmG z9^@6czpwPvbgd87p!!Hq^wlB5bUH4-C#&Oq)rQH! z_%PDuzj0HHz(e2v@~K$Fa3VlIS-GHHAXUY2y%^rW#N)kje$wqj%6&B$&haEk!G470 z*Z9YO@~GK+*PbN~tLbhS{P3aLsG!wLz{c$4XW;6s*^Ge6BAHMnfHX7Uf%gmNaWEGU+e^&t(L*P(im9LGX9JasH)XlP$N3LzqOxcr2E zF@a+xsfK~HG`s@DDsjS-Zbr!nm%ki%2le!`B9zF;L|;2lM{q5MnV??253P8zC}p%d^HHj+V_NyrBSHkSy-Bq#bISYzGZoPV4))8gOe!QA$Fa7gsslO@V|Z^^&% zR*zF82PO`p1^KbWj$zwUA1s=DmC?Q#3N{LOxR-D@kxf$+%d_OK-7Se5PRq)d9!Vp? zOP#VWZb3Zhx2C|0?8pYSGThY}mY}DK`jDV-c-R`H>GhnKe&Z|qQq_;)$UG6m(mHl6 z6K!PXC<80AtFYbUcW7*==mxKk$sP1Q%UrRV68}z%hn;1O=lo#?sTLfob8+Cmu*q=M zNeEhEuy;Dp<}6w1+$P8N@q~`{{OjdL=~O-IQUh0nHlsRua;3QYwb*ej76(T|;)@6TV2RR*}%ovW< zM8bj;!#5wcWkmdL2urE;<(h}+Wj!CpSJ^;@3gt9hH}(_j4fB8DGer^t&LOQn`+pbi=s|IF{j~oj8FIPoE*<&*CEER%` z-x@Gs^b4nmF$f=D{_OADb7M%TSxw*=nLXotb^%GA^Ya67y7vAS6r#2=5q4V`C=sxe zO}GS>VU4vMlmD?gyc)Fs(THvycJX%ruX7;B%##lcAFyG2DQ@6I*9!FqBiVPVr^KqV zD7=^;urhmP!cQj0L((ekrOc%TnMbJJj5>%J21w+N)E+?RE3btbAs2G41v38t5o*{d* zjfdZz?Qab^#9pX9q=4d&~q2bE(hFNlZ^*doR5Hq}FlAni1QSC3dD zhJw3}Xv)3q6X-{npd3VLiVTuhxw#4Q%eLcNA(~+1*)V+`i(+w&2(+2UN0+V`O6xba z7w8Q(1yKgE*eJbD!SvGfPfq2=&@^D(v4ZX3`*_Qjm90H2p@kXi0by^-0EcWl%356j=*k3=$<^iRPn+CLHFCGwhuKsxOmKRrVX@ z-s>wak*DQe`9(y92HQ$CS z2kVrVh6}QYP;L0Gow|;wKIP{0V)7M;dRP*!731p>EpXi}ED5#!rwnfjyH-hepa)V~ zz*C=ey6v@ObgTY%y_&*wbsj!_o){A^Qc6fUY&EA3c>Or(T^p@45<`Au1Mp_qkt+ls z>ZPTFcv+tnJw0l`YzQd;w;SMk90M2!pmX_5c7)^nT^-~TK+Y4}<)<|#sS`sxb(Lx{ zB^g;_`x>0|lmww6jT9`np>(Ol8Up4bI=w3SKqL;XH@z?U{i)3-Kl8h`R{w8xplLM= zLVWoKEY@_i!jW7A$4d+qtwU8yBE(b0MY{SNzG@9!?m-fZb zA!2eDp8nDj^7SzPS-90+|J^?hc*web)Am3AMpa-x`*Sy0k4N#TEWW%H0G>)kbWq-k z-RxY}F+rt}nlZNp@vPgJZspd#qA0-y0c+7MBlsr?OsgdlRn}wx684UCP%t&?P+VZg z2iUP**-X)@oQvI%L1q80PR9PVPSW|$GSV)nevI)8it3JP;_KCR2b8U8RJ{|x!cOJf z)t|X*qh(SJdejgnzY+n?&DBLFT2r2Ouaro@eKF5*pY>cr#sZPpow%vrYE(Wl3BhLU z-AiOG)lnP#^i>Jg!y!Gw&yeR)B>h(6Obg-t;STImNpVbxtUT&$Giv`7I;^=djC^&X z8ZRjN!om%l749!Nx!(8zx4LM4hn&%v6n%H*2n^uT2-0-#yMnXq zm)``GvEvTnT3bY?6=%vNdV8liLrx%t0iyAW7XFc3rZBN#!5LthHzox+h@e~4s) zOq|=lx0ZtxLV=>2U!lrl6Ov+;)TS1InizQJ@F}DN@%;!vK}M07jP)~E%&{Nv`2(Rm zk;(f_4$r{ogpHEctiA2l5xJhLsVI5@n*~l1$Zli_P8eCP?cb~D)Np^+FgJ-5&KIJD z!}+|)fC(E^GSa92{ryUTf(0znPBuU45OSiC4&Oo_z3j$u2^|*ink|rqu7l-7;{Vml z_&;&ERbnX!l`f4N4Zp5XJhhkX zF)#8YPXV!KGcwUrB_-%7S`G!HPex%3LmU|>)f3JO`1~E{Le}yXRq|O{hKADc@B!mB zMQqcKLj~8lBa~>o=Th6u%Ji;O;3Uwd0iY=yQ>~~40y6&}JNIH61E3F?+1U^PouO3w zSQ-h(5JEFEV3P-GHuMp7!Quxq9*rF6hVwkY-L*@fR5ZtJw@0UU^2#8r7f@17|N_zfR6>6 z5et*>si}||n@1~Pjj;-=F*O<+N)x-f{g| z2e#{2Jci8=XU9S^eEPtM@z439gj)SA(x!^vhE@(;PK?y!ZWq^zXSbudJJMECxE-&g za=-U^4ILx+tCotJBpm}&R2Ld9KrBbXN6_`fXl~m$ufkV=4ONVwZFl9=AeM4``RVy`=p|W?l&hOe#K*t}H z{44tke4qITSL=51QawxE8`6)VReoGr@2t^3ks^;82|kD$BK4sqE{BE~U?v>BYGs+` z2NcGl2J9%raaiyp1lMC|>1%=o%7rD`g$-hZXFu#$jdR*8L?-+c=l@`{S=^7>FQ)$p zH0_C(;pW$Sy8ba-Rj#O6z+9zl;$9q`k4ckEo^U>Bkt)tCGNML{!Tw)p5W*->BrRCY zZ$_yiEs)mhGs4@C>qZGu3^4HqDvhP;E5wTDt9PA8j%c7%C6ZoA5>t@47w2rChb_qn;>znOU_}yEA_z$mpRoeHDUGbT35*`XaR720H=|L5T%C?g{a34~ z0T2c7l)M_iJPdFFmSfFHiPbL}N*HY7HN7125*czTray9QlU=}p!nWc;Cm~9z)r@0A zU#DHhQDoP=mE>pGXQicCfEJb}w)e(JP(qFFKZG!&!9G05errNgKAt~~#RNJ&>nEos%JZB(NN9BO_XC#T zp@`o1khSvZuS_eyxFmqFniY<~`#iak_=VVTo7@bXO0D7!ITO`pdgdSaZVV6hQ!M#Ar)ErI_--7g{T?qFT z2C95M+g0=WhfWDgL&a_TX4CTD>~a1q8`foarZK>Ecg}_N4Ta%c13n2Vt%II}SSAKz zyIniW)F8nZa3=vt_*0gtLC%dCQB zo4fa)c9Gk#6HO2+s!%n#k-~2r=GI_Y82vQH){OtQUdG;eiY93xj7DwJ5cw%rR?*Mf zX@dG4nB=H;C7;tk->P3Tc3J!2)L>YW=vi~^2%swtqKKQ- zZKnR2S}AS77=Z#4>9P;oSf?j?rE8=Dab$f&Q+JV~cy?aDra%0wd!=Jx@BR8yh z@%Emg8+ymF&pRPg44HBNg6gfX!j}DzKzU$QJj~V>;XJxB&d6R`-9Ypsl?6Y&?FP062IZFGhZAq zIirsKrcs}8bO1bnz?_i=|I#2#sNv^aMM>a{s?qlYJ`E@kii|Ug^2jELb;3AXC<%Zg zd^aUy{nSXdn!5%77N9ll_`EOp%zj|e@(1;n@9lw0NR(Ll1aA1)ow)pehSE6#0lza~ zt$__aBNr4FfD|{{YYWp}aF79dXi{@o4fiC;X-~dVNj?ySfbj$E6^Q zrQlqcC(wk1KOJWMCF4Q9b=G&%HW6Z7OT4h4_nRFQKsO!593*(SE?8rGD*ORB>4}m+ zpf5s5SBPTwX>pEeExLDJ);A6wdX@g1wJ;sUptLRR-(1D{xKj>mb(1uScI_`$iK`BS z0E!DkXFqVUsRFQ#00k7BNU+|$J`j=4kTPZO2sl$$2@N*47->gDP~$uF%9G1m8@9d< zSuXAK$C~tQ{Ell#{iy1z?by25J?DdXL34;F$P#QOjO=g?{TARo!_ka zPz;`NfB~-L#r*_oq{XY4e>_<7gUWlcZMur^c{9*iVhzEEP%1+6BGu9?zWm~U79kUY zNdY*X&Na8p%kFsKZ^GI1>I>Byd#A@d&w|Z(Yc{X*{KtfZKSbM9cwen z@atI30`W}rH2%%W71u!b{+*O{G}YwM*&BVak^Oqz zq0=VWkAZ1W`@!csKFwQ;%S>{8n~8u6UnUKBs9cHq8`RF!_TP;b5SKmZhJeTYy$8F$ zVD*Y7@~L#)8e5kTv= zdxb=v7@cc#=x`{*O31ASQgr7Lqn!LCF;qQqq&AHA`)^-&O_h@D6=*Ov_IG&hE6hC`r9&KoD~>ewa&mO0Ju|-U>QMPxnpGAkyw^D zr8jWyR|Eg?8YYvXXuz%wSRK3IkO14+!52~r!tk+Sja7|oj_VH9&&fS<8WUTnPWc}K zIo7jJfFXNxgSNcg3rOyp zk=SrXtux!smFF~Z#T-8@GCqe(7=cqJ38W4@AV{goY$pS0}V*BA(RUd1WR zK#a*rnYuGh%poPEKeWuf(C`ct0`*`*p~y`vL74mD)U83EL#A}DC8$wrNiE=84IYSaGgscP_4TfLN) z7oL0F`dGjL-C%imLKnrxan&y`t5k$`?sE`BC_(K81$E`z-r`IfMwEHMF%1AAC11%W z#3JhjdzzzO)IF5cH24MqN=2IX{qKj3Z1jS`S%y^}KB<~8b~JqZ8+!HwBevv)hbSpy zpNTNIv7z%AgiWt5zC8k$a1KZa_Bxc_8vGnY&cM$2-Lzwxq7Zt=oYKI^jVfFaWAgi5 zn#CAq52eJ`r^>t6?f8BY?>gCpf0P!kGX$arpE9X}q=uZ6YvOqsyC?=mk1|*17L#O4 zHdt+-nSVD*2+V0PQu$v&`&Zpg?L(qSMV1RG^zQXKV48!s9C@;dgZoa)u}dE#BJn0^ z>LZOEyi)H@+ScA?2Qq&8pMEQsFy`*;pFJcgsTKUJNW>X2YKBl5F|MuM(iz&I{jEdr zlOeP}sy;j7MuezREy+Wb0N2YXgyb3q9*boIsfpZdzf)+lC799N6ai|LJ-9--dKyKJCfA+-N&G)xycV_LnrbKzCewH01T8STt3C&hpYt~xIU6v1vRTh6CleQd+NWz@y z7-Zd8sRcNN@}V@1AF?0o6M>RH2BjVa0yQH}?TTM0wLTy(Rn@0^SG6+UUI%B6+jBE0 zkn3kKRf+6nKBxmWO1IjrOul{v@$g?tn}IobR2rvc$6WJ`A#4<;irP=E9Sjmzr}N<7tBitf zC-is;H@%gOeDHT&AkRw2sIt!7M#~w=6FGgaY(ZfHhLirUth0`)s*Bn^DR7W(Y3c4R z>F!3F1Bi5kG=j8rcS?wqbccjAC`buNH_}Lb>%8B%cZ@skUydPcIP9~|+H21FJio^| z=qu25a_i@}=R#(Oa`Fk^jPU+39?C)|%j&C*9;^G_6rAb&x|Y^d`U8ABFG>KO-HXj1 z)C!XC%Cr45ZI7lP7|q&jCDO&^3Oh(sIwbW>o>eKnQ0t7PijqG+%HaAF>h3{Zx1RdK zoxvb~49GDH{|T}^o-dh-kl1_CaUUs(*^#?D+WEshld*c4T04uAW|C-y=0&QT*m$+t z(Vb&Go0B#v;g^HhPRQCukg$oQL7=5*Wlhm&@4dz=9t`z14^kMOn8Zmo5EYZ=y1P4c zWlCcWrq7q;?H(+EyHqel>1jGjFIM=9D)Ia?%JJysuq&ckv&}YNC9`(LX=TNn3L=4G zA;%?SEa_V-;9Q&?8s03$PE8Z+J@RkfM zk|*jQZ~BrnV~>$-tbHM%0H?W;M+B#ZtMT8CpI`P)kj^3(Mi#J{gZ?N?Z+DEBgw^Ae zY01)#RetJC5|6_KKtJPfWr{y14lN!1ZKUWMK z;EqrFZZnpGxnIjPmP>VhHOZg?-!Qb$dJQ=dIysQD{pVWGt*vdX9;wyr@Ip8sHWwT< zBL|Tsg61ZZ58nHq2Q3-!kN564F*j~vk!aHSiSyoBA;+9Bpa+BJbc_FoLrhU{(RZ!O z96Ls~)`_|#;wn|-2r$B6V_N{5a=I zCl7QoBt}5LM9i3fWkHtbPTI}0$}xrMn=LLaNiH&rTN0R@RFl(tsjiQc<9HP3y6CLA zG5Vh^;?h4qG3owY|Dzw^1WZ?O#cP;8uV(;DP0nJ2Fhe%&xc=)NDq=zzyf7+e^M;Tm z>Sk0v>lZXt)*DG&eEc7D-@tm`G1*dN5;U{#s(Is)M}j1*Q*yz)_f||_nBd=MS1(|l zumFcwnktc04MAqXmA55E+4)YX0hq}v?~=MQF6P#LZoMe3gd!%_Nz+*`0{5ooPp2=h zcei)<1Z$kp&w*kcgM{!K7hhAXT@RND@X?3xeRV!W{H+$$|7-?d!2xjsZZf$TK_kIN zN!~z1ckw!y{(18?+YiWc`^2z%XY4SY%(j6@=97xP+|27E zaU9$JM=%v1$vMC1@(kb;(gn^YUmIzKywMbr7$B&YtuZunis;K<(fadC194gVL^7`*)rv?ENEzGzew;=SBb*CT9b%8k9FrOut3Cf*0UtK^tMKRnN zBBNF4mjiL97i@9N%m!+69oj5=IZK#Z+u;|b_0l>c!;4E93S}=V&qadDQ612Of_0;< zXLDmInH$7E#WiW0RQ}!g6wt}OSc!laVawklBBiCc)ru{Sl7q~2KGjh1#C!T_GvUQ& z#;F;LnL`2YV>@8?Uax2AbSoTHtALnwHpI5;`M~_zpp^w0$J!OOt+gYxh9<}}(h_eY z2f=A>xpsK`(Df>13uf4?&IK3-itRNfL#B*CwW`p}yrRlV$jNcc>Ek0~)y~y12BpA{ zK`@`#Si)*_FZ(%cxK|p_myQ1hx#A{iKL6;p*mZ%uqe&CuVjcBe|AcjPcVX3^^ZR7} zB{0QF3jmnGH`di1k3mz_aIh&|-VVw-5vscWQN_1tL{{NHj5*y;<7`(OI7N}&f86BO zYvmrDP(3;P2wHV@;Lc>Hx4=*vd;H|HhXGwJWJ>vj7PzY7hLF67dx4kDHzrfFncj%@ zAt?1??~8^FtWA=8e`p3s9CGm`XQO=sb74CQo^65tQLtyl*@z-1V|8dH(}WQT3_{*Xh}J$TutvHuPxnbaCetjjN%8d5+l$@J zX`Nptq&w~LU)>M11kM?R%9(Wy#fHA^3$Y{MNLpnB*Yt7&A45B$eCdW0}073c^p0O)scU#HiiK)`Tbd13#C+WU!VQEpdxVM{zw_ievVN1d3{-3BCXrQ@Tzp~vsWmyqxen~>puzy& zkBkl5&9}y5YQ2gv9Qb%0?E;GoSRvSMPi7`*x0WCIcPp;8g{Wdv?8t@3gLYSzp7?7? z3{poIFa-v*S!|ubxVP+MJ?O}uBy$t~r*Hcwh6DQ_x3pwB?OY(MEgmb@;_e$9z!Afu zPHx~OBLJuP1>pY%6B#ec_}RQ+Wk#=?an5ysDIipL<)(RW=nuwtsdUT|L4%V`G+cj# zK|%3`8H^##fsF<9>noV_{X9G9MYyl^d%kgQ5uQ|er`5ev+vY3jT39O-Km;PKc+)NG ziJRYkKW*N9QB3x~{woMH$F-LVys6nU`6dO`ZcJ*Vj*|w@K9g#do%P5;BcI4T67zUj zday(hK9}&ko;vGM&q>8hRS66>Buop-_+hAE&M@`3QZS@&}9wYX+t-PZY` zE9T=RPpW9Q=DXDR+%&E$u|}>u14>JS@b3dSUcem1W1S)<=}zBz3%)ur@Zecjgd0km z>jc^seCN6TkK5ezal;OaK+k?{k4WY?T$}{~v$ZKna`O@`heXsp z(A$=?qsk#U!Y^nF?g@%{$$eU|#TF3cPaUqoTMDKQa68xn~;)47n z2#o|cCv|)QU$)8Ti}Q2^^HKZ3%@57`-F^s*gO(toMQ_)lpr8E)Q=4P6bnj6Lq$hEA z3Nbf~YJ`B3ES386W*7JC2vh39|1|VNzcJ4iNR@a#1_4+S@OG?EY*93kD^3|w#+UZ# z0~Je0BTp=iWJ?jL2bx8NEMu-Jq_b!kns$pvzTBbnZfS+EKcL1r=5(eEJNjkKb=(mS zD8tN~6Re6sX1yg>h`3Mu;2Zp0SbVvbE0mUDBN> zvS&7~WO~Ercr6G!%%F}$bUU;qkI*=zMY1J>ZEOeTz(`5E%;*Zjl0gcooj!LDXNOYl zb$4Q$LoztWCL$}x6g5%QzoE&=e1WW?L8G69swAKjH-5M`WSr5g3A6znezL2-q0QPh zT>&nP5<5ES^q7c0mJg2F9;lPeM0c#fIy!s~X}EKa&>I%_VzFtBJP4f&9@!&&pR8Js zS=hBuFwM}ujP$ZzXX!wPn_?cnfHudm390UFg>qq~in3>aCbyFC%Lx6qX)T9s#XyJO zV0#a$*-nU)@Wy2Lg>kjzZyCSA0Y+-`>!=I|>huS(a>Ts-1N2OMfP<4=J737rm3(`B zRj|NTc9htfIs-m z#IK`kr1Es;BeHt?hOYPnewl7@<#5!tE5M1pz8fD{=cmWysJq%CgU#nIi}HaIog-3d z%Cd*oLZ@*sMKkmIiD6=&_v;JB1r{aBQ(_XY06olh5<^KS3B>KG>A=TkHV`cNWwejV zA0A2t%9;IL1P8Av>_2^BI>|YKk5W)M&FAnu9r*Vr{T367YJMyeQF`+nICq{=to^4){m|wV{(Pw=aip^ZsuS1qooxx&-i6l z;6iAv=OQbWBM>S%%A-_zyPvxG`N<>mPDYtffn?!+l+s`HuNvo1y?d>2CUc#}xK={4 zu1`kKG3SQd7harD$6XY2TvWi#@D3S5=@P9OA-s1OUPiy3fsUeqpsx#QLRe)V=p8wW z{Tc*C1JT#_9`k>RSMR&|O%+|pjQi@b6h?if@gwM-732uIz);>|*~C(;K}zo+nqcVl?iF5r$trHWCY)ag#)5HF(J(e`Z-GWashWj`Bm0(clt)7sO0wNVli3W@XzP#FtG)28pj!CD!lbk6_hYD6 z8*x_B2OKE7O^??&9@|raGkiMke8^rllC%=^<*Noc$t*I^z)X#QKCvP<{BX!Np7(X2 z0I!F>UIXr}C8^7w*gUSk7W<6<4Xzq!+)Q7HL8x1IlT5-;vYLerho*p9U}+u^CIH2V zSq6iO{(<$Tz)n-`p6L&QKts@A;}_OO-~nB0Jus$o#*R4~SSIx)jsy_%NIq?sy)$Cgd(^Z zvitoZpVeXC8U35JKJeTz6cao@J^qc#MsCvtc|~Q-!{Y49ezkF@pk8b}@k+a=Z3XAp zbZ=xBtJ@H-^fS8#fqO^=AD)J8UufWgIQe+3)# zAbH$#-ly{9vSu8bk71M2Iq{v`5yvXXEdt_IM*~A&9v;^{^>hsqX)9H0ZZ=R^0Tjyz z{e?GJ#IVWX-86BX&l96hf0z&+EwTyyO(;FklWj^ptwhp34nxuiUM=#k5zmaaEbcq= z5n$#Nec{Mojh71-KR)XNf8OOsNmn$7Wkw>Q0P`TyvGoFw_7Mf4JaJhvz;G z{EE^9u@LYPKkMyfw5CYK(R~4gdO)+VaWyKMrlc;p?d#25_)g6f-AWED{_%x{182 zPtSgej7~7=dx;PnclIgsvRC28EWDrQwN5Xt+P3j}+ykz5HWgZWx7JD05RE2@@0YGl zGTWrDB@z*`G3A6TLzW!=*N!BMC*B{XNaJ`vJH*mzyVcr^Cb1@Gx&R5a#** z>oiYah3SwFlJNhoyl&q?M{cpM$Ogs^{ilC6??GAOw&G5K^n$AWL1Ob468;EJ7eHFVXK{l zRF&u*?5UYn?eG4anC@9$`JiA_3(Ko3N7#a)c!iBvO?3zpbn%2unde#t&Y*!t#l(H$ z+@G}GLBf7BS*{5q^IgWzuUx7y5|aR%D^JO1=W)SGqYZHC4g8xUu@i$Y)l~Ml{jg=+ zUQoqE7=@O%fNeP^=*KM4zTgZ4`nknRSyv1uaHoP!DsVvoi#x`h_2HdV6Q&LU7*y9i z1sTEb6?9I8uX0+)J*=>_Lzc^d)CQ}$?g<(T2o;mmW|wXFglb;3*z)^=@-P0}Z`HgO zN|xsk*A2lkabi20+2nz}xIS8LBS3 zI@c1YaYP3~-Mm>^g5d~JM-Tnv?gi)5(H#-Ncfu1GF_j|Dk(H-Fkys9Ttn9i>u2n6E zN^f5t3R7&L1f9CB>8N=wB0hT?`a$IOBnCbN>Dt26$Z9du>d5~oITbju$H>!txszPp zR&Lh4IT#ibeUkyuP`TM@2F4G~@`8&AOZRf$*Tjc^-=hpi`8xsLMaYHdZ}`~ZtLrkf zYWQT9ofaOOYTq1Y%us}wCe1Y(xW&(YZbTY01@tRuo`aLj{@d;;yq9rkI)?Hd@@W2kMEdIg4(_m zTqaFN!d^xUWO%>$kUyF9;=|Ac`4R`8*y8WuKB)pcSUT6F)K9a9$u(dzvpd`J?+O66 zj>OsQpsdUI^96*jG}Xc33y&JAZx#faB7Ds~ZCKVo4FM{d)2m|zHP<)DKAy^vZt*ZS zDXiK6<5V48iIL=kB7)(k^)mB}+P6)~Rcr$f@SrKP?h-Ho2t6bhTmLrvS>b}wdN5ka`gsfM zR-nKFNB5;m-nn@s@EjZk+$Sc}@Aq8+WT$Y!xv1hyOgAJvITwhhdn2i^aRiUVw9Vu< zLSYVTGY(JeXv{I;5M}a81c24K#*&E|viN6!^3h2QuefbY#qkYaYB;e`+5LVu4g_cIX$=wHG@#_&9;H^9&9lz<#O|pb)(5a|csHpk^@;p0GLy z1-kqx_EA_l$4vsedNE0?D{#sm&M=`VrW>sk-i=NK83#^a_ zhZZ$HQr5iv&2xctuLX%v2k%FY_&d;8K}tp!dG15qkDtr+Pi2zo_ICPNE_jB)P`hsx zb}Ehk=oyOlD;f{s1_TV+^ME@C1M!G%+3%tcsU5&bRgW&FF^c4;+CBL(h}dqENGg9= zT?FSTs~|aVxmnK#;>%}lE-vX>a+TD?j^Bkc6%3S~E@Ug+L}2OX;57l7?f2EkFL6L- zr)}Nxem97iKDN50`=$0+9zmE_fr6=dMD|jmd){37J#>UHOliGz?zI9 z`K@2V)>AX*b!NjPI`B%wpQIY3hnahF5^E45;g-&Yf{S{mi+F6nIz2|B-i7Czmf0fhx1K9jwZryJRI8E#-c^a|_gd ztPKiP%)EE1foJj(Pmlg6j|n-VY=OyOjcty%u_pWs)E{ryzFBe;{BHjmeTKwN1nv0A zSQAyeqI$UcmD&=TY~sTtg)tscU*L#{2U-Z0A2!h zWmrsc5Wk)yzl_<}WTP~a)_xKYX&$$KyNP?WHY+1c!gxXss52R*9E`UsUIp`sehF7eN9c%YEfZnu73^k(@dC3>GJA{xslG z+>BF!`$A${D1EGZzI-T-vjZILIg=H%1~EYZ`VyT4@t54&TMg101inszmkfh_ikRYl zR!m?fk|=-(_V@P9_CE&TNof1$b$Z+F*k!578E=uRV)VamXQVf8xN7a(kSDJ4Dx<%$ zp9SDYBU~G=H_BX~B^{h33cMdUH!zrSL1psuEyR8ujA@Qu%boweJo+%~-(4eomv4}- z+%fO}4l=<$$PdN^<6q0ZFQ0VZoahyCg>XQ(ozBo}?OYDDu*_OYd36!H-qgQOmq0!5 zuJNAAF&n!s`hX2XLhLxRZ~c=sF)TUA#t3|Pi&Eo{{nAMxzX#ab0S$)HnMa(6n4T5P zqw(fb46-;}O-}Fl-0n0B+G4O0Hbs34HF9Q1gE_YRI!dHn7I;6EzSytSN(ENy!HR9Y z{nuyb<@}AKxLY}@f!g#TFcR!>XOaCki&p)ue*JgTyf@RyUA+{Moq#5!1=vXopqH+m zcjaEdF6UV>7yziBK8-+v^Bri*x~{VICYmlOePe)+C~goqxElukV%6HnhXH51JJZ!3 zny?}N-X2EynWHm`+KwN#Y$B8lkiz=iVh#;A4gq}7+9y}Zv=cd1H0hNJ9w7MrRR^|m zEB*9~?@~OUrP|l3j-%1Eho3R7kQBz}{}h_Rwmn8dk+@NzGizz(P5s4V_4)JWAxCLe z$;YSj*P|I+b4HI#BXYT`U2~FxS=!krc^X)Ui~}KVUIZBL<>p+zP@Kx)8p49&;2~{YrEFXSIdtqC=dxitf5LxZ**|ySo~xEMYSV1{^&J z>|0EQLWV_7H4T-YZoPl5ZA15X6tLz0x2c}pV=^RiO~UNr zJjV9HL@&}Ne(B?sQML1~!Rtej~_ugn6dPhO|m zgp$2_N007q0Rd*P`!in&M|gW&u@0>b@I1CX8~)=-!XK_8b33oD@3zFPp1%7Y`&6RF z>oi**QOD;eJIh=hk89S$+^CA|;_Y*un2(=#NM5>j@~h5#0WL)Vqwn8HxxCWTvsDeh z^rN|7&vnmT_ER6cxsrB-k*k(DUh#QQ*yroz9sahvT2eO5&9 z)hpxv>=yIInTOhSFqXop>$d%)^m-8-)oiF4oD=g8cs>GtirBOEd6Aoa@-49$Z|@<% z|Lk&g7J_xZW*x&jZz~a+SzXV+Eseg*L5)V(h*%^xD&+R_p9g>*h7B1uEoU_N{wiK^ zS5>sSFy{>b0C@Q~^b0L=gq@Ps1b_j-kY#-?q;%}aD+#xRK-TKx>Yl+vm=|N$2gHXk zaJKcVNR@1a-WyQ4*j@>u08U~`#meINkvK*2xHY<9S>n$ZKx!gtW#3NgAuU`lKshER zx`K`bI16g`L1Kkd)z)V6Y4jgCHWQw1oFV~89Po)=e49zCQ0ofx7FrGJ$ej}%CT}yA zD_Yw~E6o$v4-w(G=Jfp98B-rk8Vdf1G<{d?o}9lQ@eP&y8`oCNcGuP$L)a<4Z0gBt zPDoUzGeKpxN4-<(pwZ`KvI6x+R=u<+p!G{D<}JOtL@k?GwOeC)Xx``YdOr`VYU-x< z6N~Gw6!x+fjyGq&+Ngqj7z}EiB+3%>#^%A2_=|r~eUQIOyuF8Ec)eR2y3s=#E^2P7 z8B9A<1b@_nZ?0I#uAvD{TLYN`JcEM7b|ID|;AfM9BlGL{fz9uRaF`((?25AA#h3xF zA4m%U;m_qXWg-mc3jeQ+YU^BSNy~`s+0^2zXuDq!n8vi1mPB_-Cmd{vKyHCg9Sz75 z3}zFY4(NwH*r>df{BcASM+%KPJrxbv|O33S~uNdp(N^Qm4;s(^V1IxbqPmQ=We zeOTh!BXKbRW6~2hUkc_@tSne9OwgSIt!AYP;ENw=V{21L(SAA#Fgaf*HNtoV>jmg> z%cC#G=J`lLx&Um)Q?u=D@dNeE@Y^M!?Lc03A1~?1AitT(uH?U=noZdVN-GdxQFa5; z)U2Oq+{u^ul;@gDZ}9tZ7M}Uz2_m;923>?nIm5&8Bi6uQ6P*=|v>n5M$RdA*$KyS+={Jgw$fM#B|1`l0*TPXT1*qcN*B937!5tsIPy zGPs%O_m(|Dhyn;(;T;CLsi9X@L=XN)U(RCjC#e{wI`xN3;(~&HtIG=p&9Zi)+2R@% zZQsw=cyI!lYHC9XJTzm*-LY|{;T6PN77OA8WYGXfO+`#FMzRWql%RDt-NGlSaHVw9 z@LIW@%ywCW)Qc1*ld0EA1NJDFQfmn(5nSs7iv`QE11->>jv?U51)4B(;Ag9R+584b zMp=*Mb&=mr?%(ey19{$WHxNew(+MBe#1Q>>vVbruqdu9ie5U&stfTStH#Fb-ny|V- zOXSoZx9&+Q^GSmY9nM_rRDO*IS)%@>GINy@-{VD@mNK5HCN%p^d)aBs&iz*u^bO)e zOx?sj0`*Z#CkFvRV`s5PXIN;2e0-ZFU=so9MuqC>G96B&0{`nO&hW#00oR*W)1%Va z9M;VJ&GFns*0)FPfm~#G6*o_S8`pLBH`+bA9botXF(CK)TAnReUY9QW1Y`=Z1uopS zB=p%p$}cMYFQu(PBXY?E`2;D?dK|8c0JZL5Llk2vA^;aQjG*j8+y5 z_+t0IIu2Jp#(2P9aDVi$wVW7!iVh#-Bhu4v{~no%;~2S7!EmOqwn_ru0N$gYeQjs> z$^tpOXt>Gr={6~!h~JvXsnsP5E0**2R?k5p%urkQXWAK_4gsdTo z{=$`Q+W(A1K-x?$Q5%To0D>x)lFVhmM>>7|JOB+U2%4g5>oKG+f6}2s2bX@mupi-# zMu1I|9Zxz2|Mok^s=El2IVEf@Vz4~}Bf@sZLsw}&2g8XTscRcv6&M<^S;8nWwV86Q zHI5oawJ$=BSIVA0t*a5w}6Y6&@t5^n*e6yWGK=0KRk9Afe=DB(V@kl0-RHTd3ds#(Mxn8Bv& z`X&S5TO~(7idcNF9$@&wrg*CXVjdPeS@V=U{J!v@?sX#HQa@mPb`{+w;r@zA$%Vt0zbR~a9ZY)#Z^oeh?~f@;fx^ihR{oov zYSz@AmO_5;F;Y72loCcoH<3+?YkdnL)~xWfvs?s@9B*zIE>K?m+8Ez+^XtR{t5zPk zfu*y;`t2?%wSage)>y~>GY0fIfV0ymx3j2cQ0Ai)E+Cn7U9LmK-|3L6gZnW?k!%K)VD;?m;sz97Pz7xi6b<&0SfyJdBz z@LeG)xXkxd_-`&U@7JQd<{X;!q;h0{k_i|MHdwqBywcBqo@%4QWcmqb6DAAbvkwe< z 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 literal 0 HcmV?d00001 diff --git a/resources/onprem/certificates/lets-encrypt.png b/resources/onprem/certificates/lets-encrypt.png new file mode 100644 index 0000000000000000000000000000000000000000..9963960fd99881db8598857389cd15e7d2d33799 GIT binary patch literal 5160 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 Date: Wed, 16 Sep 2020 16:17:36 +0200 Subject: [PATCH 24/71] Chat services : Rocketchat, Mattermost and Microsoft Teams (#268) * Add: SAAS Chat services Signed-off-by: Nicolas Lamirault * Fix: RocketChat name Signed-off-by: Nicolas Lamirault * Add: RocketChat image Signed-off-by: Nicolas Lamirault --- diagrams/saas/chat.py | 12 ++++++++++++ docs/nodes/saas.md | 3 +++ resources/saas/chat/mattermost.png | Bin 0 -> 7611 bytes resources/saas/chat/rocket-chat.png | Bin 0 -> 18207 bytes resources/saas/chat/teams.png | Bin 0 -> 6982 bytes 5 files changed, 15 insertions(+) create mode 100644 resources/saas/chat/mattermost.png create mode 100644 resources/saas/chat/rocket-chat.png create mode 100644 resources/saas/chat/teams.png diff --git a/diagrams/saas/chat.py b/diagrams/saas/chat.py index ebdf0532..6ee66155 100644 --- a/diagrams/saas/chat.py +++ b/diagrams/saas/chat.py @@ -8,10 +8,22 @@ class _Chat(_Saas): _icon_dir = "resources/saas/chat" +class Mattermost(_Chat): + _icon = "mattermost.png" + + +class RocketChat(_Chat): + _icon = "rocket-chat.png" + + class Slack(_Chat): _icon = "slack.png" +class Teams(_Chat): + _icon = "teams.png" + + class Telegram(_Chat): _icon = "telegram.png" diff --git a/docs/nodes/saas.md b/docs/nodes/saas.md index 607fa09c..0ffff416 100644 --- a/docs/nodes/saas.md +++ b/docs/nodes/saas.md @@ -22,7 +22,10 @@ Node classes list of saas provider. ## saas.chat +- **diagrams.saas.chat.Mattermost** +- **diagrams.saas.chat.RocketChat** - **diagrams.saas.chat.Slack** +- **diagrams.saas.chat.Teams** - **diagrams.saas.chat.Telegram** ## saas.identity diff --git a/resources/saas/chat/mattermost.png b/resources/saas/chat/mattermost.png new file mode 100644 index 0000000000000000000000000000000000000000..a308a6487254aa94f32e9cc966837247e8e3b1e7 GIT binary patch literal 7611 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 V0zy3dDM$bSrgvAjTE{W^{{WhpSF!*A literal 0 HcmV?d00001 From bb8d0df199769dedba51c75552fec2d5b4f9aa39 Mon Sep 17 00:00:00 2001 From: Daniils Petrovs <5202322+DaniruKun@users.noreply.github.com> Date: Thu, 17 Sep 2020 15:27:30 +0300 Subject: [PATCH 25/71] Add Erlang and Elixir icons (#275) * Add Erlang and Elixir icons * Update Elixir logo with clean one * Update logo again with higher dpi ver Co-authored-by: Daniils Petrovs --- diagrams/programming/language.py | 8 ++++++++ docs/nodes/programming.md | 2 ++ resources/programming/language/elixir.png | Bin 0 -> 31570 bytes resources/programming/language/erlang.png | Bin 0 -> 10277 bytes 4 files changed, 10 insertions(+) create mode 100644 resources/programming/language/elixir.png create mode 100644 resources/programming/language/erlang.png diff --git a/diagrams/programming/language.py b/diagrams/programming/language.py index 36c3d4c0..7dc4da95 100644 --- a/diagrams/programming/language.py +++ b/diagrams/programming/language.py @@ -28,6 +28,14 @@ class Dart(_Language): _icon = "dart.png" +class Elixir(_Language): + _icon = "elixir.png" + + +class Erlang(_Language): + _icon = "erlang.png" + + class Go(_Language): _icon = "go.png" diff --git a/docs/nodes/programming.md b/docs/nodes/programming.md index 60c8a0e3..86c07b70 100644 --- a/docs/nodes/programming.md +++ b/docs/nodes/programming.md @@ -26,6 +26,8 @@ Node classes list of programming provider. - **diagrams.programming.language.Cpp** - **diagrams.programming.language.Csharp** - **diagrams.programming.language.Dart** +- **diagrams.programming.language.Elixir** +- **diagrams.programming.language.Erlang** - **diagrams.programming.language.Go** - **diagrams.programming.language.Java** - **diagrams.programming.language.Javascript**, **JavaScript** (alias) diff --git a/resources/programming/language/elixir.png b/resources/programming/language/elixir.png new file mode 100644 index 0000000000000000000000000000000000000000..86e7bddde8cb0ecd3d28a9cca1b10fb61dfb324f GIT binary patch literal 31570 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 c|3ARN_J2Rn`-uUFs|JDOq?9G=#Z5#04FAXgh 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 L7^*j_qT~Jt7z@EC literal 0 HcmV?d00001 From 8fc555825694e5c6302453b58c0ec11592e6ca72 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Lionel=20F=C3=89LICIT=C3=89?= Date: Fri, 18 Sep 2020 13:13:51 +0200 Subject: [PATCH 26/71] [Resources] generic: add subnet (#285) --- diagrams/generic/network.py | 4 ++++ docs/nodes/generic.md | 1 + resources/generic/network/subnet.png | Bin 0 -> 1225 bytes 3 files changed, 5 insertions(+) create mode 100644 resources/generic/network/subnet.png diff --git a/diagrams/generic/network.py b/diagrams/generic/network.py index 7b9a9ee0..40367ef0 100644 --- a/diagrams/generic/network.py +++ b/diagrams/generic/network.py @@ -16,6 +16,10 @@ class Router(_Network): _icon = "router.png" +class Subnet(_Network): + _icon = "subnet.png" + + class Switch(_Network): _icon = "switch.png" diff --git a/docs/nodes/generic.md b/docs/nodes/generic.md index 785e1410..8e4249a1 100644 --- a/docs/nodes/generic.md +++ b/docs/nodes/generic.md @@ -26,6 +26,7 @@ Node classes list of generic provider. - **diagrams.generic.network.Firewall** - **diagrams.generic.network.Router** +- **diagrams.generic.network.Subnet** - **diagrams.generic.network.Switch** - **diagrams.generic.network.VPN** diff --git a/resources/generic/network/subnet.png b/resources/generic/network/subnet.png new file mode 100644 index 0000000000000000000000000000000000000000..2808968edcf91cec88a2c6ee3e8bcfff10088e8d GIT binary patch literal 1225 zcmeAS@N?(olHy`uVBq!ia0y~yU<5K5893O0R7}x|G$6%U;1OBOz@VoL!i*J5?aP3I z>?NMQuIx`Z1x2)Ur|Mhz0fi(>Tq8=H^K)}k^GX<;i&7IyQd1PlGfOfQ+&z5*!W;R- z85mfcJzX3_DsH{K8(GwBAmHHW^7CJKSY5E5P_lr*te18UNfRnNj$WvG&mC|%OSFN3 zfr){GL4koh#sS0i%k3Sq&uZwLp7d4s>@o9iKi2J&F%vl*QXXr;!tk6y01vkU4^Mk_#`}tgfZy2Q_#jpKfle=&F zYWm^@c{6+Rk4iEazdL7h?~Elwb^EN>DbJ7P*QiIR`!OY*&quY@?~8Qfrr6@5+&e#J zF=F*O&!lHF8}`cY=KlO$IIr(t@80_PhRJ1RHTxwe=i5E*NzP?s;A2F0szRelIaA*b z?$fc=pL=J1G-XEi$qk{uMhnVcJ{7C0*&J_W!pzXlu%USRUEfnI41xzN8C({;+PIma zfK!?eZ0;ns1>f`5?Ji_Vi2T&`W3D+fgE52amg8G|MEAeeJ!N{A{d`?{{Ea)e?@fLz z{dZoc!F0y?QGxIE`}h1xT^OijeR+Hx6ZJ^1r|6OqjxX%Ld8s4hd`uObQI5 z%l{`eID>+^ouTjVL8M^scyTG7*{_K0?s~@J*;zI3{~f#(Rr9z#qWa0~?b7WG4`iSz zq@e4#zT=;_&!%Q3_I3O?v*UZZa9`BCuJgw~`yAkZt$rc6v6oNs`-_F^+t-`bt@wSn zOh|yM+J@oVzZt9|d=1x|AKC!zUy#LchH1n1`WGLLY`u89kJ-6KzP^5mf^>&|JJ@lI z4DTKuRcP$7kn8&r&EVf^#H`>U;lQAl>feQuT5FE?I+)+6mdyY1bl?Af_g4IWD#vQf zkauT=t~@YJH|$;f)CHEP9vFXTyt6+2j|{sXi&b$3Tf*b*dZ0A-=HnV+v_#hse1}WM zd)w{g*yq5&N0S6c{EnXJM#-etx(DMV(@>Jv=G(iN8W?UE Date: Sat, 26 Sep 2020 02:33:02 -0500 Subject: [PATCH 27/71] add opnsense as an onprem component (#288) * add opnsense as an onprem component * follow prescripted contribution methodology --- config.py | 1 + diagrams/onprem/network.py | 4 ++++ docs/nodes/onprem.md | 1 + resources/onprem/network/opnsense.png | Bin 0 -> 5770 bytes 4 files changed, 6 insertions(+) create mode 100644 resources/onprem/network/opnsense.png diff --git a/config.py b/config.py index 4d31677b..b694f4eb 100644 --- a/config.py +++ b/config.py @@ -125,6 +125,7 @@ ALIASES = { "Etcd": "ETCD", "Haproxy": "HAProxy", "OpenServiceMesh": "OSM", + "Opnsense": "OPNSense", "Pfsense": "PFSense", "Vyos": "VyOS" }, diff --git a/diagrams/onprem/network.py b/diagrams/onprem/network.py index 9ea63186..ec7bb811 100644 --- a/diagrams/onprem/network.py +++ b/diagrams/onprem/network.py @@ -60,6 +60,10 @@ class OpenServiceMesh(_Network): _icon = "open-service-mesh.png" +class Opnsense(_Network): + _icon = "opnsense.png" + + class Pfsense(_Network): _icon = "pfsense.png" diff --git a/docs/nodes/onprem.md b/docs/nodes/onprem.md index 62ec53ad..bc23de7e 100644 --- a/docs/nodes/onprem.md +++ b/docs/nodes/onprem.md @@ -141,6 +141,7 @@ Node classes list of onprem provider. - **diagrams.onprem.network.Nginx** - **diagrams.onprem.network.Ocelot** - **diagrams.onprem.network.OpenServiceMesh**, **OSM** (alias) +- **diagrams.onprem.network.Opnsense**, **OPNsense** (alias) - **diagrams.onprem.network.Pfsense**, **PFSense** (alias) - **diagrams.onprem.network.Pomerium** - **diagrams.onprem.network.Tomcat** diff --git a/resources/onprem/network/opnsense.png b/resources/onprem/network/opnsense.png new file mode 100644 index 0000000000000000000000000000000000000000..952102b653e76ce9b2a2868b03b55c28cc87ac23 GIT binary patch literal 5770 zcmd^D_ct4E)K7J3m2}yoMNt{H7%^)^?5*||M1~ThwpgvAs2VlCrPS^)Vk_F_t7;WR z6O}Z!8m+xw-}Aoz#e2`W=lOg-=RD{Ba_>FQ=Xqpmj9|UYa~S{tup;%e%}>u=0N@OO z`RpmGXg1h8B{4o)TBZT!h4}!JLZj#l#{$0~ehd`XV zeRYX>6L*DKMSPz8Mayoq<(kPdwti-MRQa)sz#^f$EE6DfY0|T5NcAJuk$^%4`3xme zz~Fr3n(FJY!Sg1N60iQhw><)$UrUM0TFkXA{hRBX=Pjynw>EE|_VFW^$OM(pRg ze7n-YBXk2xUd27zto7(h-skH{>l2Sl;cZart1<>l_v`LREs49~%L|vXo%xKL4`<(A zOJ<9Ct$81L^y{Of^@y(ZeJA5ESY0*8Dx>X{ai5WqzTXYpr#t#_QkP4v$Z98H_dVH= z!4DTQ*hT&l)%O?>WG$#}0CXYwm7Y7DlVDqkzMff(mXWDeK02Y;$WBri)^Av}K4oG$ z2^zB;GYXi4jiJU31T7*i*+DvL5wQPLXBy(WazL|Btm`X&J`uCQ>K!`7&^<)_eH@m7 z3{j2Q=k{(($WtPr;v-Vm1RF)23FlkGhQ#M1Hm2L}d$S^$u&)7tvj9^=OPw#C!r@_I z4<9~Mm4%Gp#d33Vlai7?Tk&aYXbj^(Q2;=4aXHFBp@JwfI&GrI_Br++o^+x@S=i(f;BiTdwcst z3rQRf_XPu%mX?OY;c9AXx^TH(KX4?*Ejv4#XaY7+l|2m%21CR+mAgQT9U&GPvZ^X7 zSy@@);^IL;LCrXLEY{_;5mglB9PI7WF_wP1U@}hT9ai1O+B(@BJc1W@)&!3{5YDg$ zx1+$7Sgml3`!GhV9;eo+4j90K-@Aj8%)rAKkh~P+s~5mk6P#uVZt?_cD#`X^!L_d7 zI8(5*wv4PK#8CrW?+#ADI8-@(G2|74gANUS68Dq^GB69LA}}6`W-&(c=U5(U&9PRA1Oj7^%s=!)anM7$YQ74}rL+uBM}{ zt)!%6YGMMDm6n7;-uS8MBas&7=E@3k@o{mbj^L!k#88Zf`#o@=KG;G9tRe$OsL1u= zr2`G6-E?JAQc@Z{z*E6OO*j=FAD@Vbh+gG3pN*!GlLIcgAsI-!ONF zv0@__u^*T_-_dvF<>fn_Z;fHZ2mM9F#Kg2THT%$FX=t-gIN1gdXuP>33Ly;!gI%}Nm5e{tQk+S|tj(09gGW<^rlLxhZois4Uqj^KhyxnJe>N6d;K3r?RHCJT)fA zA{-Iqx^cQ$_V6CpdU;jS?J!;e!ZkAwlb(`V!3-DrF{fAUvT09=gk_-VdONKw9^qKF zJJeNDD-*X#k5FV1Af&s#0K zNRzXGd=e}Wt3pMj@o4jcVAt4&OD+s2Jmv@N4E--)4*p-o=nQGmjOeZPX@FGz6WV@E zyD8LSpjm%1+pRx(C$IWW`H!gwky?UDg?xp4i;?>=?nIx*qAm2UwG6Su(u#7|87hRe zjB|0Ka2k0jL$WN&xpK7lyQ_tGjR@yP^2erB!e%yxc(H7J?sLbtEN zC7`j%S6z&@hi8x$rSU8cdY#W;T!8t)1r}O@cJ|8b=j#f;7v!$<1(_dnWK81RH)rV6 zgliGA-4z8oDD*3L_eeV16wc-w0{i#}+RM}9`ddvi!UbZh=YlYxkM7Pr2nI3<*x}-hi{_)^pyHQ94FY+J`@x_ z2W@$2ETyoI4(aWB3zb|*8Lu{B4}RnbJhRHJ-fW#;iMy!N|5bl<-R)iAZJTmjCiO?o zR=RNOt3sBY86?zQL#RkFt&U z_`BpAAG%2K%{|Kn3r(`?108$$KCs{Af0tM+7#Vc07~Zs}l^cDt%Es8*HL>O9(T>0c zeiFh6_XL$UXV=l5vKZR#kXx09eV%F%qjyDLi_}%;lbBkV+yw?Mv2J`WG z)e0P1FSPERin{NO`$5ej=#MGW(*?dU&`|Hiu$L;v6- z-qL%ud#L5<>V5k0< z78@nDdb8vtWS*W_c=+cf;#MYYKa{Ssn7T2YCg~WuIFD;{!|KgRQ>kB`Om3}hQ4i_- zFY)+uaQPxMkC>rRHZ^Z#mwZcYgNRyFzG<@>Zglr>@VyZEjY=?O<4qF}mcQ3A>U+?7 zZs^8aiF395UEBShOP{;?azl2ePlI~qS5!}unmHvo)U2{$~Go1Rt} zwzWl(wr|?vT$zAb=W#GOI~Z8Kr>r_Qg+XPbI@S*{gAuiLo+2Dkw2%hoUP^T5;ka16 z-{-7}mlMrI6t=$2nm4a-gnMPpx3r$379Jc}38=Z>5kJ*-v}H5M+AA84yudH%^x($A z&Qg*e#@E^2A7jPyaIGD|R_Jp}1jKXjr(f``AWxO@Y>ziR8};kYuBYuIbh33S`4$~& z5v~^IrngKg=HgFFP5{4uXPCW-i9jcl4F5E%lw{vYWLB^ifxe*e;$FIyEbvSJ;OB5? zq`k0fgtf-h2HU0S0MBD^otk;xgVE>))x%@GU$o@8Iu~?`zzi-ly-@09pO! zX3sF?+A%Q;wft)WnJY$Ls1u>fSXt{5b{v`E+Liq^-p}w7Y+G-E!zKYPAVeMeW7PB0 zzh%U$)SW*Kyv+m)TD>;J9@VM!JETuw!lC;I){!zC!|#Avyj(oJnmUr&vyQD`sfE%7 zS=o+NM$B50K_$w@>eojoA3698Uv{N%^D9@yDiv~sb${`SjB=Q6+M0!XHoC zyvZi~g3%3_ufOl~_|tQ~{j!d16o0C#TX-kC7i^sU8k=LX(fCe~zIUMH2t#2$=)-9?qTKXo1&_atHw>LZ&+%J$i5M9rUfgay&HYS_B8h3UzcQTs1BIfrvES~ccLXhIEh#-3o7CGW29i{keRorI_rFvdg zsN!=Z*iz*hNAPp0eM8f?o3bUYq}CSHxSMj(JDMZ#3XV7VjQpzTPxuqT8r}RYw-w6* zpC|0~oI@C<#@Po-`F~C#vZ&o*t!@>uG~Idp^|0nwwn_aT?rWy6 zZoE#54K}Lf8=c?)W>cxI4C27Ku8rg#g(uSpm*p{s)~y;zwQ&=Vf#Y`2WeFttB-k4n zx@lkLY!f0Z&`r*#}q zUv##YS5{TFKf5OGJfWT=x0-in&O)=ASMkn86G!jp(3IQ=bxo^Dw9O!2oBc845ePC* zBtqwQCyUxb*L3=l-4%32#%ZC*OD?KTg&w6S~ip^I{{d^H^ss6f)S*SxGbrXjKaCcOu&ihsfL5 zQEcNz)Tm>4;l(L)rX{-$XwCg)lW?s8hz%7v?>gyRc9Yf4UiJAIo7H!Q8?tcvKFTT8e zq1-OnrNJfNTke5ysgPuNV54;qX3{%E_+89#pt&?fQD&Lpk%QQ22vX=y&py|H*pzgWdI{Ji^L2%f9iHQr#G*mhgs4)@fPE>|QUa&52_| zBk$6q7-B#?{fM3Msz1EUZHFpuXVurR2fA@+zEl>UPk+>w-vno(7+HnV zRJpI9+aL{dDpijWpQ^6&hx-e&SjoUWc7+tvvSca=msj$8x;OP7^B8B2;sNk*#eV{T z{U@!ZRFav8zBfxYufWV)Ei+pv&noI(KK`S)mEv#f`@w?0VuZ1bs{*`tk_OySi6vO) zYh^!@)*I`((@87L1*}3j1I$3YtnmQX%Ro`Zzd<4eZbar+vLA*?K8v?o*+cH5o?7$_ zlfa7*UTw<}ae5A=J}{qED8cwVd8$zKda%Kj0;befRU=Ekr`wA$>*3M%=ZIn}--xs` zSk23|^$4+^4G)sWc^jsMkK_#6oXR zF!Y+ecWqBVwQ=!mj31@I3I6=;#MEd2VEot~d2{^R=4Q<8##!T4J!H?SJYO9%i zOJ4%dwWf$zYW1Ma>I6gj%V9Zc8g8wUU$whii|6l#NEI+U2dZ*+bqi;g(9Z-4Q8)Om zoL!48WYDygF0Do^A)^rxayK%Nsco#7i1-=6#Aib8w#O%}>&&?b*+oqG!KmS?Xo-pzMv$_!>lBK77=K`O9v-N-G_ck9v zbIvJRSW Date: Sun, 27 Sep 2020 15:22:57 +0200 Subject: [PATCH 28/71] docs(contributing): trying to ease the flow for newcomers (#286) * [CONTRIBUTING] Add non specified dependencies Missing infos when I tried to contribute * Revert "[CONTRIBUTING] Add non specified dependencies" This reverts commit 75c9cf8e2b5d85072a10f8ef53fc23ec811c29cd. * [DOC] remove extra spaces * [DOC]Add link between contribute and development docs Try to lead newcomer into the "prefered" way * [DOC] fix typos * improve the reading by taking @mingrammer's hints --- CONTRIBUTING.md | 13 +++++++++++-- DEVELOPMENT.md | 4 ++-- 2 files changed, 13 insertions(+), 4 deletions(-) diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 22aa1475..6a8922fd 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -3,6 +3,10 @@ You shouldn't edit the node class files (all files under `diagrams/` directory) by yourself. +## Set up your environment + +* See [DEVELOPMENT][DEVELOPMENT.md] + ## Resources ### Update nodes @@ -24,14 +28,17 @@ convert -resize 256 my_big_image.jpg my_image.jpg ffmpeg -i my_big_image.jpg -vf scale=w=256:h=256:force_original_aspect_ratio=decrease my_image.png ``` -Then just run the `./autogen.sh` to generate the added or updated node classes. +Then just run the `./autogen.sh` to generate the added or updated node classes. (cf. [DEVELOPMENT][DEVELOPMENT.md]) > IMPORTANT NOTE: To run `autogen.sh`, you need [round][round] and > [inkscape][inkscape] command lines that are used for cleaning the image > resource filenames. > > macOS users can download the inkscape via Homebrew. +> +> Or you should use the docker image. +[DEVELOPMENT.md]: ./DEVELOPMENT.md [round]: https://github.com/mingrammer/round [inkscape]: https://inkscape.org/ko/release @@ -44,11 +51,13 @@ from `ALIASES` map in [config.py](config.py). So, if you want to add new aliases or update existing aliases, you can just add or update the `ALIASES` map in [config.py](config.py). -Then just run the `./autogen.sh` to generate the added or updated aliases. +Then just run the `./autogen.sh` to generate the added or updated aliases. (cf. [DEVELOPMENT][DEVELOPMENT.md]) > IMPORTANT NOTE: To run `autogen.sh`, you need [round][round] and > [inkscape][inkscape] command lines that are used for clearning the image > resource filenames. +> +> Or you should use the docker image. ## Run Tests diff --git a/DEVELOPMENT.md b/DEVELOPMENT.md index 8abd48a7..2ff14060 100644 --- a/DEVELOPMENT.md +++ b/DEVELOPMENT.md @@ -7,11 +7,11 @@ You should have docker installed in your system, if not click [here](https://doc 1. Go to diagrams root directory. 2. Build the docker image. - + ```shell docker build --tag diagrams:1.0 -f ./docker/dev/Dockerfile . ``` - + 3. Create the container, run in background and mount the project source code. ```shell From b4f68e454883acbe0231a49657f136b0e0178a31 Mon Sep 17 00:00:00 2001 From: MinJae Kwon Date: Sun, 27 Sep 2020 23:07:46 +0900 Subject: [PATCH 29/71] docs(readme): list Go porting version --- README.md | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/README.md b/README.md index d70cee0b..3d690be8 100644 --- a/README.md +++ b/README.md @@ -78,6 +78,10 @@ To contribute to diagram, check out [contribution guidelines](CONTRIBUTING.md). [Airflow Diagrams](https://github.com/feluelle/airflow-diagrams) is an Airflow plugin that aims to easily visualise your Airflow DAGs on service level from providers like AWS, GCP, Azure, etc. via diagrams. +## Other languages + +- If you are familiar to Go, you can use [go-diagrams](https://github.com/blushft/go-diagrams) as well. + ## License [MIT](LICENSE) From 8673c0df2b82459d3c5a56d387f656d503c43fdb Mon Sep 17 00:00:00 2001 From: bemanuel Date: Tue, 29 Sep 2020 04:33:59 -0300 Subject: [PATCH 30/71] feat(nodes): pve lxc java dns zabbix (#291) * Including Zabbix on Monitoring Group * Zabbix implementation * Added LXC on Container * Error typo * Alias PVE-Proxmox * Including Proxmox, CEPH, GlusterFS * New Application Servers - JBoss,Tomcat,Jetty,Glassfish * Java App Server - WildFly by RH * Autogen Changes of App Servers * DNS Services OnPremise * Inclusion UPPER_WORDS * Container and OnPremise changed after autogen.sh * Outscale after autogen * Removed duplication * Refactor #291 --- config.py | 13 +++++++++++- diagrams/onprem/container.py | 5 +++++ diagrams/onprem/monitoring.py | 4 ++++ diagrams/onprem/network.py | 28 +++++++++++++++++++++++++ diagrams/onprem/proxmox.py | 17 +++++++++++++++ diagrams/onprem/storage.py | 19 +++++++++++++++++ docs/nodes/onprem.md | 19 +++++++++++++++++ resources/onprem/container/lxc.png | Bin 0 -> 26354 bytes resources/onprem/monitoring/zabbix.png | Bin 0 -> 21120 bytes resources/onprem/network/bind-9.png | Bin 0 -> 12580 bytes resources/onprem/network/glassfish.png | Bin 0 -> 19706 bytes resources/onprem/network/gunicorn.png | Bin 0 -> 11788 bytes resources/onprem/network/jbossas.png | Bin 0 -> 12040 bytes resources/onprem/network/jetty.png | Bin 0 -> 18142 bytes resources/onprem/network/powerdns.png | Bin 0 -> 5484 bytes resources/onprem/network/wildfly.png | Bin 0 -> 14382 bytes resources/onprem/proxmox/pve.png | Bin 0 -> 10193 bytes resources/onprem/storage/ceph-osd.png | Bin 0 -> 23920 bytes resources/onprem/storage/ceph.png | Bin 0 -> 15385 bytes resources/onprem/storage/glusterfs.png | Bin 0 -> 38742 bytes scripts/resource.py | 2 +- 21 files changed, 105 insertions(+), 2 deletions(-) create mode 100644 diagrams/onprem/proxmox.py create mode 100644 diagrams/onprem/storage.py create mode 100644 resources/onprem/container/lxc.png create mode 100644 resources/onprem/monitoring/zabbix.png create mode 100644 resources/onprem/network/bind-9.png create mode 100644 resources/onprem/network/glassfish.png create mode 100644 resources/onprem/network/gunicorn.png create mode 100644 resources/onprem/network/jbossas.png create mode 100644 resources/onprem/network/jetty.png create mode 100644 resources/onprem/network/powerdns.png create mode 100644 resources/onprem/network/wildfly.png create mode 100644 resources/onprem/proxmox/pve.png create mode 100644 resources/onprem/storage/ceph-osd.png create mode 100644 resources/onprem/storage/ceph.png create mode 100644 resources/onprem/storage/glusterfs.png diff --git a/config.py b/config.py index b694f4eb..7b50ad6e 100644 --- a/config.py +++ b/config.py @@ -66,9 +66,10 @@ UPPER_WORDS = { ), "oci": ("oci", "ocid", "oke", "ocir", "ddos", "waf", "bm", "vm", "cdn", "vpn", "dns", "nat", "dms", "api", "id"), "elastic": ("apm", "siem", "ece", "eck"), - "generic": ("vpn", "ios", "xen", "sql"), + "generic": ("vpn", "ios", "xen", "sql", "lxc"), "outscale": ("osc",), "openstack": ("rpm", "loci", "nfv", "ec2api"), + "pve": ("pve"), } TITLE_WORDS = { @@ -99,6 +100,7 @@ ALIASES = { "Zuulci": "ZuulCI", }, "container": { + "Lxc": "LXC", "Rkt": "RKT", }, "database": { @@ -129,11 +131,20 @@ ALIASES = { "Pfsense": "PFSense", "Vyos": "VyOS" }, + "proxmox": { + "Pve": "ProxmoxVE", + }, "queue": { "Activemq": "ActiveMQ", "Rabbitmq": "RabbitMQ", "Zeromq": "ZeroMQ", }, + "storage": { + "ceph": { + "CEPH": "ceph", + "Ceph-OSD": "CEPH-OSD" + } + }, "workflow": { "Kubeflow": "KubeFlow", "Nifi": "NiFi", diff --git a/diagrams/onprem/container.py b/diagrams/onprem/container.py index 4f3161fb..de049421 100644 --- a/diagrams/onprem/container.py +++ b/diagrams/onprem/container.py @@ -12,10 +12,15 @@ class Docker(_Container): _icon = "docker.png" +class Lxc(_Container): + _icon = "lxc.png" + + class Rkt(_Container): _icon = "rkt.png" # Aliases +LXC = Lxc RKT = Rkt diff --git a/diagrams/onprem/monitoring.py b/diagrams/onprem/monitoring.py index bd690f5a..4d90d85d 100644 --- a/diagrams/onprem/monitoring.py +++ b/diagrams/onprem/monitoring.py @@ -36,4 +36,8 @@ class Thanos(_Monitoring): _icon = "thanos.png" +class Zabbix(_Monitoring): + _icon = "zabbix.png" + + # Aliases diff --git a/diagrams/onprem/network.py b/diagrams/onprem/network.py index ec7bb811..46879804 100644 --- a/diagrams/onprem/network.py +++ b/diagrams/onprem/network.py @@ -12,6 +12,10 @@ class Apache(_Network): _icon = "apache.png" +class Bind9(_Network): + _icon = "bind-9.png" + + class Caddy(_Network): _icon = "caddy.png" @@ -28,6 +32,14 @@ class Etcd(_Network): _icon = "etcd.png" +class Glassfish(_Network): + _icon = "glassfish.png" + + +class Gunicorn(_Network): + _icon = "gunicorn.png" + + class Haproxy(_Network): _icon = "haproxy.png" @@ -40,6 +52,14 @@ class Istio(_Network): _icon = "istio.png" +class Jbossas(_Network): + _icon = "jbossas.png" + + +class Jetty(_Network): + _icon = "jetty.png" + + class Kong(_Network): _icon = "kong.png" @@ -72,6 +92,10 @@ class Pomerium(_Network): _icon = "pomerium.png" +class Powerdns(_Network): + _icon = "powerdns.png" + + class Tomcat(_Network): _icon = "tomcat.png" @@ -84,6 +108,10 @@ class Vyos(_Network): _icon = "vyos.png" +class Wildfly(_Network): + _icon = "wildfly.png" + + class Zookeeper(_Network): _icon = "zookeeper.png" diff --git a/diagrams/onprem/proxmox.py b/diagrams/onprem/proxmox.py new file mode 100644 index 00000000..64fc4f44 --- /dev/null +++ b/diagrams/onprem/proxmox.py @@ -0,0 +1,17 @@ +# This module is automatically generated by autogen.sh. DO NOT EDIT. + +from . import _OnPrem + + +class _Proxmox(_OnPrem): + _type = "proxmox" + _icon_dir = "resources/onprem/proxmox" + + +class Pve(_Proxmox): + _icon = "pve.png" + + +# Aliases + +ProxmoxVE = Pve diff --git a/diagrams/onprem/storage.py b/diagrams/onprem/storage.py new file mode 100644 index 00000000..49d9556f --- /dev/null +++ b/diagrams/onprem/storage.py @@ -0,0 +1,19 @@ +# This module is automatically generated by autogen.sh. DO NOT EDIT. + +from . import _OnPrem + +class _Storage(_OnPrem): + _type = "storage" + _icon_dir = "resources/onprem/storage" + + +class CephOsd(_Storage): + _icon = "ceph-osd.png" +class Ceph(_Storage): + _icon = "ceph.png" +class Glusterfs(_Storage): + _icon = "glusterfs.png" + +# Aliases + +{'CEPH': 'ceph', 'Ceph-OSD': 'CEPH-OSD'} = ceph \ No newline at end of file diff --git a/docs/nodes/onprem.md b/docs/nodes/onprem.md index bc23de7e..a519be55 100644 --- a/docs/nodes/onprem.md +++ b/docs/nodes/onprem.md @@ -56,6 +56,7 @@ Node classes list of onprem provider. ## onprem.container - **diagrams.onprem.container.Docker** +- **diagrams.onprem.container.Lxc**, **LXC** (alias) - **diagrams.onprem.container.Rkt**, **RKT** (alias) ## onprem.database @@ -125,17 +126,23 @@ Node classes list of onprem provider. - **diagrams.onprem.monitoring.Sentry** - **diagrams.onprem.monitoring.Splunk** - **diagrams.onprem.monitoring.Thanos** +- **diagrams.onprem.monitoring.Zabbix** ## onprem.network - **diagrams.onprem.network.Apache** +- **diagrams.onprem.network.Bind9** - **diagrams.onprem.network.Caddy** - **diagrams.onprem.network.Consul** - **diagrams.onprem.network.Envoy** - **diagrams.onprem.network.Etcd**, **ETCD** (alias) +- **diagrams.onprem.network.Glassfish** +- **diagrams.onprem.network.Gunicorn** - **diagrams.onprem.network.Haproxy**, **HAProxy** (alias) - **diagrams.onprem.network.Internet** - **diagrams.onprem.network.Istio** +- **diagrams.onprem.network.Jbossas** +- **diagrams.onprem.network.Jetty** - **diagrams.onprem.network.Kong** - **diagrams.onprem.network.Linkerd** - **diagrams.onprem.network.Nginx** @@ -144,11 +151,17 @@ Node classes list of onprem provider. - **diagrams.onprem.network.Opnsense**, **OPNsense** (alias) - **diagrams.onprem.network.Pfsense**, **PFSense** (alias) - **diagrams.onprem.network.Pomerium** +- **diagrams.onprem.network.Powerdns** - **diagrams.onprem.network.Tomcat** - **diagrams.onprem.network.Traefik** - **diagrams.onprem.network.Vyos**, **VyOS** (alias) +- **diagrams.onprem.network.Wildfly** - **diagrams.onprem.network.Zookeeper** +## onprem.proxmox + +- **diagrams.onprem.proxmox.Pve**, **ProxmoxVE** (alias) + ## onprem.queue - **diagrams.onprem.queue.Activemq**, **ActiveMQ** (alias) @@ -166,6 +179,12 @@ Node classes list of onprem provider. - **diagrams.onprem.security.Trivy** - **diagrams.onprem.security.Vault** +## onprem.storage + +- **diagrams.onprem.storage.CephOsd** +- **diagrams.onprem.storage.Ceph** +- **diagrams.onprem.storage.Glusterfs** + ## onprem.vcs - **diagrams.onprem.vcs.Git** diff --git a/resources/onprem/container/lxc.png b/resources/onprem/container/lxc.png new file mode 100644 index 0000000000000000000000000000000000000000..66182e6c947e83ff4458393dd1185771087fc5c0 GIT binary patch literal 26354 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 MM&^cf`p($@0j8+t?*IS* literal 0 HcmV?d00001 diff --git a/resources/onprem/monitoring/zabbix.png b/resources/onprem/monitoring/zabbix.png new file mode 100644 index 0000000000000000000000000000000000000000..cab7014f89ff7f3d8015d636b3d0688b241dc58c GIT binary patch literal 21120 zcmc$E<9{U27w*Ki?Tx+B#@cv;jcwb>#M&eq+s?+ey|Fg7ZF_R(`@8?aeRDtaqIy01)6?2mm}R_@e7vY7V|YTZk%%0swWfNbg24 z;Q!<%(kco7fcF;wARq()cm+QSI0gXR*Z_c2Ljd4g8UTRjnANT<0B(RamXneIeE#># z>nceEKY??VQILe&hb2K`Bb8*aD**tMLu4dGRXtZPvc0m*B)y(`+%7MC)0-@e0@96$ z@CiheMHT}IzJ`D4Yn6y5Y}VLN@{n~w~Ac8TEP7`q6!PbwQ zdCoR)E;u&_+yW|g`Oj;eRz76`9iA@o&z@fH<)6x2%5%zpKFr^}pO$?KBCLg|%~uMb z=^gF0>ZR|^7pY4TKtV?4$VV1HT1Qz&SpOL~iL0u<5SKpUa<>-%T>*fDx`GD5^J1oD z@~}cd1-Fw2`WaGPyKD>Fd6L$~j>XIT5q(3y#@$BHgzkiUrmID?v~g#|$H!-j;h6Zu zc|IXBJR9hBA|S0S2XF&0BXP5!eGqxEjxF7z!Shn$!`MS~n+*s;jxDSQNx(Sru%Xe3 zr@~x8fe1Bc&j|_f@l}U7dxh1v+i~$XLn)7U<4OVCrJsk0nsDzhvSi?S&WV;`beVUY z^Mpq+!|4Jt1B*ov4mGd&5d0BbxjMLEVPV_YnYI~-x)&ik3}81&+xrlO>!8yD>>88Pp-K2tvgWYPAF0HBmc}is6xwk@b7%09U602h0IYDtZD0 zyag)>1mJfOV$iFqXvq*X6~$r$nnWxbiaEfOV!CSE+1VI$>?e>S@k;lzPo|9Y_8OiV z#zqlyKF{T{v?vAp%VfWR2RIjxOCIxk-0X5_RHA*o=hh(yZ$AA{QZf5qlH zc=AVjP3g9N$P_LeOmOob!!{Tu+h%O=$`$&=kdCeX@2zM}DBsFbui>A9$^NV(2SYX! zqh)`nU;^Yq05Y;UTNET%us$|KupqDlbb$Xq4S9jJY$(>X4*AQr5c;gOffm_YXm-tP zu&@M1Un*hqA=jbb`Po)&jlizbPZt0y0ub+Y5xa)2#k%X_3igHi4)GPf267sLKV;iX zC&0l)yf zkY0DtCZxdheJ$WmFf!~M-ha=h`GoUe*X@%aEx$lt6JE20#j;6RR(vbf@V0j2u4@My!47MLqo#t z<-PtYi-3?sb4_i|)k}_82(S(TyasAq!!6q8{d{|ap;+#pXAG#KJJ>TO_Ed%co4H~L zJBRrlVm=)48rwPyj_Z08nYeU=6S;F@9?OxnFy)KePy>Wn9X`+hmdhoQH*vPL_v^hG zVpwK0UWGCX_$7cgO`9|?gyU(T;R9C+_pTqsH4UUh^$6%$O8Gnl{DK+=Fi&w2HA#Aw zLpni6UKrGb(sV4rDI-=86czQ|hbjZWqvC^78*Lbi_tCe}4M~O2YDZtv8DMH7j_Zql z!-X0SV~-lwI`q;75RwPtDcO7gV74u>5nAziN7`7Fi2LN^NuWNzj;+HzIIlG|rYgM$ z1O|fj=iD#&apW}5Z5Uv0NN*iC4U0P9u#AwTC=_3jv*B-2 zVc~2eSm448J(Dre2-3ljD+hlnod7>Ro~6Q$hVDA)rLA9{T5Xo`Hv4nGb;E-iFQ)BS`*!Qu<_ zie0Q$?DLa}Y&)Fz5c1L*li^=wg3G`=G6b+bb6gaqRSwxeOAV3M z8>bu+(KZMzF(?{cFTkHmq@bDos=SWbcD_3(m88vn zKojDPAqsK?J}@J?#cByxPKNBJp)62OXqpQ)bpqw@lkS%Zx)59g9e(ckm`z-o zM-ciFS{PceV~o(guTI#bJec141?Ia|Q(G($WpI=bjgSs*`!ELywu1&-BZz_Z+&S*p zF(Nkz9!A`R7r(*Q0HvGwPT-T+3Dq>Qm~gAh)4g)RLLnsM=CT4y8nGhTnsY4li7Ct8 z=G+A3kixN>0-t0&1C>NN*~S4eHmRvNLy`^v>4g6w39?q=2QN4r^EwjOyo0P(;J`0J z7+;TuJ&&RkYwr4v5B@NaXzxt&gj2RcsLzP^qa+pS`1Nh&$}3&#s3wjPbU;xRth z0ia1o<5TM0URQE<~%(3B_y6y)*{8s zXEI62j&bf6W)z*Jhlojj{JX653N+J^vB z5t9WXc6a)=ijJ{Anrk_PY>*St7J2mH%fIB`-Nf*xdlamRc4o#z*R^}FGV?2NWbp}n zQ-akv*BNu%i4Q`AH**u9{S;vmrAp!7wrRb>A|@Q<$|Q}mWWBY-D?FA1VITIta@`&6#~}3PmsFa62Ww{LVs><|HvlV$X)NmgGjaTH267-`ZGv5 z$$=k-c26F5U8@qQDQoe2^Av@09f0u~?u>i>aT`YB3B5C*2ebv*DJqK!9g~zWOmg=o zsd{|H{oWd)o+P7RN|`EQhb4sX_6@xhP|Q5l#0z7{cM@w=K|ZdmE)Fxqn1%dalE@uN zmST$@i~C3FzK8;Xv;X25Df|*t@wiUB%@z%}EEy-`Q4?FhMB@SQfRf5jnk1Yb70+YJ z?oc{x244Bh2ULDZWt_%P@n-!r!|uopvrrlvO?FG>22R3mQqj2FOiO@4E*lMQK=iE# zNLH3Xo&;j|7E&CAVQxdaBg$uWO-u{05yO-hgH48zz5!ImaKGGoD>QdglC@y>qr1r# zQyOfMe{}JyNAAW=dhw%Th%tne6sV@yWFm#TbT2>`b;6^~t3>taB}3MwHrqW7eG}?0 zebm3DTOI8+rEerHuc1_c`6B@#tqLbpgMdR^Tt`t3bBo0TiNh^`X8>U<@-j!VDmaaG zf1)8f>XTHT4oCc(jEoI;>=XJzwSeiCNt_=4$u$p*Hd>OHkPnRVjmcdxT?xieoRedL z_@_XkZonc`nk|Uo;FSYY&8X`qzlo3@&X#2g@v>=*r z-M&_te@w%{<)4nSa%fLD!j_%*%RaNIjmaAQlQg~8SiA)%LxzKLsUJ53>@LocLm;JS zDx08>Cf=NxmR%i!f#d$HhSj>+=-bT`;eFl|uH~qDRNvR(C?&ug1k8NN!1_oV#=LXR zc*HrS^dO0}Be#21xJkAH+UaucIY?OBPbwcf`pskgFi%6NPmBfiyVe)j8Z>+uHc7|S zt@{m6R`{Ll-8ZJbIsYv>Gea~8x|VHb=+Qz->sWrGkFoM%7

wHcUUrDJ@{t2;ih;pB<^qTtNKaBX=Z-Qf4m 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 literal 0 HcmV?d00001 diff --git a/resources/onprem/network/bind-9.png b/resources/onprem/network/bind-9.png new file mode 100644 index 0000000000000000000000000000000000000000..ea842c93b215d75448f74c4ed3cbdeb521e77f4c GIT binary patch literal 12580 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 OfU>-XT(yi9^nU;;q2<;9 literal 0 HcmV?d00001 diff --git a/resources/onprem/network/glassfish.png b/resources/onprem/network/glassfish.png new file mode 100644 index 0000000000000000000000000000000000000000..a94d2dd0981b85a2a651302a535b5a48a991364a GIT binary patch literal 19706 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 literal 0 HcmV?d00001 diff --git a/resources/onprem/network/gunicorn.png b/resources/onprem/network/gunicorn.png new file mode 100644 index 0000000000000000000000000000000000000000..6d277e0269583ef0c5ef4ac339185374213f740f GIT binary patch literal 11788 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 CBXutT literal 0 HcmV?d00001 diff --git a/resources/onprem/network/jetty.png b/resources/onprem/network/jetty.png new file mode 100644 index 0000000000000000000000000000000000000000..c00c2697c0c9c9a769a7609e269d2ecfacafcc71 GIT binary patch literal 18142 zcmWh!1yoc27k`XyCfzWUknZjw(%mT~($dXTVw4CXC5?1RcSs|nL`K7qpCA$=rQyH- z**S~1owN78?|$$7#J%zQy6U7v3`76`kZL@K8Ug?o<}IK>fQNbhVR#vcdBJ(9tfLG7 z4JpL8FK{uR*&Lr6>Ht6}Cjh{r0pJ>Q2=)g60)znIuRQ?BWB~xJPj07y9Oer=2Q76d z@bLdfVNdx-%n^Kl4IMT7|L~Z}*zvISsWAVn_Dch*Y#h9N&=d02dEA2Q-;Ky=u3uZ* z0@9|(#QU#JEi)k@JK>vW&)>~}KulP|EOCSV6eC(mj&koUNJav+Deyc-7hg=1yi&o>LIlZ}6cUccwufC~T?=j)$*}sO^@}qmg zbo1r1H?D6YHQKLL;%?VVp=G!C;vJkD-&Nu+@A=%r9sLS~AH7YACT_#hKvIb1eE(XFg1-Iy4hA9=8$T5A*G%wAb#}&8Phr6YNa9pO zkB4bL!70G;7c7X?TawXw`32nt3h>!Ygr$v*2|{~4EWV(i+1u%dQvJv~kP?1>4^YPe zd6YU45%@491eR}UZa#x%IDZcloRVfCi?dz`IDJ#c^Tz$8_UX+9l(^pp@RG6Dqkz3J z{98Sm!fNO2@;jFj-DB?VEXE)#8ici~2URCqHi9;1I4_xHWMn*>k~Vkm;M1zy%Xxj= zn|k-Ihk;xMA60-IEC~BeU(W;N;~t3;6B9={B(c}FELfgSO_7nusk&@$V;_WMd4oH0 zUd+$KiThG7?jO4LHz-emdob(*ODf^rspAvaw0rHt`1kMM9oNIupt(C8vO$Ndo`~BN ztnjezb>&7N1l|HcGi zPkz29sU_C6EejQ@ucGR&Ur0XrUgtkc_l3Rl@bbBDfB!x$enh7@Bx&LL{lQLC;6m;u zDpDNX^KgA5-|QXJac`Qjz0HM_c^8ItTTcI?w|uuhQ`jk6kRI)_J&JY91jYi;`}K@i`;U$24guG~JmVD4g5XH=v>b57Bn17i+1Tn2g&CJ>U44b+gE-DnY40NvVCj zPK8b`=H?#G_;{EX+1k<)Llt(IsQCG!s|-hg9|x9hXunMjD1z+o<+bo0j{X}CdkduV zU1rlhz1=Ls2Q$B(3Q&VKBb_ZWf`Cg~)fvSA$Y@+jwD^2?ECl88oQF1cbP(bUi$xZg?PKxr^Up3XFN?qy{=@0^wB0)Q3*}TiyI5eh z4(^0M&)zn>HYLJ2fK{faH$^nuU1{=DrOr{$~R`5D0f?i<^%4?Yh_EE1Vu_sYmojA51?J$ZV1`Yy05xsk83&Ygt>&!Kh= zEn;f~`snOI(SrPY*oEG%5C6^UjeF#InsZd5F53MgZkWwTA(sH~}yOEF5-ID>0VDGw$qzpn#|0D# z?05N38NBl)?K^@`asgJWrr<^@idmyt(>-^9Ccc7!EKX8*qKn#oz0JcXOv|phoS?sx z^7e1la4Ri$Y44(2%M^S}4*W^!h%+9ZoxO4(p5J(LOomK-itGPU@ z$R9@ak3e6&=ml|f{v;y>9~tODYv5mkzhfV*hxIi!{<^tSIN0BR{NyOv6z}JyArQ&b zuV})amaS22_pdWAFOSu;#j>Ef>bq-gMETq?VjusV@>ASo@1hnL^xbEyTL_k91wER7 zbHMxc6o1OIk^T zK0|cizEBf`DVxoRl?~rhZL3;4jzs@?^Mm|RA9czmWB%LZIAuq14yX-K1t&Zl5vCr(f znKxv@U)#~Fk1}^!yWil#*{jcw__x#w4=3nvkeqte9ign(oj{4YkYHjFq=%jv8c^wh zXXRk2eqO_254xa}3qFR`IaAsL9?;hV99D~##S>8N`J9?TH#dZsz_y92I0r5QsRC1h zS}gf7p|#a8y^r-@NL`jio@`JZF=`$M)!X_^eeS2XGLDpu$hEB!)M_M)p+6Tc1j~Ux zg;YVm(13sE&RJwM2tRvN_~+@^mp!KR0J9OgfL}v|(tg_rPr&QXtAUifvEx?Uca>sn zSc1k$8y0N{2vTv#MWjDc-9ys9cxA8PyBkEJF` zOYa|>!pg;E6F)g%lHr`@jTMaMvFyhMf_~$y zZp@GUaWMPsOIwX|X}wWG)lV0p%=0P!IldCE{bNWroDLYFbL_rQKxzoH56T-YCBr}H zC)`8^f)lD2_6*uq=4(wS6340mKATLimmpQN^HXvq>|nQ{%TOL*X1dX1F07BFkOr&@ zl?k;Zg1NV?XhVIb8e0C*0Bwj@sB;_Kv}Zm+V;vhlZ>P!SDE^L2J6T9@LBwGqk4wab zMdJzh`S`eNTkP!Y%+|xQjV-c#67T%7wlC8NS_sj;xi1zh9Urm9!VRBn74GR=K36KV z)f5o51r>I#3FIk8^-`o>U`t))ydMeT&xvo~!M-dZjZ=>$fh;3VZ^ghZ0Q^Fs3E4}p zw3kPWNB-{&x~F*7UvKl(+z%6IiE0M9l&KPc78J7zU;|B_`P}NeQ;Av-U6dZCj=b)X8dO>$}!U!pGPiw~0Uu2`mCi)87imR#*M1s-k$KqRI2*Bg^4e zVgQrMeD`YGt|upTJUl$OcXHnke%$oQ`tE4!&TqL_Q|B%d_Rr%D#eGGX48z3I**ZD# z(HXp95=2q!VzCYIQOrJva&yY}2#=VW;JWjJQ-{>Ti29GIOMHy9-jpGtDPY99N0;1A zMJ-4{cJm^cDOva!qocKniO&@KwBKs*RmMJn4YeF62uQSK13j_2%0!v^ z!UY2c<3WH5bUm!#gf|RnlfUEIVu}A0*2q`X@-HNxcPAGFOP^a@T-0AIH-;1B>Edfv zCe~$-bTu`-^J?2mEM{}B#UQ|6J$hSeU28~8vGv_XWOo7G)oe5PrX*h6oK_E_;#-nP zzQ6W&1rv=mDf-_UkjqAh@C8E3nkY1|_i)s|l_J3mwDV2m8)`}eAz}=KrgD*FfW6C* z;VB)x)JJ^#q$0WLIj2W}G2i8eUCj~iPWcKBj{OQT3rjGpLTtnXG=@dzevsgI7>bTa z$zFjtfcYGA?y9kjHHZh~&t_D2;I8=nr)mb_p08iO9zu-Jz3Z$i-9Rg%dZO--NaV3p z11_u$yPtQN$VNQkd{DC@GKr2&rJ8TzBK|pbLDPHWBIL1Oc<5AQA2~RLABK$Z92mFO z`5h8-jBUpvB%!MIspq18ZD~oG{^K)oVC8a!{qd)p>gsAe_Copk(M`&)lN)|kR#tWg zfn8Awl9De^<+y6aWp}=8pg&httph0K=*GYK?&;3)jeHk&eh+k0na)?0pFVw>gGRTs zv`|iUNP^l)zx_$}dxl6lI5^O7T=kob?2B>{V~9BUGh6a9u^8s3Thqb@X}07y$#??& zPae=+TQLn@FvKI(KErzmp4&XdCWkO=humAQR$4+6s_N|U3-2y?9XtT^R`EZ zv(@^ItwqL#xjWi<+YwmKnrbO9dA!a1{|oq?X&bs*qGoV=|Ko>YOGn2Q9`Ha6s{8y) z5F6&jJMhj%evVW!7d8Ip4n9VTTqZATuy!d_65{sP(s~gYyGjg%zd#8SxfdVwM0H(k z1qD|ke-Jf5!*Ko9SV`~{>s#)h)QV?iCl*)ibw*0U?37?rQ+(?;dfpx$x4{|CsynL> zFkp1Den0J=+|Ig0;nNUhtj9)AJCk5R0(9Dmy=2^C_PW>`J+6g=O%+;q3V@uc zNIuWf>Icfh1J??k4UJ_SJEm(~uFLz*I>qI^a|z(+`Z`n{dQXX)8|-cTMk6+r!*H>6dfVBuN{*(*5SM11*M8;z$14 zWuN+q;jQ#!ao+w@Yl{Za_z{#QDNU4hS-<#oR{24oNa6tc#$2lq*!RXaUV#5 z#~mx9NTi^7)Oh25NbPwbNjyJ{;hSu=!)`quilUoVVB)0s{c@!|jGKr(zn!-KB>Y)$ zVaeGq2p;xFK#KligSlk3!;+woMjR9#L~h0)7<1kA z)?Y6>XrG48es{+ztR<}9f5n%RXg5`}C5nTXUX%+cz2F3TRG*To^>u}VklE_Aih%u9M()vf`h~ec?3B3{pkLR33X_WM2$j~5hV7Af zf`;IuKkx?d$>Yyz1|EQULdJ^7=~uo9G|o}%p6CF+sYo;V*ZZi}-^ZCNENqP-`30t$ zpM=|f?REANLx_U{#nzj0b(p>o9EI)C=zStFtg@pTZX#gp<}4;Es{Trq`bZhP2rqiQ ze&fP*U|u$bdZ5bDW9u*XoAX!MP2=;}$J zIXh4tHt~L%r*u1eDS;q<3>!%J7&9>IidCM?sNDb2LmCT?OcFk5tnxxv6@Det{BEOZ z4yz{}CE5#z?(q-Fgkiuc-^;RGMw#-*^37P*Z-+z*bZ#RpyHL4Z zAAws`!Z&_gof;N7yVojY5XtQjM}$lBt;yd9>RV_wf>!J zvVvt_09A6%3Qkq^c|cR7mabS5v09G{6}_SYq4Xq~d*#l6Ss}}Zh85O{k&-W26x|?R zh%V2tiHQybPr4aj=>3CLZ3YpHqXXQ3o<}c=D#~TQ{QJRR;_za<$JJ+O29Z$!>!IY% zT5=GDeKJqE``J1e;Th9fCQtl|roLPnNk4G0rv7o4e;IK>gG$6sNl+a>T_nlE2Oa(1 zTvS10V5^dABz^pIb=YTO(BZDzANuaTURpV3-lxy@lHmrgHs%f6E3^1Dx?FJeaC4*Q zE$fF_s5v12^?*U zliE4N^YQpbafn6;bsQJOmj46!xToJAr{ z&7dqeO62}Of0k0S@#U+>CFPAwg*clzM#lQ)fR5&iMis+)2X^rIpl)B%8Azcgk&``o zHCES{%_~VeXN3g>S3OE+dM=x8Xaz|VJ-sc)n>2pFKT4yP6Cue8s6A)P@HBk*M@Pe` z*jUc`O;pe=b^n_#fks&bCvU$Q9t(9`EJy9R(7L6A-jG^*5crko>FQ*N60I;$+JE9XQOkM}gyx1Im4_TefSNQUriTapX*}bPM z9RlEjlWSUng17O-u@r+J4<36oo<}*1U9OShlRr;&E>9M|YY*A$tV26(Q!ea8vzm|V z&kXl4LHlX%vr)pmy#miynB;iOYCR-7ZLK4XJhfZa? z(tGUo2K^!|*Nosv;-jMvsSsEzq`OmAK3~4)Hl@x|PRyPnb>ehC7a6)DEorw9(B`Bs zPbd^h04B7?eGRVp7upk7T_q#Ukjx^LLun&9=mOy49(fD{sh({sc9J6=Y*1>l)El-| z|HIkU^_wZ(z6YcVdsiD}PJNlpA_r?aIX3sntw;G>h|C)`hmZ-!Oc_mzYxcv+z3W4> zA>U=bTNSX&}UP6uTl@IuWUO zldtv;zw2Y_y9mL{Nt47=UHhbt56(+kuak{|A7!lZ&qe>WLI2D1!{>ZRV_J@4!UobG zxgYQXx#ly`W&vdd)-m>^`E&<=yVNMt;^zeTa8WhRw^xDoly9G#n#}VjOMls-f8iXP z6VM2n#_N2-UHX0TwFJ3RPjB^0%~)j+PS6Tr`VUM91%`(RL|Q-zxEPqcppTKuxC9A~ z^qWW|Nk$fo*8Q8G$zwZV7g6Mgh$>Is(nq<*6g7Rv2pdw=RI7^nNceYJyrSP$Jo1P} z4{iuUQPWu#93kj7uoo)&IGs?+h?s>jxu6oAYlT+%eHp6`TVpNFxRp|0iEyE%xm?h*Rv2 z0?Tec?DiPhzPr;$!8{kTnN6)7^1lX36V@CLE=^0>v zoKc9J6+T+ky(ix0&!6^Vt`IEfV}#sJPeFlEzk3*iOYCLTSpP!c)`Jd&=s*8WwxlhX zznMtPid9pLu^^HOP=dA~LyZ^C&x!iSlQ7w!rgK-IN;x=q)NzjZd1a9>X8=hhW(U%y ze(G8wLfd7pp74Th$IAu>RWZa>%)T!p+eE1NN9f91>94!xPAJI*(7u^_PsYyG5}m^1 znQ3^o(QN_47$3L;S`?>c9%Y|E!3HMs@bYR^`)?jNiY=0TbuCT(#fV^?vr76H$}rw}7Qzf9S?H{S_~q&w#8)iB}$;pF<7w^=uxE zGb=Lcw&}S|H(&sbJ*h-pQAbG;IDU6;D!f%NmQXzbXypKYNXN<|NCz$rKWqm z2E|bNe*Rck*m5YuZ0UD2*wX$+81#pGpt`H5!6_qh09VJn6Nho*)6a=MiWTQihM$m~ z=-kimd>SyK{LdeAJJba2_Vg*4j-`z;=3UgO>@fB~@lYb%Xcgt4DN#XQp#HCGvx}>u zfW^@ao4w%4SFk!kBG+0_bRjGaWWTc-0iz0P7W2wsSJk7U2;DOUKFnKs!wE(`f=3Xe zSg7^)DrR~Q+ARdVA`FT~c04A(Ln4=@+s=xAchJ`E-{1gDM2>u#dy}Ts=K(m=a1Pg< zKg|3wHiG4BT|yt5cWP|K6UwZ(m)dKKl#gl zSl`lnB*QK-_T2k1zzeQ){I>x%`1PUt%Q-$7J!t5pK*gS~gSmekS0^~YJM=>F{6TTa z=OL4$+1TaFKdNrI4=;H8X|Gvyfs%P$60AD>Lc4hbsr<Zac?SOs>ZQk)mie@o6&B##f*)+BzK{B{2%v>`eUio*A9SHQu z7pZE;!l?FLvh>+V))|5S$>O*VSh9>*o53%($bbgpRNY)>UmPIai5zL^iB-)!Igzq^T_#*u09ZIVFT%U-#vQ`*$GbZ9ido^%~hB_^^Q4C2G)%VH~1UzK%Z4taF zTUl;8M~T7&$s9X0G556PUEypT!RIK(ezIa0bv6(d__hCo>;(NJ4X+WPDQ~Ko@UQ@} z4TnOp!AtDL3b1rn2Xw@QsNDi5s>LSxZP`Vc8=?HZ1osdA(x2R31n3^SH_yGtqb2q% z@^`H#FGDNlI_auq0VJKM*hn|kL={!FIVUIUoS7lc78$zYQVtkJ1T@xRa`6a)%Zo>4 zPER4elD2{!9^H$FXxMLCP#F>dO`v55?gHylWiJ) z5G==OWl9-+#@^tR)Pd@e%)-1Pr9rc<*dDd4T}E;AB8DQQfUm016#|+L75MNs z#Bx}aJaDI^uGh?zNlAmsHt4sds8lvq2uNa&OC^1UuS`D=`Bl@>rsNc|PT}P>{Y+Nk z=&ias4_3v(#~^md(K;)x{h@bU_z%A6vle!B+i-cd;x`w)CJW~p=m`8SlXNkr7Bm{i z2m5Q{AiOZ|Wx63XsB`KkavhiLW?fAbe3#R&+t=XM!16t?+9Jc|c|)I{*OYXSdLoRx z&Pgg&Z;DmUMp&WOg&pQJ(mjI-8|>qSKi7<1_p{e_5;q0^84}s+-Lif#iPVL9nE{8c z?#(Z`@xicZl3OXPMU!uh+z6WTJ|;0`D3;ZcnU#QnfVZa{X z{*UuhEWwL@eW+XM&l$@b8NjcNx+#qLWz}&u`4nAKYK@|(yNd!A?C_AA5Any~iJV48 zr2;@tf>-}~DzE=HZxlX1D;6rx&u`7^Vh(DI42X~oiyFifvu~eB4zSy=S^kFIj%Q#i zNsQbR{!^o;BnJTVMN4G0XhZ z^If7~n|}a{w6+25uXHJG7mSR&m-WdQB+UQ&XyH=_EnKQU%^LQg zue~dJ5X-&EF^&)i-H(w0X6&Cku|ItM9n&jzR2FzhgTAwKuN}4w6NLThq7k!=0F2OM z*cks#${W{m?_6$rdRVZkPB`5un z@_ZrEb&s40g7f@1>OY{Hu)pCGU&cEZr=q)+Z-*rX2x=Oa{U=gJqW8l~3_AxCv~rJc z1FaiQF>Wb;jI*ff6(v?(CuMhnvi82z(3}+oA(LSVK6oC1u*jIl>|Vg$c^pB|n~-r? z&7oYQP{T3O0hfZA-&ebH(xxB@>cJ=K0gAipr>7b2qQ z4I-SttOf-2WE5dxhZUpkf(O7moQ_#=bzX0(NFR1B1t4am(RLi$GKNo?*lhqBa+{Vnvitb|LLX z_Js_;fx2UFQ+20>#jwq~01$Gucr54Z0z^x6V&28BlqEuLXyIAhIE z>o;mZyW%g+GUj?9*kOn+R&HDdY+_>5N2s*J@5kVsD~T_1e!q;H*o4*m@q3^y)D0a0 zmM1u`d-BfAU%-pSh~VgGgUKq&uP#;b`Q-4BuznzEA z{{Y64ZB*MYwU_VW-jECUq;p6YNowtL^_#^ODcbP-3Qo{9!qOH8Z{epbhSdfrPM@VNe4NEh20!Ln+fe1*{eVM0M2j29?hO&8XM*ahyX4> zm9W^J0pTl4Vju&F5%gPw(UZZ`FR+blIZ*R@fVqMfLA~pAY*;e> z#$vS;rj%Dy!&cfZX}VVwrOdL9Wof53ztE$D@7-pMYm78Aa&yQXv${eHZK>0 zHJ|n;mWStKbdW|SGuptc4vvA^Qte49PA~{-O!WAJW$DjnHVgI9W2^2vV!fw89g$$a zca2Q9zG%AP3dW^XCaKMmuHU<60j`-7@#_ETdR?vgzTL2Fp~D-P$vlx$Oo`|(cz!KB zbvs%RhL)dpxO+3f4LFiG+>-CCY5-h2q?^X>5^T4`p1Cvyk^YZW%X(Dx+J99Yy_NG~)S{I4c6_|HUfgqu6%6-@ts< zMef%!1T`}x!JAB9t-5m5)>}VpW_p`lE{|=!r6kF>LlXTI%3g3bW4~&g1dxcl+;C%5MiSVvxU+ z27{R^1=%_ts?L?v#Smfw259ZX6x*!tM*v`QE283UxE=I@4{-l(*Md3^@NoKx_A z#F>cjbAWl?uqQ!>21iqWt7drxeajA#_!tg?A3VA8jNyuFZylf z9>M-7_VCrU#ymUZX?Dl^D~@Tzy)S=XW}4PhSYVe96gs%6pExEDAo%%XN-ZqyvBCvL z9^z}i&>ZF#sA0324-6Vw>T!TjG!0y=c4O3l2M+2PIsP;Xa>p96l+}I!Em-cZo%m-=UWnge38$H zaA^D5lNxiJaUaW#mr=UbJ|l4c>!sU&m$xf#%;uz^sCYytR7i#D>BA8IAnC!%Uxkg# zTR{t+_J1cEMZr5L;3snVR}jZ5keUtU0xP3UiP(8@7L&P1eU4AC8Ic1lbD zEln9RwW<9XS~DsOa5y4FfmJ(?Fgcn3cp+!qKm7nK;mh;cEQK)f=~Gc?bL2N7h2CwK zVjbBtInA$ijIUcFU!xi}UBcAkLiFZ{u;_%3{u8j$Q~WBX;XaGwkZn<=Y2~H;^eIGy z3$pf^IEGa&O(%Tet-N+miQKfFV_Qqk+w;tSR@>t1p@ai78#X~wHiX9gWc#nKlH->+ zuj`ji_TmON5lGgo8h`*`xQuE*vf%qvRTBm^&ufqBdv++j1=}qKW;lNaF6UNQQf!7N z{hy>&bmlV=QvCXEvM+M>|F#22>6E;I$o&E>_C1Pd`YcP1jA-dpkYoghmeC@^WF(6V zYwZ6X*w5Cuvg(v*lC^;TotsDm@+_MHX_TLIqJeY*;JyzFDIYe~jaj z$Cu(AH(hR>N2ws#^}X}EuI0ZD6Unf@Orqxuei9Rn(Y0R#Y*+)hhN2x#~x7q~HGoq8=^1G%@LZsOhULxG9vLYE1eiJm@o(2m0z0ru@b> zB$hUV?2{6#|Io>zwW|40(MIIHyh%L2mM-T==T0;Ei5^Z>-7?)r+Y0qX_|7TcjXT!& z4fCc;!2+J+d8qGe@zFOk%}q2jeyX+SAK=TF0tYVrsa4K9qNgZ7fUc2F_YFYTauSHqDDpNCV=~bf=1=hEWZ`!hWg)X<_7Afi%kjxZ zlv}jqq+GudXFQ3OcF8%j0GQWzB)y~fc#B;LW0Vi4ec%@!) z%msmB;H8<{-J3+}{>3}Ngtzc9Of$q8+euCm48MzE*aOBN9zmfC7+R(@BW0mZR<+0` z$bgAS&oA$r-t((Bahxi8*nVdHTTxFMH$m7w8M~(jSV={V1U^fRD+l*on?CKHwGlUz zPXraO9CRLbIv8>Y{9 zDdkEO7d^GNBw>8I{)AW{x@iX=W8Y4kh6ji-thITrofoY7ZVR>!TmjH%-EgzH1Wr`B zp3~)Y-RIu4Eu3JtEQ(J*7c9wn=!|cxPsJl6=BLCS7)ke{?CUCL zD8@DO@bsj1w&+!Z_7eB+Sy6S)l<{LYX%T*}5J|IkHqz=Ciyv6pOAa4AjW!XdDf);<9qz$!9bZjJq!1O7G&@Dum_^iZhH$$XZ|MT8G(Fh zq-9_F&eayFuRb}fi7%{ZVK1V%Zf^x5e-0LOHPJ<6eEuai`A#j}u%wtf|EHxD(7JLE zIcpg49@zVu-q=zMRst*2>1+99LD>v&7Ba}$$opuk(Vy)qQxWr{q(jn zts~-_FPbR17^Jk(4=8P>`Xr`wQjyQ+Pde`Fv8Nm#&kS3c6MG10E*AI}skq=>tg!|ysaX%n^6e~6pNI0y@2{C?4F~lN zpT*ajx!YitvSm*u`tu50Dw$JgSpNiv|imGGK>r z*0GCkvS>n$oqp)_iQZqy(uf@v#Ng(r6ifUwZWmKjGmtB9=|%N;OO6yfu(&_SEGycA z0QUn;n}zcCbUzgRAFEyfW$S{Za`#eVckOZ$`H6L%YEnCBQ?PAsU-i*psfWX;M-_`4 zRZe7V>Ji7cJ}nICxqCd2a(S3%m_RPG?M{bueB zj|iWJGp$IG4GO4l2#vg8Vb{u4*OhgxRpSw7D{h51Q;?;M{SvK^LdqxbzBgfTw2!t7 zY&?5qYgm1hb@e3jJ#>h|z&UAmlr)>tfQ*e2T$}#m^|6toSK6;^DKo_C-;102fT=b3 zyVnq%(${n;?|{Nu7^d$cNRZ)nC}3C{hfV2E#VSF%n@KT%tyDe%R_wk zy$1W^-_M~?L@tIzFu@{s-i|QtfHo)YpXv?wk1p`#6YD54HvC=yRrFkhcpfm*D@O=z zJHrPiKl}D#Jk|LT{kd*By=x6j2rk(Ca)&zIm}rK${7YVZs0slb_X>8TL(nU!5qM~G zvCADvYBOj}w%d2;8*D+aJ=>7<6Ue3m)4K%X6)`?UFgu69b}VSIDcdR3wn6`Tz4VQn zNPW_{^sl~&ipMZikvYzC1!qANX(2@_3G9`5L864FUrl^GURPb@@~sAa=?DccM4tB_Wte zxgkuG1ogYFxo&z<*WRbj@{crhT8euOt60~zLi;k)-#0$bClF1MhdF7d8$O2o*Hdt@ z9^?nAo1ju?@)H)tV%MK}_}3Y?-+Fuac;cYP?oq~YE9ZYim!~?Cvv*O!sN-y(DLc2T zHSC*VuLZltdvTyV{RA_zaDHn?Eqr6kiScm7naDm}C}0PQqiQ_lspDGLG=bXrXCA7| z-a=x3%6~mGr6RKvORjJJFj{BzYn)XuX^9Z`$@O584}+d>8>QX`n_&PchkSY>3tWSS zKI{~SAHe;^>5+8f%dYLmRCyv~3J6R8v_`>M3}Y#LsUU`r$x($Ni3O@(=(WHqzKNgw zyvRQ6>-gdI`MA4tX0Qw;I#aO?ab}ns_4_>m3Na3dwc?T3v(N^xij@cC`}0E)Nd*Z` zAejYovl0@F*`uQ(My0O31EJDS9+FFkxX!-lh6SvRsiFvW=u`@>a)T< z=^LS@oc~8sw2l#qA=!>DfAE&dpFqq^KCvc0Gn>4|CMAc#^{HY+Mk?BUPI!BQL0WQh z1cXYC2+Ow;Blw3L+;0qdoa5moE=a)N8ubk7?_0W+*qufil?vUPXt?Oz4J=m^Pl9Hc z_}*+?K8)j?>qzrvQ+o!hl~282Vy=aVN3e7Okg${Z?EN9(@?r(G0X2yc|_ zF!O@MB>LdZj*9YYbEcvJZY*a?W*iPCIN_DkyWI+(F^;HkK{|2{n00hQFzLwD&NB~IlYK6cjiMdS%D z1n-3P!l@Wb1ez^t)hYfd5s80pK5|^FH~cQ_*Yx|MYFuh$&tImwyIZ?tmU~#c$niH( z!gpx@U<9o#odJD|O~OOmaZED3Plb<< z$wX5+`qL+sPn@=4@E&AT3jS9`e`!~yN7APp8qZGz(qyxq%g$td)`q72o_3%s+`9Zx z%o>OFYD-cQ2h4+^-7fjwlH8qjf8Dx322|huA1<`SB~<1RWy0Ixg8{lV-&KcfuVNcn z6ulkqzUV6rU!-Fi1l1f7O^9wNbo`?hT9n7gRFl-vJnMS^HiQ90*RpcZhv9suh*hmk zdRSn$EwR$GH~wPGe^U9PikW^6Mjj~T=jO*wS}qr@K?LW zxR<7zXqIj@a$8=WH4$|&&I&bYIO-(|3iKzAdmZm*{s)C>F)yKmzbBGCJKf2jhH?j{3k<~m@3t$QvjfYWDYK7hxZ}g=@ zt$A7~7bb=3iu~(TG;>SO)2mo?N;6NeU)8>Z7!E0X3IOu5etJ?Gd_!>l_{9-xPt!$Z z6R+KpG~U@O>_Ywe6#I|Fqah3Hl}Dd$xZj7VL$4ts@H;MN(f<;&AFAt8E}TNLrNOYI zwfR7QmU4bCZ|QG>J?2|&l7aNP4!IIuuc1G~8@9Y~`rT?R-g1KtUdz2=H%hQ#{JfpO z^(Om??MFum1?KnJ5_zTlA9s2#R@;NV3oIDWJ3-SWq71({PRudg+`kqTEq12k!Y&bE z;QfLlW}um@3Jj4l^%<@fNIbNI!1WslEU^ivoNUpZRWLA|#~-tG{Bz42hs`hT{R^DL zs8*WrGW1a@F-=s@)(hOUovZ&368Ch2OounviK6oo>eQwmF*8Ahig}uwaNWg7_C)nWF06_>fz}CK zSr#7=ID{CyM9XBz;IPjwG#f?}7`hGBnR(s`ix$r_k8aMcvHJa{cQkkBpEdk=u^xi{ zNIg5t;0|HP%*_h1cEjNMhn`Uh)4j!#X+8v>CJ$NWhu4BChPtmK*&tNY9@^iZsZG>F zp&@9K9Mw`|8T)kTV|n!A3P-VAEZJi~p~34#9p{{;s`=w1HnwAS0;aeJ@8EB-*xdwE zKa=W{ajGS16d_fom=m7cm3zAewI~*4v|sql#I~(f3}O~EbJVVa=~t0aq`sdn7!Aly z3nj!h1jZbw***VrY2gM3B99}-Wj%cPknqb773uQ0KNivkiufXMaD|+<4Qd`%FzJ{} z+%ACL3@Z)92KiyRz$U{FxwxP36Td$Qk#$KtezfU&qyDpkL^f5aO!*CC&ze`1c<)!2 zJil9NEf&HvAq67d4$s%A<)o*LHQ!y?9}Dp&a+jttPGJ-ZM-nS{%oITKs3{dLwOUcu zQV3dHl-I@7a_@LV&#%*a^;N6u52;@x8=_>-9a;@^Gart z3T_r_myLnH1SRW^^$d8?>4ufoIbZ|bu5dVE>VnE*d)a2E=-Z&hp{69ghj`6}!q>l= zaFU*Z+OXIWS_P~IQuq!q{Rh1)@;IfdfO$;Hp~aHV%EnB~Ed<8g8w)B zcH`ZIMS^i@@-n7%_sX<7fZ@$q;dl8;*C%U{iDoxj$%LMIgh2i2fS z!oPZUs;ZoX=#G4(v>TjG^b1?Ib<0&DzmkP9+}OcIvz({MAW9Lj$isxg5G8Mq-Hfze zXyGpX!lz}RSsIQdESe^0>+gpg+K)hwP zA3q6rKdf#?^De4#yp4G1t|3S(r&o}&MNx&W)e^nr@^Y^YYDTW`L?)4%UjLt zKL#dp$Ah>b&!c( zJS&;aLxi)!)F6Ms2DI$bX__{UV?2Rt7N&0kWnMLZ*$jM~8`j1SVMKI;$wyY>1@tjB zpywj;<;yrVXhN}4{?11wUct{_CTS(Rpg~u@%aRr!o0Tf&cE8xjRS%@ix~88{rupKG z-+61|G=1sgnPOBEbV93@NcJProwG3`qNTn+8^xgYL# zIAT+O5coMsSkt|>=c2QSV1!X}o4_zDhAKn2Nu6VA=fm$$6>#de!;pC&W`!xBMI26zY)8^bN5UaQ5jKmq$zsnn{&RghwJ@ACA^AZ?8MmQrC)O zvi5*(`#XOX{e*V`XPitbt=6Nf-|kmOlo`WsFCv-QZgSFoY>(Oo|69z0s-|{NFhiC# z8k!8(OABQ+=@~~dS zc|ZOzN{IYl0H+05`c#Q&Tw{+16stKte%=#NV)}6r@%OTBeqdh?Kx;j=-m%`CV5ma` ztq+9kWtHmP*n7Tu6Ht>DQWN&uS4yRmZ$~Pe=28=pv(}~_=gajue-kUymz673BHyTc z6972p#Cz|vEK^lg`G`2P5z{cjZZnf$ck^dx0JE^K$Dk<(S$ssJzrP$hj=37)02&IQ zSwfZoz8QmO5Lt6lEIt?vnwx*pdP?h+Bpj?EWm(F?!U7jX!Lj6h16PUAhnXF29UrGwfEi`W15?P(t^DvS69XxVmKU1x7+nfDet|v z2pRA)z4Q3H7C|92mHuV>8!nNznfQZb{ToTUu>xp#p;bH;w^>O_NK6~uXV(DE9Ar!` z;^+_&+1}nJtu?pXZI$PFszB{WQ6g4o#5pI{T5-yh zlw6y!7eEpAm{3j zIWOa+ZmZRzR;!hor$j{1@AuQV)7balgOpMfD>l^Y^$^R)<7*5C1M%J?m7XzqG!DV0t$sSqrGon@J;>)LH? zZSCLu*A&3ZFXM%7j8R9A9@W;`%zK|{t#jvG(Wv(1DLEFwFyqWW%>WjfXd1 z*o8!=Du4rEBf@Wt&=e7CjIo2k;7Su`((jnGGf2Dw670gae$oV`tTdH| zYd;ta{Ae_4f*ihKanCgw%bqsXUazNmy`J{oYwx{QN~Mjj6S^=efaYgs7P*)eX-AKg=LzDf;zVaW8jaXmd+mjN^JRYsNLiMtPN$>tJWm_}D#pHJ%a2QB{%0P@ zK6Y9-XzIHQSu5Z&^2u*&4EX0z`niho{{rNibc~pu9=rem z03~!qSaf7zbY(hYa%Ew3WdJfTGB7PLHZ3waR53R?Gc!6dGA%GOIxsMmca)F-001R) zMObuXVRU6WZEs|0W_bWIFfuSLFg7hRIaDz>Ix{mmFg7hPGdeIZ+|LN100000NkvXX Hu0mjf0I0Hu literal 0 HcmV?d00001 diff --git a/resources/onprem/network/powerdns.png b/resources/onprem/network/powerdns.png new file mode 100644 index 0000000000000000000000000000000000000000..491c66cbe90612eb0205085bc8fed7cb74e449b7 GIT binary patch literal 5484 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 aytObf_jc~Lc=`|@peU;%Q!Zs3^8W#1R$AQv literal 0 HcmV?d00001 diff --git a/resources/onprem/proxmox/pve.png b/resources/onprem/proxmox/pve.png new file mode 100644 index 0000000000000000000000000000000000000000..631f27164a1674628d1117e28aa5fcb36fa08af7 GIT binary patch literal 10193 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 literal 0 HcmV?d00001 diff --git a/resources/onprem/storage/ceph-osd.png b/resources/onprem/storage/ceph-osd.png new file mode 100644 index 0000000000000000000000000000000000000000..46007b34c25942d3e9b90242ee64d547088c5130 GIT binary patch literal 23920 zcmd3OhdW#E|My7*K@fWtv8hq2W^G!ETD5D}-Zfi_h?TZxKPakpQKLrf)~2-7UbPjq zSB)UX@AP|J&;Rhal89X4oO9pr`+dJwywuZCCnsel1pt8jfrgp^06@T}z&xA?d>j#* zj|0EKd{rJ8!ojZ>aC|?gV47uj%I@W-5>}nfGS3I)LdgVhwE;$V zQ5zN(vdZ=;$8RUck@%neQcLlBQrSD-m+wAN%(AhLA!9>CkW1U#uKUiEl$;3T*An*E zdapB^>pG`+vN0OcG?-*=KwR4tIygFw-!?58KQ<3qEUWZ*u$Nbn8grpo09RD_ zeKd1gLo_1=nh5#}QNWnV-3HO4Y=dwR-iM;Y0Z%9P?4KoT!!@2i^XZ^LW&_u1n6(SCzuzg6G)l?itr(lKdOK~be%ir zJrf>Q{E+747krwUOh;bH8lSWP_mzKiN%3X(&#WtjwE4`q~m&m>wX2UgK2 zAehiQ7vPW5=Y)9!kG_Pw64B6n$O#T^d;fk&evY6nCMP)PyuMjp9dFOxW(>T;KIbBMSAb-BbkKy06*XKd zpaZNv-w)tDqRuTFx3MDcaD}FF-G0T&G!yOY8Sd;Eon|mAS)UxQU*hQ3+Gfv($o(Rl zJ2R7ecRF{5GTB4sJ=^YonjJvLW7OAg9o94Z`PKmmR!e*od{MxDhQ#eXfk6~EheW8>R@aU=r3Mfa`g4U0XqjPY)i1!9O0aHR}PNE<=O z1XFayrt3##i_zExx!K!@XUd7HvTvj3KNGv|d9F7HbJ|XQVc2FjW~3GKa?D#JdG<}^ z)bH=7?D{yPs-D**9Kef>55~G~hb~AzLKDy>w^#;^^)-p5s&9AqW+WU}S-EsfA?xR} z4}I^onTT(=L7HflqMnPOe?RTLr)48-j*#(ESeZS`VHQ`ALJ)k&3D}8++0Nkg_FBnm z11Z}qcH)KmpJj5hmGvEd_FD*vd6YoXPQnFzb&T7ts(M8j5(%HgJSDoBoM88~_Yr-Y zc@?$Ku$^g<&~`SZ6k|M%4vzE1o@H_QW2C1AW$lw-3FTg~ga2T1&JQkb9_Qmv68z27 zF;D4$tLaI#!Mca+sC!c42R+E=y(!A^WNv4qrh+E8enk-hFrB z3%{`5%S7Oi-n1-)U*r*mZYa%(C%F?Z8~jHRa&o?^@?E0qR0!@%oXzkk!?s+GeBxC~ zrH-Wo!atgZD5R2L>Aarm>zQoF@fO;<*N2$=+ke_ePZBb-AL0)ZJ}>JJEZug5CSF}+ zIMNMybX_p_ZE5WZK;o#XeJy$q~F^nTnZ&x zFuPvHXMJ!!KZvv&Bh0}~urLU8x9UbN5GFD{)6sT`4%t2P7HLG-O;-iaFe8@ZC%~(L zUpG2YwVe1w{UQu{n|sZ*yoCR}`(>};B3J#5J{3Szyf(oi;`HY_ChZf`DVyd8n{0oP zZL(XKTJI{RK^7fZ>9_axziq*@!swR@$s^*hJBSx1uND_v_b$3~4{knT=d!{#c{VP| zLa*4`M#6hmF;U(XUztzL))-5hZAWruPTIr%PVQ%il3MV)oqp~=Riuczmd?80NkxOs zdgmqg`sFoKTla?ugARqQ8x1B_E3m)-c3JZ(>fHkW?Fr8M!h zoG6A2K)d-jQsSaMc)3w#GYarOB{~;F#t}>fiZM}LJ0$}N(iIg z^`CtA{6&Oqr2dyc4%|;KCHC$0yGOBm2etWBmG-8!_4q$5im=}?z*Hjj%Uf4$+lRMq zY*aHMqB%2n@10~{QMj&AfKZ~f#IkaGnTu8S63ZqNlJGN1Ocy-MW2#lwrhm7T-y#G$`!$3A#iIRO;Mi-8GtwUHL*z)JcUTC&z|uP@cPc z(370Mr3$%P(z(6Q00071*Ry+!5!vmc6sCP9Z3=5&TN2pUn~n=d)wh4)=7THTJv|Fk z<0*!-e!hy`du^y1k#_uTbhL79u^X_-4sJQv7H9lMg_};`0B0UR?|o~z7-J25@n5YY z6OFlB_f4cZwF}h~x^n}v@)Ubxnevn}qaP{}Km7bRl9$(0?G5Usq_*PYDd-6VTW@_x zelS>#i3sS--7eDK=9qHIlFwS0vq?MZmGRYztE4++P~D_0(B?1{AmT~q|CmN|b44vy zh6q)7W3|aZ*4XsP<96jQwi!Gj0uI5Fg66WaYQDbWW~{8N(C#1Be39EC++~@|riS|! zLd`EGwhzwdi6U~bnRhAAZHU#1>0R}N|FcUR>PoF96eQ%2COxE$tn()LX`I7K)u6`7 zQmC@K|51UrgALgEB_s=&{`^%|oPPUWq`bTV18HivyVlY#?!^;_#EP`%6E>o;0wKqV zZ5X9vl|;vT8M$<6DISlIu94L76;v?I$1Moe);1wl^|M#XO?pa}LPVvx;ZOHbWwCo? zUz#l))AE0?C(OtqEFaPy$&jr3-70ucW-A&i*z~2eMz=psO(nc08p&}dri==%m-FDP zAd;9WNX67ZfXC1Izu3pUtA}th!UDMjaa*|H_z()?Zu~~bbmX%;YqUsvLRIoc3%1C0 zi=L)<)P_+v854AUIil`(N5$nQ+U{pAinMK?Y5Oy8LO2FymZ2gLNsHE%jg`Ajrt!|P zlO0D^(*^iHAgk>45n7tA18#hHZ|W@b-uS69=KA8Zx5yW}%$CM>8~A(>LFQ}DScd$l zJ5|V6Idozw(6fxCh$)&ke-U*OpYL%zsD_!|t&AM9JCcLkxQsWr-$?wpBR3VK^ZuOr|&kfGi84J7d2b!lK(niHbe;xNzlRL>&MMQ(LkQ(FUko znTj3sgxhLSW61nyG&Ax8ERh@49vjK~iU8}v$yc(RWeHd9d)XbS7lo;L$(>xI(pJag z4i6ZfBmfdmmlcV})dk;N@P$QO;94IE@MVB)hNI&lOVVXbs{qrLozxsc#^3xv2$DmK zH2{j>oFso}Nw}FbsP!={ZlH zbZ6HGQ%K%Nl8>zyrJ+>MuFUMOmMYripRj$K1^0jhwlLT)uM10oBrLv4x2^e{%VAQK zUs)+ri3CaApKNm<8VNJyYr~R-Gv++$-@d)bPcNxqMxQi>Mpz0*en{4nB;$QE)WONm zg8r%I(5|Akg($dMGtrW{7@H8*2wNRQemy&%x-dpW|91mKLb#nU<)u&8uw*C}i63)9 z;#cBSKk@u##M+^{fUdkB@r+cBYAd&;ziEq5$-sPoDVT#Q+3S}D)n=wYs8qzrJ__eT z1YUAug^*@ETMIx}&4xzE&Yn%VoWxCUFG`<<3nHI|OR4pNr@Fq5qT1SNR9{c!My{82 zslZ88qD63@@r6;~Hr)j0Rk&|JEz}@EmgpO33&();CF(`dDcd&Nw%yXn>Zx-r50Y*n zA!-cmXJkJ{Lks!9xvoL84AA6Fy7*kt7QCViZn!SV8!O#wR4rG`vu+BcYZ(b>B6C4< zB2}Y~pL;p`|9#1s53BIg7BP?QdK=1~=iqwG^3q++KbbRM&Lzar=u&M!oF=InO-|BUhiYSF76uNrs(MB&3o*WUCkTAeM82w~bq zKib@Ha3T2G!>)Wf@y;Ri&cxpoY{+Knn~I;_9MoN9gfwD|7#P)CW^Za6HM|W(NfgD2 z3w`)X=uJQEGd44C%Sg>66ek)h#A%$9|B(59JOQ|`wm0tEJxfp|z5c#{_BHcvVwhK@ zYzzA>HpO58U+d69F^JsmBe6%M{sxny z4AnM|$f?cAdyS-_VKlTDRD~f`X_8R<$Q*uq-Ujq4)Mh4HWo0T~f(Bl2CMt>Uq$_KI zRIwy&~ zK6~QP*qNDJX_8Hd>zq^)G4->k$hC|3iQ*JhMy91RqMVUb|2ZPty0nKA{@A(OwndYV zP#YtoVFC{lQ2;l08!1v#FKIFWXp2AfEyEKp6PXzIrM=ZO}J6_tQ(cCf;>?_kV)J;T+% zOIm8|^+Gc(rT&E1yWhWxXKypFgikP)+Ge*f=lOrb(t(ZAr9n@r!Irh7ejYoqNqO=r zg?i%0=wfCVN7=YjTmwgDBp@Dvg}icvk|20*{$fmftqO?`A}B~FO4x~kw>fi~JD~zP zi;$0fX~2%VsE8BlsI5@zi>Ig^|LiI3kutqCWD_{(v#7i??;M@s!_q8AgY!tt$vtw}UsyU_zpJ8fKt<(* zW~pJA_%6~jw8(G+e|1HqTE$pKSJYwdFS~8zgx=ijX(#~n!?xJdAxw)c6WOnt!?|9! zH;^eYskE6_BPQNBfD2E2$OHdst~^ffvETRyvBQ7CxMd@#dibD$Q^K!`#nkZtAS5o+yc zOr|_vhR+@Os0YMOpD$CIPxJ3imo6y5K%rvg_lMz1-vjEQm-O_l6~sgJ3zO6AtD=jM z^yu4>*qeX9o~>dkpVN%h;d1MmDd$3S{A3vZ!lk@a8lFG878fG(2@(Xgjzn?C6R$YY zOj>aN8OxF%@(9M)2jeirU85B+8Ii6`nM!(*=Rd9Sh_upfl_+`#_weI0i9FwgeMRxFoDi_Fsc;ep^?Nk|-;i{yhr zrE!+=AFJxr2lcww5;AuLd`-YiI3m;==&Gli86m;#M6s?0t3Upe96Vv$n7%g-q7rL0V*IDKjrr7OftZ0*i4k)s(?;1A&b|}FA)TEN zdOO|uz=Zda@lrxz_a`ErH^`qqyRA&MYTl1nY^JocL0-RLRAHB8Jf;uaiBza$pPge3 zDMG#aLDq-S7+3qP;32!R-B|f&AkMfk{%Hl~l{nCIcT_@#a8Xq6p|Jf!;S~Y0=qv=m zdOXGYfR1+{pPvZ>cx(6~==!rMPZ*QSX2*j8no7ymWxv{Prv1nglCsd3qk32lLJ{w+ z)De7Nv?7orA+1=vCQgqGcXi`%&Cg9PF2CjZI{S6Xi+vokfHXWOa93%6x({p<R+X6 z`+f3Kd>1$1B#!>HUGn^nx8&o4&snmy?$P!&Icm^k4fW zu+vRXnG$?C61;ax_rvgRku!CWbN(1s0uoH|WaX3Kng)*p18MfJ|N1tAv*{9{3}-(1}HzAwdmbEL%tYrcWPHmxWfJx6<2n(%wIV}NaZqVF0()4IqT z4aA1z8y12xNEm7N(!D!~m(kpb)U>*2cVh4D;y?}uKTA2P+7Z46p7#+z`&LCee*9Jr zZkz24CS?oiZb8L?k}8?iK-Jc#nA#VsBp!Zupxzjzm#{>Q*u~r0ol0Z#^86PoyS?vU zz=9sfMASwH1qxO#oLhSj$g@{TNQE=MyMO$?=M@#u`8{p|ZWY896}%h0yTLXS7{hU~ zmK_DY-L5`VAtOsc*^%;G6lx>wV!IH7JH#(49yr^7XBRP085_fFZgPEzS_W(?*HpoR z{uQ2IIa5r4Pr97+;%xcDD{W%&T!ow@7GTuTk)w>d>lJf7E8fYn)w5hle=Ev=dZUtF zDAL)J=mvwm*=2d%1lmAI)*5=?O_~`Mr@YQ?D5XSSi(9=OV!s}l} zng>ERQ?&$6DKDvk&gLtkArhNA65vHO4lzgJcV&E518;PFY9bmiGGVt~VH3#LFadeb znyN`V9%K-5I7GuMbuKsZyvVi55?oN?y_GRFAi{d zrWY~dKg8Z991_Ep7@<^ZqqJR~c+Tz5gQ~kHd*PI9WfvCZOLKT@uyNn;HQi6@fTNcR zly|1$JLCh6qz0(k6%O6ITK5+?6{FilRdFXu9|65eN;>So$82i8e<0nhXUA@YBsw+oS@-f_Z_pGv_ zf!Zg?Eggyd#>;(ms+)AZa2>z+Q|hLIZXlb=Qfp{z*WM-Wsc#;0m|$ePDD+hKvQDVe zlLi zAjGQ6+Z4x4THV_>b_i!A151ZjuBo13KBBcO$V$W_cFIYCn7PJPboMVrb=bB4sqQuX zjT^Sid!pV7lzZ*goOsGG0ttQ}QJ(+6x#%0uCv+p+W5B8B9`r!CfM^ok{gsN+ptG0L zvfQ5djzpyO5{p|Be&V`>`3z^OH&f4ni)&>Wp~)>2z=oX!qHk8A#s*m76D_iKtJ2K> zPUcQ#Uwhd3_aA&O7ekL^u}tE96fy54QMl%7#_Av+?x7e84xHD*4QfkG5o-u;r0?cJ z7vfq<_r_C!zs@$WHql&?g-~(QF#`y=|7U9b5PZM8u5=Z=!1Sio3$CJ6Q`2VUPXvm} z(Y{OF;GW6cjg`YFwt}qZY%i=x=spKkd*jIy{ryBu-1aO*ZOF`0-yPC4GoZ68is?%0 zmSNT*AI5iFLa9vAm0B?B!cwv1CL;j!VL*uH{Ry1Lfm!~|5x~S|V2#Ri4sku1z%kp9 zyP2Fn-AFJ`ps2q6=kYK@tL~jU9nIT5w4qP0hbpLH`_|7%4x)PAN}M{2L2c41*XON@ z1M3at_{`01vh~?^A2wgochoPGoy)npt6liElHtdUQW&=35KZ2HNO|JbqkkNj6nD|^ zR}aH9KdRf&vS`=ac&Hh(12Qz+R41Ji3kc96=r+>C@@I${gcc}W*tUu z(fwoBDuA$zN2`z0HEuEG?V{o_OL1L@K4-=+-zAHKTxYCk8*<&ko2p~dN_qd=G{@i{ zZK9>JjmX8cIGoiHzRKPjRg*(NGR^1|E8tNYO%f7jDUE6W@hXmh1~5NcocdiN>!Et~b;^R|0gm*8KL6 zCe~&SggGL#@ggsNJ+=GaMT-I^E&>AjEn_BYzDDKOcQk~?;yv`gwsPfAZpV1u(iIcQ zD5=?OQM|*Xl~SftFm|viAg%dtQS$b8QsxfCxC{}S?a91lwL&PDhqr4bl*Y}Z#}w|C z`UofZeZp}4TYelIebCo8={)t&I-o~fc2P92;d8fxY8iSWKN_G^>mL(hOwvd6YxN{R z#E|VxV)7GambQP__xoEOwwZ2dZuL3CJr7|U6P-~yiofLGR<3F&Hk2aoJD;2q>V3yp0|Zp#}sjL{J$)KryS2C6=hW$^#Kga8vr? zSHlnYyaemdAJdl+rZD_k&+g49NsI zKBK%QJ#i^gtr@_w3BzV7tw``=qsXrpb~Sa@n!V2tZL@vn6H!@9cUh>u>WOfEuxr{) z>}}n=#FgmS{*duaIQpqh`)?dx%Q+~IRZ~=F`XW)Ym7lbMvJZV6g*p+QGg2!uv!fBS zxYmf3YrLY8gv78iC)QLFeJ|!$}f%xbh#YZ;rmmVu;!<`7Mh8EckQw+XhR& zF!cP^m_6y{$ZczO%8I2YGE&lcN8#qOs>G51zzBlOwLYtN70pz_MiWV|S?Qe>80_yh z6VJ{(3Ycm<@@ZhlKl2Z6i}qK|JE!0VS#!hma{(%R{~CCi`P-GAGbZwZ5UOo05rXdc zp-XmAc@0;4PPhpzT21!7W`O@E;8m(|#1iaV%jPCWRzL{o;wQG^vi{nj)VvjaENQPw zp*LV~tI(>yeV{0Mq%t0*G4SDSC)16gd_ASBoDD%7 z{sW<|TX%5rC$_3BFaA9<=ctPi99VBHK1*PC#1Gqk;Abco*K9^lU0vq$0rJA5Co%Ce zBmn3|8fM;=VASEBO|USLKoQs6Uvk26&Q>>WS319kY}NeOXgt1>^mbgYw((zVOXRr6 zJ`lx#!&A|cScQ^Yd4*Z}N99`7Fb>>%Yb=68{Z%~m{GKErzL!j8CTTiOglzDvF<0Jt zs`c1j6v0sPQTbwGkn;PrNyp*h<+jznQYR}_*=mt-ivmJ$V9ysHUNRT9Rb#X|`NxO< z;;++qT+~bM-}Upx<8N(IO_u#@3hjG!OB92{~8A^+i5rU>kv5ZpkhA72k!Yi+meTgXqK{4se&##^K;D} zBvZe$x0Ll(2}A*G4rcTMr{2Yucb62;-YGkbGQVqp!&+7-m{d?SU);GY;W~kcmd@oL^sMW+-T| z?<%&)yS`M7;R93vO%71Z|H%A$&PG~4$B>*l?6fD5?A)mm)a0=XCsF*rb=b|hOmP9L zF;fBe^7Gt1%9*R2DiaiW{=?3lbl)axZ9W(3YCUzx$tbr2wu5^^wz6|^J8@YiCShH{ z@u{{XN(&9Id}ZvfueNxeM7De9ac;6CUMwp{G;jKWmTk^5EQ%bkPrU4D6)tzG)KMhJ z^K^b5|JIfS-TZgV;BC~u<862?U7x(9x)s|l`bN)#l{)Om341*sMl6BQ?Av+HKO5q- zIvxgqO03YH@R7WD658lzIRE?mS6N@8yKW%GojA@Itd%bUTVM#TgCY>xrB{T0Sn;wE zHjD0JzZfnqqhYKg2aOiF(Eez_mW}~FSlB6^4zW(lw zcum^N^ggy-oetU6xb1_TVCub`sc(~?1A+7_@5>qQiZ5)t1WK=D498B>>7>psxYlyUM0GCb5ae4G}DA%VsQBP&fFAy5c2Q_D&(7 zXw{8T+xTYZ=E*!BLpcUXUoy+{b7E%!K)qYXW`{&(0@;q0g~>foO?(o~?b zdGJ_)ENt2jR`C@+H#et9rUYC20qVLTyHso{AiE=S#eH)A*@nh{#77+A&B7Y`YS7FFOT8(I1Z0n zFnuZNEG{u1sa(5Y0>j)v?Szkr?0a4&ZArcOptMTNS&zDH2+Hz^6S3PMN#NoZuv&=kL}j7mooonQ^t5u zxoBt-GZmK|9lRQ|B!9*N8_TuM&dsx-Nw(qJQ}i(4F4TzIgZ%pO4#B zURuLJKraj=ClecB3Hk0OTI>*Ys-Z_+U|y{+!J{ERSxa?!S=S7peTR9#(2=`oxZ<}r z!@39+nA@2qSV1a*{+!SL2%O$(*8A%1!WZUl+bdJ?P*)DhG7NlRm$o&>YsR`bqK1bUWymc9<^Nd(rAM26 zdXMV?EQamhpzc-0>|$tMwWFOB~^Tl;+~<{~0qdH|sdL+_Zdw?w$XM=iuVZ$zV3^GgcC@ zfVs8j@pE+PYyV_l^a~h7YQID4J0ZD73x>wKhB(R%vOp} zM+)zuKmS_qfXKtZ3WEUPy!i}R^#1ZiISxi;iWA#u9zF}9>m-4%RqK5TP}!R%tPOTL zlB#hEJXS*)s0=6)f`m4IX&n>AXEb;iNrP_3Zj^f$)_0sO8tG@&)rG(pf*HW1MKP{U zWoPE`?Y8y!fc5y3YE)se_I>#%8D9>^!SGBmGP~)cSB(qgd{mmsfiK#64ZDk7#Z8Lz9f#?^RYzOO*CGVQ~UH3NW13$2p=@ItT@brd-GfjdIt zLtyppzkdi{5YVN4;D4Mr`k13oHzrMz6^uY0H8!pm7@YpcIyX)-H$eoZ70#7d3};%_ zebw={qrnjUZ#H6Xk}DU4`X8(toJWos`BDKxH1z}1qE8rq*H%FurxCrofhs$*`rErZ z*dS7ZD->8Wwz^WH{1HM0kznLf%t5opBLnK{xp6%^f3eWyY z_eZ`qiVdP)*Bk6K#la?_f2;D8t5E0N&@wK`rh`n0hu??*?2muxUfROJ$fMtk!g^hZ z9{%Kh`M0aOzlxk6{xQH$^aEya5W8Xv9rd1Y71vSZ)zOa)F?wumDjy#sYyI!@m$V~x zccOG~nBbs1&G{L!-5p3^plTr7Kil|xs697aff?~7a2dp5VSKuq-?b%khXDT^!-B^)V6dV)zlUXvAaCnOL zxVKOToEUO&`mdH|Ll6vyZ6J(;i!0R?PFc>~<$D&wu=dKCzV^LsZp2EB7GnIeMcvg^r`A z1c6-WnlIX5IOF*D^OMVbxAYh?eeMj<;D~#e^T!!Jfm40>2(`Jz7g8U>Ee7?5@w3Hb zO0c9!eA$%9?7MF{IdA11$k0$v+*Cw7J5J~CE51=oC{!2S`RZW6VlyOGn-qJHJJ$Jt z8)VJHi61}F8%`oU++KASWn}c~hC+{C=2D|bpSCRG0mt)uxw?#hWh(a= z9zP}o1K6V2Pq%3E=%wEhU{J16_^h{sDS;m&L|vCCP5zkPNR0S8@v4~|xRj57#%X>l zTSE;Z`Q*TWGQxrZ+x==mQQzvmtH4(Psv0Xd%j4^~RqY-;bWe%vaSuBf<4h5^%v z4hNh{5P(c!d%pvGk6?dn@tYG9BS#`JF)X9DcDI&>s4Co%`h)qL$y$_$83JaL%Y-o# z6@OG9xV+ztAnNo+iTZx0?gi46`n!@O0fe0+G~#7CHkS^SX68%;Jq3{z9z?&l#Xma| zx#ZbWpupd0Xv=`yxAs^o)*6}=wsCYMN^*>LOe7K~OLUwNGP~{ey>3FtUfcOWfkaZF z-Kvx2i?8iA(qgthGbC~(RK+7q#j6}Ei8PYXm}p)M=Y%<+NppvzWUEZVO{;2X+OAxJ zjPqgQE8rfQ`RW1#<^L*BD>R*am4oKQP}<6SkVpy+hhnvy|GZO>V#ZKCJy@u=!ezZABLcL!8^g|s#&#_M^ibT!$@3!ne0poV zc_(q_s1hVnF8r`7SzRBfnPAfh#{7C4*#?FFa9d>{H4oir+OmV7n2_4x$@V0|HRHcz zechJB>&}dk+Qi}=lang-I}u=%gP)##(i+7fwwwWhTdgH#udf71-nFskuEJCk{gNy@Q|5^n{Wha4wNB znPVUinBTx&esXyvHBnoCs|J(91RQ0}?PouyPNeqvT|uE071~%r!TIDoLlRtKNuNDF}|8OZZX%IJahGr=Vn_A7LNiemwnJ$99{fLU}R|3 zTj9tSTUhuMe~$^lNB%!9fE%hndQR&F{LmUNo-2Ak|6gh8Al>6DXwIR{4>7;gaD><~ zb%TjG4yjKmhI96=a2ytVIl_^c!r9w6JrG>C6Sd)|q&tUa7Z5D2Z?+h)o%H7+eEP9m zEyw={HD|Y8t(xKE$>FLT|Gq+&ISWr6v+o6wweE!5hXXOq=k9u(VyUgSBWyeJ1NKz* zJA6TH3UWS_TkR_ZW0!TXZ3$V*n@7^pJ`PPtBSQ>``BLN{ATB>MdH+~(ZgMEgXEd4s z&AEk$f&pxzkNL+Jx0Co`{h`h?5c$*QJs$hpE;5?G;*k{MJsOcuKa|5XKKNmo-xPD? z(8o5VTF&TtO@CRtFy$3@>y@hVm@0Zt;dX3RX_DnyNJ$>8=}ca`69U_sS7|sIfAh3r zo4W7Mz%O62m_ONXj#($2D%oom06K*}KLUX+KZ3$Qm@VAVJa;&Ag@M?f{#`#R<)VuH-1&TpmZX*graJa`y2 zRMwLn$29V286^;7a8$Rl>B7{!WUK8$3*pDCPc8-itD;Xpc%DVj=q(0n05-ywpnb{O zZQa-|8oGW$0I&B9|CcMC_&F4eGi;WO?QRI1j?D@DhPX94v@V7``FTJfYZFabNqnE9 z`oxz_DK%Wk?L8022;hVrE=|9U;U~`(C(WeeSQX;%Q8TO*>f0Jv#n9@bTwOb4m4>JH zLIyo?a=8{JKkP?J0&n#7IkN8XzrEAVPy5v4sY-ORJ=p_iopAo{SmyTb5EO~t$N}jw zIq|e3-(5-_E&o7?AE+DC;*4l8RwNS!S;>?E4JMU=bYe|j_4Dfv8%FswkasEX%tFAA z@6^nlut~oy4W*e#Rn-U{H{m3Zvw;Wnd+y`dw zUquY$A=1P#iA1ks?FOh5Q)vIxq&^1-UCgp7YO~+muB`r5={X@Z{yDh5Zp6c5_I5~< z&RvQ#bHOFN23$F-P9ur~g5rSxu!9Sy=ce7MN**f9z4Mt`B@z)C&O%1fpZ@Mc<6(dj zSJLK&d&!owmyUnHc+ZIZ17_O)EWl>xITN!Ob@k*Q_RnlYeqK`=$fSGOb+qAlYQq=^ zLQK~^tM$6(|HY1GAU{&`t$`Op|Lz}V?KB<<>$|zW5dH78K2FTv;^)6d70V9v927(3r7;5h*0-cx@uQoDk#p4K$J%Nx*SmTSTnKwdu>|@3|P)M{{%EpXut({%u|&g!cO!dJT!0j3Ot_NVzsN?xtkgC)vlpf1wBXg@?;QWE@x0 zWYkscAp@>aWi|ZywF6X%bWj=R^vSw`*Lp!C6kpNH3Uar$S#b5-|1~u?ng#m#Ro1$U z@>`cy`qs^Gs5({nT7AltzVC zdEz3$KKzE$Lj|}9%~^9?T$JCVCzFsiD%8xtD)smIUA3=8eDr-sO$UC{b)-?bc{vhC zSCZ?O9&IdceL6|YN_Xm&YP1O@z(+Mam?BkEDP}C(O)^dL~6=$K=zcrIabivV2iX{cinSq8w8<@@VMO-q_!y z3KSAtD78`?@C?&Z+`d1$yObl@ZLenc(r2Rnz{K;)m7q$QX}_6i8M@hESPRYorVfra+e%e#A><5T zhN`}?P){R2S7q8X`Sdf>%=ZFessEC0!{Y_`Au<&I!fsVmc~vB1cL>2Jh6{lHW8xAp zi#8E{W6hM!3yjpDMn9?MfXC1sl}XF5bg-f52gt>O7*PTnY;>gk}u zY;W0SI>$Y&-#>_Mq-|c5ZD#$DTg&qGvX7)x)qKLylUwUz<^c)W8<77lzY)wJqOr?k znFtBx!xg5$?!3%|#{#^G1l`JAN;ar;rIoZFhUs^>5`EGS!Iaqc?%v}@BbkRxFkCL^KS96)Z#eZ_9pY!rp=12(Z7m!a-t0=?$6$bSr}`lV>$cX@8>ck0#Qyc_%}oZ4P4}CdCjNe7$yj*yX!ZQZ zdtMSBi8iX?5LWc(Ej;#=bf_n2Ym2;X^FR=r$9CMg_aywz>q`NJo}_OPoe4-vZfpLg zixyLoc88ecuZl*^4rH8n?hHf-$S*LO!(*t5ggu})VXQ>d&BpkWEtAEXi% zB=6q19rz{I_WO67>Yv*|ZvWNG3AjKjpDeS_Qe^JCWwB!C*Svyzu|pl7`?u zC~1HZuz$m3$eRw+;-*H!M&R7Y`^?JI&*Tc0mJ$Pcf?0Oi-CrDZj2uL*b|!VcX0XQ- z70Nvz`MTXzITMa2+y6^FyMvx%o5f9b-@7rhgSG{3i7YpNVU>QU#D>v6We*$UVNFnS z8+sjM%0{7QhBnBFiIEPK>$+O5+PkaNL*Ol~62nlnceU%rGjWwTal%l{z_5QAm0IdH zR;o2#D){rQ3IAIY1I=)k1SToFGE2o7Vx)Ht(2JWW zdKr4;0e=N!HM_K|_nnPJ@FF2K5jhdxDaenV9f^@W)6;T3a>h8GFSm439gS-gCoaC$ zZS2%b?O$K~`F60Ko&|mOcjcvq=aY~S0g@NfG!Z|AejTLA#LH+!G*bR_*Iwbrk+g}V z>jHs5!0v2kWyFgFiSy0?(S`O#0-2W?+L>yxFm=6%uB0|4Rf@-GZL!xsU^KmIpL|(I zG?+EGY?0*msnNakg8*=2{NMit5UrF#8^4N+iHPfA(2j{9@8LRJA{>?DVokUaPdxRM z_c9>?73RHFfVQ38)mj3JqeEb z3bfag+os^2_R2?wAsXlM<#ULNyBR}DXVvNSe#NZ6(Nm&(K-O($c|sufcbh4cI35~L zFL9mUPvQI&(UvsfDE@8+%rCj0bpMDKvPgCPVtF~+9C9@SCJ(O{iFd;0=Qq8qp^DH8 zS<1T=iEYpQ7lX{U(|m6_l8h#c4gLyX-gM7@%tYgn?DnQez^oXW{tyRzLH` z6qC$@40t@ciMb8l2|Pt1C(yk}akRE7XCh3?rYvF>4oMu2Ri?H#L9`RL6CZSH0I^&| z)Y=ZV3T!St>78=o!r~)x;wgl31KJMvGn}U6MpFr0(yx8@SG;lrDED1tgLf9cka*0t z$fU(3Hc zkQ<-L6!9_`dD^e;GPRn?p6W15&de-R;_?R1O~|An$ul|@`JRc-t0n&_Ml>lC^^lsE zIv?q()TLnyzug9y^WFh^f&UA48i?gGh_vPjf(U{HHbnrMpil^)f!LG*HprusLNLX) zZtT=xV7Ey);}3#R7wxH5q*}mbu~ZjWX-K7jb)l7l?bRx5o+Lh}Z=OG_<`%VHXFN9&c>44y-+lL8 zzWwYOufP9&?$0d2WhoYFV9A)rjA6)&ABLoHFlk8S*vL`7OvYi9G{H2Ny zlS%+Yaoyhy2DVcGiePYz1g@XB@{FLfb7MaUQ0r>nZVqcL{*<=BLZX7D08;!%%5rwa z)(Z!4Szfxb{L%{zL>Wu38P~z{&~1g_e z$Jdu5=E-m=#@S~Fy%4~6S0h-qVYq=J#>l(`7rBaz3#EnZvfq6sIfIsLAZcc#hje*J4bfA`(5 z1pimv7mrBb$&)Ae;DZk~OYk>WSA2edZ}ao#Y5(S%R>-7z&M$_N_hrb)Ih!<4p$Hn= z=#8V1qp^*KJXUEUIYOF5P3)lezMt?>9!kK70pQ@$XkZRPz(A~d0)<8B_5fl&*#aa` z1~3KKVVxjsBL&b_Jj8en`9=sJxq|zI?XCz`LfBx={xRYzIN}@UBf!T!e?|)H zmC?G%vm9XuG*9bi1aP{Zd}ZY;FZkMCH8gtVfY`TmI!AhZ{yE^W0sS#4oHn<8XWNSZ z(T3Fy@DBKp^?gf<-*G1OaSrq~+B-z5%X=sQ?vm&XfIFxF{x-QrjJwZ1xyCvKH^3_Q zMngIId`91WqQF^bTI4ZUC#6MZ3#FOjBD4hzkV{%%oTWIA#@Uq?)mkj)MJ&Y&%dkgb z9V$wxFWg&dt>v4D`d8!V&o3|icJ=%3zptlHpN8be>%sr~?gy^d`w#zTRNc9a%n1`%VHX_i~YC>e|dWPlOCBVy>^xBF`hd|^rb+*3~#;OJ$ft+XIoTt+tUCQ&k&P$i~_n{wn9Rs|y zlaCo;#qMbZfg_$Hyr0jLp6}ZcWN~)t3EX5jY_0Fx01ojbw~tNIV_Sz#BtXzzu9*5R zWIc!t>{=sz2mX1)2YSaHk4bYv=Bol+{e9H*i6U2_aRH*l*W3#&q(7lpiZN1e!eY|m z&|*r9B`u|~I7-sMot)9f5YdyYtoSAMWn-a@2px?|KA<{Jya;!rhu5l|p@>5m0c0lAPUaxOG21}<_GH!XxM^j0Waj8?>2s!)c+vb3Q# zV@Z?OT!(sqTFSYl)|%hlwcibcUteGQr|A>Fzr4}gKl+jX{P}a?Z~sy5;|2}VSZg_Qd#kcP7?e2KA%TjE2eQgWANcG-QBNK+2 zQF2CZ88v03l&h9uNGVeqn({ztkb8K4V4!ReeFQMD6Tt?2vrqz3r~vo?GP`52Gc^$9 zLrah%Ptf}l5KI7)wB`yFRRk*X2ZBYFQ6|9%8VrDW z`v%Wd*PmzrT|;bngMi<;9gtr7lqVYf+px*#Xm6jHwd>oT(V0e)8WDe|_+ zFI5@}!0J*ppa>{N7MH5}>^qFU{G}1a8j2+>>cj0@!Xn1|)L2B8j2NrmCls_?QESC8 z)Fico)RNSadmG%_!!Y>uZs%`bUHSjMzt=mrw|Z^V$Cpd~KlZM8oEyMnTk!GC4cGj@ zN(6`NYinP8k*13a+XLyLlsu8?SZf|8CbX1`=7E;-;3?N`7hsmx2oGSOX>eemF!XA` zD*p!u1|ze8=u+%$0HY59gbXr6(T_kxUcrANg&=?cJ`F(<0eUD2>Q#l_`A9PHoCrYl zyaCUMzyS+iu1Gy%%^zqxtpofl?&Dnd6B~|z$5!FAxix{WUePn7@O7{Dqlm6okMZ#t zpk9jn)cJX95|28Ca`Xcyf{-9?kzKz1kIqy5j+F#@U%Yic8Pnx)llBqiB{&(8KERLG z)0C0K+rW=TqH689Lsr3q45Ui4f~^-H3p(hnC;SYlxN6L;0T$~(2hY~!Rba^+3f$|G zT188B%B`~HI!n#mTasFKZ{r(pwBy~KufU%l9`v2dOF#SxfWNjsL?Av=17Ai2t0EZp zd)^%mwqF)2WEyL=N~YFdBbkn+ zfGJBs3Z_s19tvS20JBg6-chko}{j-yR5D7ej9pvHTDY`-dIE@XGlPA!3 z0@y$gL~lJKtGoB8&uX0nyf0Vq8&DcqjR-=BGG7%^fmAK^3V^Hjx%gr_F1Lyfc%)XR zmg*w4HQFbsEr)~WtE+arzxNk8`|d2_FZcKQD&YS-F1m1>EewN)GGg)p-%&YqqmE4m<*R|730| zf4d7-Lf~rCMd{1|tkS+eJkyCGD)9t-i~il|$Jg8m0MYf9I8BEQoMr7nm*hrL9a#@IBPRiIqM1NUg4<@)+#*J z+GpM()KF8komzrg*1j#rqvtDc^F#8(F!+8P{d#}vAOFLHu73JczkgZkzyC~O^Zz*D zukDXa5yfYG6%pVUzrgiJAMw+9w*B=rr^`#;9gjBdcHA$E9ZIogmd4g>-0iF$4ym1y zfygwF$$^B{avqsV3j#<$s+|mI%5cxdoIua$qySfL#%x{kgUkTaMg~$g>pcsl3@C|6 z=12k)Ey{_468d}zAk00;fiQzSDhld-3kVZnk~Yi0SL{MW|Fy)pMf{+FQ_kQ#U$7?l z0$H6PdXB)>oIqC$XIEBd*V%s075B5-=sbZG$-2k^kXSp^^*?hnHxXxp*%aO5Pryef z1jZXzDZfR2zC@lsVbggbZgm)t7{SZRhlYu5vxM!|a#hw@AV>J*YfsQ8I6hd59Nn3G1 zFI5JUi@ z0s{O|(v!mi^c0$SlKSXsAQF2gsgE=HzbOGl@-N=!kpwhWuV~4vHr1A`gT4d40c|j= z1X`6E6%*~+sJ38gd7eG()ymO4No`3T^uxXH@3NQUQTI9f;o(7l^V6T6Wd2WnqW7LZ z*9QQ;Dd4Z|E642nH@4NF0@%88;e9~8Gm$=c{+w?=d&d1Qeu3*{;dgFse7w5i!~OrU zo7+nct?{l_JJf3VhP=qvHrHyqI$9f;io3O3%#TbY69yR;q|((wLP?gHTu3k`f=P~q zhGeiLaP$0vQeqqzJrPLOfiEZ#Ob$y1Pf|}1!c6dZ2&v};dUs?)=y1|Wr}x`HTq^;B6X>}C>p^)fu@eX!#6v-^ ze{2YAQ4fFz_k+?q*4@CpW%AJwQL)JU`nv^1)f0;kk$QmZBTrPQjME4^?c`EkiUjUDupy!`53H-DLZ!L?wfcP=me z@N?+ze)%uhqWydCML7@nHN4&~1F)5Jq-Hn(Os!@xPg_S0lbYu0p3HBFXV zi${cqWLS{$AX8zooK3kTCz2N=OK!=SRKx36v}DOlu#_5-*pkF#W~PP&dan!w@I}SC zJPBrSPc$xrEN*l1|3 z7?sD68l~168WLLb=0t838V58}Zmm}5z?M0*R*GXpD}`>8+E9`snU{HXJDPif&%@E@ z7s;oTeH;h3dDb=Q`+I1)xfU)=pZ?RG?!O1Uvn=}bM?cbgA44DC0Pp?!*LwQw835?X zlPBwS0lop?Z`b{s`rz07t}TOvFSiIE-`w!80gP8y{8hIJ<9^R^x8pEPJj|b19!5^3 z*<3Gdsny=hnM-Sy-K~tH`SF;VWN8>IyW5dVNV@|zhI$v{e`^;ow8QtXcmKoCN7Ds+qB%TwQi z2#cK%oFwTCG6)+0N}`z|2;r0vj67P{fiH{tU)Cbnvv-weFENEEFjDTJ5?0X5bOw5p zAekh^dr!4_Gp!&$-!Gn`zW^ucbhx_z*S75*Vu|i>&&is*$MFVdLI=H?8l7|}Qgb$^ z(7eH!(Y(=_)vVG9G|K_@X67cf)R)!FvlXuky{6>ZW-qh(VCG9oKIZIG&fZGVaTvTT zi}vH_%kik?aM0oAL2p0YY`*@TmnHs7U3LR0-%PZBUHkt@09(^3pa6J18GQ87NBlW} z$QgXX{cj?HINsiJ*zftTyB!b9V#7FcSAJ`07&+HwDGyv~v$5^Wa%O4G26rp1SsrE8 zgA}T}r9sv_n@UM3%bK!TmboX3`?)6fWI+@%SF%tEGAfyw%q24#T+4EskxaOt9zxpH6L?sUg^!Mr)u6vZ&rM#v4h>b+Tue=-fC4% zX#;z!Rp)@;4};fbQJrU94}+JRgO{BiGkju zeZ=|L?`8J<-To#JG5q>#h+%8~(h%)t_R5WS4s-yBd}ae^ zy^oB^L^U`}6axL~K|Yj#Iw|zy@pVX8_a=BRTX^sTy#~{{o$d3;^2d7X$K2&?Zq`Ym z(vt?{>T!9ytFlNC9SiaJMv7B7^PDZJ#qyWGPQ9rI@9}BAMmPu`7n0$VQq2hDOR| z$r4)!|7gZm+-Md+w#4RcG(`yzB9gI{P6l*F@G`=Up?sq?8flUAi|x)9{arbwGX)TJ zQa3We;ofT*E^eK35a%QHC!^Ab>!H+LE7aF>~RJsX|JkUYuUnyZn% zw5CKl&3yEvEc!vN1bAH*;nLh&(~!**h7-_tJ8z}v#XReBzt=Pj{ue#Emp9(fay;r= zx6pDkYA!_=-~RRq@XMmV`z-hb~s;lmH{^x3lw^k>Pue!Ktq z+n-wjd{ujtGXP#y2agEhOd+gg#^;x}`~iM|alhy9Zf_%xaCgT%O}raN=7$I7aby|> zro(}AYj(()DQBj6W^uQaGc6@rT3Fr9mc&&xSV}aj0rG0Jv;y8}*4Whdn~~N+);D7_ z3rHKuW^@&!k*%%!jTsq@jr7>pJO~3wpgCJ3X%WTQNMs-;Udaf>96)b=)*~RT=X`mS zS>(Uhw^)pN0RScwP~)5mDD}jkn^KbGD{*v9q!ebSpBuwwCZ*((C&^tl(&b56ieYz> zD{+kI?k?q6CQjSFw4ST&|=Z?&q`sz6c<1(3zXb4;Gg%LuqCD{0NdNBw@GrN2&jfJZ zUTYPAVAV&2aAp~RoREyx3XyEWqgpt6yT!~nGBK^UzOL&&-)jPx(h+SzsfeKRbTZB3rGFFYkz?T1rJ zs;EfGgc9J+N-F)lcwd1$DJNGcfG1b>BxP6jEG3tF(%>%7IR?=t%Lln7390BR(HB6MQy)VD@Er(|5pHSbg(bSqrTO>I}l)B<@{fL?|Y9t zJn$jjd;ad%1w8QY6!hoq&usy|ZhK@EfNi7*0AUw^O(ATSp&!GiKl|Bc8?Kj2e0&4` z_00|1)hEPnuK9)mHeb?5;AVfz-yQeFXP>dY{Wf;>j$fq2;kGc3Bw9lrN2bGpFWi|1 z=K~V2b~~gac$hLV&m;%7wh$yIH_WSwC?}$5JHQH97Lg|ITEdbO#|mQ1UM0gr!!FBT$`01(L;6G?p{01_`7rluiPpPM5jXLVVd22n&#N-fr5Zf89fJ0Yol< z=Lq`=f@(bKlucTeh9PIcE7YJNk6O|KdX^F}I^{WQYE4H7WArgnnIs$wd~BNPs5TUN z8-*7Od^EMzq%_J~RhuU5Yt=n^FGahQTG7?D)XJ3(`&sx5s3^MjQRS_wGD8?X!_uyW z{a(*+Z}F|08_lH%4-aVH{jT=+_u2zEymPDZm%y*~d+mSrGkp5thj@;6g&TyVfBGSw p;u!!umh~XW{|@{I0Q}4C{{dlo1(2}(%$NWG002ovPDHLkV1hkkNKOC% literal 0 HcmV?d00001 diff --git a/resources/onprem/storage/ceph.png b/resources/onprem/storage/ceph.png new file mode 100644 index 0000000000000000000000000000000000000000..1c294675b7e420158573fb932b84d3db1c34b3d1 GIT binary patch literal 15385 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ⅈK^3cmL_z~VnVLIrx{r^Z1Vy!uPf@XB4Kz{-N&Kv z6g%w*W_7FSvvG%6K2A&r>vr0z6`vJE1CcMzxqdj0MJm}kx?~tUqp1CFQ@y|e%pH4j z;qGY`C3Dd-?ih*P#&4ws1*ZNY1_BOMaKE?e{|BzlB4VZ2V2V>(>U;VT4QhjYq?T2l;SQZnu~*l6yqLuit6%1sS>sw%2dg=H~m&Ii;$h3 zq3Ep6H3*n`F5nG@Bcf9^jqCQ-l}a;?tpu3`oxXs>r`z4oG6eY-f6LvfZ+6s><033T z-?0{{^O?1L`jWqqdiNpM+18S?fE*y-^%GVP@maEnn8@B|kC4Q+L9U-ZTU66n?3gW7 zZNC%lOnks{58QVpc=W|(ZmFqpdkXW=w6NM;n--FtNyDH}FMW9F(QLBaoWz_4Mg|Su z&ldrUz+9`&|I*xDxRDy6A|N|f;b+3`UHD%YIHjbd43E2d#HB=R2WqiF)k zqiuHEcpMv$gARDh!@t@|-;ki@o$@@of>>_))qUKhxP&ysX_3J)u6OcHbijJl_lv-Q3R^m7HS8vDc3T&SBIpM7T5k;W8O;Eo`#l zf5GKBn^ArB_KvJN(F$g=?M!ypjn$lXMAP*3_-N6n^K+f;s`1c=Y5F=R)wM z8HOt$pY(CX3n`W+67iqg#$b>bCt16VpsA19zp&$(p$e1oQ|DD*lqa^z{cng7oaUD+Dz}kH5La>!!X<%;r5x?$>#lWqs11*8!E76>9?T*ky zi`_n^B4LTRAtGn8)0t=16HL>GIWWYGV_<46RX3rRj- zGIO+*Xs4TS93C8wV5VcOb$!7zobRazPCxTw+(eyPn~xy~fqSs_l__=~7!sRfJP2~% zp=p8{1Rw5P6&Av@ zaE^LwOzZ3DBUS=RDm8ga=A9K|DSwpcoaLV+rt&F5XS6s?I&uLaLmF*%E7DncNWI9! zXbzBgO@EZ(WQo!AV2XnUS`t5+E+3R&83LW1YxE7q>>7ZMs^Ys&yW~`HfJ0N~*j2Ou zKr3lN+=#nVE4Smc$=J?O4%;gULcQon$^;duu4 zR;$*i1MpZlck1t&3>0KGCk~~rv@iV^LxT<;ckZjIN=u=417p^eAymyl;zYSwlT+-DC|1WF{qu zFq9NVKcDjFmn5hgu$u$msy&NES)dcf{V_X7mRXOrz=H&cU(_rwwF*v(g+rRh!KN&cMIeGsVgU*Oc{0jr1D5oY{D{UU~ EKNs@4&Hw-a literal 0 HcmV?d00001 diff --git a/resources/onprem/storage/glusterfs.png b/resources/onprem/storage/glusterfs.png new file mode 100644 index 0000000000000000000000000000000000000000..2b46ca6e98992d524bdae3cb151f270cbea20c39 GIT binary patch literal 38742 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 SG&-aJ0000 Date: Sat, 3 Oct 2020 15:27:48 +0200 Subject: [PATCH 31/71] add(node): External DNS component (#294) * Add: External DNS component Signed-off-by: Nicolas Lamirault * Fix: typo Signed-off-by: Nicolas Lamirault * Update: move external-dns into k8s echosystem Signed-off-by: Nicolas Lamirault * Update: remove unused file Signed-off-by: Nicolas Lamirault --- diagrams/k8s/ecosystem.py | 4 ++++ docs/nodes/k8s.md | 1 + resources/k8s/ecosystem/external-dns.png | Bin 0 -> 51875 bytes 3 files changed, 5 insertions(+) create mode 100644 resources/k8s/ecosystem/external-dns.png diff --git a/diagrams/k8s/ecosystem.py b/diagrams/k8s/ecosystem.py index 2e8a91f2..41c84734 100644 --- a/diagrams/k8s/ecosystem.py +++ b/diagrams/k8s/ecosystem.py @@ -8,6 +8,10 @@ class _Ecosystem(_K8S): _icon_dir = "resources/k8s/ecosystem" +class ExternalDns(_Ecosystem): + _icon = "external-dns.png" + + class Helm(_Ecosystem): _icon = "helm.png" diff --git a/docs/nodes/k8s.md b/docs/nodes/k8s.md index 05123c51..d9c7e1c9 100644 --- a/docs/nodes/k8s.md +++ b/docs/nodes/k8s.md @@ -32,6 +32,7 @@ Node classes list of k8s provider. ## k8s.ecosystem +- **diagrams.k8s.ecosystem.ExternalDns** - **diagrams.k8s.ecosystem.Helm** - **diagrams.k8s.ecosystem.Krew** - **diagrams.k8s.ecosystem.Kustomize** diff --git a/resources/k8s/ecosystem/external-dns.png b/resources/k8s/ecosystem/external-dns.png new file mode 100644 index 0000000000000000000000000000000000000000..cc2dff270619f5dcdd415615d3b9699d10e102f6 GIT binary patch literal 51875 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 literal 0 HcmV?d00001 From c790ac47d5a7f3f176097614d3c2c5ed15f741e5 Mon Sep 17 00:00:00 2001 From: Nicolas Lamirault Date: Sat, 3 Oct 2020 15:28:34 +0200 Subject: [PATCH 32/71] add(node): Vector aggregator service (#295) * Add: Vector logging service Signed-off-by: Nicolas Lamirault * Update: move fluentd and vector into aggregator category Signed-off-by: Nicolas Lamirault --- diagrams/onprem/aggregator.py | 19 ++++++++++++++++++ diagrams/onprem/logging.py | 4 ---- diagrams/onprem/network.py | 1 + docs/nodes/onprem.md | 6 +++++- .../{logging => aggregator}/fluentd.png | Bin resources/onprem/aggregator/vector.png | Bin 0 -> 7830 bytes 6 files changed, 25 insertions(+), 5 deletions(-) create mode 100644 diagrams/onprem/aggregator.py rename resources/onprem/{logging => aggregator}/fluentd.png (100%) create mode 100644 resources/onprem/aggregator/vector.png diff --git a/diagrams/onprem/aggregator.py b/diagrams/onprem/aggregator.py new file mode 100644 index 00000000..01f3c77a --- /dev/null +++ b/diagrams/onprem/aggregator.py @@ -0,0 +1,19 @@ +# This module is automatically generated by autogen.sh. DO NOT EDIT. + +from . import _OnPrem + + +class _Aggregator(_OnPrem): + _type = "aggregator" + _icon_dir = "resources/onprem/aggregator" + + +class Fluentd(_Aggregator): + _icon = "fluentd.png" + + +class Vector(_Aggregator): + _icon = "vector.png" + + +# Aliases diff --git a/diagrams/onprem/logging.py b/diagrams/onprem/logging.py index 48babb65..f56b2339 100644 --- a/diagrams/onprem/logging.py +++ b/diagrams/onprem/logging.py @@ -12,10 +12,6 @@ class Fluentbit(_Logging): _icon = "fluentbit.png" -class Fluentd(_Logging): - _icon = "fluentd.png" - - class Graylog(_Logging): _icon = "graylog.png" diff --git a/diagrams/onprem/network.py b/diagrams/onprem/network.py index 46879804..ae91ea4f 100644 --- a/diagrams/onprem/network.py +++ b/diagrams/onprem/network.py @@ -121,5 +121,6 @@ class Zookeeper(_Network): ETCD = Etcd HAProxy = Haproxy OSM = OpenServiceMesh +OPNSense = Opnsense PFSense = Pfsense VyOS = Vyos diff --git a/docs/nodes/onprem.md b/docs/nodes/onprem.md index a519be55..014a8fd1 100644 --- a/docs/nodes/onprem.md +++ b/docs/nodes/onprem.md @@ -5,6 +5,11 @@ title: OnPrem Node classes list of onprem provider. +## onprem.aggregator + +- **diagrams.onprem.aggregator.Fluentd** +- **diagrams.onprem.aggregator.Vector** + ## onprem.analytics - **diagrams.onprem.analytics.Beam** @@ -107,7 +112,6 @@ Node classes list of onprem provider. ## onprem.logging - **diagrams.onprem.logging.Fluentbit**, **FluentBit** (alias) -- **diagrams.onprem.logging.Fluentd** - **diagrams.onprem.logging.Graylog** - **diagrams.onprem.logging.Loki** - **diagrams.onprem.logging.Rsyslog**, **RSyslog** (alias) diff --git a/resources/onprem/logging/fluentd.png b/resources/onprem/aggregator/fluentd.png similarity index 100% rename from resources/onprem/logging/fluentd.png rename to resources/onprem/aggregator/fluentd.png diff --git a/resources/onprem/aggregator/vector.png b/resources/onprem/aggregator/vector.png new file mode 100644 index 0000000000000000000000000000000000000000..a1ea5a4454eefb49c7808d55dc93d7724e2cd64e GIT binary patch literal 7830 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 Date: Sat, 3 Oct 2020 22:37:17 +0900 Subject: [PATCH 33/71] chore: leave todo comment --- diagrams/__init__.py | 2 ++ 1 file changed, 2 insertions(+) diff --git a/diagrams/__init__.py b/diagrams/__init__.py index 51396431..a9e0f0c1 100644 --- a/diagrams/__init__.py +++ b/diagrams/__init__.py @@ -60,6 +60,8 @@ class Diagram: "height": "1.4", "labelloc": "b", # imagepos attribute is not backward compatible + # TODO: check graphviz version to see if "imagepos" is available >= 2.40 + # https://github.com/xflr6/graphviz/blob/master/graphviz/backend.py#L248 # "imagepos": "tc", "imagescale": "true", "fontname": "Sans-Serif", From 85d03e33ed8c84f5f669dc38c228abaa5616b317 Mon Sep 17 00:00:00 2001 From: Nicolas Lamirault Date: Sat, 3 Oct 2020 15:39:25 +0200 Subject: [PATCH 34/71] add(node): Buzfeed SSO and Oauth2 Proxy (#296) * Add: Buzfeed SSO and Oauth2 Proxy Signed-off-by: Nicolas Lamirault * Update: move buzzfeed-sso and oauth2-proxy into onprem.auth Signed-off-by: Nicolas Lamirault --- diagrams/onprem/auth.py | 19 +++++++++++++++++++ docs/nodes/onprem.md | 5 +++++ resources/onprem/auth/buzzfeed-sso.png | Bin 0 -> 18611 bytes resources/onprem/auth/oauth2-proxy.png | Bin 0 -> 12655 bytes 4 files changed, 24 insertions(+) create mode 100644 diagrams/onprem/auth.py create mode 100644 resources/onprem/auth/buzzfeed-sso.png create mode 100644 resources/onprem/auth/oauth2-proxy.png diff --git a/diagrams/onprem/auth.py b/diagrams/onprem/auth.py new file mode 100644 index 00000000..1ece9e76 --- /dev/null +++ b/diagrams/onprem/auth.py @@ -0,0 +1,19 @@ +# This module is automatically generated by autogen.sh. DO NOT EDIT. + +from . import _OnPrem + + +class _Auth(_OnPrem): + _type = "auth" + _icon_dir = "resources/onprem/auth" + + +class BuzzfeedSso(_Auth): + _icon = "buzzfeed-sso.png" + + +class Oauth2Proxy(_Auth): + _icon = "oauth2-proxy.png" + + +# Aliases diff --git a/docs/nodes/onprem.md b/docs/nodes/onprem.md index 014a8fd1..96893418 100644 --- a/docs/nodes/onprem.md +++ b/docs/nodes/onprem.md @@ -25,6 +25,11 @@ Node classes list of onprem provider. - **diagrams.onprem.analytics.Storm** - **diagrams.onprem.analytics.Tableau** +## onprem.auth + +- **diagrams.onprem.auth.BuzzfeedSso** +- **diagrams.onprem.auth.Oauth2Proxy** + ## onprem.cd - **diagrams.onprem.cd.Spinnaker** diff --git a/resources/onprem/auth/buzzfeed-sso.png b/resources/onprem/auth/buzzfeed-sso.png new file mode 100644 index 0000000000000000000000000000000000000000..e135d398eb66c1c3bd2015502c07b438dc48e8b3 GIT binary patch literal 18611 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


WsQx+y5yN|U!SdR{xRy8kmNj(#YqfW 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 Date: Mon, 5 Oct 2020 16:00:12 +0200 Subject: [PATCH 35/71] Add: Dex, federated OpenID Connect provider (#298) Signed-off-by: Nicolas Lamirault --- diagrams/onprem/identity.py | 15 +++++++++++++++ docs/nodes/onprem.md | 4 ++++ resources/onprem/identity/dex.png | Bin 0 -> 11028 bytes 3 files changed, 19 insertions(+) create mode 100644 diagrams/onprem/identity.py create mode 100644 resources/onprem/identity/dex.png diff --git a/diagrams/onprem/identity.py b/diagrams/onprem/identity.py new file mode 100644 index 00000000..f19ef413 --- /dev/null +++ b/diagrams/onprem/identity.py @@ -0,0 +1,15 @@ +# This module is automatically generated by autogen.sh. DO NOT EDIT. + +from . import _OnPrem + + +class _Identity(_OnPrem): + _type = "identity" + _icon_dir = "resources/onprem/identity" + + +class Dex(_Identity): + _icon = "dex.png" + + +# Aliases diff --git a/docs/nodes/onprem.md b/docs/nodes/onprem.md index 96893418..f016a4bb 100644 --- a/docs/nodes/onprem.md +++ b/docs/nodes/onprem.md @@ -107,6 +107,10 @@ Node classes list of onprem provider. - **diagrams.onprem.iac.Awx** - **diagrams.onprem.iac.Terraform** +## onprem.identity + +- **diagrams.onprem.identity.Dex** + ## onprem.inmemory - **diagrams.onprem.inmemory.Aerospike** diff --git a/resources/onprem/identity/dex.png b/resources/onprem/identity/dex.png new file mode 100644 index 0000000000000000000000000000000000000000..6b4675916b84d538f5eb9ba02466fb858e5e0f7a GIT binary patch literal 11028 zcmZvCc|4Tg7ymOGW8cl#m% zDf^Zf`)@w4-ygr%_x1X{p4aQ%=bq=Dd(S=hd7g95`<`S|V?731Zdw2U7!35aZvX&@ zatj>7sVHS%-Wr5bLEW)NSO9pNL3iQ^qqGH`^=}vfK)5IX;Nk(`h(f|G13)ku09G9U zKqU_V5dKeF&D1ClsGP3pX#?l~T_x?6k0=!CAOj;E>R&WGj9{gy@}@xm5dUkSjWrLQ z+$apo zlaxSYYYzgU4yc z`H)QOblwnp9l2-T%notG}yOmq}|ZJDF_@p%5e{Z_rXWulKYlJFq+Ic48%nu z12M?q`Jonq;Zn2cKVqgs+pGDxfPm?+k8~Jt(Ay#bFaaV85`gYgHBp84?EUl_c}Vgk znU%cShKv!!n|0Oka`*#K2F$sLsfOvi!)tMf&K_{8NZMh-BwnRaVjriY!Dc`oyk%~t zY3Ao*Cp~828oR4Vdgrn7SAjLQlj{8ICuW(kt6KcqU}lI8p#zb>qCwA_Fn!#U{a}>w zgsqvEESDYzDfPO~ihg1g!6&txy%<1>ZWxl$IN_F#Os`plm1r6^A6~%I5G!$UxQ*JF zv|L~eH0I#V+UlUzBfri@*dYjaHt~mYN%@=sZSjv)cmn3@T{xx`-G8H;$m)1I+#;@g z#CxuHUr8$nH~{4eI)kUtyo=$RagV|8@9(UoW?2Rb?0Rx0#B?PLWs9@{+JY`8?f6qX z8_s!zG5X=!ky0oX`A*OcpxF`K6Wk6o6E+of#vntGPRJR&4HVS6_oOZsfs=)EMGKH1 z9tTGk`Zk7G|Kj~XokB|C^*-pHe|)g%hANStubvNB_CQl2vt;Rd!_{^QHc!iI?I>M%@Jxl{8WNH7T4Lr1l z%9rLWEwzg{fr=(|%IqTtUbJQFc@98O_ljb8w}Z1IwpdIcm1Tc}FUghfs54+k@DD_` z71r<%aK$B0zI z=cyZiG5oRzM2(-gMwhnZP0Ady0*6(;*NcdiEDrHI%m`LM&JDKz&BcAl5Ocmx)hG;Z z;lvH+DzTFJRahs7_Q!cE5!a~Ydq|gRXICnnk!y`TE{#QVJM>Awt zbWRa%t8S7@(Ct^g(6ve!Pxb^$8qc@)ls2q&P|bF1K$YPVhNbp$Odfzr!&mHhd)VbyfvuY!M@8cXH{Y+8gmHtF=!d-?f+&_vftg#I%S}1Q5N6}mV(M3E+YsN{=hLEa zx%%fywd`rcjJ{g9i!MN~3$iS+vySTXI_Y9S&Zry9j>5Op%BY z7ESQ{7q-4*7OU`^(|7+CNqh<+sNKb;R7eN|8`EL3^CLm{bEG_jEaI z&Zs+oha_tyRXX`iAbIdxP$tA(?IMim0`%#Bx*09EK36;O?etpLH&vPWz|cV(`gtF= z9Ltvp=QR!eV8P;V3}_-&T}V!mE7FL&-M;FdtdR+7d@d&DA>UTcSdD2gePkxRwKKJ* zUjuZ(4)RW$KaK3psHT($4Em_8L>_nG>8-kD4kfcyR(<WT!n) zV95AAeRr-HljC26ai0?z%Q6^5{a#D#sK1{&R>`GU2QEi5CKKK9hti>-pXxYV;cx<% zYlI+UEqe~JD3ShLD#g2QqBX#Ku9nKj(O+eac;3c3%~z zQC7H+zkY)!fy+HzYFcY>8G6y{P$+KL?I5-5BX<)7zYpm!bX_|${zc`BNo?R8%(qkj zN!9sYh-_oSV>9COAJ8{FXtq181iDgj_blCy95206+y}sjZJNrF)?s%LH z^F+DaDnI_{mR#pahHfiKNVz4L!vudF6(^KEyMF7!$7n=jd^A@=q_lQVN34rN^lGLO zy^iK^(%0r*SjH|(IF(Y~=}vgGWx*W*{iiKIuwPM>wy_$2fMkoetFWb|ji z1a!G1*x&Kb`|=-j-NB_`vsLXbd84jlh#Ky(ew69OY3VBQ?qgFKg6=@7rcDCj?6&5b zx*wUJy)Ouqg13Is1RrO{g|lm2Q-y+10y^0nD9wb4os{o1-~G5W^?2V^yq zh7dVKZCCJ%dX90>{qvh7llb)Aww(z2bgW2^SmkNY3;tqgkHrItf$X3qyDRC^3U?Dr zYsZ;D)EBT-T6ca2BNHy!p4eK8kgpnRzakw?@SD)Lfg@S-7*=L3DL@_M>O9#+ppL+R z%X)%B$i0ahldyXz02qVZxv<71R=Ei0piV>C>*I7dvCl!^7(MJ2=>~?3M>q9L%W4sT zi73shRQIwTnRDXCjd`wHCpP;GqjFq5b>KP7V?5Lh$a(;Qz=% z7r`dwwh_4nNsmAGj#N0Thk~|$rDVcSU>1e9eIslwWI1z&Qu!_eMbj*-_$mA)vx(-K zI{wiwN&nGoosuv-+jOyyZMj_eJz3dQDML15*gWOW<2Uf;eX9CUClmTzFsWZk?kles z_ZKhX0gZ*zSNNL}x2m^`FyhT?Con1M+b^R^+3)H!%CU7(R(XK5$6TuZt~9fsCtM4J zO7AHj!Jla?kj2nQmc%f?e9O=vHd$abm6l-?E#p+fB>)i7LN4ZsLx6|GFB- zA;IF4bpMKZ_-qR_VKe;RyMSt%-X&U9yQJMU_xcxpi<+^SxBs@+i&9Z^X4Bl6Kk|a8 zXL_!e8_Gcr{N}fi4P>K_sD71g#NPJbNRg=E^j!sY{aH@-T`lr%X;{(bk>JCq*1~ga z!hh_$zs?r!(V!32@Q0&invG9Ue#Mnvo8A5qo4TCONiB^YV<$2}kIzu(;*yh}DbB|I zPvOWf+V(_CAEt}lkc;f6?hD=g7?zI$IN6e(@`CV~D-jH$Mcmu(%D#Pm(ddwpnmIov z~IWBYkWbd(YLfw$H&pT|5bblN#h&*m@ zUWBRf62t?%6{$Bs-qgH|ymY*{pMMSRAzA~*Tz-)CO7eG#^@K@azYAvVG#9+2=!6}n z9~}#^)V3pPp~*)YLWeXG6obGOqn?jV*BUkMDNS!RsHf$7dBRdBbIj8-2g!rlCjC6T zYx@Qj1U3O{=)Pa$`MYI@h$YRg)7T~qq)xdQq7(nMEHm=Tp749v#Yo7W9b~>n>|W%0 zf#k{mcU-QX`UX<&o$(49OoRqO=AgEC1)KUhgK?@8PVyCTg+KH%OwD+Quzadyt~)Ft zF_QP%HRAXbUviMaXs+p^Q>`8iDl%iMul3#7iDXvaj^wwGgRP;l$BhD$f@jYXgo3~t z;0}g{%HSALR$5-!v-zr}opvH@+{U?`QO#+k{j;dc$#E$|lU!f=PMqlD3z;%}W()N# zeYb>|Fw7dym!^i)A3rVCHCsO~Y}d(PCP z{#s(3O=O1GazU=OZw`0qXwk`_xkG?`L;waPB<2zNU$r5AeG#3q z`2=gqGi!06;oxrmA-rt^f04Mqoa9fl?Kc&-l8C?|%=CjFUIA$cE<3m^&Jw(6&`_>3 zi)QzeOJ*)PkC1Zn4!`81#`p7Bf3*``QRL6cmx*X1N7ZQP!=RE2oe@6Kzf&ka@q{9G z3mO56^N!AAZHtwC`Ly7a0aB&+=cKq!y@FkdosVgs!45JO8V|j+Q(`_>%mTeW(W-cX z4%4?GKxYeinii3D7gi(;*AK{xGvf`9+rU4=@XP<)*(S zR-yl27^sfpF&mC&vrf>lN-Y=f>@k{4a_fHOlOe8i1o{JcKgF+)kQD6eNqwSdsuVJ* zm!>0b18DYis;X2NhCh0Cn-emGi`eY!5^s*-d*r~BJ^ZVB>}H=&k{oK8&*dcMlA7aj zM~w@U1MdVndU$h{bt(?-{N>CUALw6$zLxS-+h0Jrl|Gbn<414T4VRMx_Ami2Z4TV4 z;oJW{Hc{J)4n11eHJ0ClUQIoP8x#;Q;PJVAj3Fg@(|P%LsmkbZi>4aY;&8%j2OMP; z0yzxJ(30=_nCpZmzLx733!8i9QM)7JmjxZCJnqt_L0mM#)*yfI@y^def~rVNz(D{aeYF&B2hb;KJaDSy3yG%nvO+cMMY z>IMZ`G>|`N zv?G0>FZY_NL|(XxuBE^jeJ92ogiI`WeOt!m98i5EB3XPm|+slH1W1D%R-oklQ+onyn3$H>MIavm;!s6ikDS7iji5 zF|7cQSd5n0bn9BfLx*cihG^f_DAVr@L%#{#gOYs;tygJnsi%`AOTaCkHKiBycENxcKgt8ZzEnwmccRV6Urc~w1PB^<5E*klYl0z zYk1WA&AYX%u*f_C(E~CF$`; z@QavBJ-JKF7y7@-R5Nf7%il{=_#3n9bdouD#k^AXHGLul*-}l!scv-hwmonXc>}I( zKFZaPuL(6(*a2IE=5IwV(OTO3^#wOklV0SNdR!*n6iwV2W7(NpvH;X3o--DUSSyr1 ziP0c9y|~91>tWvt*Mn>tHPqR7MP^ilJY(A zy_k|QbN-LS(pz4=)aP@?-D`+X5RXrT+mlXvy@Q1JVWEh3mwuK{9u^756JnHP&+1u96^HN7*eHjYONZhae?(?&P%<^ zps0=;MLsW6v#Cwmt={^iO*Bx_1O1+S9UcYi|0XUfB=0jPdCO;@!@=s!EsTiRrE zzg*vc=u_3?_8CXp^!tnJpc>Hy?vKJB;rk$4Wg7I)CcdgC@k|k;$$fsYFsmZFh&&RTNcnE+r#x5bftaY|v zi#dRcBbdz}GLbSmOU*~qitMZfiJy&B-EokrqiTi~N-yOL+j~G%zMs>2X4w0DpOJ_5 zel}Z0>iz?6_dNy(y&Jx|Cc;Z^Ecms>gj*8`8#p z!HR)iCr&1YX$;W$D`%}7bSa%r?PG2%fY`?ve>v}8o_9>g@I+LWZz=X`qTk%WHoh=~ zI&j@6m|;6X2gve{Qu|v2KOwo0t>>|=zFf`<{^Bf;ZrM^+mO*tju}q!mV&NqFWixD% zu?TpWyKRC+JhIBu`oTjK=QzK<46WQ8#SsN9!ENE!ySf%X=UG8*plm41YUj$9l}L6ddrOY>b6R<7DOjQnxprw+wEA&t^+UQxqFNP3QlTK=`|$52 z3sk-g)0OhUHwExXPj|=ttq;r8;0WLWb&`+m5j?Z=cq3l2N--Ps&fdQu;Q!We=6*pu?;TRqXpC!ZOTE!8Wn{+N? zrWukhBP#b?l0@HNJF&d$-bcp%A#XLRS0uGvGc|be?YO<{-yr1_ zic@-)O@G4&suAD9)1uWPdj>A8>f$5`1x@ZalAsN4d^##}<2M|r1|0L!=hK>f_e93| zmADQR8s0C8SJy~bY*6*8qH4Z30c{DptM#lqmNKO`V;fO#f3sv41hBKl@1Q^u#xhoE z(EC)AzasF%_SbaN1QZfB-I5vi?93ZwY+nI2*!tmK$vcFVAEw4peLMgRug0VHS}OoT zT}IzfXqMKZJMac=vy85%_rYAn|IB|=n)b77v7a^ZxRYnH;mhQ@hCo8Pr4Fwi?>Xju zXVbuKDQu3#q)_o@jQI7Ba@`Kflkh0kC3bo({>f$1ND{OZQLx%OTDtZQ+LHZuB;yPNO@P?2q?da%lYFhrn=7Z{Y-U7&D;7!TI*kj-%M?z6^7c(vh!7gKT+o6kA zj8R+jOIR^h{MUQ-8e-Q0V-XwG^O7wO6&ds2DIXzLsh-m@KRzT_r7E09YV|XVKua<2 zW**-2-2T0;0pu)A_Uz|LkoX!TU*(RiM0)qsRO!Y%Cmy?Kc&u-NTe#@M; zgz58fg8`8vHVbx%^;qME!*?pB0THs-`^dc|DFero{Fd};`lf5bz7JV(il%RqzIxt4 zbsOF@-~IduS&l0%t>CkEm(dM**__+{)*Z_w(RRsSV5j1CN0P*xVq7xn9mvyEMC_J2wffNZ8)WU@GZ7CdD#g8kJ6|aHT4Yd2p2qYX%TWcnSyj; zr4wIXpNDthpD}Sg?LkR|jh@Xf< zcs}n8DUe&)v3OSCIXamZXXtnHh{5MH|a)=q{$4E%?!`)PzpNqCCwNA+QY zFQ15}l#@!FTf-A&#J7nx!)XZmYWHpSLiu;Gxz@=Kao%Y9na~*-S|7$)oSE+c9oCgS z;LrryJ0Qlw`|)?CMybTui>v`wA~XI;AEvBgS6YkV@(ooG+Ly?OpLad8hO}b0w6i=; zQ`?Fv=~CdokwG0XQWIXYTnQogmo&Sl-&=>iUsYHEe6btdWyA69_s5-+Hht4|?)+{< z&c+>3wTcG$9F^Q!4k>Zsw>J5+k-|vIHJ@00&w7Im&>GYfKi{ZU6Vjua7Lrv44`$qGMm;BqRBzQX3>r}2UnlYwD5)vIhFkNX}4R+XL^M<^p zz6y=3C1}{0laI3}QbKPRAAlJ_`&vt1Uh7rQfg8o4LW=^)1Hm!;jVoVoYTvO80u))Y zkLq?#E2B%(m<|;tu%!nZL!(pEBd%&^+QH@DUr~aOrZ>~JoHaU~ zl(g4+)mqJc+y8VXm(TFNI?#UE-z#o*8Hx7gHZwVTZ#vv7gX#sUl!dHPpdIfhxWSi5 z^NL9R@xNy^>mcMc{QWCzo79mtsTu~=9S$J`!3myvmW?2RWEH-dxaqEUxcyrAub^Z! z9hrCAr(u8V=IBe;I0lsH@2w_kr$GqX_qQwYdG_Z0NxT~k&z@+Z*AIc5H?7>TINLOB z$L7N`*pML8ELQ&uCx8%Sv2uy<7Wcn=`?!*IbBd!W7l65e=PEb&JTVL@TN-hDsz#Olfy?%Ob?VIiq{z``d<1AtM-G2C zNUG}XM|I9sAevh|SmSf<3!3K^8p#Uj_L`sLr4{w+8(iQt6JM+1wq77dvXvb`1AWkIv+#gX~H0WREuo_ zFj~HA`@7&XsBL1Q$4}`1S2lD_QVc{I%Y{?uZ6>TM2yLX%KW7=|lzPPo6)htbd> za5U$>LbeJ_;(9ZINbb?kUUlj{vSHk0(cPXDig8oA0Mvd;XyGFZ-7vC|4wbW`7I!WD zZgwO~s(`cegS^a8|G2uE{XSutdPu>fHRw{iX7MMQr>wyEb?D@9>xym=uX~)^I!x#} zHs+VT-tJ~2cA&_cLS{O%getBk>TeuhX#j6g@F4NL^q!M~ zmF|b&2|fq0hO228R>T7|{&I8GX6X{@j+$aI2kz?(ozs;5Twu z9()0rB)ps6pkBo8fo1Wu6r2w{>XFi=ndgpIz=UYN`VgY0m#Q_)S|yOf5qVcPg7u|Y z)zLNLrM?Scu|!C~DR(#sh4q({FKIpr^vMttxm5;lv+)-+Zs#^k!ZHQ9ObYyCv2e>!aiT@Ehxp5Sbl}8uwJ*rAJ)Ya*~lH4;mBd{5RTwY+^HBT3g!g)wcA#^1?fv zkFUjx7!8qFUaL$et3A6vU~A~Ilph8{;RC)$(k`u!Y36(4Cs0BwZzyN<_p~fEMI!ja zTKMgOR>5YOeH{j)rbhLm>@Y?po>zDAC)0aHMlSR0M1{cQTU|<**FRP`N#TwwAw|of zpyeV9j|cBKpWwoI)@?#Rq+&X@!NckaN_)3m!Mo5NMA5czrT|60-umUL%3DuxM@qc5 z|8={%U4WZmo?g}((IsJ-exUI z3I(BxSH>?HQ$WMAg~C59&+fXnE8Uf%05?4J2m7uh*wkV`yb#KdWJn;xFM}s2IaP;} znuP>gadyvwS(Lyzr{-I*J-jXsf%BNoFq`bx;`2wLIV_e}EM`83ed{R(XB(hj`Xn4R z7kfvjG1jr#6c5Z`%q92}{* zp7u{J*5mJ#Eq#ytOKlHdpNExz z!7R%USY56ut)46KaZFAp zA!7Ho!KR=@;757*5n@r%{8A~Gi1iGiOfolLV^1?v%^r~GX2y?rJo0+DA>*3&kNAja zhZ-dtX-ZABAum#NCV|!_l~>){)~AT8wBb?j&+RYZS>2*TRe^{jZ~J8Nncxkp@AE@KHkYiE?A^97|tjwbo7iYS7K zB*G=BI#L$q&++-%;nkI5w4Iv|=3$`=U0a}T?LH|!FfW`J&+6RNJ7jBSO{12PPE%R_ zZJp=io71ZpHFB$Oe=Rr^PNq{43DwwUA;nc)^AVZx@WPMw4ZD{_<+#IPba=%xr5%0@ zID7orDvkGp)wLLCs6Z{9C)WP6B-W?#9HvGvd?Q7B{!sDAWgDCc)`6BXB4GsBKDB7s z%$9DfW`VLBtd^N?XAp1`26@n)mnk0o+5ui6Y{I1>R%j^Xle$p`?A9G#!z3!_yP&Kjqp(KVSqJX0}c9^%ek zIiT9+EFeTlPyXQPyOv@q*rRgE}F|oB5BtENOAs-4}B-I5FG70M7vhC-{H3E1W9n6LC z+#8z8JnqOg(zRp8i7t-Jj;4k=hwxkmxGKJ6j;k!1`3f4T=I_vDNbl$t*|h<`GM_mu zwU Date: Mon, 5 Oct 2020 19:30:44 +0530 Subject: [PATCH 36/71] Fix typos (#310) --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 3d690be8..5d42295c 100644 --- a/README.md +++ b/README.md @@ -74,7 +74,7 @@ To contribute to diagram, check out [contribution guidelines](CONTRIBUTING.md). [GitPitch](https://gitpitch.com/) is a markdown presentation service for developers. Diagrams is now integrated as [Cloud Diagram Widget](https://gitpitch.com/docs/diagram-features/cloud-diagrams/) of GitPitch, so you can use the Diagrams when to create slide decks for Tech Conferences, Meetups, and Training with GitPitch. -[Cloudiscovery](https://github.com/Cloud-Architects/cloudiscovery) helps you to analyze resources in your cloud (AWS/GCP/Azure/Alibaba/IBM) account. It allows you to create a diagram of analyzed cloud resource map based on this Diagrams library, so you can draw the your existing cloud infratructure with Cloudicovery. +[Cloudiscovery](https://github.com/Cloud-Architects/cloudiscovery) helps you to analyze resources in your cloud (AWS/GCP/Azure/Alibaba/IBM) account. It allows you to create a diagram of analyzed cloud resource map based on this Diagrams library, so you can draw the your existing cloud infrastructure with Cloudicovery. [Airflow Diagrams](https://github.com/feluelle/airflow-diagrams) is an Airflow plugin that aims to easily visualise your Airflow DAGs on service level from providers like AWS, GCP, Azure, etc. via diagrams. From 36e22866185f839131aff387cd31440fdf2dfcb7 Mon Sep 17 00:00:00 2001 From: David Russell Date: Mon, 5 Oct 2020 15:06:58 +0100 Subject: [PATCH 37/71] docs(readme): New GitPitch 4.0 Diagrams-as-Code Widget doc link. (#328) --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 5d42295c..1ae0f5b9 100644 --- a/README.md +++ b/README.md @@ -72,7 +72,7 @@ To contribute to diagram, check out [contribution guidelines](CONTRIBUTING.md). [![GitPitch](https://gitpitch.com/gpimg/logo.png)](https://gitpitch.com/) -[GitPitch](https://gitpitch.com/) is a markdown presentation service for developers. Diagrams is now integrated as [Cloud Diagram Widget](https://gitpitch.com/docs/diagram-features/cloud-diagrams/) of GitPitch, so you can use the Diagrams when to create slide decks for Tech Conferences, Meetups, and Training with GitPitch. +[GitPitch](https://gitpitch.com/) is the perfect slide deck solution for Tech Conferences, Training, Developer Advocates, and Educators. Diagrams is now available as a dedicated [Cloud Diagram Markdown Widget](https://docs.gitpitch.com/#/diagrams/cloud-architecture) so you can use Diagrams directly on any slide for conferences, meetups, and training. [Cloudiscovery](https://github.com/Cloud-Architects/cloudiscovery) helps you to analyze resources in your cloud (AWS/GCP/Azure/Alibaba/IBM) account. It allows you to create a diagram of analyzed cloud resource map based on this Diagrams library, so you can draw the your existing cloud infrastructure with Cloudicovery. From 3a6a18d17c095292b5ba6ca6b605b6595fd1e547 Mon Sep 17 00:00:00 2001 From: Nicolas Lamirault Date: Wed, 7 Oct 2020 18:07:25 +0200 Subject: [PATCH 38/71] add(node): Litmus Chaos and Chaos Mess for chaos engineering (#297) * Add: Litmus Chaos and Chaos Mess for chaos engineering Signed-off-by: Nicolas Lamirault * Update: move into new resources cloudnative.chaos Signed-off-by: Nicolas Lamirault * Fix: remove Chaos from onprem Signed-off-by: Nicolas Lamirault * Update: move Chaos into k8s Signed-off-by: Nicolas Lamirault * Update: clean Signed-off-by: Nicolas Lamirault * Update: clean resources Signed-off-by: Nicolas Lamirault --- diagrams/k8s/chaos.py | 19 +++++++++++++++++++ docs/nodes/k8s.md | 5 +++++ resources/k8s/chaos/chaos-mesh.png | Bin 0 -> 65069 bytes resources/k8s/chaos/litmus-chaos.png | Bin 0 -> 2971 bytes 4 files changed, 24 insertions(+) create mode 100644 diagrams/k8s/chaos.py create mode 100644 resources/k8s/chaos/chaos-mesh.png create mode 100644 resources/k8s/chaos/litmus-chaos.png diff --git a/diagrams/k8s/chaos.py b/diagrams/k8s/chaos.py new file mode 100644 index 00000000..9f596772 --- /dev/null +++ b/diagrams/k8s/chaos.py @@ -0,0 +1,19 @@ +# This module is automatically generated by autogen.sh. DO NOT EDIT. + +from . import _K8S + + +class _Chaos(_K8S): + _type = "chaos" + _icon_dir = "resources/k8s/chaos" + + +class ChaosMesh(_Chaos): + _icon = "chaos-mesh.png" + + +class LitmusChaos(_Chaos): + _icon = "litmus-chaos.png" + + +# Aliases diff --git a/docs/nodes/k8s.md b/docs/nodes/k8s.md index d9c7e1c9..6fe66cbd 100644 --- a/docs/nodes/k8s.md +++ b/docs/nodes/k8s.md @@ -5,6 +5,11 @@ title: K8S Node classes list of k8s provider. +## k8s.chaos + +- **diagrams.k8s.chaos.ChaosMesh** +- **diagrams.k8s.chaos.LitmusChaos** + ## k8s.clusterconfig - **diagrams.k8s.clusterconfig.HPA**, **HorizontalPodAutoscaler** (alias) diff --git a/resources/k8s/chaos/chaos-mesh.png b/resources/k8s/chaos/chaos-mesh.png new file mode 100644 index 0000000000000000000000000000000000000000..f1d373ae5cefeffcc7841b407ee8c1ed23d5295f GIT binary patch literal 65069 zcmV*0KzYB3P)004R>004l5008;`004mK004C`008P>0026e000+ooVrmw00006 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 Date: Fri, 9 Oct 2020 12:49:11 +0800 Subject: [PATCH 39/71] fix: onprem storage incorrect config (#345) fix: https://github.com/mingrammer/diagrams/issues/344 --- config.py | 6 ++---- diagrams/onprem/storage.py | 9 ++++++++- docs/nodes/onprem.md | 6 +++--- 3 files changed, 13 insertions(+), 8 deletions(-) diff --git a/config.py b/config.py index 7b50ad6e..12fec10c 100644 --- a/config.py +++ b/config.py @@ -140,10 +140,8 @@ ALIASES = { "Zeromq": "ZeroMQ", }, "storage": { - "ceph": { - "CEPH": "ceph", - "Ceph-OSD": "CEPH-OSD" - } + "Ceph": "CEPH", + "CephOsd": "CEPH_OSD", }, "workflow": { "Kubeflow": "KubeFlow", diff --git a/diagrams/onprem/storage.py b/diagrams/onprem/storage.py index 49d9556f..37e0a370 100644 --- a/diagrams/onprem/storage.py +++ b/diagrams/onprem/storage.py @@ -2,6 +2,7 @@ from . import _OnPrem + class _Storage(_OnPrem): _type = "storage" _icon_dir = "resources/onprem/storage" @@ -9,11 +10,17 @@ class _Storage(_OnPrem): class CephOsd(_Storage): _icon = "ceph-osd.png" + + class Ceph(_Storage): _icon = "ceph.png" + + class Glusterfs(_Storage): _icon = "glusterfs.png" + # Aliases -{'CEPH': 'ceph', 'Ceph-OSD': 'CEPH-OSD'} = ceph \ No newline at end of file +CEPH = Ceph +CEPH_OSD = CephOsd diff --git a/docs/nodes/onprem.md b/docs/nodes/onprem.md index f016a4bb..7f90f7b2 100644 --- a/docs/nodes/onprem.md +++ b/docs/nodes/onprem.md @@ -161,7 +161,7 @@ Node classes list of onprem provider. - **diagrams.onprem.network.Nginx** - **diagrams.onprem.network.Ocelot** - **diagrams.onprem.network.OpenServiceMesh**, **OSM** (alias) -- **diagrams.onprem.network.Opnsense**, **OPNsense** (alias) +- **diagrams.onprem.network.Opnsense**, **OPNSense** (alias) - **diagrams.onprem.network.Pfsense**, **PFSense** (alias) - **diagrams.onprem.network.Pomerium** - **diagrams.onprem.network.Powerdns** @@ -194,8 +194,8 @@ Node classes list of onprem provider. ## onprem.storage -- **diagrams.onprem.storage.CephOsd** -- **diagrams.onprem.storage.Ceph** +- **diagrams.onprem.storage.CephOsd**, **CEPH_OSD** (alias) +- **diagrams.onprem.storage.Ceph**, **CEPH** (alias) - **diagrams.onprem.storage.Glusterfs** ## onprem.vcs From 0d8c998eec391135ac9844cab80cc004e298b355 Mon Sep 17 00:00:00 2001 From: Nicolas Lamirault Date: Sun, 11 Oct 2020 07:40:17 +0200 Subject: [PATCH 40/71] Add: Jaeger component (#299) Signed-off-by: Nicolas Lamirault --- diagrams/onprem/tracing.py | 15 +++++++++++++++ docs/nodes/onprem.md | 4 ++++ resources/onprem/tracing/jaeger.png | Bin 0 -> 22325 bytes 3 files changed, 19 insertions(+) create mode 100644 diagrams/onprem/tracing.py create mode 100644 resources/onprem/tracing/jaeger.png diff --git a/diagrams/onprem/tracing.py b/diagrams/onprem/tracing.py new file mode 100644 index 00000000..e4353538 --- /dev/null +++ b/diagrams/onprem/tracing.py @@ -0,0 +1,15 @@ +# This module is automatically generated by autogen.sh. DO NOT EDIT. + +from . import _OnPrem + + +class _Tracing(_OnPrem): + _type = "tracing" + _icon_dir = "resources/onprem/tracing" + + +class Jaeger(_Tracing): + _icon = "jaeger.png" + + +# Aliases diff --git a/docs/nodes/onprem.md b/docs/nodes/onprem.md index 7f90f7b2..a6dd83d7 100644 --- a/docs/nodes/onprem.md +++ b/docs/nodes/onprem.md @@ -198,6 +198,10 @@ Node classes list of onprem provider. - **diagrams.onprem.storage.Ceph**, **CEPH** (alias) - **diagrams.onprem.storage.Glusterfs** +## onprem.tracing + +- **diagrams.onprem.tracing.Jaeger** + ## onprem.vcs - **diagrams.onprem.vcs.Git** diff --git a/resources/onprem/tracing/jaeger.png b/resources/onprem/tracing/jaeger.png new file mode 100644 index 0000000000000000000000000000000000000000..4af0b7aacb862dbdd64876e2c3b959a4ea191040 GIT binary patch literal 22325 zcmXV11ymH>+uvPwfu*|}q(M>?q*D|H=|);XKw5H_kdPD<1nCgzZrG(uTDq3*ZWh>& z_dEYHXU@#rnYs6wr{_Mu8=?7Hl@N~(4*&oVzED$o3jhEgPJsYi?1zJiYk}><0c?8XEwkl!!b1zxMa|F+01#yVZwGqk$$CCC;<&%iP{vt<(vtul{o;GF2LR}C zyik(Y@t)mJ^ZI4tG0}}c{49C#WJcpKje~?GaYO+>3m*hhSCwqdT)}7KWeLj0H6WEI zU8m$x=L%B8)%9Tkf}pG|NekA#Khu7q?~mu3+`L4Zq^hLW4-WigGOn#f-8O3*Hg8{l z9(soA2#YntPuL|t8uhK%XhA&k3!J~-+`RecLkMb+0W!CcLqlW{X~TZjxUHb0c#lr# zl@e+bIgZSe6PntbN{vhU@6{#}u3I$LB>+8*$$&QF_$BV1?g<amjJQB|xBG7XDhbKq4k-ijW^8D##!N?TU+yYiJVfO)2y zAJy+EQ+BWeT&cnhFsk@?MFoqE>Ub3A4|9kw%fNkSVO%;~C(%|1@UsSgTswIKigDg_ zI7fDiF-pKFUVkh-3{6@#2FQp&FF~RtKkq~L9nIybDPj0IS}CKdQvcESv-7&Q7(;J# zN4#f&o{;)w5!R?m3r`pEZ4Bz*OLL} z5J8+mSO3S&ME}t*rUG12bPk0@cWuPjM? zx?2e-yvjd5D=#P^UJbeBo94)_za+*!fOKbjx96KI0m?e`A7~C$u!y?z5~;|~>$N-N zc9sQ^M%Z?>1acqQSrp!3#F0NtmcajeQodm9v0<}3J&)8BFEh9`cn9ag<)bUZ5kP40 ze331ab4sG^|3|NGe^jg;kI5j|f$K|7Gb3k^low0vS_~*h)Z=QsC#1QWe(nHS!Yy{~ zrwm)EYqc-op(D0N#3&lnlgx}e%suiFRs;urLK|Z>C+yOXFrxSX%1oT_)Ers-{{PRJc)iFtqsqD-v+WX|b=+c$Nt4|Ll{q^ZjdoL{#g{gG?+ zhmWJm$!}@o=sq1Yb~K&cq07#nxQR!2E^K0{ zayB%npdO(DVPE585tLVwF4$747gFsnkp;Dr7u80bZqyjEv54&j*KgUjFViNTdUge?{;SY&p z@PmxJ;2^mL2m!Tp>{wZ8BVCtc@+ejA-wTv8YUxhph)nAuC3TQ*ZJbj{8s6g8f@r|c zgY|Zqv6$zku1Q>Uh+aETR>Cc|5gyvSN1aU5j00l-M_KrCoLCA>_B zMCC{Ohw8D`*uV4Z7iefaPpE}4;2KF@&`zv_6pg%)y0ZqI!Vgzc?@WWr0N><5%S$*{ z<|qmg_N)CYGU!4WcjP_%4%4Va|67~3Itx%4&1j$5TNXzTx@uoCyu!=G>V#tCtWN?G z*6>Y5p!n;pvWopELNPrDd}z>DQ(f#@5H}$Gk$9oAq-Gd*2ZFP7q=))`s3R6w4F?z9 z^P_C74}6tB(J5sM31o1=FMM`*(C>;LNqvi>Jec%O+jhbJ4ehibQWK4C zTHlgfl%q`|M5SU(mAwKB#v`9D%Yy64pR!DCe&-}mJiTfS39>r`4zugOgFHE8fevI6 z&k*}b8icZ8=w01!nQ)ds7F=z_nUouw9K#=Who%9y)Yt#Y*e&1kJ&i=x0xp!)tu#|& z5R^8;lbQc)DLn2N!?xOnVzom-NC&kmhX@-%0!z&pNQ{c$bi&02?D6fkLYW=_%Cu)p zQt?}2F^Q$HKQ;1;H@}?1C4(y|ZZbfNPcpeQK0rq9PjetpSBt*O?Z>a5yQe2CdcZeWUTIC6kBT^dXk2p^ zHW0IB@pC-;nhE@Vbq|`>e0Os+cZ-#VQx3kv#)`+U#j+79B%qRow!G?G9HYKJ%a$m0 zKW>)=o~KH+y7}%NC&T91G_i(2sDNCGCv1UtG&;m1dhe~DxnLb70rXA@A*!Uv_JW$r z?QmmZQV2C+|6LjOhEX!6DGSwme$|WXlLmPRYvY>iksWUSW(xp(EKcvUH=DQJ9|$CL zu$Emo6og1Rw|G*5>0CQ659SE`29T>0`7o&y;w}q9RmXn(_X}I1q>G9SFt0QTrfCN; znXzCq8{mVc9~8`3tCBnT;|^-^eUrHS+Ed$n+(~qQm~m<(Q@{6XwP9Jx4&i7xc{vIr z;?k%myvm1jE#gO6IxXrDOv)qoxd&4SE>!0+Wx$Nh8_qMa+*$9eIkwkVmvVO-KI$>D zrm%Z$W1~ z6^K$`ZQTnwCk(IK(uMrm*kn241kb!7amY;s zvH6vDn;p{s2ZWDWJSfO>io6JiCMv}{rEo`5b9v|xZcbmkwQ!ANL1ESKwe|x~R7A_H z3hfTX9((lGC?1P^HO9;@Lss`Ws2IKLkt&~?by#)UTlQ0K+faWIo9+Cz9;P<&Al!H5 z`PsH{3>n}K`%R-!CT7~ zDWvu3tQGICTKR&I1?qQ3*$glQ%b;e8l0gwrBzshq)@oIDHYbbuXLQ~!>S%Z+qoMnK zjgs2fCgHd6eKI-iXC!O)+IsNB2js9);s=xXUHWnD5vzxs!zO%fb@N)gCk$Ds&s++w z*_LUE-Z$!%lc4+yWMLUw#IP($V_Stk2{X9pRGj1rY)EYsNS*gY@R&D;Pdpy7Ipiy= z@s!&9=ADsAkVp6sF*wiEsF5`{)T};b!$-Reiy%6Een+tK#ihMf6StHXOG+rNQc1cn zAA{{N)}_JW(&w+A@Db3?Ck~}$tK&ErrSn ze^Rq)#o0W{nNy%~xaZvao0;G%R#!qJ3lLCG29tPxoN*`;zY+I@L3%R9Wv?$$VtZqwsgWAIdMe_AHB&ouJ=tkR;6enW{Xnrw9zc&cswssqohV;G`0} zfXvmIXRRr|qZj0Gh@;dl6ACUcYwEw*YF#38as*hc$%h%EO;6deU(ZY=%K=`&QqCRN z9=e89@MjNZDVa<-dNCi2ZV9)Oa@|&GN(VagY!8Azz!=5n*jerajWsmc?YY(VuMbPW z%4mefe3gxI4!`foyFxty2>?6s^M8_8JzitZYxY*kYzCtRm7v;A9DIBpCb548KV;XX z61If#kfEbU#H9t1(&)=I>zY_kk zaU)se*VGXdLNz?KSI1Q=Vb6D$3fdUsS^eufuq+byX0>G)zY;5#28v%)f!HgNC7p#jVrA4eR3E#=)R~L_-5rPzT%SR)+21e93hQB%{UFIgoQ_ z#8;yHVsDCCvAAOEwGd6AUYW&6X_M&j%irDFzE)flns2(ky_r5Q#;0vYFLJ_4dUiT{0m*XWP2^4Zb>BO02PDh20hzx}^ZwV~F&pX?DqPGBk{@~&Q za;?+opS?=~o6MK@N5R6P!zIdslO|%Nw;y56D>48sKoh5AfsHbBLdUo%-6Nid?kRV? zVeEr-&NYwj$Oe3?*)^nw2;~bXS5Or|i+vfaZ+?HJG=R*9_kZ`Ld=UImXrP@AX=>3W z+fD(wpaAb`|6S=LnqI6eyLbDs-uFG@vr){TTNb)#v+CoHu)>}_uf-o~95>~s%gPx} zk7gNo<@My-(ah0GG?G^Nw9oxj6vmkW18fGG_8PK>uG$7hDyegQ`?%xv5Ni*DR~^zu z(cP`mU(&X>1ZV+UhIq&@O&op|5C)WeI*I)XhJV@mP3w^rkPim3=>h&`OK~BB zIuofn8D3vt38Xzu?@R3t%RXfapY?ncBK&1plvs?D#Buz#j{j>byUN3-N-x)GW{%w_ zm~Q#JKl0OAY({?0k$}p2YXUpHd|zY%trI&Nb{1hqYg33QTZ};G>!d-ZK!UJnss0%! zp`AW2yq!)d!3ckx5tn~hT0Tb}s8FDuHduM;O%9g47@R|DxMujK2=v3EhC5t(%TIew z9mOP;VUc=j>r5VS6bDip+28>vEgX7f611NQLdvm9&dONYFw+6C(qHxmd9;T+3l3VD zciOx_M#sO$pUK=YUGU*PzqEDXFX-zRHf&tJMoQHd%pl|KD^JA zz;6xy^$=*5GeV!^~M<$-s~9jx)Og2 zARNMJMfJpy|Cb`#Wm1jh%wDULs%s5`10w&{Ulo>PTeG?+k)eD#n~mXmlf>~gRoGH6 zYB6~tT8S{lo*`C?pv?MSmw#4=F1ZX|iiuONa_GFFMx8E1LSip3ceGJ%RX2y3u+=t3 zM-0SAQgLL>w-A zS2ZQ6p^Pf=8JU>38{fqa1p#;_aINicx(oj`+;0Rss7J0hkiFM|3VOT`@`eCg*tDxE_wNv9-6sBb%a8$m85_Z=kXA``l~B%~5- zYEUubU?QYW^IZ6Ri2mM36*f^1;xpu{$|XKU>HSmf=T64qY!11=l5gwb9(7dEEA{F^ zX9XGmoYStcZ1}J80sUlyTKw+nBYSnt^I3vKpE=_7W*nP6)fZ8`YfjQ3diVQ)(_nI_ zg$DM;i%)@6Z@-XQN`rH%V_3l^Wh_221EWeTzSMu;*-89nApLwFUN9(d1VQ+(je(wq zdg5}t_;q<12fYj1lJOcJ#`~nZ>UR_H4X)ZW7|+-vxSO+evWm- zS$t<}<5THpkDZ>bF2DQ0Hi<5!yUwHBT6Qy=i$_)e`+)_11zWyT`Sh=Il~&3koBWSg zsTE6P?qLkb%Qp*{8r(J zZ$tRQAHzO7U}16NQh^B4G$nr?4mJK^K*Q}L#SAkXugf>m&Yl11JaIB7uOaKk3%(dI zg#U7@3NO(kMc0snID28)Z$0TNxqJyzUl<;<)MZLdnM7JLCPaA5qy>GLKzn)1iiD|H zZ^*`gZ21VfeLT(sy+2O`K8!|E!N%Zz#$bn*?@V0m;g&k)dCO!RALN)lm|1Lt$v;LE zi868@JfVnfPsC6Qsj^&_(hc%mk@pjYETp1?GM-o7BWDDWG&*LI!pkopASF8b5;es% zN^X9U&;B=sqOUBK%K;UmlZ#|2v7w)CfKGD6=f8UimcE=!4<0-=Hc-kYO<{``6Pp^R zaLQ$!m*Xh3TP3THB)Pb~HyD@s9F7&ZBwXzUR$cbwT=S!V-5X zLFGd?ZeowK9N&Gag}CZ(e`bgIXC%6>rkNSj>0I*w7xK^d#?qdY^YbnSj?bPQ{(e7S zIm*i|AR0`Z-Z8=+^9bP_X!XdfSer*eB#aZk2^zh5lRW*ZoG3V)6atS zE!I-y4gc`ujGgBVUy@~wVBqG*BB}!;AD&V`FL2lN2r9}-n76-*=i+;)3Cjfg?b=|I z8*0~l!=YMObrhxWIA@H`=XSnE?ADPGZU6XnHcUF>w+?hfq4^!J650R~i@k7L`aY>g8H8zS4=6v=hJPk=TJj`rSI zLtZHa?ENEp-SZihvKOd$;d_jSJl04Ht3{q;4m3k)uz%!$vh3oW%|9Ay-CwmiPaD$v7o4Y|^Hfh6;yjpSlU;V8`$O3uVMb6NY!rzB78NNSW z!to2Ij8^ixlbK8w1r(9wDInm*LA!C5IDU`f_+2Tn)KCCAHp27C?#+zchQhIA3noqy zWMoKNWaWPJHTFQIXTymkUs*09!VTvJI7RD?-Uxa&7eL`-1EDj%bC{*pR1NoCLB7C; zb_T|qVGJ_syC&^XgQHe%#C=oy3Qp<} zx=$#s=4f0j9qogHCXN}0Jdk?X#9ZXaT)ko(hLtqk zZYzHRu9cYOn_)w?bd7vZSh433TEA=_k(3fnxLo?yjZ?e_mGqBmv0Myr(`+ZNo);)x zG-&2@U1+?6<;171yRS4u4QM`8n^j^EB!+KH_j}JE{W8x%{J??8q1!6W`QMrM>?9%E6p5{syG#D{4N z%i5@4PWSN6p!C{TFjtM(3V zng%+4wy@{;T{*xaa1B=zjUl)H?99|Bdy>6%xjbixdz1+eY`<4$uIqD0CI89I4}Nq0DE6(F4y6^X|?BVZAOReujW8aE+NVcuW9RGxy!te=A%@8u7-^PRamDQuWk!4f zwa5b6TgmL18{PtKGf=3`4|Y4u-qPrJz22t9y&WWs>Z;II@Zwg13}+b%-A zj&6_qomJw$F`ibT&uv|=0FU^s#CfxTnK3Xk;x#F^RO4@im~h@~{eZUxqcA1m<% z<~}1^X^TCy@;|4uo0IQ7c{bGAqrGJymjNy%2LHjV>ZZyWMoDS83`g^Fm}I0~EVQu< ztk{36tK`+f-g53${=*pvi0{~hdy})n5=Q*Oe!2^Ob$xUc;ZGpTG(zOs2lm5Po;MD# zNJ#3*ytA!1pTLmJR;1Y%^x<7>I~3a|e(Td7tgm`p(OQqDR@!lx5y31G%zIJ6gVKtJ zJ|P>ho$T3S721bE`YazldMOAPty5=lQXOWg1yIV_ta>sTxD!wGPX)jA@@0Sb9Ha~7 zlww~NM}4p=s6X5pWU)E6@;o@BS7>YP0jP(q!zns>UNBfO;;G0GG!yIf^3Ek~{Y96r zwk2q?oH%wy?nSl>cE@P5D5G)+*WLpCV98d(5-fCi?!!M5_bQ7fbSk1ZQh0;>Z-7*K zV*PQ78_BbeWvV7+Pl>hfwpH^z*F_wVPNHNraWYu-nA#vk{e=f-B6`HVs0W}T+w<6h z`!BW14v@fk=xVZ?tL{C_%+5hi5`@DILebf8QHuM%KX)t=V`0vg2B&s;=wB5(`W(|2 zOejHQ*c^3p7tHkXm3wj@@{iWv#{x+1BtOU^EsaqacNHJ0_9s%Z#0hRWI*7qT z4C;|ZOL=7d_~d=J=O6_rX+~#RnAr8H@a>^1rg)Q=(nuuvNH8V- z5shN?pLiRu1zW;onc#S?Uz7dA5^xqN8J{I1*Ezy`?@n%qOXC0yvn8?w7-uu!X+Y+L zW`OSL9QJYdUOsRa4FIGX|eP!gMTZb9)f8uqxeym38mvU== zu;Slm#N;#6YgylgN@Nt+ZcCj5xY)-u{1A6j@Kab#62=p}9H$$Vy}uMb=Y+MRbc<`b zHxX~HvUY@l-Ov&!2=+G=WOCED(90=Yi_zj@Fj^UfADt zKkL_AMFavy<9fTKW$$pv&NO-x%^fgJq{6d>`-c|qDsr-dsDH?I^fQ{Hcwh6XJQ`@q zp757VEMu1U;pw96{TrB7%DaM#S>|40etet3W^_Kwcfj;Q+g}V|5-bS`9t+H1A;<7o z@EB-0to14VUb0>i&+xz(QX zoS*W$e@(C~BM_NSklf-q9(faWhNe5Vyshf2gZ zIC_Xan6Aa)C4seJ?l|HNRXd*C09%=}YY_p1iw$NM82v(Z_?Sl#|6WN->(n6Oi z$js6_HJR}u34U}zxuv}x({bOh8fZ`ua=G@Ja79au*zTo;dgE*-FOKWJQoMypx%#u2 zDGu=i>}?<>!LCC*>|>hFkgt&%pbtX5XRQq0A_cYYfY!EB8@`exN<}qIcuq8UPh%9j zgjeG-i52=;s4rWfdEE#6{6tFknco8mKAd}4&)0e&C%B!07>^IXT9WX=buCEKdV+*LCvuj`*&Y`EV?TuS{Sl3$3|n2wtLv-HEWf|(RT|uOpqoqAkmX#88FcR^Mn5VEOPJAtxKRNqTJG0!gJ?Biy zRca*Tr0}6;)rY~j)>Y1Xax2^4-r<}&CpY>!z&b{lJ$YLa5ty7`z6QXRLumn84EMLj zVs(#o9^@0!5R5!5(`sEJ#P0&N;`}>jmV#?%_;=iWW{pH;M83NF<1QQeP`(Y91uPN5 z2=EkwbOS}yxzaTFWBqB5s;`Fw%qbXeHl9Q^V3EH3W~imWEqkY`^yJT{K$>5HMz>0w@dKDV?XtavI>=yd&+^xZ<^>|FM44 z-UxfpWi-na*9xU|Cn%i!9+Zf=14edtuSy`rM@<81YE&{(!fwX~=4SlCx`>5n12ge% zntMsB%?37ebQ_5}Hg?)BLkQbpSkBfNLE~k|Jktk~B#hT}D5u|HopA_;T5Y=$@4ME%?al<&hGbK;jhTZ zy&%6UrT!Idjw?(#LiJ&0G}(9ZcpCj!UZ!k(i5T_`F8{j8Q>d-^$H0DAV%w;_a+U_)28iS;qN^gJ`va(t zuQsVKpcYeS#LBs%J5xeqo~h_mBAe+RrdFLHZiIlJrv<9B;HUe^ohr$pv89Zn14@Q#nOH_^n$Zc z7DJL+V@vSMcR&a)(#WX;ca81W2TW?oj2GiFBr(bS8>$L=;XfPxHY0UX;QdM$Vhb0y2SfsIqtbl$&y|YhrOEZ=4{Jdpc>r}S{Y6pj=iSdy{MlKN zy~i2yVg!02sOFy*K@e`|J1iab+X>}U2Sw&)&D5|+gHpBSrz|$*U>lPA(D_hF82j*J zo7;5d7!jHv5!@JEA>OW4cL*s(HTvtveXu4+fH_LEv(0&kPe?!-9k1+;?ZRG3v~nzA z4RUUBR3^+yDO}{d&Ab}fE|8BX1B^lS2{I|Jf19fkAgp~G7qI7HP^Eu7VxW_OGDW;R z8Xj0q^t(R`otC(kWCtIZy`Ed<5ppz`cu;<5KNfq7%Lm|lymWM)QIlA>$vUvXO`)9r z!l&PLu0v91xO_|x@SDx&fF-xsNi{bOV0pm^3wijByIAhv{^H86>9Kvno8sUQq;}<; zcZrJ#Hr6r?c_1hPe2sw@h+i^vKJwyRsMRGi`l{EWy7#d)l4;hP98-rBe=u9i-wh04 zEemG?wo(R5W-pPx>skj*%@bh?og(b%&E$YRw^y=Z-Uf~t!;XpUOY~5SMs1rzELHuF z`1;ZTzMlc32E(rYiy?H*XYx*?M^A>bsCXvLfrLr?B`ovPam0Q&Ht)#>mF?N|7Mm$~ z`fPJ?(d6`%l45=69r3@42d2Sg01+5C5>VYAB~NMJ#KubZ#_?N}b`FA!5|=U7Nb=EJ zD#EShJLwS%LlPoGM@=SGRsfmK#vO=7L)>y7KzZCjqi*0dALTJR#?WvHaezmxqAw z%K=~im1CE<6Jw2jm03`zZfKx6zsE3@2vkX~;k86j3{Z2cymdBjTCj+Cj`j_Xvy>ib zEkm=dk1&=KbpiDr?6<>Sk@jhi*O&K13JSsmCDzJnaoAa5h2RpMt_!%FW!pYx$-`yrO|Ma(hDAN%k;}Tp^o)ijf;E3oW-YDN^ z*2zL_-by2QMnncLq9T~0LB8hl@K#nvM`o4DK8IcnZ(^QcT)BX(<(Eq|y{J(sdj4n+ zEgA2uA5hUqnrF`hvq-o@f<%hHnU-S@w$nYwk5s8m3D9|(nJD{u3#b2jDXN!0B3$l! zXJmFdxG<)17enK}70(jtgYy9iB?}5(PvtlYaQ|u243#Q8)R^AW7+{+Ezgm@Qp*0Z0NINNI30Q?w#lF z)mq(m)@G08Cfh(1&*$N$FOmRVYFlgo>VQgUQ$oCz9yN)TSWNY>mGduDuJCh~em8TS zP_L(zoWI~{FXP@CMWv0_UyYY2r6^{4ckTDy0BiW0C=Dsj4-)pGgg7+85c|*;sMo5# z^YW6~wZt_ZQqe{F)gx{hRPy=InVDUPSG6eG*#qkpEUB~+=26zV)hrH%PHtZy`cnA5 ztFiLS^E6WSZk8!d_LE-R>#@q4xQ?z2Ds?Qka@Rb=YEU@vv>}rIOc^J=3pu+~ME*;7nT9c!=lwm>y4b@G<+XM5sulng z;Zh6`A}=lvA|w{lrYX(s#p(Uj{Zm7H7A6nwX~PKql-Az)#}2FM0u_hbJpx?up*S+H zp|2E7L+osCk$tPei4EZo7)h*h=H%xbw|zQfwxHd(Keq(^VMXg6ZsDr7hYz{Y04l~Z z@nDWz`k!z1#Z+*-+y?vjoI)w`355rO(!gt3mA;(cL4++YY8Z8{!>+P1K14s`H@%vO zBvpfY=Z)-WTMK+Vr<99X_R-{I73rTIIusDV&HC=fREbBmT+L9$zu|xC_oVqc(ig2@ zX$lV`XU7U1{cr~nnd?|G7?)d(!3$1oBNp*vM5t6Ga<6s&i`E870A%}aUT~;Ty6!KA zE^cCb>jHm;@&g`wWc_&n@acAr7>CgKlEUmc{OMN~l9PV` zFH>aE{F~v$JeiVD|L1jM6TeMECDKcfVAny=9v_UM{Tz17l-JT6sgiht2IP%VWh0Fs zjKlP}+09or+|o(guayJ_AG2H%*Y8TSl0YCWBYx||)5FH4hi__^LsOY!$r4>pMItpr zS9Ela4T5iIi&<f(|{O5ti(p2I7>nR`;Kfmbkr|_k(X3XUjDZ?&s_Tw43uQn{dFsSgDzO>lO7wV zRqPjP0a(OZKC6v*_K_gVq?$YZ3XW1d;8JnBsIOP!XTD^i#W3}e*IW=0T=)6CIs zLf3CKc*QyU@K9TU!c3wGAAn?BRE}=vWg~fWK7inlIN3g)9_TV_NYR1pV_dIuj40_q zJgpS5ji4ZSsDr-d=w&$H;W@X=z&Ug}`AcMZ?dFYACA5qO_WWNtdxE{ft7`MO%t24p zHj&FsK^u!KoNFT;?FYEsBiB@0)A4gtYls7>7Vp&X3eCSG5A;I?*q75j<^9@Ceh+)b z-;J)iOk29ZHp;)dd$Id|kB4}@aR`^|>AufzWY6SxJm33Qqd_OpIykIXY?$_g+`S7} z%YL9#n$h)^0{51qXER>+e;s+m8AjY}*WjJyDvon$g1_504t=nGZ{6tY@|=wuKaOmc z#4osLJhDookpjr3EAI9Av8gH(9#|%Rm%Q&n*%vA=A_}vjv|OkmxfFf3(!~?RT`5MV z>4(JsGx+2IXr!nG{|hXTSC=-THE;J!70JYHhAqUu3TbN0IRKUM02FT;pmQVr8CuI; z9X5+WK~Y$m`oA2{d+@*2Pk1Rjp#PGz2&~LKHw23ns~`sogF0hyOGzih4}rZP6ZnZq zhFUF(mMxC(>skK06s?IFw+Ac6JLqKG91eF*7g&4O#K=f$yb^-pN0k+*agly{Pw*l4 z+Rf2s(yTdCx_-!kq=CMPDpt$d>qL8KSsa2Iu^SKVsVHh@LAx7F9k&+{qv#Ev-(FGF zEn!9D>~iCi%L#N1y&7`v^=Oz-RQ#q0+s1 zK~1AvkmGY+JdVlho{#?$q~DaWgwM8|(|KzE#S&U0i*a0P5dD-Z6vHp;8&9lh#w(f* zI4V*I71Dg(wv`rOz3q2Ndqdkt_^gl9v%}b*TLkYxcZAYX)yZQg3YMhf&=X4@x3;K& zZ#nc{l&fm3#XdrPb+TTXucqdb_rI8itg`L}1=Y5I9tb2IQ|!8>E*!XITZAnBZU2O) z#g%D|`b(uoX==(7+u>UUR*i2I*{eND0RftTcGQ}&(uahuh#Rh_u`1}>;s@XNo*|5v zTFMoxHo<472$~1c4%&ULl9_&MrpQyMwoeI{d&~>dFulFU(|NaHbDLDk*Jv#S)VEvr zWZL>zfd0g55YeBXpfZ2_rY#j%2clToqI_@_(`r-62Kd_`VwnV&v|+k`rF``Dag%A0 zWNixa;~)Q+5Z#nW29I)o-|E^V_JhRv*N0e`d-;^jf8yc z_8Gi=1Jke`e!CsaJt~mqHLD34w6~FEx?(Df@+CZ{Y9@#5mvV+)DL<^`i0L)VGi*E< zvJ~>PD@ZQj*Bfs8fy9Sc{M zT`3a>yBLQ04w*X8tcAU&`{R`myC8qR$JqBPqtrHU%!bb+tm({j0Hl&j=`*xA=?|uQ zOP2W3xm|fl!;021WUq(!LRl$ypo0A>CQhb&YU_uC>q4v$^uUhm@4cxetd;e zQRy2N`UhbEO61a7(i3?HRzhT%rE`C0vFHYNzPiQz*->Ui&G(-((N;%3qJgY+L!i7gc{1EJnxYjX->fo#Z*lVm zSLVJAD!{7|fVw!QT1(o7)n9K^tEdAZx1>!Hh&ehn$_EfWvkUOZztJvYA6yO4S-VjZ zfxh7ZBn388K~CT50+hqwsfa`~nid6`>y-LxNu?$M^k?SGApg83@yg?Oxz|Y&FQn*r zg092!rqz?@n!-MUd+}h3T2GdrKEH^{gDqbS=mVa~J$nmU)xJ&7vKo8I_6zzeW384t z^VhX`lZ!w6b-G<6Da+)IgA8w`4`ZICM@64%8xH%+Z3Z!?rY7otiP=GgZ+u;oEXsIc zk`y>ki^-Q3@Jkf>E-1HR*;e}&zdp|eGyOiTxx+fvWArmeaU|ZO8F=6lq=xUS{L_Yh zbpTGH(OK6x<8dfvTXSu}d`TM+WZHv5n)ZQZ7QYK6;nMM+TSQ(AO2_}x)*jzK^!R}< zJ9ytZ6&LGz-o#${`jKl_zm`xn6siI>Iu47QGf>H2hVTjG994p@2(ELLc>@K)}dgyM(#Pg@Ma>X!63lMgcX@!HK!H;!65O4}TT3w?EcmfT*w9S=9bhkcBj=Y;TKWeCZ?&vlB)u*#6-8=sWgkF|79 zN^?G)swhbHKVTGs+bUmWmJ1naKIx^1Wl+qhAm^rg(hfesugG3_$D6z zUB1pFvu5wg`3&AnVQyUfjZF2;&8ypUMKdDoi10J=KZ9Tuqd4=qe z7AHs9KmZ>yCSGk~tNx0@c9$XCKLMp^QO+}b+jVW4Sd`)UVqikI??)lLMB7b57&j7aUO8U&!F5<}-`+|s? z*!wOc%vla69o{>TY1~UIWaaePE&2Iq_ZL1-^ztxuC~qB31T;|CXaSpb<)3%wR7QwN z)+-|WeW#;`>}VMeT&k*`DT)WsxjnH$rONp?Q%T>4yhzK~zT+DT|`` zq>=q3Zvt2?F*PF!bL98+-w|Mq`4=<;LY#6P`5u#B8ZaEQ4C=8*JtV@PuL+GYXgvME z&G6@)iBTj;=jB3)sWO9Zr}<81R_YQt$-N8qMkBNrMVrr%eec97@v25Ugm;e`K>+Ef z3HMficP3u7_n?4?{iZr?eDfH+YrDDGcaiOZe3nF)-#C#>e|ZDS z&Ze?!_#_s;{GIXX+?$KZp4%myoMqKpX#AQYJO5#ciwdkFJ~WtmBXcBkBw7;sp6nkVV)$l5lGgO zOnax+_go&`jv(}=csd0RQvH~Wo;E~^zHijug<-_IZ})1M)2UOQI$d%6TViCHE4Y$*~fPj zcsgc5BE%nOPUzu1nxZkWFqZ%^rTR(`O43qnV`vSKHr-{ak#&?k=lnGG?lOH0Cr?0X zZc`?lKZsQ8FKu1OM&Nx;5PKav#78YDF!Uf8s;1W{Qr4bugw|fAtVVKMq>FpQ=>W89m0MbjV|H#eylcT~~MtO@Vk2=1Fiu7vt$fueWoPy}- zQ!38ek_|5!%L!njL1C6`ewOfA?C03Uvq^CYSS8(bJS|tRSuZLsKDON>4KMHT6M z+vN!ylAnh?ED^}=P4S`e(c>+bG6YcdcbUQJG={m4=u!FH`F&LPtl?^IJRhg%60?4O z-eeiSC%5=6od5hWP4O^3wme7{&;ZUMsqto5VX&^GoZ3X*ZX`=o$hN3nRg~4J=7X9N zK!ER;f<4A}XDi1PM%RqX8F;r;;{C6%^TH$dO6lASni@zNjZmA|lef(%AQvaOTOnbmrP+A%kRUdRKD_u=!g(dKd=6bi*N(SpK}b zZ2V>ZMm>pgMQZxkQ8i>?5CrgMy3YA?f%g}i2_$oGc1o`#jHUVcxLEK&bPktY8O`Pr z+je77!?T+4xyh>fB#>{4EBTRFHo=fzXQYWb@h`G}jFd=puj(S#6c<^Ty5ke`2ucv; zkb7Qa1$zkTwH-OH&L2f$`;mb4EIBKg3KbThCE{~cODwk1oq#IU-?tQj2Jg$+yf&B> zYIr)sX}zf!NLZ_2~4laJhv~o%+1xnx3m@Dn}+OUAOnApiR->;@7{wz6HnkDjfK3 zs(5K)FN}f!4M6>|YqI567NVNI2G-*C-{&7iqZh%q^rPWR9qAg=N^!)&?AJm<-;A{7 zz*a9Clt&`p%7w7CQy7urLCHI_W4P5^$S1VSl--eezM2sxAEWK@nZa1)|PE3vi`)fA1)AC-jzI zJ3J51OZhp>($Z1>_ipT5bL@0RXgtWp5(4S17O1=&rPsSr^2YbZB=@?ugCpZoKfj1X zZ-qtX{(3(qt2qC?K)(cjPzaFI+8Nwhz65asa?%G<8yycv^6@CJrlq?44Ui7V$FL*< zy(_P49IbaZfJEA#D|VS-{G%RCtAJw}MC`>e)5!k?Z5ER0bVy_k$ofg8O?*58Xgbxy zs0-DvP@Kkd)%CG-)~_1{NO}h z4UWf%`FAp65$?~k`T3f|~#Z;+7Ay}sbcbw3Ziv^j#g3{~ZwLE8b#dc+>Q6Ic``z|93m z5Wvbea5N&~%qI3*Z9?&YS*Z1SC2HWgt(|iVAYazE2HJ+ZQEEExQ-IhonE%DD@$d?| zvjPD1u3L_GhF9(d+!VyR>IVf!*Zn*+Z(Rg)CGdAt0XP!{l=9Gnuowl4<^`~tevyAD zwWfdo)-+Vderm8?76y?_kp`80ykabYz`tDOG4Yj?EeNRO#%toLG>KJERw;N!)0F&+W z7@6xE;&HqToEago?PsBRL@~P}4n|iyQpe*F)DWf-a+@0LRxUuC$z*;UdIhw)rK_WE zx>17a0q#Ys_$$a|dBOhwtJvLvX)XMqoP3@0p9l6D-SV@jRdt3F6wj%-YlN- z8s-2$3KA{4zThYf))ExJ`y|cBIhn3kh^7VIMgh2lKY;w~!va{&e7k?6z?fHIfPsj# za}c7~?t{4XZ4qzwrG4MNkyu2zFDgC?K*AR1`;gv%R!_#|z;ywv{F`NAENFms z5AY52yX7<%&@B`|+zq+_rM=Dr%*^OUP!9Z+T%Tu}F$DN(%SG?pmfT_SIXIQX%*aXT zq3#yHwFi)oa`xYeV1mENKL{hf$+g%V|1{w+v=HPJo_{Ffg#UOn+N%#@#Z5dpyc9%p zeG&!5dJ@jZ<$uPl>?3JCuyYXVJajHv@n@ppCl8Z;AGW8X2(?tdxZLz%QD8V|*vnmM zJVqa+;BzX2o>u@a?1Ct=&WNjVz%dq@Zi^!3i*tRFX~rl-BaL?j3XyQf2laLb9zb>M zFCm8D{<*%0Zi>FZtpTj#pUB${BZ~F!fd8iP7_+fQ#^=fn@U#MO-IO9U;bsrl#|A~u z``j3M6%-WnYA~=XI0RWYHz7a&Qba8JW*gfFk-t9xkN>{i0E1CK#0fVP9EnlT^;f7b zLpm@PS!y{$cX>cgK@WdC4gmJekM(1iOZ$}A?ux01Q~n5A)lbKd>SqfxfU5&o!OsJO zKm%%CP1C;f&@-Gfcvb+qD}XjJ zla76)0Jcy3gV5`sCYe1k80aIn7zga%sPY*LDF7=C`z=B#!JNSB3g85iEAlxQ*t4mlePu#LZ3yr6?unjNV>M`XaSHd^p%0C|YX< zfT-tN(y-46IgD9(P64?5|LMrTPZnPWMt`gM9ncN^Cw?%{M|v>^D1ALR9z+Y?l!krQ zkY0*$O7NTlaN$5wtMQ)#9PJ7QzDD}1xP0_(3;~9%4U~e4vDTzvpBu1y1?B=dZ3r@H z-1zp+D^>n_0CB4yy)pDk!%qulZ$mZpUK=6iqx)h2Fu9q)M<@W8j#S`6pe`Jaw8+DX zHLJ6BL0MG*?Ff8<{i?Mr3uBB^I-4qH0W$5q9N-E2|DPit zzOzkfn}C;sfdEIGc_YRs78oxlnN$c_aRDZc8y|mBLF7*zhgu{(iE6GLjG}WwI{>8w znHDVv@c~}S#x?rrHP{2ls}mt;8C^5q7Xoko;_fFg#*9Vv9kWs6*p|#d0{KZBGO7UL zPTZieQx_sC<;y5tcMD4QX(MUDaddv}-wD8kv%?>QwDUi)TQB+Wkp@f!%3cqQ16WJv z8-+9j_ga><{rQ(a1a*ME3r)P558Q`b+Lnbd6N(^X3Lx%8_d%tUF9G-47dx342il@_ zN1w5D-aVNFe92WN{9n{F&xen6U^FmpL2wj^2e6=%`*|FA{KnfKcJ}EEZt06MU`{WG zd1#TG?0hkuN+8oNKmi(t@GoTEOdv7op_$grFT2{j@@qi3^4AcgL zEvGZ6i^ts$u>&2h=D&bd8NOB@y#oe&=3_+S^A@loh3~%(TpEo=SDo>VU$SZIj^k+^ z|7r_UP%nbr(|IwORscmLH*Gcog!1$9oO9}GkN;w%ErX|rKL!0j&t>>pee@p80Q%gW zzdvX=O|rEoPXS+#My(}Be(fd#0kbz62{$mw?-!Eh=}wte051S{kmNkHV6bK8eL61k z7+|+Oqb+RBetSr8sTKv;wHJPx^Ee^r&cKI|Brx(U#(>Xve$m5F@bb0}AD$Eg-%9+0ny`=V zivkn}cy4slbF3{q5#T}8EATS(T(3ec>Yfb*%+^c4dk-sCZw}_=1inmmolhBg*u-g|EWI^v8)ysU|pIHA4L7! z9={>-=qh$aEB(fC`=9TwVy!pE)W81Dr`&YsqX4DGnB!1i%iV#k zh(PoO@F`-eE=QGxb%_p?Nh)wwYXRC&2C#E*ZW*!3w_U}-zySqBUa+X$@(eA>@;5EzeA(xZ_7z5@C56|^Dj4zg7cl(TBU4lZyB@`J{v;ZP;O*}&^Z zMpi~%4o>_GwRXNRSJ&>N+aiq2@_Mvr4Q*#z3#ACx&;d~>o7I2u$Z0unJ6MN&p>!w! z5Iwlh5s_6jF9#<^(a7f+DF50A`D6u%v*6_(2|m(~FtRos!LCCMIx5jhU5?Cl=T(ka ztCh4px*Zg>%eW8URd`haG$Z=%$#mTf*bMv(sENi{ly4xGVn6%UA5lC@?N^!W?*aDb z&bE%iC?cjb@{!3GB!~UodMTnP02fBjjU&vBNTBOcdaeeo+Lf-?4%gq+_BORBn%`*e zFXfc9*Mz)1cvS&_%=B02+8p&AXsT;`NpKWt@9jzKBY^IcBj|-l_>1jVAN$p}jhFMe zvwe~MDzsnuv{oc}_RCQy0oT6)q+pzX-7m_=gw`#%@dE6; z8i)zAvq~p=IiEWM++@F+UB~J)9@uMiSHA8^cyhIJMN|()x%BcI#AOV z5{%(a7aYNL3$|O>9VO%b*R6Q+5_}f_{h;e_h`BUY-217(BGy~cLP8XEy&rY`8&2?Q zj{Cbg?tSN9w?c@xUXJoeJ9?r(rwXqt01%t+HzXeqh@y_bH{oLbB_sUlLI#zH4;Op^ z?m9fF0AMF2upc5(97WrO6E%n@{dYt=ZZYq(Df~WsbSHRL0l-d5pb#+z4*+&S0Xk3s z$6-+|Ca%S@FZ@1yv<*)y0N6u^FbfgS?q4(j#hYue(%0DNQ) znQA*7kM2a0=?(A|KrclH0-r}~!jnT@a&r>gaQFvK4!;=@acYUN>{{jWeMR66c$o?4 zBh6?-==-A~Et64pWjv~s9E>t8eTfObLpF-9mvGpK4*Snh0(FQxzZ7^Lcor!IA0B~k z0rV2Y34cD~R(u&a3<-Z3$u)58EF!1@<`03WZvl7%z6H?xFcS4?{2CJaY#|67fh>xe zF7C@mn&2yd-i18i$H1jII{pXvE`X=t*S_~I3SS% zZM=>;FfGpY4e-$#etYa*f`O%_pfugPC?Gco`Qw=k{A~bk1HO;?JOX|S&`a>M0KEhW zQh+1TRGQsTbIWn4dF3$VDin3`ke{Jg!&~k*ec|^Odp&;j`;A2m=Ngt!3v0w)3o z(m6}<7Sxjg@CDzi@D)G;WQrE+H6cjiI?K>R+6y|d`zL|(a7}sg+V%VJ6+kPrArOPm z0EklLGZzwL!#QoMnuztStF>Qs_In9uxp`R_;_k!sz)w4|n`YFU<#xmb^!#=AM)Z0G z(1y?t1ZDvzAQN~5YV7Is*h@rxbreA(indpvj>IdG04zp~;lGBLDE(_4??=M4$u@yFtOQlh9Dn8KfQv>(|a_m1xN0<7gaOd4{edT^NPNS#^~+ zFbNIAT!55;4-cW&DS!k5Qw;16oC$o1^bI44M=5G&b^vlIuIu7?CxW5vR^slL^S;w% zxEK`$4M73Gy?{f|2<&uNi6cAMyuR%`|k~CCP716 zJ4x~3F95E_yTadKU+)IA%72LH#!bj#xdR19%Yhew2l2~+J%ete0FnrT^+f@^eb8z@ z3kiK;3Wu@KY&vH`tmC_GKog7C+JA3G4|FwB2<@Vat6daX6}dvxz9;o4lTi+A1XkI9 z7ufe;C316C+26YbrT^SG7We|WLOwhIPbq*TBi#Wc>_ZTLeG0HUu&4d^P}=s3Bg9tl zO7sA4K@YU^+Kk3PS0DkeCpH_eU1Z3t4FfmY=W{Yra;Ye_L~v&OIlcRw3A&YNHQ#FA zmvZ~H8Cg5q?Ct7NAo4DxZ2KZbu@N;Jc^G&EwH4bJ1sAuYfv*cPag%&>4mnc*NeH_^ z57s~w>7IZDdO!U4pGS&vgrtSEir}GfUKJ>_I@jo#p8^{ZU%M*=Ggc803_VyD5miua&=14 zq$c;Mw(<6Pfnp$6qRd3TeJ*vmxOqO>M%I{s9SD41B+R3bpij166YTc}AwM$Nh<7=f zD*OZz{_P~$h{9{ZDc61LgDjmrkf04h>ANPR(3YWE|Mj$HCpsgs4@Cs0Dfahjkw8B} z>mC6Ufqx+-kOu7+5i6ljdbs@>yOv&b8kgf6hNHt8?>TNLuUK#s2lAV zWHR=pYpJcxz$L(Qi9YOZ51xJR#-pN~IlzE6HVvUbNsR37Zuh!3A}uaJ3cmZns6y;8(E=_q+y0?5kbxH2{A@e!SyeM9~Ugjmwhi2KUWJ z2k5c|5GPRmkZ(Q``F@QkEmVoddtXcDJJCkbq~QOez*Uodogwr9Z$+!!I^xn%UVNbK z`x`(h&95KyBdk|5yQooDt zb&372qX3)|pVZ4!8$yA@&8@M|()83or?_keY>}_ho36+6G*O9@?KEKeVfP z>~!K+z%}3ti;v!ibXfpH5Lf+3q*NT%*b0<4UXLt-uiD#u1^J_+P~0FF-H9W>JHY)p zIJOTToPb(w>S+gg2aS9Osqej^QtDs{HsHOz*g{u z-$!pm+K525B`^s2_=8b&dMh&hSEE(hH(&Zz6bNU5y1zq8i8u`l>OdNa~p3s8aRw{0D3A(|0ig7Whlfsatm zela2l-G*9HwbzgD5R`6w1?Bn;Vilf(sHsy?5HkMyzJnBvFZe!ukVXa2ob)p-mFe}5EPxYYh`B5Xz!)I>0rHgeE9I;!v6!qJ2#`hdfyfR z001R)MObuXVRU6WV{&C-bY%cCFfuSLFgYzUH&ih-IyE^uG&UOV07*qo IM6N<$f_mN`r~m)} literal 0 HcmV?d00001 From e4157d111e6ed068e1229f6143aa8bef361ab751 Mon Sep 17 00:00:00 2001 From: Christian Clauss Date: Mon, 19 Oct 2020 11:43:47 +0200 Subject: [PATCH 41/71] Upgrade GitHub Actions (#304) --- .github/workflows/test.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index 175472ea..b52dec11 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -21,8 +21,8 @@ jobs: python: ['3.6', '3.7', '3.8'] runs-on: ubuntu-latest steps: - - uses: actions/checkout@v1 - - uses: actions/setup-python@v1 + - uses: actions/checkout@v2 + - uses: actions/setup-python@v2 with: python-version: ${{ matrix.python }} - name: Setup Graphviz From 2593f2a32a0f7137d186f7f6d5e39bc4012631be Mon Sep 17 00:00:00 2001 From: Guy Zylberberg Date: Mon, 19 Oct 2020 12:44:42 +0300 Subject: [PATCH 42/71] feat(node): add GitHub actions (#348) * Added GCP Endpoints * Added github actions icon Co-authored-by: Guy Zylberberg --- diagrams/onprem/ci.py | 4 ++++ docs/nodes/onprem.md | 1 + resources/onprem/ci/github-actions.png | Bin 0 -> 39261 bytes 3 files changed, 5 insertions(+) create mode 100644 resources/onprem/ci/github-actions.png diff --git a/diagrams/onprem/ci.py b/diagrams/onprem/ci.py index 8ee8831d..cdb25336 100644 --- a/diagrams/onprem/ci.py +++ b/diagrams/onprem/ci.py @@ -20,6 +20,10 @@ class Droneci(_Ci): _icon = "droneci.png" +class GithubActions(_Ci): + _icon = "github-actions.png" + + class Gitlabci(_Ci): _icon = "gitlabci.png" diff --git a/docs/nodes/onprem.md b/docs/nodes/onprem.md index a6dd83d7..3e5081a8 100644 --- a/docs/nodes/onprem.md +++ b/docs/nodes/onprem.md @@ -46,6 +46,7 @@ Node classes list of onprem provider. - **diagrams.onprem.ci.Circleci**, **CircleCI** (alias) - **diagrams.onprem.ci.Concourseci**, **ConcourseCI** (alias) - **diagrams.onprem.ci.Droneci**, **DroneCI** (alias) +- **diagrams.onprem.ci.GithubActions** - **diagrams.onprem.ci.Gitlabci**, **GitlabCI** (alias) - **diagrams.onprem.ci.Jenkins** - **diagrams.onprem.ci.Teamcity**, **TC** (alias) diff --git a/resources/onprem/ci/github-actions.png b/resources/onprem/ci/github-actions.png new file mode 100644 index 0000000000000000000000000000000000000000..b077f3bd4d5b019051497b3b611fd34dfc8caa93 GIT binary patch literal 39261 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 literal 0 HcmV?d00001 From f944a773d49653348a55e4950940253cb215c76f Mon Sep 17 00:00:00 2001 From: outscale-mgo Date: Mon, 19 Oct 2020 11:45:24 +0200 Subject: [PATCH 43/71] feat: add Outscale __init__.py (#338) Signed-off-by: Matthias Gatto --- diagrams/outscale/__init__.py | 8 ++++++++ 1 file changed, 8 insertions(+) create mode 100644 diagrams/outscale/__init__.py diff --git a/diagrams/outscale/__init__.py b/diagrams/outscale/__init__.py new file mode 100644 index 00000000..917b4bfe --- /dev/null +++ b/diagrams/outscale/__init__.py @@ -0,0 +1,8 @@ +from diagrams import Node + + +class _Outscale(Node): + _provider = "outscale" + _icon_dir = "resources/outscale" + + fontcolor = "#ffffff" From 899620a878748704ec969b2c3ed63fd621e2af6b Mon Sep 17 00:00:00 2001 From: Nicolas Lamirault Date: Fri, 23 Oct 2020 16:01:29 +0200 Subject: [PATCH 44/71] feat(node): nats.io, open source messaging system (#301) Signed-off-by: Nicolas Lamirault --- diagrams/onprem/queue.py | 4 ++++ docs/nodes/onprem.md | 1 + resources/onprem/queue/nats.png | Bin 0 -> 5539 bytes 3 files changed, 5 insertions(+) create mode 100644 resources/onprem/queue/nats.png diff --git a/diagrams/onprem/queue.py b/diagrams/onprem/queue.py index cfbf725c..a8ffd653 100644 --- a/diagrams/onprem/queue.py +++ b/diagrams/onprem/queue.py @@ -20,6 +20,10 @@ class Kafka(_Queue): _icon = "kafka.png" +class Nats(_Queue): + _icon = "nats.png" + + class Rabbitmq(_Queue): _icon = "rabbitmq.png" diff --git a/docs/nodes/onprem.md b/docs/nodes/onprem.md index 3e5081a8..aac314c4 100644 --- a/docs/nodes/onprem.md +++ b/docs/nodes/onprem.md @@ -181,6 +181,7 @@ Node classes list of onprem provider. - **diagrams.onprem.queue.Activemq**, **ActiveMQ** (alias) - **diagrams.onprem.queue.Celery** - **diagrams.onprem.queue.Kafka** +- **diagrams.onprem.queue.Nats** - **diagrams.onprem.queue.Rabbitmq**, **RabbitMQ** (alias) - **diagrams.onprem.queue.Zeromq**, **ZeroMQ** (alias) diff --git a/resources/onprem/queue/nats.png b/resources/onprem/queue/nats.png new file mode 100644 index 0000000000000000000000000000000000000000..446b4072d5a92c8fdca366ac180ea43fbb9db9f6 GIT binary patch literal 5539 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 literal 0 HcmV?d00001 From 40ecaf64824d7cd12c14f989b3d023f170cf14c2 Mon Sep 17 00:00:00 2001 From: Nicolas Lamirault Date: Fri, 23 Oct 2020 16:03:44 +0200 Subject: [PATCH 45/71] feat(node): DNS components: CoreDNS, PowerDNS (#302) Signed-off-by: Nicolas Lamirault --- diagrams/onprem/dns.py | 19 +++++++++++++++++++ docs/nodes/onprem.md | 5 +++++ resources/onprem/dns/coredns.png | Bin 0 -> 11315 bytes resources/onprem/dns/powerdns.png | Bin 0 -> 33870 bytes 4 files changed, 24 insertions(+) create mode 100644 diagrams/onprem/dns.py create mode 100644 resources/onprem/dns/coredns.png create mode 100644 resources/onprem/dns/powerdns.png diff --git a/diagrams/onprem/dns.py b/diagrams/onprem/dns.py new file mode 100644 index 00000000..3e1adf61 --- /dev/null +++ b/diagrams/onprem/dns.py @@ -0,0 +1,19 @@ +# This module is automatically generated by autogen.sh. DO NOT EDIT. + +from . import _OnPrem + + +class _Dns(_OnPrem): + _type = "dns" + _icon_dir = "resources/onprem/dns" + + +class Coredns(_Dns): + _icon = "coredns.png" + + +class Powerdns(_Dns): + _icon = "powerdns.png" + + +# Aliases diff --git a/docs/nodes/onprem.md b/docs/nodes/onprem.md index aac314c4..6d94bd31 100644 --- a/docs/nodes/onprem.md +++ b/docs/nodes/onprem.md @@ -91,6 +91,11 @@ Node classes list of onprem provider. - **diagrams.onprem.database.Postgresql**, **PostgreSQL** (alias) - **diagrams.onprem.database.Scylla** +## onprem.dns + +- **diagrams.onprem.dns.Coredns** +- **diagrams.onprem.dns.Powerdns** + ## onprem.etl - **diagrams.onprem.etl.Embulk** diff --git a/resources/onprem/dns/coredns.png b/resources/onprem/dns/coredns.png new file mode 100644 index 0000000000000000000000000000000000000000..3e10191af065b1ebe936de255c6a562db89901bd GIT binary patch literal 11315 zcmb7qcT`hP@b66sO`h2!!NafA6n%&imuNljPjZ?#|xXnc11$+0RQ;V?DY{9G3t9pu4TFV+H^a zum}ODD8Pr^lL~k60rSu_(gc9|BpQMfIryK~Mc>Q_078WU0QCX@&cG_v4*+;74FJ22 z0HBfu0IYs*TkqZk8z`Lb=;;8Yf1kpR@-(o9+E3p$005)}{{0}&N)bU|C1v1kqg#|4 z)SPe@w%xt=6#yX4e_Kb>;@SLOUP!v2Uida5CHv`d_*b=wS0(JPb$R*5UjFBE{RBG7 zmfMqw#on*|-6P)KZr{%Jp!VyBde`S+H)1j#VLrX)VS7X~Jg-H?tzVp-BBzqgemfx8 z#ANxY#}{Hs-gkNVsqeOy*_PQ;n9(pby&!8#*Pw__c1Ct~NF*=S|Ib&4ZfXZgwYNU~ z-QmHJMlxj zh`_*x$62Xq?Dr*c7Uto!BF*2-_AyVe?>y-uU@>+~m{TZbo)mj2fW4JVFH$tNX3r7mA>G4sELP{ZxNV7CVDlCa1SVYDe-u z0AKKe1FyImPttTOjOtZ^KEHa3(CAvY#s}vS1e`Tq6K2Rr%qLYmWefGg+{b z?;=PI(JiOpl`t0|jlv!9kYgy4ezCEeNX@A65MV4yBs4KQ;HyKJPT_~BCe4S?agaY~ zU_Id~6O{25w6Ld!46h~#;Xz@`^qlTF|MG{LA* z3Ie$6zghN`Ak=7je#n@v4v{7q{zF;@USaetq;8vjx`_Z-^F~Fh#D4?kHMsGlYfFDF78D z1>+_Nn+M;HjU%A>_{Jy%0jSOf0~a+q8EmFXLC6Whv~-}nz{3ra^5W$H9pXydBdW&G zwvUtNe2_7Ie&j-&Ayo};N4I^cm%#p@QIAIG?=bSk&6!c4yt3g}X!)@ow2)kf`1wd~ zKdvkB1@_XK!>cxqBX4vy+NW7F*)^mvFRCqag4T~#3DuT77@j~vBn9oK!8Fq12;9X2 ze5Oa|3aHHWk$HlZqsYGV``3w1u>gML29@N$9v4^k||d$TmTa{Chpwu_G9l%E{_CIg3Emv9VETkW85KdNsj zB;@L}%)IS=1vICh_KLa|Erc2+Z{t*CoPxLqV}gp?;Su^CIfE2_YJ9OM7*-6V2xi0= z8{FZmizGBn%td@0)7F4Gf>O1au%OcUHRy1sf{)ica!PX}Nj?m99ikYIc~uz5`X z2Ur$CZK1vaR~YeaZ#?|Gp(pPTFErQqkn-p$SP2EHe|huO+A$>;@Sq02#QQsqXQY<8 z@!O5&eKL&=2i9*iXw5ZIj27om{)%K3TB;Vpz+wlJQdt(!R zmmizTN^6NTH%@c8}AHf;*60hcP0!2hi;8kQ~#OJ z2ynC~NA>e?-D^X7_FXicY!+F_wO6Gq`!$Ki2hC+&-^}X_d}9$DjeRNyhgy~2S(MTt zPLCz(dea%~xDI~HUMk7kGubtCn7F|l1FaKJlp4-_z4++%=C*-urRj~vX#>${nfZg+ zj|7oFbBi_p#1oc=-naP0x%J}@<37f|CvudAE1CWtEGoWlu?Bq=KN<14I#KJMhIe*~ zjMOr?ud_du3ZKhb>h#E3mF&^_d92cJLKVO*`nd6*k+Zp zSz8y}M!T)3YK#oaUIkZ;FbUsQv18)4XJ5Qv!5R%TheJtZr(CA!vkQnl4`|i_N}q+l zr}+hSIBRdVHvJ0x(Cpu!+}<)HXE-%R<~lz<^6lA3#PO=^NDt|Gy2n)&H_732!yeP3 zyzq!k2eD#SsKA1S@5gE_UP=PxO7&9AJp9Kl0LOFo`O6KY@7RSLO%MJ=_>s5OE_e!0 zTJeV8%J{g>r7Zmb--L)R<0cyuiUWFgYe=M z6W2XI?{QSMZwgo|*FIbCMZa`Nun&6Mx3Bg9Kh48!p~q98e=V|-PEH)7#~O=uSfvjY z!{YhIGJ+uwH!zpkHyXt5MR|#Z_bf}eTsqE@v}U(&j}k1fSUtk^0clTByHL7$32sqWveh?>r^5MFKn zTWoE;6u$7uisV`5v#rxA;sj3EDudh5GLb9Gv{b9K5>BN>+&tMGgzK*)vJfatcjo^I zM_V<=(7}xKpU;enZ|h&7HyLsZ>e}f}VowLAT)yBn)-qnHb+okRMW&5MCDdBP=sAAUVc$9ad^sfDCAO?GT|Q=2eYM=; zYi5x&ZFG>FdHEBr)&rObgGqzWsC2mYP7K4&w7vG$?B~wGb%v`mv56gpBb%xs2n%`2 z_TFJUFa|rfenc4d@LijzR+M`l7u@0O z!r##qSVli`%UMV~+W7;^!WQb~eUHf{q_gI?4Mo~pCJJ5sra47jENXMG%95Q2>{HQ6 z?P8lT(Oy!Ny1pinf%95Lb>j4zTN=E$r0wRThLeVaeO6OB5?ied%cRE>E_J1mTh@uv z?Uj8e-X6j@!shl>Q@yL|-Zo_ek8ZHub5v+F`Td^yrhz3L?-dAK9^YV_FuqDlMkZ=@ zyLe~LH{DE-nL;f=bH&rBbgj`&-Go>`t3kY24!My$a5KFqEAN`$28smF%I*)C*}m$y z+*F_^ddorVPPbgPsFXgH+^8D%J3I}DOC^+5vauV>-b@$HmLuEy)*um;UlZ-do^C*& zIJrpuK$7Im&yR_fVQKKVh}L*dSed?mo@y&WjkY>fU4g`D0y?*et`n|3o-s>HuAWEV zMN1b)dKz!FxSH219m}Y*h;{d$W1Wm_C?zAgsx?abhD0n@(LWR?N1gMZbN4 zLVoe*d5xf9q(}W2C=i;P|M5BIhS8=fY)ufO*8x8SJ)*CSwv5wGc6Ved{IE9)TL4`4 zHB0U%*I?N+5mX5{8IYc)M=K2;tVUzUqnK%Z263avW2L0$3k8I$9WP&fG}Ja>-Lizq z@b2;*iZpAZGxI54nXOudR{7cwI)Fl#_E#{Ga!~d?PbFZ2-XG-@#Agz&Ub>b(WcX8= z;;Xuu`?>&yd=9I-@lO|X4}k!6J-`1}Zm%puVjV;7)%AY^-U)#o8t>F1Y$~Oi&gu;v z!a2+|63o|?_jl_Ex7xZ_14NV+lr@XYCdhWKGQEDK(A}|nEZiVwJ@C`6h3zFJmw*lP zsrQOF>O(%WG?T}(KO3Vux)BURGHje*lfT-?;~cJf|8s?r1B(&{qQU_IyLxFNfn8ER zb?>B0OGt6d>JJ(O63p7#lkNym{CzHZ5Gb8B0ysdWJoSRwDR^<`ebOvDCDGXmdBGRE zLr)iL3HgMng@DaeF^l+C%*z~&LBngDvDpNz^4iaq=PWOCu&n5|c9M>}u|^684F0ZX zsTobkUpY9VgZT_kE21hQ071zwjQo3&O9vq@d0&zvHvBWyN6+7({yzT`d#eV*LE}xFxn|(VpdTWSS8h%M03|E*nADi0|o-RNf;kAE0!FMUU=%wcU ze_Z2tD3uPsKO4jZN@!db6H-gv3zl%%>%FtsLc`(_(4dsqkgrw9hc7aMn1aVJeq5~q zFRsA09oJ_UanK=__}Oum(`s@ygS??pvzl~)8CsjAS`F<&Cwvhd#8i*Cz=*dN zq{5erJUJUNK@_%X5=+-3t?qey)Ocv%cW9*3yA1u&(auGsxAb}tR*$J9(s9Qct$nw1 ztYk$z%yHWN!4Po1V4#n#-%-O-}O+|O{ zd@ufOPh4z?)zDT6HB;zOkZ1xb9QH7xT*+O6Q?gPBWlvg@{sgRMHda+ z>pGi_DFVK=se#*68WB`V|5#9RAabJz4^qAgrba~#T;h9KCqWt*+oY5>?L-#c^Nx!9 z8d4urlrd->|K;|GXKbr%PkxWjQIiA$#s%!T8xb zvV_L_5vUhVyRR}Dp9`U;)A!;NZE3KQk8e4-R8NLRUb-`?36ny=mMQ(nKM-;k0vbp3 zHXK%E(U0ao%CHY1&qFS&@L_Z((+pKb#l24N&TE=iq+2W!^w6I#8;EaZE4pVrWf5b+ z^Pzx>*0U2b40U_S9_8z-0aD7=W`VD11VfLhu7fYry&CdBt%#F=jH`R>Sc{li2fyC> zr=51Yi>bqsg+3a^++6E5>WaQD%R#0H#%98pGw{vg0s(6;{@Qmbu883K@Bz_Rkq>i@ zPrjY2E8`>=u2*P|^9HxfufR2-cwzXV(v(F^C_ck%I22&@*HBFs?5g87~qP{GYzFyFFujmd2QR&j{l^HMIE6-xAp_j{_oua+5L1UuvPpS5O zb|YFV2A6i|EQD3A?S7eMnBfX5s_Qeikh2J~#SM=fYb9KLQ%O5%(JA$Ms3%NS80pnF zCOr9QB}Mo3)}zNcAJ>0o7xmW(k`Aw^P0N~wIVZu*wnNP+EKA2Su(|V3lfeaf+3lJe z8xdN#ro@$}GIbj-X^!U^!zhI%=i6kxoce^M!*_Lz>52eV&p7KuH`W_o^e?MiDm8N1 z`y?mt_dF=_H-6`syS+E*v2KK)b%&C?;_V`{#MdPCjg#41R7b&$&Sr?it>mOpCVr$N z+chiu?dQM8EsRHuKkxKQjyDo6^#(>5Cyko)ZS5|j2*7<*;Fz1|Y+2PV>FT`P4-p02 ziOz!vKgxmkDpv|!GnEz8jOVCbR|*~OCG%X$NR8-{43Hpz)`#NbntPC#WIk5bfniWdc z8+6`okbYm;#I(`j$dnSl`2UHgZ1l8Nl11F&JSb`s#1zZ-mG$NQ##jEx7o1YPV~&eb zT@pT22dW2V{;n%Pv;?eh$c-x8lwUg$5FKQHaX-U>CzpMu z&tvo~RHI_Dkr(MHcR!AC(fFk)9N(iUdM)D-S9zyYVvtg1uG`o9ur7EUq0e2|!rUcy z!4SYLz!%pSuYToFprD1>vw;+niY%8tPdwcke5yJzIGllNEV>yAT9lWEG)}K`oM$Wp zLCF#+bzfW_g;f>QA^O$(=&{CUobgn$v^+tla)*wRQVB8r%T(sgeDG^uuT&&$oipt6 z<6;xclCRIU+C5mMR;HsVg(e=bSLSMM_~x5ysQ-{rxL@H)Q`-TgAf9vS{cORf-m7e> z8Q&1^mG&58!rx!l(^zRx4PI=1DnvR6){P+Fz+J}SGkB8y8_OQWDugxnFLTfz>ae-_ zeD)K9{z$P4#w{;L;2~m()3UNcRzD?Y?zyN2v88z?5Z(tQ#*t&W#>{;0-rR__P;es6 z#@1H-XBmN-o8!lK&uhDCS6n0zx(?<1VDDswW(6e|Q{$otp3=-Q0Ym2}=?=$VxV@ak zkW$vuld`4q2s=^fNXcR_2eRDL@q@y+fjkdz&k1po*r1gAk=fy;hi?sj@aB=bjUCIz z^(#K%$99_UPF}__#F6czBxIlHym1) z`!=PcNi-XnX7)I$vOAu!EKcY55{^9eOhMROg&xOR65VNTCM-z(HhQ!%le}*MvGwR2$$=Ct|n3u9vH(4L?D%< zaBX2_bLXvlBO~4layQ4kY>8=knV8vA$&P$iib>LZ?x&jjc)gymIuD-1B&U5nadHyh z{^5U?FVhJ3yw7xHj>VUPUYgMz$9*;VazEm=aISuev0&~F#n}Bby<0@bN&p$TuzY23 ziYJE(RTX)&m*YfuT@cY+U2hk(?(XrZPeWVe_o8cl8|hy*OVBU@9mqg;43iqf+}&V! za{zUq2}9nSLn~YDT@<%@^|QEU4ysIHy6+GR-{ z_9M8yNGUtLDsV`X-k@x{BAvePCZSqqCRz9tUw(^t`5AC3=u>eP*4VCnF931)NolB7 zzT})K^v}D9Ws!{|O5s1JtF}|vDoZru8^YBXvqzk4#Ud${bZEzog3I`yhp@vt5{YDT|B zhO5ytX1NsJZH&n;VyQIjo_U#_E4phwYIJT_tDrQ`N1C_+(fxSwi*3F?WnePYd^x$F zhu#Fr0|T!M8t+7S@&h;VtaCJk7PH+i+s3aKa${o*7W85#{j*9xz4@haY0~4!?fB7y z(E{H33uYsEH5FzfSMX7##W?LK>z^F>S{RY5nX%ADD)*co;XAzX zq}2Ftd{bn$G%Y4C1fR{6VRkLe<69{h|KGQ)zRx_|sqGvJ9rc;9G-I!x&~Hv4R8RQh zi_rfPG?_N(Jd5Q6BVR{Fkf)1`dDk<<{AnOPrkw?6lC0wM^$X@hI~4@qwihQCXRm2r zxxJd{K$@I=Z|ZoLJ}CG+8ddx$;_imSOZ|QZbuvduyjr>$SHW8Yb;9EKlX^R;K2fq? z@lngwxfu#{J+#P!cf82uWYzOFv%zN)0B z?=LbD+br600qJ;LSTmorl_E@sX!-Ijq0RuPnO@yaJAHwokS&@$&+!rao@RH{$1Ixg zd)q?^|Hop54E;_56KnSE1$O_v0~cYV{P2~MCxa?=ZIHY)p2yGH5ctf*IcF-@^VHsQ9_8Ngm*%^tzid-TTKwXO z8aQBSO@gePpcOwIvX3)B$b;sb9&G~)AJ~5XP3=r+%y|}}o5VxsuH@&jxjb;L4kpt| zd&*1~PF`i1+zhS3Ma33;eDqc~zhs|^d-pJ`e*w%L6dC{9IwCIzKYvn`B4v zt9FrOeyaOgg_`g^xM{p|=dhdNqjw(I0@`o^_K9%n3qlvQTV`IF7Vij-G-S=NQ%hQk zupG9uK&n(r^i0V1M(f9*`W*_61Z!H)%Kbb9y~@60I8x{!rG@F$(siOk#~sC;4o&{s zCvnfZ4_7d&6q;i?3b3){g6sZx z@upehk}#|0p3Sc7}@_FxW;U8ONe1%=k$;61T0Vh)CJPqsHwPVt+Ks zEFM1qjd816}@|Fa#9EuzsboWx-c%oQgVDDY};w0UETpDtXb`@Ml_RKp?AVFidF zoVF!k@ri_p52Gx!*O7wB`5ohJbw8in2)*l~sQE^V*E^3DTAKR4PlV(C2l3=^Y7OGS z^UY+UZWJyI6c~8G9=;qfJ5L|}7Nwh3Z+143BKdDdoB((gicVOtOVkG$GZmeG#gpfD zo+0puUQtCux8Ch!%#3PdTRhbH$;H6Ic;k9QvO7N&FjjgbzVG_0J8 zR^-(3ZvMR-{2(If5q~MgWVq7&IQ|K>2=;Cihf#OkpRG>D@ST45skHuzWDoBjm+-6I zz%1lBtUsvY=3^?BJJCkk<5cKuS>=&VrJ>`@SE>6xH({UmuUZYLC-CfXmfO`WFhTF& zNHd=O2Ptw!@^5#{)dm_rC@BcF{W_+T`%Mh}ZE`0&RB561I{Q+M!e2VhH%_0|2T7WX zpKhQ}2N_r?z!d)|DD0A^T7Mm!px5I9Tv*XmlW{^_* z2OPq0hBA4{r|y+s&ln#xZC#sHO4KdBoYRZm9{NjW5_Aw2BNHf`;@aq8dcZbc@%cE3 zW9|ipJ@0-=^+xO&(b;+#6feRK3m!DZMScxt=6yIDZkkq@N$My&W)*-C?3<-SNhuc>~dSV zbVPkIZ8ZUzb2|%h7FTLDi)fYxV*I>;yj`*ip-?_Q;l7>ivboS+X|*U&dqQ}`R3riU z`vvjrpvjt;k(g3M>&8*`k#@3@_hu{&883A^E8BixSCy$b4b97F z=gK-|em-f{l=VMJWpf`rvhrgJiX3RsMbp|E-Y0K1jSg(mkzz2pyXc%*0n&S$Fo z-%-~XyWsr+yK|xn2Uj0He2eW3)BC|QbVyid-q;?LQ>lzw_e}Lln`sYLJi!0=mmhf; z*g^1f0@Bgez)Wzf<5L@2w6oLEn4^W3h6z`$_f zZi@r?@F5>-27D|!RqbS$Iql)G9be0NtC67DYgUgyZysw*ges@hZm~s8a)IPssd=T( z>q{K>2~hnqNzm*!{_@QBm=ManLk7MsNWcGrGy-!aHJtdOhgG#zvFIS^a&I23T-A>| z3W=MK7sI_|GU}MPZQ@P0X);=VzihXZQnf8zu|%}wo)ETw_A4kk*X49;Wv9iKKU*ER zJ#rH<^lPsD^ALS@r=ZKi`8QB*&7KET7XsO32<;7rj6Q$8)Auy^BKHrNUbrciXFZYX zl}z3xP{HDt`#SD_RMHTNgDV|GHR^gl|9bZaWeU=AI*(9?d!^9;Uj2Ltdo!;ml0(Ki z$ne{7nZ1grlG`L;8-p54jFg6P0riy1S4q< zxy^T95u}5@KZ>No!hR&*&j%3|%z))50M+MraH+jDqGch42e81e!hL3o_#Y_09TOIkI}ckU8PkBy9u?^{-aAdEzl45G$wKw zU(MfY3HM-Iob8E8IA4(A!GgD7XV(!Yya+;hvB3g|Kk23pQH&r#uM(wtG%$qT%af{O zh@?VmY{d5Jz3dCP>3`twKC(6EcNgjT37!4&=5oi;?F+>Mq)msP=Y)NODF^`BsCBxf z{4fXVfj;;5hO$0w9aHxdfQ}gz@7K|6y%n^1Cc}K0A z?m6>SCrLAeAH@xhW>6uW-_G*kW}Ln@l(^TAsbMowxvKVl1#&7j*ZlC;Pk}z}14Qem zSaILELCf0jBcRu0V;geJBA(s*G(Bu`S(*5YB?)<;loWoTRGu{KxM1uU71K%!X6v5k zN&W=UB$=dkhJeMp5d)0_{nHOV+p7;B55>+lyP&%0*k!_R*OXL3d@{L<>rCB)WJXVE z8n}=_@h&C>E^EEYxFfgV90^9G5UA$E@ae!1szys9jr!ua(!JvJ?nYWB(KOe=|D@^Y zR+R2#Bq(e;lehg+7c8NTE-HDAp-5V#Ke&vy#s)7mC!E7n#1IlAkuDPS=TnZE-0|eO z&L3*xTRw_y`uzIXpajvM8jUAZ^Wn}5i>~6NXwiv74w#aCL&Q=8V8HiL@rw&+wR-Jz z{K#;Q&Rf%xeBcJx)N;^R>IshKJwHxS!<@{ml^2$ZcgFAN2>Dow8H-qHGIeWi_$HU> z4ffuI9UFb!R&Vri{3U((@ZAl%)-eu#By*$O1NAb#!)u2{OBP$>lHon)etIgMm#EQ7 z0yxFnLne4N>(-7ljLG_OJF#$5^)obSE&m$j)x2|~#`D=D90e7Y|0md=FI3!ojHrg8%UyI);{KVuG&wHVZPX~R zzNCxzAEXph3PMn;prKV5Hi(VFsx{w9aiEpMj7-U-VI3eml%0vHng13qh{8(I+F(fe ztnOkZYlZE$k3KC&E3O?g2y#4YWAbBb<~+qTi|F^ByUVW4Jo&kQ-I}L730k1{g}RYB z1>rhRO!hLOdiIF&1KER@s^s_}M|iN83|W)C15oD2Dxpku6Scq|`0@B_Wb(4MR-sEA z!Kcv0B)b+4TQNY?olZsFH?IJWn%9p#P|h8!6rvIGOi&-a4PWMzYeOD+iy*|~8#QtUXclFPG3@chyfhWPd;Gu*b1Sjz_L5p~C!Bo^JVH-Y}t69nx z9Ipz3%F^_yVBL_#`U`$!Y%<`9R^gM5mZKy*0Zs-<6-}VcA(#M3e!ejlN;qBs4buR? zE7AYJtBihL2prA??NkC`F{1x~Us{fq^t?DddTJCZ1zs@(cG2gDz@bdgZGSM^^-&*q z@!|ylcDPE7g4=HM`GJ)Z1U`Z1u)kj))J0 z^A1p{jVXYqfc;e{Kav(K$=Y*(CBqcp2Vj2%EWH9taC;`OGz^w_Z!m!PG@4}Khcsv~ z5`HvY64_U-FszSk1Yj4yv6(^Go~Z~d5vm9ufmXf8`Ka?d3)FzyYuBc)Q zpv&bC=bkcR+CcQ6($h#swr6CAY0bej3Y35Dx~)h*ZdmvA&wOy*k^};%!vEnORWy@< zpw$?xH>w)_zBwV|Y-d4q^}$Zk+R}6z)6Y5VlB_iI($6-1_@yR@of%1N& z`G3Zo>J*R|m`#z5QESn?Ab?gV@Rm)Wt5cwxipvu>@Bzq3%ScN~D@)2KTHH`jxuL8g vrzkEhts*Vm8snw^e-QZix_Y^X{9g!U|2F|5{qHtN0NlQ1tn)$3G4g)_2fnSt literal 0 HcmV?d00001 diff --git a/resources/onprem/dns/powerdns.png b/resources/onprem/dns/powerdns.png new file mode 100644 index 0000000000000000000000000000000000000000..62bca8bfc219eba691e766c9a8c43854a5717f86 GIT binary patch literal 33870 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 z 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 literal 0 HcmV?d00001 From ba5e9bdaf77a9b50d7edacfd3f273578ca6e57ac Mon Sep 17 00:00:00 2001 From: Nicolas Lamirault Date: Sat, 24 Oct 2020 16:10:44 +0200 Subject: [PATCH 46/71] feat(node): container runtimes (#300) * Add: Containerd, into container resource Signed-off-by: Nicolas Lamirault * Add: crio, container runtine for Kubernetes Signed-off-by: Nicolas Lamirault * Add: gvisor container runtime Signed-off-by: Nicolas Lamirault * Add: Firecracker container runtime Signed-off-by: Nicolas Lamirault * Update: firecracker logo Signed-off-by: Nicolas Lamirault --- diagrams/onprem/container.py | 16 ++++++++++++++++ docs/nodes/onprem.md | 4 ++++ resources/onprem/container/containerd.png | Bin 0 -> 1245 bytes resources/onprem/container/crio.png | Bin 0 -> 29170 bytes resources/onprem/container/firecracker.png | Bin 0 -> 43918 bytes resources/onprem/container/gvisor.png | Bin 0 -> 38731 bytes 6 files changed, 20 insertions(+) create mode 100644 resources/onprem/container/containerd.png create mode 100644 resources/onprem/container/crio.png create mode 100644 resources/onprem/container/firecracker.png create mode 100644 resources/onprem/container/gvisor.png diff --git a/diagrams/onprem/container.py b/diagrams/onprem/container.py index de049421..b60e4ac8 100644 --- a/diagrams/onprem/container.py +++ b/diagrams/onprem/container.py @@ -8,10 +8,26 @@ class _Container(_OnPrem): _icon_dir = "resources/onprem/container" +class Containerd(_Container): + _icon = "containerd.png" + + +class Crio(_Container): + _icon = "crio.png" + + class Docker(_Container): _icon = "docker.png" +class Firecracker(_Container): + _icon = "firecracker.png" + + +class Gvisor(_Container): + _icon = "gvisor.png" + + class Lxc(_Container): _icon = "lxc.png" diff --git a/docs/nodes/onprem.md b/docs/nodes/onprem.md index 6d94bd31..cc631ce8 100644 --- a/docs/nodes/onprem.md +++ b/docs/nodes/onprem.md @@ -66,7 +66,11 @@ Node classes list of onprem provider. ## onprem.container +- **diagrams.onprem.container.Containerd** +- **diagrams.onprem.container.Crio** - **diagrams.onprem.container.Docker** +- **diagrams.onprem.container.Firecracker** +- **diagrams.onprem.container.Gvisor** - **diagrams.onprem.container.Lxc**, **LXC** (alias) - **diagrams.onprem.container.Rkt**, **RKT** (alias) diff --git a/resources/onprem/container/containerd.png b/resources/onprem/container/containerd.png new file mode 100644 index 0000000000000000000000000000000000000000..40032b6d382399015ad981693daacd92573a133c GIT binary patch literal 1245 zcmeAS@N?(olHy`uVBq!ia0y~yU<5K588}#g)VJz{w?K*|-O<;Pfnj4m_n$;oAYUQb zBgmJ5p-PQ`p`nF=;TKS-;RORjsR0ASs{{rHs~HRo;stYd1=;{5n3BBRT^Rni_n+Ah z4nJ=qZCRW5rVYGN2%PiKnkC`x8!S0T$IC?w^4sF<aSW-r_4ck|S4yZz z!^2?PyNgeBD7np=;jf^vgR42RaR*;-Ov7#ili5DW%*>J@1&nM-1~V5J7~E~MnrISx z{rj`O_qR73-aCDNTxe1JSq28z<*df{=kY&Fdfh8~F0*d7{CWFtMF)fK&tL!i-zVmk zJLjx_c3Cv}{QIQ1xvQ@}7u@p1=eo_R{AqG5=}&fB`7snSbqG7mVR*zMpx$7?c!X17 zPzb#%dd<2gq;B5v;^O6;=AW2{OnrykL^IA0=c}sEwhsC3x4{OZH+dQ#jn5n*6Qpu z+5RZ&M*Qd3F}ij=^G;XpN_x|^DsFZ;U)|AS>H0J8qxBgXEV}kHzAVY7~tO|#!@Qs zAdnX&2o&%i2=oHH6mSFrxiW)5Ck7x8ZyE@M`3O4*vm1GAKoS@CjpSS&^6OWDuL$S~Z!=P8|84Zb=+quxbZU1#w$E6- zj=lc1Sk#uNACdW;@c8^6`Iwctx%pv^_eI;G4;nN)I*D)q2%?%FT3=rnv{}1Hu+>u{I&!O!;xw6RER6JP^Q4Zye}Hvp|U;J@J;Krj=+AMaZJ zSN$07>k+$l|Cs;YY9lXHjUkK#eZT7~qI-FMDu8g&zR)$Z=xtf@$pd1^PzaqFvKksW z081fQAJm2Lh8uo+?+Sy9e&2%=SoHt}LFNz<0CDtZ{Jb0D2@U=9^b~RH6C-2`1l2hl zq=az3(8W@CpY7Eo=mWy!>7^agBU;RWzLww!G&P^~cS#+1{|%2u2iz9tlWO2$;HL|J zs?kmXGVXzF*lR*46L=wq((X)9c)>~GyZe@Q00yKU=uRMxEdc?>FKA>7M?A3fDsNOG zf3LcGKHRsZqF}1~(NYW|KlT#q?DBN?FG5g&I@yEg0=oE=)eBMIY&ayoync74aK(n4 zh-qfV^arF8h#w~Mx_c(N=hHbv>-fheB#~sqcfL5&rB?1t?V5@6`2Y-<{NKwZhmR4E zzCH_tm#345G_ZM>p@l-Z6rdpLyJN#d2<1He#ibd;9Sx?eovRSorc+x8L9`BIAqNVA zK)MA`E6PVxPXo2JI9vibo4paHP?tBXqw@Q*Dbf}lV!6xPUb=D8yjv+=piffX7Q$;F z-8}rAxxMSsF6R>!lwuz1ld}q$=haI@V6PA|UMj{o6af_`0bbNu+vg!sP1s*AFTB3v zpDaOHQet>-iP>l)to>rp&frjlsPXWJdk)wmD%s-Vt2XPu7{BIAVMtS@-7U`yCl1!EM(hO5OZr$cS8`g2USlsuYVKgB#sB-q61TGg|%M(H^gdvV16CK;R$_D=0w=jJ!Jt+Y4TU)M^$0H$R*MD zIgqn5W(Z?XvN?2h8r7QZRgLiSjq~vDRPuB@W2~p075;C*HPoxz1rf1`+r9Ewc**!7 z@U->J>!x7s84uy>3#|H4Nh*n`g%e+2It{jgb+$m@BL@Ekya~Zm5=a-=ZPWi*heYBRAsl%!(mnoc<}L!h6qh#IacPMO5QI^py5WPP-R|U zT;y4bl0xgTe29ho09CsA>85<;7aI-Eq^vWMiL7Db3Wyz&i2>G{M|~%jL%G+lqO-0bJ}J_B%X|~n6OIRA7wj*1 z#lE$(DVs3%-x)4ZyDe=5%R9y<3Nt1G(gHIhTSlVzIQuDoP*8r44K|ZOKMahd5jry# z#Sz!Ya~}C9`C#Zx&wb*MT;vr{)K_d0CHJ`4Uw&d@e{tlEC;J2Ckn!H93=5V3N*V84 zFvnWABkAIp6v5qTyeUtd5tMe3>WZ-R8j=1me== zh#aSrc$A$fZ^2HQyQxWioUvqPqok_+y=9B9y|Vl~Ep1frCnEAoR@JIwI!oiRH!>o= zk`uH z4eiFjZHDauI;mK^kDF$pbi!C#lm$_j?MfcSYe&~RiICq3haj&*&VvG(Rk^i<_;i~p*Gttj1il^5z4x~+yjoVsOl%Bb<9)Ds8y|6r|gfvz%KkTMDb zQ(@>q5EzdREeDe$HoW0PGRk^A{gvP0T}+|~RnN1AQ%Y1cQ9=3e+)GLBGhL0{x}tUF z#^R${f9-8wq7HSr1X*N^=~~DiE7Tln6J}nty<+j}o_nnDSalS{7{mXdVZw?afQ1qb z%-t#8XM*b0LV48Ti-EyPguT~NXUzFiS=P2>ldzj6fz9KaA0&{QeSKerk1@y5d_DLZ zu5Q^T#<(7NTG?=|*$?7tZ*aq$7Bfw{w?-@(w^ZSR@fPh?sxUP2=FPUDIcUx9?wxv^ zNGIO#{SQ4S;{?&&X+$LQZpu9p|H7+TMeZ7WY9>z%3DGut&nLQOyh?ggh zW4UR+D5;7eh+yrSiE-^D43=;M>>A$$M!bFV_lbeGGn{@#$3G$E2pF*1jdn+ySzFou zO~5s_eBFz1Bio+-ZXSh~U>zQfeDJSrCSp{XK^p~Z=7s-+>>GtgCV<)!BbAx5Pq-D) z3{4v{=xU$l()y4+R5YlL#Br$3OUNe9{?e0PqvIp+%9oglKM=gAc*aQ0jZZTd&^tUmRhf&pydCV~XF-Uu$;!x^39Y$YNPBKX`gc^sBCIoobOI z>pE~btLWLam^SLuo|i&Z%+7~{$sYRe5uV}!1s zf9>dL@9_h^#a>5D%p-gh*|1^R!}nF>1i(aIzI_Py%lc-+9oJ*Tdqe(;(3avCopxW4 zs3;z>u{#F*dN!j2^a(&zH%bfd)%%_Ga%L*f`m5~mP6%qQ-qySn&65=9a> zP4ZaM;Rqr($nbjw&@c@?zS*gLOeg`FDd5L|({-=}8RA-(&s|*7<3n;t!|e}tzR6i6 z>ay+i&cD9Co__Mc*0y(Jd)?fDYv^XXr6j+8KD~igLqlXV#D#`=p8&P4m;Mf{*)2Y% z8fK+4D{@|~*XgeOjfR4-vw(sW5e4t+$xJSNaGot$T4qm}G|5nATT;BtOuni7;P)Z` zT7CRd(lcr9Z_Y_Sw(~N;vkn7u3H?Fr_XYc|!m4M(>RFMH@UQ!u&ZrOvO$w6uJa)kRQqe8-Lhl@oG%4)%Z&N zuwXu>anyT9<+!ine{QK_Z*t+TUL|@4Po#1&(^@;6^1cL9BgzfMJROk!J9fsusK*+`YqPaLO!ePgTEx7U!1(fD(2A%KMij9nzLwE#=wat zn4A!}>NGgiYlt(T=Gbq|qsdszq;o6JjhUODl$9z#7zvI3x@SR{qS@>^=rNqxL^$@mo^(nC|h$LRkL_&)b+Ng4FzC=!e_48xdUav zFF{7osF2B9`Vu|%7p1^b);P#i{U@vSp|8c2Q&!l?cZ>Ylxg^?fck<#A)uhFnf+5Tzw({xX@5mO z+7m0`>5uC!JPOeN8DWW_NPGQvAOyKUv|1lAc@c!t32jzdw3!-F5^Uiae!;z2Wo`7? zLcM)R)KxYHr>{_tkS2I;#AU_u_HGDb5d}RX%f|q=eFX36R%){(M$LJ&q|0x;D=MgJ zEi-T3K61a-Jc5A+bdS`qGzat!)UDMgWu>VSSYh!|FiR3e0F?NsP|7Qp90{w74v#{(M@|LjsF2rq@YH7pySdNNZ+7Th?S-&S-f*?V8>ajYK^i zX8R4R_JzDpEK(S<_Ksn`bJUtH#zSPk2Jdprwczs?ypI-_Bpiqn_Pf%V$DwME!ywtF0!nf0G30O*lUsO@SYwq%|+_ZD?t%yg9S#14IJiU>iL+WAah`nBU04h5xvBEe5 z?MaXYWT*A9DO^_IB!a#bO2Jc^efhYY)M<3Er%bQUz6>m3jon@qVc4td#N@=BvijyW z=3AmkdPrgdUiQJdtxA-6pp3WVCRUtR#=AZ6ZAq&1&s84N+jg;@ z|76$&2O%lD{VwQn*XxNR0DWQrhdGW)#*wFsCni3xmDgEt^wAwH5^7b2YA-U82y)K! zAuV+s;sTh4bj(9codLd<6-^#@}eA|4X&< zH6*QdhNt!4e8KEfDL*ot(N!HcadJ(wgC%In*hs>p(|;4-#rhC^hcdv5Im6R@5kt;Q zwq{aIZFMY@4>fvec{4_x%;~YoSd&$agPOX)rJ;S@&!99qpvDMPMlB+g`p3?k0i2c8 zJA3o^2|s$smf&*&?j^pQsFKqblB~72D^cRW;6$GqE(2%kZoUY<`s6qXxy2RiWC71^ zIy)m)rfhy8;JGb5z1jD2Bl6Y6L3UP6Yu~Lh8J&(v`*&H8r;hY>)gX z*u2LHfY2n|Qhfrth?Qi?Wmxq;>O3MVa7f_4FE-ures-vCOx_Ktjt~OatRP<~k0+Gu zTichq>1~@IJflTeu_W+ED=0S0zWoEtE|O}tY?o)eJ9UN3GiLtg^@(Kv*bC-wG{g^7 zVgL>HgIYBkYanwUpU5;dnRL5{F6${eBdH_TI_w~%5vFtWdNy`-=*usz-vNqsEA{C- z`*W&mkpx+-l^d+`c5p6TozXS6Q-cbB3M(-&|KvbH#%LEXI^ zL|%s&^;=;rw3$+J>hHkoc2Di z$;R}PAk|G<(1%V&NeL==7skW&u1(i~D6%qD7LCfg?4++nk<1&H;&pDm-Z}g z%FNY(tLL5<&t*3gIfa<>jt-4!aw=>K32o5V#M^q@>})x4S1iR3UjhbOFPy6Gr6c$* zZ!jz?Fx}2fo2A%Kq5z$zuwGeF%coU8a*(&s0&!49Z&SpwDy%pUGzL2osJi9LQ`cMG z)M)*z=q~6XJ?amMRc{P?TnHCdaKpRd^N3E_5E2(hVpP~SEEQosR*F3sD^113m0Woz zwqs0&fO5R5_ZDq^P=8yP_Fj&hkAIdUxC!M^nvh{L6e{cT`Rn$a?t$s{h zZdXz-q9~dfKW(Wj=R@Kqbwdg(1JpB`j!=C2XEK}-?e$Y`Qe_v`$iPYAbPJ*PU9TFS z=0)UxFq^E@^4aAKrGT0;>rMfq8;7$2Lv*qq)87F0&hCvuS8Yf*vSOP zmnb#E$#y)q>3Mps>3}C8^hE*qv!aRTSFyi|RZs6+Cxy@xks)i>K6vbnEB6_|dDJyl zd$WBw0Gt$)_%9&~UEWTeb@%Tt7C#r>!ukX$>8P))q;va%Hd+Fy?vF$z+2a4RRcZ*)mx(X@#aIez&f(j!W%uxOcIS>1OzUznZF!5GL?O*l!s z!TodE#yJ*gOcDXn4{yqI6bZK$!hzsT0|JmTv(W%BdF^BQ?(yfFkC5?w@&hW=^8m+C zeH8s@Ijo$p=IhFN4*lrS3ZLbyE5PacCSnyaF@I4|@@Cy7aS!hO;!Qza#)~ldHP~P{ zZ}ai-mLq$J4IL#xHm8Q3&NIytf*8~jsd-HPA}u5qkStq#bCcqWo!Zv^GJy|%c*P_p z7zSD=ubF@6w2X0P{LPDOgSV$I97>hModjKT^;QKn^`>s4;;n!|oy?v_Gm58Qzpy5o zP+}yk0Mj|mH;O$UB&Bf7A1$7J@W>YI?I<5QNr*x?%X-o&((>?!0I!#hzReMvS2Ajn zmiv+#xNKC^B`q1Y5k6o3eFxCDNf65?3w_<{g{ssu#f+W#?&W!7av4O)5dRB>PDIC% zR*)by%AX3lMS=Jl6RqC?iyy7;j?2V{p(yzwu`}5}R944APEm1o>A+VMfmR!b(dxjL` z6&NrVS{$JxumZ$6rH-+1;ne4Ukpj#Ox2^*q*72yI&{5u?sOm&(t)H!*9;#GZ?d%TF zH)Sr3npP~Vxs-GlzbR`n;QTD7p)M=xXpbK}a6^{ZH^hS8hd3K$l}s=-dG!`g&eqhV zBxg(>8k3e{U8|>0wO?mnUTol5MN z&CQSt%0o2`>km52Pej0F;})tE{*%1Y?x+DoA{~W7xFmW(MoVx9Nb$Q?A|guoQ8uuG zb;L(C7)Ottj_zIS(>pk5IhZwjT!R+uT z1QPg8zb6ws$(;ZG^_b}dT*7baPSD0|1pwfbSCAo>uFDq-g?%Qcv0~=dTk4+#y9d3f z2YV}_Z!t&4N!7gz`$q|Pr~D&TsG4Ma3FHkv>bwA{!ix_kCL!kz2g-a#btg?ob(-_| zh+So~w6L;1@aF&r0IZ6C738#sa<1?p|Hw*3^-aI8{ERHGHl|y?7xzl`aJNNBobyYq zZtoe6o107SIg&07@;&ady?6k0VSqt&9KZ|>P<7SEPg?_gD&1}!? zYy+vUllk}G*6rQHz|I16+BeK8d(8tuKq~F+1{FEQ!u`!6AF7ies z-m<2%3jT~m%aPpm$*z}ka3Ni(wMgw{8fATemaUQ?VWkiMwWQ>fW%gLPCxvPJ4W2j@ zVlU8Xou7jGX(xx2Bh!;jhCgppq&IMFnm#EncT_J%cN83WN|g|gyV1=SOTvyH-&klsX)m+`z0|$=>3oq&X{RXvu(sm|P?Zz}#_LFF8u2dU|hM=!$_c^H;@szh#r| z`Oz9{i^BS5Y1ap|2wBN*4*h(9INdKE8W)c{adbyLXxbl_`B~aZ2X`8yw~y9?>xYF{ z;BR$WkzTYIcLHpB=$ybVIG9(Lu=U0_aAf`AWl!}!cpOmk4Y!BXAFesGVX;u;c}L3e zhncFkzZrgdjr}yWcCtdt$4Z(c^tMOzc@nU!WYza$!Je@txvS@O_c%FmA}6h7zXrn+ z6Y-DX=S(TZ(TP8Ov$(n{MY#T?7A>Q6<&$ouREr4Q9iX)AqlIfO+kpw`9%x^HdG{Mo z4D9p;ofhAN#Q}^000}47#54|$R5cC7zh;Tt9vxHHTrzqAFonZ^ZUz#)#~ANmijq+W}?VG7vKFPH*L z^{4Rr^YTQR{-ZdG+Y9rvxQRsKE*^1OVtm3(X*`^POjQJm9^qEcS6{Hx-*Jz8_qR*| z92jB7;~!24aAyrJ1ro2cJv}ryK!|U>Zuew_l0nbw>>C=@elTRe*9-HnrKz$}S_$EM zj2OC~$=E+R7 zB)0eiF~gRyQ2RCVX8`Cg(r5f>Lh!~H7#DoGj&@t2Y}idt2;j;i z9F^A^?Yg{dgL9`g47b1^w?xEed_R|M?(g^S0B3OL*$ALL%hUz@byJ-_{)vS<%xMR7vkyf#)G z(-4!Jz<~Ufo^ZIizsV=a-&=;XZy}~U{beegy~Q<7Uxn@L2AlL-laFa1H05D`84OHc zpgw5y3@)qFNBNxON*w$6tA@!BHuop1=U9cGM(b~KICM1dkv?;oxk-jj)-C7u=5T;H@Xeis&1SyzU z0v#z$pkst>A6vi@-2n`_mPI&r)h~G$gx0sqVy^x} z+dfcXjO;JIsRhZhB{zfKa6Ep^b6-h?pDO)%J>aQYIt6Riq{0Ob3@-p>u#j5_d+j79rJjF4&zDtp1YzV+a^0-Y@ zF^iVHI>kHyCJs=UaShMOOE#$~kY+!VsetONoiZqjh?uqR6vx-ei{@@n`xhvJLksoWn9%I#=>vmL12&1VT3To38C+F(C6b3;;h7Ou_9*FiA z-2L&1;*1Sxy%yKsjFc{6YhGDBTgN`^yWGQP5Fb&+F#&Em6r{Ne>tF^JJ{!TVv^q0+ zoTh#B2nG2N4#9n(q#A)ldLEA@M!_-rg_@kk9%U5|Vn%Y*i%b&|rzzbA%}XAyiL5Jk zU6a+P5m#5}Dv3q{^c@X%KfvI84KO#^DC_X`^xD~BgTIJ03P74%9UV+GDH%C~#uu3$ zw4+11Ffq#a=}!N$nI>5&F(Zq&c|+*1f=&bA*1;+Xrs@+ihYO}{WD@4%6ZLqOa&EFk z*y4fCrd4MGdb_8ir}12yeEl1f6HoGa@(Ctp3d5#5+~DZ9(fYB9Ra7P2L%fzBO)mIs zC3`O~n4K~ix)FR|b*kolcxATZ`aqR`bVv15(m8o^n9x)iz@r#g7-J~1&is%W>Y4p~ zxyiFroGuvmT@G76ApAYusIp-jek!M!;z=hEb|SsJpxsS)*ZQZh0R{ToSKEDKevU5Z;4q&x0gdioet+6|ge}#55 zRO^QjV$qaQEi&Z`t%MG};*$N(wJt5UZJR^>j$T@AzkOZOa`l^dbG%dzOpDy0W!uqV zN({h{)Ii43TDxaC%IMq6v`Jy92&BSHwPl`G6OaN3Q^6C0Gc#&=BkQVsa|4<=(!On1*N2Gt#FN;8qMTDS3_RqgdqNu_C6)j- zZ?sJL9et(?(@FCZfrWQKa_wxPHy*FY6Lk|f)fn5$$*gf=5zG5deer&V4E8XLl}(6d z0=PiO(?dz)39kTV4`)@*X#;*_zHovGBJJv2GgQU#36%jDW;BrXv75GZ#;`fchKYn+ zsxMkr5-5=~$3i!v>R+wx>x-#Fe7|F^-n4T)#9V+F0e~7>A5$vA*k2eUN%dRL@fYZG zw;ko{>2G&dbFU9#`ntMoL1%mklOH(?N60Bq zDzY$=!^$%gGz9GlpM}-qq(K_jzcMXSRn<|Uh7rkYUhd(09homE6&;LM9eBI$=4%h~ zOZAhDeyV~Q&8lhv)=Ky6e=V?`4hW5nQ%@@EDqk!zq7$^i>gQE>4uyi-eu4RVy zB)j89s*dt}Ucm#tNSog@Oi2O;%ig%KTR#JiJALR^xMhg2L-9B4kd zNLplX<5v~YLec+ysC6LsxQ-e-U{%;8uV`rsC8_YK0Z`EX?K>v>Wl23deBih0 zJ!hT6(ekLS>`{QG4E@jpS2NCJSh7hRS#ry4Jl$jxrgaw8Q4&!=EFPpLHj+Dm$W z?+@Ru_kGv(b4fJBe>iLScAs%@mQs2whciP>L!O}ilsUbs@#Jo9p+!Y&Sr}kd;-;?O zzjIA5tttH82p_O=Wse_csx}g0F2kFO-BeHtVtTR<6)s z6B2szG+=9I6P$0tBJO4h!_b~y$G3^Mf0 zuN0RQH3k0^pFcZb2h1^`6ft)ThvZ}pT>C*3#egLGlbH}VYGj{;aYX1)o zKDSSPJVme$qtA{FjsMf6x64s9Bh)aZv|MJ~xO-PePANRNVh9-xX&db8$dJr24wTcG zM=6X*k461es=0eYc1}+LPw?i9&FQOTo6-*si~X*8`a-TW3#;S2^5XQJ8(u`&Q|hwP zlJ@G5g9TJ%iH1V0*|v!tC%mwMeb=-x^>0CNoW045u2U<9>PR3W=MS8!k)LMmJ0Qpr z{MOR;Y??Mls4mC(CWbk#qRUs()6ytkUvk=uTEPazFo- zDa;6SYmt0#W;4mG$wyk~bLQfdDWxGA5N$j4}SMj`?qWDfvQx$&R^O5FQSH&a&hI zh|g}sRg{}mI!_*kY`NKGyDK8pI2Y_`Pkr5+yG!Yqv3dF)KbZAj-(1HsxAn`0t>ki( z`oOO!<7=SjD}&cQRE;438%VB3>iKdGHg5mZ6tJWH5TUSDZ& z88!a^G+mY1DH%<1s1Q?E-N1MW{0x`I)95sYR7f(TSc%>XaUHL9i~4^8qnbQhn8N3; zk&yYlBK=}vi5b|U3TBwbzk{Ne@es%<`q4jOoYXD>eceVYq3=?UZx?fpRokZH-V*PY ziV_2BTVPsBGsW}aK6bh5u~l+P5gnS-UTds)zK_aszulCLy256UY4YOc$nIA?Yy;+BzZzk&1#QG%HHX)M!NdD<4^W(tj2O1uq(Zw__CS ziz}-|tAZZ+r}lh$e8t=g$PwtB-zsZnef2lE?#k@Qwy?8q!2m9`e+HhuSPbnJh&y@LC z-bNbEi)dg&U$i~b0+$Q0D2&*=EjsN-Hd?v}zH0rmrb)n|Tx=%HD{o#tzco1SK=?&I z;BY2~K(T-SuZ(omB~9hoqQ`mfvMIx`Ga7JcBaLdj4u@G8)shRS(eW|mY+Sf4hwGw7 zWSq|IOpB<1e2Tn@*ioJ>od%cd%+!J{WSlG%bQ8@xwL*wU5Xd(BvyAm>rx|E&%8CQ% z5&ty&{<_GY4APkAUSt5CHGNmB#toT~F@2vu==!MtZL;nY>Rmf+rRqk4pXr)4TqA}~ zB30390yxyTL*nl9V$l> zjN|~vxeI>P#cofODr6jCYWJ}g>=y8BfI0{PAt1uS`n^Y06s zsycd#z~rUamw|3BlHat2Zf45;I!Z!9CzM4(60X&sXV9Og)R>R4)?tLX$cQhi<@Cjo z1>=1tzQ)>SH(y_HvKK3)T0}^bl14D{ufGG;PqV}O=Z=s5W2AkbL!3!vz4^U5#z}(g ziA%pXp23)t*NI5_Q5TmC3oG@U;M9%hD1qD@hj?a>lZJ00}!GvT@JdCbCJQpyN!0 z$yAPQ>x?+mE8Dtv7Xt?;!h zXK8xdE_6;dT304|dE6D5>DDc4%_-wkzR1eC^ar$@zy>Q6Chy?SLpGBp;pQS)ZRUM4 ztuSbQ4|ExSJ)HqyAZ2CtMU4eHe`a_iN0aF* zL(K>Yy^K?R9`@Zy+Ascl7aAGoOq+J+1lD5+2)Ly#__1s=@}UPmb`-*W;?KGnxwEF-~LjK9w$@2pMjf+)a z)cr`7^3gS>GgXVmPNs#}sV|oR0+~~;xXcy(K`*=w`jP#=%?i!T$!R0Z3)_R7BkIH? zLr^R~?+RO3u&J!il{JsLB3@CSDYJoCWdwUVAD{|IrYhN#^=clqq4Ff89MAy@{EK{$ z**F2SQI)7x!HQs|orsx&qoJcbzI_mIF_H-3+li`klvV?o(;4RGT2ypb|7@!c$lP&> z$;y4_E|ZoKrsm`gvb`h*ASKGnGI@mcXN7~0-x?^HaMfJ!K|P0dU6H`o-dJ-Snm-z5 zweRqbtBoT;henjOqN%a`RX5BbukL~{aW9Bz4@Mp^fd3B~4uhcT?K4nhQH04epR#1h zc|;H)TOR?#$eSEr@4{Tn_uP#FSAY8i|>;Y_PvKv-lVI4-4EUlT?NN*Gi4K zQ;@bc-zDS7lKj3ISxy-_db)JIEj{t+`vaZFZWokc-I9gHjPl~rV1%=&E?epm{&lJ; zWt76yEjt#tNWeFkM{#sNgFZ)=tFg~vZ=o4= zs8czd|3l&rC=9I`D=1jhe1U zQheX`mvsS!R3J!_Q<{{DETYEWk0auGTBi61lXDLf0H-W2ai4eS=3N<+`x6UxPO7oZ7@Dypn;mL) zO9Qf@6$18$p!tiIbv%%_;S}X7kbW$EG%}3qp04J)X*qPe{iB_0#IDUxq$Hh?#$t&r z^t3`*>^^|?*{vvrmJi*l{4|56%EIAH7-+ZCb8Ehz(%9);DAUX3^!m^+0AkznLF*Fv(B)vuqx5DcaUcL3>{cd zuchVcg}DREv^|pAcytG}QBQm!yr5u?7-37mYBrY8m6=yiP;&X|WsIAuAWQL;G70Rx zOK&ct#UCXM93ScK^38eqOqToGty2Fn@QhA;o|iY8NM0nGnngg3zpGRAi*OS&^`>ly z$j6`OKeT@Dhb=rV1w+bfhLS0!K|zgc^>z^Y-R>N9zVH(v(AI=}=(DnjY`zt&o<aS|$s@^PW$Mnam- z%$cnwThd0J01pX7c-nrPZQ2gQe)E$?c~M9lMgH{VOMmgavnH=SWMM;ML=5t+OpK40 z5qInwOEf`h45<`ZtEB*~-rs66wYQzNUF`42FJKYBpbdlk)?!^-=SK9>^9x^re?=Jw z1(f843O?b)5_!bproa#yk$*a{Y_V0q;Ezwi9E}BU%CEVjl^Adee7Dn&MUGJ*5j~Pq$fBAyjQ=x8o z(Zq?u>CjI2!|Th<;g?Shu(r9}G+#5aqR36mb>A7~TixETIBTr{=DCNn*xLVLB7H&o zm#CwvZHpwHFC}&xI59=R!8leJ8%T|qG}m}rfum6WE*zr8wQeY4X$#k`fCgg_VTT#; zWfRPLcz=XzQYWK_1&?QipSk)xPrSKfKiREV(z~a{8Cg%%X|*Bd_uBUxR@a9NXrd9u zv$`=6LBgiCY#jFt@B9^DmBl3qQ~3r-H`9%yI}xTl4Co&`eA&e70>K@XxN2lmrEE80 zToX5A6Od76;3KO!93U}K>(P8;onHZG;9iOkDlrJ`WF86$q9vppy=s>RbPXRc7t=Lh zI@GmA*pAdkNnrmQuzv4DgrWC>{#reS2Tp^+&GCNF6B(Co8{+Sd0@wHK@bf%DrvcWB{msul>H@e-nO zr}!%+qLOk=i8Pmw-Bdo7xX)wiLWqr!7b( z)*zQ$8py2O2G`i`ROD)N>@}?&4?CLt8t{fLVZ{D!$Q~V){aGn$CFBon>cnn6ePYTN zNw1Nq!=!%6kgKXpN@w684RCml|Dv0uC(!x+?QVHDi`wSoumqV9XpR{x@>T=Zj4b>d zUWtgNOvp|KOvpFpa%MEiIx3cI>dbAG^+y} zN`jcA&N(y1|JG7`#@=#5Q)b~n=NDARLnEllhX_dSlTF6Y3-XE5QK)LsNP8NM*FO&x zu0E!%noxiHi7LDDNhJPF=tv~`SBwq6ak3VWL#VAtQBCk}e)GaUlU4BwDDrnE3w^l5 zoqGkJ5P{#)cc0GDE{%ryH_N^tK*~*wx-3Va!vq$mxXFz8E~-whCb>s+@)CfQ(bKpY zouyW*+Q=dyPd}SnAL-5x%l}m2fNWxb^?NQ-^C($ ziVrOh16YJW5@BguI9oz9eSd$nk&4Wx?Zld!8NOTqYVZg70>Z1`K7G#9hZ%5$tR3{- zT@E)+q)EjxN%H%y(ZrjfEt7k5Qs0;I0w*A7dw@d|-jg ztvQuejgA;0j_MI8I(45`kb;v4f>dz7?@7`m0fIER>*nj1r;%u#-ucFV}x8pJfM=nP&6?P{zx$ebiXi{zeQZ+e?xE9wM(4- z-mv@!9Z}say$JU6s86wld!y2B_|=?^ItfiekSYzTpVfwPfG8^6nxT?n#d)Vj$Hm9& z7vRztSCA+e)taD`-ZP=R8NJ*X%;uuUOHkA>}vqz&u^b# zgRuCMb|)fTM?{U0uhrGa7z@WKPfp3&zpt4&$9SeC`;F<;NcGP4A_E z6e5D7U5H3Rf7_c(_lDmI3b4+#+@{eZ^>P55Hx8p-bt0k9&KOY?7_PDoDiiN7oPfa=x5R}F)<>%oxuH~T<>0R`ge8=piT`X2LS))xxzwa z1?W6*tCclp&(N_xK^OTn>)Mm>vW_jLE-?WO11D0)oeemAEI<*{xVQb4mW_rgg?LjS z7zpwqy~&}s6o@D~KOzWsX7IiwygR{i>9YKkzp3C3$exNLQD?~JrHAc)_o8aIm5vM& z2I4{-u6-@crFCuD^&=83RX-?Tcxh++A?s4f*l2=)LlW-_BCWMDCF-reB#$Ac=oqa* zSqtc>rpo4sv|;)Hieu$rnk~|<1_niwy9#p@QZNt!vb3>tUrwG5hs648`m}C#)c+_GZYom7P|39KiWd1s1IW%$aPt1CVjdb?e%sc@b*U@G4?b4e ziK3^I7yTRi5DT5R9aUXnSQClY8BlPtPWNI2GT92h{deZaj!RikuDtjyy)lWKRaFf! zI8vwLC=~1PhEBJ68t`L*fqoYCA4C=hNZ7U^@Fm4gJK&L5x31FN*>K8i_wFb%x76_pf!vcd0{vyW@X2Z1J!@ zGz46^Q6R^rJG1Hxzx(plUZBk4as{Y$tI zXpA4USCk|k1Z#P5{5u|U8N3Uehe!ejc~MIcwO4D&*ItnrzbJ^8*lC->S}nEI2I!(9 z{hH$nh*})jbps(1cu15g8QGlx2wYr%S^g^Ncg*iZ6mihawiKh_diN2b0FsiPyX(P~ z`Yb=2M$Hohq{`b<3oFax0h6Nc{M|U|J12>3{Y;yNxVA`2GBV#PJhj6ON3^X(IsX63 z`l_(1nt1O`ZMs81x>LGaxXCR+W7wr*+Vlx7rfzYailCE?8 zz`A$8WHW&4FS{Pv2aLpU>VIdFeKr%xsx1s>YO8K;kK=5MKV4lVOx71-t7-?i3lWTY zG%TDmRKb3jg31;L0(=qwpz$6Xaj!_ny~r&r>71Rs zUS7J{ufsxN6!<@9_1Z63psl^*(fLkE(QVcKl)%DOrsn|^hk}cN!C<(kT`iY|2isdx zSi86T4Eyk+gYuHnL;wOVWq-EiT8Dhj8lnbwpqV>)p61^aU_;(5bFb^XeKaHR^<+MG z?I$qbTGabi5Cf@y3|UIlpi{S9oew`r!&AiURd{55aR6YsehH|5>y!IPN-bgD2b^sp zW(Iv-ri;DQ_jgpe6z%I;hPy87it^#LP8$q~1Qun0ZfG`58tmC1lqXfUDbXCE6~-gl z7Z6nb9UHI8T7KZBiSP`15Aiq`grME=K}gI+YmTSb5rL9m%AS?J?(MO;w!y1m&7cc% ze<`s&((hhi)_qllZz-;|M=ne&Sk^9=k&}bJU%kc{1Ld_9^PxY_+f3_VNL*C1Ed@@H?j`^ilbAZ(F%FiM^yQ3 zX7VIRpR_0(2#D!#bm9-c57GslFU<*iHOk3X888WoesW!DO66Mi!cM@?-?Cz;3pgPH z(hGTo6N-Iaqr-4%P~|G{ZDUrav;AkZhY9rn2nZo4|G7ZdR* zz=KVGCZBC;I*W^rv;zG3+qqcP!9lg>h4|>Wn6EcJi#sKLTewyEESMFI4{6pi zke9LNe93Huzy1C`8c9CYI)(|efadc2Y6mFPaaOOtVnyqEjU)J=Uqbwj?qwgaLmaai&{^%uTDFaB2L(#O|%hn19%mqH7A|~vWhVxX|_TJU8T-6Pq1N2@=|H*nMX^5oMt_iwKE&Q2z^|6rbIAv>sq#mvl@_<0L$im(UN z%ZzN|A7~EXFkQW@SfF3r)_hn|R?S+q46jutARMqdhJ9I^sQh7-$nZA5CJL}8ujiOc zL9LFWmEB@x_y>kZMKbcays!lbG=XC@^dk)?pvKR@uIlRiSbouCH&jAP#W%q^k zy{Ws8xOYYhqZ4!^XGQ`9SD?FPR%DFanq9}mZjaaqe0^cC^3m?}m8p^pT3z z_n5YEo2X`8GRo+OC0qSBRd~Jcb^g~HzY>+0j|Bg%%z|@Keq9oMhsIl zJ+(|^w()7YT=KWdM2v?$l4bk47dnNlqh>KLQ08r~9U=RauugL+w{lCZ2(zal;d=B{ zenLVzSBPGmIMOF}9)6gB$?r2+`6#aqq%sVm;_2Vg@xag-1f3%$k{I*NEz#n6WE|S* zaR?yHFM-MA?B7@~2#-)b*Go<5Zt=RpqUsE`>@qf&33*fa;_6@8k2lkqzD{fYpTJA< z^sXLMe z?$1ep$hd`+Rh!7p;b2`Tc;&h5ORmGKqCkw!g8P{=nZ(nvjt7IxSu!2J%<2GfkwzMvGA)btvQ{1+;>^ z?~li?5y(*zFC`hgMM-_&}{nvXJMWFUt_NT zpG5E;*V1|sJ!^C3*4DNJOJnH6rb@~9)=JE0*yT>rVz_#vJ`k@A@EX_OKmk^>xA`&- z!Qnw23rZO5A0&i5D%yE}wFk(W{NgGY5VQ!b^QX~Uw{1oP<~;nS3-?0?RD)0R##Ys8y8l^@lj76FfQti zYLvE?C-n;wwrcP(MQ@!Sv%v1_!n=z{Q`925Roc3r1HVlKmmr(Al`87*>*tG^Sz4-x zpgQ}-?p?k9R>(|UsmA-FXZq#O%O2-p18_%2!S0z&-c-K>WQc7l8wNtTq7Z@jWxmFp z1lYIe*aO{Eyr*CMyj<{hq2-Z`dQ?|ic&^aaykaz6YRm*1JRtPXIbm|2HC z3_sJ%Sri%R!apl~wyr3y)W-#oS5>LskMVwP(kZLPy~L=$L|PfY>PvhR`OIc>#ZBR`)Jdyw!tWa1LOt79MQAfevq;{8eN{m71I42@ z6RiH?nQvzo(s2 z?AOMu{uG~(@pUy&!mFLc2ejW0mJ2NDq|5q)b%je z#xJ;M+$8BQg311r$OJ~&$A^aVgMb)c1^gMXXfZ=-bV6bofN6h>;fao=5$BL|RzL6t z1uQ_ew9eGV5$;@Qc(l6Cgu%YlFDa#`!mA`U?qX$Sms#dj!sQO$&qCSn!#XOIR%BQ< z>{XODyGAiOf?mFufBhUX#q6gtcDM~veq$xRt1U;A4P>pel6Ow?{IO+Bb=QxrMs}3- zn;;<}A9%M~Mi}a_0No`kd3gYyn!4k55-D|`>-{MXa8snMy#C0*_(TTs^%XY$M)zaY znMt9j;fL6=F!*=}^qiqZmn=XsiFR5TVro{)WvF{N{3cmL`mVqX3TMSJKO)`2TLqTa zXkzCf^3gf(QA{+%cM*2rU6YuDHx^SH^}2qM;T+1Ye!#T*D&`YM*=DhjWKn%1kxpj^ z2S{R)zw$U{fAaH^t7)&7k#rlg+LRle{Z;2hmi|OjgNGyX{&33V0_)J{oD?}d1-f!& zo^J|@cqHV@1DgMWqbipE@EfiSBu7fJL0b5T4BK z65N%pPy;C?YAQfxEqxS+?Rk1wKm4`5!wsB6_818H878bH3MDIZ6udli!KMXUKk@T< zOeg<`X2oFNw41O*bUU&V#9Z0;3l_3y81%ev>1f~Bmt7?Q!R5bd`rA`YSM9m=;6T>) z*j4jl0~3TYJkpOY?Lz-V;x@iQ@saJ0z5-{XWXMY#T%2r{t^9$UZTLx;sr;$4AbPaG zgls-DhaP$s1HA(*QfZu?gSAbSrf;@+sBWb3BL3vNt7%b<$K^kb9qhkVP=`$H6-J0B z&erlOH)NL*#-`9{9draE6hGZdYu3^^z%K{7;i`VVb*p-117`%J2||*rt({oF@%6k^ zAWRS>an`C)9Y@x(K)8wfeKx^mwhjtLGqdYF?N@W504P$jfIP0X&Hz=QAZD?62Y}W; z+!>0iy)F%lK8K^4mkUQ``kW3443WV84;(H5LSLlOd>|cgixgvjdNf2Hdy(b01D;kT zeU?eaXHWPGzPI$KbYAQ|S@`?ri$HqbiOO<}wK*eLknC7L=t0GqG$!>F+ zr6|bvMlHMozpTRkH?w9(KaiUKPT1oA1XyQe8sec)-ko3wUb`hknib1^odt_rh7ty1 zyL|WKT~ChEq~KO{K3nIQVeoL>`m0%b?~h3d9~9VIKUiU~taiH{obu`TjCh#n#*)jJ z|NA;Ae$p#uDD3!25w1&w^2)<6=XOc&{&ZhM6uZMEZgUP;R?Exu)ghvoSj}%gH(|k9 zlY3}Tnd)P2D-tGo%D&cxDpCh$G?9M9;#T-z^?HA>L=AB2WIC&c~7XNtAC`f zErDPMuO17*3Q5{~4W_ZQ0xMSCqTg)Eva5)1XG{dOe`q|;rnyLt`aE9S@B-Iemx6V}El6?^4*0gfv+S~Ibp~p=UI>uDqv*2O`ZG);_^HU!iESA}3q<$l+|G?W0ORcP+%T^2OL#craD*wW%O6CA?U5Z%}Nj1T&Ug#w{bCK^a8YJcGSONDbTni7*dHu1zsB)A6|@6LmSCvf)Iy zX<@DR8X497Eas<9t&P1evs}rI{-W{WwJiP*DBLxFrF_OA^O!ISG?2iMl~57BF+DRC z$Dllfb-Kk4Q2MeV{n%0U&AIsH?(39#otJtr7(bPQY^wFhZ;()lenA=%^P;;{4}p~6 z^RLdOw6mQ#R~lAYa%J}~ZbZQUksJ~H7ZGGg9PNGiVJnJ7@*h_HB+m)~ht!osd|Ud@}wR-E7DR_%AGSri*sx>r{)PfQeT)=G8sb(yV3+o#_` zfph+=x8GMt(?)8L6khuugqaE5baO@Na*H}uw<|utncrS|e>r(%1{(alb|xLPr!QnojV!m15M0=){7Z^fh?kr; zsDQUL$M?5@#YuMV@S%b2D#ckPqlKN*qi+e?dXIWU4w>!ATeLy)+q`lvUb%?s^cTL`qdj%)TBTp?uEud@^rlG3SH{%&JjR>*VlVq!PFcC?{}AW ziaq{5oIzJfBwli2)m83Z)1$@_A5U=QZcju$pAEcu*Q`Y4yY2^)F;$++`kAd#6#Y4c zET>9!8Y5D$+dT$<7F7&3G<+??2m4Qy`=hm^D-WAwE5j4Wa(`>%6IF;U2tl~Ihh<%! z{w97G4sDa0Jm|k$>0tKR65;};^v(LCCBo4ICQ$D=m@bed?;CwtCq`P|iuxp94ES(d zOqdlJh@2X`2tFeKe%KYkipyWJO>c&;Q36Rm%-G54qL7=7)Cnrv+=OBT-7lj9z4u17 z6HDIL!+W67KJ8t*b~!RmoJoVoys90qGXc?U;%?&(RM$h$p9So&k(*lY74mfLsm$jWOrrU-+|zwOGxtPc2{tA=C$5zSdKkmo$oDb zR*TK#R#0HL0=<|0P}{wpYzHzZbFSw8Mc>}X)&rS*8>P~}^nvPljgxFM@$IBtQNz^P zC{whle_u?p^yuq+r!9j1WgE3}GKiY#^wD?uCQwrQF@EWH1h6Exk0iTa@@Jzj8_q}* zyFsBq!jL$&gS#UZd%Fg7s}~OebCcKuWQM6N4)=07KIa-XYE-jF<3RYGSo}M{CHx0c znf>loq`t;UPYzuS)6xsqDP5!kkZigynUv7^vF=p%-#2O>e(&}BGHqDneT@|6d; z?vK>(Z+0WnM|M#pvh>D(>94g}!ehC?;ZsQAT29e9&+Ipt$Ej?`Yj-6b@9gCgKraS? z=*QzZTkrfM3i3_P;WGJ-n*#)4KHEh*K!s?KjE=oD!2uvYNC#;=DYf;QvOhksnqB?R z+`);kL$^MgV-0)#xSOU(9}zrd4}6Ns!un+!HNI;EcuAViD^RVEBal%~-Y=z|^tvu9 zS=_>nJ~{F~Z{mUY;&FyB4DU<6=o`Ot~xs_4vN zHy`iU%`+_2d&wP|VM)iZ8cC`zVseS0*}_IcvR!_mnmF0|;N295vAtyWYCx#7Cj5ij(K#QU{A8h|w6wi4 zCw8KdGq<6ymo05q;9o3((HuXNL=HmWPu4N`7=aFeKLsNBcp2J3UL$Yn|3ru7XVx(H z6)z`%ESWd2d^P9tuxU(6BrmvTzqcCTZhC%^I|=@$DvS0umNl@esfZ5P^59v! z>O0%NJpPvF%UwYQ@hKK)C?AaNh)#<3YrN29KC`;%@ z)!uX;(ai(V(?NbtzNn@nfTPq^qX~2!`b`Jhid}&zrxi@I&YdTP)8JvKIJY#_uYY@n zw0_T*$tn0{yU>iqb#wbcY|KA`jWSl^V18g17~USG10&>V>nA4GG@@*u{?n=4U1Nit zT^V#3sAe7&j3?tyE-bkHx`tjRTFH+N99)C zKk2kr9aMrWG`{#0OYfq0Q<#`t7y}lrMDxv#_v~VOb^D~tCBM8uR-oJV9;;aW?`?)9 z>MwF+ZF}`!adpVYaR?tnaW#LOCfUZnY0n#c`yQbmb3HvgvQJ{r75TEB*X^r@BC`(SwvOj7Tx``e zDk>(~tID<~nN2qUf{&w2s|_+$bYZ5>1HbuI=(WE5oE7t5=*b)E=E8Dto<6%YYdStZ zYfA~E>aNe*Znd8Fy}ijIlVS>-sFnpQc`8v@B5XaDG-S|Xvsgl2{CZy!GaUw~v|oLK@15 zpv1WDueAV!DCM`SYr4>C){w`nsk!R2HWV%0!eS2$pBM&y& z6?=DYGA3`256PU2lMiT1CZ8%;GoH-%Hl4L(RnsvDe;3Fm>BHNXN*(tOx~K5Jz&7|q zqP1AXiZoHKA#)rAru?99hWI^9%&^ufs!%F zTs(0{{J7bMJ$1po{-b`xlvGDd>Aeh~1${5|xoU1Ur%iIb{|G22Mxx={4I?pv;|9=HRv z<)@xEdLB!<*Itxv5tfAGjYqG3hmqVu|Hcya(>%lb^=bTU(?N`+)+2(r^SB^7O+e$ zmTY@J%=d3!M3M0&yGOcco(XOYlWyYU$XtLG0;w9btU?mQUkf^N3#tylmdR&u~Z z*?bSgl0xhmM^Zi#`dsP!AIx;KL1Zw=2$iCp8=i~|Ie-?x&LB|mIZ5R=U=8%OQAFT8 zV4D3KWUPaB@tJD4q)!CKYo0omCGGHn1E^TuYvP(gkOxBWkP+(p9yez|Hbn^b;|bth zaeYe$1PQ4cs&Bp;HN9fw5R5FEpODOTq#{}qUE15VQuXv@|N5NkY#b+l~ovt(tqT zl{9d}N!BHT#=C{>|J{z}6>*HA+APFlvh01TEG;FV+*qMH45Q)pd`{Bpg=Blm-t5=S z5Olv{L?$KbTywZ$J^4XJB81K^pXe)Eppx)o&_MazSk0aiF)&%hA`qB%inZ?eVSw23)19_t-H=cz<7g-vjLE&JyCrxm3AGb zc$Pm}3umr<&s~$$l(9BS+i(jssl+z`(MTZkN%Q$v@2NC@RiOFK?eZjB_!D{i@5qR? zy3AYoD}j7MI9Mgm=Da~a|5VLNyLhEMNSy&PNCtvyG6=Va=9?Y<k+Q>of-NDl**r#*k#sDz7{Ht0Dip6uSo&>9m zon!OES0dqAU#R4jCe{xVF1|%EzEo0;`vnkiw_~~dx^I8{)W1HNYd-}Nx<}6KdJFyX zDVWQoX<|OBR)F@|Eg3s}6@vSU^&sz-E^UugM{7Z_fLz!w3vd?zGdxST2Sc5YC+uiN zGG&x~;L_uGDFfuoB!QPf?A)mAo}L;50A{s0GWmiGaPRY_%TstNeV@P*Ay&3E!6{73 zuShY&rjFVhEHAyV$erkV!qh>Q39e>7XSj9S?q7v_~E;>1iDM>fOKZwhGMEGZ$nAN znAEK8H33=V(Bf5VOUCV14w>3W+~2>&QspPS?NHqg(7p#eqa@ z&9cFh5#rma6Ip<`{}-7?3`U6*0+hY^K!R7NtyOG!oj$y`XZBb;{Q@~xKwkZJQ&;3& z1XkbpY%sEn`N3&M5!1lwN$AjwnC0(I9CwGNa^Um`BQ3DPKLHfn2j`hg(n zMC<xLxkfh;)MV_)| z8=y+Wn2{RvAL;;#14 zE^12tVwUzFQmfx9u#}l5zv4mr5J)cuNZ|y+g4^5RfvX*>s#lGc_)!<)b_mj>TcjZ` zO+pl3f8^+Oq)u@=4nP76vU%TU4_<RQxmr^_oL@o-MW zy<=o8ORT5IiIr&0QtrG>z4Yw#up2{fM8$S?A4{RwuQXXe8WNm8ZTD-UPoeREYg_I$ zUpABVy7%;%78D1&&l5WZ!464MjupqfJLlQ}#6M(YqwEVC_X$kDG?d^=n>m4izJU3Ju4u$v5H9ZY${jCACh2T>q z6^5b$DFSDFWVyuCrH3^Lh?nFhrSAi6cjtrh!uX1-(m4eA)2J`EL$^b0wZcMRV<3RD zR9Kqv7{#2-jk<=Ql#W(RWwiYT#mR5x;sCdTaFFL}C?*v>*iwsZk0|mB;WjN5hc7p$ z8t7bzKXEzsIi)-kI<`*sSlbTK52baMtDG=WH_U; zU2b_$f*kBR7a5Z2fp0hRv}z#`uS^dnNlD$|HdOZHek#2`?$w>|>c$^9jzyymb79?H zcL!LJ2sObO&om*)3=ti0X1MsesX4ui%yTWQPz5}I?$+Gc3EYeeaQhoSYA$)ixI($5 zG~=+J0WPP-$?y(lV*YF1UJYyw7dcvqA&mU7-gds#(@%*x-r=#N^`CY!gr%ylNOOsMGp{m$>P~cv*APKL5YTsCl;uC~ z3Uze^J?QA^|8X2U$Qk~;$DEI>BR+)BA+5!kapYyYh9~iSM-7UqV|0HSrO!anL zF!kd~O&N20cxnFBP^5C(rp`%$jrGmz&U-(Ea2`g1gMINAeL0r1GyI-(g-(W;E2?!K zh}3y%=5241&Q8-pT?e?ZLipHBWmu1ekHy^xk44O(Y*GCMEWp0NIMJf^P z`w^}`aIh2m9Z^OK{c$lgS>CmZyB~oY$95#E{Gt`|xxSf{{(3 z)rt!u>6kup5Bn~LwMLmI4R3kdfABEFzk>wv(@Kwa|C+FP%^!fTlEc#?-1R8Io`27K zEY)AmE_itaZ`y2v!sDW7%M{UxIuSmjNX93=T(8~n*5q6DZH}_$dtoRc^wEZ5odC#v z0({wzsLHmcryKbHsCC${PlY8;pSmVzb392<4W_>Ix?P3LYx5wFvJ8iD!r7i#lX+#? z7%wdks`^LyKG+GUmKN99n9_`1s`NV~0Xlf-9};nZSEH$Yo7Yw78k&>*!kE|xqv7fe z-s1!CO@PN6+|gJ^U7V5Ibp{dZx0$$@(QnJ3%Ysc3Hwk32Q_R$IG3 z*Ua(+TM+F1w&ihFGo~5!d1p~KFRWdLbu0UX984uJ?(_@QxW@}vj9U1=l2#+FjnxQ1 zymYWa@%zvMViIj`eUte&87?kFOUaHzU-Wg>{~a0IQ{kgZQ!-G3t)G~%mcSy}on^7A0H=oIxf1RHX zuFly+QCAy_wLZ9&&OCAJdDa8s(NIdG{5X5GA?@>jH9K#j>E9gpqVYq#{FL~DNUisN z<0R{BK6Z*S-%Dx2sT*$B%uwQvD63Eg65vma^+b?cLOs|I^Cyzr+G zTb=eW0?=zuw0`>O%qM8{dH;5Y2zX}|FQ^PtGlT_U;5!9SuT$EB{Mqjj%#J=s zd6j62xbwrKxd^L019TMk--tnWNf~LFPclUq7bIFsnXi%FbM%w_$%Zi>eeCR8J`mhS zX%{Pi=E2-EiR6VJ_fWuaa`_%DLJHqUEnABRc@o~h629)BGZk~7RENdO&=>BmtDpG> zOoe%N9U-r}8$05*IK7vqbCX%2uF!vlL_6)#iGqhT+{aw_KBBtd2>8tvWQv{_riOaP zyUjazBuld~ihTv3lP@w({UqArb!wN?-xZ?n(@{JqC}Ur!;^PFKKpnaZm@zki2DPz$f#PKltWHGsp`9Z&t+&1{IkdDd;HDCLJd7 zclPg|7XR)o9uF{IzsLbh2r65+G^E6xbyT>t?PBp_Ll!2WMnyc(3fA;?#OWC4#F6)> zdaDu!gUqGi#?vS-AG8hN;@2f5io9{-Q~- zSOI64-%{X{yfBWLo%9@I&zp=;Gwk+A-ebj2kAsC90+SXBr$Nyd*mNlj{>Q)hxd=^f zM8k4+egWm$LOCW^N%--Bc;lEE5o-QXn+J++{DQC3DYF&=(h}c} zj#Tq+@;_+s9r7EBfS3$t)FBa5H|2MmylKW5;J(mMk)ikIKL_HczCZ87`8GhWb8-jIXFuD+a96XQu z6(SU_=#ga8j?6fEDe9MCL$Q}^BkufRI;M?qV+VmuIGV2RicRbHt%dpeO?U{xF%K9@ z!Bq3oX45fe;1f(#?fjN)XaoMJ>@5Zh;lECi)}8?Y|FI|nK28@H^|$X_rebXKi^$fb zxu#=mV;U;SnDOy-rnYVamdZcpbfdyT0#T0JMUSDW zf6&uj;Ho%^&A(|*>=>vhKkPsoP-JPiY(xLxh6TQ`XHGg5n|ZWXe|#V~)|hW-(^P?h@;Qv3bW|n5giB7?D}Uq? z0Y47^IUEuLX;tR)(&M92!Ym|7Zn*0LXNwUAXG5L@!@-?McEU2V7DFAbmweEUgbdbu z1_UH-#1^&86LOlyh^9Ft*FyejG|8U$clgI^F{ZeDIqZV^siAsrq;Q66ql0d96~ sZc%P-&76S5|EGbotChWt@BiO`U+{k$B($7Ffd&v|c@4Sh=jLJm0|9ed;s5{u literal 0 HcmV?d00001 diff --git a/resources/onprem/container/firecracker.png b/resources/onprem/container/firecracker.png new file mode 100644 index 0000000000000000000000000000000000000000..522ffa3e2c79893640196ea740bd92564b1c1a66 GIT binary patch literal 43918 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 literal 0 HcmV?d00001 diff --git a/resources/onprem/container/gvisor.png b/resources/onprem/container/gvisor.png new file mode 100644 index 0000000000000000000000000000000000000000..258ce7a1c407a0c193e9abb0296b9eb93cc72197 GIT binary patch literal 38731 zcmW(+16ZD48-L@nwPhR2cK>WIFE876TW;C5y=-$W+qUt3Pv6zGtL?45J)Lvk=lngs9(+FV3l1O%#$L3}lW0sc*5ETtk3 z0(nw_K>ooX&@=Fo{~-wE!U6&v8-hT*DIgH8eMXxyKkxla zSkMe;W^F#N?2qi&-*4uj!_%_@x-Y73Li`WI!!qbZsigdDJ9hW80s^lBUA}LbPE!Kg ze$ePNK`BaEsUs?Fd2GDkr<0*Nox)c%j*w9(Z7h&gi2wF>cU90WN>7{ zax&VK(8}F0So+Wq!cd9Z`PGj!FnIo?Jep2}A%rU)Ktx=(F1~&&bt8&u@JLAqbXuz!#~HeiH?4jR5ueBPH#LwQoX_Is)inl zlj`mkVO)<43i4}R7n(5+L58V`TwH&aq-pBD=3Y#5URc6FfPq=tkqq}ogNEn|&Jh=f zse`b9nE}#k)Xp&K|pvpn!4;YL0hNJyLNEuYe_&h|)SUA4R$cKM_9L-26 zwJ`ft8OL@!AV5gx;^J0HOy>fEpNgikWwbZHYJubs`q@8gdxkcaQFz#=TFoIu4?+zZ zflKpLMgn?)_bA6g9nMYGNG2Sy$Az|)0Xn&0w@y*DIyIWD7|v+x8Lct+yo4;)iObN_)VJuC1vKF(K{K)u_SQ;V+LliuS zD$+e{_+)b%uvAAD-4>sgv^9CIay6G2rlU5Ew|Ya?1i zOq&h5-%5KR(qh??)d@guiCuLTl+l&kR^P;nXI4r~faHmCc2t2IVT~HNSzl#{1n9=+=el%n>R5UbcOC7ob10p`c zCcXRBfKZ{=ipK2CO~%tUi^{0Vt%BGl6q)EK4%$m>I|a-XNM6m>;v8p~QbShx$t^hQ zgpHdvm{pR<;Vo#v1uNG>WksLkp{|`qMomvvj{|%f2NX zm&t)?xpBLpi838FDcYZ(5M%6bz*52x@~T&!?CnH^F`7ds zjDnud{QAgx3rgw(0tYy7)?srZgH{XgepWnHkweDSpyxI)8Z9AKZXO*G19>sL zd?iMtMQrpcc^or{d7G-KqHH=j__=%vTSDZ)!kzyMQB3sE4nkd3xyAB?*aAnpK62Ma z(8h%eG1Pkc)SG_0KB0PtK(Z8Mk&zJ|4u*8DVf+}*uqm=*D`cy6fb}Fv`h+S?N>w0> zoZOti5KBeK4RT+9oeYXkt)X^BfQr4ptkf0yC4{KHNL+r>_x=u;t}_di&SN|cPSozF z8}N_DA=RtJMMzNOc8>!RWimd7U`Hd! z5~bBK${T3;RZKE2^1)?gBr_JVS`6Y0I23rdxj&BcPA-3+L{Lt=#+%yD&C(D>zxYYY z)GhH}wX)C6-Hgjku?YxF{Y`xF{z2Ds`b?)Q+t9Inv>Mz)1?daQ0%L? zL&F2(eAe}{eo$0O52HH+qkm`B3ja%*zdpnil%n)vwAFdFOx+}7?_P`O-rcd9dYCS0 zbGv@KnOxvLu`2X!e?p*&9J_Jq>R1Z;cIY$bHV0LEa;xG=lp`vquC@ zPP9c-m~smJsWe2Ys_^@mmex8t9bJ1|rx~qQwYPw%}v{I6ePs;`s zYX#~gMEEe%%g+KxfBfmxMAz{|aSbtqr%|k7?h)P9dr>sFe?834E6%9}iZE|U`CI(e z8?gF8&d%O%VNsHo`}IF#V{GK8`M>}EyYyW6yH-Ose1Ke3eDIk#-T1qA^wkwNCZ>~| z;zWW}L8_vO6a^~X?7TO^(%J{vN({RJulbb+?ps(Qa`DQ%+ zu!1KGL#>V;!9Q_rSy)+vOk1;Fu$RdaTTp)lm=|K%bkjn2iC3;mn5Or!+o8V8*Vx$$K145NS>PKXFtjNi!bLTLeiIgZ-XG1W;?#f^vi}^5FG(?=VLJ_L(n^A@Sny4mLx3UB62%Sd$7qTrmI1p z{D$ggn=lIoDRXnEkKcA~MNU%_ick-^p>ZA^$rcM-NpZ~+l$%RiWk7teJpZ*ymuPEr z5B)z$a~iBw-5@?nF2)CAf2;0KBt5-w5~|Q|rw?;Sr{qno&t}>Hu4TV@|YAJ=?O?+a)ZYSxW zYFN`HA9xd{^95hg=`unvEv@|OnIF}(ioQ2vbwIjqh6W{^g8PO{Xd#N7M!(NnQ6ax1sP>Lt?42j0CjLOV{N&dJcTg7J=_ea3M2$|m0$jL#QbMDsNwz}3*XUyltdxl0>fq@4^N)^U?iB; z*zuPtWUku%{XpLM$(9eDkSEbQ`rK%jvolNG0Z{4gTLXIS_s@bT0v*4bns{F!EpZF#b}(vbMOhL)0TP8t@L>MJrL zfMeW=I$yze!Dx``>X%RaY763rr`AAg!dGijqff;u9Msqx_+msrqhTq<6!bZqwttU= z_?p@*{u?)PAw42n>w>n0nI8+mP_yr1F1a?G(+^74!M5ClO#&ewUxYX$J-U7yIa1$uYv-h!gU}X7kHpqiEWzwB`$a{P zO^F5KbcQqRu%UcqRs7u2!qDYqnm7wkj3jwFW9-Q8PZ!v+NE{krJPVj!mA-;yzB|z~ zV$)Bok`4v(^46$M5vnI|^T|<>O>ADCzQiEAb)zCd;hU%msZaC%07pdMcC!!Zdh@NW zE*lNJ?0THF)%UPL)zgbADQlxEY%H=&U{0EfMw+sJnq|>sirJPLsan%(zrD82o7pU* z%^bpx5Kl9fth)S}P5e=?{g{>r9`!AI-|qJuyBz`^v;C(S$5K?V252K@=ff)UE_1ca zuq0VrY7#=P#snp1x?o;8hp8Ph*~dZ?G2~TCOCv6y(_cLH<^^tVIaT!tMRf`*1SDnt z`>%+{_mplZTGz5gzdv+$sRv(^qp`Jo4nZZP`v+;S>9;^m%=u;HkZnSg&Oq`~Z<&))^d4iM2(FXpQ2EGrkJ9gsj2~@FZft(hZ5s+l^)^V>;O8GZcESfCiGK=h@?5x z3##?@CZ>F<#Tzs$xO6=rzx!7;R=38)7Sb z3^R%BLdz=n;@?YoQb?pKNKemCmmoD{s)Bk4AB~7_kqoUGt{)7)FxPe3z(?D&6~WDi=SNEXn=4N7?zhO%~xE8ajygDf@88%7AZp-KWEy zNVF~{j8H{}NsnMZ=wa&e-K!YyO9n;es1a^CPqGs&#gOp3?53E!@_*K}xC{YdBJgUb zb@_Buq2{{tga+ayorv404xc?P=nwwwC|g>V?yYS2q#fuliYO}1MJ{Y6|9~0%&;03j z4$=Gaofa4pqzRM8+MIvxop1gvpj@sx@d5ZubdDH-_>}w;DRf8rx01@Abv}}xz(+#9 z!x5MZ02UjoWXFPY4SckN$Y$JIX{nqcPCFBp&;}LG8<1JtQQ&d)MbTZmiM&$P5OWP0 zaLNdoQD7K?1LWJ^2Yv6)PjU+zT?Z_itXH;{8^06R9qjIgK2nQ*ex_mW zY70Ba+US|o(_`nTzEPRVrzey{Mz~WN=8o3R#H}nX7o5|$3O8NY1uL&-kQN~6WV_k2c3@tyw!4DiTz9(K&A1j?!RF!hc6HSrM z$imCo_vs>gU$cvUWOEaG>3hb~!Q9cA&Hh9)%4OvRL0%c}uTGJZr`Y` zmp_V6*FR;kt_L02;N(|fDZzFST@8#b<8+5A51-+xA-aFlgMB-?ju}hvi2ao)a@U4n z`Up89v4lXrP|b8!+5>lmi|0*eneErdMEahlz`24_~GyZFAHB(#H1R0)JUf0vfJ$MvgB z&&+q%PhD(U83+yMis_VA{@eao2m2YGxkW!0X^Yw zplqVxK4E0Tl%eW^*_fkDyfowtgN;^M4mk~#9)2iTa15t7T_HkeM>5dW&A6wRbcwiy zb9K79G$8c4hU;;(x7N@!U%99yKL-?256~x%Ctc6s2Ay7k_+qMyO;KfZ08V#tQC@d9 zCf<0PFz2?fu?zZqNE%XB`gdMp>F+|IGE2nJT!CsU*_MlVZ00(Kbt}^E(b~8h|K#FCGlGqnc4_ELF$Emd1^t zxN>PAyEeo$-N?6UvP(yxZ*H`a`WPNMXNAT6UAMwZC-WN@7}w%R&}Ti`vAgd({S8uR-B!+gDWI7 zI7FPevplbS?SW}uiK3^u)c7ae&i8~Cm}CH`#@F_VLBNtA#ky8i#iYW!W)sRb@)eX7 zv`d^fN52d#k%Y@Wa&auPL@6wD`Qx<7+|s#jP!-Oh2}<{Thg+dFl*Jrldc=|tAVC8| zCzlH~Wmv&OaB!fb5G?jzysyii3e`ji8*0z={^_l=E-K#ValNGzdQDe+yq&xG6+O;m zKZi(q`O;y%KHJOH^@g?adQX~`UZymUtO(8zwdWQFh}LXe!5q*20h`tU=dmmUJ0zF) z+Aoqri|sW18jRAm;)87^YU8^~ zphH9I>$^Kp`&|YtEY>yJ4BW34Spv-Rpje1!-0xLLaPzv*Xtwl~QK)ICd~R)R81?-S zS>MxxYkqz!N;FFnudQlkeoYD>g{kAL0s=A0HKUE}Z^Bp-;ss=|>;kMj_(Ia0Tncmo zHB}o{6Ik6zlf+8+D~OQR^79-k>!h1*_O$I^XxON83taMNNDRP(nBF%linUJW)IHOq zaDKd*JL5+p?>8Ghqh4Kt5`JLr)(quwIxGplpux_!^v6uUM@U7Xj^EGEi!!biOTsXs zZ~+VDs;c;;IEZo52T~Ned2y`iozMZ_f~EKrY-JwQrk?q~{wRB3#W(0G=}x2ZKR*}h zK|iN>LM)=gE`&-RInZgTeXlE&gcI@c`Bj{~G->B^p?!aLG4Mx}=M8`@3DnO|15+{A z=X}&HU%4BH$DKli@NR3p6uCAY_Y>N${y~(L_gQ@n!7o7rmi7yN`K7x{{Ehbhz6xHb z`lPFH&jc0{JgK8_mzs$_cVtD>S#i@3;`)fjDI8rkyWc^g{R#;;k7>f4TGlg-raTKY zcWYkTBaE*zLLN>MnBKET{06?haoO*;aM`}zS>Efy^R_?k<1g)&|Mq^=75~lZeH4oU zOs?94!^1bCg+M4Ao{RJ9FkzbAgWsADhASvVmQJUO*pAxy8LHTuw6r5+csS9IT6Fgn zH49Ug?Z-I6b{BpjBbh4{L2zwc@oauks8`9ozMZTKpl5tMINJy8(?-^Glp~#W8#kl7M@0$ja{2_+mW^ z8}t3DR$CB!N+$GjWTcRJN*y=68eh*0p{KgkQJh}w^F}hoUms;}BJmt)yU8@XhhV~H zE21E1r$o~tsyB?ki%1n}WR%L8v`18AX_TU&+(Jk|YZqrFDPuhsO6E{fRC?GJTJ0v9(uZ_y7;|GGFYHb4-HMHn)**0D!i65?el&RU%)9c6J zxmp3(=l$7<9{Lu*#sN6@a*?@TY)8Dmx+H=CbEC19jFCMhW~D>8@%Rt3{jMBgx>WL})_nxLU--fnfjv4z`1%M4mN(hpbGCKx9RL?U53n$F{y;?_ z1*Eb)Vn48YmXGaABo&^(WJ>lFt03pl@FjbGe*K4{P~jItU^ zl8vzrN|TN83dWE_Wa2sHmcgW*ld2IMbV#5yXF5hnSR2vDcSL~_@@I}QKa#IwknbNFW$=_``2Tm(qyanS( zQ^(_F_E?ZGwaYr`%~s&G+&dQ?nrBBJH6-(N?P=D%J08;#NxDz&&=8*BLi7*;#LXrs z*u09d&2NiX*Bo%t{YzL5o^%jKj`X&jTpmyjulFB1_-j}x$jgl(O1_xPJ+{5JHJl2- z=|kPC6df@aiZ5`a>HKitnRw%W=v4ruIAV7#6`6g^&w_8e1a{y@7R{<(ZR_t6y}-As zWB;%+<_GsGbY4vqTUeK^qrI~l;wAm@o5BHFZhWE$k0`4M{LKBfKn?H=6KCgprcCd( zgOerH+yW(;NHba~TIoVZiUe(7@mr@#0#O&?ouQ0{h3xfYJhaKGc@@q>(a2!PXemDH z3}B$#y1b!Bn%N&6cbUK3Z|uK55w9<}>1QrAF^aQS7~-jm4qt2!zKp#y(B`%lrX3h8 zjsT}c@t;2q5~05p_8#Y}6|R3~6Ylgrk;=`rF-G(`P{fsFFKjGMja8o(6*ij9m-G_D zBx*>^HQ;rAof!DZ#qDPs4)7^F;&gI=BH`fxM+FX{8%UIFUJf^$MhW(Hq><_a>MC^-e3CY@_osd*VQmZs)6%W{ z?6*(PkNeG8d6kv65^^2x{1Y>M$sPv>l00s%vEJ(~@{cwvz^tqDa>K1|Zwh17S>X%@ z6Q!hPncLgP0}AZtFDc)xt&>JZxaU-F#>c5f3T_sgI;J&j9H#mtB_1`=Ah{Si7vYsY zv2Ss9@zB7Cb#q9JvXM;cw>@9Hc=5d>{?biJDymjiZA@mvea{|ypT-t3*dS&)U9(=f zDhV$R02B2mv>3%uk{0$KJUCt&5_dgyn0wqBlyP+%PK zAv6`0p02M=GJ(#2KW?Y_^#1D#bZTN#C+OeEIBr z&p>feT0)z)5d=fPxJpfxc6{D-i6-bAPi2FW`!zJOhn(^KK~DmmW;Ar5Au_fFrzgGJ zi6k^28)29E`oGu2{>dMm-z2}a)-kt0B5W!`*zdCZ5T}`qCk=4_oIJ;@ajwoVR#aaf zaPc}gce*quPw~77X_3lloL~QXS}ggvo9|>&53@Px)g;_Kreh$~eNufvjsb6*QX)Zd zzy@et!vH;Ob>D);+;Nhd8czrZgjKnMMEtYy1rz}Pm2C6=4H6dbCQ`rhrVDwTvW)TM z_`V!1UekK;Nw@PI_o00gir&BYJ{yW872&&yb5|ZWGh{Vn`WTPF=yyFon_vMiFZZY4 z0_;`(L&S#O-=huQuAvQl9pbKPTlqM*0jbe~;X@z*K!&R)7l+V&uK`WUub7FiEG#{D zRy!GdT*DzwVo1pHMrp1Ng}4L5!+m_(h4ve3U{}6#XS<60>l;v}Fyb^*!LMMp5w`$U z&*_Zj*|gQwz2`k9)KzVC{#eMv(^o;vIbM>*S4_^wWr_R^bfTISb ztqorzSeg3wsN?n{#|JPRJUl#Q3=#O5OA`qA0G;m>)Q9J`p4OVILvblZ5_GAi?(U&e zLVvo8vom&P3%7I-^oY!U+{}JgeU8E&i2AR)Qq-HdDLX{hUjpn#(0cjIyC%q6gMBDI z8?wn<+2E>{;;3+JYZo{n;Mc!*;^(^(fy!W+W=0NutJuI!AL$J{LX^{#;Uw#I(bh)8 z+}V(Bp1o2_=3qD!=lwdvv;KaS46KmRmwTH)z3195>19iQs>6y=Yzm9^uNcqdi=8qA z1iGn-vv>ZMp8SfMh|8FYAH&A6sHKhrlg{FHehHD9@!UT=gTASDkit zAtmmw#GJMrd$YIx)YnkUfM~zcfqMgG_m;s8;*7GV|C6bqP zuPZ6-5iX@|K^m392FNRn=*-j%xg)vo=}H1h!W;eX|o&|kP}*I`ilHV%fUj0 zMr!~;oQsq$fi`wx7tn)ESUprm7y#p=E)}w9uPBQ-I;A2uJ_=G%n$!^zE0?BAMcrVv zuCA{7 z$rv*eD+foHJ!X~0f9skLYm~C%m4i;2`toj0=Nx)Y#2nb_0D&MtL5qS79}Miz6Cs-+ z$*svYoR(!d>?6KJhjWLAZif!ihlC&&%>EQ3spBGHrp=j}*G+v;-@ii(fPx6|(AFg^ zwmEnzDva?-D(PY;JQ%Co*{|7LERplSwtE;uK$k_q{3>ShY&W%*3X@*#QPvypQy^}? zcLNAi3y2nv<=&u8?FepYwXJv}1|KFs#ry=!lH~LALG02?SqfI5vHJm#`Q60ixk^pG z=}bwFaJ#aa(C}bV!F&Dp8HVnW6jgl&ze8p=_!N#hx;2tDoxUO>_2QkP`JJh)3Ipk> zq&!MRlen--@IM>9M4(R^8_@y(LQOLS9@eMIvWl)GQkb@CnJY7XRJ2#w(v-2I3FldF zPOWzf)RU8)mIim`DiFOBDz(GJKHmB;=PVMAlJ?oF&rn9WLtkXsP5U|07{zGjR4 zIV{`U4L3dBD82eYYjkZo_~C_L+*qW{s#i^O!&BUtv^Orj+@0i*T#FxI0lr`UxlkV2h^`pL%V!d@u2$#K$+pn33pvqvzCw;|*n z8%=n{H6rUoN$<=4bs>6{0lvA3N!n4V$AZk*{snbk9m->yc*d0kdH%>q zE3M^nUG+&!3+v^ZXE zSu~)i(v}6Y$I@2Tl@%o=1PMIiD)3}2v4 z*acu>RFwLMtg|l97~F?CSp_6QkWl2VwqDEuYi76Vv;vWI=$VGk)%C+AAezcw>!i=- z`WX4%uUFa%nTO`??rFMBpzj_d^v!8^=dPr9w{x>9Vpd*+Ha0E|P5)GYyhjY_5Rh|H3(lqKXlZ?4OO(H&JUX}B4M}!Y*1^?|lg1~^+)Id= za(tSF8!@@BTDKZGX-wYX2Bww6>!P}^_OEa`1**v0Dlf$C??#^< zijaVwUJ$^cz(G`2$IfeFl5uiEW~}6BX!tw*S657aV)Wj4)qhNU4Uml_HKEQ3ksn|6 z1)mNXl9^Bv*|>k%ov%%1E#f zYHW1)6a^bYgg1L=8VjB6ZV?YcANT$YrDjhtX}94=!FmARC7_@^3uo(<#;SbBVxXeh z_I`Y~e7_INw%-|Ke`;6OfXzmOlvlM2-C|Fsu5K+1JWsEhDxg&Cu7NjJJGATkxQDAn`=T%LA zMpxkpAG=l!g|we$2L|eWt+@g7Rt?}mh^{oXI$Ne-Qdc<`TRdm!=@cf4=ZkROHP)0? zn@V6r)1f~BQ}<`zhpKY9RD6({5zdTtx@u)BL+{&tQP}zQKLZ2$HGwE+SI%jmmKksu z1{c@*@w=v+7XBV1R}igMCMSQ)X26wYVPMK2Ci^}5n_jU|)KLk+lVPH>jGIg|3374% z@&$xN@HNOn@d&r5LY(W(`)@t0zS_|sR8eY^wlOp zfah^PiW9rsnW|F@IRkv#e*YG9@w$!oAx6#2q^=xa%X+yd%gt5#S5!uQY`2)$X_55C zH(4NSb9eXk#}7@j@}_{_V(ec&B-#B0Z3LL0dUIGBHXC7(i|BRm4_eI|kBiniEPt+p zeZhlX-bhL-^meA){0t{TNerZC0NQn z>~UQ>5lmETD;P~KO<7MMLGW zrOBp!j zlMCsOAys*dD-2us?Ra~Fu>GVT`aU+O@)Pu``+Q#ohXBP=n?bSh{D*QP&0wCg5MVP} zA6seHhLZgbRHGa7y2#u<5EAH(*jX6f`xSz~)zZq03fv4skm7jljvkWfTh)yu zH_+cV2b84Uk(2%%ODqXME+mTiPhLK_>ij=Xuk@p1+k(~sj=Pg%7Siul>?m;KGNybbj8`4Kj?z>Moh4toK|%?{sD1XB*^c zTl9|oc0UJ-pGSmf58VlY-oj#g;qR*RK}pd^2-Z}{4^q_Z=a@1jB!DUmly;_G6!1U$ z0Nu*@ffG3O2J@{D=biE0*+23iY*V%evjavzC5^e%Eg+7pQ(_CN_xCNa!7J)DHh*f) zw}UcOe}(tfN9A*Kt95e2U4~lsFQh^$R=jh1z6B+jZm8xICc3wOxkFa|_U#AJ=lH2d z-N<~&>g&F)r{JwEOV`s=lY=TIKpUK1{w50q0+-X^wraXo6&mr~hn4jR&0g-K_ttj+ z4eO{1A*cC6XF!o^?tG**#59HL+K~bf%36o~?OmhNAIRJS-N_HhAFySO%sh$YRWFV% zV^uH^o`CU?*Y>=HYWh3P?pMszS8wCU<1`k)@&^`u1X%lq=7pU*o0P{Ga%Vjqni>RH zp8>&SS+ZagOJWdQK`i3Tb7b9nrB;84xu@O>-W)M&f(8O`O*%;b;uyjzf zaf=dz#I$>mH>fq!{|LJ2I+!S%&a!rZEXz*T4%Sq2

hc_|*P`7rf*vU<_Vp-H>64 zuw#&DB{s9-MfwQe5ndDtJs*HMz!MLC+4k&_MMrB=Sqa}QtGX~Ybbu_@A2&Blq^j{z zueW8buY1i(_dIP?=zu_59g|xPns|hz!{nlE-D8|8Oq7z`X7FYBipA*Zv$d+T?snt- zU{_TWM88;c^lx`1DaceiB`L~SR&K19oq@u(sZ5zA_i>foreMeL8>g8vk5*HVx^>Di zH_C@9{!f17H%2ZEpmXQVkRT(gJG=f<-PnvTY2o1DvYhD9_u+YHgLS`nJQsS&221L{ z|7&)CseX_AH#w<5yO+=s-A%cvpmI@Uc7J}Mhwkg=Z>2fJ?RrWV5~!W@#0(9Dynu|W zO@Ak`vR2X=LaLEb8r4&~Y=tF`0X^YUyU2&4%k|kSiVWU7*U%`XYWj--=>fYOVm%NU z*4jg!Ua=F#yO-u~pbTX~`5FMIYg55ZZFeDh(pxiti^ z`bX%i&vVOocc1-CM$%}~Wv4||TJnRVW02ScSu2{HUD%~0ZF@Pu7qrs0Bh@k#7&$-; z3t&imuG`uu)+>6_(o};7=fi(|U$`kmX>2DvZLkX43&N2r(Bb&61*qvV_x&f z&0}>6SY-T~8N6nGcswNSxIMoORDu~iFU~HodKsxy`F|%!{SGhYc6g;THm(mA_05|B z33er`(aCbE9{aWKnlb?X2EHE2Dz+c0?WvzMceEJErYRURT_gAqQ&*;3mAcAlXYg;` zBUG?IkTp|Rw-AG12uQE2vOSNJttM}^Jm3CilIolVydmpva-Qt}YvE>VL(U(q|6(X*fkkynp28dRg_Hmgzb*9G!g{w+1qGEPFCF??x>ZHQ-s~e~u-GK0W5w(?o8L z{#K43v2HCkhj!fNgt0$Li5R+2C0wz9UP56={qMkR?FmTc<#*)!nvR3pdlnBFfMqY3 zYpv@upe$#>yF~w%OVi&6yW$FH@4IyaKCV6OZ^QT|buhD*nwxW!Tg*hM&e3xJY;1nh z(gk?0+ly&1*yebs(#ZCD7yG)GmGL|O-9TMU6I%yo%X*&MB2?dc(*52UPlW(hS1c$2 za5>NOlA%Lw6X=HGHdEBQQAlZic8JMHi-}>cxH)6MSIbSl-O9xSL93r$X?vwUq}?ZT zS5E>lw>UZdKU>_HZSimbN({unsi-l>C#Zfhma$T7AAQG+!~)z`(H@4unt*E0dRgM` ziOZ^@(#w>TbONw4e3g;en|HLt)SJ*Nr} zobS0^ei=PIv_PCzs?c%Q2^OZWeT{)xfH`efW&IrM)t=_8Q^?2(6Z`_sAWf0Bl$*4w5m$-X8FpOq$1(mUGs#5b z&$tHe@4(}135M{Z?R)*?Hc(Rj6F8r+FA(mQ($nNVg5RyHZ?qsi&8x#NV~s>~grP=X z0n2N88mq5Q^%v3<3lNg2t<|QY-X0&P_&Go_khDHvdQeW~Rcf~mYa6ENbZA9)d78wa zKhYC6))f|PAEKj538@r`AcD>X)=)ud76~*$G>fOx9PA+Iz%k@4WvnICy2qmq*?c|I z0a;`HX99?RV#r>{b+E6idW8AP5K3&rQv06b**qe?$+exqqk zLj$n=@ItjSeo0zk8!)MqG88L5+`LySI_;|o0rwt&9)KCO!^J1M{w>N|%#uBaqw#*1 zrr9Mqt8aC^nuHYbYji{eEVEco6^Piq8AlE_uo8igTDZkEY~EshPl|hmN-LWN#=eu& zL}c)40eNbgj3JgBFYlMjCjsanL4G0|qiW+c&ZqVsZ!$6dEUL`OE$&Hj^I5Zcn8~cq zo5NdU9}0OPVjn=4aojgJpN}h1M?GA1{KH%x`F-xw!zdeQj zRPmpA)ubq+6ribrY)NXyFE#-VMY1fjs>8J;3@#rh4|yzlSYXQpes2Q6)c5He9`MK^ zRaGNkC?B|~dn#ZkV!2?h8f4^$d&|dMW|FsmlOY#W;2gs71$lZ_rT+U_Q!r>PpRqi+xj%GeZl%A6n)7Dh02eOo4X6*7 zr>%3`B1;E=W~}>Nup4;02IS(aVqNctmUa!IK_bbrB+t@lMdE)k7{ZrEk6(_J(5aN> zt^U6J&{`lpiAegcE8}6qslS;@{X-81U=ZLaUMuSQO5n6?bZ(TEOI5CGMf{z?il0EbHkA6vKLhT!-?ww|Gh`+n|tmKPR@f8gFXP^kJf zs3IHE6-_P7n)d{$O5QyV21Z=_%Lr(;n}G$coxb3)mFcfG`Nbud5Rogkf1Z2FmHstN z^fH{$ym)Ofeow`?mcNaZQ^%1iXciH6!Z<_Zrt3*amAXrhks zRqG$d*Mg6LVJaLM5WmdZh2O~kmOCxO6Oqx(qf8_ zfsR&nQ+;|WlJHZU!o{{hhYNJwJbnJ_vnKV^_RUYk!i?Wl4MZ+*6h(|udunnz z6qWu@sXpPfJ<`CS%D&0BG8G);>95U<@npI#O5c?z1z$l~8G)&!i(gqsB3vj9o zHup&S8Q^_R-O4l|I2dDQ{>qcOxOkz70Ik(TlBxNR67jM;)_>zfiLegdoq)a28d-@s z7n!TL*bwU)3FUo{(N4+MHyFwPv`7xI`{DuPXGr*fDE?OIOZWIKKXtU;&YD~FSI%!l z^G~qb#bQr^?Gdw zaH7`h2Y?^#X z>F8pr-~Q$ONLEiBE(Fjc?vQIgt(&hT$+P|jh+A5@=3tAbY4At{kktE()YpGOYhql`dnB$>E1eHRGhB)tp|8TM z5sjC2R-eUl!tUPn)-Em)##Z@{=?*;LtO#huUP1eJG)THr{lTJ$w)OsA`C93^2E>KA zg7@7h<#J8kAvavyF2}qFQ^;TKeFDYF2m^4gn!aE9XI9Q3}3|$}(I#_zguR z($NXxRoKaHi1-&`OBAyleGt{?G7Jb~iOoaN1F`@7($?oBqCnuLU6tPFz1t%Qh3vM; z!k^^76vvHHnXqrY$z;g{hv&Dwii|c z+7kGcQ|mE@`_Sy#mPxU1LXF#Kh~xYSFsck_UKO|n&dnef^q)Cy+NC4@T3*1E7gD6cKpNyE54ggpF%Vo?hTyOnA=q?ry8DFd3dAmm_kf;YteO5Req%ejPAnO&w)JD`0I{2#g2Vqp!7ZbxB{@>61VY&iLdjm8(7w=h zp(iH>khpwrnzITkJEFUuPGVZUJ%Z(UWAegbRK`<}C_XgKqlPj4mt9pIx;m5`01g5I zOzhZa>{`7m3zVp@KQqrf;;^8{l~%!HB2~ygR|EHl{^^GaZ4R(A_+IZY^EkB;&p8Ku ziOk#NMgg#m_w@)5mrdQ`e=8RTpM85jh1l?YglE2FeD}7-S<&YV*oo}zNX;o+E+}8m z5&T|TO+Qqq%v>DyifvV zmmZ%v3><$T+VkTFnfn6wOLY@xZ*!+pxEk-&t9NKmzzB?4hRQn_pcL8O-qBhN!RIrJ zO_d#FayD}fEsmzaTllJ4NfVxPZqmAW5ob0qO-;L37V+n>L0PatHB+Q|O7^>L8y6?2 zM+jZo5KI1)iCTfZzF|+lB3FLwWnIE)HeDPNs4D0``jL<@>_vtW7;{-eeHda=sis}R6Rs6wx zY1gKMrS&99RSJk0F}I+e^XQB}L#y_%kcP{)3c{46hfd+ogjmWrs&VJnUNYd!^@`iZ z*PYnl8fa8mnuK^5!0FUae)S`TuC#FhgmJ_vfv%vkV|xdQjwiRVx>VrKM$m)8&6T7% zZn(q(W|HZgpHD`_)nl6uMRc(Lf|0Cj!1^HMJn4$MRIh2TkC|*z&O%QoD&46hqN5RF zjS{L7sVc@TulVcvg~s6Ze$Uy>7L0|>8&PHDhR$O?nOY;tsGH+)n~aMK-UY7~XtRja z?ScJze*tB7UEfUyM=wI);P%K@@Ocvn5O!0{mKYN>VOn(q00OXmb=wvVB`hOiv$(&+ z_<7kXDx?=F(}sGu=#^HZ|SNbWL~H#4tT$>efBYb9vtE-JIh%|0}-n`C%e2ZtHyoQGsq{ENHCx zCNB@ZqGWk}B>T?$ne zZPK?ELjqx|?a$ZBY~1_}4x2x$P!*JhMt2vqZ{$07ni}!EOnt&qpl@nCZ0%c#^2yXgAq^E05&007hxjzNgP6J-yfjJE`!=dyEoHV2LbK~4r z7Y5#Z{tp)tjw#mM)<~Zmty7$fY!NQG@w^In+Ske4NX*0Yip)L+;jPcUgI(LcV!~O! zmgCB!P{F5vjX;0kg!*bMxY`zoU-N=Lr8IGY3B9+nD(33S)h69OfdT=&PEgrlw^n*x zDK9~m%afKVZ=Uh5jUOT|lqqP)hyKrEubM|C`8~&YOCyO>-uv-PpTxN^CX!vb?Sg>s z1$hQw>1^4w^A$4dFa_+Zno3RZOs^eI%-H*T`ZpL-pJ*rtwS4Rjf#{pS9Tt}*^u%`Ivi zs{E#NlOd{NSJbu!=d9Y+?mnT2q*r2fj*QT)f*F0`hYL@hvIU{@udV)j;WOVEVaWz! z(u)nvnI=8q7r6SGNI~j$T-?08g98JrOs4&fftJf#^$3UC&5r(LNebGUK}<~EYs-li z#-6d|@rrz5@zS502otqEi@jacQ-;za)h{UplrVAo5bFs@H2?nEc2P@2z!Z^t*3Kr3 za>EtTCHfR6-M?GGSn_*$8A-pn2`du*n4fvr`9(*2XeF{}2<3X0YyO@fEY!e!6f4j; z)ouRm%U5XOx-{a(K8sy&xd~1v&canbNZX^ttBpn8eMCwfIzr#H{7nK8a*WrbzYLos zEJTV;id}a@EGZV~!UO@S;8N``vhdZ)1z=YOmO=h>w&7bbBydyD;`4j)5lc23-bI?~ z@!HaH#lqJx?|o#w`Ha7Nv)qOAGccxr@x(s`n^V%ImUh@th--?dU41U3YIqn$XAxFo z9{=BmYJ^&a*@0-44y5gr3}HnXELhzXSa5!a{-8U*@BH4hpz3ZJQulM|y#zcwh%RKk ze=h+|FD@&)6B4$$jaOr4C90w!MvkS#6r0gAuWzTEYS3pF=;RX@pZk<2*Hrt*%Ey*O zQ^rg*lcgHIg>#?Mx`pQ}1xcsVhS=;C$~jC@o-KCV&T3oIA0k*D>Kkspg*;zU5o!mR z9(ScC&p9CD1BLuw6R84{C^XsJ!Ykv(fN(g$)*!aMZH5INUeF;(MsdWppArwNyMLroNucm6Q_JO2a-&i;nueqnvHaI+xsJQ@ zzQ90~bMD=2ngmhR5)6?AE}jQ%(>DcsP~iH5W@d~2?~){km7}vWJ`hqZFV`+f-}@xK zzJ{57MWcLa2KK4_yv|h`?CTIp!{Z*XR`UF#<(p32{;v^|YmDsVusCcd=M!Ju zh>L2Ne4vErai2!agVIxv(~dHBgd)P&4}1E_?ZMwsQV*gy@oT^=zkTggtVPq?+}w5G z&7QOr%*bD1(_BTLs?qs*Sa(w%c{?tbMR(1=sC@7O=%bZmjj|Z~|9zV3``B}oy8Y{S z+Itl?bWmZ6vwUiUik16rb0YAdI=$70bpFK&EQbOI4k`R3XNoGMr`~>O$SML~-$@W! zOFh5=U7+b8ZYNp4D++g064l*!wB6HlrH^s#_n&-yPmp~P&yz$UfAnc;07bl|q)EC4 zbJUms9~C!ioVTI)BMo+*U(hYp}lhR(SJ=4cjJ^x*cF%p z#U!GzSV5UioAfllHNFz+92=lci>%V@5<0Y+=#J);m*?47x>4yOe#nrc+X9$@#0k9G zBYnYHX6?ZKEsNmW+r!5ImC!y9GJVW1llvWhjAQFb;rLC(-u^yecM(@2D=?Y~TWF!Z z^cceL-)@X>2~#$Z{I$VdaXvsJ(e%P|gn^=r6DC45Fq`ioI$`WsVmRV~$=_hfFi)|N z5l42>4&TR9^Tmq02#GtyBnHjHQd?Rtv2qqB{-6gMjjs51Sr=Ni`%r!7QZZx8QqoW; z7HO^l%K1|(WumbolMqXNcWeX)Yj0h=s*}%QiCRQLxk{{C z(m$wLJKto8$jLHWn-CnxW7cP2_9^1X?&8K8Vz4Gmr^{FPng@I>N!z1|PjY={@HPJH z=<{S55@`;`S1z1X!mb%AGh8yKH|1`fePiS&{l6(hquy(b(=&>fFtE{^v2hyek7zvX zYvaNaO9Lwv8k}bSi`;-cIzcx(Hz(p0pHz!Y;DGyyZkJXAchpyDJ5iq8|Hkr597|iD z@hED~7zpGHRPcF0Yah4#M)D~`kY^PrG+z-FGYaRqE?Qhm=|1ofQK3?o{g1d6Z~bT!OX>9;P-`wxI778j%VGWF z1`5Z`pibL<7nWaSV7br#z3Ppd!xLH1=pZ?&M(MGqqKKC38E}oe7J|}oJ!PdWc;9=$ z8zzIb;HYuu-J4KiWbb~i`v4D$zKsePm!Z4sA$|EILT4#hrBHrIw9Z=90ZyELtpdJM zSyC-Kt)%L2^gj7y*`<^i-S4m@h%GCmG8UX`@A3bFccyl`QpgwO#1tlPPO>IU`ggnn zMnOLh8aFC|OYZz8rvQdXITYG;-{Sc$Uq+e^yY9bhgA!QGLEHv*ZN=dP=DlI;#KMoz zwo>+c#A+HwB8MMdyuMsL_^F?N6wT>}tfa7}Pv7pH(GAz!kK!Z^OUe4`$wjbW4Hr(mpe*?|jpXn+ z3ZYN37$-UCs&ASiaK}S55r+N}0-5yYP%ZwfrAy@PQ;VovkaY3@Y*RbJw_2OpsNYc_ ztPnzZGJPxw!#Jh^8@pM_S2$TuGgQxpc9HX@5Io>{e!S;LO^S15_U=Xlhrtv3dvtwJ5|+bYr9u0_04cCKHN$XXk<8Vm4B5b#FUd3mbnq zq5ppt;rF!=R+!BS7N|(c%`i0x(SvMG-F;uMX~G1qQ`QPHw8)JQ@&JR8!-aO(*7_!y zTG2tCzIRZSWjDO@hqWg2mzx%W9qMFtr?DTnUYJSyh)^tSo^&XlTOlNwTVVxj{79QF zNbIZy0VRUda~jPv*i>)pJlPfooGU=s&Ty|AR}vE)@$`Nn_LmM)P`QRyc1I6xS9;M{ z%v%h~2L9o@M>GW=t&ZSR2bJiz(aBOxFd}urVv37UZsoE{QN5;~T8UOgQMnORI^SQR zHGz!AFa&s^C`}Odbb--Z#>saCUd8a5nl>LIfG<1mW*}DfV6!C!SlsBq zvW}FR*vRg*sx`O};5PU1w`lCgV4>z3d2hPvr?4chW1+z6V#>6pwU-q^QtA*`874gv z)xM5yfr!25#6_xF+W@&Dv-60aC{hpw)K$3(DNVj2>+K~Q`vJLarJ`lrHqys_yeWs# z+A1bx_u6{m@hC|5a6XOM#xLzyO`Bq;S=hW)cS)2HREb`u-F7bA7CY1)&L0IBdG%HU zP47T`4alSIQ-Mj}GQ`wfUu$aGRzjfPEtIgn-hLU|W@EYFvz(YIO?%>2D{^I3fA0Mu~LgZ67g_fD?RGgH?w^Z1Q516T|2Te>M z>=)uCI%ji;`~N^;g@?yPUDOD-=ZX2$iFlb@CrjptT)$KQik7%XJ*tICh!xjT2!x|H*lhIONsgy z)5ySmT_qQAqD?E=o}bm$;j6M)UTtBUIJDc370yV)HtrGk6aTWjJd&{klhg!B{=^}R z{EyJ96#?@#ubn;p>C8XQ_si#WQ4;D@E6e8{b?;@@a17qM`e7YlzoT28s|%E`sZRRi z@1vN&GgvTlSbzKOT#nUPrM~&x>Lc$Da=Hq`*iD%)!Lsb>h1F}KRq;)AC8jUYjn<{D zchAhlMNQmeAiEJlX-f=)>2OnL#??bO0q%pf4T4iALipC6(&)Lvib9R=MCBVt8Q#z8 zG>K^TWwmeUF9^YDibgMkzfHlH-+#SOO2j6e9&atzG@CFfQc06Nd>r8*+BIzf(?uq7 zBDz%Gusrx=B+9@?hKEi5N$uq?)ITzU7Adh4E6Wp02_B0&&|k^VbF@dKg)jJy@QrhK z6e6>U%XE!Hya?~8 z{3i_IhgtonZ~1zOI&$eKA|@GlkzN^MU6pe|n!{TXS+k{gqZTO5gDdZ(|6Y|JE-sDE zA02sh+8V=eNx?w-wd-?6G98Y3yM4N&B&0UBvu!de6a)yfS~s?7hberWsYm|HI-aMf ztUDbylin_YChAO!YR>aeIG?mK>Or79PNumG~y4ak@ReSfbqpm@90Z*W&ywF=1(feW5tBAvX|GB z#uxiCcvV2@bhKb7-G;LcoCwtb1S+akIPXFWm?U>)-JT8!LeEdlG_M8YGGC|lA7Q&K zRHQHlwk{=QVt2%X=88OiIA4H6yqAEV{!@1ncCK=1V`GY-&!_+P9Sl;P+sb-~`Y?EW zkg`b5-=HpEauOQ6y*|I)h7`KC>DSaLQBh$BX?uRCVT*u2jJjHoBeSL}y0El%$iU{q zAn?4C(>seU3FMs)T%rFj7E?@xRe^?f(_*2uHOxlO_h|`1DSN-05-#5S{oKN^*VAA& z=;>Gg5y9^ZJm5FPMOX>?$(M~W8OqCZxH;CclJ!aO%EAV9+Q=6B^&+k|j85=o%jBF} z*WoI*d_<;DV2v34{HqDL+0`}0O*|wRsa_CLP~z6t+V3gPQ(C2ydJ-&u4FOFvhLRL{X~**M65eSIaR!I z1B<1Y(mOH{TE5)DzZn%!Bk=ry_FV*pFqL%_d(NboNkkwAL`v(72#7MbLC~4i$uG;` zSZh#A&ixofh}RP{m+Bkc4f~VJ%h#{|BU%ZRR0&ye{@}DM4%L1;A=Qyl1pP3J*|3Ve zEk`hChQwn7P0$=oA8$)lC`uDoYnhc`kQ~d<4IwZ`Muix_FyJVFjC`4fhav-9vD>=< zYbA`+f684ZW)!g{zxNm4h+!gm0rY|33)sWA>uN%C+C5ohI=Wn_3$5KV*s^`EvcmAQ z3Obd_yQaNwTu8UXNhnm}xGfqc7rMz=b(OC=!*CSjMUR!*2_`}h|00~Yc>9uNi3y5R=& zL>Dkupstt)MX5$$gZt|5*HV)85I7#Dz%O!ZIw{JdBJ44g=c}eGd34w~(vv6zg^V61 z*AxvLvcSDrIF$aejTZZ^y|2dK8<+z%xRJt9Z#`yWP(UVZskuA#rL7Faiu{9v?&dkp zWRafeayuPJG75b@xz)^yj)*q(WZMc=vp5;PJq+-;$kN#^^d?(ByD`89g+;(^CaK~b zmN<6=SKJ=#BW--Tf_t<8O!8wkgTI zXA4`!$=UQ@KhH6_OVXQySPft~%;^4JlAGMUIqjc)_`5sI>thuNp2+b(_Tx0zuh0LE zw|gDfBJ$k~SOw>EG2gTzUP|JLNUrI|@r48iF64t3#%wrVWT~T2S%v*!{hLW7UC0tq z1}e6ruKW4`T?u0E`R6&^RXiZfEis5DNNP1CuRT^mZgfBbh_bvD5=n{#D>H%EKPR1z z8yskfMB=jsZC;;&#^-dj%v;#+U>_jl2&@fMP5)v{V^2>?W#RT1>zv<8j*c7~GI<5< zk1rgND^-f0J#9P6cI#Rr6wl91^8!`BthP}Cuu>?~6w578wc?lf~Ic{P2;e7944L22+~%v+1~nB%qX(tNj6^I(OAQ5iNfpV>v^|iP)7nG zXHCtB<71kgov&2td??;;6xET!9sm`^#=Z(TLe&%zGAVE%dG^6=DZ+6z&8(2sqk1fDl;_7y zH0iedZo_xpVnU_ti2-tSB}!9NTy{RXmq*T#Syna(d2H`;+#X6CNqDg1Uj?t4m#N{1 zx(M|*Ruo#WV;B(>(ZNcp{v;8VPA@3~L0wgCBEzKa+I*P#H?cT#l8hdWyGWnjWua6( zF_0%}rzw^#j@zyhO0$m&vissf^qr^eF-pvcdXOBn)&<=QFoS(3O#t69eb3vj{R>s! zFiv^N3}~vDtK$mgdKR+R!mj_M0*;ts%qxH8(4nVj%oe;JJ2}@1NUAxE3>$T^Q%iKP zI%IO~<{78hkPNFI+d)N2ul9%+bYC6NlsNA`&pa{5YVNpMtXgFKsb8RiV09y2VC+X_Y?d?Y!%Iazz&?Lr#M81xdDNu7U zu2?b~!J<2GvS3k}??|Y~Ib)#a@p84$3!U>jWwS%!LNOPc6rZooUL&Zydg*l57rzG8 zypa#9J_2>!vTxPM4WRM@o^+xyml)Ic!Ta$OiJiLpeaYFkh>RK#r72q~_6)!lfkNmBQpKo> zF=bT4U|T$nguyZt0BI&OQ<8HIV+T1FB+%P=VQ4b9=R=M|K{69m*Z`ieHUaJX&@>1y z{IKwp&e55!zF7>2L~>)#$5O7~F*YD9!7*D^m63zFzRPGX{v|uutD4P+s6rrb+Fmk$?DAL_x@Ey=|q))!fm?^QBG$XScRG z23n*5;#G&MW0|xpW#<6J(N7!?AG&j)QYhuzX{bg}*{OX^J`k~g4RUj>RhDaJt55jI zt$9K56fg!uny~T(Dz$0piZkHo?8|I8Ngv0ABl*(NM9f|MvQVmi>;GRkkyy+3KPxNe zhjvqiNLryIR$N2&`0{~?y6$}RJ+kEKT-J#x3kUrNo$tG+>`~U28@uTQ8-r$Beg;zK zm!p7^FW_c=`JzyBy{ahyY6MPzYe`55PLKBeAN8m~1OjRkp=W19Kdoz>2TgW-N?n&p z8~*@K!1%qER0_OmJDfH6!_H1w?cuv8zMAx+a&PFBVHd`3HOS$C9SMRCpy&j4K?Fth zy~B^|#i`fRizsTY9FzvK2aGp%M1S8}@}ZCg**2#B>bRIh?yH8ajd#IR zJQ#L=C8blqKh0?ml3`{5?W(~J+HS@s7fU@yfED)_^Z{MB&yn7|IeSfAi=q-g7s7~c zKRK;tuVpvYT_XkoA)p=28E=GH?Emz1#~8@*=mRfypMPOrxbl1}mzZ_w!F2d|`t{fk zfKx3%bVuQ3A576)vQJqc3JOdGw8a-%41ffLU=ryE;fBBi(|YpL=c+32a<)IqYjx>k0&n{!7q_tTFM zMmzQ5%n2~14bNF>`zd5sOrBqw-}9zZx35di?%LUt4pxmXIo}4uyWvo&2ZBs2<;*&6 zbKxqD;ADBqf)yB_M~0Z-tMnEHVnEHx%Q{-7{s>C23qB+aBvBNLa|?X{R9f$*oO8>x>JFEt*2Dos{Hx^L?a zryM|Y!q!G+6#QpqHjSTaY~pL@&{=w(F9P^>jvaMzojyL_$|5VTok%|Ns$rh;3p7*r zgR=%kp^$r#2~Dw!`>K4C$~<0=C~J_3LF0Fg-dra6-%Na5u<;Q%r+lm`^OCrsfRU4$ zYYghkR({s!Y1xs5yb+0Wysv3v6-~NAI~ftQ-Fl=Awn19*P1cC)pIuK zzq8wIveaSU#qBy7{6OVEWlR^$_4D;yrblo2PVyYO+6ER2g^8^iIDFkO7I4qw3-E|{ zwMOJ2*0;>t!r;BU)bhXZnF8DJg-ktF4NXWO2p-fN%3+~u_z(WcHd%J^9~j@pvwIp%b{e3mQk_62bs9S%PmpvG zWm)9WSP^AXUrRAC5)#&vrrI)f;g74P=YxTPSKj>hy5&BVK9)am^bI;9K##@9P@Sr9 z|I@Jr>*gyzkQoCl11syV0Q*8L?O<1U3_I-1v5o%E%G**p!@deZV|xSIpoS|;QQ=%E z+!MYljyB~*r*6RB;~n&1DpZ7_t-O7@V=sleoAUIdxW*4A;FJt0W`5rQ3h)W!ydf(h zZlhs=B{qczgc~0M=Tiv9OrQCcFZy95HNp37{o033F%#Ha=iY^jIu_!{zPM3N2af@p zk=|fo0SYZf@+lk=JlrgazZ>TmkfHes58?CJ;7`a0hRc~YL-Ul#zi|)=w{AsR+Ouk& zyh&>cF5#7lWX{7Q*9$6l>CyrOd8O^e*7oRTyKe?MU08KXD>4b;!`*+XE+yCvnA0fEXPttFQm=b&O^RPi0^|So8s#9rU-vMEH}< z9hh|wSz7XudScQYKQf*YDbp-19sj%YNy`clYr*?*<}ZAbgW`G|mK#j1QIw-arOc?SSLJFW<_c&rI>TmKJ zDoo9B^)Xj*s$b+px0sfX?M0-l z$#XZikw_=ms0qy9YCB%lo8}?Vk)=zr(=!soGZaGPA~cT*MW-lxvBl=#VnjIPrQWQ% z6{M$A{rY7Jw7i~!-y^6x=pmRd$o#U%Ji1`u|Ei51ZVHAECjGH)vhXtZ%urNBxTNk> zOGc0kYW+UuW8L2oASCfzbnV|R?GwZlNWV^j@)mwF3L02m?nfu15hU@o{|ZK+7kg5K zeD&c_Y)u4!3dn`4?76%;?+BHz`(HN?n*@R!qYhrz&q%00)lf!t205 zB98!6?*A%FtI3CM7KukS@Wwwy)EkjtMg^`(ef|?5G&!FVK6N?u7G;69^Wjn=Bscd< zJXg{-|KstiPF}%Xv@%7R5jhi&K^ze~3=t3vu)-=5C5G1nXd1al^Y@^;1325Df~Xg| z=XXgS0^+o4>TgO43t{?e0q8(|Bs0#pI*>BI^ym8ak&V$}N|xd)KIgr{m6))>B;mWw zmLRV|W#35CCN;Ql$I$og-au-5D=^nM3+>`;5c3W4QMJ#L+T{=DEQDc`^r+uM6X*ir z^1ID0D0v|n<${Y*p}}UT&F0SUrrYPZ@QH&FP=`HEKe_X_6Q11*Ry~M( zFvcrqbzSPCY^HXix^Wv#!Ta3&uf)qren|1U%4q{Xa1Y69mXP-D@!`-S#8X*PW@pX^ zrMub|6wLv8?DWMjF8Y(`liy=Uxl)>sPyBRmnPClpxJJ>M(sMaS?G2 z42-L*4O+j&K?=8-W`4|AGh!fSFaS_0D|3Lm8E;en$mtJC$shYNqJ{&1uXCbZzp=;< zJfG6F5Y6&C=0=Awwp#X-pTKeCW}BRvcQKEK!LX>YTm8?TDYz=m!|#vS>5+`kQxO6a7|$Jdx%dH z0$nT2U?AVG=JP)CVRG}bBT#(C^a*@5Rtvjo1d9h+pa6&V0q7K)07cwopNs;446gF8 zLFIcf_Os1mT1jW^(IQ5$kose7 zW~-at(RSi6UgvaWo_@@b17W7A?%HVKhfN;dn=PyTgTgHr1fjcA#$10F2foWse31e% z@by)U#g-=f68ZpYXrcaodaiyb{uZg9FaDJvn{Mpb)OzddmP;^ZW{T8S%j>HqAt+^V1 zV5hhJP#bqW6?%IsyRh2Ler(BIY_{yle2}bWri-2*pG%vwT3@^GxHbbKCdUPvuJr%M zK|CySoo_Roc$0fcBX!{f+mLIqVysuBDQ1~*J4cDQ@q88!u<Qzbv zN(%?TRj|E|RvD27l_06Xb(Fq?Up5~q3pxvPWEQ*E?U-G91F?s)D@h>7h2sVm$2kCLzxxw0Q5Mz{^AYcFpz#!gQ;1D-u|f36uRySuk6^83Is zgnr=csi-+Izn@eRy5AD$_PvG&VfuuL9X172T~ogX4TQT4l!qPl3pXBu4`X-VuTo~* z#g@?*W5s%LeiU(n))wE-lU=Xw+{h5ANfoD}9_Lm2@!xp|(4fG$*vU^u-tHJRT}`R; zV2ptO3DZeC8|NUv3R!)E)@5z%1d77%av;C0DerEMsQCa}94a2yjU^dX(G*WgK6rt2 zOJ!MtjE_PCSU(RByV79fg22ULQ!??IIR-g=IrPKF@||LBj|M<-uvW%6-z(ka1ASAF zcE^#_y|xz}9q%lro^sXa02gGevy}>x6MSk|bk&bByFybtnjl2+m`DQpG;g#1v63uA zSZjczY~&ZYUYzK!?#Gwet3y=fXlU5Xp8rV0!l&o?Xw{f2Wgs4dV2yuN&959>jrhP*Qr>%*Z!b)f`TatqTBP zO?-RK-q?txr*8{zmVmCSWBRRJ43KBOKO2*FzU(l^WCE^qrcmZ!0; z{iey=R6i`$qo^!;nNEzN*vY0VDr()~PGogkvhKf1{Sb{nd(`t1F@6?MfceT7YN17) zpqZ{{qd>(eW##Vh*b zjTzefcYW?xm&ji*ctAV~GiBNJY@wq%k>4xA(R5nx3GkcZsriQB$Ai5cV4z71WhQ@%-VJF*kqv!= zpbpV{Z_Vp>#}7sXj>k@7|oG9kvZ_zRW^lC63^@Sews5 z&6f%bYQ`o!Dzf691fB_R={AXiCb*^$1tUx5LiXfog6M-UlY40R2>#4fW;$a`QPS!s z_OUYbsyGPU#={2}030z6)TFba%=@K|V%#|Cc3WO%p$dX6mXuRKarU^|F{wfv{6cDIi_MHkx(&=i9;01wM zRpkzpC5nWek7!p<-R5W4HJrmskDven*jEC8whkI{F9jNNY37#(TC3BB)X#gydBy+{ zq}1ILkeQ)$<@Y!Id(C?zhz?UTQ1kw#6J5x#po|AD7@OynKy;K5xl)7-d`MEQP6w=8KNk1KStOP*T@? zS5VE|wkH0Gj4moO91HZT>?#X@k`Ma-pk2Ftz73#Jq~>;R9zmWWn#r1~NU+)w!<+n( zl~LNMAWv5hZ6x z4x^Gg-adD#uwUU0{x-S-lT!dkq{+e7{GiEWd3pczHl^D0Em8J%HkdvE9$rw+pZw=Z z;-!qDWN2R{#lX7-2Q5m;InnIhsU~H73YqA+rvB?0SnW~+4xXf^r@#Mrg$0~q7#CHv z!*q(FbOYYH3wtk67$~%GEdZPb@So!}o`N@J{<_jDWw%ZK9~k!ZYBmuW^nvyi{8jhZ zD%}WF*X(my@Vm7p5yvu53@$zD{u_Nn*O&8T6?3j&7dI6K=c6V&+ugm=W|#GK8bZQ~ z@wM)$$&#C^8l_W~=hR$Qu5_JAm6;w>>8R&w=m%n=3=e$|1;wWWYGnhi6FvLngKO82 z;Ll&-*`TXic^-L(Gs5F8s{_edz2NaiMaDh=86Lo_*_5tvxpNZ+1Tyf+AcguK2!6-? zj0sz#UD{gw;*ayXeP93+er_H}P`u59(lk`H{C%8Ual0N>jyGElu1G%kqLi0lqueib z6@Gq!q&hzSbM3gDhiS5RG}fXd1{B2eGhP3Gvy_*{xjmd!+duXskprmVrP1VNw_kfE z{IG~+^8Q;+AE*`_uXcr^`ZYE(M>YPHN{l|M240a{JE|o+0;gtvwU8Fu6GRe8LvdrQ z*i`8L685YWr#C*Xt?j?I@ENVc_fS|+iM|&E!TE1hkpS1%({yxXx3nxJFV6(vYyGt# zI1k9vCaqToxUYFaXzT0|$Lq1gz}doTe4ZPKaEO1vzV<@)|3`XQ2!<d!e1cm0`xPa>+gfTs2(X42(wL=%vI3*&iC z?*zbN;oBu0cgu@;s%A`D_yU;7u>uX}ZxwOOta#d*p#abHUt1IGRhZ%qCLQ1pi-CQ}tJ4G))pJ zIegULSk+k#0g~4>+QWc@Sb+jMFH^DE*#fs)cx!jdqFon6$`{}=u~^p-4fMRW>fhI% z8JUXCm;d2DZ9YE9oI|rM3jSD2-pOt_G>> z0lwFYibdV3yfz7_B*Srr{hL3_s$*Vwy1nanC$0C~&F8DA?|EHru)$A!L4MudqT%Ph z-5E^vY;ZJI9{hdD5cCxm9%#9~z$@mI0W6k1w^%URK_CbCI4M6j-VP1z0s?{cNA_OO zq;uofHt-%~S_yss9(UZ6eN1vmjOPMotAH40!CRZXq4ULWj%Zt^14sUSA~P_11bk%_ z{rr+-7-d-3DG4sIV&Rd(Njr2Dnz`n#VZe*Rnvr4vh+LFWCk9vy6o5fQxM z^*Ejy%B2d?e)W{4DCnRel29JBPVu!{5>x6NYRQWrFYGUnv$GXxD^VcorfB(say(F= z#RKMlTU9og)dFT50>c4>^(m9b5@amWG8F;h9v?JLrPZ*KYI&1d2tbPf6xq`<Yms!$GNSr^LG8G^~a6y>b#rw1GWRZ%~-lpR0P`v{Q7-&PWo|J?Kw~#gUl8h*&Xws1PK{{^-&;>Gun75VE;wvd zlrf&8Ld<qw_Z(A~mjWOvz{}eE z&9yfI`ak}aY%L4#qO?`Tl=W5N|`%(pS4%rHtMYf5=Sp)n=#A@@r1g=tE-3HHDSSk zs5Qk2f%^w^E32=>!XC-KYaV`Z_~Exa&v({Ye4WV)Mt{bi;QZp=A@5i12>ur(MOA>e z6kT4YfH>Y%r$7Y$VM1JS#?x^&EX}%qFvj=%$hsG4wx4} z)?*w8RC8BBE`aX`7exZ%w7-$GJhQ)NZ*=hak;zZJzPmTC&0~WL&Drt$;hX>ZUkLH3 z?I%2e<2^N4#PcC)ti=NtkjoQW|Lcj#oFeXeQoG*JWzx@LQa!xPaVChC*ipglyI+Pm zK#LkH_9jv@G*asG!B{wHBs>y)hl1i1$NNmG#L;$!1PXvdeF=HSH}86k8FvYrO$<|V zmluVuBje{JJGGijrsOTu$mHHBrPfg)q4gJa2M{Z2f^-5k=4F+woC9D#7B{9Oyeu|W zb@mH(OuEc~y1|et4O+* z$b)titq)0AGCTBG?nW1VUJ~ZVWUh(F6MW+@pHUn}jeMOZH!Flb$i8z`P(Amk!*&{j z2H1tu?fmoACqL1HxvpTS7C0xczhGe0o1I!$BoTFh9}0#V-7GRn^%k_zJS^V6B0+q? z$xa1$gk1Z(e@)of+b+2cUfJ7)i@fm^+h{RF!gDG6_(LqP_viCb&`?t~(e%=dYfFM zm@ZhX*UW`t5?prAS~Y%dP=kA;rDm*sUVXwiZi}09i1EWA-O1xV4jf!!+D`qy2MCRm zUY~KMmw%Qg>|0GP~%#TnxQGJ!ktccobJp2H9j3 z@nYkCYaxuYN?C*9UOKoM7rHUU-{d+(_-9Fagb%0J!}?%GaBqTPx0JE;Qz;4lNRBc_ zs!&9(h)V8b{o8@*^z4c@myX+;4Gni5`h<_%@6{e*@PF0qmt1r|-}o^}6qwQssc&6u z6ESvUjuGgj^k2G#UF_11SVV=0!SM5A%YP9tF8#XE384q)3D={2G?s_Qm5%E*gdHmm zTjzUfRt9R}c(pEau0LjTMoF=FR$e!u?M4r^uhB%_JR1J#hbpUkl*Z(-2$jwdnF)ie z`G>v>0knRK#`sdTvf1B>R6pC?b428+Bnr61Ivo1$$x?5)1_Jw7qjLb>^_^7CW?^;=hhJ^U)7l9 zd#nkCXGB_-v!R3B(=%ypdOTa1y{h6d4&)A+_1z2;odqtUJ@WW3T;Hze;Z}wq5Mu9B zQGSf3-j3ewB~nX&Okt0Ar-eV1MwUxOJFc8chG^Vs#;d~<1VdEFbkzZMLr z-5rQTefVol%O}jaCiCyNvvfY9MIb))11y0{?>zh$g@xsic^OG##^|9!80s#qO!4{6gHT(0VzWi!@4=lyEe@~i?2C?vzx4k1^SV2`^|qsz zJauFUER;8`Ar1buzgloSHILhIn|>K`3Jc4Gd*Y10VicXLXgyKxj`wE1)e-%sCL=6o zz8>2bBsZ8BU!y{&k)Sq{5fQ(bM;-^3&RHA9av`^2XL`JfB>6^`WFH41J_BucY-TGt ziw0^ubp*UwNrMGSLgXVY)Fw=@XR`~8XF8&v&u4zldPi*O&m0bN-7fZoH(bHFa=r0^ zpBm1*y&i5~^M%=4LLh3tP>ag(W!!{hf8+mc-P#nGkalf2%ziT+yL?PXJngPX{fa1B z`g-rX=KxYDY-SGe<*i188YiKiniTi`{A<3T99S7-n3sh- zCF>sT$UKP9RQ0X%ZTdBDpNLc=fx%x4vlAEE~J?=2hUOdq81`R9fi-E1ctn%B-C ztE^0vLn~VvjT1c=iscT0;33OOh-xI)bU0^p^C)H>EU5eXJAVbwS-wf2L_w$w)%O&& zS!ONdL0MB*KlZ_j=NmSbr*k-f-N6nOyGnWGo2-K))XNujP@o<6d>5P4M2Q1f0unO#7jzuhr+ z^H;!KTAXlO-{PV`vD%SC%(3RWB>7D-=6P^Z!F*QayCt&b0P3bH7>FhO`K{=(9_f(N zyWlov(g@le_LNq-q%ILyOL#3qQuW6hl5Llm(NWIEjL2#m`7O-MRwr;iudW8X(Kk1b zLUP6YzoLSc*4Mg!DgHX7g6F~$M|CFIoE>dhzs>fB!h)7S}8yKL!M}NqfG|shS z)nL%U+B@pWa+=A5c>7;Jg9SUa!9r(d)R#!ThZ>my7K1VjVtiZ9e<`h z1y+7{clL1()debF)UDiS8CUn=0vp1nquTf}*S$U}YeebvESU{{l7tUwCes0hr`rw@ zPWoOs;pXj0@?6YlF&E3Wxu+MoIa@!5wE+p4N$_mJizHK_tB~xOR;?>!T5383PVNgl zStjXnlKF3}S9vM~1&vn(kmtvMZc&l>BFX~I4PAAy2?MW&Hobs`ByG8wZ+F=ym9eP=KE2^G8t-j(~57B$*h<3Ba zY@aa-?Ip`n^FCgR6Mb?Z%%pHnlf=!AtlJf z!_>Jo@p>bPQ`)smh=vQ165^Rd0;`;`eve1ro20;LTVXa|j}0_E7;`5HOk-ZMbr zW1W)Y0&K>KO0UOQ;aJpHkr?dz7PwD!JAc^~Gt<-2v}+VLTSyXQBIYIF{ocsifvIW> ze|q!#JIOSpOrQTb%CfJN*?m-Jy`?C^oDgK z3@i)rnjTh0xne@Fw*nQP(6Qr*o~7G23Pai0%7s0~M(=g~&-VR}Bs!X0wn$%bq%#9v zJfA67;=-zCL>BG!<*m4pYS-{TAL};J0{c`&&PxMM!@np`n7r3iUwBaO`L05HkLlUN z_#HcESG7i8L79o2uT`W>1I%HL`M}sww%@|UL=MKKnLR%_=;;Ojn6NBcsN}ND$~42T zuF%tJSYkIXyzq6gO6%>#qM@C|LHRYb`>NT(%8UchJ18k#vxKhrx<6f^)pYoRQESZX z>;lrv+D3AD)roE;Fb`T3&!ngI)87+j{uXR6_^CiCi>VqUqe(p~VOr1(tWNug+}wSM zikL#DKVq{Wa7Idg{T9C-TU##|Kan!Zm@=|GMi8b*heOsRTW^s;6Coky=0W}6p~Cbs zAwr%W+cyogB8y)}vK#^*NHT4faiY0q_F(rkf;7r|ekg>U{qznCw{8(iH)As_GUCC? zXxh~MB3}$uSC0mSpZ@hykQ+G1E?w&$Nsp^>@&6F~Gl7pini{RYZ3X_1TpHa|m$nM0 z5pB=`Y*vmqVx1x4#)Y%xRx6Vr&-?50>YfdlVm>miARPG6t-PHx{GMEwaDmSZKa2iD z35OFn8}K83?v(c0_l*74oAcjJGFov`k{s8X&$Ylwr)!QpKJBQLJVDrFvHgIpcYsRc zu}F`!vhvrUAR~0rz1`^zAz*J7F}(%)!5gGI z?sMOYrME6I7E-zbWeQMuhUexeN^Jg+$<@c!s$Lo{h;)74c}%M1B0qpZRL-tQP=uaU zy}C|;!GxVUL7w;t>!lYb@{}Lg4eJfBb5Yn{hOw|lvU!@||8!$4FsR<`8ghKRRkHm` zKv}IO^T(tG-+SIZFrhMJJhk+j)_w&PzxvfgX)gAHid|<=UYrW6NIla~j^H~mOMA4- zFZ=NKpTRZ3cT_88A!5dO?Eee94@B^+`@*_G<>%(lGEIwYrp&@Zo~fxc<70D-49_t; zlcCT^dRmRmah!EKXE(t@_4EHDl3z>g^XL?V2kN#t5p7U-?izp%!=Xcei9{gq7`6U0 zhkXBauZH|C$Ug?YgX$h!6PhyE@pub|4)^i!BLh7C_#qyB{19DTt($g?uIrIb7r1tH zhO>jC41PAkrHhkP%5{V$*2ODns^KUO%hjjI*Wq;f)shkv{gpS@<>Qw9KFVBkLh;7Lh~ z28Lq={F?sHfj^Og@1e$u*DNR~rNnVOIy)0Qa%_NSzI&7h9@s};e>)u=iA^Q#n7W?k zqmQoe;pxkakIj=#7b)Z`OJTu!-snv^E@d2+jfBsq%B9I>y8 zE1ttpBaHC*bc6aZQH#_;$LdFF}#!|B1l+Q@ylE8M#Vz_U3V zXko&x2_4}>Ns|A*6nr0e0L41I=EtR`34DGZp`gE^6aNsud;DSg`r8SI1DnF-=ejDP zm(P{?7eb)>lq%1%H=qW! z48z8CJY>_wUotey2505>o?KQ7YW{o^AW@^~7OIu^ZGrX*Fp6}Go@P5%pe+4XjFHh7 zb`8K*;lP3K^JFN&IkSY0KuG*j(1+kLB>!5%?<440>-(>~DP!?4Jw0vg-Pg&nV*@<- z)O|ek@W3r%l5Doj%uI%{(K$Z*bcAz*qfCs?<1|8-jqd(yCK8uDg&Tjq5(1Qb z*NXg!1U%PerOmoQr|+g8+^8VD{`rR6pa2XB#0iN!3tZFi%@|&x78FrD&BFHA@i`$z zM}M+uJGEBq&@$jxqfi*)a^?)3NhLxe1fCVSw(cT^>*`{3aNF;>kNoqB-Ay6Wh z{%5`SVdd6TL((+uOE)0|D<1TX<|PeXU*5j>f6MPHZuT%X7Ik0>7y{k~-q3{hde9gA z%<~99CL3u8Z+ixcB-17#YiO%F>Xg+nbEiTmYg{Vr8DS@~o6dOwqs+IVzvUts8mT5ZV zvSmg_W;u6mjLC@xa{0XN#KjL^BLk2roMYd>lla3LbCWe9 zF~5|ON{jBBcVS)%kws;7BS7m~KWAm;*)%Qk`3mV&fyKol3-dWod)030*A2<-Kmdnoo ze*%0DF;wa9JiHT{ozN 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 literal 0 HcmV?d00001 From ff961276790a64ed88b114b1ddf82bec97fb46f4 Mon Sep 17 00:00:00 2001 From: David Li Date: Sat, 24 Oct 2020 07:38:37 -0700 Subject: [PATCH 47/71] feat(node): adding discord icon (#313) --- diagrams/saas/chat.py | 5 +++++ docs/nodes/saas.md | 1 + resources/saas/chat/discord.png | Bin 0 -> 1559 bytes 3 files changed, 6 insertions(+) create mode 100644 resources/saas/chat/discord.png diff --git a/diagrams/saas/chat.py b/diagrams/saas/chat.py index 6ee66155..2eb52540 100644 --- a/diagrams/saas/chat.py +++ b/diagrams/saas/chat.py @@ -8,6 +8,11 @@ class _Chat(_Saas): _icon_dir = "resources/saas/chat" + +class Discord(_Chat): + _icon = "discord.png" + + class Mattermost(_Chat): _icon = "mattermost.png" diff --git a/docs/nodes/saas.md b/docs/nodes/saas.md index 0ffff416..5cb0832b 100644 --- a/docs/nodes/saas.md +++ b/docs/nodes/saas.md @@ -22,6 +22,7 @@ Node classes list of saas provider. ## saas.chat +- **diagrams.saas.chat.Discord** - **diagrams.saas.chat.Mattermost** - **diagrams.saas.chat.RocketChat** - **diagrams.saas.chat.Slack** diff --git a/resources/saas/chat/discord.png b/resources/saas/chat/discord.png new file mode 100644 index 0000000000000000000000000000000000000000..db0e70d5d42d5a4e9df0db6491f647b3f33bea76 GIT binary patch literal 1559 zcmb7Edo&XY9G)H&d0dp;v2w8MeVH|3lGiqpVP>mYPyKh#`F_9ecYf!5|9t0sUz$G#t*#1E1pol* z-d>(q1+OYbx^1&!FO>{S6a@1>ghMKrnl}Ew5KRfpQ^>TUv6w)BYl7CprQ*R*+bP4d z{&iWJtIY@iU~7`MryGu;wD|n@yeeDG-!&?T(Y5fuTrQ(iMeiG5Xp|7A#B%9-@XptnMd3^YRW!BRa-Md=M|NLpK{9eS{qY# z#+lk91@5qxyHYr42->07qd8BIROvpgNvj)4AUg^$YEEz|%VJ*CO|U5SgN2xu)j-5u|JfpgU@0am_iI zdX8qG;>=E*)BI$sROL*@AH`G2&ih_@2nik7S{_|F%j~gU;kxx;yspl4m86!d(c#p4 zG0^d34V2LXY?TkM+rG4%tu3Q}>NUWpHI5`OJHiNIwzOtX8Z@3g2Q7s+b{^pBUz0;b z3cq!qslOK{pZgLAR>o@fV1Fu{ZCk0UFc ze(I|Br?qji^DFL-@(lxhNBLG*@SP}3$$048byr&3yO@|a-?i#VDpVH8yME=Ib49Y9 zrV~)7!rPV9+eI)9^CwtSgJCltUxzZc8%&`a()-QjB%(=$iUDp{S*C-P4VrT9uv_N% z%RASB{H~Pbup0Q~a3QfkIX1PEcM=C1oETp64U3x%jSaZM^n|F&`yLv9KjrK+VT3H2 z=-TF^Zh5-8!PNW>mvV+x)V#3GJ9V6L6ULEZ$C^y7>_qgDhd>Y=#gPgOJ@!+G+v9rs z^p^zz$!zJ}r?%NE!dzjh|9S?3FhOl%9W)YYES+}b)(88|lx*QY=h3ahlRoxqi%x0M zgzME?_+t$F`%Q-aJzoBiU}YP){7d4&BMB|HhDRH2uLPsny0_^1n(U*!nEj=A#}KeR zM~|JHKB*y|{1l!}#DRXe{@j5mr3#!VAj*Dh$ECNInQO89Hs!m5#~62Lgdvq5IeO%Xkx5BIYTG(SrV_cTr4=Y(nr#cn`J$2PFYMk5ZoWN zdV%Z$jL5`Rb2?EjNBetIblMxjB2IxBCBJ-D&y5lnO1TRRmi}I(<;@3>vGX4t;DxTA zW8^0Lo-GrBQf@YjXBlxQGyYZHkQUh(mfSrkw$sfw^C$m)87EeE*L3Kr=4MZ=ee%V)+ep>WE;)lU~aV+DuNAs{_e5mfpn5 zC~ipg1GEo?cbMt{LY)t*cg^9~_E?fNoWHp`$mHi;7dYDbssI20 literal 0 HcmV?d00001 From 32bf0cc664bcd8baa46fc017b8c26ca49c9752c1 Mon Sep 17 00:00:00 2001 From: Nicolas Lamirault Date: Sat, 24 Oct 2020 17:34:14 +0200 Subject: [PATCH 48/71] feat(node): Cortex monitoring (#321) Signed-off-by: Nicolas Lamirault --- diagrams/onprem/monitoring.py | 4 ++++ docs/nodes/onprem.md | 1 + resources/onprem/monitoring/cortex.png | Bin 0 -> 17704 bytes 3 files changed, 5 insertions(+) create mode 100644 resources/onprem/monitoring/cortex.png diff --git a/diagrams/onprem/monitoring.py b/diagrams/onprem/monitoring.py index 4d90d85d..68b2fb41 100644 --- a/diagrams/onprem/monitoring.py +++ b/diagrams/onprem/monitoring.py @@ -8,6 +8,10 @@ class _Monitoring(_OnPrem): _icon_dir = "resources/onprem/monitoring" +class Cortex(_Monitoring): + _icon = "cortex.png" + + class Datadog(_Monitoring): _icon = "datadog.png" diff --git a/docs/nodes/onprem.md b/docs/nodes/onprem.md index cc631ce8..f93f70be 100644 --- a/docs/nodes/onprem.md +++ b/docs/nodes/onprem.md @@ -142,6 +142,7 @@ Node classes list of onprem provider. ## onprem.monitoring +- **diagrams.onprem.monitoring.Cortex** - **diagrams.onprem.monitoring.Datadog** - **diagrams.onprem.monitoring.Grafana** - **diagrams.onprem.monitoring.PrometheusOperator** diff --git a/resources/onprem/monitoring/cortex.png b/resources/onprem/monitoring/cortex.png new file mode 100644 index 0000000000000000000000000000000000000000..c241cef3cab1a488c9057600422fb56f686de975 GIT binary patch literal 17704 zcmW(+1yoeu^WR-|VJWGlyOHkh4oPVcmXuDVW9eE-5cwiXs&ptRwe*4_A)QMo3c>V%4{Us0p#lLUtgR0!` z8}L&#Lp1=PIh**#337kW=Avt62mnOz004+Y0O0Dr3-Jp8crFS6?7;y5`9c7IHlX;k zsp9zyJJsZ#KMdR|!ib7qsJH+cJBFA5@uu_f5XNX5#`iyt{Cf8(fJf2JC?e!BM3b z66kAsA0|c&?(!GpGr|wMVK{G0J4LnoB{;r{YzLeprU^S$Ly5vAo9IPZ3Nbi^Zwk^3 zbc7@X%W=|IW2JM~V$%mWACNSN5%FA=po!8N*!=_7O(=MFdnet5Z=IdW1(SQ|N+t)K zrQ-(207Qujq1||e_&)o%Sjwi(i;FUkq(++06l%}dKw(s2q=i^qH;EvqfZaKOgEw)R zlNZ5Xk%-C$^Wd%Ebw#MGfb7btdy3TG!jw?9mCS;GTT(?*#e`HR`WbPe94hs*Tq;#+ z6U|>bpcMcXd=3h^h}j@Hm}4YlMmcLjgAt>MT?99J!~{`H&YxWj;7=qkV}<%8fp6L1 ztZ;eJf}fGJj8oE1!T~BrY)7D`@#jHC_%GEy8GcUZ(EOFcCUyUwbQAA#ADRAfZDj7I zpORVMLYPWzPwYa33S)PPaOwBU8^DzkL?dT9pyNUU;E|IOGdX=x4e-e-}rJIM_M*iv6`=fk%&DnIxjNCHgBxx$^sAC=7sp34r@!z?guY8t=?-n;eA$H;f}{8y$2@ zM0rm7PTAfUn5xQ9kJjqsZo>N*`DYUsYfx!1G|Z1N#b|3n8)qY!_L${>nyP5m4I)`0 zS$g`v$)nwWY$fA%0b~H*56nl*mKV)j{=GW-P<)O!zHXCr|1w-Aql zF$Q&Ly@z)bt$6V_^_A)>*QqpQk`9=*Q zyCM$YB?@~8O`G6#;mKhl#V|C8;$y!fF=a&axtZX?;f>G zvQlq~-}at{V0c>EMW9||yl`1{G#rqgrN~5Yd%;uG^NyC@EEdn+pn*bm`V4DArM!ehftqnXhuU%APPJh5@j1g#EL$bb<7DD}mXcf^d6zy>y`n?5= zDTJ@!m4KBK>t^0HksRzds+ZMy|Dh_14tfU}?ebEKv&3rPFVW{eP~Owt98uA+`-Cc} zv)QotPJwU{&(s*{k;t8{hS9LAoMNZPDRo^v=hMtd6FneQInh6#?P&466zc?1pp41c zPs8Cw$7@p5Kx--wQ8UiI#GC1NBhJ7h0*pTFKbn9wsqLL=ZYEbzqHwZXsvl2C9tNhl zp|A)?xbI5Q?4LR@VR@_>Ub%|5k6-7dj7H~9^! z1c5F0eZtCsQ<4$9=QFg9imkvoizS#66p_$!?8h|hEl@CFqk}OCsn8I?Q_nbB`4B zOQut_i}6Tx0P`6e)R!~?Ov6^Ve;&hq@rniAWf->j=r|EP?7NO=j71A~2NUOX)$~t| zL2|@dIRX3Kk&LO-ThThL>l;?~FEOkP2U;=`OkAQcdPE=cMc2R-p?yM2T<`3*b`c|~ z8epFIEg*{YQg&GA#u%`nmc|*KB*pOi$4}^h8hE9&elz7Ei^C09(c{oU0!F8XSt+2b z!>_j}G7~RPx_LIv$?Tlz4`i7~>cRQRQvUem2dK^}4?Vg9ybYZ|Jko99Iy+F4gR_9y zKatXoNPl6oT|c!EmeN~CXV{R?_1rI)ExPP#)SZUkmgqz?aR)xZUQPP;YISVPl&hJ|a~{=f;A zrrDRxcO1n3{3@0>S!;!8EF~FKo?W4vyPtz1p7=)+7z_vNKVGwa7ICuq6@zq83Z}hm zc8Ln1VOsvZ3HoYJz2}w%;-{V5C^JFD5O`AxC(!|x=$KYGov~Shb~(FLS#9ROU(S-= zlY1(yzfTgp=>v+%IKPgjcG~+roG&I_&xe2em`{#JUo21b8K*C10sZ9j>YYX&(v4VO z?v`cKF5U>H5v2T_PRW`U4DZR$GwJxblk@!*=h*>ek@1fW$^*kmwupZp`Hm{M`Z9_9 z&&%{io`+&mbn}ABXt|Nm^cr?GDa{Yt6AXr(x>GH8R_-2dJ_&IEf77Ojjt;*%JK`8; zVl=^Zf61Y!Rr=BBr8XCt{l0I&h!&OKML`oEY$=$D_za6A3Xb68uB)dW%$}$et zoF&`rgnp9L{%;CEvdN0D#EEV?rroT*!VK5TT-9I)=_)o+Pg6HCJ6^~FmpF^?=er{b zTeG{Ac1}Y%>?Y1{QoH~cHrpKTJNs4qzL$KzcNfB*UlnOx3Nbx8PxR#?Qf9C| zOxh!yzp+E;XW^uFPNNYSxd-@Ye8Sm$KpjvPqE*ysA1&~kHm1}wDHiaO@Kg^EJ0hX$ z?&NGmJg*oL&<|E=E-js212EKV7SsBg&cj!wZJ`|p?umISNuMX#S9yNnmsKBpksGSw1cbP{Vljl%2|k3L*+ zj#%#-S6#R~?K`)=E!pQ#qGt*tDkj8~Rs2Bf-rGhz-sIv4QZt;4s_+diG^!Zr`&d?4}Qr$j$PLTHHIJyPQZS@GAN26R4Km8^b%WBlcjks2J2k;h>Y_v zlTi|+?0`Vp>w}BsnJuc`(rtdMuHXk_bm4Mj?E?GsLj|Oc!@R&7^|v-U)qYf8w=834>fBW7%kL0TIm%FWq5EKOD;g;a@lXBrh6? z|lS@u+sj4iQ?R%SRhSXpf~U zWTHVf|CiD7Ua*{CIAF&C@yj}S3y((rwheDtnk;VI6Ie}!2&~wiCc^R;g{g!W`cro6 zg-xf~x+rVwoilAV{k(QTEKX4gPj4KLp zCnPqNdCw#U@BV&PMfWWu>w5^Q3i+muCWiq?CnF8AIUkiX>LM6C`L7X{HkCwFE-ZMV z{%}hiV}suCqz_{m2KYR?Ie^U;2tBV<2ha$-N$0;=JbE1>oDx-@pVnEW;~ZM=50)bB zX_=QXZEV`XkfB(aKadji##?!_8w#-<2%#kNzi#u}2GR%kk8doPH}QNCiQD&zGRQEU z8aEro{YZtntV)-1$PzPsILO|@L!9cC`hc3EZc7FZx}reU^%M3JGSt?AKO8j#0_vMs z1|y#AgI6q z<$4ifxTtZ1Cr8MYaO_}Js;}1Ybv#c`%tcg)6eEi1$=WuEW976EqrHV~@~QrFYMHQo z^(%h*2wH@A>io<_+rl@7l<7AsTCdb+HECr;g5groLG4Y@sGJzk+OKc2wCK6Cu+H(m z96ulfysincFw&WJ^Q0lON#~F;2H!rg&(K9Zx>;hNkI25bmw=pgMBzZ4y7|eNg$_K& zS58+0FO1B~%59t5wfY-rEOnw(!)p`GrRJ(Xr`zkzm0`?;XU%+VgDu-PgceQVOS01R zXTEhFmtIs(!rE_0@D9-D5|rbN+nQ@}nIcS?d&R!nvIp0w5}f158PZmY|E=O7qstE} z8#WTJzBj5-KV9yQwNn>v1%~0ZcJ+cS0YfTw0#kUWg+3=Yb~!gj5J%I4Z|OXyS!R#8o6L{g|+-Rb7=Wt3mF@c zk^bNOC9015RQEW-WDJ{;w{D*GEGPNu$se4}!i60i>&djQ+R74Z^!6V;TnhobDl4xYhhwh_=8jaHRPR1>vKq6!G9Ip`C^! zu}i7CzFli?(6TGQ<54M^d%hAR9dYUguGyg#uedt@V>%j4mit4ROk7<`g43_m+lAZ_2c)8EPdw$w8Q@4;G`?yfLqy5O0XFJ9#0 zplCfdo?Gb6O5lyjtem{`3lBgSFhwD&525f8bo7L9=Z78Cj8QL2=P}cl*>bZW$r+>O|TH7FmqUZAokB@aW0_9Hg zKBZaDu#y-2X06Qu*p9aY-rJ4vgyr4$yJ)B&WfpUmo-_Z5eHq%slAiCa+*kLty)TYa&f5JqE&eKzkiF1h2ZwLY_CEM z6O5jl5EVw>Rgq)N7>r2qQsR*Nct0%CY*v_Xx?=!eD5jlm&M%0PFVRB&k9_2J6EmkK_ibYT}AIeH%7Z>ju#>u~tD zra38`b#+)7tG49wZ?A-t5*a>|&+cdW1L;6~ZuLk15lNIlinR94wJT#dC z<~#4bZ%Yhs{e=&8PZ-T}C1vu)anhit%t$YoB3ZZ-1?$M-bB@jy&ft`?u(%Z5-$8OM zyhX;Bv2DkpFhG9oU1oOw{qjye-#uo4XQa=)U)0>= znQWy9f`)K4PMpwi{~QdHj>31Si!=ho1x5mgA&Z4+?E$omBD_HB`BmiscLg5Lm*@>YUc6{JHIK(8!wit`^k{5~{;mg;>PX=oWU2k7AWU@s{Xj72 zAjI`$YjdhS&Yy-!KlWzy5Jh4x-t8QQ+4^hf6isu0o1k<#@Nn`PfjR!rrR5fz6SARSSmLf8os zp~Z+6A&;{A)&oW!Ea*2eH_8tS=_bz|f2}*QfjGZQ=-Fk;Xh|JgpA3uNlhQSEFYCEj zLRnOa9(w-_v(&TvY-)Q;P`|xB)wUbHkOBh3Nlsl?5Boa7R5C%5JP!u>rkpm{bm`sT2DByXomm;~s}>v3ae z9N^!nv}|Qboki)g%O3Y&kg|oNB)yydY3aOMb}9Kesr3Mse1^ppZjVs+>&yN_l)~{E zwT3qFaDJ)@h($q%s(0E@9oTT)PtDB=>`whoc8E3R*nL%+DW=TKP)a0QB$GwSKQSEs z$BJCjdYSV%ssYNk4^gq(4M}(Wl)c_LjMEK8kDp0BxPE<%d!zd%hQ&?%FdO~DbXjYNDNCM0j7}fvOariqTZlh4hgGSD2$#O-#wrHAL^lx3!$fP_{;tj)~eg6{^!5 zLrri1#j<7BTVBIwo6=w-KwDsRdj?Fs# z=A4S=tJecWp(t^H-*4Fq`q89dNty?oy0@XzCI4N}UTxf|&H^J;PYp&>#CYv;6tHHB zuL@EuQ2(mre)iCvSL;K2Gs!bCR(!Er5%K3A6DSD(9EA0n9}W*Hu7(2}N|it0i)P;T zAhR7>O2((*qCA@>t~Y;oha%$hF4^M+R@AC)?X@f=_KQkXrBjjoy2&+QHuOVdxyKydZp4!Jy zN&f*=JZkbo(+pTfYw=)?0qWB>W_iZ&Bf)FhTbwd-y#yhfu6=H=$5E+ zfkRABKizJ%Zeg^bW@HRwa8AVj!r=z15Z$B&s;8AReXYcUDH3XP=XgrSh5M#IDJBs1 zn+LmLU_wsK7je{;$|P^b()Ws-qLBC|;Pfr4MBf)4#5CW{^oT%M%vb#~G%0ECX#9S*B)jpOEslau7o9zO&GvEm4t4i7=x5_`G_eWd1wDlerj}>yvG0W93!G1mT@0 z)=2Z;ovBd;iwhY+WHf{~EY-MsyTF7PuUA60NqagG5eVh*K3Sb(BBo*Rkuv*nn> zdkXvc9R7h}-pUh!tisPK#*XQTtUK}i8(&hXx&G0cy1bCha>yRhj3FXSD&g;@JrPsM zeZkO0b|iN-w_u1a40#nU@(x3O6X@aBGkKjQlne$|aUGZbaRrko^89+rV z8TGhZC0hq#WCXITluQ?5yrqh-A35OrQU3Wj&`u!^1$1{+Cla?})MYX{$9QQ@og96S z0vIEhBidn|ADZ^#NM5t*NM{P0DEk|Ms!KMOL;gr(G#hpqg)-8I6(;$zspPy z#}!c1m*x*YAY7z$F2@hzl~^5z*ZjYYya8tp=uo_A$=Fl^XXgIRz4zcXYpvtYAyD&gRD1GwQ(>b6YfIgAv=D>y@13a+L{w{)+$ZSJ^Fdl}# z(kvh1jX2jnUUgLCF8QuWOk~!H|1xvWrMnnR6u`A!`8R-os40->b>JVH_~-1Qqkp|e znO(MTrgfn=b*(J3s**3_rkmd>GD5_ejjkv%ID7W*a_N*v>cx71o;}KK8guD016w)Q zEWRwFgm5;TFcFo2Nr0NOHD0hJ<+o7oE?ZZmR^%vxwR1_YH1*hDs3_kQ*|QJzB8urj z1qFcn1&2~hb_VAjGwqw6yr|ZDqo3%`LeV@F=)*T3 z?@g)7csO_IJKl6;OLpP_gR~lU8q-qXDV8Uk~klM>S-z8rnp4i`gO09vp6ph zw|J2kYxm)*iHC6_Db{TtLNKui5sGF7KcYp-&U2&ZidGL5Q`=C=ZEDF!L!u*lLPU?t zR+_q_cz`7RW@L(jyiOD*-fZU@{A&ez4Hi7g>4NnM%olS=54GAp&zmlw@%M~Ek&T6@ z84bBJ&{Il5)hqC!Y9+`T|Az>$gDk+)p26W*YGQ8 zoHRZwUU%d{SDPN-po3J-|8Wd;>DW48Zk*}f1@rlEO;D5zMm}9HDjmNis(Hppz&I_9 z+7Q1y1La|?;~AD)HLY>=pFOW^2LsB4 zX-S<+62Ktx6d-k zh5;PdBotJinfkA@rCFfHT(WYOj&8dfNKb{+3W1KL&1w?h!WntAU-#Wl_+^>;a>cLO zV~jQ^Sc`s(TCgW@Oj!@a<^=zOA%?s2D&x zZZXXV!xe9eG!0L$W=UmXp{$oLuGJYW;iFH{1;9gDk_AI5XaD%t zQh=L)cFC|kM#9MRVeVLwo zOufZgHB>UdOZG|CGE$WE+fy^^Gsy=JD*HazS&EX-LkM0)mdR@p+m=Py8HQ&CGWD@YfT)_dt+t}LmsZG|78kwo;a)oYe&{d!ThANi;@ia9N+>6yj4sGO66gc^ zMcAneYXR}*Ip`Ef20|U)+erA}A)gj&2RQSH-2#Ch!!mcyKr*~lx09oflQ?VczC*Re z-6086tJ$B>ifRE}IHN63GwII(jKCE_c0_*%A?kT9Umc!ynOn#2w0 zs=f}qS^b3;WeFi8`jq=I(I!#Sz=O+L?i?#~+k#(x=gDT-qgqRz_B$fx?Jo~4;zx3| zuH0gAVWj4kl#*b-GzBRY{sAak)6@!sYQ{E4Ac;7S`-`B?s{Cfo;YhR;!})z2P?<#y zA2lRu*;si7;{C2d-<9?%M46`IYY6^yd{>|zoiwG-su&SxtrWZcu>z1@gj#ai;3HdU zT$tro5*MbTs>XuIGW}9eTiOLxOWOwGDaNqceZZIRV1C1;mtc5|_B-2zHI6i_Y?uQ3 z)WD0%f`K50d%Y?|GMHF2k)KXRfLdxU>nY(k(dAj4g*Qt64RW_qQbwq;to>dzYkvxA-!Z8BH~8Nb!VE6r7Ttr zhyKcDahFu8o9*Gp2Z;D>r5Pwy-1v>~h8$Z}#ZB!w(kqy$J3j zSbs!ZMQQ`#NbAo9jn`KWTVwqIZ>I6wGRxKAr&PGy*ANC(8MS#&?*D4*^2BS0-03(? z1*5f~D3k+O==WrqJLMa$(CAh+_9q0tmqbaZL!|TtmBpyf@!X?DCbnLE z1wjMb@N0P6rOk2#(jMyAB%r>Aduu|Uirgr9eY4G%+H~?y^r?JaRXUDQe>C*7(QAkh zJvk75UVf}7VA=;{t$@k_9>kp%XWh657OFqYucSU1 znKMLkx?15x@chZmw?o++^qL6>Ll(y<4@X`LP)L1cCbR^me~J!pg84D3qGbIkRjv7c zTE8GTTUBj(_RKPXSZoHK8SF6d%T%XNOjPKPfz$Iy&>&)pRDsF-UvptQG>#)32 zafa_P4Jzc5*?p|Im}|fBg{u*>Uyxt#p+KLZgU>6-!UolC$i%xK)2DjJ@&Vxkljo&` zuZqN`_`Rcv`Y+GDkJt6^8g7+YxU9+lVhT(8is1Y~Gy#lR__bQ1lbl&fg4?7 zB_pPELknpZzDryP;Z?COF1qU%^#mQMM9*l2@%rwKU*%C|oN|;4ymK)ZF17fNuAvWq zgcBSr@POOl$<04LWe$Pd4+f_9*}4_!?SCPhRsR&V{)unzrMG0k2TaufNP#go*bk}0 zD4H{{uB{cDp<*hOFm<%SLKOe4u4vDhalT_c@24hy;@8gsp*-icVVIveX2e4uY?GH;g_EM_5YK->a6MlM42V?ruW@;{&T=4$#2C1UWfm#jw zt@e~#6xT6hhhmm(f>8FoXK_TgC)W&e77`t$5=1V`(6|YjX#|E|#ZY~j+wh8>W`q?0 z{n_bCb6^=J*SiE}9hOYb*iL>++`KC_d*w?a`HeoyJ~qbe3;xd4O8!ibJI%-^A&!oE zhHU-zc3T&VKMY|DvMGDJWr|5NSYHD1o==RR{HMJsB8 zRNi&J=X`f0%YbprEkF9;MAEWs`$j*umTsAI z&(ZISl0}o8IFG#ZFHakDuKAMRkemLiy_4UW&@HZcQn@UyTN}1?i!=o62XwLWJa$NP zzK&a0zkWx?DPvM3Txzjyi-fsFU~MtPksMjf=M44rj+jV){{5 zxg|`gh9G~?hN@-|#SdTN&pDV_$U85`w9T3f_8Yc|(}WSMf2o$YM!xq;RRN;vwqu(9 znn6U@>H;y$(w07s=YsPG4eCh6n*?pvqSHsCrNNxU!2js1SEkN-R2y6NR_kjxK~2&3 zgR5Smei{6?>alWvE-G+!0?p%5hhyM&5(Crmz)#ymJCLJ<@-|>^M$547Qec+cIryZ; zJ{5W;njat)cf_~g;Hv77O7o$QW92L5LMU|t_sw;=Jk)pO;wFBF)Yg~eLmxUlElKuI zq%f#3W!1eR)1_WBbvg@g)W9~`67_oe*57;f+E?I80CgqeMtJh?n-2eCa?`#Qu*`FS z8-3yte^}CWbpB$ZmGEp8mA@8)g7Mt->C}$Oq#DMg@hLa;-_>{T*{-`!%muW&Z za-Tja3HAi|SM(IFEj|4lx|u#ZL>773q~thaIo1a#`A`yWFh`=83g75RsjeITEDWz- zv?`Sg%euH`;}YD@WqW?TtNn(!;ji-$-BA4VwPQXNjP>>+zw3ss0_KZFcAyeFm>m6A z#_wu{FKlFpp)y^`+A|-Mv{Y-$ba1qbcWTtwg^JzrMj1Pk@r3?pH%a~bYc3*MBMcw5E!GH#TFzC%T+=oDCYp771m0H;(Q@@C zy5qsFi*Rvo$~4h0*Q|u4<$Pvx0v|CQ7Vh<+{STXVSy1D8E>z(Nb z_W9r=b;456OD4(&Hb!98JAl)WesK1Yf0%_QAabQ7JHuo=of;?J3l+?T6~i z4G<`*<2+Ni}nB~p50z9ITYO|+hFhlZ@)knTOOj=iJk-y%a}khi6I1CsszO9#ck z0vqdDPm9N_?$oVaKGH2&#Aur!+BE!nHb9X@tW{hTvJFaLirWcv$5YGiF?g4PM|k{C z+dYQgC^VB$|02bi(6PL4dOXE9gEhCiNTs8fWzdR!_vYW+R8yiWBz@>wu^&+^E!oyy zz9rG+>|^nr19T@p-@2S@xXTY??#MoC*2(F=kO{+H#br!3f;Y2A-yqLHTIB{AQnyh= z5Y@$ZNe?vRh&v}glRM?cS(Pfs{v`S2c^X@)0!H8>sw1kAIZw;G z5mvQREL|*{=_HEKdXwJRHpco}Z+5FYgMP{ZUxXv&ql(s*Wn=Y*IWl&YYi2&*i*VTP z%yx(0LlW(eO^kcwN{m`T%gkYsx#u_0E!=>?$)tM%_Dv*LeD*Ib zb?49#cJFJ-HC-_>(9cibYF*zkabw7Dzd*l@&GGTT1vzYj`x$`UU#@KuIPTsa$NXgP z8X(dfidnGltNs}Pd!Y;=ylUV}3KidUJ1O~lh~--%-BeFe)kfve77K)R8g zPL2(JxCrLGzOw0?!7P$uHyjSXTgj*QDupxtD6|y8pi*#4lrQ;=DM`ym8z9lmnnTmZ zLU8!2VP4F5k z8$=#y=4KQYzI|L~CuoHhtopYrw5+plawo9z_r zkPh0O*9{#DV}Rtc6Iba1isot`7-=c3;Z8RBv)Goho1b=L7RvyVlhe#NRxSLwAcbB@ zE`IJCCv=slPO_MTL_qCb_GYW0$XVUHZh$h2HhYq^`*x>YkUxT|S1bT8h(ajoss!O# zzC5r2mrWiRe^NR=!&q)#$_KQLUVMVzR}KDRyURB;h&~84sQ2gcMklE#BgI}L>~M~{ z$dfHoDL_t*zn!X`3I1%r{?8&7%c3KhRCum0&po0_`oa4qA65^n3Tt_$6%!~76q@_3 z=iyhx_;j|zj@FX-KI0fs(55kdZ8MsH@2kdQs-khO#3N3N3$fnIN3amj*h6uw|GzKe zrm)T<-W0KrYmUM0C&jyBu$LW7GYbIK5P+4(k!eR)?hbl7#s2c~;8=%1@R}~kW=bj; zZtny9c%L~&o~#G&1aQ#ap1|jDD(ivc9F#*lLvsLCp>BJjA>)yK)=Bdu|G7so!YZPM5{3B-RpRoT~L&- z9U}SgUSDMMdv_(U@qHfiQ&%Z2#?eJEJZfyE>fgIJ+H!!GK5y^i%USq3!Z+0S`tZJ0 zL4x8bE0{fTR%&!F^%Cqf<2|_imX%;koc#z+Zv+18i6trq4eGN<5_Q0&>hYNIP*+4&3q=Z|!l>$=bBfq|JcRM~eEFUB zf041QxgUX?t3C=xkr?o(XP=JXJmEiZ6-_!cN`U|1=Z6>PrJ+m~N1U30xKB=3A|NA=AMlNxze$&XgMisC+ za~L(Lr+3K?;VccLQbN;+P6jUbqHNg7UROM_-j;jtlB17#*prFaNAJ`~cF=TpO{8q= zMW03wsgLhH_G=ujGrRuvtT#q4&AlWrH<=bSM2t%6`1Il%$08S}4v}bLAEX*7Q?C46 zg6|HOrFJmkhu>=uySwJOGf={S43(w3BpUzMeoV&@%+}K^w1STbOPxkN@3?-smc=tW zF3DO>?^J)K5jR;@KVL``bD)HpM0_Ib-LSu;8i>gL0O)%^^}3Da>_-R74D-sYB%qe) z@FIYgRE|kYs*^=oM;xgpaC>KBvq>NeZpA21$rcdD$`|6_&?XI#*_sH<#0eY-A+jSy zXQ}tEdsTa>`G^ZzFL}}YOdnQ!<^EUIz(~HdJ5WMy`EsKXPeH-xHQ5bi` zL~iTMOI}e5S=Ppq@CL|Gf|O@(lKG&Q3)`}?Ln_Bi&}KHF_j*Zs*UTgjCN|fujiV|b zA8;gZW?&_EE6pf7dUsn4F7IdfAR($KAf?JEO5Dj9%r)wFUoLUJBkiX?*Nzw`_u2E> z9+0~bb8ED@ZTvgcJNxbgo7|0mhhO+{LGT`nEpkTS!$r6Knc#?c^<7zQTD8Xm9OW_})Uhg6uH zK2_MkHqq5J%TZhk`dQt)o`B!ew%IQk1Lto0&S(@WD`Q4i3W8f7KvCR~9{Mz46$WfAy)qZ3; zZnb8_g5K~);Fwf}Wvmd!8&x~^`M-33APJ>)MjOaj-iR^zToHS64;91=IfYTbl1SAs z`B%e4Q`hqEFJZFD^)GecvuNs=+D*&)WKz`77t|eIf&8sBJ*4%~|Kkf$_}{b5 zNyqx*3s!8I2OX_$1UPC!Y-+M<{O+Y$Og&e3vM@B(Nux+$UjQjS8ekSG;C`h3Uz#DQ zckf}+z}6FrJb_$-IuY02<;~f-HejK3av}CO=lTl7?~|KCO#Iq(<$@YgF{Z3%0h?D` zqu|yz3@u(xTaAuAC7b1VRlY|x9)W(9LwrO%TJ4MK-1$AIyyxWRThX`Z@x8yO#Ex?_ zbV)11lydGa{I1c4!@|%Kw(rEMS&OsFdYr-@sp>dlN0q1gXB{i`d34=&LsJMo@nuXG zHP|h^Q2OXw4fqNGIu%UgT*pK|EFqajiYf|yY&v!*x*7X`{?qkL z5Exf-Ev;lpDyAee@ z=b46wsNB+sq z7k&C+dTm|P<9BtjY+vq&iw7{}DxO+O(7f-g32LAY0C}m*18=@uKhnrSXr)e8oZGiH zpuXS7Cpsp&C$$lr)w{GP&%`fZNzoE#A7k0}?@90iSm$?2GDrj?w}rE%n9eL&6WYN0 zrJK5NQrqzC(l)y|fgB3y)|j)_WS72J$&+JNx|3XC^OY?ojzo?euK+;?{7_z52`xqMnOp$J3sW+PAin}(|n1TF^ zo|6#V+;||>@{eir8aM1Q*9YZ%*7G)zbq@(BRRvgrLd(OFl>&Clv(^5y+0K0eC!KAV zh9lKP(nTYQJr(DE(H_x?(|vynD;QS+$g)uHD&`-_{x?biT#wJ4bj& zT@~v1BpWzehL0JX0Y{kh#pz6ku+{mmyUu3#!iemi5TES}w~WA*$E66Wn>;PZ_q2xo zak~;?zv$L2r1=xZ3UEwjm>`Vp(4&@RkLDV;m-6?*Nup-!@$W;;nLq3+DPSwKDyby0 zq0Wg63){rcAN`7s%VsA&A4+_6peddFC2qetLQWDT8~1bkX)ZSAS#Gv+O3>rm#N5|r z*)H%3b||2j!j4sKv-)v*ln-@~8xA%YOMG?_#GDriXp;CC`}O=*CF_W~fnZ6;;l6;; zmk%UCzTxPxRXjb zdBs$t79eD4^D*M}5&M{l#*|mPP>`pg=JjeEI^#&XMn;sillGO98}s~%EQ~&T%~WcS z>R6s31w%SJh4@`x@ty7bKv*cINn?W7gJYi4nbV)!rj>~fWT zvX^_ACOUqLBEP3fWutvcy7_RloQ~lI03`=}pkA|D#{D*uJAhd{4ENOR!s8f zQ>JN(t^~N4eYnLUBS0XP0K2ag4ouFP*jSP&2k)7j#^c|7qsReg!_m9$wtmP zA@20?z9x`N!y-aC3*2YUG{mpDr=o*xBbzuCew}_VS0GOr=)s*{%jxnzw03~h2@BYZ zM*90swX{02$i;-{^0)4s2>0ddoLuZEN@+HnM7PsJ9(1%>_(%frDK2lSl0Ru7PKA>r z45p)W<6dm?QZ*H049QZ9=5RNY|Gxls1d00@su!4p`tjXFox6L}Lemm}4{LG_K$&%C z14j`p*M2q1j=L7Q5esVfH|yjo2Swr;c1KqI<4{~flsWty@GC^tZ<>E-_IK0t1OTCt zVut`{5p6#SQYD{9TEQ)-6U;jMq-LLR#ZV+}VG1(roqz~BiiQT-+h2k9`hjZ7`Fjv@ z0x(d-qWm#L1S29|Y9&h3{WIEc&co3(GoOS-g?=2c7gF;NMYSEGma+dgvg%)r<+;hn zJcyhC9B@p^A;1C1&~y~;Qei8J_@># z)^!z1*?rCYW3!BHT;v2$1dfS15G9YCg7%f8= zd6|i}TnC_3=2E_U6Khe(?p3HcN!@2HRuee^L_o*{o`wR6-j7Hj>PqEf6>1&z2%5li z(W({N0k|F}bBX+efk?IA9yK@FAJuJ~MDa*H7Z#!Dy=&3)zPeHCd4U8OEi?Fk<-(P%g-)xI6F-p>SfK?PfqlrLNB zjnB=fG}(*faTsMGCxC=-2tX^+3Jynxt38QlD=^WE42g>oDLjWf4D(U^!Q05g(4FMs zVM023Y(A-^)BF6WL#Yp^_g-MM@|4`B1CA~Q2~y_ z5FzYFbk|iFde92E9N7|HGk#u2{_VF>T*5lkX1&Y%N!n3(08-5dd(Si+X*`>w8hVqF z#xoVE@#DR}ms_ED6RJz_PqeRp$a}^Ba-lCDIRT`I5Hc8!>J-jGTZG+EL5?&#Gj}0@ zUyE!As}K?RKONrRHXsi~CxxWo3;GZg_b?2(Jx8LH+L7Mx!@a)`Cf)h77OnITpq>Md zA`Pg3ymG-$4>kPhtDl0vW44O+285AHF`067kfEuHO<$W;H5+)&Q`gX|E zFclf$HbeXJAyk(fdXXJr9r9KzMJxHsXdgch87G&bth-PnWG?izMNR-2Lqu2H5Tp@| zL6-Lk#?LrJ8lw?84D-%!L#@*W;ND*JBDZ1}67G#iz&ns3aRu@~EJdsM67T=Z5eclN zgj+Hf_Us`ifI2};AAKtl_QBr2zVQ1$uBf|SWSH}Rd=l_~kL6Cxg}pwI6F>tXjq=|~ zkPCT^9655-G5$Xh(WDrIi_by;001R)MObuXVRU6WV{&C-bY%cCFfuSLF)%GKGE^`( zIx{yqFgGhOFgh?WEwMd$0000bbVXQnWMOn=I&E)cX=Zr Date: Wed, 4 Nov 2020 17:12:39 +0000 Subject: [PATCH 49/71] Add Azure subnets (#360) --- diagrams/azure/network.py | 4 ++++ docs/nodes/azure.md | 1 + resources/azure/network/subnets.png | Bin 0 -> 60462 bytes 3 files changed, 5 insertions(+) create mode 100644 resources/azure/network/subnets.png diff --git a/diagrams/azure/network.py b/diagrams/azure/network.py index 2e3e4043..23dd69c0 100644 --- a/diagrams/azure/network.py +++ b/diagrams/azure/network.py @@ -92,6 +92,10 @@ class ServiceEndpointPolicies(_Network): _icon = "service-endpoint-policies.png" +class Subnets(_Network): + _icon = "subnets.png" + + class TrafficManagerProfiles(_Network): _icon = "traffic-manager-profiles.png" diff --git a/docs/nodes/azure.md b/docs/nodes/azure.md index 076b18d8..59413a08 100644 --- a/docs/nodes/azure.md +++ b/docs/nodes/azure.md @@ -197,6 +197,7 @@ Node classes list of azure provider. - **diagrams.azure.network.RouteFilters** - **diagrams.azure.network.RouteTables** - **diagrams.azure.network.ServiceEndpointPolicies** +- **diagrams.azure.network.Subnets** - **diagrams.azure.network.TrafficManagerProfiles** - **diagrams.azure.network.VirtualNetworkClassic** - **diagrams.azure.network.VirtualNetworkGateways** diff --git a/resources/azure/network/subnets.png b/resources/azure/network/subnets.png new file mode 100644 index 0000000000000000000000000000000000000000..eb4b1f594657398c58c7380cb661acddf4ddb746 GIT binary patch literal 60462 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 UMXdJw$HdSIGD^~=l19P*14K1P4FCWD literal 0 HcmV?d00001 From f922dd27e6ad50ad4276f63e7dec247afee4bb96 Mon Sep 17 00:00:00 2001 From: Frank <639906+syphernl@users.noreply.github.com> Date: Wed, 4 Nov 2020 18:16:25 +0100 Subject: [PATCH 50/71] fix: Correct spelling of Traditional Server (#351) --- diagrams/aws/general.py | 4 ++-- docs/nodes/aws.md | 2 +- ...radicional-server.png => traditional-server.png} | Bin 3 files changed, 3 insertions(+), 3 deletions(-) rename resources/aws/general/{tradicional-server.png => traditional-server.png} (100%) diff --git a/diagrams/aws/general.py b/diagrams/aws/general.py index 80284ba6..29d3e7b2 100644 --- a/diagrams/aws/general.py +++ b/diagrams/aws/general.py @@ -40,8 +40,8 @@ class Marketplace(_General): _icon = "marketplace.png" -class TradicionalServer(_General): - _icon = "tradicional-server.png" +class TraditionalServer(_General): + _icon = "traditional-server.png" class User(_General): diff --git a/docs/nodes/aws.md b/docs/nodes/aws.md index f1cdbb96..168892e6 100644 --- a/docs/nodes/aws.md +++ b/docs/nodes/aws.md @@ -144,7 +144,7 @@ Node classes list of aws provider. - **diagrams.aws.general.GenericSamlToken** - **diagrams.aws.general.GenericSDK** - **diagrams.aws.general.Marketplace** -- **diagrams.aws.general.TradicionalServer** +- **diagrams.aws.general.TraditionalServer** - **diagrams.aws.general.User** - **diagrams.aws.general.Users** diff --git a/resources/aws/general/tradicional-server.png b/resources/aws/general/traditional-server.png similarity index 100% rename from resources/aws/general/tradicional-server.png rename to resources/aws/general/traditional-server.png From dfd8e0a52c8c4d1c3ce95dc7161c23bb2eaf0acb Mon Sep 17 00:00:00 2001 From: Christian Clauss Date: Wed, 4 Nov 2020 18:17:16 +0100 Subject: [PATCH 51/71] ci(actions): Add Python 3.9 to test.yml (#355) --- .github/workflows/test.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index b52dec11..ef8e42f3 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -18,7 +18,7 @@ jobs: test: strategy: matrix: - python: ['3.6', '3.7', '3.8'] + python: ['3.6', '3.7', '3.8', '3.9'] runs-on: ubuntu-latest steps: - uses: actions/checkout@v2 From 37bb9cd5e809b6185fd56d743ca8bb57585da2e6 Mon Sep 17 00:00:00 2001 From: Jair Henrique Date: Thu, 3 Dec 2020 11:49:34 -0300 Subject: [PATCH 52/71] Setup dependabot. (#387) --- .github/dependabot.yml | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) create mode 100644 .github/dependabot.yml diff --git a/.github/dependabot.yml b/.github/dependabot.yml new file mode 100644 index 00000000..5e13d6d6 --- /dev/null +++ b/.github/dependabot.yml @@ -0,0 +1,20 @@ +version: 2 +updates: +- package-ecosystem: pip + directory: "/" + schedule: + interval: daily + time: "08:00" + open-pull-requests-limit: 10 +- package-ecosystem: npm + directory: "/website" + schedule: + interval: daily + time: "08:00" + open-pull-requests-limit: 10 +- package-ecosystem: docker + directory: "/docker/dev" + schedule: + interval: daily + time: "08:00" + open-pull-requests-limit: 10 From 60cf7f02d28a2e75d5f7c53960d18ffde2394db8 Mon Sep 17 00:00:00 2001 From: mingrammer Date: Fri, 4 Dec 2020 00:03:53 +0900 Subject: [PATCH 53/71] bump: up to version 0.18.0 --- pyproject.toml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pyproject.toml b/pyproject.toml index 8725f849..fceb2776 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -1,6 +1,6 @@ [tool.poetry] name = "diagrams" -version = "0.17.0" +version = "0.18.0" description = "Diagram as Code" license = "MIT" authors = ["mingrammer "] From 16a3b87bc25fda1ba64d2305285e05fa38e41692 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Fri, 4 Dec 2020 00:26:15 +0900 Subject: [PATCH 54/71] chore(deps): bump highlight.js from 9.18.1 to 9.18.5 in /website (#379) Bumps [highlight.js](https://github.com/highlightjs/highlight.js) from 9.18.1 to 9.18.5. - [Release notes](https://github.com/highlightjs/highlight.js/releases) - [Changelog](https://github.com/highlightjs/highlight.js/blob/9.18.5/CHANGES.md) - [Commits](https://github.com/highlightjs/highlight.js/compare/9.18.1...9.18.5) Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- website/package-lock.json | 6 +++--- website/yarn.lock | 6 +++--- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/website/package-lock.json b/website/package-lock.json index 07c5267e..0e7345d7 100644 --- a/website/package-lock.json +++ b/website/package-lock.json @@ -4459,9 +4459,9 @@ "dev": true }, "highlight.js": { - "version": "9.18.1", - "resolved": "https://registry.npmjs.org/highlight.js/-/highlight.js-9.18.1.tgz", - "integrity": "sha512-OrVKYz70LHsnCgmbXctv/bfuvntIKDz177h0Co37DQ5jamGZLVmoCVMtjMtNZY3X9DrCcKfklHPNeA0uPZhSJg==", + "version": "9.18.5", + "resolved": "https://registry.npmjs.org/highlight.js/-/highlight.js-9.18.5.tgz", + "integrity": "sha512-a5bFyofd/BHCX52/8i8uJkjr9DYwXIPnM/plwI6W7ezItLGqzt7X2G2nXuYSfsIJdkwwj/g9DG1LkcGJI/dDoA==", "dev": true }, "hosted-git-info": { diff --git a/website/yarn.lock b/website/yarn.lock index acaa1fd9..c6fce1de 100644 --- a/website/yarn.lock +++ b/website/yarn.lock @@ -3187,9 +3187,9 @@ hex-color-regex@^1.1.0: integrity sha512-l9sfDFsuqtOqKDsQdqrMRk0U85RZc0RtOR9yPI7mRVOa4FsR/BVnZ0shmQRM96Ji99kYZP/7hn1cedc1+ApsTQ== highlight.js@^9.16.2: - version "9.18.1" - resolved "https://registry.yarnpkg.com/highlight.js/-/highlight.js-9.18.1.tgz#ed21aa001fe6252bb10a3d76d47573c6539fe13c" - integrity sha512-OrVKYz70LHsnCgmbXctv/bfuvntIKDz177h0Co37DQ5jamGZLVmoCVMtjMtNZY3X9DrCcKfklHPNeA0uPZhSJg== + version "9.18.5" + resolved "https://registry.yarnpkg.com/highlight.js/-/highlight.js-9.18.5.tgz#d18a359867f378c138d6819edfc2a8acd5f29825" + integrity sha512-a5bFyofd/BHCX52/8i8uJkjr9DYwXIPnM/plwI6W7ezItLGqzt7X2G2nXuYSfsIJdkwwj/g9DG1LkcGJI/dDoA== hosted-git-info@^2.1.4: version "2.8.8" From a6f33a87e9097c19b6d63b79a230fa9bfbcdd172 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Fri, 4 Dec 2020 00:26:43 +0900 Subject: [PATCH 55/71] chore(deps-dev): bump docusaurus from 1.14.4 to 1.14.6 in /website (#397) Bumps [docusaurus](https://github.com/facebook/docusaurus) from 1.14.4 to 1.14.6. - [Release notes](https://github.com/facebook/docusaurus/releases) - [Changelog](https://github.com/facebook/docusaurus/blob/master/CHANGELOG.md) - [Commits](https://github.com/facebook/docusaurus/compare/v1.14.4...v1.14.6) Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- website/package-lock.json | 1990 +++++++++++++++++++------------------ website/package.json | 2 +- website/yarn.lock | 1392 ++++++++++++++------------ 3 files changed, 1777 insertions(+), 1607 deletions(-) diff --git a/website/package-lock.json b/website/package-lock.json index 0e7345d7..8a918a2f 100644 --- a/website/package-lock.json +++ b/website/package-lock.json @@ -3,326 +3,321 @@ "lockfileVersion": 1, "dependencies": { "@babel/code-frame": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.8.3.tgz", - "integrity": "sha512-a9gxpmdXtZEInkCSHUJDLHZVBgb1QS0jhss4cPP93EW7s+uC5bikET2twEF3KV+7rDblJcmNvTR7VJejqd2C2g==", + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.10.4.tgz", + "integrity": "sha512-vG6SvB6oYEhvgisZNFRmRCUkLz11c7rp+tbNTynGqc6mS1d5ATd/sGyV6W0KZZnXRKMTzZDRgQT3Ou9jhpAfUg==", "dev": true, "requires": { - "@babel/highlight": "^7.8.3" + "@babel/highlight": "^7.10.4" } }, "@babel/compat-data": { - "version": "7.9.6", - "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.9.6.tgz", - "integrity": "sha512-5QPTrNen2bm7RBc7dsOmcA5hbrS4O2Vhmk5XOL4zWW/zD/hV0iinpefDlkm+tBBy8kDtFaaeEvmAqt+nURAV2g==", - "dev": true, - "requires": { - "browserslist": "^4.11.1", - "invariant": "^2.2.4", - "semver": "^5.5.0" - } + "version": "7.12.7", + "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.12.7.tgz", + "integrity": "sha512-YaxPMGs/XIWtYqrdEOZOCPsVWfEoriXopnsz3/i7apYPXQ3698UFhS6dVT1KN5qOsWmVgw/FOrmQgpRaZayGsw==", + "dev": true }, "@babel/core": { - "version": "7.9.6", - "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.9.6.tgz", - "integrity": "sha512-nD3deLvbsApbHAHttzIssYqgb883yU/d9roe4RZymBCDaZryMJDbptVpEpeQuRh4BJ+SYI8le9YGxKvFEvl1Wg==", - "dev": true, - "requires": { - "@babel/code-frame": "^7.8.3", - "@babel/generator": "^7.9.6", - "@babel/helper-module-transforms": "^7.9.0", - "@babel/helpers": "^7.9.6", - "@babel/parser": "^7.9.6", - "@babel/template": "^7.8.6", - "@babel/traverse": "^7.9.6", - "@babel/types": "^7.9.6", + "version": "7.12.9", + "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.12.9.tgz", + "integrity": "sha512-gTXYh3M5wb7FRXQy+FErKFAv90BnlOuNn1QkCK2lREoPAjrQCO49+HVSrFoe5uakFAF5eenS75KbO2vQiLrTMQ==", + "dev": true, + "requires": { + "@babel/code-frame": "^7.10.4", + "@babel/generator": "^7.12.5", + "@babel/helper-module-transforms": "^7.12.1", + "@babel/helpers": "^7.12.5", + "@babel/parser": "^7.12.7", + "@babel/template": "^7.12.7", + "@babel/traverse": "^7.12.9", + "@babel/types": "^7.12.7", "convert-source-map": "^1.7.0", "debug": "^4.1.0", "gensync": "^1.0.0-beta.1", "json5": "^2.1.2", - "lodash": "^4.17.13", + "lodash": "^4.17.19", "resolve": "^1.3.2", "semver": "^5.4.1", "source-map": "^0.5.0" } }, "@babel/generator": { - "version": "7.9.6", - "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.9.6.tgz", - "integrity": "sha512-+htwWKJbH2bL72HRluF8zumBxzuX0ZZUFl3JLNyoUjM/Ho8wnVpPXM6aUz8cfKDqQ/h7zHqKt4xzJteUosckqQ==", + "version": "7.12.5", + "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.12.5.tgz", + "integrity": "sha512-m16TQQJ8hPt7E+OS/XVQg/7U184MLXtvuGbCdA7na61vha+ImkyyNM/9DDA0unYCVZn3ZOhng+qz48/KBOT96A==", "dev": true, "requires": { - "@babel/types": "^7.9.6", + "@babel/types": "^7.12.5", "jsesc": "^2.5.1", - "lodash": "^4.17.13", "source-map": "^0.5.0" } }, "@babel/helper-annotate-as-pure": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.8.3.tgz", - "integrity": "sha512-6o+mJrZBxOoEX77Ezv9zwW7WV8DdluouRKNY/IR5u/YTMuKHgugHOzYWlYvYLpLA9nPsQCAAASpCIbjI9Mv+Uw==", + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.10.4.tgz", + "integrity": "sha512-XQlqKQP4vXFB7BN8fEEerrmYvHp3fK/rBkRFz9jaJbzK0B1DSfej9Kc7ZzE8Z/OnId1jpJdNAZ3BFQjWG68rcA==", "dev": true, "requires": { - "@babel/types": "^7.8.3" + "@babel/types": "^7.10.4" } }, "@babel/helper-builder-binary-assignment-operator-visitor": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/helper-builder-binary-assignment-operator-visitor/-/helper-builder-binary-assignment-operator-visitor-7.8.3.tgz", - "integrity": "sha512-5eFOm2SyFPK4Rh3XMMRDjN7lBH0orh3ss0g3rTYZnBQ+r6YPj7lgDyCvPphynHvUrobJmeMignBr6Acw9mAPlw==", + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/helper-builder-binary-assignment-operator-visitor/-/helper-builder-binary-assignment-operator-visitor-7.10.4.tgz", + "integrity": "sha512-L0zGlFrGWZK4PbT8AszSfLTM5sDU1+Az/En9VrdT8/LmEiJt4zXt+Jve9DCAnQcbqDhCI+29y/L93mrDzddCcg==", "dev": true, "requires": { - "@babel/helper-explode-assignable-expression": "^7.8.3", - "@babel/types": "^7.8.3" + "@babel/helper-explode-assignable-expression": "^7.10.4", + "@babel/types": "^7.10.4" } }, "@babel/helper-builder-react-jsx": { - "version": "7.9.0", - "resolved": "https://registry.npmjs.org/@babel/helper-builder-react-jsx/-/helper-builder-react-jsx-7.9.0.tgz", - "integrity": "sha512-weiIo4gaoGgnhff54GQ3P5wsUQmnSwpkvU0r6ZHq6TzoSzKy4JxHEgnxNytaKbov2a9z/CVNyzliuCOUPEX3Jw==", + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/helper-builder-react-jsx/-/helper-builder-react-jsx-7.10.4.tgz", + "integrity": "sha512-5nPcIZ7+KKDxT1427oBivl9V9YTal7qk0diccnh7RrcgrT/pGFOjgGw1dgryyx1GvHEpXVfoDF6Ak3rTiWh8Rg==", "dev": true, "requires": { - "@babel/helper-annotate-as-pure": "^7.8.3", - "@babel/types": "^7.9.0" + "@babel/helper-annotate-as-pure": "^7.10.4", + "@babel/types": "^7.10.4" } }, "@babel/helper-builder-react-jsx-experimental": { - "version": "7.9.5", - "resolved": "https://registry.npmjs.org/@babel/helper-builder-react-jsx-experimental/-/helper-builder-react-jsx-experimental-7.9.5.tgz", - "integrity": "sha512-HAagjAC93tk748jcXpZ7oYRZH485RCq/+yEv9SIWezHRPv9moZArTnkUNciUNzvwHUABmiWKlcxJvMcu59UwTg==", + "version": "7.12.4", + "resolved": "https://registry.npmjs.org/@babel/helper-builder-react-jsx-experimental/-/helper-builder-react-jsx-experimental-7.12.4.tgz", + "integrity": "sha512-AjEa0jrQqNk7eDQOo0pTfUOwQBMF+xVqrausQwT9/rTKy0g04ggFNaJpaE09IQMn9yExluigWMJcj0WC7bq+Og==", "dev": true, "requires": { - "@babel/helper-annotate-as-pure": "^7.8.3", - "@babel/helper-module-imports": "^7.8.3", - "@babel/types": "^7.9.5" + "@babel/helper-annotate-as-pure": "^7.10.4", + "@babel/helper-module-imports": "^7.12.1", + "@babel/types": "^7.12.1" } }, "@babel/helper-compilation-targets": { - "version": "7.9.6", - "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.9.6.tgz", - "integrity": "sha512-x2Nvu0igO0ejXzx09B/1fGBxY9NXQlBW2kZsSxCJft+KHN8t9XWzIvFxtPHnBOAXpVsdxZKZFbRUC8TsNKajMw==", + "version": "7.12.5", + "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.12.5.tgz", + "integrity": "sha512-+qH6NrscMolUlzOYngSBMIOQpKUGPPsc61Bu5W10mg84LxZ7cmvnBHzARKbDoFxVvqqAbj6Tg6N7bSrWSPXMyw==", "dev": true, "requires": { - "@babel/compat-data": "^7.9.6", - "browserslist": "^4.11.1", - "invariant": "^2.2.4", - "levenary": "^1.1.1", + "@babel/compat-data": "^7.12.5", + "@babel/helper-validator-option": "^7.12.1", + "browserslist": "^4.14.5", "semver": "^5.5.0" } }, "@babel/helper-create-class-features-plugin": { - "version": "7.9.6", - "resolved": "https://registry.npmjs.org/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.9.6.tgz", - "integrity": "sha512-6N9IeuyHvMBRyjNYOMJHrhwtu4WJMrYf8hVbEHD3pbbbmNOk1kmXSQs7bA4dYDUaIx4ZEzdnvo6NwC3WHd/Qow==", + "version": "7.12.1", + "resolved": "https://registry.npmjs.org/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.12.1.tgz", + "integrity": "sha512-hkL++rWeta/OVOBTRJc9a5Azh5mt5WgZUGAKMD8JM141YsE08K//bp1unBBieO6rUKkIPyUE0USQ30jAy3Sk1w==", "dev": true, "requires": { - "@babel/helper-function-name": "^7.9.5", - "@babel/helper-member-expression-to-functions": "^7.8.3", - "@babel/helper-optimise-call-expression": "^7.8.3", - "@babel/helper-plugin-utils": "^7.8.3", - "@babel/helper-replace-supers": "^7.9.6", - "@babel/helper-split-export-declaration": "^7.8.3" + "@babel/helper-function-name": "^7.10.4", + "@babel/helper-member-expression-to-functions": "^7.12.1", + "@babel/helper-optimise-call-expression": "^7.10.4", + "@babel/helper-replace-supers": "^7.12.1", + "@babel/helper-split-export-declaration": "^7.10.4" } }, "@babel/helper-create-regexp-features-plugin": { - "version": "7.8.8", - "resolved": "https://registry.npmjs.org/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.8.8.tgz", - "integrity": "sha512-LYVPdwkrQEiX9+1R29Ld/wTrmQu1SSKYnuOk3g0CkcZMA1p0gsNxJFj/3gBdaJ7Cg0Fnek5z0DsMULePP7Lrqg==", + "version": "7.12.7", + "resolved": "https://registry.npmjs.org/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.12.7.tgz", + "integrity": "sha512-idnutvQPdpbduutvi3JVfEgcVIHooQnhvhx0Nk9isOINOIGYkZea1Pk2JlJRiUnMefrlvr0vkByATBY/mB4vjQ==", "dev": true, "requires": { - "@babel/helper-annotate-as-pure": "^7.8.3", - "@babel/helper-regex": "^7.8.3", - "regexpu-core": "^4.7.0" + "@babel/helper-annotate-as-pure": "^7.10.4", + "regexpu-core": "^4.7.1" } }, "@babel/helper-define-map": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/helper-define-map/-/helper-define-map-7.8.3.tgz", - "integrity": "sha512-PoeBYtxoZGtct3md6xZOCWPcKuMuk3IHhgxsRRNtnNShebf4C8YonTSblsK4tvDbm+eJAw2HAPOfCr+Q/YRG/g==", + "version": "7.10.5", + "resolved": "https://registry.npmjs.org/@babel/helper-define-map/-/helper-define-map-7.10.5.tgz", + "integrity": "sha512-fMw4kgFB720aQFXSVaXr79pjjcW5puTCM16+rECJ/plGS+zByelE8l9nCpV1GibxTnFVmUuYG9U8wYfQHdzOEQ==", "dev": true, "requires": { - "@babel/helper-function-name": "^7.8.3", - "@babel/types": "^7.8.3", - "lodash": "^4.17.13" + "@babel/helper-function-name": "^7.10.4", + "@babel/types": "^7.10.5", + "lodash": "^4.17.19" } }, "@babel/helper-explode-assignable-expression": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/helper-explode-assignable-expression/-/helper-explode-assignable-expression-7.8.3.tgz", - "integrity": "sha512-N+8eW86/Kj147bO9G2uclsg5pwfs/fqqY5rwgIL7eTBklgXjcOJ3btzS5iM6AitJcftnY7pm2lGsrJVYLGjzIw==", + "version": "7.12.1", + "resolved": "https://registry.npmjs.org/@babel/helper-explode-assignable-expression/-/helper-explode-assignable-expression-7.12.1.tgz", + "integrity": "sha512-dmUwH8XmlrUpVqgtZ737tK88v07l840z9j3OEhCLwKTkjlvKpfqXVIZ0wpK3aeOxspwGrf/5AP5qLx4rO3w5rA==", "dev": true, "requires": { - "@babel/traverse": "^7.8.3", - "@babel/types": "^7.8.3" + "@babel/types": "^7.12.1" } }, "@babel/helper-function-name": { - "version": "7.9.5", - "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.9.5.tgz", - "integrity": "sha512-JVcQZeXM59Cd1qanDUxv9fgJpt3NeKUaqBqUEvfmQ+BCOKq2xUgaWZW2hr0dkbyJgezYuplEoh5knmrnS68efw==", + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.10.4.tgz", + "integrity": "sha512-YdaSyz1n8gY44EmN7x44zBn9zQ1Ry2Y+3GTA+3vH6Mizke1Vw0aWDM66FOYEPw8//qKkmqOckrGgTYa+6sceqQ==", "dev": true, "requires": { - "@babel/helper-get-function-arity": "^7.8.3", - "@babel/template": "^7.8.3", - "@babel/types": "^7.9.5" + "@babel/helper-get-function-arity": "^7.10.4", + "@babel/template": "^7.10.4", + "@babel/types": "^7.10.4" } }, "@babel/helper-get-function-arity": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/helper-get-function-arity/-/helper-get-function-arity-7.8.3.tgz", - "integrity": "sha512-FVDR+Gd9iLjUMY1fzE2SR0IuaJToR4RkCDARVfsBBPSP53GEqSFjD8gNyxg246VUyc/ALRxFaAK8rVG7UT7xRA==", + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/helper-get-function-arity/-/helper-get-function-arity-7.10.4.tgz", + "integrity": "sha512-EkN3YDB+SRDgiIUnNgcmiD361ti+AVbL3f3Henf6dqqUyr5dMsorno0lJWJuLhDhkI5sYEpgj6y9kB8AOU1I2A==", "dev": true, "requires": { - "@babel/types": "^7.8.3" + "@babel/types": "^7.10.4" } }, "@babel/helper-hoist-variables": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.8.3.tgz", - "integrity": "sha512-ky1JLOjcDUtSc+xkt0xhYff7Z6ILTAHKmZLHPxAhOP0Nd77O+3nCsd6uSVYur6nJnCI029CrNbYlc0LoPfAPQg==", + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.10.4.tgz", + "integrity": "sha512-wljroF5PgCk2juF69kanHVs6vrLwIPNp6DLD+Lrl3hoQ3PpPPikaDRNFA+0t81NOoMt2DL6WW/mdU8k4k6ZzuA==", "dev": true, "requires": { - "@babel/types": "^7.8.3" + "@babel/types": "^7.10.4" } }, "@babel/helper-member-expression-to-functions": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.8.3.tgz", - "integrity": "sha512-fO4Egq88utkQFjbPrSHGmGLFqmrshs11d46WI+WZDESt7Wu7wN2G2Iu+NMMZJFDOVRHAMIkB5SNh30NtwCA7RA==", + "version": "7.12.7", + "resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.12.7.tgz", + "integrity": "sha512-DCsuPyeWxeHgh1Dus7APn7iza42i/qXqiFPWyBDdOFtvS581JQePsc1F/nD+fHrcswhLlRc2UpYS1NwERxZhHw==", "dev": true, "requires": { - "@babel/types": "^7.8.3" + "@babel/types": "^7.12.7" } }, "@babel/helper-module-imports": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.8.3.tgz", - "integrity": "sha512-R0Bx3jippsbAEtzkpZ/6FIiuzOURPcMjHp+Z6xPe6DtApDJx+w7UYyOLanZqO8+wKR9G10s/FmHXvxaMd9s6Kg==", + "version": "7.12.5", + "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.12.5.tgz", + "integrity": "sha512-SR713Ogqg6++uexFRORf/+nPXMmWIn80TALu0uaFb+iQIUoR7bOC7zBWyzBs5b3tBBJXuyD0cRu1F15GyzjOWA==", "dev": true, "requires": { - "@babel/types": "^7.8.3" + "@babel/types": "^7.12.5" } }, "@babel/helper-module-transforms": { - "version": "7.9.0", - "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.9.0.tgz", - "integrity": "sha512-0FvKyu0gpPfIQ8EkxlrAydOWROdHpBmiCiRwLkUiBGhCUPRRbVD2/tm3sFr/c/GWFrQ/ffutGUAnx7V0FzT2wA==", + "version": "7.12.1", + "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.12.1.tgz", + "integrity": "sha512-QQzehgFAZ2bbISiCpmVGfiGux8YVFXQ0abBic2Envhej22DVXV9nCFaS5hIQbkyo1AdGb+gNME2TSh3hYJVV/w==", "dev": true, "requires": { - "@babel/helper-module-imports": "^7.8.3", - "@babel/helper-replace-supers": "^7.8.6", - "@babel/helper-simple-access": "^7.8.3", - "@babel/helper-split-export-declaration": "^7.8.3", - "@babel/template": "^7.8.6", - "@babel/types": "^7.9.0", - "lodash": "^4.17.13" + "@babel/helper-module-imports": "^7.12.1", + "@babel/helper-replace-supers": "^7.12.1", + "@babel/helper-simple-access": "^7.12.1", + "@babel/helper-split-export-declaration": "^7.11.0", + "@babel/helper-validator-identifier": "^7.10.4", + "@babel/template": "^7.10.4", + "@babel/traverse": "^7.12.1", + "@babel/types": "^7.12.1", + "lodash": "^4.17.19" } }, "@babel/helper-optimise-call-expression": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.8.3.tgz", - "integrity": "sha512-Kag20n86cbO2AvHca6EJsvqAd82gc6VMGule4HwebwMlwkpXuVqrNRj6CkCV2sKxgi9MyAUnZVnZ6lJ1/vKhHQ==", + "version": "7.12.7", + "resolved": "https://registry.npmjs.org/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.12.7.tgz", + "integrity": "sha512-I5xc9oSJ2h59OwyUqjv95HRyzxj53DAubUERgQMrpcCEYQyToeHA+NEcUEsVWB4j53RDeskeBJ0SgRAYHDBckw==", "dev": true, "requires": { - "@babel/types": "^7.8.3" + "@babel/types": "^7.12.7" } }, "@babel/helper-plugin-utils": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.8.3.tgz", - "integrity": "sha512-j+fq49Xds2smCUNYmEHF9kGNkhbet6yVIBp4e6oeQpH1RUs/Ir06xUKzDjDkGcaaokPiTNs2JBWHjaE4csUkZQ==", + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.10.4.tgz", + "integrity": "sha512-O4KCvQA6lLiMU9l2eawBPMf1xPP8xPfB3iEQw150hOVTqj/rfXz0ThTb4HEzqQfs2Bmo5Ay8BzxfzVtBrr9dVg==", "dev": true }, - "@babel/helper-regex": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/helper-regex/-/helper-regex-7.8.3.tgz", - "integrity": "sha512-BWt0QtYv/cg/NecOAZMdcn/waj/5P26DR4mVLXfFtDokSR6fyuG0Pj+e2FqtSME+MqED1khnSMulkmGl8qWiUQ==", + "@babel/helper-remap-async-to-generator": { + "version": "7.12.1", + "resolved": "https://registry.npmjs.org/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.12.1.tgz", + "integrity": "sha512-9d0KQCRM8clMPcDwo8SevNs+/9a8yWVVmaE80FGJcEP8N1qToREmWEGnBn8BUlJhYRFz6fqxeRL1sl5Ogsed7A==", "dev": true, "requires": { - "lodash": "^4.17.13" + "@babel/helper-annotate-as-pure": "^7.10.4", + "@babel/helper-wrap-function": "^7.10.4", + "@babel/types": "^7.12.1" } }, - "@babel/helper-remap-async-to-generator": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.8.3.tgz", - "integrity": "sha512-kgwDmw4fCg7AVgS4DukQR/roGp+jP+XluJE5hsRZwxCYGg+Rv9wSGErDWhlI90FODdYfd4xG4AQRiMDjjN0GzA==", + "@babel/helper-replace-supers": { + "version": "7.12.5", + "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.12.5.tgz", + "integrity": "sha512-5YILoed0ZyIpF4gKcpZitEnXEJ9UoDRki1Ey6xz46rxOzfNMAhVIJMoune1hmPVxh40LRv1+oafz7UsWX+vyWA==", "dev": true, "requires": { - "@babel/helper-annotate-as-pure": "^7.8.3", - "@babel/helper-wrap-function": "^7.8.3", - "@babel/template": "^7.8.3", - "@babel/traverse": "^7.8.3", - "@babel/types": "^7.8.3" + "@babel/helper-member-expression-to-functions": "^7.12.1", + "@babel/helper-optimise-call-expression": "^7.10.4", + "@babel/traverse": "^7.12.5", + "@babel/types": "^7.12.5" } }, - "@babel/helper-replace-supers": { - "version": "7.9.6", - "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.9.6.tgz", - "integrity": "sha512-qX+chbxkbArLyCImk3bWV+jB5gTNU/rsze+JlcF6Nf8tVTigPJSI1o1oBow/9Resa1yehUO9lIipsmu9oG4RzA==", + "@babel/helper-simple-access": { + "version": "7.12.1", + "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.12.1.tgz", + "integrity": "sha512-OxBp7pMrjVewSSC8fXDFrHrBcJATOOFssZwv16F3/6Xtc138GHybBfPbm9kfiqQHKhYQrlamWILwlDCeyMFEaA==", "dev": true, "requires": { - "@babel/helper-member-expression-to-functions": "^7.8.3", - "@babel/helper-optimise-call-expression": "^7.8.3", - "@babel/traverse": "^7.9.6", - "@babel/types": "^7.9.6" + "@babel/types": "^7.12.1" } }, - "@babel/helper-simple-access": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.8.3.tgz", - "integrity": "sha512-VNGUDjx5cCWg4vvCTR8qQ7YJYZ+HBjxOgXEl7ounz+4Sn7+LMD3CFrCTEU6/qXKbA2nKg21CwhhBzO0RpRbdCw==", + "@babel/helper-skip-transparent-expression-wrappers": { + "version": "7.12.1", + "resolved": "https://registry.npmjs.org/@babel/helper-skip-transparent-expression-wrappers/-/helper-skip-transparent-expression-wrappers-7.12.1.tgz", + "integrity": "sha512-Mf5AUuhG1/OCChOJ/HcADmvcHM42WJockombn8ATJG3OnyiSxBK/Mm5x78BQWvmtXZKHgbjdGL2kin/HOLlZGA==", "dev": true, "requires": { - "@babel/template": "^7.8.3", - "@babel/types": "^7.8.3" + "@babel/types": "^7.12.1" } }, "@babel/helper-split-export-declaration": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.8.3.tgz", - "integrity": "sha512-3x3yOeyBhW851hroze7ElzdkeRXQYQbFIb7gLK1WQYsw2GWDay5gAJNw1sWJ0VFP6z5J1whqeXH/WCdCjZv6dA==", + "version": "7.11.0", + "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.11.0.tgz", + "integrity": "sha512-74Vejvp6mHkGE+m+k5vHY93FX2cAtrw1zXrZXRlG4l410Nm9PxfEiVTn1PjDPV5SnmieiueY4AFg2xqhNFuuZg==", "dev": true, "requires": { - "@babel/types": "^7.8.3" + "@babel/types": "^7.11.0" } }, "@babel/helper-validator-identifier": { - "version": "7.9.5", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.9.5.tgz", - "integrity": "sha512-/8arLKUFq882w4tWGj9JYzRpAlZgiWUJ+dtteNTDqrRBz9Iguck9Rn3ykuBDoUwh2TO4tSAJlrxDUOXWklJe4g==", + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.10.4.tgz", + "integrity": "sha512-3U9y+43hz7ZM+rzG24Qe2mufW5KhvFg/NhnNph+i9mgCtdTCtMJuI1TMkrIUiK7Ix4PYlRF9I5dhqaLYA/ADXw==", + "dev": true + }, + "@babel/helper-validator-option": { + "version": "7.12.1", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.12.1.tgz", + "integrity": "sha512-YpJabsXlJVWP0USHjnC/AQDTLlZERbON577YUVO/wLpqyj6HAtVYnWaQaN0iUN+1/tWn3c+uKKXjRut5115Y2A==", "dev": true }, "@babel/helper-wrap-function": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/helper-wrap-function/-/helper-wrap-function-7.8.3.tgz", - "integrity": "sha512-LACJrbUET9cQDzb6kG7EeD7+7doC3JNvUgTEQOx2qaO1fKlzE/Bf05qs9w1oXQMmXlPO65lC3Tq9S6gZpTErEQ==", + "version": "7.12.3", + "resolved": "https://registry.npmjs.org/@babel/helper-wrap-function/-/helper-wrap-function-7.12.3.tgz", + "integrity": "sha512-Cvb8IuJDln3rs6tzjW3Y8UeelAOdnpB8xtQ4sme2MSZ9wOxrbThporC0y/EtE16VAtoyEfLM404Xr1e0OOp+ow==", "dev": true, "requires": { - "@babel/helper-function-name": "^7.8.3", - "@babel/template": "^7.8.3", - "@babel/traverse": "^7.8.3", - "@babel/types": "^7.8.3" + "@babel/helper-function-name": "^7.10.4", + "@babel/template": "^7.10.4", + "@babel/traverse": "^7.10.4", + "@babel/types": "^7.10.4" } }, "@babel/helpers": { - "version": "7.9.6", - "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.9.6.tgz", - "integrity": "sha512-tI4bUbldloLcHWoRUMAj4g1bF313M/o6fBKhIsb3QnGVPwRm9JsNf/gqMkQ7zjqReABiffPV6RWj7hEglID5Iw==", + "version": "7.12.5", + "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.12.5.tgz", + "integrity": "sha512-lgKGMQlKqA8meJqKsW6rUnc4MdUk35Ln0ATDqdM1a/UpARODdI4j5Y5lVfUScnSNkJcdCRAaWkspykNoFg9sJA==", "dev": true, "requires": { - "@babel/template": "^7.8.3", - "@babel/traverse": "^7.9.6", - "@babel/types": "^7.9.6" + "@babel/template": "^7.10.4", + "@babel/traverse": "^7.12.5", + "@babel/types": "^7.12.5" } }, "@babel/highlight": { - "version": "7.9.0", - "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.9.0.tgz", - "integrity": "sha512-lJZPilxX7Op3Nv/2cvFdnlepPXDxi29wxteT57Q965oc5R9v86ztx0jfxVrTcBk8C2kcPkkDa2Z4T3ZsPPVWsQ==", + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.10.4.tgz", + "integrity": "sha512-i6rgnR/YgPEQzZZnbTHHuZdlE8qyoBNalD6F+q4vAFlcMEcqmkoG+mPqJYJCo63qPf74+Y1UZsl3l6f7/RIkmA==", "dev": true, "requires": { - "@babel/helper-validator-identifier": "^7.9.0", + "@babel/helper-validator-identifier": "^7.10.4", "chalk": "^2.0.0", "js-tokens": "^4.0.0" }, @@ -347,111 +342,142 @@ } }, "@babel/parser": { - "version": "7.9.6", - "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.9.6.tgz", - "integrity": "sha512-AoeIEJn8vt+d/6+PXDRPaksYhnlbMIiejioBZvvMQsOjW/JYK6k/0dKnvvP3EhK5GfMBWDPtrxRtegWdAcdq9Q==", + "version": "7.12.7", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.12.7.tgz", + "integrity": "sha512-oWR02Ubp4xTLCAqPRiNIuMVgNO5Aif/xpXtabhzW2HWUD47XJsAB4Zd/Rg30+XeQA3juXigV7hlquOTmwqLiwg==", "dev": true }, "@babel/plugin-proposal-async-generator-functions": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-async-generator-functions/-/plugin-proposal-async-generator-functions-7.8.3.tgz", - "integrity": "sha512-NZ9zLv848JsV3hs8ryEh7Uaz/0KsmPLqv0+PdkDJL1cJy0K4kOCFa8zc1E3mp+RHPQcpdfb/6GovEsW4VDrOMw==", + "version": "7.12.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-async-generator-functions/-/plugin-proposal-async-generator-functions-7.12.1.tgz", + "integrity": "sha512-d+/o30tJxFxrA1lhzJqiUcEJdI6jKlNregCv5bASeGf2Q4MXmnwH7viDo7nhx1/ohf09oaH8j1GVYG/e3Yqk6A==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.8.3", - "@babel/helper-remap-async-to-generator": "^7.8.3", + "@babel/helper-plugin-utils": "^7.10.4", + "@babel/helper-remap-async-to-generator": "^7.12.1", "@babel/plugin-syntax-async-generators": "^7.8.0" } }, "@babel/plugin-proposal-class-properties": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-class-properties/-/plugin-proposal-class-properties-7.8.3.tgz", - "integrity": "sha512-EqFhbo7IosdgPgZggHaNObkmO1kNUe3slaKu54d5OWvy+p9QIKOzK1GAEpAIsZtWVtPXUHSMcT4smvDrCfY4AA==", + "version": "7.12.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-class-properties/-/plugin-proposal-class-properties-7.12.1.tgz", + "integrity": "sha512-cKp3dlQsFsEs5CWKnN7BnSHOd0EOW8EKpEjkoz1pO2E5KzIDNV9Ros1b0CnmbVgAGXJubOYVBOGCT1OmJwOI7w==", "dev": true, "requires": { - "@babel/helper-create-class-features-plugin": "^7.8.3", - "@babel/helper-plugin-utils": "^7.8.3" + "@babel/helper-create-class-features-plugin": "^7.12.1", + "@babel/helper-plugin-utils": "^7.10.4" } }, "@babel/plugin-proposal-dynamic-import": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-dynamic-import/-/plugin-proposal-dynamic-import-7.8.3.tgz", - "integrity": "sha512-NyaBbyLFXFLT9FP+zk0kYlUlA8XtCUbehs67F0nnEg7KICgMc2mNkIeu9TYhKzyXMkrapZFwAhXLdnt4IYHy1w==", + "version": "7.12.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-dynamic-import/-/plugin-proposal-dynamic-import-7.12.1.tgz", + "integrity": "sha512-a4rhUSZFuq5W8/OO8H7BL5zspjnc1FLd9hlOxIK/f7qG4a0qsqk8uvF/ywgBA8/OmjsapjpvaEOYItfGG1qIvQ==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.8.3", + "@babel/helper-plugin-utils": "^7.10.4", "@babel/plugin-syntax-dynamic-import": "^7.8.0" } }, + "@babel/plugin-proposal-export-namespace-from": { + "version": "7.12.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-export-namespace-from/-/plugin-proposal-export-namespace-from-7.12.1.tgz", + "integrity": "sha512-6CThGf0irEkzujYS5LQcjBx8j/4aQGiVv7J9+2f7pGfxqyKh3WnmVJYW3hdrQjyksErMGBPQrCnHfOtna+WLbw==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.10.4", + "@babel/plugin-syntax-export-namespace-from": "^7.8.3" + } + }, "@babel/plugin-proposal-json-strings": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-json-strings/-/plugin-proposal-json-strings-7.8.3.tgz", - "integrity": "sha512-KGhQNZ3TVCQG/MjRbAUwuH+14y9q0tpxs1nWWs3pbSleRdDro9SAMMDyye8HhY1gqZ7/NqIc8SKhya0wRDgP1Q==", + "version": "7.12.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-json-strings/-/plugin-proposal-json-strings-7.12.1.tgz", + "integrity": "sha512-GoLDUi6U9ZLzlSda2Df++VSqDJg3CG+dR0+iWsv6XRw1rEq+zwt4DirM9yrxW6XWaTpmai1cWJLMfM8qQJf+yw==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.8.3", + "@babel/helper-plugin-utils": "^7.10.4", "@babel/plugin-syntax-json-strings": "^7.8.0" } }, + "@babel/plugin-proposal-logical-assignment-operators": { + "version": "7.12.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-logical-assignment-operators/-/plugin-proposal-logical-assignment-operators-7.12.1.tgz", + "integrity": "sha512-k8ZmVv0JU+4gcUGeCDZOGd0lCIamU/sMtIiX3UWnUc5yzgq6YUGyEolNYD+MLYKfSzgECPcqetVcJP9Afe/aCA==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.10.4", + "@babel/plugin-syntax-logical-assignment-operators": "^7.10.4" + } + }, "@babel/plugin-proposal-nullish-coalescing-operator": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-nullish-coalescing-operator/-/plugin-proposal-nullish-coalescing-operator-7.8.3.tgz", - "integrity": "sha512-TS9MlfzXpXKt6YYomudb/KU7nQI6/xnapG6in1uZxoxDghuSMZsPb6D2fyUwNYSAp4l1iR7QtFOjkqcRYcUsfw==", + "version": "7.12.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-nullish-coalescing-operator/-/plugin-proposal-nullish-coalescing-operator-7.12.1.tgz", + "integrity": "sha512-nZY0ESiaQDI1y96+jk6VxMOaL4LPo/QDHBqL+SF3/vl6dHkTwHlOI8L4ZwuRBHgakRBw5zsVylel7QPbbGuYgg==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.8.3", + "@babel/helper-plugin-utils": "^7.10.4", "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.0" } }, "@babel/plugin-proposal-numeric-separator": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-numeric-separator/-/plugin-proposal-numeric-separator-7.8.3.tgz", - "integrity": "sha512-jWioO1s6R/R+wEHizfaScNsAx+xKgwTLNXSh7tTC4Usj3ItsPEhYkEpU4h+lpnBwq7NBVOJXfO6cRFYcX69JUQ==", + "version": "7.12.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-numeric-separator/-/plugin-proposal-numeric-separator-7.12.7.tgz", + "integrity": "sha512-8c+uy0qmnRTeukiGsjLGy6uVs/TFjJchGXUeBqlG4VWYOdJWkhhVPdQ3uHwbmalfJwv2JsV0qffXP4asRfL2SQ==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.8.3", - "@babel/plugin-syntax-numeric-separator": "^7.8.3" + "@babel/helper-plugin-utils": "^7.10.4", + "@babel/plugin-syntax-numeric-separator": "^7.10.4" } }, "@babel/plugin-proposal-object-rest-spread": { - "version": "7.9.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-object-rest-spread/-/plugin-proposal-object-rest-spread-7.9.6.tgz", - "integrity": "sha512-Ga6/fhGqA9Hj+y6whNpPv8psyaK5xzrQwSPsGPloVkvmH+PqW1ixdnfJ9uIO06OjQNYol3PMnfmJ8vfZtkzF+A==", + "version": "7.12.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-object-rest-spread/-/plugin-proposal-object-rest-spread-7.12.1.tgz", + "integrity": "sha512-s6SowJIjzlhx8o7lsFx5zmY4At6CTtDvgNQDdPzkBQucle58A6b/TTeEBYtyDgmcXjUTM+vE8YOGHZzzbc/ioA==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.8.3", + "@babel/helper-plugin-utils": "^7.10.4", "@babel/plugin-syntax-object-rest-spread": "^7.8.0", - "@babel/plugin-transform-parameters": "^7.9.5" + "@babel/plugin-transform-parameters": "^7.12.1" } }, "@babel/plugin-proposal-optional-catch-binding": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-optional-catch-binding/-/plugin-proposal-optional-catch-binding-7.8.3.tgz", - "integrity": "sha512-0gkX7J7E+AtAw9fcwlVQj8peP61qhdg/89D5swOkjYbkboA2CVckn3kiyum1DE0wskGb7KJJxBdyEBApDLLVdw==", + "version": "7.12.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-optional-catch-binding/-/plugin-proposal-optional-catch-binding-7.12.1.tgz", + "integrity": "sha512-hFvIjgprh9mMw5v42sJWLI1lzU5L2sznP805zeT6rySVRA0Y18StRhDqhSxlap0oVgItRsB6WSROp4YnJTJz0g==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.8.3", + "@babel/helper-plugin-utils": "^7.10.4", "@babel/plugin-syntax-optional-catch-binding": "^7.8.0" } }, "@babel/plugin-proposal-optional-chaining": { - "version": "7.9.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-optional-chaining/-/plugin-proposal-optional-chaining-7.9.0.tgz", - "integrity": "sha512-NDn5tu3tcv4W30jNhmc2hyD5c56G6cXx4TesJubhxrJeCvuuMpttxr0OnNCqbZGhFjLrg+NIhxxC+BK5F6yS3w==", + "version": "7.12.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-optional-chaining/-/plugin-proposal-optional-chaining-7.12.7.tgz", + "integrity": "sha512-4ovylXZ0PWmwoOvhU2vhnzVNnm88/Sm9nx7V8BPgMvAzn5zDou3/Awy0EjglyubVHasJj+XCEkr/r1X3P5elCA==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.8.3", + "@babel/helper-plugin-utils": "^7.10.4", + "@babel/helper-skip-transparent-expression-wrappers": "^7.12.1", "@babel/plugin-syntax-optional-chaining": "^7.8.0" } }, + "@babel/plugin-proposal-private-methods": { + "version": "7.12.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-private-methods/-/plugin-proposal-private-methods-7.12.1.tgz", + "integrity": "sha512-mwZ1phvH7/NHK6Kf8LP7MYDogGV+DKB1mryFOEwx5EBNQrosvIczzZFTUmWaeujd5xT6G1ELYWUz3CutMhjE1w==", + "dev": true, + "requires": { + "@babel/helper-create-class-features-plugin": "^7.12.1", + "@babel/helper-plugin-utils": "^7.10.4" + } + }, "@babel/plugin-proposal-unicode-property-regex": { - "version": "7.8.8", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-unicode-property-regex/-/plugin-proposal-unicode-property-regex-7.8.8.tgz", - "integrity": "sha512-EVhjVsMpbhLw9ZfHWSx2iy13Q8Z/eg8e8ccVWt23sWQK5l1UdkoLJPN5w69UA4uITGBnEZD2JOe4QOHycYKv8A==", + "version": "7.12.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-unicode-property-regex/-/plugin-proposal-unicode-property-regex-7.12.1.tgz", + "integrity": "sha512-MYq+l+PvHuw/rKUz1at/vb6nCnQ2gmJBNaM62z0OgH7B2W1D9pvkpYtlti9bGtizNIU1K3zm4bZF9F91efVY0w==", "dev": true, "requires": { - "@babel/helper-create-regexp-features-plugin": "^7.8.8", - "@babel/helper-plugin-utils": "^7.8.3" + "@babel/helper-create-regexp-features-plugin": "^7.12.1", + "@babel/helper-plugin-utils": "^7.10.4" } }, "@babel/plugin-syntax-async-generators": { @@ -463,6 +489,15 @@ "@babel/helper-plugin-utils": "^7.8.0" } }, + "@babel/plugin-syntax-class-properties": { + "version": "7.12.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-class-properties/-/plugin-syntax-class-properties-7.12.1.tgz", + "integrity": "sha512-U40A76x5gTwmESz+qiqssqmeEsKvcSyvtgktrm0uzcARAmM9I1jR221f6Oq+GmHrcD+LvZDag1UTOTe2fL3TeA==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.10.4" + } + }, "@babel/plugin-syntax-dynamic-import": { "version": "7.8.3", "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-dynamic-import/-/plugin-syntax-dynamic-import-7.8.3.tgz", @@ -472,6 +507,15 @@ "@babel/helper-plugin-utils": "^7.8.0" } }, + "@babel/plugin-syntax-export-namespace-from": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-export-namespace-from/-/plugin-syntax-export-namespace-from-7.8.3.tgz", + "integrity": "sha512-MXf5laXo6c1IbEbegDmzGPwGNTsHZmEy6QGznu5Sh2UCWvueywb2ee+CCE4zQiZstxU9BMoQO9i6zUFSY0Kj0Q==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.8.3" + } + }, "@babel/plugin-syntax-json-strings": { "version": "7.8.3", "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-json-strings/-/plugin-syntax-json-strings-7.8.3.tgz", @@ -482,12 +526,21 @@ } }, "@babel/plugin-syntax-jsx": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.8.3.tgz", - "integrity": "sha512-WxdW9xyLgBdefoo0Ynn3MRSkhe5tFVxxKNVdnZSh318WrG2e2jH+E9wd/++JsqcLJZPfz87njQJ8j2Upjm0M0A==", + "version": "7.12.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.12.1.tgz", + "integrity": "sha512-1yRi7yAtB0ETgxdY9ti/p2TivUxJkTdhu/ZbF9MshVGqOx1TdB3b7xCXs49Fupgg50N45KcAsRP/ZqWjs9SRjg==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.8.3" + "@babel/helper-plugin-utils": "^7.10.4" + } + }, + "@babel/plugin-syntax-logical-assignment-operators": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-logical-assignment-operators/-/plugin-syntax-logical-assignment-operators-7.10.4.tgz", + "integrity": "sha512-d8waShlpFDinQ5MtvGU9xDAOzKH47+FFoney2baFIoMr952hKOLp1HR7VszoZvOsV/4+RRszNY7D17ba0te0ig==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.10.4" } }, "@babel/plugin-syntax-nullish-coalescing-operator": { @@ -500,12 +553,12 @@ } }, "@babel/plugin-syntax-numeric-separator": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-numeric-separator/-/plugin-syntax-numeric-separator-7.8.3.tgz", - "integrity": "sha512-H7dCMAdN83PcCmqmkHB5dtp+Xa9a6LKSvA2hiFBC/5alSHxM5VgWZXFqDi0YFe8XNGT6iCa+z4V4zSt/PdZ7Dw==", + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-numeric-separator/-/plugin-syntax-numeric-separator-7.10.4.tgz", + "integrity": "sha512-9H6YdfkcK/uOnY/K7/aA2xpzaAgkQn37yzWUMRK7OaPOqOpGS1+n0H5hxT9AUw9EsSjPW8SVyMJwYRtWs3X3ug==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.8.3" + "@babel/helper-plugin-utils": "^7.10.4" } }, "@babel/plugin-syntax-object-rest-spread": { @@ -536,376 +589,391 @@ } }, "@babel/plugin-syntax-top-level-await": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-top-level-await/-/plugin-syntax-top-level-await-7.8.3.tgz", - "integrity": "sha512-kwj1j9lL/6Wd0hROD3b/OZZ7MSrZLqqn9RAZ5+cYYsflQ9HZBIKCUkr3+uL1MEJ1NePiUbf98jjiMQSv0NMR9g==", + "version": "7.12.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-top-level-await/-/plugin-syntax-top-level-await-7.12.1.tgz", + "integrity": "sha512-i7ooMZFS+a/Om0crxZodrTzNEPJHZrlMVGMTEpFAj6rYY/bKCddB0Dk/YxfPuYXOopuhKk/e1jV6h+WUU9XN3A==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.8.3" + "@babel/helper-plugin-utils": "^7.10.4" } }, "@babel/plugin-transform-arrow-functions": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.8.3.tgz", - "integrity": "sha512-0MRF+KC8EqH4dbuITCWwPSzsyO3HIWWlm30v8BbbpOrS1B++isGxPnnuq/IZvOX5J2D/p7DQalQm+/2PnlKGxg==", + "version": "7.12.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.12.1.tgz", + "integrity": "sha512-5QB50qyN44fzzz4/qxDPQMBCTHgxg3n0xRBLJUmBlLoU/sFvxVWGZF/ZUfMVDQuJUKXaBhbupxIzIfZ6Fwk/0A==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.8.3" + "@babel/helper-plugin-utils": "^7.10.4" } }, "@babel/plugin-transform-async-to-generator": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.8.3.tgz", - "integrity": "sha512-imt9tFLD9ogt56Dd5CI/6XgpukMwd/fLGSrix2httihVe7LOGVPhyhMh1BU5kDM7iHD08i8uUtmV2sWaBFlHVQ==", + "version": "7.12.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.12.1.tgz", + "integrity": "sha512-SDtqoEcarK1DFlRJ1hHRY5HvJUj5kX4qmtpMAm2QnhOlyuMC4TMdCRgW6WXpv93rZeYNeLP22y8Aq2dbcDRM1A==", "dev": true, "requires": { - "@babel/helper-module-imports": "^7.8.3", - "@babel/helper-plugin-utils": "^7.8.3", - "@babel/helper-remap-async-to-generator": "^7.8.3" + "@babel/helper-module-imports": "^7.12.1", + "@babel/helper-plugin-utils": "^7.10.4", + "@babel/helper-remap-async-to-generator": "^7.12.1" } }, "@babel/plugin-transform-block-scoped-functions": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.8.3.tgz", - "integrity": "sha512-vo4F2OewqjbB1+yaJ7k2EJFHlTP3jR634Z9Cj9itpqNjuLXvhlVxgnjsHsdRgASR8xYDrx6onw4vW5H6We0Jmg==", + "version": "7.12.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.12.1.tgz", + "integrity": "sha512-5OpxfuYnSgPalRpo8EWGPzIYf0lHBWORCkj5M0oLBwHdlux9Ri36QqGW3/LR13RSVOAoUUMzoPI/jpE4ABcHoA==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.8.3" + "@babel/helper-plugin-utils": "^7.10.4" } }, "@babel/plugin-transform-block-scoping": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.8.3.tgz", - "integrity": "sha512-pGnYfm7RNRgYRi7bids5bHluENHqJhrV4bCZRwc5GamaWIIs07N4rZECcmJL6ZClwjDz1GbdMZFtPs27hTB06w==", + "version": "7.12.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.12.1.tgz", + "integrity": "sha512-zJyAC9sZdE60r1nVQHblcfCj29Dh2Y0DOvlMkcqSo0ckqjiCwNiUezUKw+RjOCwGfpLRwnAeQ2XlLpsnGkvv9w==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.8.3", - "lodash": "^4.17.13" + "@babel/helper-plugin-utils": "^7.10.4" } }, "@babel/plugin-transform-classes": { - "version": "7.9.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-classes/-/plugin-transform-classes-7.9.5.tgz", - "integrity": "sha512-x2kZoIuLC//O5iA7PEvecB105o7TLzZo8ofBVhP79N+DO3jaX+KYfww9TQcfBEZD0nikNyYcGB1IKtRq36rdmg==", - "dev": true, - "requires": { - "@babel/helper-annotate-as-pure": "^7.8.3", - "@babel/helper-define-map": "^7.8.3", - "@babel/helper-function-name": "^7.9.5", - "@babel/helper-optimise-call-expression": "^7.8.3", - "@babel/helper-plugin-utils": "^7.8.3", - "@babel/helper-replace-supers": "^7.8.6", - "@babel/helper-split-export-declaration": "^7.8.3", + "version": "7.12.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-classes/-/plugin-transform-classes-7.12.1.tgz", + "integrity": "sha512-/74xkA7bVdzQTBeSUhLLJgYIcxw/dpEpCdRDiHgPJ3Mv6uC11UhjpOhl72CgqbBCmt1qtssCyB2xnJm1+PFjog==", + "dev": true, + "requires": { + "@babel/helper-annotate-as-pure": "^7.10.4", + "@babel/helper-define-map": "^7.10.4", + "@babel/helper-function-name": "^7.10.4", + "@babel/helper-optimise-call-expression": "^7.10.4", + "@babel/helper-plugin-utils": "^7.10.4", + "@babel/helper-replace-supers": "^7.12.1", + "@babel/helper-split-export-declaration": "^7.10.4", "globals": "^11.1.0" } }, "@babel/plugin-transform-computed-properties": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.8.3.tgz", - "integrity": "sha512-O5hiIpSyOGdrQZRQ2ccwtTVkgUDBBiCuK//4RJ6UfePllUTCENOzKxfh6ulckXKc0DixTFLCfb2HVkNA7aDpzA==", + "version": "7.12.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.12.1.tgz", + "integrity": "sha512-vVUOYpPWB7BkgUWPo4C44mUQHpTZXakEqFjbv8rQMg7TC6S6ZhGZ3otQcRH6u7+adSlE5i0sp63eMC/XGffrzg==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.8.3" + "@babel/helper-plugin-utils": "^7.10.4" } }, "@babel/plugin-transform-destructuring": { - "version": "7.9.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.9.5.tgz", - "integrity": "sha512-j3OEsGel8nHL/iusv/mRd5fYZ3DrOxWC82x0ogmdN/vHfAP4MYw+AFKYanzWlktNwikKvlzUV//afBW5FTp17Q==", + "version": "7.12.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.12.1.tgz", + "integrity": "sha512-fRMYFKuzi/rSiYb2uRLiUENJOKq4Gnl+6qOv5f8z0TZXg3llUwUhsNNwrwaT/6dUhJTzNpBr+CUvEWBtfNY1cw==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.8.3" + "@babel/helper-plugin-utils": "^7.10.4" } }, "@babel/plugin-transform-dotall-regex": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.8.3.tgz", - "integrity": "sha512-kLs1j9Nn4MQoBYdRXH6AeaXMbEJFaFu/v1nQkvib6QzTj8MZI5OQzqmD83/2jEM1z0DLilra5aWO5YpyC0ALIw==", + "version": "7.12.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.12.1.tgz", + "integrity": "sha512-B2pXeRKoLszfEW7J4Hg9LoFaWEbr/kzo3teWHmtFCszjRNa/b40f9mfeqZsIDLLt/FjwQ6pz/Gdlwy85xNckBA==", "dev": true, "requires": { - "@babel/helper-create-regexp-features-plugin": "^7.8.3", - "@babel/helper-plugin-utils": "^7.8.3" + "@babel/helper-create-regexp-features-plugin": "^7.12.1", + "@babel/helper-plugin-utils": "^7.10.4" } }, "@babel/plugin-transform-duplicate-keys": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.8.3.tgz", - "integrity": "sha512-s8dHiBUbcbSgipS4SMFuWGqCvyge5V2ZeAWzR6INTVC3Ltjig/Vw1G2Gztv0vU/hRG9X8IvKvYdoksnUfgXOEQ==", + "version": "7.12.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.12.1.tgz", + "integrity": "sha512-iRght0T0HztAb/CazveUpUQrZY+aGKKaWXMJ4uf9YJtqxSUe09j3wteztCUDRHs+SRAL7yMuFqUsLoAKKzgXjw==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.8.3" + "@babel/helper-plugin-utils": "^7.10.4" } }, "@babel/plugin-transform-exponentiation-operator": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.8.3.tgz", - "integrity": "sha512-zwIpuIymb3ACcInbksHaNcR12S++0MDLKkiqXHl3AzpgdKlFNhog+z/K0+TGW+b0w5pgTq4H6IwV/WhxbGYSjQ==", + "version": "7.12.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.12.1.tgz", + "integrity": "sha512-7tqwy2bv48q+c1EHbXK0Zx3KXd2RVQp6OC7PbwFNt/dPTAV3Lu5sWtWuAj8owr5wqtWnqHfl2/mJlUmqkChKug==", "dev": true, "requires": { - "@babel/helper-builder-binary-assignment-operator-visitor": "^7.8.3", - "@babel/helper-plugin-utils": "^7.8.3" + "@babel/helper-builder-binary-assignment-operator-visitor": "^7.10.4", + "@babel/helper-plugin-utils": "^7.10.4" } }, "@babel/plugin-transform-for-of": { - "version": "7.9.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.9.0.tgz", - "integrity": "sha512-lTAnWOpMwOXpyDx06N+ywmF3jNbafZEqZ96CGYabxHrxNX8l5ny7dt4bK/rGwAh9utyP2b2Hv7PlZh1AAS54FQ==", + "version": "7.12.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.12.1.tgz", + "integrity": "sha512-Zaeq10naAsuHo7heQvyV0ptj4dlZJwZgNAtBYBnu5nNKJoW62m0zKcIEyVECrUKErkUkg6ajMy4ZfnVZciSBhg==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.8.3" + "@babel/helper-plugin-utils": "^7.10.4" } }, "@babel/plugin-transform-function-name": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.8.3.tgz", - "integrity": "sha512-rO/OnDS78Eifbjn5Py9v8y0aR+aSYhDhqAwVfsTl0ERuMZyr05L1aFSCJnbv2mmsLkit/4ReeQ9N2BgLnOcPCQ==", + "version": "7.12.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.12.1.tgz", + "integrity": "sha512-JF3UgJUILoFrFMEnOJLJkRHSk6LUSXLmEFsA23aR2O5CSLUxbeUX1IZ1YQ7Sn0aXb601Ncwjx73a+FVqgcljVw==", "dev": true, "requires": { - "@babel/helper-function-name": "^7.8.3", - "@babel/helper-plugin-utils": "^7.8.3" + "@babel/helper-function-name": "^7.10.4", + "@babel/helper-plugin-utils": "^7.10.4" } }, "@babel/plugin-transform-literals": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-literals/-/plugin-transform-literals-7.8.3.tgz", - "integrity": "sha512-3Tqf8JJ/qB7TeldGl+TT55+uQei9JfYaregDcEAyBZ7akutriFrt6C/wLYIer6OYhleVQvH/ntEhjE/xMmy10A==", + "version": "7.12.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-literals/-/plugin-transform-literals-7.12.1.tgz", + "integrity": "sha512-+PxVGA+2Ag6uGgL0A5f+9rklOnnMccwEBzwYFL3EUaKuiyVnUipyXncFcfjSkbimLrODoqki1U9XxZzTvfN7IQ==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.8.3" + "@babel/helper-plugin-utils": "^7.10.4" } }, "@babel/plugin-transform-member-expression-literals": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-member-expression-literals/-/plugin-transform-member-expression-literals-7.8.3.tgz", - "integrity": "sha512-3Wk2EXhnw+rP+IDkK6BdtPKsUE5IeZ6QOGrPYvw52NwBStw9V1ZVzxgK6fSKSxqUvH9eQPR3tm3cOq79HlsKYA==", + "version": "7.12.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-member-expression-literals/-/plugin-transform-member-expression-literals-7.12.1.tgz", + "integrity": "sha512-1sxePl6z9ad0gFMB9KqmYofk34flq62aqMt9NqliS/7hPEpURUCMbyHXrMPlo282iY7nAvUB1aQd5mg79UD9Jg==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.8.3" + "@babel/helper-plugin-utils": "^7.10.4" } }, "@babel/plugin-transform-modules-amd": { - "version": "7.9.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.9.6.tgz", - "integrity": "sha512-zoT0kgC3EixAyIAU+9vfaUVKTv9IxBDSabgHoUCBP6FqEJ+iNiN7ip7NBKcYqbfUDfuC2mFCbM7vbu4qJgOnDw==", + "version": "7.12.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.12.1.tgz", + "integrity": "sha512-tDW8hMkzad5oDtzsB70HIQQRBiTKrhfgwC/KkJeGsaNFTdWhKNt/BiE8c5yj19XiGyrxpbkOfH87qkNg1YGlOQ==", "dev": true, "requires": { - "@babel/helper-module-transforms": "^7.9.0", - "@babel/helper-plugin-utils": "^7.8.3", + "@babel/helper-module-transforms": "^7.12.1", + "@babel/helper-plugin-utils": "^7.10.4", "babel-plugin-dynamic-import-node": "^2.3.3" } }, "@babel/plugin-transform-modules-commonjs": { - "version": "7.9.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.9.6.tgz", - "integrity": "sha512-7H25fSlLcn+iYimmsNe3uK1at79IE6SKW9q0/QeEHTMC9MdOZ+4bA+T1VFB5fgOqBWoqlifXRzYD0JPdmIrgSQ==", + "version": "7.12.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.12.1.tgz", + "integrity": "sha512-dY789wq6l0uLY8py9c1B48V8mVL5gZh/+PQ5ZPrylPYsnAvnEMjqsUXkuoDVPeVK+0VyGar+D08107LzDQ6pag==", "dev": true, "requires": { - "@babel/helper-module-transforms": "^7.9.0", - "@babel/helper-plugin-utils": "^7.8.3", - "@babel/helper-simple-access": "^7.8.3", + "@babel/helper-module-transforms": "^7.12.1", + "@babel/helper-plugin-utils": "^7.10.4", + "@babel/helper-simple-access": "^7.12.1", "babel-plugin-dynamic-import-node": "^2.3.3" } }, "@babel/plugin-transform-modules-systemjs": { - "version": "7.9.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.9.6.tgz", - "integrity": "sha512-NW5XQuW3N2tTHim8e1b7qGy7s0kZ2OH3m5octc49K1SdAKGxYxeIx7hiIz05kS1R2R+hOWcsr1eYwcGhrdHsrg==", + "version": "7.12.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.12.1.tgz", + "integrity": "sha512-Hn7cVvOavVh8yvW6fLwveFqSnd7rbQN3zJvoPNyNaQSvgfKmDBO9U1YL9+PCXGRlZD9tNdWTy5ACKqMuzyn32Q==", "dev": true, "requires": { - "@babel/helper-hoist-variables": "^7.8.3", - "@babel/helper-module-transforms": "^7.9.0", - "@babel/helper-plugin-utils": "^7.8.3", + "@babel/helper-hoist-variables": "^7.10.4", + "@babel/helper-module-transforms": "^7.12.1", + "@babel/helper-plugin-utils": "^7.10.4", + "@babel/helper-validator-identifier": "^7.10.4", "babel-plugin-dynamic-import-node": "^2.3.3" } }, "@babel/plugin-transform-modules-umd": { - "version": "7.9.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.9.0.tgz", - "integrity": "sha512-uTWkXkIVtg/JGRSIABdBoMsoIeoHQHPTL0Y2E7xf5Oj7sLqwVsNXOkNk0VJc7vF0IMBsPeikHxFjGe+qmwPtTQ==", + "version": "7.12.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.12.1.tgz", + "integrity": "sha512-aEIubCS0KHKM0zUos5fIoQm+AZUMt1ZvMpqz0/H5qAQ7vWylr9+PLYurT+Ic7ID/bKLd4q8hDovaG3Zch2uz5Q==", "dev": true, "requires": { - "@babel/helper-module-transforms": "^7.9.0", - "@babel/helper-plugin-utils": "^7.8.3" + "@babel/helper-module-transforms": "^7.12.1", + "@babel/helper-plugin-utils": "^7.10.4" } }, "@babel/plugin-transform-named-capturing-groups-regex": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.8.3.tgz", - "integrity": "sha512-f+tF/8UVPU86TrCb06JoPWIdDpTNSGGcAtaD9mLP0aYGA0OS0j7j7DHJR0GTFrUZPUU6loZhbsVZgTh0N+Qdnw==", + "version": "7.12.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.12.1.tgz", + "integrity": "sha512-tB43uQ62RHcoDp9v2Nsf+dSM8sbNodbEicbQNA53zHz8pWUhsgHSJCGpt7daXxRydjb0KnfmB+ChXOv3oADp1Q==", "dev": true, "requires": { - "@babel/helper-create-regexp-features-plugin": "^7.8.3" + "@babel/helper-create-regexp-features-plugin": "^7.12.1" } }, "@babel/plugin-transform-new-target": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.8.3.tgz", - "integrity": "sha512-QuSGysibQpyxexRyui2vca+Cmbljo8bcRckgzYV4kRIsHpVeyeC3JDO63pY+xFZ6bWOBn7pfKZTqV4o/ix9sFw==", + "version": "7.12.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.12.1.tgz", + "integrity": "sha512-+eW/VLcUL5L9IvJH7rT1sT0CzkdUTvPrXC2PXTn/7z7tXLBuKvezYbGdxD5WMRoyvyaujOq2fWoKl869heKjhw==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.8.3" + "@babel/helper-plugin-utils": "^7.10.4" } }, "@babel/plugin-transform-object-super": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.8.3.tgz", - "integrity": "sha512-57FXk+gItG/GejofIyLIgBKTas4+pEU47IXKDBWFTxdPd7F80H8zybyAY7UoblVfBhBGs2EKM+bJUu2+iUYPDQ==", + "version": "7.12.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.12.1.tgz", + "integrity": "sha512-AvypiGJH9hsquNUn+RXVcBdeE3KHPZexWRdimhuV59cSoOt5kFBmqlByorAeUlGG2CJWd0U+4ZtNKga/TB0cAw==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.8.3", - "@babel/helper-replace-supers": "^7.8.3" + "@babel/helper-plugin-utils": "^7.10.4", + "@babel/helper-replace-supers": "^7.12.1" } }, "@babel/plugin-transform-parameters": { - "version": "7.9.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.9.5.tgz", - "integrity": "sha512-0+1FhHnMfj6lIIhVvS4KGQJeuhe1GI//h5uptK4PvLt+BGBxsoUJbd3/IW002yk//6sZPlFgsG1hY6OHLcy6kA==", + "version": "7.12.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.12.1.tgz", + "integrity": "sha512-xq9C5EQhdPK23ZeCdMxl8bbRnAgHFrw5EOC3KJUsSylZqdkCaFEXxGSBuTSObOpiiHHNyb82es8M1QYgfQGfNg==", "dev": true, "requires": { - "@babel/helper-get-function-arity": "^7.8.3", - "@babel/helper-plugin-utils": "^7.8.3" + "@babel/helper-plugin-utils": "^7.10.4" } }, "@babel/plugin-transform-property-literals": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-property-literals/-/plugin-transform-property-literals-7.8.3.tgz", - "integrity": "sha512-uGiiXAZMqEoQhRWMK17VospMZh5sXWg+dlh2soffpkAl96KAm+WZuJfa6lcELotSRmooLqg0MWdH6UUq85nmmg==", + "version": "7.12.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-property-literals/-/plugin-transform-property-literals-7.12.1.tgz", + "integrity": "sha512-6MTCR/mZ1MQS+AwZLplX4cEySjCpnIF26ToWo942nqn8hXSm7McaHQNeGx/pt7suI1TWOWMfa/NgBhiqSnX0cQ==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.8.3" + "@babel/helper-plugin-utils": "^7.10.4" } }, "@babel/plugin-transform-react-display-name": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-display-name/-/plugin-transform-react-display-name-7.8.3.tgz", - "integrity": "sha512-3Jy/PCw8Fe6uBKtEgz3M82ljt+lTg+xJaM4og+eyu83qLT87ZUSckn0wy7r31jflURWLO83TW6Ylf7lyXj3m5A==", + "version": "7.12.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-display-name/-/plugin-transform-react-display-name-7.12.1.tgz", + "integrity": "sha512-cAzB+UzBIrekfYxyLlFqf/OagTvHLcVBb5vpouzkYkBclRPraiygVnafvAoipErZLI8ANv8Ecn6E/m5qPXD26w==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.8.3" + "@babel/helper-plugin-utils": "^7.10.4" } }, "@babel/plugin-transform-react-jsx": { - "version": "7.9.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx/-/plugin-transform-react-jsx-7.9.4.tgz", - "integrity": "sha512-Mjqf3pZBNLt854CK0C/kRuXAnE6H/bo7xYojP+WGtX8glDGSibcwnsWwhwoSuRg0+EBnxPC1ouVnuetUIlPSAw==", + "version": "7.12.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx/-/plugin-transform-react-jsx-7.12.7.tgz", + "integrity": "sha512-YFlTi6MEsclFAPIDNZYiCRbneg1MFGao9pPG9uD5htwE0vDbPaMUMeYd6itWjw7K4kro4UbdQf3ljmFl9y48dQ==", "dev": true, "requires": { - "@babel/helper-builder-react-jsx": "^7.9.0", - "@babel/helper-builder-react-jsx-experimental": "^7.9.0", - "@babel/helper-plugin-utils": "^7.8.3", - "@babel/plugin-syntax-jsx": "^7.8.3" + "@babel/helper-builder-react-jsx": "^7.10.4", + "@babel/helper-builder-react-jsx-experimental": "^7.12.4", + "@babel/helper-plugin-utils": "^7.10.4", + "@babel/plugin-syntax-jsx": "^7.12.1" } }, "@babel/plugin-transform-react-jsx-development": { - "version": "7.9.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx-development/-/plugin-transform-react-jsx-development-7.9.0.tgz", - "integrity": "sha512-tK8hWKrQncVvrhvtOiPpKrQjfNX3DtkNLSX4ObuGcpS9p0QrGetKmlySIGR07y48Zft8WVgPakqd/bk46JrMSw==", + "version": "7.12.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx-development/-/plugin-transform-react-jsx-development-7.12.7.tgz", + "integrity": "sha512-Rs3ETtMtR3VLXFeYRChle5SsP/P9Jp/6dsewBQfokDSzKJThlsuFcnzLTDRALiUmTC48ej19YD9uN1mupEeEDg==", "dev": true, "requires": { - "@babel/helper-builder-react-jsx-experimental": "^7.9.0", - "@babel/helper-plugin-utils": "^7.8.3", - "@babel/plugin-syntax-jsx": "^7.8.3" + "@babel/helper-builder-react-jsx-experimental": "^7.12.4", + "@babel/helper-plugin-utils": "^7.10.4", + "@babel/plugin-syntax-jsx": "^7.12.1" } }, "@babel/plugin-transform-react-jsx-self": { - "version": "7.9.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx-self/-/plugin-transform-react-jsx-self-7.9.0.tgz", - "integrity": "sha512-K2ObbWPKT7KUTAoyjCsFilOkEgMvFG+y0FqOl6Lezd0/13kMkkjHskVsZvblRPj1PHA44PrToaZANrryppzTvQ==", + "version": "7.12.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx-self/-/plugin-transform-react-jsx-self-7.12.1.tgz", + "integrity": "sha512-FbpL0ieNWiiBB5tCldX17EtXgmzeEZjFrix72rQYeq9X6nUK38HCaxexzVQrZWXanxKJPKVVIU37gFjEQYkPkA==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.8.3", - "@babel/plugin-syntax-jsx": "^7.8.3" + "@babel/helper-plugin-utils": "^7.10.4" } }, "@babel/plugin-transform-react-jsx-source": { - "version": "7.9.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx-source/-/plugin-transform-react-jsx-source-7.9.0.tgz", - "integrity": "sha512-K6m3LlSnTSfRkM6FcRk8saNEeaeyG5k7AVkBU2bZK3+1zdkSED3qNdsWrUgQBeTVD2Tp3VMmerxVO2yM5iITmw==", + "version": "7.12.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx-source/-/plugin-transform-react-jsx-source-7.12.1.tgz", + "integrity": "sha512-keQ5kBfjJNRc6zZN1/nVHCd6LLIHq4aUKcVnvE/2l+ZZROSbqoiGFRtT5t3Is89XJxBQaP7NLZX2jgGHdZvvFQ==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.8.3", - "@babel/plugin-syntax-jsx": "^7.8.3" + "@babel/helper-plugin-utils": "^7.10.4" + } + }, + "@babel/plugin-transform-react-pure-annotations": { + "version": "7.12.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-pure-annotations/-/plugin-transform-react-pure-annotations-7.12.1.tgz", + "integrity": "sha512-RqeaHiwZtphSIUZ5I85PEH19LOSzxfuEazoY7/pWASCAIBuATQzpSVD+eT6MebeeZT2F4eSL0u4vw6n4Nm0Mjg==", + "dev": true, + "requires": { + "@babel/helper-annotate-as-pure": "^7.10.4", + "@babel/helper-plugin-utils": "^7.10.4" } }, "@babel/plugin-transform-regenerator": { - "version": "7.8.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.8.7.tgz", - "integrity": "sha512-TIg+gAl4Z0a3WmD3mbYSk+J9ZUH6n/Yc57rtKRnlA/7rcCvpekHXe0CMZHP1gYp7/KLe9GHTuIba0vXmls6drA==", + "version": "7.12.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.12.1.tgz", + "integrity": "sha512-gYrHqs5itw6i4PflFX3OdBPMQdPbF4bj2REIUxlMRUFk0/ZOAIpDFuViuxPjUL7YC8UPnf+XG7/utJvqXdPKng==", "dev": true, "requires": { "regenerator-transform": "^0.14.2" } }, "@babel/plugin-transform-reserved-words": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-reserved-words/-/plugin-transform-reserved-words-7.8.3.tgz", - "integrity": "sha512-mwMxcycN3omKFDjDQUl+8zyMsBfjRFr0Zn/64I41pmjv4NJuqcYlEtezwYtw9TFd9WR1vN5kiM+O0gMZzO6L0A==", + "version": "7.12.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-reserved-words/-/plugin-transform-reserved-words-7.12.1.tgz", + "integrity": "sha512-pOnUfhyPKvZpVyBHhSBoX8vfA09b7r00Pmm1sH+29ae2hMTKVmSp4Ztsr8KBKjLjx17H0eJqaRC3bR2iThM54A==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.8.3" + "@babel/helper-plugin-utils": "^7.10.4" } }, "@babel/plugin-transform-shorthand-properties": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.8.3.tgz", - "integrity": "sha512-I9DI6Odg0JJwxCHzbzW08ggMdCezoWcuQRz3ptdudgwaHxTjxw5HgdFJmZIkIMlRymL6YiZcped4TTCB0JcC8w==", + "version": "7.12.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.12.1.tgz", + "integrity": "sha512-GFZS3c/MhX1OusqB1MZ1ct2xRzX5ppQh2JU1h2Pnfk88HtFTM+TWQqJNfwkmxtPQtb/s1tk87oENfXJlx7rSDw==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.8.3" + "@babel/helper-plugin-utils": "^7.10.4" } }, "@babel/plugin-transform-spread": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-spread/-/plugin-transform-spread-7.8.3.tgz", - "integrity": "sha512-CkuTU9mbmAoFOI1tklFWYYbzX5qCIZVXPVy0jpXgGwkplCndQAa58s2jr66fTeQnA64bDox0HL4U56CFYoyC7g==", + "version": "7.12.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-spread/-/plugin-transform-spread-7.12.1.tgz", + "integrity": "sha512-vuLp8CP0BE18zVYjsEBZ5xoCecMK6LBMMxYzJnh01rxQRvhNhH1csMMmBfNo5tGpGO+NhdSNW2mzIvBu3K1fng==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.8.3" + "@babel/helper-plugin-utils": "^7.10.4", + "@babel/helper-skip-transparent-expression-wrappers": "^7.12.1" } }, "@babel/plugin-transform-sticky-regex": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.8.3.tgz", - "integrity": "sha512-9Spq0vGCD5Bb4Z/ZXXSK5wbbLFMG085qd2vhL1JYu1WcQ5bXqZBAYRzU1d+p79GcHs2szYv5pVQCX13QgldaWw==", + "version": "7.12.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.12.7.tgz", + "integrity": "sha512-VEiqZL5N/QvDbdjfYQBhruN0HYjSPjC4XkeqW4ny/jNtH9gcbgaqBIXYEZCNnESMAGs0/K/R7oFGMhOyu/eIxg==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.8.3", - "@babel/helper-regex": "^7.8.3" + "@babel/helper-plugin-utils": "^7.10.4" } }, "@babel/plugin-transform-template-literals": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.8.3.tgz", - "integrity": "sha512-820QBtykIQOLFT8NZOcTRJ1UNuztIELe4p9DCgvj4NK+PwluSJ49we7s9FB1HIGNIYT7wFUJ0ar2QpCDj0escQ==", + "version": "7.12.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.12.1.tgz", + "integrity": "sha512-b4Zx3KHi+taXB1dVRBhVJtEPi9h1THCeKmae2qP0YdUHIFhVjtpqqNfxeVAa1xeHVhAy4SbHxEwx5cltAu5apw==", "dev": true, "requires": { - "@babel/helper-annotate-as-pure": "^7.8.3", - "@babel/helper-plugin-utils": "^7.8.3" + "@babel/helper-plugin-utils": "^7.10.4" } }, "@babel/plugin-transform-typeof-symbol": { - "version": "7.8.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.8.4.tgz", - "integrity": "sha512-2QKyfjGdvuNfHsb7qnBBlKclbD4CfshH2KvDabiijLMGXPHJXGxtDzwIF7bQP+T0ysw8fYTtxPafgfs/c1Lrqg==", + "version": "7.12.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.12.1.tgz", + "integrity": "sha512-EPGgpGy+O5Kg5pJFNDKuxt9RdmTgj5sgrus2XVeMp/ZIbOESadgILUbm50SNpghOh3/6yrbsH+NB5+WJTmsA7Q==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.8.3" + "@babel/helper-plugin-utils": "^7.10.4" + } + }, + "@babel/plugin-transform-unicode-escapes": { + "version": "7.12.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-escapes/-/plugin-transform-unicode-escapes-7.12.1.tgz", + "integrity": "sha512-I8gNHJLIc7GdApm7wkVnStWssPNbSRMPtgHdmH3sRM1zopz09UWPS4x5V4n1yz/MIWTVnJ9sp6IkuXdWM4w+2Q==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.10.4" } }, "@babel/plugin-transform-unicode-regex": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.8.3.tgz", - "integrity": "sha512-+ufgJjYdmWfSQ+6NS9VGUR2ns8cjJjYbrbi11mZBTaWm+Fui/ncTLFF28Ei1okavY+xkojGr1eJxNsWYeA5aZw==", + "version": "7.12.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.12.1.tgz", + "integrity": "sha512-SqH4ClNngh/zGwHZOOQMTD+e8FGWexILV+ePMyiDJttAWRh5dhDL8rcl5lSgU3Huiq6Zn6pWTMvdPAb21Dwdyg==", "dev": true, "requires": { - "@babel/helper-create-regexp-features-plugin": "^7.8.3", - "@babel/helper-plugin-utils": "^7.8.3" + "@babel/helper-create-regexp-features-plugin": "^7.12.1", + "@babel/helper-plugin-utils": "^7.10.4" } }, "@babel/polyfill": { - "version": "7.8.7", - "resolved": "https://registry.npmjs.org/@babel/polyfill/-/polyfill-7.8.7.tgz", - "integrity": "sha512-LeSfP9bNZH2UOZgcGcZ0PIHUt1ZuHub1L3CVmEyqLxCeDLm4C5Gi8jRH8ZX2PNpDhQCo0z6y/+DIs2JlliXW8w==", + "version": "7.12.1", + "resolved": "https://registry.npmjs.org/@babel/polyfill/-/polyfill-7.12.1.tgz", + "integrity": "sha512-X0pi0V6gxLi6lFZpGmeNa4zxtwEmCs42isWLNjZZDE0Y8yVfgu0T2OAHlzBbdYlqbW/YXVvoBHpATEM+goCj8g==", "dev": true, "requires": { "core-js": "^2.6.5", @@ -913,77 +981,83 @@ } }, "@babel/preset-env": { - "version": "7.9.6", - "resolved": "https://registry.npmjs.org/@babel/preset-env/-/preset-env-7.9.6.tgz", - "integrity": "sha512-0gQJ9RTzO0heXOhzftog+a/WyOuqMrAIugVYxMYf83gh1CQaQDjMtsOpqOwXyDL/5JcWsrCm8l4ju8QC97O7EQ==", - "dev": true, - "requires": { - "@babel/compat-data": "^7.9.6", - "@babel/helper-compilation-targets": "^7.9.6", - "@babel/helper-module-imports": "^7.8.3", - "@babel/helper-plugin-utils": "^7.8.3", - "@babel/plugin-proposal-async-generator-functions": "^7.8.3", - "@babel/plugin-proposal-dynamic-import": "^7.8.3", - "@babel/plugin-proposal-json-strings": "^7.8.3", - "@babel/plugin-proposal-nullish-coalescing-operator": "^7.8.3", - "@babel/plugin-proposal-numeric-separator": "^7.8.3", - "@babel/plugin-proposal-object-rest-spread": "^7.9.6", - "@babel/plugin-proposal-optional-catch-binding": "^7.8.3", - "@babel/plugin-proposal-optional-chaining": "^7.9.0", - "@babel/plugin-proposal-unicode-property-regex": "^7.8.3", + "version": "7.12.7", + "resolved": "https://registry.npmjs.org/@babel/preset-env/-/preset-env-7.12.7.tgz", + "integrity": "sha512-OnNdfAr1FUQg7ksb7bmbKoby4qFOHw6DKWWUNB9KqnnCldxhxJlP+21dpyaWFmf2h0rTbOkXJtAGevY3XW1eew==", + "dev": true, + "requires": { + "@babel/compat-data": "^7.12.7", + "@babel/helper-compilation-targets": "^7.12.5", + "@babel/helper-module-imports": "^7.12.5", + "@babel/helper-plugin-utils": "^7.10.4", + "@babel/helper-validator-option": "^7.12.1", + "@babel/plugin-proposal-async-generator-functions": "^7.12.1", + "@babel/plugin-proposal-class-properties": "^7.12.1", + "@babel/plugin-proposal-dynamic-import": "^7.12.1", + "@babel/plugin-proposal-export-namespace-from": "^7.12.1", + "@babel/plugin-proposal-json-strings": "^7.12.1", + "@babel/plugin-proposal-logical-assignment-operators": "^7.12.1", + "@babel/plugin-proposal-nullish-coalescing-operator": "^7.12.1", + "@babel/plugin-proposal-numeric-separator": "^7.12.7", + "@babel/plugin-proposal-object-rest-spread": "^7.12.1", + "@babel/plugin-proposal-optional-catch-binding": "^7.12.1", + "@babel/plugin-proposal-optional-chaining": "^7.12.7", + "@babel/plugin-proposal-private-methods": "^7.12.1", + "@babel/plugin-proposal-unicode-property-regex": "^7.12.1", "@babel/plugin-syntax-async-generators": "^7.8.0", + "@babel/plugin-syntax-class-properties": "^7.12.1", "@babel/plugin-syntax-dynamic-import": "^7.8.0", + "@babel/plugin-syntax-export-namespace-from": "^7.8.3", "@babel/plugin-syntax-json-strings": "^7.8.0", + "@babel/plugin-syntax-logical-assignment-operators": "^7.10.4", "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.0", - "@babel/plugin-syntax-numeric-separator": "^7.8.0", + "@babel/plugin-syntax-numeric-separator": "^7.10.4", "@babel/plugin-syntax-object-rest-spread": "^7.8.0", "@babel/plugin-syntax-optional-catch-binding": "^7.8.0", "@babel/plugin-syntax-optional-chaining": "^7.8.0", - "@babel/plugin-syntax-top-level-await": "^7.8.3", - "@babel/plugin-transform-arrow-functions": "^7.8.3", - "@babel/plugin-transform-async-to-generator": "^7.8.3", - "@babel/plugin-transform-block-scoped-functions": "^7.8.3", - "@babel/plugin-transform-block-scoping": "^7.8.3", - "@babel/plugin-transform-classes": "^7.9.5", - "@babel/plugin-transform-computed-properties": "^7.8.3", - "@babel/plugin-transform-destructuring": "^7.9.5", - "@babel/plugin-transform-dotall-regex": "^7.8.3", - "@babel/plugin-transform-duplicate-keys": "^7.8.3", - "@babel/plugin-transform-exponentiation-operator": "^7.8.3", - "@babel/plugin-transform-for-of": "^7.9.0", - "@babel/plugin-transform-function-name": "^7.8.3", - "@babel/plugin-transform-literals": "^7.8.3", - "@babel/plugin-transform-member-expression-literals": "^7.8.3", - "@babel/plugin-transform-modules-amd": "^7.9.6", - "@babel/plugin-transform-modules-commonjs": "^7.9.6", - "@babel/plugin-transform-modules-systemjs": "^7.9.6", - "@babel/plugin-transform-modules-umd": "^7.9.0", - "@babel/plugin-transform-named-capturing-groups-regex": "^7.8.3", - "@babel/plugin-transform-new-target": "^7.8.3", - "@babel/plugin-transform-object-super": "^7.8.3", - "@babel/plugin-transform-parameters": "^7.9.5", - "@babel/plugin-transform-property-literals": "^7.8.3", - "@babel/plugin-transform-regenerator": "^7.8.7", - "@babel/plugin-transform-reserved-words": "^7.8.3", - "@babel/plugin-transform-shorthand-properties": "^7.8.3", - "@babel/plugin-transform-spread": "^7.8.3", - "@babel/plugin-transform-sticky-regex": "^7.8.3", - "@babel/plugin-transform-template-literals": "^7.8.3", - "@babel/plugin-transform-typeof-symbol": "^7.8.4", - "@babel/plugin-transform-unicode-regex": "^7.8.3", + "@babel/plugin-syntax-top-level-await": "^7.12.1", + "@babel/plugin-transform-arrow-functions": "^7.12.1", + "@babel/plugin-transform-async-to-generator": "^7.12.1", + "@babel/plugin-transform-block-scoped-functions": "^7.12.1", + "@babel/plugin-transform-block-scoping": "^7.12.1", + "@babel/plugin-transform-classes": "^7.12.1", + "@babel/plugin-transform-computed-properties": "^7.12.1", + "@babel/plugin-transform-destructuring": "^7.12.1", + "@babel/plugin-transform-dotall-regex": "^7.12.1", + "@babel/plugin-transform-duplicate-keys": "^7.12.1", + "@babel/plugin-transform-exponentiation-operator": "^7.12.1", + "@babel/plugin-transform-for-of": "^7.12.1", + "@babel/plugin-transform-function-name": "^7.12.1", + "@babel/plugin-transform-literals": "^7.12.1", + "@babel/plugin-transform-member-expression-literals": "^7.12.1", + "@babel/plugin-transform-modules-amd": "^7.12.1", + "@babel/plugin-transform-modules-commonjs": "^7.12.1", + "@babel/plugin-transform-modules-systemjs": "^7.12.1", + "@babel/plugin-transform-modules-umd": "^7.12.1", + "@babel/plugin-transform-named-capturing-groups-regex": "^7.12.1", + "@babel/plugin-transform-new-target": "^7.12.1", + "@babel/plugin-transform-object-super": "^7.12.1", + "@babel/plugin-transform-parameters": "^7.12.1", + "@babel/plugin-transform-property-literals": "^7.12.1", + "@babel/plugin-transform-regenerator": "^7.12.1", + "@babel/plugin-transform-reserved-words": "^7.12.1", + "@babel/plugin-transform-shorthand-properties": "^7.12.1", + "@babel/plugin-transform-spread": "^7.12.1", + "@babel/plugin-transform-sticky-regex": "^7.12.7", + "@babel/plugin-transform-template-literals": "^7.12.1", + "@babel/plugin-transform-typeof-symbol": "^7.12.1", + "@babel/plugin-transform-unicode-escapes": "^7.12.1", + "@babel/plugin-transform-unicode-regex": "^7.12.1", "@babel/preset-modules": "^0.1.3", - "@babel/types": "^7.9.6", - "browserslist": "^4.11.1", - "core-js-compat": "^3.6.2", - "invariant": "^2.2.2", - "levenary": "^1.1.1", + "@babel/types": "^7.12.7", + "core-js-compat": "^3.7.0", "semver": "^5.5.0" } }, "@babel/preset-modules": { - "version": "0.1.3", - "resolved": "https://registry.npmjs.org/@babel/preset-modules/-/preset-modules-0.1.3.tgz", - "integrity": "sha512-Ra3JXOHBq2xd56xSF7lMKXdjBn3T772Y1Wet3yWnkDly9zHvJki029tAFzvAAK5cf4YV3yoxuP61crYRol6SVg==", + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/@babel/preset-modules/-/preset-modules-0.1.4.tgz", + "integrity": "sha512-J36NhwnfdzpmH41M1DrnkkgAqhZaqr/NBdPfQ677mLzlaXo+oDiv1deyCDtgAhz8p328otdob0Du7+xgHGZbKg==", "dev": true, "requires": { "@babel/helper-plugin-utils": "^7.0.0", @@ -994,77 +1068,78 @@ } }, "@babel/preset-react": { - "version": "7.9.4", - "resolved": "https://registry.npmjs.org/@babel/preset-react/-/preset-react-7.9.4.tgz", - "integrity": "sha512-AxylVB3FXeOTQXNXyiuAQJSvss62FEotbX2Pzx3K/7c+MKJMdSg6Ose6QYllkdCFA8EInCJVw7M/o5QbLuA4ZQ==", + "version": "7.12.7", + "resolved": "https://registry.npmjs.org/@babel/preset-react/-/preset-react-7.12.7.tgz", + "integrity": "sha512-wKeTdnGUP5AEYCYQIMeXMMwU7j+2opxrG0WzuZfxuuW9nhKvvALBjl67653CWamZJVefuJGI219G591RSldrqQ==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.8.3", - "@babel/plugin-transform-react-display-name": "^7.8.3", - "@babel/plugin-transform-react-jsx": "^7.9.4", - "@babel/plugin-transform-react-jsx-development": "^7.9.0", - "@babel/plugin-transform-react-jsx-self": "^7.9.0", - "@babel/plugin-transform-react-jsx-source": "^7.9.0" + "@babel/helper-plugin-utils": "^7.10.4", + "@babel/plugin-transform-react-display-name": "^7.12.1", + "@babel/plugin-transform-react-jsx": "^7.12.7", + "@babel/plugin-transform-react-jsx-development": "^7.12.7", + "@babel/plugin-transform-react-jsx-self": "^7.12.1", + "@babel/plugin-transform-react-jsx-source": "^7.12.1", + "@babel/plugin-transform-react-pure-annotations": "^7.12.1" } }, "@babel/register": { - "version": "7.9.0", - "resolved": "https://registry.npmjs.org/@babel/register/-/register-7.9.0.tgz", - "integrity": "sha512-Tv8Zyi2J2VRR8g7pC5gTeIN8Ihultbmk0ocyNz8H2nEZbmhp1N6q0A1UGsQbDvGP/sNinQKUHf3SqXwqjtFv4Q==", + "version": "7.12.1", + "resolved": "https://registry.npmjs.org/@babel/register/-/register-7.12.1.tgz", + "integrity": "sha512-XWcmseMIncOjoydKZnWvWi0/5CUCD+ZYKhRwgYlWOrA8fGZ/FjuLRpqtIhLOVD/fvR1b9DQHtZPn68VvhpYf+Q==", "dev": true, "requires": { "find-cache-dir": "^2.0.0", - "lodash": "^4.17.13", + "lodash": "^4.17.19", "make-dir": "^2.1.0", "pirates": "^4.0.0", "source-map-support": "^0.5.16" } }, "@babel/runtime": { - "version": "7.9.6", - "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.9.6.tgz", - "integrity": "sha512-64AF1xY3OAkFHqOb9s4jpgk1Mm5vDZ4L3acHvAml+53nO1XbXLuDodsVpO4OIUsmemlUHMxNdYMNJmsvOwLrvQ==", + "version": "7.12.5", + "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.12.5.tgz", + "integrity": "sha512-plcc+hbExy3McchJCEQG3knOsuh3HH+Prx1P6cLIkET/0dLuQDEnrT+s27Axgc9bqfsmNUNHfscgMUdBpC9xfg==", "dev": true, "requires": { "regenerator-runtime": "^0.13.4" } }, "@babel/template": { - "version": "7.8.6", - "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.8.6.tgz", - "integrity": "sha512-zbMsPMy/v0PWFZEhQJ66bqjhH+z0JgMoBWuikXybgG3Gkd/3t5oQ1Rw2WQhnSrsOmsKXnZOx15tkC4qON/+JPg==", + "version": "7.12.7", + "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.12.7.tgz", + "integrity": "sha512-GkDzmHS6GV7ZeXfJZ0tLRBhZcMcY0/Lnb+eEbXDBfCAcZCjrZKe6p3J4we/D24O9Y8enxWAg1cWwof59yLh2ow==", "dev": true, "requires": { - "@babel/code-frame": "^7.8.3", - "@babel/parser": "^7.8.6", - "@babel/types": "^7.8.6" + "@babel/code-frame": "^7.10.4", + "@babel/parser": "^7.12.7", + "@babel/types": "^7.12.7" } }, "@babel/traverse": { - "version": "7.9.6", - "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.9.6.tgz", - "integrity": "sha512-b3rAHSjbxy6VEAvlxM8OV/0X4XrG72zoxme6q1MOoe2vd0bEc+TwayhuC1+Dfgqh1QEG+pj7atQqvUprHIccsg==", + "version": "7.12.9", + "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.12.9.tgz", + "integrity": "sha512-iX9ajqnLdoU1s1nHt36JDI9KG4k+vmI8WgjK5d+aDTwQbL2fUnzedNedssA645Ede3PM2ma1n8Q4h2ohwXgMXw==", "dev": true, "requires": { - "@babel/code-frame": "^7.8.3", - "@babel/generator": "^7.9.6", - "@babel/helper-function-name": "^7.9.5", - "@babel/helper-split-export-declaration": "^7.8.3", - "@babel/parser": "^7.9.6", - "@babel/types": "^7.9.6", + "@babel/code-frame": "^7.10.4", + "@babel/generator": "^7.12.5", + "@babel/helper-function-name": "^7.10.4", + "@babel/helper-split-export-declaration": "^7.11.0", + "@babel/parser": "^7.12.7", + "@babel/types": "^7.12.7", "debug": "^4.1.0", "globals": "^11.1.0", - "lodash": "^4.17.13" + "lodash": "^4.17.19" } }, "@babel/types": { - "version": "7.9.6", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.9.6.tgz", - "integrity": "sha512-qxXzvBO//jO9ZnoasKF1uJzHd2+M6Q2ZPIVfnFps8JJvXy0ZBbwbNOmE6SGIY5XOY6d1Bo5lb9d9RJ8nv3WSeA==", + "version": "7.12.7", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.12.7.tgz", + "integrity": "sha512-MNyI92qZq6jrQkXvtIiykvl4WtoRrVV9MPn+ZfsoEENjiWcBQ3ZSHrkxnJWgWtLX3XXqX5hrSQ+X69wkmesXuQ==", "dev": true, "requires": { - "@babel/helper-validator-identifier": "^7.9.5", - "lodash": "^4.17.13", + "@babel/helper-validator-identifier": "^7.10.4", + "lodash": "^4.17.19", "to-fast-properties": "^2.0.0" } }, @@ -1091,24 +1166,18 @@ "dev": true }, "@types/cheerio": { - "version": "0.22.18", - "resolved": "https://registry.npmjs.org/@types/cheerio/-/cheerio-0.22.18.tgz", - "integrity": "sha512-Fq7R3fINAPSdUEhOyjG4iVxgHrOnqDJbY0/BUuiN0pvD/rfmZWekVZnv+vcs8TtpA2XF50uv50LaE4EnpEL/Hw==", + "version": "0.22.22", + "resolved": "https://registry.npmjs.org/@types/cheerio/-/cheerio-0.22.22.tgz", + "integrity": "sha512-05DYX4zU96IBfZFY+t3Mh88nlwSMtmmzSYaQkKN48T495VV1dkHSah6qYyDTN5ngaS0i0VonH37m+RuzSM0YiA==", "dev": true, "requires": { "@types/node": "*" } }, - "@types/color-name": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/@types/color-name/-/color-name-1.1.1.tgz", - "integrity": "sha512-rr+OQyAjxze7GgWrSaJwydHStIhHq2lvY3BOC2Mj7KnzI7XK0Uw1TOOdI9lDoajEbSWLiYgoo4f1R51erQfhPQ==", - "dev": true - }, "@types/node": { - "version": "14.0.1", - "resolved": "https://registry.npmjs.org/@types/node/-/node-14.0.1.tgz", - "integrity": "sha512-FAYBGwC+W6F9+huFIDtn43cpy7+SzG+atzRiTfdp3inUKL2hXnd4rG8hylJLIh4+hqrQy1P17kvJByE/z825hA==", + "version": "14.14.10", + "resolved": "https://registry.npmjs.org/@types/node/-/node-14.14.10.tgz", + "integrity": "sha512-J32dgx2hw8vXrSbu4ZlVhn1Nm3GbeCFNw2FWL8S5QKucHGY0cyNwjdQdO+KMBZ4wpmC7KhLCiNsdk1RFRIYUQQ==", "dev": true }, "@types/q": { @@ -1134,9 +1203,9 @@ "dev": true }, "ajv": { - "version": "6.12.2", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.2.tgz", - "integrity": "sha512-k+V+hzjm5q/Mr8ef/1Y9goCmlsK4I6Sm74teeyGvFk1XrOsbsKLjEdrvny42CZ+a8sXbk8KWpY/bDwS+FLL2UQ==", + "version": "6.12.6", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", + "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", "dev": true, "requires": { "fast-deep-equal": "^3.1.1", @@ -1209,9 +1278,9 @@ } }, "arch": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/arch/-/arch-2.1.2.tgz", - "integrity": "sha512-NTBIIbAfkJeIletyABbVtdPgeKfDafR+1mZV/AyyfC1UkVkp9iUjV+wwmqtUgphHYajbI86jejBJp5e+jkGTiQ==", + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/arch/-/arch-2.2.0.tgz", + "integrity": "sha512-Of/R0wqp83cgHozfIYLbBMnej79U/SVGOOyuB3VVFv1NRM/PSFMK12x9KVtiYzJqmnU5WR2qp0Z5rHb7sWGnFQ==", "dev": true }, "archive-type": { @@ -1355,37 +1424,18 @@ } }, "autoprefixer": { - "version": "9.7.6", - "resolved": "https://registry.npmjs.org/autoprefixer/-/autoprefixer-9.7.6.tgz", - "integrity": "sha512-F7cYpbN7uVVhACZTeeIeealwdGM6wMtfWARVLTy5xmKtgVdBNJvbDRoCK3YO1orcs7gv/KwYlb3iXwu9Ug9BkQ==", + "version": "9.8.6", + "resolved": "https://registry.npmjs.org/autoprefixer/-/autoprefixer-9.8.6.tgz", + "integrity": "sha512-XrvP4VVHdRBCdX1S3WXVD8+RyG9qeb1D5Sn1DeLiG2xfSpzellk5k54xbUERJ3M5DggQxes39UGOTP8CFrEGbg==", "dev": true, "requires": { - "browserslist": "^4.11.1", - "caniuse-lite": "^1.0.30001039", - "chalk": "^2.4.2", + "browserslist": "^4.12.0", + "caniuse-lite": "^1.0.30001109", + "colorette": "^1.2.1", "normalize-range": "^0.1.2", "num2fraction": "^1.2.2", - "postcss": "^7.0.27", - "postcss-value-parser": "^4.0.3" - }, - "dependencies": { - "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" - } - }, - "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 - } + "postcss": "^7.0.32", + "postcss-value-parser": "^4.1.0" } }, "aws-sign2": { @@ -1395,9 +1445,9 @@ "dev": true }, "aws4": { - "version": "1.9.1", - "resolved": "https://registry.npmjs.org/aws4/-/aws4-1.9.1.tgz", - "integrity": "sha512-wMHVg2EOHaMRxbzgFJ9gtjOOCrI80OHLG14rxi28XwOW8ux6IiEbRCGGGqCtdAIg4FQCbW20k9RsT4y3gJlFug==", + "version": "1.11.0", + "resolved": "https://registry.npmjs.org/aws4/-/aws4-1.11.0.tgz", + "integrity": "sha512-xh1Rl34h6Fi1DC2WWKfxUTVqRsNnr6LsKz2+hfwDxQJWmrx8+c7ylaqBMcHfl1U1r2dsifOvKX3LQuLNZ+XSvA==", "dev": true }, "babel-code-frame": { @@ -1527,9 +1577,9 @@ } }, "base64-js": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.3.1.tgz", - "integrity": "sha512-mLQ4i2QO1ytvGWFWmcngKO//JXAQueZvwEKtjgQFM4jIK0kU+ytMfplL8j+n5mspOfjHwoAg+9yhb7BwAHm36g==", + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz", + "integrity": "sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==", "dev": true }, "bcrypt-pbkdf": { @@ -1786,9 +1836,9 @@ } }, "bl": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/bl/-/bl-1.2.2.tgz", - "integrity": "sha512-e8tQYnZodmebYDWGH7KMRvtzKXaJHx3BbilrgZCfvyLUYdKpK1t5PSPmpkny/SgiTSCnjfLW7v5rlONXVFkQEA==", + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/bl/-/bl-1.2.3.tgz", + "integrity": "sha512-pvcNpa0UU69UT341rO6AYy4FVAIkUHuZXRIWbq+zHnsVcRzDDjIAhGuuYoi0d//cwIwtt4pkpKycWEfjdV+vww==", "dev": true, "requires": { "readable-stream": "^2.3.5", @@ -1918,25 +1968,26 @@ } }, "browserslist": { - "version": "4.12.0", - "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.12.0.tgz", - "integrity": "sha512-UH2GkcEDSI0k/lRkuDSzFl9ZZ87skSy9w2XAn1MsZnL+4c4rqbBd3e82UWHbYDpztABrPBhZsTEeuxVfHppqDg==", + "version": "4.15.0", + "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.15.0.tgz", + "integrity": "sha512-IJ1iysdMkGmjjYeRlDU8PQejVwxvVO5QOfXH7ylW31GO6LwNRSmm/SgRXtNsEXqMLl2e+2H5eEJ7sfynF8TCaQ==", "dev": true, "requires": { - "caniuse-lite": "^1.0.30001043", - "electron-to-chromium": "^1.3.413", - "node-releases": "^1.1.53", - "pkg-up": "^2.0.0" + "caniuse-lite": "^1.0.30001164", + "colorette": "^1.2.1", + "electron-to-chromium": "^1.3.612", + "escalade": "^3.1.1", + "node-releases": "^1.1.67" } }, "buffer": { - "version": "5.6.0", - "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.6.0.tgz", - "integrity": "sha512-/gDYp/UtU0eA1ys8bOs9J6a+E/KWIY+DZ+Q2WESNUA0jFRsJOc0SNUO6xJ5SGA1xueg3NL65W6s+NY5l9cunuw==", + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.7.1.tgz", + "integrity": "sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==", "dev": true, "requires": { - "base64-js": "^1.0.2", - "ieee754": "^1.1.4" + "base64-js": "^1.3.1", + "ieee754": "^1.1.13" } }, "buffer-alloc": { @@ -2045,6 +2096,16 @@ } } }, + "call-bind": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.0.tgz", + "integrity": "sha512-AEXsYIyyDY3MCzbwdhzG3Jx1R0J2wetQyUynn6dYHAO+bg8l1k7jwZtRv4ryryFs7EP+NDlikJlVe59jr0cM2w==", + "dev": true, + "requires": { + "function-bind": "^1.1.1", + "get-intrinsic": "^1.0.0" + } + }, "call-me-maybe": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/call-me-maybe/-/call-me-maybe-1.0.1.tgz", @@ -2104,9 +2165,9 @@ } }, "caniuse-lite": { - "version": "1.0.30001061", - "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001061.tgz", - "integrity": "sha512-SMICCeiNvMZnyXpuoO+ot7FHpMVPlrsR+HmfByj6nY4xYDHXLqMTbgH7ecEkDNXWkH1vaip+ZS0D7VTXwM1KYQ==", + "version": "1.0.30001164", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001164.tgz", + "integrity": "sha512-G+A/tkf4bu0dSp9+duNiXc7bGds35DioCyC6vgK2m/rjA4Krpy5WeZgZyfH2f0wj2kI6yAWWucyap6oOwmY1mg==", "dev": true }, "caseless": { @@ -2138,12 +2199,11 @@ }, "dependencies": { "ansi-styles": { - "version": "4.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.2.1.tgz", - "integrity": "sha512-9VGjrMsG1vePxcSweQsN20KY/c4zN0h9fLjqAbwbPfahM3t+NL+M9HC8xeXG2I8pX5NoamTGNuomEUFI7fcUjA==", + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", "dev": true, "requires": { - "@types/color-name": "^1.1.1", "color-convert": "^2.0.1" } }, @@ -2169,9 +2229,9 @@ "dev": true }, "supports-color": { - "version": "7.1.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.1.0.tgz", - "integrity": "sha512-oRSIpR8pxT1Wr2FquTNnGet79b3BWljqOuoW/h4oBhxJ/HUbX5nX6JSruTkvXDCFMwDPvsaTTbvMLKZWSy0R5g==", + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", "dev": true, "requires": { "has-flag": "^4.0.0" @@ -2387,13 +2447,13 @@ } }, "color": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/color/-/color-3.1.2.tgz", - "integrity": "sha512-vXTJhHebByxZn3lDvDJYw4lR5+uB3vuoHsuYA5AKuxRVn5wzzIfQKGLBmgdVRHKTJYeK5rvJcHnrd0Li49CFpg==", + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/color/-/color-3.1.3.tgz", + "integrity": "sha512-xgXAcTHa2HeFCGLE9Xs/R82hujGtu9Jd9x4NW3T34+OMs7VoPsjwzRczKHvTAHeJwWFwX5j15+MgAppE8ztObQ==", "dev": true, "requires": { "color-convert": "^1.9.1", - "color-string": "^1.5.2" + "color-string": "^1.5.4" } }, "color-convert": { @@ -2412,15 +2472,21 @@ "dev": true }, "color-string": { - "version": "1.5.3", - "resolved": "https://registry.npmjs.org/color-string/-/color-string-1.5.3.tgz", - "integrity": "sha512-dC2C5qeWoYkxki5UAXapdjqO672AM4vZuPGRQfO8b5HKuKGBbKWpITyDYN7TOFKvRW7kOgAn3746clDBMDJyQw==", + "version": "1.5.4", + "resolved": "https://registry.npmjs.org/color-string/-/color-string-1.5.4.tgz", + "integrity": "sha512-57yF5yt8Xa3czSEW1jfQDE79Idk0+AkN/4KWad6tbdxUmAs3MvjxlWSWD4deYytcRfoZ9nhKyFl1kj5tBvidbw==", "dev": true, "requires": { "color-name": "^1.0.0", "simple-swizzle": "^0.2.2" } }, + "colorette": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/colorette/-/colorette-1.2.1.tgz", + "integrity": "sha512-puCDz0CzydiSYOrnXpz/PKd69zRrribezjtE9yd4zvytoRc8+RY/KJPvtPFKZS3E3wP6neGyMe0vOTlHO5L3Pw==", + "dev": true + }, "combined-stream": { "version": "1.0.8", "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz", @@ -2548,18 +2614,18 @@ "dev": true }, "core-js": { - "version": "2.6.11", - "resolved": "https://registry.npmjs.org/core-js/-/core-js-2.6.11.tgz", - "integrity": "sha512-5wjnpaT/3dV+XB4borEsnAYQchn00XSgTAWKDkEqv+K8KevjbzmofK6hfJ9TZIlpj2N0xQpazy7PiRQiWHqzWg==", + "version": "2.6.12", + "resolved": "https://registry.npmjs.org/core-js/-/core-js-2.6.12.tgz", + "integrity": "sha512-Kb2wC0fvsWfQrgk8HU5lW6U/Lcs8+9aaYcy4ZFc6DDlo4nZ7n70dEgE5rtR0oG6ufKDUnrwfWL1mXR5ljDatrQ==", "dev": true }, "core-js-compat": { - "version": "3.6.5", - "resolved": "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.6.5.tgz", - "integrity": "sha512-7ItTKOhOZbznhXAQ2g/slGg1PJV5zDO/WdkTwi7UEOJmkvsE32PWvx6mKtDjiMpjnR2CNf6BAD6sSxIlv7ptng==", + "version": "3.8.0", + "resolved": "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.8.0.tgz", + "integrity": "sha512-o9QKelQSxQMYWHXc/Gc4L8bx/4F7TTraE5rhuN8I7mKBt5dBIUpXpIR3omv70ebr8ST5R3PqbDQr+ZI3+Tt1FQ==", "dev": true, "requires": { - "browserslist": "^4.8.5", + "browserslist": "^4.14.7", "semver": "7.0.0" }, "dependencies": { @@ -2664,9 +2730,9 @@ } }, "css-what": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/css-what/-/css-what-3.2.1.tgz", - "integrity": "sha512-WwOrosiQTvyms+Ti5ZC5vGEK0Vod3FTt1ca+payZqvKuGJF+dq7bG63DstxtN0dpm6FxY27a/zS3Wten+gEtGw==", + "version": "3.4.2", + "resolved": "https://registry.npmjs.org/css-what/-/css-what-3.4.2.tgz", + "integrity": "sha512-ACUm3L0/jiZTqfzRM3Hi9Q8eZqd6IK37mMWPLz9PJxkLWllYeRf+EHUSHYEtFop2Eqytaq1FizFVh7XfBnXCDQ==", "dev": true }, "cssesc": { @@ -2753,28 +2819,28 @@ "dev": true }, "csso": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/csso/-/csso-4.0.3.tgz", - "integrity": "sha512-NL3spysxUkcrOgnpsT4Xdl2aiEiBG6bXswAABQVHcMrfjjBisFOKwLDOmf4wf32aPdcJws1zds2B0Rg+jqMyHQ==", + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/csso/-/csso-4.2.0.tgz", + "integrity": "sha512-wvlcdIbf6pwKEk7vHj8/Bkc0B4ylXZruLvOgs9doS5eOsOpuodOV2zJChSpkp+pRpYQLQMeF04nr3Z68Sta9jA==", "dev": true, "requires": { - "css-tree": "1.0.0-alpha.39" + "css-tree": "^1.1.2" }, "dependencies": { "css-tree": { - "version": "1.0.0-alpha.39", - "resolved": "https://registry.npmjs.org/css-tree/-/css-tree-1.0.0-alpha.39.tgz", - "integrity": "sha512-7UvkEYgBAHRG9Nt980lYxjsTrCyHFN53ky3wVsDkiMdVqylqRt+Zc+jm5qw7/qyOvN2dHSYtX0e4MbCCExSvnA==", + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/css-tree/-/css-tree-1.1.2.tgz", + "integrity": "sha512-wCoWush5Aeo48GLhfHPbmvZs59Z+M7k5+B1xDnXbdWNcEF423DoFdqSWE0PM5aNk5nI5cp1q7ms36zGApY/sKQ==", "dev": true, "requires": { - "mdn-data": "2.0.6", + "mdn-data": "2.0.14", "source-map": "^0.6.1" } }, "mdn-data": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/mdn-data/-/mdn-data-2.0.6.tgz", - "integrity": "sha512-rQvjv71olwNHgiTbfPZFkJtjNMciWgswYeciZhtvWLO8bmX3TnhyA62I6sTWOyZssWHJJjY6/KiWwqQsWWsqOA==", + "version": "2.0.14", + "resolved": "https://registry.npmjs.org/mdn-data/-/mdn-data-2.0.14.tgz", + "integrity": "sha512-dn6wd0uw5GsdswPFfsgMp5NSB0/aDe6fK94YJV/AJDYXL6HVLWBsxeq7js7Ad+mU2K9LAlwpk6kN2D5mwCPVow==", "dev": true }, "source-map": { @@ -2804,12 +2870,12 @@ } }, "debug": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.1.1.tgz", - "integrity": "sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==", + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.1.tgz", + "integrity": "sha512-doEwdvm4PCeK4K3RQN2ZC2BYUBaxwLARCqZmMjtF8a51J2Rb0xpVloFRnCODwqjpwnAoao4pelN8l3RJdv3gRQ==", "dev": true, "requires": { - "ms": "^2.1.1" + "ms": "2.1.2" } }, "decamelize": { @@ -3094,21 +3160,21 @@ } }, "docusaurus": { - "version": "1.14.4", - "resolved": "https://registry.npmjs.org/docusaurus/-/docusaurus-1.14.4.tgz", - "integrity": "sha512-KALmrlZBc0E+AB0ITR4POGKv8WcrcSSxvmgq7nC3TdpS+S2hrlXN/2tV3tVOZ8q8m+zhcMs7l9mAIhGFQyQwIw==", - "dev": true, - "requires": { - "@babel/core": "^7.7.4", - "@babel/plugin-proposal-class-properties": "^7.7.4", - "@babel/plugin-proposal-object-rest-spread": "^7.7.4", - "@babel/polyfill": "^7.7.0", - "@babel/preset-env": "^7.7.4", - "@babel/preset-react": "^7.7.4", - "@babel/register": "^7.7.4", - "@babel/traverse": "^7.7.4", - "@babel/types": "^7.7.4", - "autoprefixer": "^9.7.2", + "version": "1.14.6", + "resolved": "https://registry.npmjs.org/docusaurus/-/docusaurus-1.14.6.tgz", + "integrity": "sha512-Hpo6xqYIHwazwuhXW25AKYv/os+dWoJ87qql/m1j1xp83h/BnfYV2l8PA8zLggF1wGUbJQbTx7GWo6QvD8z+4Q==", + "dev": true, + "requires": { + "@babel/core": "^7.9.0", + "@babel/plugin-proposal-class-properties": "^7.8.3", + "@babel/plugin-proposal-object-rest-spread": "^7.9.0", + "@babel/polyfill": "^7.8.7", + "@babel/preset-env": "^7.9.0", + "@babel/preset-react": "^7.9.4", + "@babel/register": "^7.9.0", + "@babel/traverse": "^7.9.0", + "@babel/types": "^7.9.0", + "autoprefixer": "^9.7.5", "babylon": "^6.18.0", "chalk": "^3.0.0", "classnames": "^2.2.6", @@ -3139,7 +3205,7 @@ "react-dom": "^16.8.4", "remarkable": "^2.0.0", "request": "^2.88.0", - "shelljs": "^0.8.3", + "shelljs": "^0.8.4", "sitemap": "^3.2.2", "tcp-port-used": "^1.0.1", "tiny-lr": "^1.1.1", @@ -3158,9 +3224,9 @@ }, "dependencies": { "domelementtype": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-2.0.1.tgz", - "integrity": "sha512-5HOHUDsYZWV8FGWN0Njbr/Rn7f/eWSQi1v7+HsUVwXgn8nWWlL64zKDkS0n8ZmQ3mlWOMuXOnR+7Nx/5tMO5AQ==", + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-2.1.0.tgz", + "integrity": "sha512-LsTgx/L5VpD+Q8lmsXSHW2WpA+eBlZ9HPf3erD1IoPF00/3JKHZ3BknUVA2QGDNu69ZNmyFmCWBSO45XjYKC5w==", "dev": true } } @@ -3191,9 +3257,9 @@ } }, "dot-prop": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/dot-prop/-/dot-prop-5.2.0.tgz", - "integrity": "sha512-uEUyaDKoSQ1M4Oq8l45hSE26SnTxL6snNnqvK/VWx5wJhmff5z0FUVJDKDanor/6w3kzE3i7XZOk+7wC0EXr1A==", + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/dot-prop/-/dot-prop-5.3.0.tgz", + "integrity": "sha512-QM8q3zDe58hqUqjraQOmzZ1LIH9SWQJTlEKCH4kJ2oQvLZk7RbQXvtDM2XEq3fwkV9CCvvH4LA0AV+ogFsBM2Q==", "dev": true, "requires": { "is-obj": "^2.0.0" @@ -3242,9 +3308,9 @@ } }, "duplexer": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/duplexer/-/duplexer-0.1.1.tgz", - "integrity": "sha1-rOb/gIwc5mtX0ev5eXessCM0z8E=", + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/duplexer/-/duplexer-0.1.2.tgz", + "integrity": "sha512-jtD6YG370ZCIi/9GTaJKQxWTZD045+4R4hTk/x1UyoqadyJ9x9CgSi1RlVDQF8U2sxLLSnFkCaMihqljHIWgMg==", "dev": true }, "duplexer3": { @@ -3270,9 +3336,9 @@ "dev": true }, "electron-to-chromium": { - "version": "1.3.441", - "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.3.441.tgz", - "integrity": "sha512-leBfJwLuyGs1jEei2QioI+PjVMavmUIvPYidE8dCCYWLAq0uefhN3NYgDNb8WxD3uiUNnJ3ScMXg0upSlwySzQ==", + "version": "1.3.614", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.3.614.tgz", + "integrity": "sha512-JMDl46mg4G+n6q/hAJkwy9eMTj5FJjsE+8f/irAGRMLM4yeRVbMuRrdZrbbGGOrGVcZc4vJPjUpEUWNb/fA6hg==", "dev": true }, "emoji-regex": { @@ -3303,9 +3369,9 @@ } }, "entities": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/entities/-/entities-2.0.2.tgz", - "integrity": "sha512-dmD3AvJQBUjKpcNkoqr+x+IF0SdRtPz9Vk0uTy4yWqga9ibB6s4v++QFWNohjiUGoMlF552ZvNyXDxz5iW0qmw==", + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/entities/-/entities-2.1.0.tgz", + "integrity": "sha512-hCx1oky9PFrJ611mf0ifBLBRW8lUUVRlFolb5gWRfIELabBlbp9xZvrqZLZAs+NxFnbfQoeGd8wDkygjg7U85w==", "dev": true }, "error": { @@ -3327,22 +3393,23 @@ } }, "es-abstract": { - "version": "1.17.5", - "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.17.5.tgz", - "integrity": "sha512-BR9auzDbySxOcfog0tLECW8l28eRGpDpU3Dm3Hp4q/N+VtLTmyj4EUN088XZWQDW/hzj6sYRDXeOFsaAODKvpg==", + "version": "1.18.0-next.1", + "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.18.0-next.1.tgz", + "integrity": "sha512-I4UGspA0wpZXWENrdA0uHbnhte683t3qT/1VFH9aX2dA5PPSf6QW5HHXf5HImaqPmjXaVeVk4RGWnaylmV7uAA==", "dev": true, "requires": { "es-to-primitive": "^1.2.1", "function-bind": "^1.1.1", "has": "^1.0.3", "has-symbols": "^1.0.1", - "is-callable": "^1.1.5", - "is-regex": "^1.0.5", - "object-inspect": "^1.7.0", + "is-callable": "^1.2.2", + "is-negative-zero": "^2.0.0", + "is-regex": "^1.1.1", + "object-inspect": "^1.8.0", "object-keys": "^1.1.1", - "object.assign": "^4.1.0", - "string.prototype.trimleft": "^2.1.1", - "string.prototype.trimright": "^2.1.1" + "object.assign": "^4.1.1", + "string.prototype.trimend": "^1.0.1", + "string.prototype.trimstart": "^1.0.1" } }, "es-to-primitive": { @@ -3356,6 +3423,12 @@ "is-symbol": "^1.0.2" } }, + "escalade": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz", + "integrity": "sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==", + "dev": true + }, "escape-html": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz", @@ -3739,9 +3812,9 @@ "dev": true }, "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==", + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", + "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==", "dev": true }, "fast-glob": { @@ -3783,9 +3856,9 @@ } }, "feed": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/feed/-/feed-4.1.0.tgz", - "integrity": "sha512-dAXWXM8QMxZ1DRnAxDmy1MaWZFlh1Ku7TU3onbXgHrVJynsxkNGPUed1AxszVW8AXo43xExronVkIqK+ACsoBA==", + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/feed/-/feed-4.2.1.tgz", + "integrity": "sha512-l28KKcK1J/u3iq5dRDmmoB2p7dtBfACC2NqJh4dI2kFptxH0asfjmOfcxqh5Sv8suAlVa73gZJ4REY5RrafVvg==", "dev": true, "requires": { "xml-js": "^1.6.11" @@ -3912,12 +3985,12 @@ } }, "find-up": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-2.1.0.tgz", - "integrity": "sha1-RdG35QbHF93UgndaK3eSCjwMV6c=", + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-3.0.0.tgz", + "integrity": "sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==", "dev": true, "requires": { - "locate-path": "^2.0.0" + "locate-path": "^3.0.0" } }, "find-versions": { @@ -4068,11 +4141,22 @@ } }, "gensync": { - "version": "1.0.0-beta.1", - "resolved": "https://registry.npmjs.org/gensync/-/gensync-1.0.0-beta.1.tgz", - "integrity": "sha512-r8EC6NO1sngH/zdD9fiRDLdcgnbayXah+mLgManTaIZJqEC1MZstmnox8KpnI2/fxQwrp5OpCOYWLp4rBl4Jcg==", + "version": "1.0.0-beta.2", + "resolved": "https://registry.npmjs.org/gensync/-/gensync-1.0.0-beta.2.tgz", + "integrity": "sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==", "dev": true }, + "get-intrinsic": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.0.1.tgz", + "integrity": "sha512-ZnWP+AmS1VUaLgTRy47+zKtjTxz+0xMpx3I52i+aalBK1QP19ggLF3Db89KJX7kjfOfP2eoa01qc++GwPgufPg==", + "dev": true, + "requires": { + "function-bind": "^1.1.1", + "has": "^1.0.3", + "has-symbols": "^1.0.1" + } + }, "get-proxy": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/get-proxy/-/get-proxy-2.1.0.tgz", @@ -4260,13 +4344,13 @@ } }, "globule": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/globule/-/globule-1.3.1.tgz", - "integrity": "sha512-OVyWOHgw29yosRHCHo7NncwR1hW5ew0W/UrvtwvjefVJeQ26q4/8r8FmPsSF1hJ93IgWkyv16pCTz6WblMzm/g==", + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/globule/-/globule-1.3.2.tgz", + "integrity": "sha512-7IDTQTIu2xzXkT+6mlluidnWo+BypnbSoEVVQCGfzqnl5Ik8d3e1d4wycb8Rj9tWW+Z39uPWsdlquqiqPCd/pA==", "dev": true, "requires": { "glob": "~7.1.1", - "lodash": "~4.17.12", + "lodash": "~4.17.10", "minimatch": "~3.0.2" } }, @@ -4308,12 +4392,6 @@ "integrity": "sha512-WjKPNJF79dtJAVniUlGGWHYGz2jWxT6VhN/4m1NdkbZ2nOsEF+cI1Edgql5zCRhs/VsQYRvrXctxktVXZUkixw==", "dev": true }, - "graceful-readlink": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/graceful-readlink/-/graceful-readlink-1.0.1.tgz", - "integrity": "sha1-TK+tdrxi8C+gObL5Tpo906ORpyU=", - "dev": true - }, "gray-matter": { "version": "2.1.1", "resolved": "https://registry.npmjs.org/gray-matter/-/gray-matter-2.1.1.tgz", @@ -4366,12 +4444,12 @@ "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==", + "version": "5.1.5", + "resolved": "https://registry.npmjs.org/har-validator/-/har-validator-5.1.5.tgz", + "integrity": "sha512-nmT2T0lljbxdQZfspsno9hgrG3Uir6Ks5afism62poxqBM6sDnMEuPmzTq8XN0OEwqKLLdh1jQI3qyE66Nzb3w==", "dev": true, "requires": { - "ajv": "^6.5.5", + "ajv": "^6.12.3", "har-schema": "^2.0.0" } }, @@ -4549,9 +4627,9 @@ } }, "http-parser-js": { - "version": "0.4.10", - "resolved": "https://registry.npmjs.org/http-parser-js/-/http-parser-js-0.4.10.tgz", - "integrity": "sha1-ksnBN0w1CF912zWexWzCV8u5P6Q=", + "version": "0.5.2", + "resolved": "https://registry.npmjs.org/http-parser-js/-/http-parser-js-0.5.2.tgz", + "integrity": "sha512-opCO9ASqg5Wy2FNo7A0sxy71yGbbkJJXLdgMK04Tcypw9jr2MgWbyubb0+WdmDmGnFflO7fRbqbaihh/ENDlRQ==", "dev": true }, "http-signature": { @@ -4575,9 +4653,9 @@ } }, "ieee754": { - "version": "1.1.13", - "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.1.13.tgz", - "integrity": "sha512-4vf7I2LYV/HaWerSo3XmlMkp5eZ83i+/CDluXi/IGTs/O1sejBNhTtnxzmRZfvOUqj7lZjqHkeTvpgSFDlWZTg==", + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.2.1.tgz", + "integrity": "sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==", "dev": true }, "ignore": { @@ -4797,9 +4875,9 @@ } }, "interpret": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/interpret/-/interpret-1.2.0.tgz", - "integrity": "sha512-mT34yGKMNceBQUoVn7iCDKDntA7SC6gycMAWzGx1z/CMCTV7b2AAtXlo3nRyHZ1FelRkQbQjprHSYGwzLtkVbw==", + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/interpret/-/interpret-1.4.0.tgz", + "integrity": "sha512-agE4QfB2Lkp9uICn7BAqoscw4SZP9kTE2hxiFI3jBPmXJfdqiahTbUuKGsMoN2GtqL9AxhYioAcVvgsb1HvRbA==", "dev": true }, "into-stream": { @@ -4812,15 +4890,6 @@ "p-is-promise": "^1.1.0" } }, - "invariant": { - "version": "2.2.4", - "resolved": "https://registry.npmjs.org/invariant/-/invariant-2.2.4.tgz", - "integrity": "sha512-phJfQVBuaJM5raOpJjSfkiD6BpbCE4Ns//LaXl6wGYtUBY83nWS6Rf9tXm2e8VaK60JEjYldbPif/A2B1C2gNA==", - "dev": true, - "requires": { - "loose-envify": "^1.0.0" - } - }, "ip-regex": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/ip-regex/-/ip-regex-2.1.0.tgz", @@ -4881,9 +4950,9 @@ "dev": true }, "is-callable": { - "version": "1.1.5", - "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.1.5.tgz", - "integrity": "sha512-ESKv5sMCJB2jnHTWZ3O5itG+O128Hsus4K4Qh1h2/cgn2vbgnLSVqfV46AeJA9D5EeeLa9w81KUXMtn34zhX+Q==", + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.2.2.tgz", + "integrity": "sha512-dnMqspv5nU3LoewK2N/y7KLtxtakvTuaCsU9FU50/QDmdbHNy/4/JuRtMHqRU22o3q+W89YQndQEeCVwK+3qrA==", "dev": true }, "is-color-stop": { @@ -4900,6 +4969,15 @@ "rgba-regex": "^1.0.0" } }, + "is-core-module": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.2.0.tgz", + "integrity": "sha512-XRAfAdyyY5F5cOXn7hYQDqh2Xmii+DEfIcQGxK/uNwMHhIkPWO0g8msXcbzLe+MpGoR951MlqM/2iIlU4vKDdQ==", + "dev": true, + "requires": { + "has": "^1.0.3" + } + }, "is-data-descriptor": { "version": "0.1.4", "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz", @@ -5005,6 +5083,12 @@ "integrity": "sha1-q5124dtM7VHjXeDHLr7PCfc0zeg=", "dev": true }, + "is-negative-zero": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/is-negative-zero/-/is-negative-zero-2.0.0.tgz", + "integrity": "sha1-lVOxIbD6wohp2p7UWeIMdUN4hGE=", + "dev": true + }, "is-number": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz", @@ -5032,9 +5116,9 @@ "dev": true }, "is-object": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/is-object/-/is-object-1.0.1.tgz", - "integrity": "sha1-iVJojF7C/9awPsyF52ngKQMINHA=", + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-object/-/is-object-1.0.2.tgz", + "integrity": "sha512-2rRIahhZr2UWb45fIOuvZGpFtz0TyOZLf32KxBbSoUCeZR495zCKlWUKKUByk3geS2eAs7ZAABt0Y/Rx0GiQGA==", "dev": true }, "is-plain-obj": { @@ -5059,12 +5143,12 @@ "dev": true }, "is-regex": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.0.5.tgz", - "integrity": "sha512-vlKW17SNq44owv5AQR3Cq0bQPEb8+kF3UKZ2fiZNOWtztYE5i0CzCZxFDwO58qAOWtxdBRVO/V5Qin1wjCqFYQ==", + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.1.1.tgz", + "integrity": "sha512-1+QkEcxiLlB7VEyFtyBg94e08OAsvq7FUBgApTq/w2ymCLyKJgDPsybBENVtA7XCQEgEXxKPonG+mvYRxh/LIg==", "dev": true, "requires": { - "has": "^1.0.3" + "has-symbols": "^1.0.1" } }, "is-resolvable": { @@ -5202,9 +5286,9 @@ "dev": true }, "js-yaml": { - "version": "3.13.1", - "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.13.1.tgz", - "integrity": "sha512-YfbcO7jXDdyj0DGxYVSlSeQNHbD7XPWvrVWeVUujrQEoZzWJIRrCPoyk6kL6IAjAG2IolMK4T0hNUe0HOUs5Jw==", + "version": "3.14.0", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.0.tgz", + "integrity": "sha512-/4IbIeHcD9VMHFqDR/gQ7EdZdLimOvW2DdcxFjdyyZ9NsbS+ccrXqVWDtab/lRl5AlUqmpBx8EhPaWR+OtY17A==", "dev": true, "requires": { "argparse": "^1.0.7", @@ -5313,21 +5397,6 @@ "set-getter": "^0.1.0" } }, - "leven": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/leven/-/leven-3.1.0.tgz", - "integrity": "sha512-qsda+H8jTaUaN/x5vzW2rzc+8Rw4TAQ/4KjB46IwK5VH+IlVeeeje/EoZRpiXvIqjFgK84QffqPztGI3VBLG1A==", - "dev": true - }, - "levenary": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/levenary/-/levenary-1.1.1.tgz", - "integrity": "sha512-mkAdOIt79FD6irqjYSs4rdbnlT5vRonMEvBVPVb3XmevfS8kgRXwfes0dhPdEtzTWD/1eNE/Bm/G1iRt6DcnQQ==", - "dev": true, - "requires": { - "leven": "^3.1.0" - } - }, "list-item": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/list-item/-/list-item-1.1.1.tgz", @@ -5428,19 +5497,19 @@ } }, "locate-path": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-2.0.0.tgz", - "integrity": "sha1-K1aLJl7slExtnA3pw9u7ygNUzY4=", + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-3.0.0.tgz", + "integrity": "sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==", "dev": true, "requires": { - "p-locate": "^2.0.0", + "p-locate": "^3.0.0", "path-exists": "^3.0.0" } }, "lodash": { - "version": "4.17.19", - "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.19.tgz", - "integrity": "sha512-JNvd8XER9GQX0v2qJgsaN/mzFCNA5BRe/j8JN9d+tWyGLSodKQHKFicdwNYzWwI3wjRnaKPsGj1XkBjx/F96DQ==", + "version": "4.17.20", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.20.tgz", + "integrity": "sha512-PlhdFcillOINfeV7Ni6oF1TAEayyZBoZ8bcshTHqOYJYlrqzRK5hagpagky5o4HfCzzd1TRkXPMFq6cKk9rGmA==", "dev": true }, "lodash._reinterpolate": { @@ -5745,9 +5814,9 @@ "dev": true }, "merge2": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.3.0.tgz", - "integrity": "sha512-2j4DAdlBOkiSZIsaXk4mTE3sRS02yBHAtfy127xRV3bQUFqXkjHCHLW6Scv7DwNRbIWNHH8zpnz9zMaKXIdvYw==", + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz", + "integrity": "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==", "dev": true }, "methods": { @@ -5873,9 +5942,9 @@ "dev": true }, "nan": { - "version": "2.14.1", - "resolved": "https://registry.npmjs.org/nan/-/nan-2.14.1.tgz", - "integrity": "sha512-isWHgVjnFjh2x2yuJ/tj3JbwoHu3UC2dX5G/88Cm24yB6YopVgxvBObDY7n5xW6ExmFhJpSEQqFPvq9zaXc8Jw==", + "version": "2.14.2", + "resolved": "https://registry.npmjs.org/nan/-/nan-2.14.2.tgz", + "integrity": "sha512-M2ufzIiINKCuDfBSAUr1vWQ+vuVcA9kqx8JJUsbQi6yf1uGRyb7HfpdfUr5qLXf3B/t8dPvcjhKMmlfnP47EzQ==", "dev": true, "optional": true }, @@ -5917,9 +5986,9 @@ "dev": true }, "node-releases": { - "version": "1.1.55", - "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-1.1.55.tgz", - "integrity": "sha512-H3R3YR/8TjT5WPin/wOoHOUPHgvj8leuU/Keta/rwelEQN9pA/S2Dx8/se4pZ2LBxSd0nAGzsNzhqwa77v7F1w==", + "version": "1.1.67", + "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-1.1.67.tgz", + "integrity": "sha512-V5QF9noGFl3EymEwUYzO+3NTDpGfQB4ve6Qfnzf3UNydMhjQRVPR1DZTuvWiLzaFJYw2fmDwAfnRNEVb64hSIg==", "dev": true }, "normalize-package-data": { @@ -6038,9 +6107,9 @@ } }, "object-inspect": { - "version": "1.7.0", - "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.7.0.tgz", - "integrity": "sha512-a7pEHdh1xKIAgTySUGgLMx/xwDZskN1Ud6egYYN3EdRW4ZMPNEDUTF+hwy2LUC+Bl+SyLXANnwz/jyh/qutKUw==", + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.9.0.tgz", + "integrity": "sha512-i3Bp9iTqwhaLZBxGkRfo5ZbE07BQRT7MGu8+nNgwW9ItGp1TzCTw2DLEoWwjClxBjOFI/hWljTAmYGCEwmtnOw==", "dev": true }, "object-keys": { @@ -6059,25 +6128,26 @@ } }, "object.assign": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.0.tgz", - "integrity": "sha512-exHJeq6kBKj58mqGyTQ9DFvrZC/eR6OwxzoM9YRoGBqrXYonaFyGiFMuc9VZrXf7DarreEwMpurG3dd+CNyW5w==", + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.2.tgz", + "integrity": "sha512-ixT2L5THXsApyiUPYKmW+2EHpXXe5Ii3M+f4e+aJFAHao5amFRW6J0OO6c/LU8Be47utCx2GL89hxGB6XSmKuQ==", "dev": true, "requires": { - "define-properties": "^1.1.2", - "function-bind": "^1.1.1", - "has-symbols": "^1.0.0", - "object-keys": "^1.0.11" + "call-bind": "^1.0.0", + "define-properties": "^1.1.3", + "has-symbols": "^1.0.1", + "object-keys": "^1.1.1" } }, "object.getownpropertydescriptors": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/object.getownpropertydescriptors/-/object.getownpropertydescriptors-2.1.0.tgz", - "integrity": "sha512-Z53Oah9A3TdLoblT7VKJaTDdXdT+lQO+cNpKVnya5JDe9uLvzu1YyY1yFDFrcxrlRgWrEFH0jJtD/IbuwjcEVg==", + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/object.getownpropertydescriptors/-/object.getownpropertydescriptors-2.1.1.tgz", + "integrity": "sha512-6DtXgZ/lIZ9hqx4GtZETobXLR/ZLaa0aqV0kzbn80Rf8Z2e/XFnhA0I7p07N2wH8bBBltr2xQPi6sbKWAY2Eng==", "dev": true, "requires": { + "call-bind": "^1.0.0", "define-properties": "^1.1.3", - "es-abstract": "^1.17.0-next.1" + "es-abstract": "^1.18.0-next.1" } }, "object.pick": { @@ -6090,14 +6160,14 @@ } }, "object.values": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/object.values/-/object.values-1.1.1.tgz", - "integrity": "sha512-WTa54g2K8iu0kmS/us18jEmdv1a4Wi//BZ/DTVYEcH0XhLM5NYdpDHja3gt57VrZLcNAO2WGA+KpWsDBaHt6eA==", + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/object.values/-/object.values-1.1.2.tgz", + "integrity": "sha512-MYC0jvJopr8EK6dPBiO8Nb9mvjdypOachO5REGk6MXzujbBrAisKo3HmdEI6kZDL6fC31Mwee/5YbtMebixeag==", "dev": true, "requires": { + "call-bind": "^1.0.0", "define-properties": "^1.1.3", - "es-abstract": "^1.17.0-next.1", - "function-bind": "^1.1.1", + "es-abstract": "^1.18.0-next.1", "has": "^1.0.3" } }, @@ -6200,21 +6270,21 @@ "dev": true }, "p-limit": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-1.3.0.tgz", - "integrity": "sha512-vvcXsLAJ9Dr5rQOPk7toZQZJApBl2K4J6dANSsEuh6QI41JYcsS/qhTGa9ErIUUgK3WNQoJYvylxvjqmiqEA9Q==", + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", + "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", "dev": true, "requires": { - "p-try": "^1.0.0" + "p-try": "^2.0.0" } }, "p-locate": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-2.0.0.tgz", - "integrity": "sha1-IKAQOyIqcMj9OcwuWAaA893l7EM=", + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-3.0.0.tgz", + "integrity": "sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==", "dev": true, "requires": { - "p-limit": "^1.1.0" + "p-limit": "^2.0.0" } }, "p-map-series": { @@ -6248,9 +6318,9 @@ } }, "p-try": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/p-try/-/p-try-1.0.0.tgz", - "integrity": "sha1-y8ec26+P1CKOE/Yh8rGiN8GyB7M=", + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz", + "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==", "dev": true }, "parse-json": { @@ -6377,77 +6447,77 @@ "dev": true, "requires": { "find-up": "^3.0.0" + } + }, + "pkg-up": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/pkg-up/-/pkg-up-2.0.0.tgz", + "integrity": "sha1-yBmscoBZpGHKscOImivjxJoATX8=", + "dev": true, + "requires": { + "find-up": "^2.1.0" }, "dependencies": { "find-up": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-3.0.0.tgz", - "integrity": "sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==", + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-2.1.0.tgz", + "integrity": "sha1-RdG35QbHF93UgndaK3eSCjwMV6c=", "dev": true, "requires": { - "locate-path": "^3.0.0" + "locate-path": "^2.0.0" } }, "locate-path": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-3.0.0.tgz", - "integrity": "sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==", + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-2.0.0.tgz", + "integrity": "sha1-K1aLJl7slExtnA3pw9u7ygNUzY4=", "dev": true, "requires": { - "p-locate": "^3.0.0", + "p-locate": "^2.0.0", "path-exists": "^3.0.0" } }, "p-limit": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", - "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-1.3.0.tgz", + "integrity": "sha512-vvcXsLAJ9Dr5rQOPk7toZQZJApBl2K4J6dANSsEuh6QI41JYcsS/qhTGa9ErIUUgK3WNQoJYvylxvjqmiqEA9Q==", "dev": true, "requires": { - "p-try": "^2.0.0" + "p-try": "^1.0.0" } }, "p-locate": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-3.0.0.tgz", - "integrity": "sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==", + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-2.0.0.tgz", + "integrity": "sha1-IKAQOyIqcMj9OcwuWAaA893l7EM=", "dev": true, "requires": { - "p-limit": "^2.0.0" + "p-limit": "^1.1.0" } }, "p-try": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz", - "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==", + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/p-try/-/p-try-1.0.0.tgz", + "integrity": "sha1-y8ec26+P1CKOE/Yh8rGiN8GyB7M=", "dev": true } } }, - "pkg-up": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/pkg-up/-/pkg-up-2.0.0.tgz", - "integrity": "sha1-yBmscoBZpGHKscOImivjxJoATX8=", - "dev": true, - "requires": { - "find-up": "^2.1.0" - } - }, "portfinder": { - "version": "1.0.26", - "resolved": "https://registry.npmjs.org/portfinder/-/portfinder-1.0.26.tgz", - "integrity": "sha512-Xi7mKxJHHMI3rIUrnm/jjUgwhbYMkp/XKEcZX3aG4BrumLpq3nmoQMX+ClYnDZnZ/New7IatC1no5RX0zo1vXQ==", + "version": "1.0.28", + "resolved": "https://registry.npmjs.org/portfinder/-/portfinder-1.0.28.tgz", + "integrity": "sha512-Se+2isanIcEqf2XMHjyUKskczxbPH7dQnlMjXX6+dybayyHvAf/TCgyMRlzf/B6QDhAEFOGes0pzRo3by4AbMA==", "dev": true, "requires": { "async": "^2.6.2", "debug": "^3.1.1", - "mkdirp": "^0.5.1" + "mkdirp": "^0.5.5" }, "dependencies": { "debug": { - "version": "3.2.6", - "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.6.tgz", - "integrity": "sha512-mel+jf7nrtEl5Pn1Qx46zARXKDpBbvzezse7p7LqINmdoIk8PYP5SySaxEmYv6TZ0JyEKA1hsCId6DIhgITtWQ==", + "version": "3.2.7", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", + "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", "dev": true, "requires": { "ms": "^2.1.1" @@ -6462,9 +6532,9 @@ "dev": true }, "postcss": { - "version": "7.0.30", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.30.tgz", - "integrity": "sha512-nu/0m+NtIzoubO+xdAlwZl/u5S5vi/y6BCsoL8D+8IxsD3XvBS8X4YEADNIVXKVuQvduiucnRv+vPIqj56EGMQ==", + "version": "7.0.35", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.35.tgz", + "integrity": "sha512-3QT8bBJeX/S5zKTTjTCIjRF3If4avAT6kqxcASlTWEtAFCb9NH0OUxNDfgZSWdP5fJnBYCMEWkIFfWeugjzYMg==", "dev": true, "requires": { "chalk": "^2.4.2", @@ -6518,9 +6588,9 @@ } }, "postcss-calc": { - "version": "7.0.2", - "resolved": "https://registry.npmjs.org/postcss-calc/-/postcss-calc-7.0.2.tgz", - "integrity": "sha512-rofZFHUg6ZIrvRwPeFktv06GdbDYLcGqh9EwiMutZg+a0oePCCw1zHOEiji6LCpyRcjTREtPASuUqeAvYlEVvQ==", + "version": "7.0.5", + "resolved": "https://registry.npmjs.org/postcss-calc/-/postcss-calc-7.0.5.tgz", + "integrity": "sha512-1tKHutbGtLtEZF6PT4JSihCHfIVldU72mZ8SdZHIYriIZ9fh9k9aWSppaT8rHsyI3dX+KSR+W+Ix9BMY3AODrg==", "dev": true, "requires": { "postcss": "^7.0.27", @@ -6950,14 +7020,15 @@ } }, "postcss-selector-parser": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.0.2.tgz", - "integrity": "sha512-36P2QR59jDTOAiIkqEprfJDsoNrvwFei3eCqKd1Y0tUsBimsq39BLp7RD+JWny3WgB1zGhJX8XVePwm9k4wdBg==", + "version": "6.0.4", + "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.0.4.tgz", + "integrity": "sha512-gjMeXBempyInaBqpp8gODmwZ52WaYsVOsfr4L4lDQ7n3ncD6mEyySiDtgzCT+NYC0mmeOLvtsF8iaEf0YT6dBw==", "dev": true, "requires": { "cssesc": "^3.0.0", "indexes-of": "^1.0.1", - "uniq": "^1.0.1" + "uniq": "^1.0.1", + "util-deprecate": "^1.0.2" } }, "postcss-svgo": { @@ -7004,20 +7075,14 @@ "dev": true }, "prismjs": { - "version": "1.21.0", - "resolved": "https://registry.npmjs.org/prismjs/-/prismjs-1.21.0.tgz", - "integrity": "sha512-uGdSIu1nk3kej2iZsLyDoJ7e9bnPzIgY0naW/HdknGj61zScaprVEVGHrPoXqI+M9sP0NDnTK2jpkvmldpuqDw==", + "version": "1.22.0", + "resolved": "https://registry.npmjs.org/prismjs/-/prismjs-1.22.0.tgz", + "integrity": "sha512-lLJ/Wt9yy0AiSYBf212kK3mM5L8ycwlyTlSxHBAneXLR0nzFMlZ5y7riFPF3E33zXOF2IH95xdY5jIyZbM9z/w==", "dev": true, "requires": { "clipboard": "^2.0.0" } }, - "private": { - "version": "0.1.8", - "resolved": "https://registry.npmjs.org/private/-/private-0.1.8.tgz", - "integrity": "sha512-VvivMrbvd2nKkiG38qjULzlc+4Vx4wm/whI9pQD35YrARNnhxeiRktSOhSukRLFNlzg6Br/cJPet5J/u19r/mg==", - "dev": true - }, "process-nextick-args": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz", @@ -7103,9 +7168,9 @@ } }, "querystringify": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/querystringify/-/querystringify-2.1.1.tgz", - "integrity": "sha512-w7fLxIRCRT7U8Qu53jQnJyPkYZIaR4n5151KMfcJlO/A9397Wxb1amJvROTK6TOnp7PfoAmg/qXiNHI+08jRfA==", + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/querystringify/-/querystringify-2.2.0.tgz", + "integrity": "sha512-FIqgj2EUvTa7R50u0rGsyTftzjYmv/a3hO345bZNrqabNqjtgiDMgmo4mkUjd+nzU5oF3dClKqFIPUKybUyqoQ==", "dev": true }, "randomatic": { @@ -7146,9 +7211,9 @@ } }, "react": { - "version": "16.13.1", - "resolved": "https://registry.npmjs.org/react/-/react-16.13.1.tgz", - "integrity": "sha512-YMZQQq32xHLX0bz5Mnibv1/LHb3Sqzngu7xstSM+vrkE5Kzr9xE0yMByK5kMoTK30YVJE61WfbxIFFvfeDKT1w==", + "version": "16.14.0", + "resolved": "https://registry.npmjs.org/react/-/react-16.14.0.tgz", + "integrity": "sha512-0X2CImDkJGApiAlcf0ODKIneSwBPhqJawOa5wCtKbu7ZECrmS26NvtSILynQ66cgkT/RJ4LidJOc3bUESwmU8g==", "dev": true, "requires": { "loose-envify": "^1.1.0", @@ -7245,49 +7310,6 @@ "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=", "dev": true }, - "find-up": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-3.0.0.tgz", - "integrity": "sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==", - "dev": true, - "requires": { - "locate-path": "^3.0.0" - } - }, - "locate-path": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-3.0.0.tgz", - "integrity": "sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==", - "dev": true, - "requires": { - "p-locate": "^3.0.0", - "path-exists": "^3.0.0" - } - }, - "p-limit": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", - "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", - "dev": true, - "requires": { - "p-try": "^2.0.0" - } - }, - "p-locate": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-3.0.0.tgz", - "integrity": "sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==", - "dev": true, - "requires": { - "p-limit": "^2.0.0" - } - }, - "p-try": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz", - "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==", - "dev": true - }, "strip-ansi": { "version": "5.2.0", "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz", @@ -7300,9 +7322,9 @@ } }, "react-dom": { - "version": "16.13.1", - "resolved": "https://registry.npmjs.org/react-dom/-/react-dom-16.13.1.tgz", - "integrity": "sha512-81PIMmVLnCNLO/fFOQxdQkvEq/+Hfpv24XNJfpyZhTRfO0QcmQIF/PgCa1zCOj2w1hrn12MFLyaJ/G0+Mxtfag==", + "version": "16.14.0", + "resolved": "https://registry.npmjs.org/react-dom/-/react-dom-16.14.0.tgz", + "integrity": "sha512-1gCeQXDLoIqMgqD3IO2Ah9bnf0w9kzhwN5q4FGnHZ67hBm9yePzB5JJAIQCc8x3pFnNlwFq4RidZggNAAkzWWw==", "dev": true, "requires": { "loose-envify": "^1.1.0", @@ -7312,9 +7334,9 @@ } }, "react-error-overlay": { - "version": "6.0.7", - "resolved": "https://registry.npmjs.org/react-error-overlay/-/react-error-overlay-6.0.7.tgz", - "integrity": "sha512-TAv1KJFh3RhqxNvhzxj6LeT5NWklP6rDr2a0jaTfsZ5wSZWHOGeqQyejUp3xxLfPt2UpyJEcVQB/zyPcmonNFA==", + "version": "6.0.8", + "resolved": "https://registry.npmjs.org/react-error-overlay/-/react-error-overlay-6.0.8.tgz", + "integrity": "sha512-HvPuUQnLp5H7TouGq3kzBeioJmXms1wHy9EGjz2OURWBp4qZO6AfGEcnxts1D/CbwPLRAgTMPCEgYhA3sEM4vw==", "dev": true }, "react-is": { @@ -7439,9 +7461,9 @@ } }, "regenerate": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/regenerate/-/regenerate-1.4.0.tgz", - "integrity": "sha512-1G6jJVDWrt0rK99kBjvEtziZNCICAuvIPkSiUFIQxVP06RCVpq3dmDo2oi6ABpYaDYaTRr67BEhL8r1wgEZZKg==", + "version": "1.4.2", + "resolved": "https://registry.npmjs.org/regenerate/-/regenerate-1.4.2.tgz", + "integrity": "sha512-zrceR/XhGYU/d/opr2EKO7aRHUeiBI8qjtfHqADTwZd6Szfy16la6kqD0MIUs5z5hx6AaKa+PixpPrR289+I0A==", "dev": true }, "regenerate-unicode-properties": { @@ -7454,19 +7476,18 @@ } }, "regenerator-runtime": { - "version": "0.13.5", - "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.13.5.tgz", - "integrity": "sha512-ZS5w8CpKFinUzOwW3c83oPeVXoNsrLsaCoLtJvAClH135j/R77RuymhiSErhm2lKcwSCIpmvIWSbDkIfAqKQlA==", + "version": "0.13.7", + "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.13.7.tgz", + "integrity": "sha512-a54FxoJDIr27pgf7IgeQGxmqUNYrcV338lf/6gH456HZ/PhX+5BcwHXG9ajESmwe6WRO0tAzRUrRmNONWgkrew==", "dev": true }, "regenerator-transform": { - "version": "0.14.4", - "resolved": "https://registry.npmjs.org/regenerator-transform/-/regenerator-transform-0.14.4.tgz", - "integrity": "sha512-EaJaKPBI9GvKpvUz2mz4fhx7WPgvwRLY9v3hlNHWmAuJHI13T4nwKnNvm5RWJzEdnI5g5UwtOww+S8IdoUC2bw==", + "version": "0.14.5", + "resolved": "https://registry.npmjs.org/regenerator-transform/-/regenerator-transform-0.14.5.tgz", + "integrity": "sha512-eOf6vka5IO151Jfsw2NO9WpGX58W6wWmefK3I1zEGr0lOD0u8rwPaNqQL1aRxUaxLeKO3ArNh3VYg1KbaD+FFw==", "dev": true, "requires": { - "@babel/runtime": "^7.8.4", - "private": "^0.1.8" + "@babel/runtime": "^7.8.4" } }, "regex-not": { @@ -7480,9 +7501,9 @@ } }, "regexpu-core": { - "version": "4.7.0", - "resolved": "https://registry.npmjs.org/regexpu-core/-/regexpu-core-4.7.0.tgz", - "integrity": "sha512-TQ4KXRnIn6tz6tjnrXEkD/sshygKH/j5KzK86X8MkeHyZ8qst/LZ89j3X4/8HEIfHANTFIP/AbXakeRhWIl5YQ==", + "version": "4.7.1", + "resolved": "https://registry.npmjs.org/regexpu-core/-/regexpu-core-4.7.1.tgz", + "integrity": "sha512-ywH2VUraA44DZQuRKzARmw6S66mr48pQVva4LBeRhcOltJ6hExvWly5ZjFLYo67xbIxb6W1q4bAGtgfEl20zfQ==", "dev": true, "requires": { "regenerate": "^1.4.0", @@ -7494,9 +7515,9 @@ } }, "regjsgen": { - "version": "0.5.1", - "resolved": "https://registry.npmjs.org/regjsgen/-/regjsgen-0.5.1.tgz", - "integrity": "sha512-5qxzGZjDs9w4tzT3TPhCJqWdCc3RLYwy9J2NB0nm5Lz+S273lvWcpjaTGHsT1dc6Hhfq41uSEOw8wBmxrKOuyg==", + "version": "0.5.2", + "resolved": "https://registry.npmjs.org/regjsgen/-/regjsgen-0.5.2.tgz", + "integrity": "sha512-OFFT3MfrH90xIW8OOSyUrk6QHD5E9JOTeGodiJeBS3J6IwlgzJMNE/1bZklWz5oTg+9dCMyEetclvCVXOPoN3A==", "dev": true }, "regjsparser": { @@ -7517,9 +7538,9 @@ } }, "remarkable": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/remarkable/-/remarkable-2.0.0.tgz", - "integrity": "sha512-3gvKFAgL4xmmVRKAMNm6UzDo/rO2gPVkZrWagp6AXEA4JvCcMcRx9aapYbb7AJAmLLvi/u06+EhzqoS7ha9qOg==", + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/remarkable/-/remarkable-2.0.1.tgz", + "integrity": "sha512-YJyMcOH5lrR+kZdmB0aJJ4+93bEojRZ1HGDn9Eagu6ibg7aVZhc3OWbbShRid+Q5eAfsEqWxpe+g5W5nYNfNiA==", "dev": true, "requires": { "argparse": "^1.0.10", @@ -7527,9 +7548,9 @@ }, "dependencies": { "autolinker": { - "version": "3.14.1", - "resolved": "https://registry.npmjs.org/autolinker/-/autolinker-3.14.1.tgz", - "integrity": "sha512-yvsRHIaY51EYDml6MGlbqyJGfl4n7zezGYf+R7gvM8c5LNpRGc4SISkvgAswSS8SWxk/OrGCylKV9mJyVstz7w==", + "version": "3.14.2", + "resolved": "https://registry.npmjs.org/autolinker/-/autolinker-3.14.2.tgz", + "integrity": "sha512-VO66nXUCZFxTq7fVHAaiAkZNXRQ1l3IFi6D5P7DLoyIEAn2E8g7TWbyEgLlz1uW74LfWmu1A17IPWuPQyGuNVg==", "dev": true, "requires": { "tslib": "^1.9.3" @@ -7605,11 +7626,12 @@ "dev": true }, "resolve": { - "version": "1.17.0", - "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.17.0.tgz", - "integrity": "sha512-ic+7JYiV8Vi2yzQGFWOkiZD5Z9z7O2Zhm9XMaTxdJExKasieFCr+yXZ/WmXsckHiKl12ar0y6XiXDx3m4RHn1w==", + "version": "1.19.0", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.19.0.tgz", + "integrity": "sha512-rArEXAgsBG4UgRGcynxWIWKFvh/XZCcS8UJdHhwy91zwAvCZIbcs+vAbflgBnNjYMs/i/i+/Ux6IZhML1yPvxg==", "dev": true, "requires": { + "is-core-module": "^2.1.0", "path-parse": "^1.0.6" } }, @@ -7678,9 +7700,9 @@ "dev": true }, "rxjs": { - "version": "6.5.5", - "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-6.5.5.tgz", - "integrity": "sha512-WfQI+1gohdf0Dai/Bbmk5L5ItH5tYqm3ki2c5GdWhKjalzjg93N3avFjVStyZZz+A2Em+ZxKH5bNghw9UeylGQ==", + "version": "6.6.3", + "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-6.6.3.tgz", + "integrity": "sha512-trsQc+xYYXZ3urjOiJOuCOa5N3jAZ3eiSpQB5hIT8zGlL2QfnHLJ2r7GMkBGuIausdJN1OneaI6gQlsqNHHmZQ==", "dev": true, "requires": { "tslib": "^1.9.0" @@ -7730,22 +7752,19 @@ } }, "seek-bzip": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/seek-bzip/-/seek-bzip-1.0.5.tgz", - "integrity": "sha1-z+kXyz0nS8/6x5J1ivUxc+sfq9w=", + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/seek-bzip/-/seek-bzip-1.0.6.tgz", + "integrity": "sha512-e1QtP3YL5tWww8uKaOCQ18UxIT2laNBXHjV/S2WYCiK4udiv8lkG89KRIoCjUagnAmCBurjF4zEVX2ByBbnCjQ==", "dev": true, "requires": { - "commander": "~2.8.1" + "commander": "^2.8.1" }, "dependencies": { "commander": { - "version": "2.8.1", - "resolved": "https://registry.npmjs.org/commander/-/commander-2.8.1.tgz", - "integrity": "sha1-Br42f+v9oMMwqh4qBy09yXYkJdQ=", - "dev": true, - "requires": { - "graceful-readlink": ">= 1.0.0" - } + "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 } } }, @@ -8083,9 +8102,9 @@ }, "dependencies": { "debug": { - "version": "3.2.6", - "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.6.tgz", - "integrity": "sha512-mel+jf7nrtEl5Pn1Qx46zARXKDpBbvzezse7p7LqINmdoIk8PYP5SySaxEmYv6TZ0JyEKA1hsCId6DIhgITtWQ==", + "version": "3.2.7", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", + "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", "dev": true, "requires": { "ms": "^2.1.1" @@ -8155,9 +8174,9 @@ "dev": true }, "spdx-correct": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/spdx-correct/-/spdx-correct-3.1.0.tgz", - "integrity": "sha512-lr2EZCctC2BNR7j7WzJ2FpDznxky1sjfxvvYEyzxNyb6lZXHODmEoJeFu4JupYlkfha1KZpJyoqiJ7pgA1qq8Q==", + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/spdx-correct/-/spdx-correct-3.1.1.tgz", + "integrity": "sha512-cOYcUWwhCuHCXi49RhFRCyJEK3iPj1Ziz9DpViV3tbZOwXD49QzIN3MpOLJNxh2qwq2lJJZaKMVw9qNi4jTC0w==", "dev": true, "requires": { "spdx-expression-parse": "^3.0.0", @@ -8181,9 +8200,9 @@ } }, "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==", + "version": "3.0.7", + "resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-3.0.7.tgz", + "integrity": "sha512-U+MTEOO0AiDzxwFvoa4JVnMV6mZlJKk2sBLt90s7G0Gd0Mlknc7kxEn3nuDPNZRta7O2uy8oLcZLVT+4sqNZHQ==", "dev": true }, "split-string": { @@ -8335,45 +8354,23 @@ } }, "string.prototype.trimend": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/string.prototype.trimend/-/string.prototype.trimend-1.0.1.tgz", - "integrity": "sha512-LRPxFUaTtpqYsTeNKaFOw3R4bxIzWOnbQ837QfBylo8jIxtcbK/A/sMV7Q+OAV/vWo+7s25pOE10KYSjaSO06g==", - "dev": true, - "requires": { - "define-properties": "^1.1.3", - "es-abstract": "^1.17.5" - } - }, - "string.prototype.trimleft": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/string.prototype.trimleft/-/string.prototype.trimleft-2.1.2.tgz", - "integrity": "sha512-gCA0tza1JBvqr3bfAIFJGqfdRTyPae82+KTnm3coDXkZN9wnuW3HjGgN386D7hfv5CHQYCI022/rJPVlqXyHSw==", - "dev": true, - "requires": { - "define-properties": "^1.1.3", - "es-abstract": "^1.17.5", - "string.prototype.trimstart": "^1.0.0" - } - }, - "string.prototype.trimright": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/string.prototype.trimright/-/string.prototype.trimright-2.1.2.tgz", - "integrity": "sha512-ZNRQ7sY3KroTaYjRS6EbNiiHrOkjihL9aQE/8gfQ4DtAC/aEBRHFJa44OmoWxGGqXuJlfKkZW4WcXErGr+9ZFg==", + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/string.prototype.trimend/-/string.prototype.trimend-1.0.3.tgz", + "integrity": "sha512-ayH0pB+uf0U28CtjlLvL7NaohvR1amUvVZk+y3DYb0Ey2PUV5zPkkKy9+U1ndVEIXO8hNg18eIv9Jntbii+dKw==", "dev": true, "requires": { - "define-properties": "^1.1.3", - "es-abstract": "^1.17.5", - "string.prototype.trimend": "^1.0.0" + "call-bind": "^1.0.0", + "define-properties": "^1.1.3" } }, "string.prototype.trimstart": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/string.prototype.trimstart/-/string.prototype.trimstart-1.0.1.tgz", - "integrity": "sha512-XxZn+QpvrBI1FOcg6dIpxUPgWCPuNXvMD72aaRaUQv1eD4e/Qy8i/hFTe0BUmD60p/QA6bh1avmuPTfNjqVWRw==", + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/string.prototype.trimstart/-/string.prototype.trimstart-1.0.3.tgz", + "integrity": "sha512-oBIBUy5lea5tt0ovtOFiEQaBkoBBkyJhZXzJYrSmDo5IUUqbOPvVezuRs/agBIdZ2p2Eo1FD6bD9USyBLfl3xg==", "dev": true, "requires": { - "define-properties": "^1.1.3", - "es-abstract": "^1.17.5" + "call-bind": "^1.0.0", + "define-properties": "^1.1.3" } }, "string_decoder": { @@ -8637,9 +8634,9 @@ }, "dependencies": { "debug": { - "version": "3.2.6", - "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.6.tgz", - "integrity": "sha512-mel+jf7nrtEl5Pn1Qx46zARXKDpBbvzezse7p7LqINmdoIk8PYP5SySaxEmYv6TZ0JyEKA1hsCId6DIhgITtWQ==", + "version": "3.2.7", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", + "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", "dev": true, "requires": { "ms": "^2.1.1" @@ -8751,9 +8748,9 @@ } }, "tree-node-cli": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/tree-node-cli/-/tree-node-cli-1.3.0.tgz", - "integrity": "sha512-7B5IvFiDQMnBjmxHQ4YMdIqklofqla1mINa/ddlxUHC4seEJHdig19C49NONVHmAom/O9dByGvN0PLReCCqqqQ==", + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/tree-node-cli/-/tree-node-cli-1.4.0.tgz", + "integrity": "sha512-hBc/cp7rTSHFSFvaTzmHNYyJv87UJBsxsfCoq2DtDQuMES4vhnLuvXZit/asGtZG8edWTCydWeFWoBz9LYkJdQ==", "dev": true, "requires": { "commander": "^5.0.0" @@ -8801,9 +8798,9 @@ } }, "tslib": { - "version": "1.13.0", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.13.0.tgz", - "integrity": "sha512-i/6DQjL8Xf3be4K/E6Wgpekn5Qasl1usyw++dAA35Ue5orEn65VIxOA+YvNNl9HV3qv70T7CNwjODHZrLwvd1Q==", + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", + "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==", "dev": true }, "tunnel-agent": { @@ -8838,9 +8835,9 @@ "dev": true }, "unbzip2-stream": { - "version": "1.4.2", - "resolved": "https://registry.npmjs.org/unbzip2-stream/-/unbzip2-stream-1.4.2.tgz", - "integrity": "sha512-pZMVAofMrrHX6Ik39hCk470kulCbmZ2SWfQLPmTWqfJV/oUm0gn1CblvHdUu4+54Je6Jq34x8kY6XjTy6dMkOg==", + "version": "1.4.3", + "resolved": "https://registry.npmjs.org/unbzip2-stream/-/unbzip2-stream-1.4.3.tgz", + "integrity": "sha512-mlExGW4w71ebDJviH16lQLtZS32VKqsSfk80GCfUlwT/4/hNRFsoscrF/c++9xinkMzECL1uL9DDwXqFWkruPg==", "dev": true, "requires": { "buffer": "^5.2.1", @@ -8964,9 +8961,9 @@ "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==", + "version": "4.4.0", + "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.0.tgz", + "integrity": "sha512-B0yRTzYdUCCn9n+F4+Gh4yIDtMQcaJsmYBDsTSG8g/OejKBodLQ2IHfN3bM7jUsRXndopT7OIXWdYqc1fjmV6g==", "dev": true, "requires": { "punycode": "^2.1.0" @@ -9025,6 +9022,27 @@ "es-abstract": "^1.17.2", "has-symbols": "^1.0.1", "object.getownpropertydescriptors": "^2.1.0" + }, + "dependencies": { + "es-abstract": { + "version": "1.17.7", + "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.17.7.tgz", + "integrity": "sha512-VBl/gnfcJ7OercKA9MVaegWsBHFjV492syMudcnQZvt/Dw8ezpcOHYZXa/J96O8vx+g4x65YKhxOwDUh63aS5g==", + "dev": true, + "requires": { + "es-to-primitive": "^1.2.1", + "function-bind": "^1.1.1", + "has": "^1.0.3", + "has-symbols": "^1.0.1", + "is-callable": "^1.2.2", + "is-regex": "^1.1.1", + "object-inspect": "^1.8.0", + "object-keys": "^1.1.1", + "object.assign": "^4.1.1", + "string.prototype.trimend": "^1.0.1", + "string.prototype.trimstart": "^1.0.1" + } + } } }, "utils-merge": { @@ -9079,12 +9097,12 @@ "dev": true }, "websocket-driver": { - "version": "0.7.3", - "resolved": "https://registry.npmjs.org/websocket-driver/-/websocket-driver-0.7.3.tgz", - "integrity": "sha512-bpxWlvbbB459Mlipc5GBzzZwhoZgGEZLuqPaR0INBGnPAY1vdBX6hPnoFXiw+3yWxDuHyQjO2oXTMyS8A5haFg==", + "version": "0.7.4", + "resolved": "https://registry.npmjs.org/websocket-driver/-/websocket-driver-0.7.4.tgz", + "integrity": "sha512-b17KeDIQVjvb0ssuSDF2cYXSg2iztliJ4B9WdsuB6J952qCPKmnVq4DyW5motImXHDC1cBT/1UezrJVsKw5zjg==", "dev": true, "requires": { - "http-parser-js": ">=0.4.0 <0.4.11", + "http-parser-js": ">=0.5.1", "safe-buffer": ">=5.1.0", "websocket-extensions": ">=0.1.1" } diff --git a/website/package.json b/website/package.json index e5035e2a..41e0f89d 100644 --- a/website/package.json +++ b/website/package.json @@ -9,7 +9,7 @@ "rename-version": "docusaurus-rename-version" }, "devDependencies": { - "docusaurus": "^1.14.4" + "docusaurus": "^1.14.6" }, "dependencies": { "minimist": "^1.2.5" diff --git a/website/yarn.lock b/website/yarn.lock index c6fce1de..725d8617 100644 --- a/website/yarn.lock +++ b/website/yarn.lock @@ -9,54 +9,56 @@ dependencies: "@babel/highlight" "^7.0.0" -"@babel/code-frame@^7.8.3": - version "7.8.3" - resolved "https://registry.yarnpkg.com/@babel/code-frame/-/code-frame-7.8.3.tgz#33e25903d7481181534e12ec0a25f16b6fcf419e" - integrity sha512-a9gxpmdXtZEInkCSHUJDLHZVBgb1QS0jhss4cPP93EW7s+uC5bikET2twEF3KV+7rDblJcmNvTR7VJejqd2C2g== - dependencies: - "@babel/highlight" "^7.8.3" - -"@babel/compat-data@^7.8.6", "@babel/compat-data@^7.9.0": - version "7.9.0" - resolved "https://registry.yarnpkg.com/@babel/compat-data/-/compat-data-7.9.0.tgz#04815556fc90b0c174abd2c0c1bb966faa036a6c" - integrity sha512-zeFQrr+284Ekvd9e7KAX954LkapWiOmQtsfHirhxqfdlX6MEC32iRE+pqUGlYIBchdevaCwvzxWGSy/YBNI85g== - dependencies: - browserslist "^4.9.1" - invariant "^2.2.4" - semver "^5.5.0" - -"@babel/core@^7.7.4": - version "7.9.0" - resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.9.0.tgz#ac977b538b77e132ff706f3b8a4dbad09c03c56e" - integrity sha512-kWc7L0fw1xwvI0zi8OKVBuxRVefwGOrKSQMvrQ3dW+bIIavBY3/NpXmpjMy7bQnLgwgzWQZ8TlM57YHpHNHz4w== - dependencies: - "@babel/code-frame" "^7.8.3" - "@babel/generator" "^7.9.0" - "@babel/helper-module-transforms" "^7.9.0" - "@babel/helpers" "^7.9.0" - "@babel/parser" "^7.9.0" - "@babel/template" "^7.8.6" - "@babel/traverse" "^7.9.0" - "@babel/types" "^7.9.0" +"@babel/code-frame@^7.10.4": + version "7.10.4" + resolved "https://registry.yarnpkg.com/@babel/code-frame/-/code-frame-7.10.4.tgz#168da1a36e90da68ae8d49c0f1b48c7c6249213a" + integrity sha512-vG6SvB6oYEhvgisZNFRmRCUkLz11c7rp+tbNTynGqc6mS1d5ATd/sGyV6W0KZZnXRKMTzZDRgQT3Ou9jhpAfUg== + dependencies: + "@babel/highlight" "^7.10.4" + +"@babel/compat-data@^7.12.5", "@babel/compat-data@^7.12.7": + version "7.12.7" + resolved "https://registry.yarnpkg.com/@babel/compat-data/-/compat-data-7.12.7.tgz#9329b4782a7d6bbd7eef57e11addf91ee3ef1e41" + integrity sha512-YaxPMGs/XIWtYqrdEOZOCPsVWfEoriXopnsz3/i7apYPXQ3698UFhS6dVT1KN5qOsWmVgw/FOrmQgpRaZayGsw== + +"@babel/core@^7.9.0": + version "7.12.9" + resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.12.9.tgz#fd450c4ec10cdbb980e2928b7aa7a28484593fc8" + integrity sha512-gTXYh3M5wb7FRXQy+FErKFAv90BnlOuNn1QkCK2lREoPAjrQCO49+HVSrFoe5uakFAF5eenS75KbO2vQiLrTMQ== + dependencies: + "@babel/code-frame" "^7.10.4" + "@babel/generator" "^7.12.5" + "@babel/helper-module-transforms" "^7.12.1" + "@babel/helpers" "^7.12.5" + "@babel/parser" "^7.12.7" + "@babel/template" "^7.12.7" + "@babel/traverse" "^7.12.9" + "@babel/types" "^7.12.7" convert-source-map "^1.7.0" debug "^4.1.0" gensync "^1.0.0-beta.1" json5 "^2.1.2" - lodash "^4.17.13" + lodash "^4.17.19" resolve "^1.3.2" semver "^5.4.1" source-map "^0.5.0" -"@babel/generator@^7.9.0": - version "7.9.4" - resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.9.4.tgz#12441e90c3b3c4159cdecf312075bf1a8ce2dbce" - integrity sha512-rjP8ahaDy/ouhrvCoU1E5mqaitWrxwuNGU+dy1EpaoK48jZay4MdkskKGIMHLZNewg8sAsqpGSREJwP0zH3YQA== +"@babel/generator@^7.12.5": + version "7.12.5" + resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.12.5.tgz#a2c50de5c8b6d708ab95be5e6053936c1884a4de" + integrity sha512-m16TQQJ8hPt7E+OS/XVQg/7U184MLXtvuGbCdA7na61vha+ImkyyNM/9DDA0unYCVZn3ZOhng+qz48/KBOT96A== dependencies: - "@babel/types" "^7.9.0" + "@babel/types" "^7.12.5" jsesc "^2.5.1" - lodash "^4.17.13" source-map "^0.5.0" +"@babel/helper-annotate-as-pure@^7.10.4": + version "7.10.4" + resolved "https://registry.yarnpkg.com/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.10.4.tgz#5bf0d495a3f757ac3bda48b5bf3b3ba309c72ba3" + integrity sha512-XQlqKQP4vXFB7BN8fEEerrmYvHp3fK/rBkRFz9jaJbzK0B1DSfej9Kc7ZzE8Z/OnId1jpJdNAZ3BFQjWG68rcA== + dependencies: + "@babel/types" "^7.10.4" + "@babel/helper-annotate-as-pure@^7.8.3": version "7.8.3" resolved "https://registry.yarnpkg.com/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.8.3.tgz#60bc0bc657f63a0924ff9a4b4a0b24a13cf4deee" @@ -64,53 +66,59 @@ dependencies: "@babel/types" "^7.8.3" -"@babel/helper-builder-binary-assignment-operator-visitor@^7.8.3": - version "7.8.3" - resolved "https://registry.yarnpkg.com/@babel/helper-builder-binary-assignment-operator-visitor/-/helper-builder-binary-assignment-operator-visitor-7.8.3.tgz#c84097a427a061ac56a1c30ebf54b7b22d241503" - integrity sha512-5eFOm2SyFPK4Rh3XMMRDjN7lBH0orh3ss0g3rTYZnBQ+r6YPj7lgDyCvPphynHvUrobJmeMignBr6Acw9mAPlw== +"@babel/helper-builder-binary-assignment-operator-visitor@^7.10.4": + version "7.10.4" + resolved "https://registry.yarnpkg.com/@babel/helper-builder-binary-assignment-operator-visitor/-/helper-builder-binary-assignment-operator-visitor-7.10.4.tgz#bb0b75f31bf98cbf9ff143c1ae578b87274ae1a3" + integrity sha512-L0zGlFrGWZK4PbT8AszSfLTM5sDU1+Az/En9VrdT8/LmEiJt4zXt+Jve9DCAnQcbqDhCI+29y/L93mrDzddCcg== dependencies: - "@babel/helper-explode-assignable-expression" "^7.8.3" - "@babel/types" "^7.8.3" + "@babel/helper-explode-assignable-expression" "^7.10.4" + "@babel/types" "^7.10.4" -"@babel/helper-builder-react-jsx-experimental@^7.9.0": - version "7.9.0" - resolved "https://registry.yarnpkg.com/@babel/helper-builder-react-jsx-experimental/-/helper-builder-react-jsx-experimental-7.9.0.tgz#066d80262ade488f9c1b1823ce5db88a4cedaa43" - integrity sha512-3xJEiyuYU4Q/Ar9BsHisgdxZsRlsShMe90URZ0e6przL26CCs8NJbDoxH94kKT17PcxlMhsCAwZd90evCo26VQ== +"@babel/helper-builder-react-jsx-experimental@^7.12.4": + version "7.12.4" + resolved "https://registry.yarnpkg.com/@babel/helper-builder-react-jsx-experimental/-/helper-builder-react-jsx-experimental-7.12.4.tgz#55fc1ead5242caa0ca2875dcb8eed6d311e50f48" + integrity sha512-AjEa0jrQqNk7eDQOo0pTfUOwQBMF+xVqrausQwT9/rTKy0g04ggFNaJpaE09IQMn9yExluigWMJcj0WC7bq+Og== dependencies: - "@babel/helper-annotate-as-pure" "^7.8.3" - "@babel/helper-module-imports" "^7.8.3" - "@babel/types" "^7.9.0" + "@babel/helper-annotate-as-pure" "^7.10.4" + "@babel/helper-module-imports" "^7.12.1" + "@babel/types" "^7.12.1" -"@babel/helper-builder-react-jsx@^7.9.0": - version "7.9.0" - resolved "https://registry.yarnpkg.com/@babel/helper-builder-react-jsx/-/helper-builder-react-jsx-7.9.0.tgz#16bf391990b57732700a3278d4d9a81231ea8d32" - integrity sha512-weiIo4gaoGgnhff54GQ3P5wsUQmnSwpkvU0r6ZHq6TzoSzKy4JxHEgnxNytaKbov2a9z/CVNyzliuCOUPEX3Jw== +"@babel/helper-builder-react-jsx@^7.10.4": + version "7.10.4" + resolved "https://registry.yarnpkg.com/@babel/helper-builder-react-jsx/-/helper-builder-react-jsx-7.10.4.tgz#8095cddbff858e6fa9c326daee54a2f2732c1d5d" + integrity sha512-5nPcIZ7+KKDxT1427oBivl9V9YTal7qk0diccnh7RrcgrT/pGFOjgGw1dgryyx1GvHEpXVfoDF6Ak3rTiWh8Rg== dependencies: - "@babel/helper-annotate-as-pure" "^7.8.3" - "@babel/types" "^7.9.0" + "@babel/helper-annotate-as-pure" "^7.10.4" + "@babel/types" "^7.10.4" -"@babel/helper-compilation-targets@^7.8.7": - version "7.8.7" - resolved "https://registry.yarnpkg.com/@babel/helper-compilation-targets/-/helper-compilation-targets-7.8.7.tgz#dac1eea159c0e4bd46e309b5a1b04a66b53c1dde" - integrity sha512-4mWm8DCK2LugIS+p1yArqvG1Pf162upsIsjE7cNBjez+NjliQpVhj20obE520nao0o14DaTnFJv+Fw5a0JpoUw== +"@babel/helper-compilation-targets@^7.12.5": + version "7.12.5" + resolved "https://registry.yarnpkg.com/@babel/helper-compilation-targets/-/helper-compilation-targets-7.12.5.tgz#cb470c76198db6a24e9dbc8987275631e5d29831" + integrity sha512-+qH6NrscMolUlzOYngSBMIOQpKUGPPsc61Bu5W10mg84LxZ7cmvnBHzARKbDoFxVvqqAbj6Tg6N7bSrWSPXMyw== dependencies: - "@babel/compat-data" "^7.8.6" - browserslist "^4.9.1" - invariant "^2.2.4" - levenary "^1.1.1" + "@babel/compat-data" "^7.12.5" + "@babel/helper-validator-option" "^7.12.1" + browserslist "^4.14.5" semver "^5.5.0" -"@babel/helper-create-class-features-plugin@^7.8.3": - version "7.8.6" - resolved "https://registry.yarnpkg.com/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.8.6.tgz#243a5b46e2f8f0f674dc1387631eb6b28b851de0" - integrity sha512-klTBDdsr+VFFqaDHm5rR69OpEQtO2Qv8ECxHS1mNhJJvaHArR6a1xTf5K/eZW7eZpJbhCx3NW1Yt/sKsLXLblg== +"@babel/helper-create-class-features-plugin@^7.12.1": + version "7.12.1" + resolved "https://registry.yarnpkg.com/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.12.1.tgz#3c45998f431edd4a9214c5f1d3ad1448a6137f6e" + integrity sha512-hkL++rWeta/OVOBTRJc9a5Azh5mt5WgZUGAKMD8JM141YsE08K//bp1unBBieO6rUKkIPyUE0USQ30jAy3Sk1w== dependencies: - "@babel/helper-function-name" "^7.8.3" - "@babel/helper-member-expression-to-functions" "^7.8.3" - "@babel/helper-optimise-call-expression" "^7.8.3" - "@babel/helper-plugin-utils" "^7.8.3" - "@babel/helper-replace-supers" "^7.8.6" - "@babel/helper-split-export-declaration" "^7.8.3" + "@babel/helper-function-name" "^7.10.4" + "@babel/helper-member-expression-to-functions" "^7.12.1" + "@babel/helper-optimise-call-expression" "^7.10.4" + "@babel/helper-replace-supers" "^7.12.1" + "@babel/helper-split-export-declaration" "^7.10.4" + +"@babel/helper-create-regexp-features-plugin@^7.12.1": + version "7.12.7" + resolved "https://registry.yarnpkg.com/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.12.7.tgz#2084172e95443fa0a09214ba1bb328f9aea1278f" + integrity sha512-idnutvQPdpbduutvi3JVfEgcVIHooQnhvhx0Nk9isOINOIGYkZea1Pk2JlJRiUnMefrlvr0vkByATBY/mB4vjQ== + dependencies: + "@babel/helper-annotate-as-pure" "^7.10.4" + regexpu-core "^4.7.1" "@babel/helper-create-regexp-features-plugin@^7.8.3", "@babel/helper-create-regexp-features-plugin@^7.8.8": version "7.8.8" @@ -121,85 +129,91 @@ "@babel/helper-regex" "^7.8.3" regexpu-core "^4.7.0" -"@babel/helper-define-map@^7.8.3": - version "7.8.3" - resolved "https://registry.yarnpkg.com/@babel/helper-define-map/-/helper-define-map-7.8.3.tgz#a0655cad5451c3760b726eba875f1cd8faa02c15" - integrity sha512-PoeBYtxoZGtct3md6xZOCWPcKuMuk3IHhgxsRRNtnNShebf4C8YonTSblsK4tvDbm+eJAw2HAPOfCr+Q/YRG/g== +"@babel/helper-define-map@^7.10.4": + version "7.10.5" + resolved "https://registry.yarnpkg.com/@babel/helper-define-map/-/helper-define-map-7.10.5.tgz#b53c10db78a640800152692b13393147acb9bb30" + integrity sha512-fMw4kgFB720aQFXSVaXr79pjjcW5puTCM16+rECJ/plGS+zByelE8l9nCpV1GibxTnFVmUuYG9U8wYfQHdzOEQ== dependencies: - "@babel/helper-function-name" "^7.8.3" - "@babel/types" "^7.8.3" - lodash "^4.17.13" + "@babel/helper-function-name" "^7.10.4" + "@babel/types" "^7.10.5" + lodash "^4.17.19" -"@babel/helper-explode-assignable-expression@^7.8.3": - version "7.8.3" - resolved "https://registry.yarnpkg.com/@babel/helper-explode-assignable-expression/-/helper-explode-assignable-expression-7.8.3.tgz#a728dc5b4e89e30fc2dfc7d04fa28a930653f982" - integrity sha512-N+8eW86/Kj147bO9G2uclsg5pwfs/fqqY5rwgIL7eTBklgXjcOJ3btzS5iM6AitJcftnY7pm2lGsrJVYLGjzIw== +"@babel/helper-explode-assignable-expression@^7.10.4": + version "7.12.1" + resolved "https://registry.yarnpkg.com/@babel/helper-explode-assignable-expression/-/helper-explode-assignable-expression-7.12.1.tgz#8006a466695c4ad86a2a5f2fb15b5f2c31ad5633" + integrity sha512-dmUwH8XmlrUpVqgtZ737tK88v07l840z9j3OEhCLwKTkjlvKpfqXVIZ0wpK3aeOxspwGrf/5AP5qLx4rO3w5rA== dependencies: - "@babel/traverse" "^7.8.3" - "@babel/types" "^7.8.3" + "@babel/types" "^7.12.1" -"@babel/helper-function-name@^7.8.3": - version "7.8.3" - resolved "https://registry.yarnpkg.com/@babel/helper-function-name/-/helper-function-name-7.8.3.tgz#eeeb665a01b1f11068e9fb86ad56a1cb1a824cca" - integrity sha512-BCxgX1BC2hD/oBlIFUgOCQDOPV8nSINxCwM3o93xP4P9Fq6aV5sgv2cOOITDMtCfQ+3PvHp3l689XZvAM9QyOA== +"@babel/helper-function-name@^7.10.4": + version "7.10.4" + resolved "https://registry.yarnpkg.com/@babel/helper-function-name/-/helper-function-name-7.10.4.tgz#d2d3b20c59ad8c47112fa7d2a94bc09d5ef82f1a" + integrity sha512-YdaSyz1n8gY44EmN7x44zBn9zQ1Ry2Y+3GTA+3vH6Mizke1Vw0aWDM66FOYEPw8//qKkmqOckrGgTYa+6sceqQ== dependencies: - "@babel/helper-get-function-arity" "^7.8.3" - "@babel/template" "^7.8.3" - "@babel/types" "^7.8.3" + "@babel/helper-get-function-arity" "^7.10.4" + "@babel/template" "^7.10.4" + "@babel/types" "^7.10.4" -"@babel/helper-get-function-arity@^7.8.3": - version "7.8.3" - resolved "https://registry.yarnpkg.com/@babel/helper-get-function-arity/-/helper-get-function-arity-7.8.3.tgz#b894b947bd004381ce63ea1db9f08547e920abd5" - integrity sha512-FVDR+Gd9iLjUMY1fzE2SR0IuaJToR4RkCDARVfsBBPSP53GEqSFjD8gNyxg246VUyc/ALRxFaAK8rVG7UT7xRA== +"@babel/helper-get-function-arity@^7.10.4": + version "7.10.4" + resolved "https://registry.yarnpkg.com/@babel/helper-get-function-arity/-/helper-get-function-arity-7.10.4.tgz#98c1cbea0e2332f33f9a4661b8ce1505b2c19ba2" + integrity sha512-EkN3YDB+SRDgiIUnNgcmiD361ti+AVbL3f3Henf6dqqUyr5dMsorno0lJWJuLhDhkI5sYEpgj6y9kB8AOU1I2A== dependencies: - "@babel/types" "^7.8.3" + "@babel/types" "^7.10.4" -"@babel/helper-hoist-variables@^7.8.3": - version "7.8.3" - resolved "https://registry.yarnpkg.com/@babel/helper-hoist-variables/-/helper-hoist-variables-7.8.3.tgz#1dbe9b6b55d78c9b4183fc8cdc6e30ceb83b7134" - integrity sha512-ky1JLOjcDUtSc+xkt0xhYff7Z6ILTAHKmZLHPxAhOP0Nd77O+3nCsd6uSVYur6nJnCI029CrNbYlc0LoPfAPQg== +"@babel/helper-hoist-variables@^7.10.4": + version "7.10.4" + resolved "https://registry.yarnpkg.com/@babel/helper-hoist-variables/-/helper-hoist-variables-7.10.4.tgz#d49b001d1d5a68ca5e6604dda01a6297f7c9381e" + integrity sha512-wljroF5PgCk2juF69kanHVs6vrLwIPNp6DLD+Lrl3hoQ3PpPPikaDRNFA+0t81NOoMt2DL6WW/mdU8k4k6ZzuA== dependencies: - "@babel/types" "^7.8.3" + "@babel/types" "^7.10.4" -"@babel/helper-member-expression-to-functions@^7.8.3": - version "7.8.3" - resolved "https://registry.yarnpkg.com/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.8.3.tgz#659b710498ea6c1d9907e0c73f206eee7dadc24c" - integrity sha512-fO4Egq88utkQFjbPrSHGmGLFqmrshs11d46WI+WZDESt7Wu7wN2G2Iu+NMMZJFDOVRHAMIkB5SNh30NtwCA7RA== +"@babel/helper-member-expression-to-functions@^7.12.1": + version "7.12.7" + resolved "https://registry.yarnpkg.com/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.12.7.tgz#aa77bd0396ec8114e5e30787efa78599d874a855" + integrity sha512-DCsuPyeWxeHgh1Dus7APn7iza42i/qXqiFPWyBDdOFtvS581JQePsc1F/nD+fHrcswhLlRc2UpYS1NwERxZhHw== dependencies: - "@babel/types" "^7.8.3" + "@babel/types" "^7.12.7" -"@babel/helper-module-imports@^7.8.3": - version "7.8.3" - resolved "https://registry.yarnpkg.com/@babel/helper-module-imports/-/helper-module-imports-7.8.3.tgz#7fe39589b39c016331b6b8c3f441e8f0b1419498" - integrity sha512-R0Bx3jippsbAEtzkpZ/6FIiuzOURPcMjHp+Z6xPe6DtApDJx+w7UYyOLanZqO8+wKR9G10s/FmHXvxaMd9s6Kg== +"@babel/helper-module-imports@^7.12.1", "@babel/helper-module-imports@^7.12.5": + version "7.12.5" + resolved "https://registry.yarnpkg.com/@babel/helper-module-imports/-/helper-module-imports-7.12.5.tgz#1bfc0229f794988f76ed0a4d4e90860850b54dfb" + integrity sha512-SR713Ogqg6++uexFRORf/+nPXMmWIn80TALu0uaFb+iQIUoR7bOC7zBWyzBs5b3tBBJXuyD0cRu1F15GyzjOWA== dependencies: - "@babel/types" "^7.8.3" + "@babel/types" "^7.12.5" -"@babel/helper-module-transforms@^7.9.0": - version "7.9.0" - resolved "https://registry.yarnpkg.com/@babel/helper-module-transforms/-/helper-module-transforms-7.9.0.tgz#43b34dfe15961918707d247327431388e9fe96e5" - integrity sha512-0FvKyu0gpPfIQ8EkxlrAydOWROdHpBmiCiRwLkUiBGhCUPRRbVD2/tm3sFr/c/GWFrQ/ffutGUAnx7V0FzT2wA== - dependencies: - "@babel/helper-module-imports" "^7.8.3" - "@babel/helper-replace-supers" "^7.8.6" - "@babel/helper-simple-access" "^7.8.3" - "@babel/helper-split-export-declaration" "^7.8.3" - "@babel/template" "^7.8.6" - "@babel/types" "^7.9.0" - lodash "^4.17.13" +"@babel/helper-module-transforms@^7.12.1": + version "7.12.1" + resolved "https://registry.yarnpkg.com/@babel/helper-module-transforms/-/helper-module-transforms-7.12.1.tgz#7954fec71f5b32c48e4b303b437c34453fd7247c" + integrity sha512-QQzehgFAZ2bbISiCpmVGfiGux8YVFXQ0abBic2Envhej22DVXV9nCFaS5hIQbkyo1AdGb+gNME2TSh3hYJVV/w== + dependencies: + "@babel/helper-module-imports" "^7.12.1" + "@babel/helper-replace-supers" "^7.12.1" + "@babel/helper-simple-access" "^7.12.1" + "@babel/helper-split-export-declaration" "^7.11.0" + "@babel/helper-validator-identifier" "^7.10.4" + "@babel/template" "^7.10.4" + "@babel/traverse" "^7.12.1" + "@babel/types" "^7.12.1" + lodash "^4.17.19" -"@babel/helper-optimise-call-expression@^7.8.3": - version "7.8.3" - resolved "https://registry.yarnpkg.com/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.8.3.tgz#7ed071813d09c75298ef4f208956006b6111ecb9" - integrity sha512-Kag20n86cbO2AvHca6EJsvqAd82gc6VMGule4HwebwMlwkpXuVqrNRj6CkCV2sKxgi9MyAUnZVnZ6lJ1/vKhHQ== +"@babel/helper-optimise-call-expression@^7.10.4": + version "7.12.7" + resolved "https://registry.yarnpkg.com/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.12.7.tgz#7f94ae5e08721a49467346aa04fd22f750033b9c" + integrity sha512-I5xc9oSJ2h59OwyUqjv95HRyzxj53DAubUERgQMrpcCEYQyToeHA+NEcUEsVWB4j53RDeskeBJ0SgRAYHDBckw== dependencies: - "@babel/types" "^7.8.3" + "@babel/types" "^7.12.7" "@babel/helper-plugin-utils@^7.0.0", "@babel/helper-plugin-utils@^7.8.0", "@babel/helper-plugin-utils@^7.8.3": version "7.8.3" resolved "https://registry.yarnpkg.com/@babel/helper-plugin-utils/-/helper-plugin-utils-7.8.3.tgz#9ea293be19babc0f52ff8ca88b34c3611b208670" integrity sha512-j+fq49Xds2smCUNYmEHF9kGNkhbet6yVIBp4e6oeQpH1RUs/Ir06xUKzDjDkGcaaokPiTNs2JBWHjaE4csUkZQ== +"@babel/helper-plugin-utils@^7.10.4": + version "7.10.4" + resolved "https://registry.yarnpkg.com/@babel/helper-plugin-utils/-/helper-plugin-utils-7.10.4.tgz#2f75a831269d4f677de49986dff59927533cf375" + integrity sha512-O4KCvQA6lLiMU9l2eawBPMf1xPP8xPfB3iEQw150hOVTqj/rfXz0ThTb4HEzqQfs2Bmo5Ay8BzxfzVtBrr9dVg== + "@babel/helper-regex@^7.8.3": version "7.8.3" resolved "https://registry.yarnpkg.com/@babel/helper-regex/-/helper-regex-7.8.3.tgz#139772607d51b93f23effe72105b319d2a4c6965" @@ -207,67 +221,81 @@ dependencies: lodash "^4.17.13" -"@babel/helper-remap-async-to-generator@^7.8.3": - version "7.8.3" - resolved "https://registry.yarnpkg.com/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.8.3.tgz#273c600d8b9bf5006142c1e35887d555c12edd86" - integrity sha512-kgwDmw4fCg7AVgS4DukQR/roGp+jP+XluJE5hsRZwxCYGg+Rv9wSGErDWhlI90FODdYfd4xG4AQRiMDjjN0GzA== +"@babel/helper-remap-async-to-generator@^7.12.1": + version "7.12.1" + resolved "https://registry.yarnpkg.com/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.12.1.tgz#8c4dbbf916314f6047dc05e6a2217074238347fd" + integrity sha512-9d0KQCRM8clMPcDwo8SevNs+/9a8yWVVmaE80FGJcEP8N1qToREmWEGnBn8BUlJhYRFz6fqxeRL1sl5Ogsed7A== dependencies: - "@babel/helper-annotate-as-pure" "^7.8.3" - "@babel/helper-wrap-function" "^7.8.3" - "@babel/template" "^7.8.3" - "@babel/traverse" "^7.8.3" - "@babel/types" "^7.8.3" + "@babel/helper-annotate-as-pure" "^7.10.4" + "@babel/helper-wrap-function" "^7.10.4" + "@babel/types" "^7.12.1" -"@babel/helper-replace-supers@^7.8.3", "@babel/helper-replace-supers@^7.8.6": - version "7.8.6" - resolved "https://registry.yarnpkg.com/@babel/helper-replace-supers/-/helper-replace-supers-7.8.6.tgz#5ada744fd5ad73203bf1d67459a27dcba67effc8" - integrity sha512-PeMArdA4Sv/Wf4zXwBKPqVj7n9UF/xg6slNRtZW84FM7JpE1CbG8B612FyM4cxrf4fMAMGO0kR7voy1ForHHFA== +"@babel/helper-replace-supers@^7.12.1": + version "7.12.5" + resolved "https://registry.yarnpkg.com/@babel/helper-replace-supers/-/helper-replace-supers-7.12.5.tgz#f009a17543bbbbce16b06206ae73b63d3fca68d9" + integrity sha512-5YILoed0ZyIpF4gKcpZitEnXEJ9UoDRki1Ey6xz46rxOzfNMAhVIJMoune1hmPVxh40LRv1+oafz7UsWX+vyWA== dependencies: - "@babel/helper-member-expression-to-functions" "^7.8.3" - "@babel/helper-optimise-call-expression" "^7.8.3" - "@babel/traverse" "^7.8.6" - "@babel/types" "^7.8.6" + "@babel/helper-member-expression-to-functions" "^7.12.1" + "@babel/helper-optimise-call-expression" "^7.10.4" + "@babel/traverse" "^7.12.5" + "@babel/types" "^7.12.5" -"@babel/helper-simple-access@^7.8.3": - version "7.8.3" - resolved "https://registry.yarnpkg.com/@babel/helper-simple-access/-/helper-simple-access-7.8.3.tgz#7f8109928b4dab4654076986af575231deb639ae" - integrity sha512-VNGUDjx5cCWg4vvCTR8qQ7YJYZ+HBjxOgXEl7ounz+4Sn7+LMD3CFrCTEU6/qXKbA2nKg21CwhhBzO0RpRbdCw== +"@babel/helper-simple-access@^7.12.1": + version "7.12.1" + resolved "https://registry.yarnpkg.com/@babel/helper-simple-access/-/helper-simple-access-7.12.1.tgz#32427e5aa61547d38eb1e6eaf5fd1426fdad9136" + integrity sha512-OxBp7pMrjVewSSC8fXDFrHrBcJATOOFssZwv16F3/6Xtc138GHybBfPbm9kfiqQHKhYQrlamWILwlDCeyMFEaA== dependencies: - "@babel/template" "^7.8.3" - "@babel/types" "^7.8.3" + "@babel/types" "^7.12.1" -"@babel/helper-split-export-declaration@^7.8.3": - version "7.8.3" - resolved "https://registry.yarnpkg.com/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.8.3.tgz#31a9f30070f91368a7182cf05f831781065fc7a9" - integrity sha512-3x3yOeyBhW851hroze7ElzdkeRXQYQbFIb7gLK1WQYsw2GWDay5gAJNw1sWJ0VFP6z5J1whqeXH/WCdCjZv6dA== +"@babel/helper-skip-transparent-expression-wrappers@^7.12.1": + version "7.12.1" + resolved "https://registry.yarnpkg.com/@babel/helper-skip-transparent-expression-wrappers/-/helper-skip-transparent-expression-wrappers-7.12.1.tgz#462dc63a7e435ade8468385c63d2b84cce4b3cbf" + integrity sha512-Mf5AUuhG1/OCChOJ/HcADmvcHM42WJockombn8ATJG3OnyiSxBK/Mm5x78BQWvmtXZKHgbjdGL2kin/HOLlZGA== dependencies: - "@babel/types" "^7.8.3" + "@babel/types" "^7.12.1" + +"@babel/helper-split-export-declaration@^7.10.4", "@babel/helper-split-export-declaration@^7.11.0": + version "7.11.0" + resolved "https://registry.yarnpkg.com/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.11.0.tgz#f8a491244acf6a676158ac42072911ba83ad099f" + integrity sha512-74Vejvp6mHkGE+m+k5vHY93FX2cAtrw1zXrZXRlG4l410Nm9PxfEiVTn1PjDPV5SnmieiueY4AFg2xqhNFuuZg== + dependencies: + "@babel/types" "^7.11.0" + +"@babel/helper-validator-identifier@^7.10.4": + version "7.10.4" + resolved "https://registry.yarnpkg.com/@babel/helper-validator-identifier/-/helper-validator-identifier-7.10.4.tgz#a78c7a7251e01f616512d31b10adcf52ada5e0d2" + integrity sha512-3U9y+43hz7ZM+rzG24Qe2mufW5KhvFg/NhnNph+i9mgCtdTCtMJuI1TMkrIUiK7Ix4PYlRF9I5dhqaLYA/ADXw== "@babel/helper-validator-identifier@^7.9.0": version "7.9.0" resolved "https://registry.yarnpkg.com/@babel/helper-validator-identifier/-/helper-validator-identifier-7.9.0.tgz#ad53562a7fc29b3b9a91bbf7d10397fd146346ed" integrity sha512-6G8bQKjOh+of4PV/ThDm/rRqlU7+IGoJuofpagU5GlEl29Vv0RGqqt86ZGRV8ZuSOY3o+8yXl5y782SMcG7SHw== -"@babel/helper-wrap-function@^7.8.3": - version "7.8.3" - resolved "https://registry.yarnpkg.com/@babel/helper-wrap-function/-/helper-wrap-function-7.8.3.tgz#9dbdb2bb55ef14aaa01fe8c99b629bd5352d8610" - integrity sha512-LACJrbUET9cQDzb6kG7EeD7+7doC3JNvUgTEQOx2qaO1fKlzE/Bf05qs9w1oXQMmXlPO65lC3Tq9S6gZpTErEQ== +"@babel/helper-validator-option@^7.12.1": + version "7.12.1" + resolved "https://registry.yarnpkg.com/@babel/helper-validator-option/-/helper-validator-option-7.12.1.tgz#175567380c3e77d60ff98a54bb015fe78f2178d9" + integrity sha512-YpJabsXlJVWP0USHjnC/AQDTLlZERbON577YUVO/wLpqyj6HAtVYnWaQaN0iUN+1/tWn3c+uKKXjRut5115Y2A== + +"@babel/helper-wrap-function@^7.10.4": + version "7.12.3" + resolved "https://registry.yarnpkg.com/@babel/helper-wrap-function/-/helper-wrap-function-7.12.3.tgz#3332339fc4d1fbbf1c27d7958c27d34708e990d9" + integrity sha512-Cvb8IuJDln3rs6tzjW3Y8UeelAOdnpB8xtQ4sme2MSZ9wOxrbThporC0y/EtE16VAtoyEfLM404Xr1e0OOp+ow== dependencies: - "@babel/helper-function-name" "^7.8.3" - "@babel/template" "^7.8.3" - "@babel/traverse" "^7.8.3" - "@babel/types" "^7.8.3" + "@babel/helper-function-name" "^7.10.4" + "@babel/template" "^7.10.4" + "@babel/traverse" "^7.10.4" + "@babel/types" "^7.10.4" -"@babel/helpers@^7.9.0": - version "7.9.2" - resolved "https://registry.yarnpkg.com/@babel/helpers/-/helpers-7.9.2.tgz#b42a81a811f1e7313b88cba8adc66b3d9ae6c09f" - integrity sha512-JwLvzlXVPjO8eU9c/wF9/zOIN7X6h8DYf7mG4CiFRZRvZNKEF5dQ3H3V+ASkHoIB3mWhatgl5ONhyqHRI6MppA== +"@babel/helpers@^7.12.5": + version "7.12.5" + resolved "https://registry.yarnpkg.com/@babel/helpers/-/helpers-7.12.5.tgz#1a1ba4a768d9b58310eda516c449913fe647116e" + integrity sha512-lgKGMQlKqA8meJqKsW6rUnc4MdUk35Ln0ATDqdM1a/UpARODdI4j5Y5lVfUScnSNkJcdCRAaWkspykNoFg9sJA== dependencies: - "@babel/template" "^7.8.3" - "@babel/traverse" "^7.9.0" - "@babel/types" "^7.9.0" + "@babel/template" "^7.10.4" + "@babel/traverse" "^7.12.5" + "@babel/types" "^7.12.5" -"@babel/highlight@^7.0.0", "@babel/highlight@^7.8.3": +"@babel/highlight@^7.0.0": version "7.9.0" resolved "https://registry.yarnpkg.com/@babel/highlight/-/highlight-7.9.0.tgz#4e9b45ccb82b79607271b2979ad82c7b68163079" integrity sha512-lJZPilxX7Op3Nv/2cvFdnlepPXDxi29wxteT57Q965oc5R9v86ztx0jfxVrTcBk8C2kcPkkDa2Z4T3ZsPPVWsQ== @@ -276,85 +304,128 @@ chalk "^2.0.0" js-tokens "^4.0.0" -"@babel/parser@^7.8.6", "@babel/parser@^7.9.0": - version "7.9.4" - resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.9.4.tgz#68a35e6b0319bbc014465be43828300113f2f2e8" - integrity sha512-bC49otXX6N0/VYhgOMh4gnP26E9xnDZK3TmbNpxYzzz9BQLBosQwfyOe9/cXUU3txYhTzLCbcqd5c8y/OmCjHA== +"@babel/highlight@^7.10.4": + version "7.10.4" + resolved "https://registry.yarnpkg.com/@babel/highlight/-/highlight-7.10.4.tgz#7d1bdfd65753538fabe6c38596cdb76d9ac60143" + integrity sha512-i6rgnR/YgPEQzZZnbTHHuZdlE8qyoBNalD6F+q4vAFlcMEcqmkoG+mPqJYJCo63qPf74+Y1UZsl3l6f7/RIkmA== + dependencies: + "@babel/helper-validator-identifier" "^7.10.4" + chalk "^2.0.0" + js-tokens "^4.0.0" -"@babel/plugin-proposal-async-generator-functions@^7.8.3": - version "7.8.3" - resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-async-generator-functions/-/plugin-proposal-async-generator-functions-7.8.3.tgz#bad329c670b382589721b27540c7d288601c6e6f" - integrity sha512-NZ9zLv848JsV3hs8ryEh7Uaz/0KsmPLqv0+PdkDJL1cJy0K4kOCFa8zc1E3mp+RHPQcpdfb/6GovEsW4VDrOMw== +"@babel/parser@^7.12.7": + version "7.12.7" + resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.12.7.tgz#fee7b39fe809d0e73e5b25eecaf5780ef3d73056" + integrity sha512-oWR02Ubp4xTLCAqPRiNIuMVgNO5Aif/xpXtabhzW2HWUD47XJsAB4Zd/Rg30+XeQA3juXigV7hlquOTmwqLiwg== + +"@babel/plugin-proposal-async-generator-functions@^7.12.1": + version "7.12.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-async-generator-functions/-/plugin-proposal-async-generator-functions-7.12.1.tgz#dc6c1170e27d8aca99ff65f4925bd06b1c90550e" + integrity sha512-d+/o30tJxFxrA1lhzJqiUcEJdI6jKlNregCv5bASeGf2Q4MXmnwH7viDo7nhx1/ohf09oaH8j1GVYG/e3Yqk6A== dependencies: - "@babel/helper-plugin-utils" "^7.8.3" - "@babel/helper-remap-async-to-generator" "^7.8.3" + "@babel/helper-plugin-utils" "^7.10.4" + "@babel/helper-remap-async-to-generator" "^7.12.1" "@babel/plugin-syntax-async-generators" "^7.8.0" -"@babel/plugin-proposal-class-properties@^7.7.4": - version "7.8.3" - resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-class-properties/-/plugin-proposal-class-properties-7.8.3.tgz#5e06654af5cd04b608915aada9b2a6788004464e" - integrity sha512-EqFhbo7IosdgPgZggHaNObkmO1kNUe3slaKu54d5OWvy+p9QIKOzK1GAEpAIsZtWVtPXUHSMcT4smvDrCfY4AA== +"@babel/plugin-proposal-class-properties@^7.12.1", "@babel/plugin-proposal-class-properties@^7.8.3": + version "7.12.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-class-properties/-/plugin-proposal-class-properties-7.12.1.tgz#a082ff541f2a29a4821065b8add9346c0c16e5de" + integrity sha512-cKp3dlQsFsEs5CWKnN7BnSHOd0EOW8EKpEjkoz1pO2E5KzIDNV9Ros1b0CnmbVgAGXJubOYVBOGCT1OmJwOI7w== dependencies: - "@babel/helper-create-class-features-plugin" "^7.8.3" - "@babel/helper-plugin-utils" "^7.8.3" + "@babel/helper-create-class-features-plugin" "^7.12.1" + "@babel/helper-plugin-utils" "^7.10.4" -"@babel/plugin-proposal-dynamic-import@^7.8.3": - version "7.8.3" - resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-dynamic-import/-/plugin-proposal-dynamic-import-7.8.3.tgz#38c4fe555744826e97e2ae930b0fb4cc07e66054" - integrity sha512-NyaBbyLFXFLT9FP+zk0kYlUlA8XtCUbehs67F0nnEg7KICgMc2mNkIeu9TYhKzyXMkrapZFwAhXLdnt4IYHy1w== +"@babel/plugin-proposal-dynamic-import@^7.12.1": + version "7.12.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-dynamic-import/-/plugin-proposal-dynamic-import-7.12.1.tgz#43eb5c2a3487ecd98c5c8ea8b5fdb69a2749b2dc" + integrity sha512-a4rhUSZFuq5W8/OO8H7BL5zspjnc1FLd9hlOxIK/f7qG4a0qsqk8uvF/ywgBA8/OmjsapjpvaEOYItfGG1qIvQ== dependencies: - "@babel/helper-plugin-utils" "^7.8.3" + "@babel/helper-plugin-utils" "^7.10.4" "@babel/plugin-syntax-dynamic-import" "^7.8.0" -"@babel/plugin-proposal-json-strings@^7.8.3": - version "7.8.3" - resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-json-strings/-/plugin-proposal-json-strings-7.8.3.tgz#da5216b238a98b58a1e05d6852104b10f9a70d6b" - integrity sha512-KGhQNZ3TVCQG/MjRbAUwuH+14y9q0tpxs1nWWs3pbSleRdDro9SAMMDyye8HhY1gqZ7/NqIc8SKhya0wRDgP1Q== +"@babel/plugin-proposal-export-namespace-from@^7.12.1": + version "7.12.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-export-namespace-from/-/plugin-proposal-export-namespace-from-7.12.1.tgz#8b9b8f376b2d88f5dd774e4d24a5cc2e3679b6d4" + integrity sha512-6CThGf0irEkzujYS5LQcjBx8j/4aQGiVv7J9+2f7pGfxqyKh3WnmVJYW3hdrQjyksErMGBPQrCnHfOtna+WLbw== dependencies: - "@babel/helper-plugin-utils" "^7.8.3" + "@babel/helper-plugin-utils" "^7.10.4" + "@babel/plugin-syntax-export-namespace-from" "^7.8.3" + +"@babel/plugin-proposal-json-strings@^7.12.1": + version "7.12.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-json-strings/-/plugin-proposal-json-strings-7.12.1.tgz#d45423b517714eedd5621a9dfdc03fa9f4eb241c" + integrity sha512-GoLDUi6U9ZLzlSda2Df++VSqDJg3CG+dR0+iWsv6XRw1rEq+zwt4DirM9yrxW6XWaTpmai1cWJLMfM8qQJf+yw== + dependencies: + "@babel/helper-plugin-utils" "^7.10.4" "@babel/plugin-syntax-json-strings" "^7.8.0" -"@babel/plugin-proposal-nullish-coalescing-operator@^7.8.3": - version "7.8.3" - resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-nullish-coalescing-operator/-/plugin-proposal-nullish-coalescing-operator-7.8.3.tgz#e4572253fdeed65cddeecfdab3f928afeb2fd5d2" - integrity sha512-TS9MlfzXpXKt6YYomudb/KU7nQI6/xnapG6in1uZxoxDghuSMZsPb6D2fyUwNYSAp4l1iR7QtFOjkqcRYcUsfw== +"@babel/plugin-proposal-logical-assignment-operators@^7.12.1": + version "7.12.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-logical-assignment-operators/-/plugin-proposal-logical-assignment-operators-7.12.1.tgz#f2c490d36e1b3c9659241034a5d2cd50263a2751" + integrity sha512-k8ZmVv0JU+4gcUGeCDZOGd0lCIamU/sMtIiX3UWnUc5yzgq6YUGyEolNYD+MLYKfSzgECPcqetVcJP9Afe/aCA== dependencies: - "@babel/helper-plugin-utils" "^7.8.3" + "@babel/helper-plugin-utils" "^7.10.4" + "@babel/plugin-syntax-logical-assignment-operators" "^7.10.4" + +"@babel/plugin-proposal-nullish-coalescing-operator@^7.12.1": + version "7.12.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-nullish-coalescing-operator/-/plugin-proposal-nullish-coalescing-operator-7.12.1.tgz#3ed4fff31c015e7f3f1467f190dbe545cd7b046c" + integrity sha512-nZY0ESiaQDI1y96+jk6VxMOaL4LPo/QDHBqL+SF3/vl6dHkTwHlOI8L4ZwuRBHgakRBw5zsVylel7QPbbGuYgg== + dependencies: + "@babel/helper-plugin-utils" "^7.10.4" "@babel/plugin-syntax-nullish-coalescing-operator" "^7.8.0" -"@babel/plugin-proposal-numeric-separator@^7.8.3": - version "7.8.3" - resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-numeric-separator/-/plugin-proposal-numeric-separator-7.8.3.tgz#5d6769409699ec9b3b68684cd8116cedff93bad8" - integrity sha512-jWioO1s6R/R+wEHizfaScNsAx+xKgwTLNXSh7tTC4Usj3ItsPEhYkEpU4h+lpnBwq7NBVOJXfO6cRFYcX69JUQ== +"@babel/plugin-proposal-numeric-separator@^7.12.7": + version "7.12.7" + resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-numeric-separator/-/plugin-proposal-numeric-separator-7.12.7.tgz#8bf253de8139099fea193b297d23a9d406ef056b" + integrity sha512-8c+uy0qmnRTeukiGsjLGy6uVs/TFjJchGXUeBqlG4VWYOdJWkhhVPdQ3uHwbmalfJwv2JsV0qffXP4asRfL2SQ== dependencies: - "@babel/helper-plugin-utils" "^7.8.3" - "@babel/plugin-syntax-numeric-separator" "^7.8.3" + "@babel/helper-plugin-utils" "^7.10.4" + "@babel/plugin-syntax-numeric-separator" "^7.10.4" -"@babel/plugin-proposal-object-rest-spread@^7.7.4", "@babel/plugin-proposal-object-rest-spread@^7.9.0": - version "7.9.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-object-rest-spread/-/plugin-proposal-object-rest-spread-7.9.0.tgz#a28993699fc13df165995362693962ba6b061d6f" - integrity sha512-UgqBv6bjq4fDb8uku9f+wcm1J7YxJ5nT7WO/jBr0cl0PLKb7t1O6RNR1kZbjgx2LQtsDI9hwoQVmn0yhXeQyow== +"@babel/plugin-proposal-object-rest-spread@^7.12.1", "@babel/plugin-proposal-object-rest-spread@^7.9.0": + version "7.12.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-object-rest-spread/-/plugin-proposal-object-rest-spread-7.12.1.tgz#def9bd03cea0f9b72283dac0ec22d289c7691069" + integrity sha512-s6SowJIjzlhx8o7lsFx5zmY4At6CTtDvgNQDdPzkBQucle58A6b/TTeEBYtyDgmcXjUTM+vE8YOGHZzzbc/ioA== dependencies: - "@babel/helper-plugin-utils" "^7.8.3" + "@babel/helper-plugin-utils" "^7.10.4" "@babel/plugin-syntax-object-rest-spread" "^7.8.0" + "@babel/plugin-transform-parameters" "^7.12.1" -"@babel/plugin-proposal-optional-catch-binding@^7.8.3": - version "7.8.3" - resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-optional-catch-binding/-/plugin-proposal-optional-catch-binding-7.8.3.tgz#9dee96ab1650eed88646ae9734ca167ac4a9c5c9" - integrity sha512-0gkX7J7E+AtAw9fcwlVQj8peP61qhdg/89D5swOkjYbkboA2CVckn3kiyum1DE0wskGb7KJJxBdyEBApDLLVdw== +"@babel/plugin-proposal-optional-catch-binding@^7.12.1": + version "7.12.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-optional-catch-binding/-/plugin-proposal-optional-catch-binding-7.12.1.tgz#ccc2421af64d3aae50b558a71cede929a5ab2942" + integrity sha512-hFvIjgprh9mMw5v42sJWLI1lzU5L2sznP805zeT6rySVRA0Y18StRhDqhSxlap0oVgItRsB6WSROp4YnJTJz0g== dependencies: - "@babel/helper-plugin-utils" "^7.8.3" + "@babel/helper-plugin-utils" "^7.10.4" "@babel/plugin-syntax-optional-catch-binding" "^7.8.0" -"@babel/plugin-proposal-optional-chaining@^7.9.0": - version "7.9.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-optional-chaining/-/plugin-proposal-optional-chaining-7.9.0.tgz#31db16b154c39d6b8a645292472b98394c292a58" - integrity sha512-NDn5tu3tcv4W30jNhmc2hyD5c56G6cXx4TesJubhxrJeCvuuMpttxr0OnNCqbZGhFjLrg+NIhxxC+BK5F6yS3w== +"@babel/plugin-proposal-optional-chaining@^7.12.7": + version "7.12.7" + resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-optional-chaining/-/plugin-proposal-optional-chaining-7.12.7.tgz#e02f0ea1b5dc59d401ec16fb824679f683d3303c" + integrity sha512-4ovylXZ0PWmwoOvhU2vhnzVNnm88/Sm9nx7V8BPgMvAzn5zDou3/Awy0EjglyubVHasJj+XCEkr/r1X3P5elCA== dependencies: - "@babel/helper-plugin-utils" "^7.8.3" + "@babel/helper-plugin-utils" "^7.10.4" + "@babel/helper-skip-transparent-expression-wrappers" "^7.12.1" "@babel/plugin-syntax-optional-chaining" "^7.8.0" -"@babel/plugin-proposal-unicode-property-regex@^7.4.4", "@babel/plugin-proposal-unicode-property-regex@^7.8.3": +"@babel/plugin-proposal-private-methods@^7.12.1": + version "7.12.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-private-methods/-/plugin-proposal-private-methods-7.12.1.tgz#86814f6e7a21374c980c10d38b4493e703f4a389" + integrity sha512-mwZ1phvH7/NHK6Kf8LP7MYDogGV+DKB1mryFOEwx5EBNQrosvIczzZFTUmWaeujd5xT6G1ELYWUz3CutMhjE1w== + dependencies: + "@babel/helper-create-class-features-plugin" "^7.12.1" + "@babel/helper-plugin-utils" "^7.10.4" + +"@babel/plugin-proposal-unicode-property-regex@^7.12.1": + version "7.12.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-unicode-property-regex/-/plugin-proposal-unicode-property-regex-7.12.1.tgz#2a183958d417765b9eae334f47758e5d6a82e072" + integrity sha512-MYq+l+PvHuw/rKUz1at/vb6nCnQ2gmJBNaM62z0OgH7B2W1D9pvkpYtlti9bGtizNIU1K3zm4bZF9F91efVY0w== + dependencies: + "@babel/helper-create-regexp-features-plugin" "^7.12.1" + "@babel/helper-plugin-utils" "^7.10.4" + +"@babel/plugin-proposal-unicode-property-regex@^7.4.4": version "7.8.8" resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-unicode-property-regex/-/plugin-proposal-unicode-property-regex-7.8.8.tgz#ee3a95e90cdc04fe8cd92ec3279fa017d68a0d1d" integrity sha512-EVhjVsMpbhLw9ZfHWSx2iy13Q8Z/eg8e8ccVWt23sWQK5l1UdkoLJPN5w69UA4uITGBnEZD2JOe4QOHycYKv8A== @@ -369,6 +440,13 @@ dependencies: "@babel/helper-plugin-utils" "^7.8.0" +"@babel/plugin-syntax-class-properties@^7.12.1": + version "7.12.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-class-properties/-/plugin-syntax-class-properties-7.12.1.tgz#bcb297c5366e79bebadef509549cd93b04f19978" + integrity sha512-U40A76x5gTwmESz+qiqssqmeEsKvcSyvtgktrm0uzcARAmM9I1jR221f6Oq+GmHrcD+LvZDag1UTOTe2fL3TeA== + dependencies: + "@babel/helper-plugin-utils" "^7.10.4" + "@babel/plugin-syntax-dynamic-import@^7.8.0": version "7.8.3" resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-dynamic-import/-/plugin-syntax-dynamic-import-7.8.3.tgz#62bf98b2da3cd21d626154fc96ee5b3cb68eacb3" @@ -376,6 +454,13 @@ dependencies: "@babel/helper-plugin-utils" "^7.8.0" +"@babel/plugin-syntax-export-namespace-from@^7.8.3": + version "7.8.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-export-namespace-from/-/plugin-syntax-export-namespace-from-7.8.3.tgz#028964a9ba80dbc094c915c487ad7c4e7a66465a" + integrity sha512-MXf5laXo6c1IbEbegDmzGPwGNTsHZmEy6QGznu5Sh2UCWvueywb2ee+CCE4zQiZstxU9BMoQO9i6zUFSY0Kj0Q== + dependencies: + "@babel/helper-plugin-utils" "^7.8.3" + "@babel/plugin-syntax-json-strings@^7.8.0": version "7.8.3" resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-json-strings/-/plugin-syntax-json-strings-7.8.3.tgz#01ca21b668cd8218c9e640cb6dd88c5412b2c96a" @@ -383,12 +468,19 @@ dependencies: "@babel/helper-plugin-utils" "^7.8.0" -"@babel/plugin-syntax-jsx@^7.8.3": - version "7.8.3" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.8.3.tgz#521b06c83c40480f1e58b4fd33b92eceb1d6ea94" - integrity sha512-WxdW9xyLgBdefoo0Ynn3MRSkhe5tFVxxKNVdnZSh318WrG2e2jH+E9wd/++JsqcLJZPfz87njQJ8j2Upjm0M0A== +"@babel/plugin-syntax-jsx@^7.12.1": + version "7.12.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.12.1.tgz#9d9d357cc818aa7ae7935917c1257f67677a0926" + integrity sha512-1yRi7yAtB0ETgxdY9ti/p2TivUxJkTdhu/ZbF9MshVGqOx1TdB3b7xCXs49Fupgg50N45KcAsRP/ZqWjs9SRjg== dependencies: - "@babel/helper-plugin-utils" "^7.8.3" + "@babel/helper-plugin-utils" "^7.10.4" + +"@babel/plugin-syntax-logical-assignment-operators@^7.10.4": + version "7.10.4" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-logical-assignment-operators/-/plugin-syntax-logical-assignment-operators-7.10.4.tgz#ca91ef46303530448b906652bac2e9fe9941f699" + integrity sha512-d8waShlpFDinQ5MtvGU9xDAOzKH47+FFoney2baFIoMr952hKOLp1HR7VszoZvOsV/4+RRszNY7D17ba0te0ig== + dependencies: + "@babel/helper-plugin-utils" "^7.10.4" "@babel/plugin-syntax-nullish-coalescing-operator@^7.8.0": version "7.8.3" @@ -397,12 +489,12 @@ dependencies: "@babel/helper-plugin-utils" "^7.8.0" -"@babel/plugin-syntax-numeric-separator@^7.8.0", "@babel/plugin-syntax-numeric-separator@^7.8.3": - version "7.8.3" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-numeric-separator/-/plugin-syntax-numeric-separator-7.8.3.tgz#0e3fb63e09bea1b11e96467271c8308007e7c41f" - integrity sha512-H7dCMAdN83PcCmqmkHB5dtp+Xa9a6LKSvA2hiFBC/5alSHxM5VgWZXFqDi0YFe8XNGT6iCa+z4V4zSt/PdZ7Dw== +"@babel/plugin-syntax-numeric-separator@^7.10.4": + version "7.10.4" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-numeric-separator/-/plugin-syntax-numeric-separator-7.10.4.tgz#b9b070b3e33570cd9fd07ba7fa91c0dd37b9af97" + integrity sha512-9H6YdfkcK/uOnY/K7/aA2xpzaAgkQn37yzWUMRK7OaPOqOpGS1+n0H5hxT9AUw9EsSjPW8SVyMJwYRtWs3X3ug== dependencies: - "@babel/helper-plugin-utils" "^7.8.3" + "@babel/helper-plugin-utils" "^7.10.4" "@babel/plugin-syntax-object-rest-spread@^7.8.0": version "7.8.3" @@ -425,73 +517,80 @@ dependencies: "@babel/helper-plugin-utils" "^7.8.0" -"@babel/plugin-syntax-top-level-await@^7.8.3": - version "7.8.3" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-top-level-await/-/plugin-syntax-top-level-await-7.8.3.tgz#3acdece695e6b13aaf57fc291d1a800950c71391" - integrity sha512-kwj1j9lL/6Wd0hROD3b/OZZ7MSrZLqqn9RAZ5+cYYsflQ9HZBIKCUkr3+uL1MEJ1NePiUbf98jjiMQSv0NMR9g== +"@babel/plugin-syntax-top-level-await@^7.12.1": + version "7.12.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-top-level-await/-/plugin-syntax-top-level-await-7.12.1.tgz#dd6c0b357ac1bb142d98537450a319625d13d2a0" + integrity sha512-i7ooMZFS+a/Om0crxZodrTzNEPJHZrlMVGMTEpFAj6rYY/bKCddB0Dk/YxfPuYXOopuhKk/e1jV6h+WUU9XN3A== dependencies: - "@babel/helper-plugin-utils" "^7.8.3" + "@babel/helper-plugin-utils" "^7.10.4" -"@babel/plugin-transform-arrow-functions@^7.8.3": - version "7.8.3" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.8.3.tgz#82776c2ed0cd9e1a49956daeb896024c9473b8b6" - integrity sha512-0MRF+KC8EqH4dbuITCWwPSzsyO3HIWWlm30v8BbbpOrS1B++isGxPnnuq/IZvOX5J2D/p7DQalQm+/2PnlKGxg== +"@babel/plugin-transform-arrow-functions@^7.12.1": + version "7.12.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.12.1.tgz#8083ffc86ac8e777fbe24b5967c4b2521f3cb2b3" + integrity sha512-5QB50qyN44fzzz4/qxDPQMBCTHgxg3n0xRBLJUmBlLoU/sFvxVWGZF/ZUfMVDQuJUKXaBhbupxIzIfZ6Fwk/0A== dependencies: - "@babel/helper-plugin-utils" "^7.8.3" + "@babel/helper-plugin-utils" "^7.10.4" -"@babel/plugin-transform-async-to-generator@^7.8.3": - version "7.8.3" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.8.3.tgz#4308fad0d9409d71eafb9b1a6ee35f9d64b64086" - integrity sha512-imt9tFLD9ogt56Dd5CI/6XgpukMwd/fLGSrix2httihVe7LOGVPhyhMh1BU5kDM7iHD08i8uUtmV2sWaBFlHVQ== +"@babel/plugin-transform-async-to-generator@^7.12.1": + version "7.12.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.12.1.tgz#3849a49cc2a22e9743cbd6b52926d30337229af1" + integrity sha512-SDtqoEcarK1DFlRJ1hHRY5HvJUj5kX4qmtpMAm2QnhOlyuMC4TMdCRgW6WXpv93rZeYNeLP22y8Aq2dbcDRM1A== dependencies: - "@babel/helper-module-imports" "^7.8.3" - "@babel/helper-plugin-utils" "^7.8.3" - "@babel/helper-remap-async-to-generator" "^7.8.3" + "@babel/helper-module-imports" "^7.12.1" + "@babel/helper-plugin-utils" "^7.10.4" + "@babel/helper-remap-async-to-generator" "^7.12.1" -"@babel/plugin-transform-block-scoped-functions@^7.8.3": - version "7.8.3" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.8.3.tgz#437eec5b799b5852072084b3ae5ef66e8349e8a3" - integrity sha512-vo4F2OewqjbB1+yaJ7k2EJFHlTP3jR634Z9Cj9itpqNjuLXvhlVxgnjsHsdRgASR8xYDrx6onw4vW5H6We0Jmg== +"@babel/plugin-transform-block-scoped-functions@^7.12.1": + version "7.12.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.12.1.tgz#f2a1a365bde2b7112e0a6ded9067fdd7c07905d9" + integrity sha512-5OpxfuYnSgPalRpo8EWGPzIYf0lHBWORCkj5M0oLBwHdlux9Ri36QqGW3/LR13RSVOAoUUMzoPI/jpE4ABcHoA== dependencies: - "@babel/helper-plugin-utils" "^7.8.3" + "@babel/helper-plugin-utils" "^7.10.4" -"@babel/plugin-transform-block-scoping@^7.8.3": - version "7.8.3" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.8.3.tgz#97d35dab66857a437c166358b91d09050c868f3a" - integrity sha512-pGnYfm7RNRgYRi7bids5bHluENHqJhrV4bCZRwc5GamaWIIs07N4rZECcmJL6ZClwjDz1GbdMZFtPs27hTB06w== +"@babel/plugin-transform-block-scoping@^7.12.1": + version "7.12.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.12.1.tgz#f0ee727874b42a208a48a586b84c3d222c2bbef1" + integrity sha512-zJyAC9sZdE60r1nVQHblcfCj29Dh2Y0DOvlMkcqSo0ckqjiCwNiUezUKw+RjOCwGfpLRwnAeQ2XlLpsnGkvv9w== dependencies: - "@babel/helper-plugin-utils" "^7.8.3" - lodash "^4.17.13" + "@babel/helper-plugin-utils" "^7.10.4" -"@babel/plugin-transform-classes@^7.9.0": - version "7.9.2" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-classes/-/plugin-transform-classes-7.9.2.tgz#8603fc3cc449e31fdbdbc257f67717536a11af8d" - integrity sha512-TC2p3bPzsfvSsqBZo0kJnuelnoK9O3welkUpqSqBQuBF6R5MN2rysopri8kNvtlGIb2jmUO7i15IooAZJjZuMQ== +"@babel/plugin-transform-classes@^7.12.1": + version "7.12.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-classes/-/plugin-transform-classes-7.12.1.tgz#65e650fcaddd3d88ddce67c0f834a3d436a32db6" + integrity sha512-/74xkA7bVdzQTBeSUhLLJgYIcxw/dpEpCdRDiHgPJ3Mv6uC11UhjpOhl72CgqbBCmt1qtssCyB2xnJm1+PFjog== dependencies: - "@babel/helper-annotate-as-pure" "^7.8.3" - "@babel/helper-define-map" "^7.8.3" - "@babel/helper-function-name" "^7.8.3" - "@babel/helper-optimise-call-expression" "^7.8.3" - "@babel/helper-plugin-utils" "^7.8.3" - "@babel/helper-replace-supers" "^7.8.6" - "@babel/helper-split-export-declaration" "^7.8.3" + "@babel/helper-annotate-as-pure" "^7.10.4" + "@babel/helper-define-map" "^7.10.4" + "@babel/helper-function-name" "^7.10.4" + "@babel/helper-optimise-call-expression" "^7.10.4" + "@babel/helper-plugin-utils" "^7.10.4" + "@babel/helper-replace-supers" "^7.12.1" + "@babel/helper-split-export-declaration" "^7.10.4" globals "^11.1.0" -"@babel/plugin-transform-computed-properties@^7.8.3": - version "7.8.3" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.8.3.tgz#96d0d28b7f7ce4eb5b120bb2e0e943343c86f81b" - integrity sha512-O5hiIpSyOGdrQZRQ2ccwtTVkgUDBBiCuK//4RJ6UfePllUTCENOzKxfh6ulckXKc0DixTFLCfb2HVkNA7aDpzA== +"@babel/plugin-transform-computed-properties@^7.12.1": + version "7.12.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.12.1.tgz#d68cf6c9b7f838a8a4144badbe97541ea0904852" + integrity sha512-vVUOYpPWB7BkgUWPo4C44mUQHpTZXakEqFjbv8rQMg7TC6S6ZhGZ3otQcRH6u7+adSlE5i0sp63eMC/XGffrzg== dependencies: - "@babel/helper-plugin-utils" "^7.8.3" + "@babel/helper-plugin-utils" "^7.10.4" -"@babel/plugin-transform-destructuring@^7.8.3": - version "7.8.8" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.8.8.tgz#fadb2bc8e90ccaf5658de6f8d4d22ff6272a2f4b" - integrity sha512-eRJu4Vs2rmttFCdhPUM3bV0Yo/xPSdPw6ML9KHs/bjB4bLA5HXlbvYXPOD5yASodGod+krjYx21xm1QmL8dCJQ== +"@babel/plugin-transform-destructuring@^7.12.1": + version "7.12.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.12.1.tgz#b9a570fe0d0a8d460116413cb4f97e8e08b2f847" + integrity sha512-fRMYFKuzi/rSiYb2uRLiUENJOKq4Gnl+6qOv5f8z0TZXg3llUwUhsNNwrwaT/6dUhJTzNpBr+CUvEWBtfNY1cw== dependencies: - "@babel/helper-plugin-utils" "^7.8.3" + "@babel/helper-plugin-utils" "^7.10.4" + +"@babel/plugin-transform-dotall-regex@^7.12.1": + version "7.12.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.12.1.tgz#a1d16c14862817b6409c0a678d6f9373ca9cd975" + integrity sha512-B2pXeRKoLszfEW7J4Hg9LoFaWEbr/kzo3teWHmtFCszjRNa/b40f9mfeqZsIDLLt/FjwQ6pz/Gdlwy85xNckBA== + dependencies: + "@babel/helper-create-regexp-features-plugin" "^7.12.1" + "@babel/helper-plugin-utils" "^7.10.4" -"@babel/plugin-transform-dotall-regex@^7.4.4", "@babel/plugin-transform-dotall-regex@^7.8.3": +"@babel/plugin-transform-dotall-regex@^7.4.4": version "7.8.3" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.8.3.tgz#c3c6ec5ee6125c6993c5cbca20dc8621a9ea7a6e" integrity sha512-kLs1j9Nn4MQoBYdRXH6AeaXMbEJFaFu/v1nQkvib6QzTj8MZI5OQzqmD83/2jEM1z0DLilra5aWO5YpyC0ALIw== @@ -499,297 +598,315 @@ "@babel/helper-create-regexp-features-plugin" "^7.8.3" "@babel/helper-plugin-utils" "^7.8.3" -"@babel/plugin-transform-duplicate-keys@^7.8.3": - version "7.8.3" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.8.3.tgz#8d12df309aa537f272899c565ea1768e286e21f1" - integrity sha512-s8dHiBUbcbSgipS4SMFuWGqCvyge5V2ZeAWzR6INTVC3Ltjig/Vw1G2Gztv0vU/hRG9X8IvKvYdoksnUfgXOEQ== +"@babel/plugin-transform-duplicate-keys@^7.12.1": + version "7.12.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.12.1.tgz#745661baba295ac06e686822797a69fbaa2ca228" + integrity sha512-iRght0T0HztAb/CazveUpUQrZY+aGKKaWXMJ4uf9YJtqxSUe09j3wteztCUDRHs+SRAL7yMuFqUsLoAKKzgXjw== dependencies: - "@babel/helper-plugin-utils" "^7.8.3" + "@babel/helper-plugin-utils" "^7.10.4" -"@babel/plugin-transform-exponentiation-operator@^7.8.3": - version "7.8.3" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.8.3.tgz#581a6d7f56970e06bf51560cd64f5e947b70d7b7" - integrity sha512-zwIpuIymb3ACcInbksHaNcR12S++0MDLKkiqXHl3AzpgdKlFNhog+z/K0+TGW+b0w5pgTq4H6IwV/WhxbGYSjQ== +"@babel/plugin-transform-exponentiation-operator@^7.12.1": + version "7.12.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.12.1.tgz#b0f2ed356ba1be1428ecaf128ff8a24f02830ae0" + integrity sha512-7tqwy2bv48q+c1EHbXK0Zx3KXd2RVQp6OC7PbwFNt/dPTAV3Lu5sWtWuAj8owr5wqtWnqHfl2/mJlUmqkChKug== dependencies: - "@babel/helper-builder-binary-assignment-operator-visitor" "^7.8.3" - "@babel/helper-plugin-utils" "^7.8.3" + "@babel/helper-builder-binary-assignment-operator-visitor" "^7.10.4" + "@babel/helper-plugin-utils" "^7.10.4" -"@babel/plugin-transform-for-of@^7.9.0": - version "7.9.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.9.0.tgz#0f260e27d3e29cd1bb3128da5e76c761aa6c108e" - integrity sha512-lTAnWOpMwOXpyDx06N+ywmF3jNbafZEqZ96CGYabxHrxNX8l5ny7dt4bK/rGwAh9utyP2b2Hv7PlZh1AAS54FQ== +"@babel/plugin-transform-for-of@^7.12.1": + version "7.12.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.12.1.tgz#07640f28867ed16f9511c99c888291f560921cfa" + integrity sha512-Zaeq10naAsuHo7heQvyV0ptj4dlZJwZgNAtBYBnu5nNKJoW62m0zKcIEyVECrUKErkUkg6ajMy4ZfnVZciSBhg== dependencies: - "@babel/helper-plugin-utils" "^7.8.3" + "@babel/helper-plugin-utils" "^7.10.4" -"@babel/plugin-transform-function-name@^7.8.3": - version "7.8.3" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.8.3.tgz#279373cb27322aaad67c2683e776dfc47196ed8b" - integrity sha512-rO/OnDS78Eifbjn5Py9v8y0aR+aSYhDhqAwVfsTl0ERuMZyr05L1aFSCJnbv2mmsLkit/4ReeQ9N2BgLnOcPCQ== +"@babel/plugin-transform-function-name@^7.12.1": + version "7.12.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.12.1.tgz#2ec76258c70fe08c6d7da154003a480620eba667" + integrity sha512-JF3UgJUILoFrFMEnOJLJkRHSk6LUSXLmEFsA23aR2O5CSLUxbeUX1IZ1YQ7Sn0aXb601Ncwjx73a+FVqgcljVw== dependencies: - "@babel/helper-function-name" "^7.8.3" - "@babel/helper-plugin-utils" "^7.8.3" + "@babel/helper-function-name" "^7.10.4" + "@babel/helper-plugin-utils" "^7.10.4" -"@babel/plugin-transform-literals@^7.8.3": - version "7.8.3" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-literals/-/plugin-transform-literals-7.8.3.tgz#aef239823d91994ec7b68e55193525d76dbd5dc1" - integrity sha512-3Tqf8JJ/qB7TeldGl+TT55+uQei9JfYaregDcEAyBZ7akutriFrt6C/wLYIer6OYhleVQvH/ntEhjE/xMmy10A== +"@babel/plugin-transform-literals@^7.12.1": + version "7.12.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-literals/-/plugin-transform-literals-7.12.1.tgz#d73b803a26b37017ddf9d3bb8f4dc58bfb806f57" + integrity sha512-+PxVGA+2Ag6uGgL0A5f+9rklOnnMccwEBzwYFL3EUaKuiyVnUipyXncFcfjSkbimLrODoqki1U9XxZzTvfN7IQ== dependencies: - "@babel/helper-plugin-utils" "^7.8.3" + "@babel/helper-plugin-utils" "^7.10.4" -"@babel/plugin-transform-member-expression-literals@^7.8.3": - version "7.8.3" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-member-expression-literals/-/plugin-transform-member-expression-literals-7.8.3.tgz#963fed4b620ac7cbf6029c755424029fa3a40410" - integrity sha512-3Wk2EXhnw+rP+IDkK6BdtPKsUE5IeZ6QOGrPYvw52NwBStw9V1ZVzxgK6fSKSxqUvH9eQPR3tm3cOq79HlsKYA== +"@babel/plugin-transform-member-expression-literals@^7.12.1": + version "7.12.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-member-expression-literals/-/plugin-transform-member-expression-literals-7.12.1.tgz#496038602daf1514a64d43d8e17cbb2755e0c3ad" + integrity sha512-1sxePl6z9ad0gFMB9KqmYofk34flq62aqMt9NqliS/7hPEpURUCMbyHXrMPlo282iY7nAvUB1aQd5mg79UD9Jg== dependencies: - "@babel/helper-plugin-utils" "^7.8.3" + "@babel/helper-plugin-utils" "^7.10.4" -"@babel/plugin-transform-modules-amd@^7.9.0": - version "7.9.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.9.0.tgz#19755ee721912cf5bb04c07d50280af3484efef4" - integrity sha512-vZgDDF003B14O8zJy0XXLnPH4sg+9X5hFBBGN1V+B2rgrB+J2xIypSN6Rk9imB2hSTHQi5OHLrFWsZab1GMk+Q== +"@babel/plugin-transform-modules-amd@^7.12.1": + version "7.12.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.12.1.tgz#3154300b026185666eebb0c0ed7f8415fefcf6f9" + integrity sha512-tDW8hMkzad5oDtzsB70HIQQRBiTKrhfgwC/KkJeGsaNFTdWhKNt/BiE8c5yj19XiGyrxpbkOfH87qkNg1YGlOQ== dependencies: - "@babel/helper-module-transforms" "^7.9.0" - "@babel/helper-plugin-utils" "^7.8.3" - babel-plugin-dynamic-import-node "^2.3.0" + "@babel/helper-module-transforms" "^7.12.1" + "@babel/helper-plugin-utils" "^7.10.4" + babel-plugin-dynamic-import-node "^2.3.3" -"@babel/plugin-transform-modules-commonjs@^7.9.0": - version "7.9.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.9.0.tgz#e3e72f4cbc9b4a260e30be0ea59bdf5a39748940" - integrity sha512-qzlCrLnKqio4SlgJ6FMMLBe4bySNis8DFn1VkGmOcxG9gqEyPIOzeQrA//u0HAKrWpJlpZbZMPB1n/OPa4+n8g== +"@babel/plugin-transform-modules-commonjs@^7.12.1": + version "7.12.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.12.1.tgz#fa403124542636c786cf9b460a0ffbb48a86e648" + integrity sha512-dY789wq6l0uLY8py9c1B48V8mVL5gZh/+PQ5ZPrylPYsnAvnEMjqsUXkuoDVPeVK+0VyGar+D08107LzDQ6pag== dependencies: - "@babel/helper-module-transforms" "^7.9.0" - "@babel/helper-plugin-utils" "^7.8.3" - "@babel/helper-simple-access" "^7.8.3" - babel-plugin-dynamic-import-node "^2.3.0" + "@babel/helper-module-transforms" "^7.12.1" + "@babel/helper-plugin-utils" "^7.10.4" + "@babel/helper-simple-access" "^7.12.1" + babel-plugin-dynamic-import-node "^2.3.3" -"@babel/plugin-transform-modules-systemjs@^7.9.0": - version "7.9.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.9.0.tgz#e9fd46a296fc91e009b64e07ddaa86d6f0edeb90" - integrity sha512-FsiAv/nao/ud2ZWy4wFacoLOm5uxl0ExSQ7ErvP7jpoihLR6Cq90ilOFyX9UXct3rbtKsAiZ9kFt5XGfPe/5SQ== +"@babel/plugin-transform-modules-systemjs@^7.12.1": + version "7.12.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.12.1.tgz#663fea620d593c93f214a464cd399bf6dc683086" + integrity sha512-Hn7cVvOavVh8yvW6fLwveFqSnd7rbQN3zJvoPNyNaQSvgfKmDBO9U1YL9+PCXGRlZD9tNdWTy5ACKqMuzyn32Q== dependencies: - "@babel/helper-hoist-variables" "^7.8.3" - "@babel/helper-module-transforms" "^7.9.0" - "@babel/helper-plugin-utils" "^7.8.3" - babel-plugin-dynamic-import-node "^2.3.0" + "@babel/helper-hoist-variables" "^7.10.4" + "@babel/helper-module-transforms" "^7.12.1" + "@babel/helper-plugin-utils" "^7.10.4" + "@babel/helper-validator-identifier" "^7.10.4" + babel-plugin-dynamic-import-node "^2.3.3" -"@babel/plugin-transform-modules-umd@^7.9.0": - version "7.9.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.9.0.tgz#e909acae276fec280f9b821a5f38e1f08b480697" - integrity sha512-uTWkXkIVtg/JGRSIABdBoMsoIeoHQHPTL0Y2E7xf5Oj7sLqwVsNXOkNk0VJc7vF0IMBsPeikHxFjGe+qmwPtTQ== +"@babel/plugin-transform-modules-umd@^7.12.1": + version "7.12.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.12.1.tgz#eb5a218d6b1c68f3d6217b8fa2cc82fec6547902" + integrity sha512-aEIubCS0KHKM0zUos5fIoQm+AZUMt1ZvMpqz0/H5qAQ7vWylr9+PLYurT+Ic7ID/bKLd4q8hDovaG3Zch2uz5Q== dependencies: - "@babel/helper-module-transforms" "^7.9.0" - "@babel/helper-plugin-utils" "^7.8.3" + "@babel/helper-module-transforms" "^7.12.1" + "@babel/helper-plugin-utils" "^7.10.4" -"@babel/plugin-transform-named-capturing-groups-regex@^7.8.3": - version "7.8.3" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.8.3.tgz#a2a72bffa202ac0e2d0506afd0939c5ecbc48c6c" - integrity sha512-f+tF/8UVPU86TrCb06JoPWIdDpTNSGGcAtaD9mLP0aYGA0OS0j7j7DHJR0GTFrUZPUU6loZhbsVZgTh0N+Qdnw== +"@babel/plugin-transform-named-capturing-groups-regex@^7.12.1": + version "7.12.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.12.1.tgz#b407f5c96be0d9f5f88467497fa82b30ac3e8753" + integrity sha512-tB43uQ62RHcoDp9v2Nsf+dSM8sbNodbEicbQNA53zHz8pWUhsgHSJCGpt7daXxRydjb0KnfmB+ChXOv3oADp1Q== dependencies: - "@babel/helper-create-regexp-features-plugin" "^7.8.3" + "@babel/helper-create-regexp-features-plugin" "^7.12.1" -"@babel/plugin-transform-new-target@^7.8.3": - version "7.8.3" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.8.3.tgz#60cc2ae66d85c95ab540eb34babb6434d4c70c43" - integrity sha512-QuSGysibQpyxexRyui2vca+Cmbljo8bcRckgzYV4kRIsHpVeyeC3JDO63pY+xFZ6bWOBn7pfKZTqV4o/ix9sFw== +"@babel/plugin-transform-new-target@^7.12.1": + version "7.12.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.12.1.tgz#80073f02ee1bb2d365c3416490e085c95759dec0" + integrity sha512-+eW/VLcUL5L9IvJH7rT1sT0CzkdUTvPrXC2PXTn/7z7tXLBuKvezYbGdxD5WMRoyvyaujOq2fWoKl869heKjhw== dependencies: - "@babel/helper-plugin-utils" "^7.8.3" + "@babel/helper-plugin-utils" "^7.10.4" -"@babel/plugin-transform-object-super@^7.8.3": - version "7.8.3" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.8.3.tgz#ebb6a1e7a86ffa96858bd6ac0102d65944261725" - integrity sha512-57FXk+gItG/GejofIyLIgBKTas4+pEU47IXKDBWFTxdPd7F80H8zybyAY7UoblVfBhBGs2EKM+bJUu2+iUYPDQ== +"@babel/plugin-transform-object-super@^7.12.1": + version "7.12.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.12.1.tgz#4ea08696b8d2e65841d0c7706482b048bed1066e" + integrity sha512-AvypiGJH9hsquNUn+RXVcBdeE3KHPZexWRdimhuV59cSoOt5kFBmqlByorAeUlGG2CJWd0U+4ZtNKga/TB0cAw== dependencies: - "@babel/helper-plugin-utils" "^7.8.3" - "@babel/helper-replace-supers" "^7.8.3" + "@babel/helper-plugin-utils" "^7.10.4" + "@babel/helper-replace-supers" "^7.12.1" -"@babel/plugin-transform-parameters@^7.8.7": - version "7.9.3" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.9.3.tgz#3028d0cc20ddc733166c6e9c8534559cee09f54a" - integrity sha512-fzrQFQhp7mIhOzmOtPiKffvCYQSK10NR8t6BBz2yPbeUHb9OLW8RZGtgDRBn8z2hGcwvKDL3vC7ojPTLNxmqEg== +"@babel/plugin-transform-parameters@^7.12.1": + version "7.12.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.12.1.tgz#d2e963b038771650c922eff593799c96d853255d" + integrity sha512-xq9C5EQhdPK23ZeCdMxl8bbRnAgHFrw5EOC3KJUsSylZqdkCaFEXxGSBuTSObOpiiHHNyb82es8M1QYgfQGfNg== dependencies: - "@babel/helper-get-function-arity" "^7.8.3" - "@babel/helper-plugin-utils" "^7.8.3" + "@babel/helper-plugin-utils" "^7.10.4" -"@babel/plugin-transform-property-literals@^7.8.3": - version "7.8.3" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-property-literals/-/plugin-transform-property-literals-7.8.3.tgz#33194300d8539c1ed28c62ad5087ba3807b98263" - integrity sha512-uGiiXAZMqEoQhRWMK17VospMZh5sXWg+dlh2soffpkAl96KAm+WZuJfa6lcELotSRmooLqg0MWdH6UUq85nmmg== +"@babel/plugin-transform-property-literals@^7.12.1": + version "7.12.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-property-literals/-/plugin-transform-property-literals-7.12.1.tgz#41bc81200d730abb4456ab8b3fbd5537b59adecd" + integrity sha512-6MTCR/mZ1MQS+AwZLplX4cEySjCpnIF26ToWo942nqn8hXSm7McaHQNeGx/pt7suI1TWOWMfa/NgBhiqSnX0cQ== dependencies: - "@babel/helper-plugin-utils" "^7.8.3" + "@babel/helper-plugin-utils" "^7.10.4" -"@babel/plugin-transform-react-display-name@^7.8.3": - version "7.8.3" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-react-display-name/-/plugin-transform-react-display-name-7.8.3.tgz#70ded987c91609f78353dd76d2fb2a0bb991e8e5" - integrity sha512-3Jy/PCw8Fe6uBKtEgz3M82ljt+lTg+xJaM4og+eyu83qLT87ZUSckn0wy7r31jflURWLO83TW6Ylf7lyXj3m5A== +"@babel/plugin-transform-react-display-name@^7.12.1": + version "7.12.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-react-display-name/-/plugin-transform-react-display-name-7.12.1.tgz#1cbcd0c3b1d6648c55374a22fc9b6b7e5341c00d" + integrity sha512-cAzB+UzBIrekfYxyLlFqf/OagTvHLcVBb5vpouzkYkBclRPraiygVnafvAoipErZLI8ANv8Ecn6E/m5qPXD26w== dependencies: - "@babel/helper-plugin-utils" "^7.8.3" + "@babel/helper-plugin-utils" "^7.10.4" -"@babel/plugin-transform-react-jsx-development@^7.9.0": - version "7.9.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-react-jsx-development/-/plugin-transform-react-jsx-development-7.9.0.tgz#3c2a130727caf00c2a293f0aed24520825dbf754" - integrity sha512-tK8hWKrQncVvrhvtOiPpKrQjfNX3DtkNLSX4ObuGcpS9p0QrGetKmlySIGR07y48Zft8WVgPakqd/bk46JrMSw== +"@babel/plugin-transform-react-jsx-development@^7.12.7": + version "7.12.7" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-react-jsx-development/-/plugin-transform-react-jsx-development-7.12.7.tgz#4c2a647de79c7e2b16bfe4540677ba3121e82a08" + integrity sha512-Rs3ETtMtR3VLXFeYRChle5SsP/P9Jp/6dsewBQfokDSzKJThlsuFcnzLTDRALiUmTC48ej19YD9uN1mupEeEDg== dependencies: - "@babel/helper-builder-react-jsx-experimental" "^7.9.0" - "@babel/helper-plugin-utils" "^7.8.3" - "@babel/plugin-syntax-jsx" "^7.8.3" + "@babel/helper-builder-react-jsx-experimental" "^7.12.4" + "@babel/helper-plugin-utils" "^7.10.4" + "@babel/plugin-syntax-jsx" "^7.12.1" -"@babel/plugin-transform-react-jsx-self@^7.9.0": - version "7.9.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-react-jsx-self/-/plugin-transform-react-jsx-self-7.9.0.tgz#f4f26a325820205239bb915bad8e06fcadabb49b" - integrity sha512-K2ObbWPKT7KUTAoyjCsFilOkEgMvFG+y0FqOl6Lezd0/13kMkkjHskVsZvblRPj1PHA44PrToaZANrryppzTvQ== +"@babel/plugin-transform-react-jsx-self@^7.12.1": + version "7.12.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-react-jsx-self/-/plugin-transform-react-jsx-self-7.12.1.tgz#ef43cbca2a14f1bd17807dbe4376ff89d714cf28" + integrity sha512-FbpL0ieNWiiBB5tCldX17EtXgmzeEZjFrix72rQYeq9X6nUK38HCaxexzVQrZWXanxKJPKVVIU37gFjEQYkPkA== dependencies: - "@babel/helper-plugin-utils" "^7.8.3" - "@babel/plugin-syntax-jsx" "^7.8.3" + "@babel/helper-plugin-utils" "^7.10.4" -"@babel/plugin-transform-react-jsx-source@^7.9.0": - version "7.9.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-react-jsx-source/-/plugin-transform-react-jsx-source-7.9.0.tgz#89ef93025240dd5d17d3122294a093e5e0183de0" - integrity sha512-K6m3LlSnTSfRkM6FcRk8saNEeaeyG5k7AVkBU2bZK3+1zdkSED3qNdsWrUgQBeTVD2Tp3VMmerxVO2yM5iITmw== +"@babel/plugin-transform-react-jsx-source@^7.12.1": + version "7.12.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-react-jsx-source/-/plugin-transform-react-jsx-source-7.12.1.tgz#d07de6863f468da0809edcf79a1aa8ce2a82a26b" + integrity sha512-keQ5kBfjJNRc6zZN1/nVHCd6LLIHq4aUKcVnvE/2l+ZZROSbqoiGFRtT5t3Is89XJxBQaP7NLZX2jgGHdZvvFQ== dependencies: - "@babel/helper-plugin-utils" "^7.8.3" - "@babel/plugin-syntax-jsx" "^7.8.3" + "@babel/helper-plugin-utils" "^7.10.4" -"@babel/plugin-transform-react-jsx@^7.9.4": - version "7.9.4" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-react-jsx/-/plugin-transform-react-jsx-7.9.4.tgz#86f576c8540bd06d0e95e0b61ea76d55f6cbd03f" - integrity sha512-Mjqf3pZBNLt854CK0C/kRuXAnE6H/bo7xYojP+WGtX8glDGSibcwnsWwhwoSuRg0+EBnxPC1ouVnuetUIlPSAw== +"@babel/plugin-transform-react-jsx@^7.12.7": + version "7.12.7" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-react-jsx/-/plugin-transform-react-jsx-7.12.7.tgz#8b14d45f6eccd41b7f924bcb65c021e9f0a06f7f" + integrity sha512-YFlTi6MEsclFAPIDNZYiCRbneg1MFGao9pPG9uD5htwE0vDbPaMUMeYd6itWjw7K4kro4UbdQf3ljmFl9y48dQ== dependencies: - "@babel/helper-builder-react-jsx" "^7.9.0" - "@babel/helper-builder-react-jsx-experimental" "^7.9.0" - "@babel/helper-plugin-utils" "^7.8.3" - "@babel/plugin-syntax-jsx" "^7.8.3" + "@babel/helper-builder-react-jsx" "^7.10.4" + "@babel/helper-builder-react-jsx-experimental" "^7.12.4" + "@babel/helper-plugin-utils" "^7.10.4" + "@babel/plugin-syntax-jsx" "^7.12.1" + +"@babel/plugin-transform-react-pure-annotations@^7.12.1": + version "7.12.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-react-pure-annotations/-/plugin-transform-react-pure-annotations-7.12.1.tgz#05d46f0ab4d1339ac59adf20a1462c91b37a1a42" + integrity sha512-RqeaHiwZtphSIUZ5I85PEH19LOSzxfuEazoY7/pWASCAIBuATQzpSVD+eT6MebeeZT2F4eSL0u4vw6n4Nm0Mjg== + dependencies: + "@babel/helper-annotate-as-pure" "^7.10.4" + "@babel/helper-plugin-utils" "^7.10.4" -"@babel/plugin-transform-regenerator@^7.8.7": - version "7.8.7" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.8.7.tgz#5e46a0dca2bee1ad8285eb0527e6abc9c37672f8" - integrity sha512-TIg+gAl4Z0a3WmD3mbYSk+J9ZUH6n/Yc57rtKRnlA/7rcCvpekHXe0CMZHP1gYp7/KLe9GHTuIba0vXmls6drA== +"@babel/plugin-transform-regenerator@^7.12.1": + version "7.12.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.12.1.tgz#5f0a28d842f6462281f06a964e88ba8d7ab49753" + integrity sha512-gYrHqs5itw6i4PflFX3OdBPMQdPbF4bj2REIUxlMRUFk0/ZOAIpDFuViuxPjUL7YC8UPnf+XG7/utJvqXdPKng== dependencies: regenerator-transform "^0.14.2" -"@babel/plugin-transform-reserved-words@^7.8.3": - version "7.8.3" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-reserved-words/-/plugin-transform-reserved-words-7.8.3.tgz#9a0635ac4e665d29b162837dd3cc50745dfdf1f5" - integrity sha512-mwMxcycN3omKFDjDQUl+8zyMsBfjRFr0Zn/64I41pmjv4NJuqcYlEtezwYtw9TFd9WR1vN5kiM+O0gMZzO6L0A== +"@babel/plugin-transform-reserved-words@^7.12.1": + version "7.12.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-reserved-words/-/plugin-transform-reserved-words-7.12.1.tgz#6fdfc8cc7edcc42b36a7c12188c6787c873adcd8" + integrity sha512-pOnUfhyPKvZpVyBHhSBoX8vfA09b7r00Pmm1sH+29ae2hMTKVmSp4Ztsr8KBKjLjx17H0eJqaRC3bR2iThM54A== dependencies: - "@babel/helper-plugin-utils" "^7.8.3" + "@babel/helper-plugin-utils" "^7.10.4" -"@babel/plugin-transform-shorthand-properties@^7.8.3": - version "7.8.3" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.8.3.tgz#28545216e023a832d4d3a1185ed492bcfeac08c8" - integrity sha512-I9DI6Odg0JJwxCHzbzW08ggMdCezoWcuQRz3ptdudgwaHxTjxw5HgdFJmZIkIMlRymL6YiZcped4TTCB0JcC8w== +"@babel/plugin-transform-shorthand-properties@^7.12.1": + version "7.12.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.12.1.tgz#0bf9cac5550fce0cfdf043420f661d645fdc75e3" + integrity sha512-GFZS3c/MhX1OusqB1MZ1ct2xRzX5ppQh2JU1h2Pnfk88HtFTM+TWQqJNfwkmxtPQtb/s1tk87oENfXJlx7rSDw== dependencies: - "@babel/helper-plugin-utils" "^7.8.3" + "@babel/helper-plugin-utils" "^7.10.4" -"@babel/plugin-transform-spread@^7.8.3": - version "7.8.3" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-spread/-/plugin-transform-spread-7.8.3.tgz#9c8ffe8170fdfb88b114ecb920b82fb6e95fe5e8" - integrity sha512-CkuTU9mbmAoFOI1tklFWYYbzX5qCIZVXPVy0jpXgGwkplCndQAa58s2jr66fTeQnA64bDox0HL4U56CFYoyC7g== +"@babel/plugin-transform-spread@^7.12.1": + version "7.12.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-spread/-/plugin-transform-spread-7.12.1.tgz#527f9f311be4ec7fdc2b79bb89f7bf884b3e1e1e" + integrity sha512-vuLp8CP0BE18zVYjsEBZ5xoCecMK6LBMMxYzJnh01rxQRvhNhH1csMMmBfNo5tGpGO+NhdSNW2mzIvBu3K1fng== dependencies: - "@babel/helper-plugin-utils" "^7.8.3" + "@babel/helper-plugin-utils" "^7.10.4" + "@babel/helper-skip-transparent-expression-wrappers" "^7.12.1" -"@babel/plugin-transform-sticky-regex@^7.8.3": - version "7.8.3" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.8.3.tgz#be7a1290f81dae767475452199e1f76d6175b100" - integrity sha512-9Spq0vGCD5Bb4Z/ZXXSK5wbbLFMG085qd2vhL1JYu1WcQ5bXqZBAYRzU1d+p79GcHs2szYv5pVQCX13QgldaWw== +"@babel/plugin-transform-sticky-regex@^7.12.7": + version "7.12.7" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.12.7.tgz#560224613ab23987453948ed21d0b0b193fa7fad" + integrity sha512-VEiqZL5N/QvDbdjfYQBhruN0HYjSPjC4XkeqW4ny/jNtH9gcbgaqBIXYEZCNnESMAGs0/K/R7oFGMhOyu/eIxg== dependencies: - "@babel/helper-plugin-utils" "^7.8.3" - "@babel/helper-regex" "^7.8.3" + "@babel/helper-plugin-utils" "^7.10.4" -"@babel/plugin-transform-template-literals@^7.8.3": - version "7.8.3" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.8.3.tgz#7bfa4732b455ea6a43130adc0ba767ec0e402a80" - integrity sha512-820QBtykIQOLFT8NZOcTRJ1UNuztIELe4p9DCgvj4NK+PwluSJ49we7s9FB1HIGNIYT7wFUJ0ar2QpCDj0escQ== +"@babel/plugin-transform-template-literals@^7.12.1": + version "7.12.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.12.1.tgz#b43ece6ed9a79c0c71119f576d299ef09d942843" + integrity sha512-b4Zx3KHi+taXB1dVRBhVJtEPi9h1THCeKmae2qP0YdUHIFhVjtpqqNfxeVAa1xeHVhAy4SbHxEwx5cltAu5apw== dependencies: - "@babel/helper-annotate-as-pure" "^7.8.3" - "@babel/helper-plugin-utils" "^7.8.3" + "@babel/helper-plugin-utils" "^7.10.4" -"@babel/plugin-transform-typeof-symbol@^7.8.4": - version "7.8.4" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.8.4.tgz#ede4062315ce0aaf8a657a920858f1a2f35fc412" - integrity sha512-2QKyfjGdvuNfHsb7qnBBlKclbD4CfshH2KvDabiijLMGXPHJXGxtDzwIF7bQP+T0ysw8fYTtxPafgfs/c1Lrqg== +"@babel/plugin-transform-typeof-symbol@^7.12.1": + version "7.12.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.12.1.tgz#9ca6be343d42512fbc2e68236a82ae64bc7af78a" + integrity sha512-EPGgpGy+O5Kg5pJFNDKuxt9RdmTgj5sgrus2XVeMp/ZIbOESadgILUbm50SNpghOh3/6yrbsH+NB5+WJTmsA7Q== dependencies: - "@babel/helper-plugin-utils" "^7.8.3" + "@babel/helper-plugin-utils" "^7.10.4" -"@babel/plugin-transform-unicode-regex@^7.8.3": - version "7.8.3" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.8.3.tgz#0cef36e3ba73e5c57273effb182f46b91a1ecaad" - integrity sha512-+ufgJjYdmWfSQ+6NS9VGUR2ns8cjJjYbrbi11mZBTaWm+Fui/ncTLFF28Ei1okavY+xkojGr1eJxNsWYeA5aZw== +"@babel/plugin-transform-unicode-escapes@^7.12.1": + version "7.12.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-unicode-escapes/-/plugin-transform-unicode-escapes-7.12.1.tgz#5232b9f81ccb07070b7c3c36c67a1b78f1845709" + integrity sha512-I8gNHJLIc7GdApm7wkVnStWssPNbSRMPtgHdmH3sRM1zopz09UWPS4x5V4n1yz/MIWTVnJ9sp6IkuXdWM4w+2Q== dependencies: - "@babel/helper-create-regexp-features-plugin" "^7.8.3" - "@babel/helper-plugin-utils" "^7.8.3" + "@babel/helper-plugin-utils" "^7.10.4" + +"@babel/plugin-transform-unicode-regex@^7.12.1": + version "7.12.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.12.1.tgz#cc9661f61390db5c65e3febaccefd5c6ac3faecb" + integrity sha512-SqH4ClNngh/zGwHZOOQMTD+e8FGWexILV+ePMyiDJttAWRh5dhDL8rcl5lSgU3Huiq6Zn6pWTMvdPAb21Dwdyg== + dependencies: + "@babel/helper-create-regexp-features-plugin" "^7.12.1" + "@babel/helper-plugin-utils" "^7.10.4" -"@babel/polyfill@^7.7.0": - version "7.8.7" - resolved "https://registry.yarnpkg.com/@babel/polyfill/-/polyfill-7.8.7.tgz#151ec24c7135481336168c3bd8b8bf0cf91c032f" - integrity sha512-LeSfP9bNZH2UOZgcGcZ0PIHUt1ZuHub1L3CVmEyqLxCeDLm4C5Gi8jRH8ZX2PNpDhQCo0z6y/+DIs2JlliXW8w== +"@babel/polyfill@^7.8.7": + version "7.12.1" + resolved "https://registry.yarnpkg.com/@babel/polyfill/-/polyfill-7.12.1.tgz#1f2d6371d1261bbd961f3c5d5909150e12d0bd96" + integrity sha512-X0pi0V6gxLi6lFZpGmeNa4zxtwEmCs42isWLNjZZDE0Y8yVfgu0T2OAHlzBbdYlqbW/YXVvoBHpATEM+goCj8g== dependencies: core-js "^2.6.5" regenerator-runtime "^0.13.4" -"@babel/preset-env@^7.7.4": - version "7.9.0" - resolved "https://registry.yarnpkg.com/@babel/preset-env/-/preset-env-7.9.0.tgz#a5fc42480e950ae8f5d9f8f2bbc03f52722df3a8" - integrity sha512-712DeRXT6dyKAM/FMbQTV/FvRCms2hPCx+3weRjZ8iQVQWZejWWk1wwG6ViWMyqb/ouBbGOl5b6aCk0+j1NmsQ== - dependencies: - "@babel/compat-data" "^7.9.0" - "@babel/helper-compilation-targets" "^7.8.7" - "@babel/helper-module-imports" "^7.8.3" - "@babel/helper-plugin-utils" "^7.8.3" - "@babel/plugin-proposal-async-generator-functions" "^7.8.3" - "@babel/plugin-proposal-dynamic-import" "^7.8.3" - "@babel/plugin-proposal-json-strings" "^7.8.3" - "@babel/plugin-proposal-nullish-coalescing-operator" "^7.8.3" - "@babel/plugin-proposal-numeric-separator" "^7.8.3" - "@babel/plugin-proposal-object-rest-spread" "^7.9.0" - "@babel/plugin-proposal-optional-catch-binding" "^7.8.3" - "@babel/plugin-proposal-optional-chaining" "^7.9.0" - "@babel/plugin-proposal-unicode-property-regex" "^7.8.3" +"@babel/preset-env@^7.9.0": + version "7.12.7" + resolved "https://registry.yarnpkg.com/@babel/preset-env/-/preset-env-7.12.7.tgz#54ea21dbe92caf6f10cb1a0a576adc4ebf094b55" + integrity sha512-OnNdfAr1FUQg7ksb7bmbKoby4qFOHw6DKWWUNB9KqnnCldxhxJlP+21dpyaWFmf2h0rTbOkXJtAGevY3XW1eew== + dependencies: + "@babel/compat-data" "^7.12.7" + "@babel/helper-compilation-targets" "^7.12.5" + "@babel/helper-module-imports" "^7.12.5" + "@babel/helper-plugin-utils" "^7.10.4" + "@babel/helper-validator-option" "^7.12.1" + "@babel/plugin-proposal-async-generator-functions" "^7.12.1" + "@babel/plugin-proposal-class-properties" "^7.12.1" + "@babel/plugin-proposal-dynamic-import" "^7.12.1" + "@babel/plugin-proposal-export-namespace-from" "^7.12.1" + "@babel/plugin-proposal-json-strings" "^7.12.1" + "@babel/plugin-proposal-logical-assignment-operators" "^7.12.1" + "@babel/plugin-proposal-nullish-coalescing-operator" "^7.12.1" + "@babel/plugin-proposal-numeric-separator" "^7.12.7" + "@babel/plugin-proposal-object-rest-spread" "^7.12.1" + "@babel/plugin-proposal-optional-catch-binding" "^7.12.1" + "@babel/plugin-proposal-optional-chaining" "^7.12.7" + "@babel/plugin-proposal-private-methods" "^7.12.1" + "@babel/plugin-proposal-unicode-property-regex" "^7.12.1" "@babel/plugin-syntax-async-generators" "^7.8.0" + "@babel/plugin-syntax-class-properties" "^7.12.1" "@babel/plugin-syntax-dynamic-import" "^7.8.0" + "@babel/plugin-syntax-export-namespace-from" "^7.8.3" "@babel/plugin-syntax-json-strings" "^7.8.0" + "@babel/plugin-syntax-logical-assignment-operators" "^7.10.4" "@babel/plugin-syntax-nullish-coalescing-operator" "^7.8.0" - "@babel/plugin-syntax-numeric-separator" "^7.8.0" + "@babel/plugin-syntax-numeric-separator" "^7.10.4" "@babel/plugin-syntax-object-rest-spread" "^7.8.0" "@babel/plugin-syntax-optional-catch-binding" "^7.8.0" "@babel/plugin-syntax-optional-chaining" "^7.8.0" - "@babel/plugin-syntax-top-level-await" "^7.8.3" - "@babel/plugin-transform-arrow-functions" "^7.8.3" - "@babel/plugin-transform-async-to-generator" "^7.8.3" - "@babel/plugin-transform-block-scoped-functions" "^7.8.3" - "@babel/plugin-transform-block-scoping" "^7.8.3" - "@babel/plugin-transform-classes" "^7.9.0" - "@babel/plugin-transform-computed-properties" "^7.8.3" - "@babel/plugin-transform-destructuring" "^7.8.3" - "@babel/plugin-transform-dotall-regex" "^7.8.3" - "@babel/plugin-transform-duplicate-keys" "^7.8.3" - "@babel/plugin-transform-exponentiation-operator" "^7.8.3" - "@babel/plugin-transform-for-of" "^7.9.0" - "@babel/plugin-transform-function-name" "^7.8.3" - "@babel/plugin-transform-literals" "^7.8.3" - "@babel/plugin-transform-member-expression-literals" "^7.8.3" - "@babel/plugin-transform-modules-amd" "^7.9.0" - "@babel/plugin-transform-modules-commonjs" "^7.9.0" - "@babel/plugin-transform-modules-systemjs" "^7.9.0" - "@babel/plugin-transform-modules-umd" "^7.9.0" - "@babel/plugin-transform-named-capturing-groups-regex" "^7.8.3" - "@babel/plugin-transform-new-target" "^7.8.3" - "@babel/plugin-transform-object-super" "^7.8.3" - "@babel/plugin-transform-parameters" "^7.8.7" - "@babel/plugin-transform-property-literals" "^7.8.3" - "@babel/plugin-transform-regenerator" "^7.8.7" - "@babel/plugin-transform-reserved-words" "^7.8.3" - "@babel/plugin-transform-shorthand-properties" "^7.8.3" - "@babel/plugin-transform-spread" "^7.8.3" - "@babel/plugin-transform-sticky-regex" "^7.8.3" - "@babel/plugin-transform-template-literals" "^7.8.3" - "@babel/plugin-transform-typeof-symbol" "^7.8.4" - "@babel/plugin-transform-unicode-regex" "^7.8.3" + "@babel/plugin-syntax-top-level-await" "^7.12.1" + "@babel/plugin-transform-arrow-functions" "^7.12.1" + "@babel/plugin-transform-async-to-generator" "^7.12.1" + "@babel/plugin-transform-block-scoped-functions" "^7.12.1" + "@babel/plugin-transform-block-scoping" "^7.12.1" + "@babel/plugin-transform-classes" "^7.12.1" + "@babel/plugin-transform-computed-properties" "^7.12.1" + "@babel/plugin-transform-destructuring" "^7.12.1" + "@babel/plugin-transform-dotall-regex" "^7.12.1" + "@babel/plugin-transform-duplicate-keys" "^7.12.1" + "@babel/plugin-transform-exponentiation-operator" "^7.12.1" + "@babel/plugin-transform-for-of" "^7.12.1" + "@babel/plugin-transform-function-name" "^7.12.1" + "@babel/plugin-transform-literals" "^7.12.1" + "@babel/plugin-transform-member-expression-literals" "^7.12.1" + "@babel/plugin-transform-modules-amd" "^7.12.1" + "@babel/plugin-transform-modules-commonjs" "^7.12.1" + "@babel/plugin-transform-modules-systemjs" "^7.12.1" + "@babel/plugin-transform-modules-umd" "^7.12.1" + "@babel/plugin-transform-named-capturing-groups-regex" "^7.12.1" + "@babel/plugin-transform-new-target" "^7.12.1" + "@babel/plugin-transform-object-super" "^7.12.1" + "@babel/plugin-transform-parameters" "^7.12.1" + "@babel/plugin-transform-property-literals" "^7.12.1" + "@babel/plugin-transform-regenerator" "^7.12.1" + "@babel/plugin-transform-reserved-words" "^7.12.1" + "@babel/plugin-transform-shorthand-properties" "^7.12.1" + "@babel/plugin-transform-spread" "^7.12.1" + "@babel/plugin-transform-sticky-regex" "^7.12.7" + "@babel/plugin-transform-template-literals" "^7.12.1" + "@babel/plugin-transform-typeof-symbol" "^7.12.1" + "@babel/plugin-transform-unicode-escapes" "^7.12.1" + "@babel/plugin-transform-unicode-regex" "^7.12.1" "@babel/preset-modules" "^0.1.3" - "@babel/types" "^7.9.0" - browserslist "^4.9.1" - core-js-compat "^3.6.2" - invariant "^2.2.2" - levenary "^1.1.1" + "@babel/types" "^7.12.7" + core-js-compat "^3.7.0" semver "^5.5.0" "@babel/preset-modules@^0.1.3": @@ -803,25 +920,26 @@ "@babel/types" "^7.4.4" esutils "^2.0.2" -"@babel/preset-react@^7.7.4": - version "7.9.4" - resolved "https://registry.yarnpkg.com/@babel/preset-react/-/preset-react-7.9.4.tgz#c6c97693ac65b6b9c0b4f25b948a8f665463014d" - integrity sha512-AxylVB3FXeOTQXNXyiuAQJSvss62FEotbX2Pzx3K/7c+MKJMdSg6Ose6QYllkdCFA8EInCJVw7M/o5QbLuA4ZQ== +"@babel/preset-react@^7.9.4": + version "7.12.7" + resolved "https://registry.yarnpkg.com/@babel/preset-react/-/preset-react-7.12.7.tgz#36d61d83223b07b6ac4ec55cf016abb0f70be83b" + integrity sha512-wKeTdnGUP5AEYCYQIMeXMMwU7j+2opxrG0WzuZfxuuW9nhKvvALBjl67653CWamZJVefuJGI219G591RSldrqQ== dependencies: - "@babel/helper-plugin-utils" "^7.8.3" - "@babel/plugin-transform-react-display-name" "^7.8.3" - "@babel/plugin-transform-react-jsx" "^7.9.4" - "@babel/plugin-transform-react-jsx-development" "^7.9.0" - "@babel/plugin-transform-react-jsx-self" "^7.9.0" - "@babel/plugin-transform-react-jsx-source" "^7.9.0" + "@babel/helper-plugin-utils" "^7.10.4" + "@babel/plugin-transform-react-display-name" "^7.12.1" + "@babel/plugin-transform-react-jsx" "^7.12.7" + "@babel/plugin-transform-react-jsx-development" "^7.12.7" + "@babel/plugin-transform-react-jsx-self" "^7.12.1" + "@babel/plugin-transform-react-jsx-source" "^7.12.1" + "@babel/plugin-transform-react-pure-annotations" "^7.12.1" -"@babel/register@^7.7.4": - version "7.9.0" - resolved "https://registry.yarnpkg.com/@babel/register/-/register-7.9.0.tgz#02464ede57548bddbb5e9f705d263b7c3f43d48b" - integrity sha512-Tv8Zyi2J2VRR8g7pC5gTeIN8Ihultbmk0ocyNz8H2nEZbmhp1N6q0A1UGsQbDvGP/sNinQKUHf3SqXwqjtFv4Q== +"@babel/register@^7.9.0": + version "7.12.1" + resolved "https://registry.yarnpkg.com/@babel/register/-/register-7.12.1.tgz#cdb087bdfc4f7241c03231f22e15d211acf21438" + integrity sha512-XWcmseMIncOjoydKZnWvWi0/5CUCD+ZYKhRwgYlWOrA8fGZ/FjuLRpqtIhLOVD/fvR1b9DQHtZPn68VvhpYf+Q== dependencies: find-cache-dir "^2.0.0" - lodash "^4.17.13" + lodash "^4.17.19" make-dir "^2.1.0" pirates "^4.0.0" source-map-support "^0.5.16" @@ -833,37 +951,37 @@ dependencies: regenerator-runtime "^0.13.4" -"@babel/template@^7.8.3", "@babel/template@^7.8.6": - version "7.8.6" - resolved "https://registry.yarnpkg.com/@babel/template/-/template-7.8.6.tgz#86b22af15f828dfb086474f964dcc3e39c43ce2b" - integrity sha512-zbMsPMy/v0PWFZEhQJ66bqjhH+z0JgMoBWuikXybgG3Gkd/3t5oQ1Rw2WQhnSrsOmsKXnZOx15tkC4qON/+JPg== - dependencies: - "@babel/code-frame" "^7.8.3" - "@babel/parser" "^7.8.6" - "@babel/types" "^7.8.6" - -"@babel/traverse@^7.7.4", "@babel/traverse@^7.8.3", "@babel/traverse@^7.8.6", "@babel/traverse@^7.9.0": - version "7.9.0" - resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.9.0.tgz#d3882c2830e513f4fe4cec9fe76ea1cc78747892" - integrity sha512-jAZQj0+kn4WTHO5dUZkZKhbFrqZE7K5LAQ5JysMnmvGij+wOdr+8lWqPeW0BcF4wFwrEXXtdGO7wcV6YPJcf3w== - dependencies: - "@babel/code-frame" "^7.8.3" - "@babel/generator" "^7.9.0" - "@babel/helper-function-name" "^7.8.3" - "@babel/helper-split-export-declaration" "^7.8.3" - "@babel/parser" "^7.9.0" - "@babel/types" "^7.9.0" +"@babel/template@^7.10.4", "@babel/template@^7.12.7": + version "7.12.7" + resolved "https://registry.yarnpkg.com/@babel/template/-/template-7.12.7.tgz#c817233696018e39fbb6c491d2fb684e05ed43bc" + integrity sha512-GkDzmHS6GV7ZeXfJZ0tLRBhZcMcY0/Lnb+eEbXDBfCAcZCjrZKe6p3J4we/D24O9Y8enxWAg1cWwof59yLh2ow== + dependencies: + "@babel/code-frame" "^7.10.4" + "@babel/parser" "^7.12.7" + "@babel/types" "^7.12.7" + +"@babel/traverse@^7.10.4", "@babel/traverse@^7.12.1", "@babel/traverse@^7.12.5", "@babel/traverse@^7.12.9", "@babel/traverse@^7.9.0": + version "7.12.9" + resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.12.9.tgz#fad26c972eabbc11350e0b695978de6cc8e8596f" + integrity sha512-iX9ajqnLdoU1s1nHt36JDI9KG4k+vmI8WgjK5d+aDTwQbL2fUnzedNedssA645Ede3PM2ma1n8Q4h2ohwXgMXw== + dependencies: + "@babel/code-frame" "^7.10.4" + "@babel/generator" "^7.12.5" + "@babel/helper-function-name" "^7.10.4" + "@babel/helper-split-export-declaration" "^7.11.0" + "@babel/parser" "^7.12.7" + "@babel/types" "^7.12.7" debug "^4.1.0" globals "^11.1.0" - lodash "^4.17.13" + lodash "^4.17.19" -"@babel/types@^7.4.4", "@babel/types@^7.7.4", "@babel/types@^7.8.3", "@babel/types@^7.8.6", "@babel/types@^7.9.0": - version "7.9.0" - resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.9.0.tgz#00b064c3df83ad32b2dbf5ff07312b15c7f1efb5" - integrity sha512-BS9JKfXkzzJl8RluW4JGknzpiUV7ZrvTayM6yfqLTVBEnFtyowVIOu6rqxRd5cVO6yGoWf4T8u8dgK9oB+GCng== +"@babel/types@^7.10.4", "@babel/types@^7.10.5", "@babel/types@^7.11.0", "@babel/types@^7.12.1", "@babel/types@^7.12.5", "@babel/types@^7.12.7", "@babel/types@^7.4.4", "@babel/types@^7.8.3", "@babel/types@^7.9.0": + version "7.12.7" + resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.12.7.tgz#6039ff1e242640a29452c9ae572162ec9a8f5d13" + integrity sha512-MNyI92qZq6jrQkXvtIiykvl4WtoRrVV9MPn+ZfsoEENjiWcBQ3ZSHrkxnJWgWtLX3XXqX5hrSQ+X69wkmesXuQ== dependencies: - "@babel/helper-validator-identifier" "^7.9.0" - lodash "^4.17.13" + "@babel/helper-validator-identifier" "^7.10.4" + lodash "^4.17.19" to-fast-properties "^2.0.0" "@mrmlnc/readdir-enhanced@^2.2.1": @@ -1113,18 +1231,18 @@ autolinker@~0.28.0: dependencies: gulp-header "^1.7.1" -autoprefixer@^9.7.2: - version "9.7.5" - resolved "https://registry.yarnpkg.com/autoprefixer/-/autoprefixer-9.7.5.tgz#8df10b9ff9b5814a8d411a5cfbab9c793c392376" - integrity sha512-URo6Zvt7VYifomeAfJlMFnYDhow1rk2bufwkbamPEAtQFcL11moLk4PnR7n9vlu7M+BkXAZkHFA0mIcY7tjQFg== +autoprefixer@^9.7.5: + version "9.8.6" + resolved "https://registry.yarnpkg.com/autoprefixer/-/autoprefixer-9.8.6.tgz#3b73594ca1bf9266320c5acf1588d74dea74210f" + integrity sha512-XrvP4VVHdRBCdX1S3WXVD8+RyG9qeb1D5Sn1DeLiG2xfSpzellk5k54xbUERJ3M5DggQxes39UGOTP8CFrEGbg== dependencies: - browserslist "^4.11.0" - caniuse-lite "^1.0.30001036" - chalk "^2.4.2" + browserslist "^4.12.0" + caniuse-lite "^1.0.30001109" + colorette "^1.2.1" normalize-range "^0.1.2" num2fraction "^1.2.2" - postcss "^7.0.27" - postcss-value-parser "^4.0.3" + postcss "^7.0.32" + postcss-value-parser "^4.1.0" aws-sign2@~0.7.0: version "0.7.0" @@ -1145,10 +1263,10 @@ babel-code-frame@^6.22.0: esutils "^2.0.2" js-tokens "^3.0.2" -babel-plugin-dynamic-import-node@^2.3.0: - version "2.3.0" - resolved "https://registry.yarnpkg.com/babel-plugin-dynamic-import-node/-/babel-plugin-dynamic-import-node-2.3.0.tgz#f00f507bdaa3c3e3ff6e7e5e98d90a7acab96f7f" - integrity sha512-o6qFkpeQEBxcqt0XYlWzAVxNCSCZdUgcR8IRlhD/8DylxjjO4foPcvTW0GGKa/cVt3rvxZ7o5ippJ+/0nvLhlQ== +babel-plugin-dynamic-import-node@^2.3.3: + version "2.3.3" + resolved "https://registry.yarnpkg.com/babel-plugin-dynamic-import-node/-/babel-plugin-dynamic-import-node-2.3.3.tgz#84fda19c976ec5c6defef57f9427b3def66e17a3" + integrity sha512-jZVI+s9Zg3IqA/kdi0i6UDCybUI3aSBLnglhYbSSjKlV7yF1F/5LWv8MakQmvYpnbJDS6fcBL2KzHSxNCMtWSQ== dependencies: object.assign "^4.1.0" @@ -1324,7 +1442,7 @@ browserslist@4.7.0: electron-to-chromium "^1.3.247" node-releases "^1.1.29" -browserslist@^4.0.0, browserslist@^4.11.0, browserslist@^4.8.3, browserslist@^4.9.1: +browserslist@^4.0.0: version "4.11.0" resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-4.11.0.tgz#aef4357b10a8abda00f97aac7cd587b2082ba1ad" integrity sha512-WqEC7Yr5wUH5sg6ruR++v2SGOQYpyUdYYd4tZoAq1F7y+QXoLoYGXVbxhtaIqWmAJjtNTRjVD3HuJc1OXTel2A== @@ -1334,6 +1452,17 @@ browserslist@^4.0.0, browserslist@^4.11.0, browserslist@^4.8.3, browserslist@^4. node-releases "^1.1.52" pkg-up "^3.1.0" +browserslist@^4.12.0, browserslist@^4.14.5, browserslist@^4.14.7: + version "4.15.0" + resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-4.15.0.tgz#3d48bbca6a3f378e86102ffd017d9a03f122bdb0" + integrity sha512-IJ1iysdMkGmjjYeRlDU8PQejVwxvVO5QOfXH7ylW31GO6LwNRSmm/SgRXtNsEXqMLl2e+2H5eEJ7sfynF8TCaQ== + dependencies: + caniuse-lite "^1.0.30001164" + colorette "^1.2.1" + electron-to-chromium "^1.3.612" + escalade "^3.1.1" + node-releases "^1.1.67" + buffer-alloc-unsafe@^1.1.0: version "1.1.0" resolved "https://registry.yarnpkg.com/buffer-alloc-unsafe/-/buffer-alloc-unsafe-1.1.0.tgz#bd7dc26ae2972d0eda253be061dba992349c19f0" @@ -1455,11 +1584,16 @@ caniuse-api@^3.0.0: lodash.memoize "^4.1.2" lodash.uniq "^4.5.0" -caniuse-lite@^1.0.0, caniuse-lite@^1.0.30000989, caniuse-lite@^1.0.30001035, caniuse-lite@^1.0.30001036: +caniuse-lite@^1.0.0, caniuse-lite@^1.0.30000989, caniuse-lite@^1.0.30001035: version "1.0.30001037" resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001037.tgz#cf666560b14f8dfa18abc235db1ef2699273af6e" integrity sha512-qQP40FzWQ1i9RTjxppOUnpM8OwTBFL5DQbjoR9Az32EtM7YUZOw9orFO6rj1C+xWAGzz+X3bUe09Jf5Ep+zpuA== +caniuse-lite@^1.0.30001109, caniuse-lite@^1.0.30001164: + version "1.0.30001164" + resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001164.tgz#5bbfd64ca605d43132f13cc7fdabb17c3036bfdc" + integrity sha512-G+A/tkf4bu0dSp9+duNiXc7bGds35DioCyC6vgK2m/rjA4Krpy5WeZgZyfH2f0wj2kI6yAWWucyap6oOwmY1mg== + caseless@~0.12.0: version "0.12.0" resolved "https://registry.yarnpkg.com/caseless/-/caseless-0.12.0.tgz#1b681c21ff84033c826543090689420d187151dc" @@ -1654,6 +1788,11 @@ color@^3.0.0: color-convert "^1.9.1" color-string "^1.5.2" +colorette@^1.2.1: + version "1.2.1" + resolved "https://registry.yarnpkg.com/colorette/-/colorette-1.2.1.tgz#4d0b921325c14faf92633086a536db6e89564b1b" + integrity sha512-puCDz0CzydiSYOrnXpz/PKd69zRrribezjtE9yd4zvytoRc8+RY/KJPvtPFKZS3E3wP6neGyMe0vOTlHO5L3Pw== + combined-stream@^1.0.6, combined-stream@~1.0.6: version "1.0.8" resolved "https://registry.yarnpkg.com/combined-stream/-/combined-stream-1.0.8.tgz#c3d45a8b34fd730631a110a8a2520682b31d5a7f" @@ -1755,12 +1894,12 @@ copy-descriptor@^0.1.0: resolved "https://registry.yarnpkg.com/copy-descriptor/-/copy-descriptor-0.1.1.tgz#676f6eb3c39997c2ee1ac3a924fd6124748f578d" integrity sha1-Z29us8OZl8LuGsOpJP1hJHSPV40= -core-js-compat@^3.6.2: - version "3.6.4" - resolved "https://registry.yarnpkg.com/core-js-compat/-/core-js-compat-3.6.4.tgz#938476569ebb6cda80d339bcf199fae4f16fff17" - integrity sha512-zAa3IZPvsJ0slViBQ2z+vgyyTuhd3MFn1rBQjZSKVEgB0UMYhUkCj9jJUVPgGTGqWvsBVmfnruXgTcNyTlEiSA== +core-js-compat@^3.7.0: + version "3.8.0" + resolved "https://registry.yarnpkg.com/core-js-compat/-/core-js-compat-3.8.0.tgz#3248c6826f4006793bd637db608bca6e4cd688b1" + integrity sha512-o9QKelQSxQMYWHXc/Gc4L8bx/4F7TTraE5rhuN8I7mKBt5dBIUpXpIR3omv70ebr8ST5R3PqbDQr+ZI3+Tt1FQ== dependencies: - browserslist "^4.8.3" + browserslist "^4.14.7" semver "7.0.0" core-js@^2.6.5: @@ -2143,21 +2282,21 @@ dir-glob@2.0.0: arrify "^1.0.1" path-type "^3.0.0" -docusaurus@^1.14.4: - version "1.14.4" - resolved "https://registry.yarnpkg.com/docusaurus/-/docusaurus-1.14.4.tgz#1ef3ebe8c2aaaf1dec6c2e0e177e83be78aeaca3" - integrity sha512-KALmrlZBc0E+AB0ITR4POGKv8WcrcSSxvmgq7nC3TdpS+S2hrlXN/2tV3tVOZ8q8m+zhcMs7l9mAIhGFQyQwIw== - dependencies: - "@babel/core" "^7.7.4" - "@babel/plugin-proposal-class-properties" "^7.7.4" - "@babel/plugin-proposal-object-rest-spread" "^7.7.4" - "@babel/polyfill" "^7.7.0" - "@babel/preset-env" "^7.7.4" - "@babel/preset-react" "^7.7.4" - "@babel/register" "^7.7.4" - "@babel/traverse" "^7.7.4" - "@babel/types" "^7.7.4" - autoprefixer "^9.7.2" +docusaurus@^1.14.6: + version "1.14.6" + resolved "https://registry.yarnpkg.com/docusaurus/-/docusaurus-1.14.6.tgz#ffab9f6dafe8c48c477e0ebc7f491e554143b2b5" + integrity sha512-Hpo6xqYIHwazwuhXW25AKYv/os+dWoJ87qql/m1j1xp83h/BnfYV2l8PA8zLggF1wGUbJQbTx7GWo6QvD8z+4Q== + dependencies: + "@babel/core" "^7.9.0" + "@babel/plugin-proposal-class-properties" "^7.8.3" + "@babel/plugin-proposal-object-rest-spread" "^7.9.0" + "@babel/polyfill" "^7.8.7" + "@babel/preset-env" "^7.9.0" + "@babel/preset-react" "^7.9.4" + "@babel/register" "^7.9.0" + "@babel/traverse" "^7.9.0" + "@babel/types" "^7.9.0" + autoprefixer "^9.7.5" babylon "^6.18.0" chalk "^3.0.0" classnames "^2.2.6" @@ -2188,7 +2327,7 @@ docusaurus@^1.14.4: react-dom "^16.8.4" remarkable "^2.0.0" request "^2.88.0" - shelljs "^0.8.3" + shelljs "^0.8.4" sitemap "^3.2.2" tcp-port-used "^1.0.1" tiny-lr "^1.1.1" @@ -2314,6 +2453,11 @@ electron-to-chromium@^1.3.247, electron-to-chromium@^1.3.380: resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.3.384.tgz#ca1d5710a4c53168431f1cbef39c8a971b646bf8" integrity sha512-9jGNF78o450ymPf63n7/j1HrRAD4xGTsDkKY2X6jtCAWaYgph2A9xQjwfwRpj+AovkARMO+JfZuVCFTdandD6w== +electron-to-chromium@^1.3.612: + version "1.3.614" + resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.3.614.tgz#ff359e8d2249e2ce859a4c2bc34c22bd2e2eb0a2" + integrity sha512-JMDl46mg4G+n6q/hAJkwy9eMTj5FJjsE+8f/irAGRMLM4yeRVbMuRrdZrbbGGOrGVcZc4vJPjUpEUWNb/fA6hg== + "emoji-regex@>=6.0.0 <=6.1.1": version "6.1.1" resolved "https://registry.yarnpkg.com/emoji-regex/-/emoji-regex-6.1.1.tgz#c6cd0ec1b0642e2a3c67a1137efc5e796da4f88e" @@ -2386,6 +2530,11 @@ es-to-primitive@^1.2.1: is-date-object "^1.0.1" is-symbol "^1.0.2" +escalade@^3.1.1: + version "3.1.1" + resolved "https://registry.yarnpkg.com/escalade/-/escalade-3.1.1.tgz#d8cfdc7000965c5a0174b4a82eaa5c0552742e40" + integrity sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw== + escape-html@~1.0.3: version "1.0.3" resolved "https://registry.yarnpkg.com/escape-html/-/escape-html-1.0.3.tgz#0258eae4d3d0c0974de1c169188ef0051d1d1988" @@ -3413,13 +3562,6 @@ into-stream@^3.1.0: from2 "^2.1.1" p-is-promise "^1.1.0" -invariant@^2.2.2, invariant@^2.2.4: - version "2.2.4" - resolved "https://registry.yarnpkg.com/invariant/-/invariant-2.2.4.tgz#610f3c92c9359ce1db616e538008d23ff35158e6" - integrity sha512-phJfQVBuaJM5raOpJjSfkiD6BpbCE4Ns//LaXl6wGYtUBY83nWS6Rf9tXm2e8VaK60JEjYldbPif/A2B1C2gNA== - dependencies: - loose-envify "^1.0.0" - ip-regex@^2.1.0: version "2.1.0" resolved "https://registry.yarnpkg.com/ip-regex/-/ip-regex-2.1.0.tgz#fa78bf5d2e6913c911ce9f819ee5146bb6d844e9" @@ -3897,18 +4039,6 @@ lazy-cache@^2.0.2: dependencies: set-getter "^0.1.0" -leven@^3.1.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/leven/-/leven-3.1.0.tgz#77891de834064cccba82ae7842bb6b14a13ed7f2" - integrity sha512-qsda+H8jTaUaN/x5vzW2rzc+8Rw4TAQ/4KjB46IwK5VH+IlVeeeje/EoZRpiXvIqjFgK84QffqPztGI3VBLG1A== - -levenary@^1.1.1: - version "1.1.1" - resolved "https://registry.yarnpkg.com/levenary/-/levenary-1.1.1.tgz#842a9ee98d2075aa7faeedbe32679e9205f46f77" - integrity sha512-mkAdOIt79FD6irqjYSs4rdbnlT5vRonMEvBVPVb3XmevfS8kgRXwfes0dhPdEtzTWD/1eNE/Bm/G1iRt6DcnQQ== - dependencies: - leven "^3.1.0" - list-item@^1.1.1: version "1.1.1" resolved "https://registry.yarnpkg.com/list-item/-/list-item-1.1.1.tgz#0c65d00e287cb663ccb3cb3849a77e89ec268a56" @@ -4065,10 +4195,10 @@ lodash.uniq@^4.5.0: resolved "https://registry.yarnpkg.com/lodash.uniq/-/lodash.uniq-4.5.0.tgz#d0225373aeb652adc1bc82e4945339a842754773" integrity sha1-0CJTc662Uq3BvILklFM5qEJ1R3M= -lodash@^4.17.12, lodash@^4.17.13, lodash@^4.17.14, lodash@^4.17.15, lodash@~4.17.12: - version "4.17.19" - resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.19.tgz#e48ddedbe30b3321783c5b4301fbd353bc1e4a4b" - integrity sha512-JNvd8XER9GQX0v2qJgsaN/mzFCNA5BRe/j8JN9d+tWyGLSodKQHKFicdwNYzWwI3wjRnaKPsGj1XkBjx/F96DQ== +lodash@^4.17.12, lodash@^4.17.13, lodash@^4.17.14, lodash@^4.17.15, lodash@^4.17.19, lodash@~4.17.12: + version "4.17.20" + resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.20.tgz#b44a9b6297bcb698f1c51a3545a2b3b368d59c52" + integrity sha512-PlhdFcillOINfeV7Ni6oF1TAEayyZBoZ8bcshTHqOYJYlrqzRK5hagpagky5o4HfCzzd1TRkXPMFq6cKk9rGmA== logalot@^2.0.0: version "2.1.0" @@ -4083,7 +4213,7 @@ longest@^1.0.0: resolved "https://registry.yarnpkg.com/longest/-/longest-1.0.1.tgz#30a0b2da38f73770e8294a0d22e6625ed77d0097" integrity sha1-MKCy2jj3N3DoKUoNIuZiXtd9AJc= -loose-envify@^1.0.0, loose-envify@^1.1.0, loose-envify@^1.4.0: +loose-envify@^1.1.0, loose-envify@^1.4.0: version "1.4.0" resolved "https://registry.yarnpkg.com/loose-envify/-/loose-envify-1.4.0.tgz#71ee51fa7be4caec1a63839f7e682d8132d30caf" integrity sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q== @@ -4374,6 +4504,11 @@ node-releases@^1.1.29, node-releases@^1.1.52: dependencies: semver "^6.3.0" +node-releases@^1.1.67: + version "1.1.67" + resolved "https://registry.yarnpkg.com/node-releases/-/node-releases-1.1.67.tgz#28ebfcccd0baa6aad8e8d4d8fe4cbc49ae239c12" + integrity sha512-V5QF9noGFl3EymEwUYzO+3NTDpGfQB4ve6Qfnzf3UNydMhjQRVPR1DZTuvWiLzaFJYw2fmDwAfnRNEVb64hSIg== + normalize-package-data@^2.3.2, normalize-package-data@^2.3.4: version "2.5.0" resolved "https://registry.yarnpkg.com/normalize-package-data/-/normalize-package-data-2.5.0.tgz#e66db1838b200c1dfc233225d12cb36520e234a8" @@ -5099,15 +5234,20 @@ postcss-value-parser@^3.0.0: resolved "https://registry.yarnpkg.com/postcss-value-parser/-/postcss-value-parser-3.3.1.tgz#9ff822547e2893213cf1c30efa51ac5fd1ba8281" integrity sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ== -postcss-value-parser@^4.0.2, postcss-value-parser@^4.0.3: +postcss-value-parser@^4.0.2: version "4.0.3" resolved "https://registry.yarnpkg.com/postcss-value-parser/-/postcss-value-parser-4.0.3.tgz#651ff4593aa9eda8d5d0d66593a2417aeaeb325d" integrity sha512-N7h4pG+Nnu5BEIzyeaaIYWs0LI5XC40OrRh5L60z0QjFsqGWcHcbkBvpe1WYpcIS9yQ8sOi/vIPt1ejQCrMVrg== -postcss@^7.0.0, postcss@^7.0.1, postcss@^7.0.23, postcss@^7.0.27: - version "7.0.27" - resolved "https://registry.yarnpkg.com/postcss/-/postcss-7.0.27.tgz#cc67cdc6b0daa375105b7c424a85567345fc54d9" - integrity sha512-WuQETPMcW9Uf1/22HWUWP9lgsIC+KEHg2kozMflKjbeUtw9ujvFX6QmIfozaErDkmLWS9WEnEdEe6Uo9/BNTdQ== +postcss-value-parser@^4.1.0: + version "4.1.0" + resolved "https://registry.yarnpkg.com/postcss-value-parser/-/postcss-value-parser-4.1.0.tgz#443f6a20ced6481a2bda4fa8532a6e55d789a2cb" + integrity sha512-97DXOFbQJhk71ne5/Mt6cOu6yxsSfM0QGQyl0L25Gca4yGWEGJaig7l7gbCX623VqTBNGLRLaVUCnNkcedlRSQ== + +postcss@^7.0.0, postcss@^7.0.1, postcss@^7.0.23, postcss@^7.0.27, postcss@^7.0.32: + version "7.0.35" + resolved "https://registry.yarnpkg.com/postcss/-/postcss-7.0.35.tgz#d2be00b998f7f211d8a276974079f2e92b970e24" + integrity sha512-3QT8bBJeX/S5zKTTjTCIjRF3If4avAT6kqxcASlTWEtAFCb9NH0OUxNDfgZSWdP5fJnBYCMEWkIFfWeugjzYMg== dependencies: chalk "^2.4.2" source-map "^0.6.1" @@ -5426,6 +5566,18 @@ regexpu-core@^4.7.0: unicode-match-property-ecmascript "^1.0.4" unicode-match-property-value-ecmascript "^1.2.0" +regexpu-core@^4.7.1: + version "4.7.1" + resolved "https://registry.yarnpkg.com/regexpu-core/-/regexpu-core-4.7.1.tgz#2dea5a9a07233298fbf0db91fa9abc4c6e0f8ad6" + integrity sha512-ywH2VUraA44DZQuRKzARmw6S66mr48pQVva4LBeRhcOltJ6hExvWly5ZjFLYo67xbIxb6W1q4bAGtgfEl20zfQ== + dependencies: + regenerate "^1.4.0" + regenerate-unicode-properties "^8.2.0" + regjsgen "^0.5.1" + regjsparser "^0.6.4" + unicode-match-property-ecmascript "^1.0.4" + unicode-match-property-value-ecmascript "^1.2.0" + regjsgen@^0.5.1: version "0.5.1" resolved "https://registry.yarnpkg.com/regjsgen/-/regjsgen-0.5.1.tgz#48f0bf1a5ea205196929c0d9798b42d1ed98443c" @@ -5732,10 +5884,10 @@ shell-quote@1.7.2: resolved "https://registry.yarnpkg.com/shell-quote/-/shell-quote-1.7.2.tgz#67a7d02c76c9da24f99d20808fcaded0e0e04be2" integrity sha512-mRz/m/JVscCrkMyPqHc/bczi3OQHkLTqXHEFu0zDhK/qfv3UcOA4SVmRCLmos4bhjr9ekVQubj/R7waKapmiQg== -shelljs@^0.8.3: - version "0.8.3" - resolved "https://registry.yarnpkg.com/shelljs/-/shelljs-0.8.3.tgz#a7f3319520ebf09ee81275b2368adb286659b097" - integrity sha512-fc0BKlAWiLpwZljmOvAOTE/gXawtCoNrP5oaY7KIaQbbyHeQVg01pSEuEGvGh3HEdBU4baCD7wQBwADmM/7f7A== +shelljs@^0.8.4: + version "0.8.4" + resolved "https://registry.yarnpkg.com/shelljs/-/shelljs-0.8.4.tgz#de7684feeb767f8716b326078a8a00875890e3c2" + integrity sha512-7gk3UZ9kOfPLIAbslLzyWeGiEqx9e3rxwZM0KE6EL8GlGwjym9Mrlx5/p33bWTu9YG6vcS4MBxYZDHYr5lr8BQ== dependencies: glob "^7.0.0" interpret "^1.0.0" From ee2a561431bb0da91b869d89ab7d82f00f49e1ab Mon Sep 17 00:00:00 2001 From: Fabrizio Fortino Date: Wed, 9 Dec 2020 13:46:31 +0100 Subject: [PATCH 56/71] feat(node): add Scala programming language (#373) * Add Scala programming language * optmize png * remove transparent mark * remove transparent mark --- diagrams/programming/language.py | 4 ++++ docs/nodes/programming.md | 1 + resources/programming/language/scala.png | Bin 0 -> 4830 bytes 3 files changed, 5 insertions(+) create mode 100644 resources/programming/language/scala.png diff --git a/diagrams/programming/language.py b/diagrams/programming/language.py index 7dc4da95..48f11a7f 100644 --- a/diagrams/programming/language.py +++ b/diagrams/programming/language.py @@ -80,6 +80,10 @@ class Rust(_Language): _icon = "rust.png" +class Scala(_Language): + _icon = "scala.png" + + class Swift(_Language): _icon = "swift.png" diff --git a/docs/nodes/programming.md b/docs/nodes/programming.md index 86c07b70..4a5cc9ea 100644 --- a/docs/nodes/programming.md +++ b/docs/nodes/programming.md @@ -39,5 +39,6 @@ Node classes list of programming provider. - **diagrams.programming.language.R** - **diagrams.programming.language.Ruby** - **diagrams.programming.language.Rust** +- **diagrams.programming.language.Scala** - **diagrams.programming.language.Swift** - **diagrams.programming.language.Typescript**, **TypeScript** (alias) diff --git a/resources/programming/language/scala.png b/resources/programming/language/scala.png new file mode 100644 index 0000000000000000000000000000000000000000..b77d72317d2eaa0f8e10844af63127baa091349f GIT binary patch literal 4830 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 a2&4iI4|m4-BHqsb%m~`XTICu}kN*eZXh1Ol literal 0 HcmV?d00001 From af0caf22d1b0c6f5d2211a722876118a0633e71d Mon Sep 17 00:00:00 2001 From: Thies Broetje Date: Wed, 9 Dec 2020 14:14:17 +0100 Subject: [PATCH 57/71] feat(node): added nextcloud, bitwarden, boundary and ambassador (#363) * added bitwarden * add hashicorp boundary * add ambassador edge stack * add nextcloud and groupware category * docs update Co-authored-by: Thies B --- diagrams/onprem/auth.py | 4 ++++ diagrams/onprem/groupware.py | 15 +++++++++++++++ diagrams/onprem/network.py | 4 ++++ diagrams/onprem/security.py | 4 ++++ docs/nodes/onprem.md | 7 +++++++ resources/onprem/auth/boundary.png | Bin 0 -> 11389 bytes resources/onprem/groupware/nextcloud.png | Bin 0 -> 12291 bytes resources/onprem/network/ambassador.png | Bin 0 -> 19548 bytes resources/onprem/security/bitwarden.png | Bin 0 -> 3288 bytes 9 files changed, 34 insertions(+) create mode 100644 diagrams/onprem/groupware.py create mode 100644 resources/onprem/auth/boundary.png create mode 100644 resources/onprem/groupware/nextcloud.png create mode 100644 resources/onprem/network/ambassador.png create mode 100644 resources/onprem/security/bitwarden.png diff --git a/diagrams/onprem/auth.py b/diagrams/onprem/auth.py index 1ece9e76..dc98f688 100644 --- a/diagrams/onprem/auth.py +++ b/diagrams/onprem/auth.py @@ -8,6 +8,10 @@ class _Auth(_OnPrem): _icon_dir = "resources/onprem/auth" +class Boundary(_Auth): + _icon = "boundary.png" + + class BuzzfeedSso(_Auth): _icon = "buzzfeed-sso.png" diff --git a/diagrams/onprem/groupware.py b/diagrams/onprem/groupware.py new file mode 100644 index 00000000..11e02dc4 --- /dev/null +++ b/diagrams/onprem/groupware.py @@ -0,0 +1,15 @@ +# This module is automatically generated by autogen.sh. DO NOT EDIT. + +from . import _OnPrem + + +class _Groupware(_OnPrem): + _type = "groupware" + _icon_dir = "resources/onprem/groupware" + + +class Nextcloud(_Groupware): + _icon = "nextcloud.png" + + +# Aliases diff --git a/diagrams/onprem/network.py b/diagrams/onprem/network.py index ae91ea4f..b7e162a6 100644 --- a/diagrams/onprem/network.py +++ b/diagrams/onprem/network.py @@ -8,6 +8,10 @@ class _Network(_OnPrem): _icon_dir = "resources/onprem/network" +class Ambassador(_Network): + _icon = "ambassador.png" + + class Apache(_Network): _icon = "apache.png" diff --git a/diagrams/onprem/security.py b/diagrams/onprem/security.py index f85bac66..d0447421 100644 --- a/diagrams/onprem/security.py +++ b/diagrams/onprem/security.py @@ -8,6 +8,10 @@ class _Security(_OnPrem): _icon_dir = "resources/onprem/security" +class Bitwarden(_Security): + _icon = "bitwarden.png" + + class Trivy(_Security): _icon = "trivy.png" diff --git a/docs/nodes/onprem.md b/docs/nodes/onprem.md index f93f70be..26fe0f0a 100644 --- a/docs/nodes/onprem.md +++ b/docs/nodes/onprem.md @@ -27,6 +27,7 @@ Node classes list of onprem provider. ## onprem.auth +- **diagrams.onprem.auth.Boundary** - **diagrams.onprem.auth.BuzzfeedSso** - **diagrams.onprem.auth.Oauth2Proxy** @@ -110,6 +111,10 @@ Node classes list of onprem provider. - **diagrams.onprem.gitops.Flagger** - **diagrams.onprem.gitops.Flux** +## onprem.groupware + +- **diagrams.onprem.groupware.Nextcloud** + ## onprem.iac - **diagrams.onprem.iac.Ansible** @@ -154,6 +159,7 @@ Node classes list of onprem provider. ## onprem.network +- **diagrams.onprem.network.Ambassador** - **diagrams.onprem.network.Apache** - **diagrams.onprem.network.Bind9** - **diagrams.onprem.network.Caddy** @@ -201,6 +207,7 @@ Node classes list of onprem provider. ## onprem.security +- **diagrams.onprem.security.Bitwarden** - **diagrams.onprem.security.Trivy** - **diagrams.onprem.security.Vault** diff --git a/resources/onprem/auth/boundary.png b/resources/onprem/auth/boundary.png new file mode 100644 index 0000000000000000000000000000000000000000..d5751ae43084aa68ed1a550319d74d5004b15bb7 GIT binary patch literal 11389 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 KiRIkVdGyYKxQ?)_=b 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 JOU}8+{vC&!DINd- literal 0 HcmV?d00001 From 89414b1726f1696b8e04fa88fd75ba6aa630b067 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Thu, 24 Dec 2020 21:53:30 +0900 Subject: [PATCH 58/71] chore(deps): bump graphviz from 0.13.2 to 0.15 (#392) Bumps [graphviz](https://github.com/xflr6/graphviz) from 0.13.2 to 0.15. - [Release notes](https://github.com/xflr6/graphviz/releases) - [Changelog](https://github.com/xflr6/graphviz/blob/master/CHANGES.txt) - [Commits](https://github.com/xflr6/graphviz/compare/0.13.2...0.15) Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- poetry.lock | 217 ++++++++++++++++++++++++------------------------- pyproject.toml | 2 +- 2 files changed, 109 insertions(+), 110 deletions(-) diff --git a/poetry.lock b/poetry.lock index 82a9434e..1de01897 100644 --- a/poetry.lock +++ b/poetry.lock @@ -1,43 +1,40 @@ [[package]] -category = "dev" -description = "A small Python module for determining appropriate platform-specific dirs, e.g. a \"user data dir\"." name = "appdirs" +version = "1.4.3" +description = "A small Python module for determining appropriate platform-specific dirs, e.g. a \"user data dir\"." +category = "dev" optional = false python-versions = "*" -version = "1.4.3" [[package]] -category = "dev" -description = "An abstract syntax tree for Python with inference support." name = "astroid" +version = "2.3.3" +description = "An abstract syntax tree for Python with inference support." +category = "dev" optional = false python-versions = ">=3.5.*" -version = "2.3.3" [package.dependencies] lazy-object-proxy = ">=1.4.0,<1.5.0" six = ">=1.12,<2.0" +typed-ast = {version = ">=1.4.0,<1.5", markers = "implementation_name == \"cpython\" and python_version < \"3.8\""} wrapt = ">=1.11.0,<1.12.0" -[package.dependencies.typed-ast] -python = "<3.8" -version = ">=1.4.0,<1.5" - [[package]] -category = "dev" -description = "Atomic file writes." name = "atomicwrites" +version = "1.3.0" +description = "Atomic file writes." +category = "dev" optional = false python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*" -version = "1.3.0" [[package]] -category = "dev" -description = "Classes Without Boilerplate" name = "attrs" +version = "19.3.0" +description = "Classes Without Boilerplate" +category = "dev" optional = false python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*" -version = "19.3.0" [package.extras] azure-pipelines = ["coverage", "hypothesis", "pympler", "pytest (>=4.3.0)", "six", "zope.interface", "pytest-azurepipelines"] @@ -46,12 +43,12 @@ docs = ["sphinx", "zope.interface"] tests = ["coverage", "hypothesis", "pympler", "pytest (>=4.3.0)", "six", "zope.interface"] [[package]] -category = "dev" -description = "The uncompromising code formatter." name = "black" +version = "19.10b0" +description = "The uncompromising code formatter." +category = "dev" optional = false python-versions = ">=3.6" -version = "19.10b0" [package.dependencies] appdirs = "*" @@ -66,64 +63,60 @@ typed-ast = ">=1.4.0" d = ["aiohttp (>=3.3.2)", "aiohttp-cors"] [[package]] -category = "dev" -description = "Composable command line interface toolkit" name = "click" +version = "7.0" +description = "Composable command line interface toolkit" +category = "dev" optional = false python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*" -version = "7.0" [[package]] -category = "dev" -description = "Cross-platform colored terminal text." -marker = "sys_platform == \"win32\"" name = "colorama" +version = "0.4.3" +description = "Cross-platform colored terminal text." +category = "dev" optional = false python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*" -version = "0.4.3" [[package]] -category = "main" -description = "PEP 567 Backport" -marker = "python_version >= \"3.6\" and python_version < \"3.7\"" name = "contextvars" +version = "2.4" +description = "PEP 567 Backport" +category = "main" optional = false python-versions = "*" -version = "2.4" [package.dependencies] immutables = ">=0.9" [[package]] -category = "main" -description = "Simple Python interface for Graphviz" name = "graphviz" +version = "0.15" +description = "Simple Python interface for Graphviz" +category = "main" optional = false -python-versions = ">=2.7,!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*,!=3.4.*" -version = "0.13.2" +python-versions = ">=2.7,!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*,!=3.4.*,!=3.5.*" [package.extras] -dev = ["tox (>=3.0)", "flake8", "pep8-naming", "wheel", "twine"] -docs = ["sphinx (>=1.7)", "sphinx-rtd-theme"] -test = ["mock (>=2)", "pytest (>=3.4,<3.10.0 || >3.10.0)", "pytest-mock (>=1.8)", "pytest-cov"] +dev = ["tox (>=3)", "flake8", "pep8-naming", "wheel", "twine"] +docs = ["sphinx (>=1.8)", "sphinx-rtd-theme"] +test = ["mock (>=3)", "pytest (>=4)", "pytest-mock (>=2)", "pytest-cov"] [[package]] -category = "main" -description = "Immutable Collections" -marker = "python_version >= \"3.6\" and python_version < \"3.7\"" name = "immutables" +version = "0.11" +description = "Immutable Collections" +category = "main" optional = false python-versions = "*" -version = "0.11" [[package]] -category = "dev" -description = "Read metadata from Python packages" -marker = "python_version < \"3.8\"" name = "importlib-metadata" +version = "1.5.0" +description = "Read metadata from Python packages" +category = "dev" optional = false python-versions = "!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*,!=3.4.*,>=2.7" -version = "1.5.0" [package.dependencies] zipp = ">=0.5" @@ -133,12 +126,12 @@ docs = ["sphinx", "rst.linker"] testing = ["packaging", "importlib-resources"] [[package]] -category = "dev" -description = "A Python utility / library to sort Python imports." name = "isort" +version = "4.3.21" +description = "A Python utility / library to sort Python imports." +category = "dev" optional = false python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*" -version = "4.3.21" [package.extras] pipfile = ["pipreqs", "requirementslib"] @@ -147,12 +140,12 @@ requirements = ["pipreqs", "pip-api"] xdg_home = ["appdirs (>=1.4.0)"] [[package]] -category = "main" -description = "A very fast and expressive template engine." name = "jinja2" +version = "2.11.1" +description = "A very fast and expressive template engine." +category = "main" optional = false python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*" -version = "2.11.1" [package.dependencies] MarkupSafe = ">=0.23" @@ -161,165 +154,162 @@ MarkupSafe = ">=0.23" i18n = ["Babel (>=0.8)"] [[package]] -category = "dev" -description = "A fast and thorough lazy object proxy." name = "lazy-object-proxy" +version = "1.4.3" +description = "A fast and thorough lazy object proxy." +category = "dev" optional = false python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*" -version = "1.4.3" [[package]] -category = "main" -description = "Safely add untrusted strings to HTML/XML markup." name = "markupsafe" +version = "1.1.1" +description = "Safely add untrusted strings to HTML/XML markup." +category = "main" optional = false python-versions = ">=2.7,!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*" -version = "1.1.1" [[package]] -category = "dev" -description = "McCabe checker, plugin for flake8" name = "mccabe" +version = "0.6.1" +description = "McCabe checker, plugin for flake8" +category = "dev" optional = false python-versions = "*" -version = "0.6.1" [[package]] -category = "dev" -description = "More routines for operating on iterables, beyond itertools" name = "more-itertools" +version = "8.2.0" +description = "More routines for operating on iterables, beyond itertools" +category = "dev" optional = false python-versions = ">=3.5" -version = "8.2.0" [[package]] -category = "dev" -description = "Utility library for gitignore style pattern matching of file paths." name = "pathspec" +version = "0.7.0" +description = "Utility library for gitignore style pattern matching of file paths." +category = "dev" optional = false python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*" -version = "0.7.0" [[package]] -category = "dev" -description = "plugin and hook calling mechanisms for python" name = "pluggy" +version = "0.13.1" +description = "plugin and hook calling mechanisms for python" +category = "dev" optional = false python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*" -version = "0.13.1" [package.dependencies] -[package.dependencies.importlib-metadata] -python = "<3.8" -version = ">=0.12" +importlib-metadata = {version = ">=0.12", markers = "python_version < \"3.8\""} [package.extras] dev = ["pre-commit", "tox"] [[package]] -category = "dev" -description = "library with cross-python path, ini-parsing, io, code, log facilities" name = "py" +version = "1.8.1" +description = "library with cross-python path, ini-parsing, io, code, log facilities" +category = "dev" optional = false python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*" -version = "1.8.1" [[package]] -category = "dev" -description = "python code static checker" name = "pylint" +version = "2.4.4" +description = "python code static checker" +category = "dev" optional = false python-versions = ">=3.5.*" -version = "2.4.4" [package.dependencies] astroid = ">=2.3.0,<2.4" -colorama = "*" +colorama = {version = "*", markers = "sys_platform == \"win32\""} isort = ">=4.2.5,<5" mccabe = ">=0.6,<0.7" [[package]] -category = "dev" -description = "pytest: simple powerful testing with Python" name = "pytest" +version = "3.10.1" +description = "pytest: simple powerful testing with Python" +category = "dev" optional = false python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*" -version = "3.10.1" [package.dependencies] atomicwrites = ">=1.0" attrs = ">=17.4.0" -colorama = "*" +colorama = {version = "*", markers = "sys_platform == \"win32\""} more-itertools = ">=4.0.0" pluggy = ">=0.7" py = ">=1.5.0" -setuptools = "*" six = ">=1.10.0" [[package]] -category = "dev" -description = "Alternative regular expression module, to replace re." name = "regex" +version = "2020.2.20" +description = "Alternative regular expression module, to replace re." +category = "dev" optional = false python-versions = "*" -version = "2020.2.20" [[package]] -category = "dev" -description = "a python refactoring library..." name = "rope" +version = "0.14.0" +description = "a python refactoring library..." +category = "dev" optional = false python-versions = "*" -version = "0.14.0" [[package]] -category = "dev" -description = "Python 2 and 3 compatibility utilities" name = "six" +version = "1.14.0" +description = "Python 2 and 3 compatibility utilities" +category = "dev" optional = false python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*" -version = "1.14.0" [[package]] -category = "dev" -description = "Python Library for Tom's Obvious, Minimal Language" name = "toml" +version = "0.10.0" +description = "Python Library for Tom's Obvious, Minimal Language" +category = "dev" optional = false python-versions = "*" -version = "0.10.0" [[package]] -category = "dev" -description = "a fork of Python 2 and 3 ast modules with type comment support" name = "typed-ast" +version = "1.4.1" +description = "a fork of Python 2 and 3 ast modules with type comment support" +category = "dev" optional = false python-versions = "*" -version = "1.4.1" [[package]] -category = "dev" -description = "Module for decorators, wrappers and monkey patching." name = "wrapt" +version = "1.11.2" +description = "Module for decorators, wrappers and monkey patching." +category = "dev" optional = false python-versions = "*" -version = "1.11.2" [[package]] -category = "dev" -description = "Backport of pathlib-compatible object wrapper for zip files" -marker = "python_version < \"3.8\"" name = "zipp" +version = "3.1.0" +description = "Backport of pathlib-compatible object wrapper for zip files" +category = "dev" optional = false python-versions = ">=3.6" -version = "3.1.0" [package.extras] docs = ["sphinx", "jaraco.packaging (>=3.2)", "rst.linker (>=1.9)"] testing = ["jaraco.itertools", "func-timeout"] [metadata] -content-hash = "da205efb5c35ed10116f51854f613a43fe000afa1341828bfd8cf3d6d58c4149" +lock-version = "1.1" python-versions = "^3.6" +content-hash = "1aaead8f312a9038265cc6b051bfc2ac0e5b164fb6882014c5342209705a7618" [metadata.files] appdirs = [ @@ -354,8 +344,8 @@ contextvars = [ {file = "contextvars-2.4.tar.gz", hash = "sha256:f38c908aaa59c14335eeea12abea5f443646216c4e29380d7bf34d2018e2c39e"}, ] graphviz = [ - {file = "graphviz-0.13.2-py2.py3-none-any.whl", hash = "sha256:241fb099e32b8e8c2acca747211c8237e40c0b89f24b1622860075d59f4c4b25"}, - {file = "graphviz-0.13.2.zip", hash = "sha256:60acbeee346e8c14555821eab57dbf68a169e6c10bce40e83c1bf44f63a62a01"}, + {file = "graphviz-0.15-py2.py3-none-any.whl", hash = "sha256:403b55553b235875fa521023a06d9c29b46f3a956f960d4e0a5b956bca9eb9ce"}, + {file = "graphviz-0.15.zip", hash = "sha256:2b85f105024e229ec330fe5067abbe9aa0d7708921a585ecc2bf56000bf5e027"}, ] immutables = [ {file = "immutables-0.11-cp35-cp35m-macosx_10_13_x86_64.whl", hash = "sha256:bce27277a2fe91509cca69181971ab509c2ee862e8b37b09f26b64f90e8fe8fb"}, @@ -518,19 +508,28 @@ typed-ast = [ {file = "typed_ast-1.4.1-cp36-cp36m-macosx_10_9_x86_64.whl", hash = "sha256:269151951236b0f9a6f04015a9004084a5ab0d5f19b57de779f908621e7d8b75"}, {file = "typed_ast-1.4.1-cp36-cp36m-manylinux1_i686.whl", hash = "sha256:24995c843eb0ad11a4527b026b4dde3da70e1f2d8806c99b7b4a7cf491612652"}, {file = "typed_ast-1.4.1-cp36-cp36m-manylinux1_x86_64.whl", hash = "sha256:fe460b922ec15dd205595c9b5b99e2f056fd98ae8f9f56b888e7a17dc2b757e7"}, + {file = "typed_ast-1.4.1-cp36-cp36m-manylinux2014_aarch64.whl", hash = "sha256:fcf135e17cc74dbfbc05894ebca928ffeb23d9790b3167a674921db19082401f"}, {file = "typed_ast-1.4.1-cp36-cp36m-win32.whl", hash = "sha256:4e3e5da80ccbebfff202a67bf900d081906c358ccc3d5e3c8aea42fdfdfd51c1"}, {file = "typed_ast-1.4.1-cp36-cp36m-win_amd64.whl", hash = "sha256:249862707802d40f7f29f6e1aad8d84b5aa9e44552d2cc17384b209f091276aa"}, {file = "typed_ast-1.4.1-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:8ce678dbaf790dbdb3eba24056d5364fb45944f33553dd5869b7580cdbb83614"}, {file = "typed_ast-1.4.1-cp37-cp37m-manylinux1_i686.whl", hash = "sha256:c9e348e02e4d2b4a8b2eedb48210430658df6951fa484e59de33ff773fbd4b41"}, {file = "typed_ast-1.4.1-cp37-cp37m-manylinux1_x86_64.whl", hash = "sha256:bcd3b13b56ea479b3650b82cabd6b5343a625b0ced5429e4ccad28a8973f301b"}, + {file = "typed_ast-1.4.1-cp37-cp37m-manylinux2014_aarch64.whl", hash = "sha256:f208eb7aff048f6bea9586e61af041ddf7f9ade7caed625742af423f6bae3298"}, {file = "typed_ast-1.4.1-cp37-cp37m-win32.whl", hash = "sha256:d5d33e9e7af3b34a40dc05f498939f0ebf187f07c385fd58d591c533ad8562fe"}, {file = "typed_ast-1.4.1-cp37-cp37m-win_amd64.whl", hash = "sha256:0666aa36131496aed8f7be0410ff974562ab7eeac11ef351def9ea6fa28f6355"}, {file = "typed_ast-1.4.1-cp38-cp38-macosx_10_15_x86_64.whl", hash = "sha256:d205b1b46085271b4e15f670058ce182bd1199e56b317bf2ec004b6a44f911f6"}, {file = "typed_ast-1.4.1-cp38-cp38-manylinux1_i686.whl", hash = "sha256:6daac9731f172c2a22ade6ed0c00197ee7cc1221aa84cfdf9c31defeb059a907"}, {file = "typed_ast-1.4.1-cp38-cp38-manylinux1_x86_64.whl", hash = "sha256:498b0f36cc7054c1fead3d7fc59d2150f4d5c6c56ba7fb150c013fbc683a8d2d"}, + {file = "typed_ast-1.4.1-cp38-cp38-manylinux2014_aarch64.whl", hash = "sha256:7e4c9d7658aaa1fc80018593abdf8598bf91325af6af5cce4ce7c73bc45ea53d"}, {file = "typed_ast-1.4.1-cp38-cp38-win32.whl", hash = "sha256:715ff2f2df46121071622063fc7543d9b1fd19ebfc4f5c8895af64a77a8c852c"}, {file = "typed_ast-1.4.1-cp38-cp38-win_amd64.whl", hash = "sha256:fc0fea399acb12edbf8a628ba8d2312f583bdbdb3335635db062fa98cf71fca4"}, {file = "typed_ast-1.4.1-cp39-cp39-macosx_10_15_x86_64.whl", hash = "sha256:d43943ef777f9a1c42bf4e552ba23ac77a6351de620aa9acf64ad54933ad4d34"}, + {file = "typed_ast-1.4.1-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:92c325624e304ebf0e025d1224b77dd4e6393f18aab8d829b5b7e04afe9b7a2c"}, + {file = "typed_ast-1.4.1-cp39-cp39-manylinux1_i686.whl", hash = "sha256:d648b8e3bf2fe648745c8ffcee3db3ff903d0817a01a12dd6a6ea7a8f4889072"}, + {file = "typed_ast-1.4.1-cp39-cp39-manylinux1_x86_64.whl", hash = "sha256:fac11badff8313e23717f3dada86a15389d0708275bddf766cca67a84ead3e91"}, + {file = "typed_ast-1.4.1-cp39-cp39-manylinux2014_aarch64.whl", hash = "sha256:0d8110d78a5736e16e26213114a38ca35cb15b6515d535413b090bd50951556d"}, + {file = "typed_ast-1.4.1-cp39-cp39-win32.whl", hash = "sha256:b52ccf7cfe4ce2a1064b18594381bccf4179c2ecf7f513134ec2f993dd4ab395"}, + {file = "typed_ast-1.4.1-cp39-cp39-win_amd64.whl", hash = "sha256:3742b32cf1c6ef124d57f95be609c473d7ec4c14d0090e5a5e05a15269fb4d0c"}, {file = "typed_ast-1.4.1.tar.gz", hash = "sha256:8c8aaad94455178e3187ab22c8b01a3837f8ee50e09cf31f1ba129eb293ec30b"}, ] wrapt = [ diff --git a/pyproject.toml b/pyproject.toml index fceb2776..7008e507 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -11,7 +11,7 @@ include = ["resources/**/*"] [tool.poetry.dependencies] python = "^3.6" -graphviz = "^0.13.2" +graphviz = ">=0.13.2,<0.16.0" jinja2 = "^2.10" contextvars = { version = "^2.4", python = "~3.6" } From 62562ea5d07f6b35f92ab14d3e5765577ad29f01 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Thu, 24 Dec 2020 21:57:22 +0900 Subject: [PATCH 59/71] chore(deps-dev): bump pytest from 3.10.1 to 6.2.1 (#414) Bumps [pytest](https://github.com/pytest-dev/pytest) from 3.10.1 to 6.2.1. - [Release notes](https://github.com/pytest-dev/pytest/releases) - [Changelog](https://github.com/pytest-dev/pytest/blob/master/CHANGELOG.rst) - [Commits](https://github.com/pytest-dev/pytest/compare/3.10.1...6.2.1) Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- poetry.lock | 74 ++++++++++++++++++++++++++++++++++++-------------- pyproject.toml | 2 +- 2 files changed, 54 insertions(+), 22 deletions(-) diff --git a/poetry.lock b/poetry.lock index 1de01897..486f18a6 100644 --- a/poetry.lock +++ b/poetry.lock @@ -125,6 +125,14 @@ zipp = ">=0.5" docs = ["sphinx", "rst.linker"] testing = ["packaging", "importlib-resources"] +[[package]] +name = "iniconfig" +version = "1.1.1" +description = "iniconfig: brain-dead simple config-ini parsing" +category = "dev" +optional = false +python-versions = "*" + [[package]] name = "isort" version = "4.3.21" @@ -178,12 +186,15 @@ optional = false python-versions = "*" [[package]] -name = "more-itertools" -version = "8.2.0" -description = "More routines for operating on iterables, beyond itertools" +name = "packaging" +version = "20.8" +description = "Core utilities for Python packages" category = "dev" optional = false -python-versions = ">=3.5" +python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*" + +[package.dependencies] +pyparsing = ">=2.0.2" [[package]] name = "pathspec" @@ -209,7 +220,7 @@ dev = ["pre-commit", "tox"] [[package]] name = "py" -version = "1.8.1" +version = "1.10.0" description = "library with cross-python path, ini-parsing, io, code, log facilities" category = "dev" optional = false @@ -229,22 +240,35 @@ colorama = {version = "*", markers = "sys_platform == \"win32\""} isort = ">=4.2.5,<5" mccabe = ">=0.6,<0.7" +[[package]] +name = "pyparsing" +version = "2.4.7" +description = "Python parsing module" +category = "dev" +optional = false +python-versions = ">=2.6, !=3.0.*, !=3.1.*, !=3.2.*" + [[package]] name = "pytest" -version = "3.10.1" +version = "6.2.1" description = "pytest: simple powerful testing with Python" category = "dev" optional = false -python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*" +python-versions = ">=3.6" [package.dependencies] -atomicwrites = ">=1.0" -attrs = ">=17.4.0" +atomicwrites = {version = ">=1.0", markers = "sys_platform == \"win32\""} +attrs = ">=19.2.0" colorama = {version = "*", markers = "sys_platform == \"win32\""} -more-itertools = ">=4.0.0" -pluggy = ">=0.7" -py = ">=1.5.0" -six = ">=1.10.0" +importlib-metadata = {version = ">=0.12", markers = "python_version < \"3.8\""} +iniconfig = "*" +packaging = "*" +pluggy = ">=0.12,<1.0.0a1" +py = ">=1.8.2" +toml = "*" + +[package.extras] +testing = ["argcomplete", "hypothesis (>=3.56)", "mock", "nose", "requests", "xmlschema"] [[package]] name = "regex" @@ -309,7 +333,7 @@ testing = ["jaraco.itertools", "func-timeout"] [metadata] lock-version = "1.1" python-versions = "^3.6" -content-hash = "1aaead8f312a9038265cc6b051bfc2ac0e5b164fb6882014c5342209705a7618" +content-hash = "eaea28dae44851f383c06f8bd558a612247dac283eba0a4de6cdc55ff6b98677" [metadata.files] appdirs = [ @@ -369,6 +393,10 @@ importlib-metadata = [ {file = "importlib_metadata-1.5.0-py2.py3-none-any.whl", hash = "sha256:b97607a1a18a5100839aec1dc26a1ea17ee0d93b20b0f008d80a5a050afb200b"}, {file = "importlib_metadata-1.5.0.tar.gz", hash = "sha256:06f5b3a99029c7134207dd882428a66992a9de2bef7c2b699b5641f9886c3302"}, ] +iniconfig = [ + {file = "iniconfig-1.1.1-py2.py3-none-any.whl", hash = "sha256:011e24c64b7f47f6ebd835bb12a743f2fbe9a26d4cecaa7f53bc4f35ee9da8b3"}, + {file = "iniconfig-1.1.1.tar.gz", hash = "sha256:bc3af051d7d14b2ee5ef9969666def0cd1a000e121eaea580d4a313df4b37f32"}, +] isort = [ {file = "isort-4.3.21-py2.py3-none-any.whl", hash = "sha256:6e811fcb295968434526407adb8796944f1988c5b65e8139058f2014cbe100fd"}, {file = "isort-4.3.21.tar.gz", hash = "sha256:54da7e92468955c4fceacd0c86bd0ec997b0e1ee80d97f67c35a78b719dccab1"}, @@ -439,9 +467,9 @@ mccabe = [ {file = "mccabe-0.6.1-py2.py3-none-any.whl", hash = "sha256:ab8a6258860da4b6677da4bd2fe5dc2c659cff31b3ee4f7f5d64e79735b80d42"}, {file = "mccabe-0.6.1.tar.gz", hash = "sha256:dd8d182285a0fe56bace7f45b5e7d1a6ebcbf524e8f3bd87eb0f125271b8831f"}, ] -more-itertools = [ - {file = "more-itertools-8.2.0.tar.gz", hash = "sha256:b1ddb932186d8a6ac451e1d95844b382f55e12686d51ca0c68b6f61f2ab7a507"}, - {file = "more_itertools-8.2.0-py3-none-any.whl", hash = "sha256:5dd8bcf33e5f9513ffa06d5ad33d78f31e1931ac9a18f33d37e77a180d393a7c"}, +packaging = [ + {file = "packaging-20.8-py2.py3-none-any.whl", hash = "sha256:24e0da08660a87484d1602c30bb4902d74816b6985b93de36926f5bc95741858"}, + {file = "packaging-20.8.tar.gz", hash = "sha256:78598185a7008a470d64526a8059de9aaa449238f280fc9eb6b13ba6c4109093"}, ] pathspec = [ {file = "pathspec-0.7.0-py2.py3-none-any.whl", hash = "sha256:163b0632d4e31cef212976cf57b43d9fd6b0bac6e67c26015d611a647d5e7424"}, @@ -452,16 +480,20 @@ pluggy = [ {file = "pluggy-0.13.1.tar.gz", hash = "sha256:15b2acde666561e1298d71b523007ed7364de07029219b604cf808bfa1c765b0"}, ] py = [ - {file = "py-1.8.1-py2.py3-none-any.whl", hash = "sha256:c20fdd83a5dbc0af9efd622bee9a5564e278f6380fffcacc43ba6f43db2813b0"}, - {file = "py-1.8.1.tar.gz", hash = "sha256:5e27081401262157467ad6e7f851b7aa402c5852dbcb3dae06768434de5752aa"}, + {file = "py-1.10.0-py2.py3-none-any.whl", hash = "sha256:3b80836aa6d1feeaa108e046da6423ab8f6ceda6468545ae8d02d9d58d18818a"}, + {file = "py-1.10.0.tar.gz", hash = "sha256:21b81bda15b66ef5e1a777a21c4dcd9c20ad3efd0b3f817e7a809035269e1bd3"}, ] pylint = [ {file = "pylint-2.4.4-py3-none-any.whl", hash = "sha256:886e6afc935ea2590b462664b161ca9a5e40168ea99e5300935f6591ad467df4"}, {file = "pylint-2.4.4.tar.gz", hash = "sha256:3db5468ad013380e987410a8d6956226963aed94ecb5f9d3a28acca6d9ac36cd"}, ] +pyparsing = [ + {file = "pyparsing-2.4.7-py2.py3-none-any.whl", hash = "sha256:ef9d7589ef3c200abe66653d3f1ab1033c3c419ae9b9bdb1240a85b024efc88b"}, + {file = "pyparsing-2.4.7.tar.gz", hash = "sha256:c203ec8783bf771a155b207279b9bccb8dea02d8f0c9e5f8ead507bc3246ecc1"}, +] pytest = [ - {file = "pytest-3.10.1-py2.py3-none-any.whl", hash = "sha256:3f193df1cfe1d1609d4c583838bea3d532b18d6160fd3f55c9447fdca30848ec"}, - {file = "pytest-3.10.1.tar.gz", hash = "sha256:e246cf173c01169b9617fc07264b7b1316e78d7a650055235d6d897bc80d9660"}, + {file = "pytest-6.2.1-py3-none-any.whl", hash = "sha256:1969f797a1a0dbd8ccf0fecc80262312729afea9c17f1d70ebf85c5e76c6f7c8"}, + {file = "pytest-6.2.1.tar.gz", hash = "sha256:66e419b1899bc27346cb2c993e12c5e5e8daba9073c1fbce33b9807abc95c306"}, ] regex = [ {file = "regex-2020.2.20-cp27-cp27m-win32.whl", hash = "sha256:99272d6b6a68c7ae4391908fc15f6b8c9a6c345a46b632d7fdb7ef6c883a2bbb"}, diff --git a/pyproject.toml b/pyproject.toml index 7008e507..c31a9365 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -16,7 +16,7 @@ jinja2 = "^2.10" contextvars = { version = "^2.4", python = "~3.6" } [tool.poetry.dev-dependencies] -pytest = "^3.0" +pytest = "^6.2" pylint = "^2.4" black = {version = "^19.0", allow-prereleases = true} rope = "^0.14.0" From d7695712df0584cbb5e573b0140ca1df278a946e Mon Sep 17 00:00:00 2001 From: Arash Mousavi Date: Thu, 24 Dec 2020 16:32:02 +0330 Subject: [PATCH 60/71] feat: adding Presto, Apache Superset, Nextcloud Nodes (#327) * adding presto node to onperm.analytics prestosql and prestodb logos are same * adding presto logo to resource directory * git add Apache superset * adding nextcloud node --- diagrams/onprem/analytics.py | 8 ++++++++ diagrams/saas/filesharing.py | 15 +++++++++++++++ docs/nodes/onprem.md | 2 ++ docs/nodes/saas.md | 4 ++++ resources/onprem/analytics/presto.png | Bin 0 -> 13575 bytes resources/onprem/analytics/superset.png | Bin 0 -> 12715 bytes resources/saas/filesharing/nextcloud.png | Bin 0 -> 11592 bytes 7 files changed, 29 insertions(+) create mode 100644 diagrams/saas/filesharing.py create mode 100644 resources/onprem/analytics/presto.png create mode 100644 resources/onprem/analytics/superset.png create mode 100644 resources/saas/filesharing/nextcloud.png diff --git a/diagrams/onprem/analytics.py b/diagrams/onprem/analytics.py index 0cbb90bc..a62e4017 100644 --- a/diagrams/onprem/analytics.py +++ b/diagrams/onprem/analytics.py @@ -40,6 +40,10 @@ class Norikra(_Analytics): _icon = "norikra.png" +class Presto(_Analytics): + _icon = "presto.png" + + class Singer(_Analytics): _icon = "singer.png" @@ -52,6 +56,10 @@ class Storm(_Analytics): _icon = "storm.png" +class Superset(_Analytics): + _icon = "superset.png" + + class Tableau(_Analytics): _icon = "tableau.png" diff --git a/diagrams/saas/filesharing.py b/diagrams/saas/filesharing.py new file mode 100644 index 00000000..c17eef14 --- /dev/null +++ b/diagrams/saas/filesharing.py @@ -0,0 +1,15 @@ +# This module is automatically generated by autogen.sh. DO NOT EDIT. + +from . import _Saas + + +class _Filesharing(_Saas): + _type = "filesharing" + _icon_dir = "resources/saas/filesharing" + + +class Nextcloud(_Filesharing): + _icon = "nextcloud.png" + + +# Aliases diff --git a/docs/nodes/onprem.md b/docs/nodes/onprem.md index 26fe0f0a..f5122cb8 100644 --- a/docs/nodes/onprem.md +++ b/docs/nodes/onprem.md @@ -20,9 +20,11 @@ Node classes list of onprem provider. - **diagrams.onprem.analytics.Hive** - **diagrams.onprem.analytics.Metabase** - **diagrams.onprem.analytics.Norikra** +- **diagrams.onprem.analytics.Presto** - **diagrams.onprem.analytics.Singer** - **diagrams.onprem.analytics.Spark** - **diagrams.onprem.analytics.Storm** +- **diagrams.onprem.analytics.Superset** - **diagrams.onprem.analytics.Tableau** ## onprem.auth diff --git a/docs/nodes/saas.md b/docs/nodes/saas.md index 5cb0832b..36a60adc 100644 --- a/docs/nodes/saas.md +++ b/docs/nodes/saas.md @@ -29,6 +29,10 @@ Node classes list of saas provider. - **diagrams.saas.chat.Teams** - **diagrams.saas.chat.Telegram** +## saas.filesharing + +- **diagrams.saas.filesharing.Nextcloud** + ## saas.identity - **diagrams.saas.identity.Auth0** diff --git a/resources/onprem/analytics/presto.png b/resources/onprem/analytics/presto.png new file mode 100644 index 0000000000000000000000000000000000000000..7d97519696776587fbcc5b3aaf90d8111d3107f5 GIT binary patch literal 13575 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 ZZ{z#FGoV-SPQNk$R1`GiYh^7${~vKgYeWD5 literal 0 HcmV?d00001 diff --git a/resources/onprem/analytics/superset.png b/resources/onprem/analytics/superset.png new file mode 100644 index 0000000000000000000000000000000000000000..e5272ac7584dd504338307c0f3eca69e05d4eecc GIT binary patch literal 12715 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 literal 0 HcmV?d00001 From 4f36e62073eb02ce90c8d56669ce25bc0179c021 Mon Sep 17 00:00:00 2001 From: Nathan Zender Date: Wed, 30 Dec 2020 13:48:41 -0500 Subject: [PATCH 61/71] feat(node): add Micronaut (#333) --- diagrams/programming/framework.py | 4 ++++ docs/nodes/programming.md | 1 + resources/programming/framework/micronaut.png | Bin 0 -> 27715 bytes 3 files changed, 5 insertions(+) create mode 100644 resources/programming/framework/micronaut.png diff --git a/diagrams/programming/framework.py b/diagrams/programming/framework.py index 410a53a2..48929c1d 100644 --- a/diagrams/programming/framework.py +++ b/diagrams/programming/framework.py @@ -36,6 +36,10 @@ class Laravel(_Framework): _icon = "laravel.png" +class Micronaut(_Framework): + _icon = "micronaut.png" + + class Rails(_Framework): _icon = "rails.png" diff --git a/docs/nodes/programming.md b/docs/nodes/programming.md index 4a5cc9ea..8240515b 100644 --- a/docs/nodes/programming.md +++ b/docs/nodes/programming.md @@ -14,6 +14,7 @@ Node classes list of programming provider. - **diagrams.programming.framework.Flask** - **diagrams.programming.framework.Flutter** - **diagrams.programming.framework.Laravel** +- **diagrams.programming.framework.Micronaut** - **diagrams.programming.framework.Rails** - **diagrams.programming.framework.React** - **diagrams.programming.framework.Spring** diff --git a/resources/programming/framework/micronaut.png b/resources/programming/framework/micronaut.png new file mode 100644 index 0000000000000000000000000000000000000000..9bdc9780647a1bc001df786cc5151de7af4d0970 GIT binary patch literal 27715 zcmV*kKuf=gP)004R>004l5008;`004mK004C`008P>0026e000+ooVrmw00006 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 Ms;CLBm$wN2AGP2iqyPW_ literal 0 HcmV?d00001 From d4ff082f51421613211c4f0daac13286e1f81891 Mon Sep 17 00:00:00 2001 From: Michael Lavers Date: Wed, 30 Dec 2020 10:58:47 -0800 Subject: [PATCH 62/71] feat(node): add New Relic Provider (#340) --- config.py | 1 + diagrams/onprem/monitoring.py | 4 ++++ diagrams/saas/alerting.py | 4 ++++ diagrams/saas/logging.py | 5 +++++ docs/nodes/onprem.md | 1 + docs/nodes/saas.md | 2 ++ resources/onprem/monitoring/newrelic.png | Bin 0 -> 25708 bytes resources/saas/alerting/newrelic.png | Bin 0 -> 25708 bytes resources/saas/logging/newrelic.png | Bin 0 -> 25708 bytes 9 files changed, 17 insertions(+) create mode 100644 resources/onprem/monitoring/newrelic.png create mode 100644 resources/saas/alerting/newrelic.png create mode 100644 resources/saas/logging/newrelic.png diff --git a/config.py b/config.py index 12fec10c..57c98307 100644 --- a/config.py +++ b/config.py @@ -402,6 +402,7 @@ ALIASES = { "saas": { "logging": { "Datadog": "DataDog", + "Newrelic": "NewRelic" } }, "elastic": { diff --git a/diagrams/onprem/monitoring.py b/diagrams/onprem/monitoring.py index 68b2fb41..b6f0d8ec 100644 --- a/diagrams/onprem/monitoring.py +++ b/diagrams/onprem/monitoring.py @@ -20,6 +20,10 @@ class Grafana(_Monitoring): _icon = "grafana.png" +class Newrelic(_Monitoring): + _icon = "newrelic.png" + + class PrometheusOperator(_Monitoring): _icon = "prometheus-operator.png" diff --git a/diagrams/saas/alerting.py b/diagrams/saas/alerting.py index bd64d8a2..0e3f65e1 100644 --- a/diagrams/saas/alerting.py +++ b/diagrams/saas/alerting.py @@ -8,6 +8,10 @@ class _Alerting(_Saas): _icon_dir = "resources/saas/alerting" +class Newrelic(_Alerting): + _icon = "newrelic.png" + + class Opsgenie(_Alerting): _icon = "opsgenie.png" diff --git a/diagrams/saas/logging.py b/diagrams/saas/logging.py index 8ae4a00b..fd8a28cd 100644 --- a/diagrams/saas/logging.py +++ b/diagrams/saas/logging.py @@ -12,6 +12,10 @@ class Datadog(_Logging): _icon = "datadog.png" +class Newrelic(_Logging): + _icon = "newrelic.png" + + class Papertrail(_Logging): _icon = "papertrail.png" @@ -19,3 +23,4 @@ class Papertrail(_Logging): # Aliases DataDog = Datadog +NewRelic = Newrelic diff --git a/docs/nodes/onprem.md b/docs/nodes/onprem.md index f5122cb8..08551d2f 100644 --- a/docs/nodes/onprem.md +++ b/docs/nodes/onprem.md @@ -152,6 +152,7 @@ Node classes list of onprem provider. - **diagrams.onprem.monitoring.Cortex** - **diagrams.onprem.monitoring.Datadog** - **diagrams.onprem.monitoring.Grafana** +- **diagrams.onprem.monitoring.Newrelic** - **diagrams.onprem.monitoring.PrometheusOperator** - **diagrams.onprem.monitoring.Prometheus** - **diagrams.onprem.monitoring.Sentry** diff --git a/docs/nodes/saas.md b/docs/nodes/saas.md index 36a60adc..146e93ca 100644 --- a/docs/nodes/saas.md +++ b/docs/nodes/saas.md @@ -7,6 +7,7 @@ Node classes list of saas provider. ## saas.alerting +- **diagrams.saas.alerting.Newrelic** - **diagrams.saas.alerting.Opsgenie** - **diagrams.saas.alerting.Pushover** @@ -41,6 +42,7 @@ Node classes list of saas provider. ## saas.logging - **diagrams.saas.logging.Datadog**, **DataDog** (alias) +- **diagrams.saas.logging.Newrelic**, **NewRelic** (alias) - **diagrams.saas.logging.Papertrail** ## saas.media diff --git a/resources/onprem/monitoring/newrelic.png b/resources/onprem/monitoring/newrelic.png new file mode 100644 index 0000000000000000000000000000000000000000..908ccd088a1b4b114aae2dcff0b456be53883270 GIT binary patch literal 25708 zcmY(q1yo!;@Ho0GwzykyC@zb;EM8jNrBIyW?hcC;*Wym0xDHLVtq}006KQ-^pqK00^%rU1ZR|49C0LwEx~{vR9wc#lB-e{l^2=KoCt1OOs! z07(Cv#^4qHhqC`y{9lMzfbjoHECBu=Y6L(5;{U+`Gyn0`WmV?B0yO7$`fdOKC;fjf zf_JH;=c_1v8!bI|J!K^kb0-H*Qwt|EOHOYG=l{3>V%{RJsDq`uDUG*-y`!6mw>aJZ zP>8(Z|22c@X#R)9-Av%^hM$v1`HpQ8W!{I7nx+gSa-njGE!w^^?Sg8%yh=H}!A|6kd!tYZJQ zim1BUSiWlhPrd}V*#A)e|Jwey9x?EL%Ktx|`Cpd)PwT6x66j*!|2u3F=t})e`Tzg~ zpeQS)<&ALGh1zPNU4K3O)LprkLl%)4LVHN@*7_}(ngkIMAz@<_9-{6=mK+{YUrewW zF(KhwkPK!(xwn5ohttZ=EDNcgKJnMdM_nNtoT?M>2b=yYZ{#;ou mP;{l! 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 mP;{l! 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 mP;{l! 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 Date: Thu, 31 Dec 2020 03:59:13 +0900 Subject: [PATCH 63/71] chore(deps): bump graphviz from 0.15 to 0.16 (#420) Bumps [graphviz](https://github.com/xflr6/graphviz) from 0.15 to 0.16. - [Release notes](https://github.com/xflr6/graphviz/releases) - [Changelog](https://github.com/xflr6/graphviz/blob/master/CHANGES.txt) - [Commits](https://github.com/xflr6/graphviz/compare/0.15...0.16) Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- poetry.lock | 8 ++++---- pyproject.toml | 2 +- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/poetry.lock b/poetry.lock index 486f18a6..bc2cf5b4 100644 --- a/poetry.lock +++ b/poetry.lock @@ -91,7 +91,7 @@ immutables = ">=0.9" [[package]] name = "graphviz" -version = "0.15" +version = "0.16" description = "Simple Python interface for Graphviz" category = "main" optional = false @@ -333,7 +333,7 @@ testing = ["jaraco.itertools", "func-timeout"] [metadata] lock-version = "1.1" python-versions = "^3.6" -content-hash = "eaea28dae44851f383c06f8bd558a612247dac283eba0a4de6cdc55ff6b98677" +content-hash = "6cb154d248e0d13adbb5229f52d1c1ab9ce2ea9cfe54091cf34cd97ccb822653" [metadata.files] appdirs = [ @@ -368,8 +368,8 @@ contextvars = [ {file = "contextvars-2.4.tar.gz", hash = "sha256:f38c908aaa59c14335eeea12abea5f443646216c4e29380d7bf34d2018e2c39e"}, ] graphviz = [ - {file = "graphviz-0.15-py2.py3-none-any.whl", hash = "sha256:403b55553b235875fa521023a06d9c29b46f3a956f960d4e0a5b956bca9eb9ce"}, - {file = "graphviz-0.15.zip", hash = "sha256:2b85f105024e229ec330fe5067abbe9aa0d7708921a585ecc2bf56000bf5e027"}, + {file = "graphviz-0.16-py2.py3-none-any.whl", hash = "sha256:3cad5517c961090dfc679df6402a57de62d97703e2880a1a46147bb0dc1639eb"}, + {file = "graphviz-0.16.zip", hash = "sha256:d2d25af1c199cad567ce4806f0449cb74eb30cf451fd7597251e1da099ac6e57"}, ] immutables = [ {file = "immutables-0.11-cp35-cp35m-macosx_10_13_x86_64.whl", hash = "sha256:bce27277a2fe91509cca69181971ab509c2ee862e8b37b09f26b64f90e8fe8fb"}, diff --git a/pyproject.toml b/pyproject.toml index c31a9365..934b91ce 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -11,7 +11,7 @@ include = ["resources/**/*"] [tool.poetry.dependencies] python = "^3.6" -graphviz = ">=0.13.2,<0.16.0" +graphviz = ">=0.13.2,<0.17.0" jinja2 = "^2.10" contextvars = { version = "^2.4", python = "~3.6" } From 54a26048f7348e7de5cf89bbeafb616202a78542 Mon Sep 17 00:00:00 2001 From: gabriel-tessier Date: Tue, 5 Jan 2021 22:50:07 +0900 Subject: [PATCH 64/71] docs(website): update Fluentd path in examples (#429) --- docs/getting-started/examples.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/docs/getting-started/examples.md b/docs/getting-started/examples.md index 7596567a..d32a3e6f 100644 --- a/docs/getting-started/examples.md +++ b/docs/getting-started/examples.md @@ -178,7 +178,7 @@ from diagrams.onprem.analytics import Spark from diagrams.onprem.compute import Server from diagrams.onprem.database import PostgreSQL from diagrams.onprem.inmemory import Redis -from diagrams.onprem.logging import Fluentd +from diagrams.onprem.aggregator import Fluentd from diagrams.onprem.monitoring import Grafana, Prometheus from diagrams.onprem.network import Nginx from diagrams.onprem.queue import Kafka @@ -221,7 +221,7 @@ from diagrams.onprem.analytics import Spark from diagrams.onprem.compute import Server from diagrams.onprem.database import PostgreSQL from diagrams.onprem.inmemory import Redis -from diagrams.onprem.logging import Fluentd +from diagrams.onprem.aggregator import Fluentd from diagrams.onprem.monitoring import Grafana, Prometheus from diagrams.onprem.network import Nginx from diagrams.onprem.queue import Kafka @@ -283,4 +283,4 @@ with Diagram("Broker Consumers", show=False): queue >> consumers >> Aurora("Database") ``` -![rabbitmq consumers diagram](/img/rabbitmq_consumers_diagram.png) \ No newline at end of file +![rabbitmq consumers diagram](/img/rabbitmq_consumers_diagram.png) From 5ac2497b996c31298ff3ba5d95410a009f314367 Mon Sep 17 00:00:00 2001 From: gabriel-tessier Date: Tue, 5 Jan 2021 23:24:28 +0900 Subject: [PATCH 65/71] docs: add more visibility to Custom node (#284) (#424) * Try to make the custom doc page (#284) * [Fix] link syntax * [Fix] Generate the doc for custom outside the provider loop + Remove custom from providers list. * [Fix] Add custom menu in side bar * docs(Custom): Add more examples (#284) --- autogen.sh | 6 +- diagrams/saas/chat.py | 1 - docs/nodes/custom.md | 90 +++++++++++++++++++++++++++ scripts/generate.py | 9 ++- templates/apidoc_custom.tmpl | 6 ++ website/i18n/en.json | 3 + website/sidebars.json | 5 +- website/static/img/custom_local.png | Bin 0 -> 118089 bytes website/static/img/custom_remote.png | Bin 0 -> 34571 bytes 9 files changed, 114 insertions(+), 6 deletions(-) create mode 100644 docs/nodes/custom.md create mode 100644 templates/apidoc_custom.tmpl create mode 100644 website/static/img/custom_local.png create mode 100644 website/static/img/custom_remote.png diff --git a/autogen.sh b/autogen.sh index 6af32ce4..12d51427 100755 --- a/autogen.sh +++ b/autogen.sh @@ -4,7 +4,7 @@ set -e app_root_dir="diagrams" # NOTE: azure icon set is not latest version -providers=("onprem" "aws" "azure" "gcp" "firebase" "k8s" "alibabacloud" "oci" "programming" "saas" "elastic" "generic" "openstack" "outscale") +providers=("onprem" "aws" "azure" "gcp" "firebase" "k8s" "alibabacloud" "oci" "programming" "saas" "elastic" "generic" "openstack" "outscale" ) if ! [ -x "$(command -v round)" ]; then echo 'round is not installed' @@ -52,6 +52,10 @@ for pvd in "${providers[@]}"; do python -m scripts.generate "$pvd" done +# Generate doc for custom module +echo "generating the docs for custom" +python -m scripts.generate "custom" + # run black echo "linting the all the diagram modules" black "$app_root_dir"/**/*.py diff --git a/diagrams/saas/chat.py b/diagrams/saas/chat.py index 2eb52540..e48587ab 100644 --- a/diagrams/saas/chat.py +++ b/diagrams/saas/chat.py @@ -8,7 +8,6 @@ class _Chat(_Saas): _icon_dir = "resources/saas/chat" - class Discord(_Chat): _icon = "discord.png" diff --git a/docs/nodes/custom.md b/docs/nodes/custom.md new file mode 100644 index 00000000..8c2b1b4b --- /dev/null +++ b/docs/nodes/custom.md @@ -0,0 +1,90 @@ +--- +id: custom +title: Custom +--- + +## Custom with local icons + +For this example we use the following architecture: + +``` +. +├── custom_local.py +├── my_resources +│ ├── cc_heart.black.png +│ ├── cc_attribution.png +│ ├──... +``` + +The content of custom_local.py file: + +```python +from diagrams import Diagram, Cluster +from diagrams.custom import Custom + + +with Diagram("Custom with local icons\n Can be downloaded here: \nhttps://creativecommons.org/about/downloads/", show=False, filename="custom_local", direction="LR"): + cc_heart = Custom("Creative Commons", "./my_resources/cc_heart.black.png") + cc_attribution = Custom("Credit must be given to the creator", "./my_resources/cc_attribution.png") + + cc_sa = Custom("Adaptations must be shared\n under the same terms", "./my_resources/cc_sa.png") + cc_nd = Custom("No derivatives or adaptations\n of the work are permitted", "./my_resources/cc_nd.png") + cc_zero = Custom("Public Domain Dedication", "./my_resources/cc_zero.png") + + with Cluster("Non Commercial"): + non_commercial = [Custom("Y", "./my_resources/cc_nc-jp.png") - Custom("E", "./my_resources/cc_nc-eu.png") - Custom("S", "./my_resources/cc_nc.png")] + + cc_heart >> cc_attribution + cc_heart >> non_commercial + cc_heart >> cc_sa + cc_heart >> cc_nd + cc_heart >> cc_zero +``` + +It will generate the following diagram: + +![custom local](/img/custom_local.png) + + +## Custom with remote icons + +If your icons are hosted and can be accessed when you generate the diagrams, you can + +```python +from diagrams import Diagram, Cluster +from diagrams.custom import Custom +from urllib.request import urlretrieve + +with Diagram("Custom with remote icons", show=False, filename="custom_remote", direction="LR"): + + # download the icon image file + diagrams_url = "https://github.com/mingrammer/diagrams/raw/master/assets/img/diagrams.png" + diagrams_icon = "diagrams.png" + urlretrieve(diagrams_url, diagrams_icon) + + diagrams = Custom("Diagrams", diagrams_icon) + + with Cluster("Some Providers"): + + openstack_url = "https://github.com/mingrammer/diagrams/raw/master/resources/openstack/openstack.png" + openstack_icon = "openstack.png" + urlretrieve(openstack_url, openstack_icon) + + openstack = Custom("OpenStack", openstack_icon) + + elastic_url = "https://github.com/mingrammer/diagrams/raw/master/resources/elastic/saas/elastic.png" + elastic_icon = "elastic.png" + urlretrieve(elastic_url, elastic_icon) + + elastic = Custom("Elastic", elastic_icon) + + diagrams >> openstack + diagrams >> elastic +``` + +It will generate the following diagram: + +![custom local](/img/custom_remote.png) + + +Another example can be found [Here](https://diagrams.mingrammer.com/docs/getting-started/examples#rabbitmq-consumers-with-custom-nodes). diff --git a/scripts/generate.py b/scripts/generate.py index f1568d24..d757b9cf 100644 --- a/scripts/generate.py +++ b/scripts/generate.py @@ -2,7 +2,7 @@ import os import sys from typing import Iterable -from jinja2 import Environment, FileSystemLoader, Template +from jinja2 import Environment, FileSystemLoader, Template, exceptions import config as cfg from . import app_root_dir, doc_root_dir, resource_dir, template_dir @@ -41,7 +41,12 @@ def gen_classes(pvd: str, typ: str, paths: Iterable[str]) -> str: def gen_apidoc(pvd: str, typ_paths: dict) -> str: - tmpl = load_tmpl(cfg.TMPL_APIDOC) + try: + default_tmp = cfg.TMPL_APIDOC.split('.') + tmpl_file = f"{default_tmp[0]}_{pvd}.{default_tmp[1]}" + tmpl = load_tmpl(tmpl_file) + except exceptions.TemplateNotFound: + tmpl = load_tmpl(cfg.TMPL_APIDOC) # TODO: remove def _gen_class_name(path: str) -> str: diff --git a/templates/apidoc_custom.tmpl b/templates/apidoc_custom.tmpl new file mode 100644 index 00000000..d3c88200 --- /dev/null +++ b/templates/apidoc_custom.tmpl @@ -0,0 +1,6 @@ +--- +id: {{ pvd }} +title: {{ pvd|up_or_title(pvd) }} +--- + +For a full example check: [Here](https://diagrams.mingrammer.com/docs/getting-started/examples#rabbitmq-consumers-with-custom-nodes). diff --git a/website/i18n/en.json b/website/i18n/en.json index 00bb5536..1c4a1a31 100644 --- a/website/i18n/en.json +++ b/website/i18n/en.json @@ -32,6 +32,9 @@ "nodes/azure": { "title": "Azure" }, + "nodes/custom": { + "title": "Custom" + }, "nodes/elastic": { "title": "Elastic" }, diff --git a/website/sidebars.json b/website/sidebars.json index a9697114..0f53f300 100644 --- a/website/sidebars.json +++ b/website/sidebars.json @@ -24,7 +24,8 @@ "nodes/elastic", "nodes/generic", "nodes/programming", - "nodes/saas" + "nodes/saas", + "nodes/custom" ] } -} \ No newline at end of file +} diff --git a/website/static/img/custom_local.png b/website/static/img/custom_local.png new file mode 100644 index 0000000000000000000000000000000000000000..55b81766345b78c35cb26bd83a76a6ad6fcd39f5 GIT binary patch literal 118089 zcmeFZWn5JK*FHK1q9|~ygrb0nq=*Pes|X0v-AG7xH{2EiBHbS_=i_|K&` z48by?RA*nLu-uRglsRojKKs$v%g=n3{9oaV8ZCDj9jsMlPT%Y%3(DJIyg|WpmcH;# zQpA(J)+*YsUMCIP^+`h3j@*CDaL>fEU(Ta2FnO&$M z{)Y=P@h6ZU9z1bIP8L;%n!1YojXL$;H~jZL{5Kx{yD$EmACNro-#q#M#(MG3*fO$s zbqN*27I8fG;)EpEJLCCXH+rN6XFHRGc-(frex~M4yL?aT@5XFTb7P~7l2Z7PMcINw z<#iJ8H*epPQ&D9-eBDg{@S$8+SC_A!pZxCHlwyU=YsG9ONyRJ$StqCRT5US7XFrfK zdq@Jc)a%dULVwXfiD^V%zIMLX35|p(YbT7KYhs+%PcfG zEQVAhqaVroQ*kI{DKI1~oqrO<=C^hMj$?YCl~vkxdkLeg?VkG6kJ5B~x{b$qEv3V+ zFx`wZ=F68ay&1B%OH8p+Vq#)hY9(24%GzrvdMkPWAEvu$rG=+-pu66CG<aB@7&qpCGj%#My?7qYF#-z@Kxunmiwk6i$=K&H#hg;XMLZ<#2fYt zzh#9!T#yZ+lhiNjKcGJ6Rf4~gM!~YdT+5nWkq-Xt*l=dmFI821o}y^FlP6F1*0{UE zd5Le%W7D6X62>wwxxiO=x%Jn2*6wZ0CZ|cpn0$Lf@H6f4OUflG0nbA>4)Xy8 zKOS3tfnxsN%nqNZ3JwcPWz+j*wD7w?cshFefav`Bp1_+zkL>=+5D*gX^OB%O$BWJ3 zosng3yEepBk6ysSY&wRXWDpS0n)u}}Ki`*&qbBgO#KWnvik@_7(;pu%MnBN`&LPOp zd*{w`Sy@^15_+EO^5x|Dyh>J8i@b;I>|ycoc}OJw@VU%mKNl($ z``Eh8Qj6lBe-cleI`cO*LQC%X^B)|;T&RTObz+~#<|`i^;vfRL;V7&V^5A zSPY}lvuQC3l@8`%tlC=eRgAJ<-ZgMd+wjCSx3~B87a7{Gj6GfaT_7}AYTgshqF!t} zBNfNzET`m2ohO_8L11U>)UZtpOZXC@SL$&z@uc@;mW{Z)?BHAf1n0`qFWMA**S>|N zECWKwq`xrr(xppeR8%HSH6FHG3##U$HJaH8v7-lAdA$uD1?=rP|HH!;bgla9|33!&RRNHgLZwhIx!ZOFrpZc85|c*TH^ zh(nXbfs(m_lI-s8Znr{y@A{;^Ty@ixv2Wty;&QKEB}$i?mc+(hXVI!sv8>(Mc&lYwI6B$oE>_p~RXxh(ULya78POS`tF!SSFb*mkBp z6ZUuX!`Hr3jt6G~J>PF1y@F$|WWw#3{YFTu;Naj;Q+gRfX?3E(bQo<97tGk3y4wLc z5t3RuY&FxNa%%5|TN>&Fik- z9*M~(pZWb;rFy-c7rnn!x$e$mt25zH$>F+X#(%gov5WquCLrwjRIL7|~3K9}!h>HhQ;kWkvW&gUd^>db{sNUBqtoZ{ikna=Ce znQ#CBi8FPC_+bBufudkHpIbJ!vpS*G=J@zJ+~3G}_bt^hdfD#{vwR^jG1>CzQnP=% zl7mwsBd>%p$p5ko_>Sx?2)uMOljC-FoN~3Q)!5kB1f~yLw?(Na48@w8 zo4Xr>Zex-~1Kc!w7ITpl3^g-LqoPoGz4l=3r9Tb-Kv@#X$v+G^S6%(XgWb9AR6iRV z8;K6M6g0(sjSNP`ES128IgR@fXD(bxBo#d9%-$vCTk)ckiv1g5D78FVt4+;g*BKyq zXyjr6yK%ZTDjC*HE%1WZIeZMtXr!d3W_sZE#Kpwe_{)%!McZYL=G}xlT?%J=A2ut- zt#UXoirp~lWyE~}sp%-lK^ai*_GZ%)Bs%>4{E)<`P->=nKKR7SKk4R3WD?$wcnN3o zRrx13C#RAh1eb{qYL6hE$QA=irT*W*MRrq%~Gqar83I+xSmz{C% z_07E#leG8{y|ObIBK^p){d&*(ty{M?eo|^@xNOc*q^z~V9xH)O>Sk#;(;lZ*>5xl$ z$@v}>8F)<*GM!{c9J}G?;E)iO7X)?k_~pKJpM^yd3MU&sD?R;-kbBZfZ_f}jznH3c z-4fnJsZ50)wqQ{&Z6)-n!hY2ea^L6@)f#^4+8B6K{N>A{8{{Zye9iKG09Dp7-uai^ zY+=9I-gfO#ZhIWBdT6U{CETvS!L`0P$C1pgWYHFbqNr#`WFO-;dIWZFp73%$J`FQS z7D!&1b=E}Nb%jU^7^BBjZ}Rh3Ke1?0=Zry4admF`HEbLV+J2rH&i{D3euT0_CE!+W zV{0qfmJM-o2sMKK#*Ml!`qS?|e4uDFpArSg@+*MWa*xgo@B;GYQ46;-WQNCIJXh2q z(6hHWFWGkP!iC-xu@JJWSB+&E*Z)jRoS!URn@7**^&qcaxng880`J>|6;=x+stY^5 z@I=Vt03w<3)B5!#bud4f*Lt&~mX^za0EKCr87ggXzZKuI8qu z0(x?yeB$WMDykpv{9T|&PC;Ry^Kkhz0l{pPVSE#IuBgqR zhrNR@8K4p^-MatRuMhmGd6h`K>nFG^%GC9KeHtGy9HYWlK{7VLiaoF+B-$z>F4+f1=}aRzPCiZ_%otfj8o z7MN^h>8PkEnhs-t2C$C|OfXbl$_51p1eAH_24GRG$iP378@IQ~wDMCGZRN5)RAIXb zn@5@}zO<6v1PBn= zGPUO92D$VDDXoRhtx+Npl0MV?YDhht#&upN0Jet=A2ukf!G13? z*4Wr9K{`&uot5#lc;Q8xibp!%PoKYhVu$#6zh6w3ij#A5tAaZ@y&C)U?HOYzeH3Yh zN|5tBcBd$*xow^Y+u=5`*-%{=RSQ!RLY$X_L}}PIrZdY|c~Ye|9M z_aBjcFELEU^x%OEufxJhlV0K&FTiK{XV2b1{PV|$#Kz`8aHvHR(QlPcBMCPnlE*$P za~0Z`FOMmo07_AWlagp-+aEdgAON33Z;e6zK^lPWo*sTG%cA~br&Zk&^TED9`qTRQ z`bN#63~FCr{VOLY2f)d6&KVQ`wcm{B!UY9L;&%IsW!aXaH3UnKmRV~Ld&LA-hAqwlMkJ4_%F|3IZAFC)d{2$S5giRy9ijL2L{= zj%GS64p7`%*KlwsZH{2gpJ)i!e|-dyn+E{=zb-kLQu9HDd@cT|sVV120z5ow-lVkm ztpt5h!l#*#X6gNK*{FwUmL1)lI~fqh6m$=l;g)(ZwFlcB>{!bO?4T(C--ZSTj;-#% zvFD+qD|v8Hrb-qeM~EsoO#33ynMw_xsi&+SGfU`??5@w?sGmXtUw3@>^6_;NXl=SC zR$-Sy{1*Hl9|YJDMdb-gpdR|em0(=_`9(|llZb*HiM z1twFz;rsKI)E_^d3yX-j@Okv4NkaCdpgZZyiccdq!=t0KLPN;{8nCbf$H&Jh=-#lt zfB!xcdIFjNX-P>%HMQvXK3;$DEvC#z^IWH8yaoG1fU{5%Qia*}Lau6Znl9HQFZh)4^|M};Y&MlRj zH*O%I4zB@NhmFA^ahgo}_>h2FUN!{KZaW?LbB)l)v>CwLzZn!|%B70a1PD4TL>3kn zGXKxpQGzXvt#a{{9n)>CtqLwK=!OX^~}+_AC)8F;S4!Z8OQT6LRk7SGg$w{a7rWxTA!Ggop0;0Qjg>x_r8H!ZhxT+b4WZ zLrqRj&+RW(ZZ7s|GG4uu^FwV_JV#Y>Y9i0=Z9bH|r~y$01qBbi@6xR`j`yVFi|NnF zxE+TND&|f^3(M?x)+oK{P;)Wgj~`bQH8k{6 zUq*0p9749FxO?J1tA1kA4t+;#cBaF$XM3t81O@5HUP|0SO2ycFcEgTY8S&^^y~K|@+H*nKhufpR8$R;sB{uaGxhiF< zQ@Z&PEUfZ(g1z@*$``lv0k^2aEf%sZ#O zvkVdQ&w>uM=Pvf&8SbjiuQ|{Sm!c7zE^<#CgUp57;yy9Pi>&9`_@B=ssUhyXhoImi4`*RTFc!Y1|58@%VdD1d;VR z5k0eVaGl~38F@d{FyyM!-~DSTVqb8Sz|=&C8l_`g_ZQYeU;O>Ob#9!KURD`}Xaw!o4K)TyIXA@06Z> z36o}BTb zXx&NErH}kfD`;U-^?!UMn_OGCLf|OHV zAD>mHgAT!?)`={ln-MLk2_Ab*6RVKi5ncev20r*0e!+d6L@`6=+r%nVBz9cm?Hz5% zr(27IGpjqk8_h1g>f0_W;QoV<`efTz}g~76pUUqbw8y(8&^R*9<70Gnr z6w`irLa9g6zp!x?B{_MjVS@V>>rs4ER3`LanDl+Bhx(1L6W(5@re5s9?KA_neudnd z)2I$SHX|wk=oCd&YurP(Ios3l<)Vw*bilu32|-d-CMTzkEed z-SEBNdlg{x0He*W?!@sr&OsGGGAK2_3$Q7R05Sk5k|DtC*75d%%LHT#U$^Dt2Gn6+ zj;fx{t)1>@4pWI?<{ayZUx20mkL-*sHkOy4nCVEcl)bbQ-M^g$5xHh;8r4KHmjzMZ?irD3!KYu#&9rk9*!|8^<_X(s$y7f%? zbUqsGJPmGnM@_<4H2Bjzd-mKpw(7N=!~Nx!DI3+$vm-VY8dO{sv6ty4>bGpN2u0e-8~EJn`w8~bFvMWmbdE-a98!Jh{*h3xb}0eE z24J}R_HcS#-4oN3Cw8ch&v|yZvP?XTacb2G+99OdnY9Bf7T*X>9)z8t38q3JQ*I94 z^ga`H@ZlKF{`mDPOTEkj{~g`EdO@%Jq5j8c*)R3w#$;CJoLV`)A0MysIelGl=%}5B zkVTp&9?!$7_nB545D(ao7jH}C@(eCIAnXX7zZKi@9hV0ZuO}dPpu#qN#BE*D@6xx% z7|WVWAl;&(Z5yZ^Gn8`GDDIwI`A;kK%b;i$x*LSz&2)yAfK78O&=VrJ8(MyeHfvxq z*mU1ziiVtMq&+@`sU8^xB9&JBy&%F7BtCr`8Xs?AGD7V*l=Ol48qzRL z9XCwKEoON9_;+tCl;~Ng!e8kx9xlM&oxpWSw4DR=4R2uzu_y~c_tp7f!^4K1+&dL%u9e)MfBvK zY521MUoi6W4)#_7?}AVX(K4t!-{W=o`RkX9Vkt1YiNF?h*j2nOfKMZ<&to;_HCq9U zgi?RuYou}hPvbd1T3ZWTi-pU`7hyky>#fkZe_oDU8ghd)|7Iu!i<-WR1%&s;*jrMy zKq9Yu$Csl4tkW<5Yw3Z3|Mb|7x^HVD^cF=5W4x9p&K}`!(q`VjduIf#0ud2W;s4!X z{|mjntG%}YWMCKvn66DWQKZb3PSE|27JyMpVDIm3Vp@Tr?63p41M_Jy7Wj`J$Fk2& zp${2=7}I9B$nW)I8c!Wj=V*!DK z6(P7g(eW|RWfIajd665jN<=*rMmQC~(h?m&5ab|lf(ih1$Ah={8~SO;s-8IdvGo^a zY`cM>q3KxNzb@Oujuk$Uguu*e()aJ*nO`{lTR$!XuyM+v(!G!$z~C-J zC&cm`G>Zlu@r#?BkU3Iy>Obs0Aon^rZjFUboH&786bUs?3IKPf5`W;sO`%m2my&|b zRN@x9^5)~mvx~!(*kE&Y9f-WS{-ShfAf`7tA?2l=yG&;l$1YQ6HNXjc9vk_kOJAe~ zagVfrIzl~x$`M5;89j-KOYtLubp}#3)3_&Xm$4l>=x(Tf(-`)O6Dr5(`;)M!sOdcUhRg0VL#!|1TOc%*X!=ED?-vR(A4U1F}GM1u1a z8GxAuB+k}F;Nw~bmI^w@KW^kkv)>ub5(M0Pp{YYU1g>$SM7ZTop*fU+mqVkYqw~#& zohJO%3iW+}WpNKB@gm0`Bk<18h6YpM`ve%QfmTxlChC#Z*b{0#r%u9Iq7T5Im_QVn z{QjB*X+C;+5tAWXZ`g4CKa-vv%~bKQV%?ua945W=ql3+mhTfgKtdOn5g7CcqWtIt~ zm-ZTJ-1j$r>jf~}y!jNN|1B&mYRdXy5|*n{@J7Dm-)C=-;PrY5S=nUu&rcwKDq)d$O04XgY3_#p8e78De;yf|RSIc$&B zRI73-XbxwYf185JBS2Cn>JSLKXTbJgAvWE&s>Xq2hVaaWN^UY#UNGXi%%7T;*1YJj zufJb2=1>_14H={aX~=rWU?4O$b|IvjSquhhLf#}8m^wnAJRV|xvYgXw>CJ{G6ZDfl z=9SyVzlQF*=={EY`1zy?9LyA^SuTH*ydfnotuK1NdzS&J7d`Qr7wYgmsK~qeC4(2B zVnOT2qVn|#kcAjPY@tz6v+KBb@826A?5xgpB{y(*`lHs&mAq;%!-XV{0XRWo+oERI z0J(lhWpUDF2>{OCpQki|Swi99VwQaRXSHIZB*=vsz<*@PB)wU17>#G1wW+ZC+j-M{ zy^Tu^DW~~bxw-0P)AO?OB6EGY*%0%Y&`5_bp7JU|diJ{WIef{Fk%A}k`FbWWIM{n! ztq(6#eYz zvD@1)rWSBh0btWTQtgUl2nbU}=n88M^2dRH>GET($q2stQmsZ16|RF+c2xX1Vqy%? zY6wxmzx7*hpvW*Fbss97B6OH?^71A6O~Io_!xm)-HFH-ybf^09Q7I2lLLRK0{r&wA zizRl#yCx9ro9(>I2vHoHMoe}BkNTZj4T^x{6^r3C?|#Wzoq`O?R8>{6kKO`%1`ry? zB>A%*{N&fK=RiNK0qLUndwo5Qn$Ro2sti9>q@bb60|c*njmttoPVN#@_TGdyf?`ct zBiYCd6F=g2dY!5LTyGa#)+5Iy4Jep{B=Gk!4%K!MXRc=9>4+m9%&xHjCe}TNk$jz;)UTU^F zIFa0ngdfbUkQ5H|1;hRO?J#uSIfq})a6cgE$G*Mga9Vk_I8v>S4A_t206RD@WyfLrh{MC}+H5E=ho4U;qP_zBDytO&BJ#J{V6`;+^!={$^)#!FWQm;s zP=OThfvr<)H!FwmSpzUh22_-9{230Xm?|WqxMxyM#krJJ=7`&Jx|8k^`%tEA zc->biy%HC_IACqE?>ekdHhb1RY+{+Ymf`bq{S?`c?KAWP<%3W|=>s*=9Zfve?nPJ5 z@h%FuiCNzOp2)W*-&kO}2Pi`qGb5O;}nO?%d9 zhyAWz@o_csC+wHIlj{>Oen(U(7R0yhcII<=D8>TvACO@F3aXmU`1hKR*9zQzyl={n zb@meAnOqZ!ccag#xU0G4PX8k3aq0U#+#1_wf`g9;tt#_X->gf$ezcovX7tg*+lbyG zwMN>bTzM|sZ7$KgC!V-N%Mjd`ns8h_V=n(}H?fEK1WQkaIYDlU)}8>_9VIt9qWPIt zqU+~(F5^!XWzAqdF1okjdDnh^q9daLlD6_zU81%puGXr}u-@B%acYB8@>;*NxutoY z2u`5yUv0|NLekv6{o6FXi(+M25n5Mkh7V zQ$xh88Nw619MhG8he8%}E;z?Yl)bn~ri)~BwsC{j+|dG|n(Li<{UvRJ(~Y|=a@BiA zTqQ<*62yacU8g!aI=9o0c$$jzJh(05`q|Wz2_0np3@AT;(_6lel@{#iJk`cpy>+m? zebcn|*S2xi9xiP*LQs^uOhd@h^h;kyzH(YazlUo=n(2|W_N@O+_b@wCTMnasS;wPw zNtQkCea2mX!OPqX^P8hVr!WkesZ@_Fv$wX1u`zxgy%kI}*GUBoNh)oQ%AQ%0Rw$dR zaVq1o^*0Zzg9=IWF+XN#`bG!Klto4sr9C8%+!FoN9$BXC zwGC$X)KNZi-?yA_vv%_@I;mWb>>~QdLxvlh1GJ%+Jz@?=80F%b@1q0Ex?_X{y4&Rz z?MDOih?q1rtsR=|^?gM6HexwLEplB6hm)^e7cE&W%G}$&O&H2CYrcv8c2lf**V>oH zbwhCA^01sc;kI&WV#vTDrqadDf3lQ7ODCU17*ionTFRS7S<@)%edPM0Ol08o`TQ^Q z`IiPNJo7$~l+Aw_M4P-wzr=&K4i|{TeTjden&wq~PjNqfpW{o6ozc|2J*#eZDtGt7 zU&D%hLnfjl7P#%B53|V&ztG!B<5^U}Ny&oCeQC5(jAi;>$`$5Ii!PqOEflLt{NfkL z@)q7^Z;GwOP;JPE3+#2c`;wv`wD;(F^y}GLg~z)c5Sz2~$hjx{%@;p$uh_nc*TqTm zT%4o0Ju6p}mKgBy*qx*MJ%vY`y{E{J9?Q*e-pB6Q2ARYtXy2qO;@x(Xho-0PX~cQk&5n2Tjk^ASk1TT;yHxo1`BSMba_>#eS44B} z(e80B@=H1;eh`lwnwAbW8^}EpD0%tXvO=BoXuer>eSM@{j?zfwh_dAV*Ch1FzNh%v zj^6R%(RsTldK@QHt*5sQO?TFN^;Dik%u)LqW5{+$P3)eJ77gRiHWv|=XYP(}`JvQmZ^Hac2j4K!hRP!s_<-9jh|a}P(izX)J2THS@ZXk1`>b8>2LcR@s$VUTT~h4 zF_wycrxKb3ScNdr#Y%Dn6PBY(8)WZEU-X&sH*3@XFgIK`s(tBL#iN<5{!Vk} zTcZ8lR7ctrRnyv@ib@{(p(3H1Vm5I@dCMf?#2@%`8U+jIj#bEEurW(>`-_?>UF4o+~MMJ&b($tG?qMf~FcnUYa7}1Nv()Fxvsgtp< z2vjdJI=q z9EpkNYPbBWyCueo!pd5H>%qxrHBSHiiSv=wu~|w);nn)?C41_>X_*%P<;of$CgGM& z=)D?}9x`y7G20|mUOjlUFMUv&vBSxiup&ECaox|RC2wB+Zst>;qCJb2k@Nd28Y;$)bjB z8`Tq}Uy;6xh(!J4vuAf4r=4Gyr=FE2Do%dGsJPP;u^0P@T41`nqP`<@v9MOEAc8mD z_P!W*gZ)M*nQBdyxMm@1W%IAFFd@QfPnHP10J;8*m$e1JhxLEIr7-=+@-=7Wb%&-! zo2HG_$fx$3zfFbgmnyb5p4FyOdCHp(59g-4(EVikK3MoFpnEgOGy1xmQo+S;wBEhY zdkl4ulqxQ8i-tKo^EDygPN$Vz@MXAmyRu#LuDa@QxPquBD}LJNR>PHfFQrk*ny7kURL|p(WHETZm86YI@F}~JTmGqg52p@tX9vWyK6K?1 z(a?@|E4LFlc^%(6(O8R*=L6RpXzgz(`>y}(T|6(mE_c5|Uw*^aEG+aLFBYTuQ6;4bh~;Z8p$d$r>)K)dX} zk9GU7y0+^0mnXwmnm-Ne5H4F}L7J_tD=hr}jF@*#X9ipLCx?ZftJNB?`4AvacD?kW z$xfMxjhR+D!F)%Sakka6`0LJ1U%$|rc7{}{%{fhH0^SF5U8$-0r0I+=?G@&>kH)&2 zCemB;_tbvTc@N*`*0j;=*45;3pZr*OzwDtQYpQq~+Ek^e663hrGAH;)sQT#jy=qV8 zl-=RV&kUOxFVU+3zsB2NV2-53gSvt!Yh+wpT3PSWi?h8>+4SxS&3yhIS3nuZZLKEa zSG|=%VWNB_S^ZTvjATSp_9d4=md*B^pGSRtYawlvZ*&y}MARJr2DVpRX6>(CUwMjS zWqm@fr#<;rJTF zo$c;d)&{Wp5(_|Al87qE)=iH$p|)1@8+FrsDOX*k%axd>HgqX>p)J99t0p%4lb`b2 zA2P4aRlnqa)=~)5G*&BdDI4GX4x_nXUQNU9YP1^WbY=5%kr(Nnz40$?(*9tepD3cC^5&WemIP6S| zRHn>T6L-Du?=jTH;qPf;Exu?uAE>6AVVdddUM=8mp7RAg zlp^D*I^3O?r|VY32aF>Hi(P$#{N~};nXus!pXPpPlbN-CwMe-cFHBW7n5QWl$p4llZUwYbM|8n z9caqE8x9Ix=~F4(U9;Qgwl|ygI_Psn&npt~Bo8wQ^mGf26FoHJ=M;Wqn*Hlrhv{Bu zLfF+&Q86x!s`LYW_KD_((h*!h=EPi(%Y4DTu)b>lOU;vW5&1JlbARkGG&>nf2Q6`> z{-vr7&+`td4rNN5zSdIZU(3eQP=Bc(9;8qD^fH}fv9~?&GZm&%mCPQP;RkSmoq0Uu^?6=6v73f(UK@}lUw_r`s`vcLlW};#jhTP^#PVn&Lu6QRd2T-g7?uk!yK3*<@4LpzqVS{bs8e!r zj*;$&aGdpxiC_j+bn0)In6~lv7HzTdDTVac($%{kC&uPw?|9r@Oa&)EAaf1NdtX6V>;#eMeG z+}PW(l8k*UF(rRoO@7d=H!fX=VI-BT`Cn=kcg zf?Fb?<)p6=%7fkS=oAnbiLY$pI-AJ{Ln*a{G5Jnv>?nS7S*FPnmy*1o0qcZ zKSWv)OvUxahZTiYaf)&f+9}=+piw`A>N}>XmQOZg!BoXYp*q89bGYLS0Ejq;)9ND|~qb zPWPDE0x#wNzu!=IROFa2E*t7f+u&IlLvrrKv-8#4bi&b3j6~jcKMgXVyy&bDZAEt8 zMIqwi}O$ieMC{|=Efpimk&j@M!Aw8fyn%&}-dj=`c< z`~sB2-Cie7_2#IuBlACyeg@apdMcF>-Z=jinL48QZgFrZo~K~$tS1%B0e$~mZrKR> z-kbHd;NW0{xkf$(eh>^Cq!`>DITq*Zs6~*y>Xiw?2}I2K-&*zoC}&CQ@EiPEV^gLMxNq7$N-0aWZZoRhOPMFI0!Do%-_BSpBSPXfy2Ob zil!Tc-GyzGr%~Oa_z$VW>>1JXgL*JSIza&D@K2P=>>5(i(oDcUgbYj34vQ|*BjF@B z^ze73u^3d2_J2E{BIgD(*Ko|DeiW=v`3aaxBhyHQ_(-fEfk`$s+!8 zFudG=L5OY3n&Rr}>fTB{sbaN@JuK0U!I4su$>;c3xKapSDH!@nAVP09H#em+TV)=b z$&ZM!B|Y9n9F!Oxa}KCTuWcmb-4Fu#Rt;`To%rg*=aj5kRmrxl&d#8GPywLL2ov)+ zZ{Co>Ob4QwfPkQBbW~d@TM=T{Hy}V6bpIfqPxqr_orBRVBF(w4i3YDoB(DRX$1u6>3BE;^yQxV9DAm%FY)a>M)Z4XA)5u_!ETM$u;hiC-tR{@5=H*l&ZYB+Yoc6t~j!-S3_mk!l&3kkR}ONbtq z#S-izo5>gQ6kUZX%vs9$@f6G|$e2J8hN5e$t87UqqB zt+(24Hkiiqz*;h%FKYYgscjTKo8Hkp*NzAXD7D>m#3Rqc5EQ1b=^!Iv0E;FFGv3`V z`kbGikGLhl?K2DV6?sU~gB&5j!5gjY9e-<&aQWw`Pp;g-9}PzTS;(9cPN!tBq^hc_ zx6D!-v}Z3tbE04B$|1irRKa2P`vKxDgw*X=sRePN<+dv94ufJkJHk47d|-3Og2w^& zvgEn;*Uh0_;1c9;SWua2i^0BITG9d$KsS^U4(By}(9x7DGC{Iqt=gc>WR(oC_GPhH}*q8x9x> z;1@pI=u@v4kt=#a!uh(Hta|m=HJiuRqw+3-+pjRE3n` zFyFrf6$r_$wMU1QKEo#-oI)Vc4R2(=iJ13b^lyL`NqY7kk!gTBW-MO&pH|Jo!^1t0 z5Iuqmnu3kdWB=#RADCksf`&W#H#N%fB7&N15}_bufM^2JM~9vN+Ej~aTQmna$ijT$ zh6iDHBlFX{FT*orlAcB7*{)5BK_(O~C@7$FAgrTC(wo=yY4{Z4oRo^=37e&YLWhN~ z11l2uW!@G6kly7W+moD8q0!DCruB1B6uG9{2T?=#Y~A=2q~>QxX%_m}OTaU#R&JH# zOU9t9YuGQ1$TFa;DCVkh^l%uo$09zUnBU}Ht@yB=yn#pnJ;Amk5kLyYSy(&Uh3~IK zkmLlpKo0aN4>?9=?My(S3GT#@rnnOie35+=D0CgBmf!(t*)Xr$9`&pR?`DJ9(V;;R zIjfci5BG}`CGYh~WiG4$GUg7Jjry-Ti zs)!>H4#@~oLivdXP(g5E90GR7RPRZ}c7D~Vf5^cJ6LWB+A_i2+rRFQ( z5d|>=Vw(VG2L!h_V)X+#3<%lO0Am!Y<*u!-%UfA}J;31<;oA_M1FWY4B6|Sq_f&hF zIv|9Wtz;N@gFg}t-i1U6hpSXEFyRFYuo3JtqO)gLWV}%p@A0?KAB13VVG>|;_|V|u z>^uv3U#b2BF@I;2Dd;>03Sawq?9JZ8fkqMmQ0g7H51<@@kOF(NJV=FMu78u3mi97l zdn72IjKNNh2&bTCClw&ZU{FhN7`?VwR$b1)%>mZlA>XSJhoA?i6jMvXeu7 z;37gYGk~%yG`vvW5qp{Afw;MyT`?H8@*z1H!5*ZENq5^_b6F^8=uMZVMeLG#>nRPe zfM9%U?QNccWk%de3dKgUq;_YWtUmkrbRil@ zSaRde#HTdG;L?C%R}G>+M1KZ|A`61s#jd6}M=4uie}Ns7quR6b8=S<*TWJ0g)h*)N zltN^k=OFC3`0iVdR3WMP;NXC-6C((PQZkN55hOMkusdZ#Ng4`r&KHxEgd-Ix)OxsY z{_PS13rWrG^}YRlQ}EXy1$evw^s~Jni01Dk_fo%!By@ctBO$>6qi(@pFvT@( zFok{M0j(E}>jE1hZ3Htw)ot4m#FdQbGyqQ!{^!_5h8=xSo`?fn!CZ&|n=Pr`hBTCGIq(&4fIpZ@>v2oSeU0)&IHzpAhR-~< z)1MkI0fOfj=jXE#l`IyE?JNf!qWkJkN}4&Mx;A{8?{5W5QE+A* z7g)I<+S^Z24;ukUm>a4n8sENd_#Utx1iv_wQqIa>J}60wATGNQun&S^d+?C2Upu)% zdVF3#X6@!$SZg2g0N@m$N8#`7B1gm@UCG|< z34+UA&U^@bqvmz!{q~lSpR)nL_yuiu&?}X3S`7V7`i#;LLO^mO9U$us0P;wGdJSs;@6!MGOC+mRqx8}B@QRY(suDQNnpgFH|g$H|)xOjECR zFv5`aHg^pF#5K0f#?3-!$}Ih}RwTn-a@}b>tN3 z=`{~ep>A9otXK{-XjT6bB=m`O>6FtmKn{#bIT;{vH*}H!Tw%Ynq62uqDJLHSv%lEO z7|$K#;9W_S7;;*SKdn6@DgN*D9~LSewO9I0Ar zNKu0Hm&7Wh8isAf|zx7*`%_F-aRq5Z8 z1W5Cgt6C&d?XoEc2!Wj}HkB!<5?mIDxw90o2$;1ZyL&+3D>+yjQ)1Nh3^D9HG5{$e zO=Z}1R0lpUoCn1dyPat4DmkpzOZ8iOOfY)f;H)MtMNND&n05wF8ocCfn-f?w+0Eo?LLGc4??3xyp4VGzo z@A`2i|L)Y6^8nps!Sp9FCk{Ze3w|?pQk>uT(acH#39t!2%o2 z=Ugb2AYlGXnG5vsdE@Td;Q5?&N0q-ps+U#3V1b@DvdxSnU@^SW6}k{3zP`RT*}o8( zILNi4dbO&5CfCsXfr6?z@$8@L70dzq_*5T%T-dP_P`a1=lQmc#}P zHJkY%09trL%g{kdXYujxQ0=ZBhk8rh!tJi)` z0aSU|Ty)uGz}m3L#?W#_B#pm6-=~@0yWS&96`7jby3g)$ zAzr7X#pEwv_&ic+8hws$>Q^Y)R|aaJt1eV)!=3$|`jQeVKW33U+mZq#cK{HwAfcx9 zRg<%y+yg#B;_svg;O7U$?f`H^wPFY+?eIH zK9jn)5RTs86H0-<6hNMGnwBy-_|QP+j65uZ=I_!LJb!0$ zeturbAKa+$43}Sks(>9(gdBOnUG~y7(}kB;Pp`|MyM)X>-$bB`J>FdwyjLU_oRR;Xw)3oh!wVT%qK;@jDrF@TRrqQN2_ z@ASvV?v$Mp3yA}h!F5_`4QEa?QF%X;$0_`2PuQ7mCuS)#Mqtcu_*NRlKjQMoi@vH$KL!>6y1Dg;WC&uI_s>-wF@&d+QwBuk0Qtm7ZkF z+_d57j6W`FsDwFKzvKl;ro!qM{4p|RL}~=EmMokuG1f}M?XKn*3rtV&WK$AWlC$Ui zcKK6blUz1)t-9@+m+65bl-r@#W}MmANz#2O7&4;6TCzpLh?>dA5|&C24`+`KlmHyH z8nMaevE17FexB6`cnU{NtMFE5EpFvJ4LUoUxSrWZ*W-uXv7BC>_-=HFfH^oen25YF ze*nXnDKce4MAW)y1EG{xCdR~6Uu5_CVgcCOVP~+u+%FFU6o=NV|4T`g_c%_fex~j3 zG64#UPY$X%PY$aX)e9p{6fzS7-M)SJHQf}_(76Tu--F`ndqcV3xY^hcGRgw;RfRc? zQ2Dq46w(7)P-5`}3g2k9l#r6PZ2Sg_P-t+JczoBw9*8Yy3M&=su~=o`XgM;InShf; z_%0#6r9M`AFW0LrE69DRhq7a2v=1oXB_qUj6f)m1Nr#7rM>BvxF>1|=)YRriH;cTy zP!@w{_`L8Xm6Y8j%yzWKU3Cqe<@$}*^I+V;AKIj-nt`oit8hpzU-k@v_=4`)izLR+S>aQAk3b1Lq5Su{&%8{xvl7acIIxL9N%rpA8ZW82#8n+p3{~~ zCG1PahAUl!%mtXEr85!~-_Zl7yqL<(uR)7XV*t<+*kd6*fU`4D`5z2)v>`(dAnhWd zT7yv}`jK()pgn?NNe?`6n-Sw!KWG=*dTCG^c)q;60rBd0Zh_t#aV+rl`mcIe7{INv zpH~V&Tbl#%k3gMDDQFxd|4xg5HIc2jx~!}WVF&-W=2rm~a8>Qb91vt_In3@%Kyusc zJ5NE_MD?~UYF0VP(z>nuJ7`Ztc|QmGv&haa|8Q1q3!{CgG7PXk(zZ_=2S!J>Ry7)) z)$y;Q=5+5ja_{IaAO;BM)n}Pn?Q8J_*wQH7a>% z0F(yK@Vz?*ZvX>(ps}(vYK6l9kXi`x074yc%Apk}z@1LTZtzKrI@J=|sy%qT&~V-a zu-7vQo+Ix*TNJ}hs9$!n0Kd%t!ofgdc)&_`=N3d=576=az5a-`rOfmb_{RpzEV+_m zJP}y$vbB&2t5#+To$I&TOd1_g?4t0rtop%0GfsZs2;hpxi15T7XJ?w^HKC5Hym3M{+D1*~!&lJ8Oar$$CbTqc7=FZlcT`(xm``Fn#l zhHN_+q~rN4us)wYfdwje16UlxJ(E>H-kZ=NBZeb{)EVR#Q&#%z0nd<-%(O3p9<_Pg zO5e%V@8=hQD=vWGk6~Y-42^qm5&QWBeLTAGSR*X;&U{?UXO>JfUncW41jy%msNRNn| z@rSOCm-m05;R8{4D3BtUdZ49Zt=EHxfMg#5i!s-k^j6e`ipMSkc@P`a+$gzaXk3uz zUcnx|C&sAqH4(VSFHrCq;MsYQ^net_g4w}tcK!wb0u^SYsh_Pzm0v7Fo&%+S8!}61LPA0k z8+cXN++x071b!0l$DbP&BOoH{{B)HaCJGBdd)gkmspHujNS7dsJ(zx zcY#n5d92>3hk697_SOq&7#|^Ck#S7jGAH6v1cSAx5;i=q>X|8=)rSVeq*YT>L-Y6S z6Sd=T{GnTr;dylUfs$nK|6=dGqpHldZ^5HhNok4RQqjTyCPYBARFELS5))anWD}Ak zgJdw2P+~w)K#?Fyj!KlQQi^~`2FWUt4oQUrct~$9ytiNf-ssow{nLN+=&mvDxVOA= zIN$#EUVE*%=9~-oPs}C#!&iKKEFgs8$vf3=jtYP>1AI>RQ;Bv6Rl}s+8>;R>$)aJj zXyJ3wALnG``GRGn?eZxhA2(`@09|=R`ayt@z$&Hp`ttv@a3K@X;TS*(AQ^Z^q9}ul zJJIfosj4~#1nI-sA7ALTMW#h>Risay;WJ z$sLf3&abbY6;6Em)$09|7hj$Ml7K>9ftJbb$70{Ax2Q*NR~Q0OvrrUc&o3@;`tW?- zGN<#05dSmJ59*O!&KE9wRSIh`enc$V?awiVWc6@ER@e_H zDIV1(3GsYNAlIP=CwA%hew{{Y_98q~Lv(!?Eo%RFfxoS~c8K73Y;qP%_FSf#1_0>L z`vm0VQz8S=HzINfNA7%Ep&tubW|7GR?3Vp;Tt=~GxM(&7Z-~2alf_-^UuvjOhlPZ` zABDQk3K$pWqd7uyR_ZzPL{wVOnff#XYx?*U%}P4E^x6ArURk1$&t)kFj|f|@5nu_ejRC&RoJjbt9`d>~fwMCb(I=trYGIBPKg71r=~ z=d%mOH~rX8<3O*@Fq;gK4#5czca`wB{W^V#h%WRUNdgL>nS@>O7aK}SjsPQSAUGF5 znHe$w|muA&zARg|PYA7#PH1_y<#lGj=;Kg^0X9wmWym`=s z!sl>UslbQYy%sH5$+(BTN{nxu$gw(; z1SK4fE4ebEd$e-pO2-oGSLaR88-bki!4BiX(D<)tOeNtfowV0s?EcX|S#W&&DuS9p!z3$<6 z^aE+B9G!Dk!r`dH>r);ObhncXLr*n?oDb1AS8D9TLKt~{H(9Z7!7bgnjlAwP-Uhj^ zB1G&q>_lm}c-gW>EN_>iB(?5fBqNGWDy&2JYp-3FR|kJoK!7JTo1fP1slF$`7#ATH>l`Mvk)KE}|G z=O@Kz72bT?VlzVg;T>7`^z;!5xBmb1u zKpqXrUwg#i}epvzk| zXY7jK$2dDzO6@1`8VPt;Pfw3_7(|B1KNVnpTLml;PFG6IFGB(M?!}=pNkqqyJjPnC z#eDz%y$@Xz4N7d8|GLmL_k6b;yE2agvA7NBvL%z!0AC)rqsR?3&YX!_)Yi5hbu<*= z34{lcW82M}=ksEUii*&p|J2Z5%y8kM$6|Q**TvtVn*;|o*RUMj3Q%pRfhKa|IRgsF z*1wjf`yjqU>dpnu0!(vAzJ52iaTN#sqyUTIvUKi)#D2j>!JE{?wW7f^%zKrCjF}cA z!+X|CgW0|ajd-%RBoJHFyyhVKaH4|+4S?zBPxZ2`trVmg;fLt(KbOUxI$kuxPE62@ zKc!cJziN&o3vncfKw4@YBgV(ni)p|GtB}nULN-m#T%;@qzr>t{R~3!!2r2es>VNt$ zx3w8jiKyF%vDB9+%fEH21)ydExzP|3MVD?hI+flioB*X ztXlSJtd>qczTKjuumGVbg{na9)famHotHgxC;k-_@uXsBp>g`)eEBy~w6q%dBRn4A zUO9*jeGDKqexVSq6(u}5*a$K2g0+e0f%k_4Gbii?q>CPl^xg=#6Bf;|c5?E{7|<2* zfa8Mc9N=iH5AGM003>TI`111Cn4~|#!qJX0fBDy<5H#Jk#KTf00n%5>E|IH{Wf9rt zp^X0A75LTvDIz;IL<4nHVLM3|AF{4$aFnQ)_8%y(pi~i=@3*CLZ#4E!uBxiqCnL)knS01vCvkPvLWDgE_Z23QC_Fr- z)<0-vO<~R;iFl`atu8iH$kkzxnr(xkgi6>rM(rtTZ7>Q^e0%KDWKqK)n zaoWdFI!JqSe+-_eA9!~yxGj`hm34H;ChC_hryP}7YIN6oPL3Je;7Hpz_xY_s_?Dii zSP+DR!#%#0u3Pa4+awjLa1A7XwXjtTIz6`b-}vbt%BYUW!I$LsL{!2*X}Ns<+l=y` zknJ2azmb1(0did6@i~$?6(e=djDYtfq5R9^#kB;zh+{dx0pn{UY~s&bc`F zW;gPBi}w5+lsY@)b6vhZq81L?)fOlfoAaDg$(00OrWX+w^7s4U^xm#H1EyLxzB!P39rz21Y%qT?>c1DTLvk`L5WHLJWwRcOz2PG zXNlAUt#v_p;v}$G)BCn@aBv8r(7Ljii<(*>WEvrio74}@d*(ZLP21|EH=TpCVgwS{ zSQz4;!4|XMrcJhxSl9ne`tP%ic1_3XEx+75JX|p~>6?Djkb_?~HYiNCCPCa(TkH+sjHk3Go>ZQz1pVa8|4H2^KSS~y@GW4swe2b2SvSasTF3aUw(&z4$ z-5vwN>yB;M_ir9ZT9Dk4;2jN16*)PFYt?6jI_e(rO^zz%2#R?gvll$uqvSc(rIh^M zL2uE_E6twUt3~1hDrIGl@kP|-^2VCKPV2~IRdE|?TXV&?9+WoXd1zff--%DJDbsSG z)6L$}z2f)Z5+V-YsLhw1QO~zIsb$rmH9Ky2X>=&_XJvg23Riwht7L0o9x!8Na zTzZ9(QI4>=TSvQ^Y<{@0tpBvpuVTCnKbziCsIy2mHSSCFRro&RDXy-PT>Dq**4`c# zhvT;ZxtZ^NiS}VZ%-UgjQGvVdnW2`feZ9ULU0I!`D>7^+7rmO~QmfdjYW}`F`L1QZ zrYE~XRWE%uf8b9(%_2itPWPcYlNQGeT| zi$-MyUz^DlGAr%RmKn>=UDDOXH~G|9ggIg(;@u+8H^HTzdDc+$;cTXZn_jrG4Y?iutGuwkAQ4%=9nG#rV-q4d z?NDI5MeR=EP_m!Q-Ya!xv9Y{TiMM6>`y+KCbVjDMbuX1A+~V8p(B?Ju@xfBx&bOyH z-MiN(k6Jw}iC7b*@S;>Q%PTylkacNBTw1$BMpwS^RIs#t%EB4rgvFwRafNbnXCw;L z_7p}$e!P56aCc^r#rLBMZLu~+>mOZ}=d2s~9x2$vn;N%yGQ-Y2Lw&xr_mu`73DwKK zdRl2Ft2xj0C&qE6kGA;__XXZ5?{eCpS1&nU{UoL4Ye$Ub)L-6x$p>mjwR~T`wocBs z^4@WCTKITqo{04unLx94`P58K^_ps}5Sc*-mUL*`RpW8(LlKrGZdZMzXS2L2YY#|I zp4XPwzq|MC{YTF1>G*#ZJ+3c^5?&##zs1n?Lfa!x_Sq^UF6%nAorPZ4MmBS^J)Odv z;wm{*>cU$;GNqqfn?Is?EKam@@>K8eFVD*9THb#%D9!ZgDxNXzX?~t#UY6FP=j!)g zEDyGv2`Wset(s+O+v$m#hn!Ei>ErdakVnXkFZ_^H-G0}Iq2#CUPKm8z6&a_h=FIx= zW(qp0e7wBZylqBPv|yNhrgv>uF(Mz&#CwIr)y(ELT^ipxV0HcOENhM>PMMe6|17T8k1AcCO0K0 zuIEudw$Q@3Gp(p){iHrC%vSqFSWMrwp~gz{^i7xR`U?7cG!<&Pp`f}Vtu*ZKsq^uB z%G;@`1y@!!cCEh=k##7{D0OFtBhz&Bp5%(kZ4U>x+;IKY&~qdpvO{O`Y9{+}b6&`d ziV)Ytr5YO~)T&)pupD96w8;*l&w*Jbtl{M zmCx_f1%G5G=j&YwRB#Y|oiLwEDB_SeT7EZ8_o<74F_xK6h-1_IS9ns(TtkOyj3N?J#kyqa#Jh@}m-$8F%QYMofBM}=v znQ76c`@P;eNw48JV4-bWw;p~P^esWHA)(iBpVPpq$$*dHR$cW8uLdhCZ|wfE?~Kr6 zm4f1$pG+4_2J|8F3_Yh-_brE4HZ`-_2TNn^O#=%Z50vbXSC6yM9BF)%c`Z{g=04BT ztfQqpE1mu_b= zvH;^N2dwkMPnK$FzWOHLUm32GU_E=WqRJp8>R{ifgus^VnqnPlR>FD)hpf(r$#C=e zelwUpIgd-gMPqpHgQT=_FX0E@>$GS6Ir?i_PK$nvHy({(3fDdD?{v#|I`ng1?)B50 zY9Almyisov$oI!_*IJ&H*R=K~es&bUUUc?t*o<|pbL5m5=h)7qO)qMiEqg@1XQ+fa z_10X?u0QK4$>(QO!{=L5R2Ntsp8T_B)CHXK%SCcop9Br3V(vYt_S`k${8Ovd+?DNX zFE})Qh&^~o?rKj-oO{VGv6*y}f|=}Z`8*b@H(f(ZHZ3ZBduGLXja<8R^>u$vv%ZGs zThy=)No%G5b-@1n(Gu^5znAI6)cVTZ^xjgKDC>}Ek^V8qz}9F{#Jkbuah=RvPof7) zx9$uM{#Ce4E3)9QSBHXXs{X_K>0Wi8#U{;OhxV{u#TIDoX&fA@7SwlR2{*Lth;iEY zPIFROEHRI{QzN}MqC?+cy0oLGZlmvZ!K!as1&z_IvMITG9=|3`3Hw_ecF!s;uaEUC zE|SwJjC&S;bm91`=Qu2@srJ4QTFU*nV^vD+tA{?!eZ6Xdij!A6W@5XqvsE6fnn}>` zchrh=_TqZ8Ia$_D;c7x;tG7+>vC*7g#S8`=*Uc*b>by1K-0(Q-`>$NHGfx67CYAfP z2$tF%=C2fws%b2~Jo3qIeZhvVo&U0LS!U_eWB)4lZ$GZP4Lq_bitj=etK6|0;J?XC z)!Z4lP5lpt%4uDPM8`YUYign%yG^q%hI8*V>I}-Nf3|ev{iQFn&)%-E2pm`{VJ*IN z=_@qJ{u#YlAv{@bNo(;2 z?(^m0BWLrq_IUa3&fU3i=H`XG-;BQ!o4M3(Ol;cb^rgkwebKSa8OQpA%x5fX6;)-A z9~aoS+VZQN?`JJFC(Ca2PeFWos{*?>7j|Z7r!+fv?uiwMR|wQ{{njl%@~4ndi_W>K z`=c-ao>raC{dP2DO}u2TZRE_+ipP`8pxJ$ICnhG2z7v1-I$Ge=i4@0@j<<;cAz}iL z>V$tCE$TEM?!QqxJQCEuGlFTMz0?2clm7hgf=Stat=>g~?Dt%2-32tbJ46$|buSA# zwbWvkv!_2QXgaOu^+@2wnca>9HEFyxet{)5Z#%2{x)d|{`22?wH9nR}uo9ADZYHKCN1CFx1Qu0H_-3+uEW^{N9reai_tsbe%JZ+wBF_>N+Xly<#l@%11Jh^yAXV2Dx zMAgvW5>~nB`ZmlY9pbl-HVu1dP>%)yOe2|~e{Pu5&9aZJ&_?)~Jo?ATo(=pdS0OcC%vt{e`cj z9QjIO?3EuRd>+?8o{*=&tT}clxw?6z-(SyVcO_?KOYYFHc1cRs;`T?biYNXwy!SO^ z;XjUQ4-{S~$fPOM##r4-XJ2F1PBcrfYNu6MIuArQi;P9DcFa)JZ!_L>?ASPHFD#|m7p9$b8cy&2CEA2O2knW!O zXP%yy)in|ol#SnIJkfV&m#hVoU+C^?##~0a`P8=Qv0SVR=74cCh|5`^FHS9?bMA8?A1B0Rcu^6xzkzgyGUw5 zX3${DZ8;TY*zAr5)8U<(w#lnCr(alehYL-A74tPM4UtvaJTr2&%xjOD1Hb1Z-W|Gk zv(E@ivr|7ZTe2QaE#Wb>JYmviY@Ks<`-IW#wZiRrHc$L?EaHM?`V)-;rN-6jVw-E( zjtA3ZLY^pfcs)^CESRvSf~T=(dVrl@sVO%d?LA{y}ND!j=q#>t*(xx9?$R&PI1-hhApClXZMmoXO8XD#~mDy4=)pPh?iin=I09$#}@ zs!a3z;F=b#%(csEcVD(SH6Jl$4)^+Slm);w{a=Z5~&*k)vJ zu`-Sqt^P~K*>=grJYM>#=bZtW%)y3)={Nk%p>CZ;Q7BfF*JjlE>ZeW@2bx~#mma^o zY1z(N(*^GFP9q$e*}8v8E}byAc5_RcW=s6NustH5a#Spuqnz`lK zx211F@W$G)3?Az?16Ih9xZ3gvvv=*{60_}}m{XONb*1;hLfEf0ENZ9bwawOzvqyNF zcBt*!IvXLmlr67Tnm1}*;*+2@?A6w2`H5v^r5!z$dEha}m}cVHWpVF>$2V^-h~C*% zC+RuzI^Cir_x_OO#Dz6S92@u8c*TmErtH1#q23?knKV!Jym~E1NZh*xA1x+Zk4`@k z3Y+$_&fTJ%QNa{TGOV!g zwteU12lnr|&hJ_~b_SQMezUP=a#j^(E=>OlXp?k*86` zh`z}p!Ndcr`krjLHrDsxPj{_nYDWqt*vaF?M{UH8{?F^6?K;c4?UD_i$tC=jV%p55 z(Oy@qCux!^^ZWKI@7Td1-3solJ?3AIB`RbMJi2J*$(4CBsBrSDbb-BnPX5w^iF!RU zYZ|m9XIdO@M10vNaOs}54k^eDyPtp5dRLJeic8v93BVgB7Rg{Kl4LvpUJrE=9HZ#?)|Qzs69} zNrS`#Ju79*?lcUlYSm7rcyBrXI!v=Fy>|5L=~pSOkDC66vP9%d**akbp%i`N3cYl# zU`eT{hqN9yPX_GG^?WyAJ*YEueVy?J-w#VtDFetX6kv z^lZEmTd;k=P%rsq8Plgf^na0sZyz*#mbIH%w{KwYi>BvZ8Mc|c3*8lq|4Rj+ZNYwE z*mYN0z-aa9(_Fm&O3DvHlF+94Ui;6AHNHl(x6b{a>Vk{jzDHbx)xQVqZ94sktKZg! z*ShqrLs04T?(-fO2X4#_8FAihNvZVd#cA))rIqcN%qO7K9V}S?Z4#3wOj>Jic1ZPGENDl)V#8>OU$UA-uA&lcF9;!kg64H7EPT3Y3_fBh?FZK9$)uF%>u7$d9}Ih%C)zLDVe#6}iap|SX`qp3Rn|{&H5JP?>&t11e|~)x z436y=Uz9xOcNj>rTo}W_$?W%7F4Ck~8UtJ)Z3jbJK3Bc~E|;elX&TlPT}p1lK%= zpr&biI}eAit$Xa35+r+}ME6X(9$%i^&9y0xk}IKbS#BuI?o;GzwCO0vZ~yu&%DHbt z!HPfqMpr2;4`}Q8+1n#&AiPaFzN4~Syi29nz_k1AIf==d;cc*#X%_5T%#?s4qQuwErJ9WMmmKfsO_NTVVqIch7Wj%(?DnpWUKU91f z_}DmZT;#LWtJ0u*p#OoC*1Xb7RFg7ln>6DTxTN=5YisCzy z?=6#M3y<%P*J}w992+^vIV^Lm=YdX5rXp5Na;+$ZFtQRh3xz`A+3y6V1In2P^J>i##mBjCYA? zk(?P>#_l_}u#5FlsI7fs-OQxr@z+tq_xnRVJ$0|jxy|+OkIwgcwa;SI{p%VT*DHl< zau1Y+>hL9IY1Tcs>SrNaJZLw4?R?dH)deCJ1I{74EN*<7Kay~+pi!iobwv`&Qbd?~PhT&TyTpo2~@ptz7XZZI|L?w? z=bTOHXRB+Yiv#kO6t9soR(5shQ5xFKU>tSYjyZU@TMyCdFm7F{Fqt!nW-$I=w@YP8 z4e1d+C_!-r>dDHrYpKiG2SNj;_*A1Ay^@!g*mAntSAirA6_gN!nrOnRLsy)3wn7jz z4*VgS*nH!$^EU*}(Kt4|deSn;23eQP9oCE6?mu#Kof`Bj#ApWXx*s2|prj-s665dh z4>NC?Xn=-tJetdb2G5>=<4j^dk|%2mt=&COD)iMyTk(KA@@k4wg=~eIwKVD)sytng z${I0F;ZBARKA|r@He8*$mYA0f&F^9Go8HZL!DEB8ufOihC&H}&m|mrZt1f*0;VSYS9G*xJ04-i$=O*Dj_zwYjTY}O3 z6o8`wcusZnbC5=T-mz%^x4FRed>wlDL~nrREgoO6AHTZPFyIJzmt%AQIbNWF-}zS;QKfHFK&|RGjbJh<&Ob3HI$`7&f3!7& zl9{|mFyS|5+!W-BH`dww&Jyxv z;BtccFlSu?iC31x0`ppf9T{j`UudCMh1PH!TIE;|t=wPV)l74ZqrIMhFG$oMjA09F z<(v1%JW4giZ-bQsej#)Q<<{Bd7MW$x8eF`1F-=dS(xDf0-?jpG9k43UVa5mmQl(>F z%=T4^_QAfI-4Lh}xt-{uhJ_vyIpy+dXrtE`xI5Fd4{SAsA$x`k2T3JeK7g1`M1lXz zLL_NCR@dqKHxmpcpa~5S{-8DgZ}%VARgfx|$hXA1AYTmdLWE#NSi1b^;CZqwh$eO( zNP7^!-=cp7qfO_HxiD~LN ziOl2Mso@T`6V1@ZMpVS&8O2R>7#6r`(O-qgIOA-^8XU)WLY?gI-{V0y!JF`byfzgb za)%A-l0CNKWS2t}PciG(qYZkyP2VMfk|zM7-`)p<{)QW{Bk>Nfv%*shavtFz^7p?m z!AcQ}ktT41*tJD}Jwu8ZEm1r1w?V3_1vxwu2Xo6J1|)@#rT-M{P-;!y?hJ(_k0W?ey_ao0Fc9!x-Xp*f9Mw7xkhkMBT>nHNo zSHVb+Dkw#i;;JOT7X(v-IHzQCpf&7SEDb564j$1F0qE0KqkJpVZJM1L{as_E?Jz=>#+`Wq=e1fp#3m6@Ojx)2&>} z!OZW#AqBP+cl)Squa0i<_hK#h{IQL;V0G$z-8ux>LTMg^0?)tC7tFD3F zMzg>3G8g>3KaHYiO*qWG62WT&WzEh$_){9Jd@Mn6Bgw+d#QT3!i-^Hedi;Jr6ge~p z37$!R^}DL);I3i~w&=j3!pO5o0)d={s*^NworJxMmBAkDQgb4=`T5mAu#hh~M%rKK zv;{C=DzS6^A4CATmGw46R1tJVQIl)&O_*pfO5`Uj7yT6c5$*6B$3#l;KiW%2aP;}V6`5W zotbzHhqBJVuZ(*>00fWH=a3-r2CuA)Zff+`yO20S%bkfi7|5wNLz+P3Y7pUHzc?EI z1`(kSJGvrlU!zc`$-7Y9wmfGY%oYk1wbV|%e!mr(-Pqy6NtNM(@o>C`?!aBeFJIEQ zRvJlS#J%i-0MhCUb;Af|L~SRdfWWUjp=^DuJed6y@5*j(_C+k&E-Nbwkt7ovGS|M# z4+AC0;=vr^FD&joD9ZBHFN=Y;4@-HysT!y{ET?S{A0fkuR7>KJ0Ae@uJ=13=IBcm9uCr>kspEV)6>leR1P$Dy- z8m41Gwlg59_NpllZPSdqMU(Au3b#o~wSHNp3kfu|tp5qvID}F%ZFwMvgH6RV{AcV5 z1QcSai8^#E`IjtSw5U2Z!Ycv7sHkfz-sAsEY&3GO5E_<)idG5nRtM3d;21Y!Cy5Qz zQ?YzBv&K5&FU#~M3jEMV%Oh%zF_~sKKSV6Y3`GO{U~rrDc=LPj)sUDW6edEy;?{lN zG=I%;>-PM3dc6o@U$(6~c<`VZwn|w5-?c`I%NQfSlzfKPz#F0DG+ipN=}-qVF8`P= z^EYI57=CyRT27YBxIBiLWN}av&WWoFu{R2F3Id4&&OP{?5+Fc<^}R zA}?~NSX4h<4~5?-=+kC+Dx`Cx&Cd|I$!Y_W*CvBCaw|UAif4eYMj{VH%Rv3%K%E3l zc^qryOpe3Rhj3GqA_i&A=W4il5AC>l{rX)*rqx19hWJg)qK_dP$cj<9~Qe1SbGNDwL(PR7|rhz)FhAkt$PGvl`%(D8?6(}!0 zSBq1whf_OYI8Xg%P8I?(r^1jR>LcQ~k;lozQ0I2tv|bvJgZ&Mv;Ep>9?$7dFN0@;+ zMrycrGhhydENLyzX5&H+qEKS0Sr{lX@9{+uZpn-53`Bb-<*VfMYy1&6;hsWV=dId{ zbk6;7n;Pwv%s@72iEIWp&<63@2>O-L!A3Q>p`|26XOYbWMB#@1n)$Q3&*daqu|Qb3 z5lPsGjeN)m+&prYP)aC!Mtcx~a~k(o?uj()5zS=A{G2^ccb~>1j~+Q@8~Ex}HKv(U zm>F4IEC=QFVHks1N37l;PaIT`nw7jwHe}*@I0kO@qeqWgWk#MuXF*Oy;GGv3tY?V5 zRh~SuVLqegIs&aZ=G6JHNl}jcLQ(C7ZomOKIU+U|j5S-Tw6G^8FmF)}L`iGE#qR=W zKoc==v6km^{4snj+q#XCfE7Z;-dC?((?G0{Ui=RKZv#%}FYlIp#6HC+XA6v*M;2jy z<2L3GAx@0s&5t6qdw+s0oL+FyO1tE4K*)_bJ+plX7&O4Jv_6L)$r353z$N`2;cb9K zQMbc;79ofkcq-evyDU(VCJuoLZ#d-8-yn<_(wv;!|K%-)7gBzfJqaC)A%%40`31+d znqd$!ccC6SR0?5s@~#x)q7>|HR}T{yb9{Y=Q>JAG!$wMHgIm0jTdWbcJ>kb0>aC5( zCS_IiqeI>j&je6F5f7X=-X5=VPzLCbNCwY2qcx9~ojE9wwTz+aT|} zGWJzHa%`%^6JH=WdgQ5B1keqCZ+YWd0Q&*r= z?riXUw{hb}q&9{LEkEB@hYTllHvYDCX`DWN6;>X>*`yHv4!ECjt55}n&nh?pNR>1zbP zngt;zVxF?kBzZ-Fm<)}ISmbWTvKLxfj0<;ZB;Sq>-YE=@`z=)CUa*myJZ#?_;s=q% zWx9`B-w{%XkeMFU$i9@0gAd=aU*2uSVY-Z)DjI=o&CptCh%ge51dxA~F{GBD0KBj= z5yodb!k$1OY&Y1Nqk$|%{utMFaj1@{AO)*j(rS`qQBaa7;2HcW!9(7^!zyAn50Tme zOJ;5S^rs#OT^{#@yT7yjSJv_EArcNTq(4$OVa)tYzvixaV~XJpV`Wi~3EN8!iz&ZA zuGbiy1)Djl%9T>Kd2&N^qW>ZXHOrcP=eNITIzuWZ(khKRh_7=)9t8P`=>aXq3<+0m zZOU=Gr$UecW|`edyvR?^N6^m44&r9*`^KeXI|OBF$ZiwAk6x&h5FnT9sPo;%&BwfN z8osNQrnZyfaS_+NiJcT){7xf!V~++m=cZd+jtZ1;I1AUjSNMjQbyr#+#f!uARA1;0 zWM)Am-#Bn+LJW(={&a0;YcAgj9E>EH1@eD8BO@1hhgH^0J0l-ExOnBZhnOb1b+SR- zw|HY-+m61OyuStdZkp${&6Joomg=^kuwp@A1WZEW3?#V zm#~BYufXK?HZxU0@di}@NCB#Bi%?f3;DB${{ON;D_qR>IGB&)@1x%tii0vEp`NenS z9L-NoUdDY8MFe|%A{pagy>V4>p)kgfwXVttV|e%pLKsM@3jT1Hm!r){tKuNOvcxSw z%3+mI@koMykU_%xunc<&Wo--%s6*|fgIYop5_meJqs`yCD-y8{R1|}@yPD-;`&i(v zNb+#oCMZ~DYYWahX#87VNZf}4i`+u;-Mh<|B%@{V-1S}lD*WPht{wGu3Jipo0IdfLb%t^^x%}6 zCjBHi!yXz8J!(S-33ot_qZoSu(qa^gWNP|WXvu|t%v-R>&2Xiuw5$YXfd!3eOhaW2 z-w`7cm!Ljd!eQFyHPH?X#BH=Uk`|8?`4Gx=su?1#kw_eO1}#IfK~9aWZBP{8mt^B2 zBYHAaEaaAS@4WXp{HtNJz!RzmyH$6>+Uu;i_$1=Rmk%#~>N(Q@2U0RSImU~c4xW1V zG=IAw+i83h8{8hgFk!OZ?dEx?4dF3&PrC#`ryfQ&FwxO~@(hU}mHQCq#Udp$LvXRa zVF%$1Y&wqtm8ybpCSQAQ!$P;&i(^y`MP9+)p#_Mj>Zn{pvsy4JF)~nW${Y6!K|>$C zsHzSyT<0PV%?#%{aqL-anSQ)hvB*sf?>WF?8&W!U=a*#PtAGFfN3stE800{d{F-mv z0Y^m4@D9aT;j?iaxGTtD7Rl#}ySZD;p&O%YTEuk;p%7kMX zk4Rk!u2)DS_pnZ`G#H;6sa$L130FY7?>_SxLvzXeN*x{bayV6#O~tB&(O}8^+~z4` zR7G{E#T9dVs&MyC4g|Wg>1;#Hb{l5(N3A+Py$rNY$m&qr4OTyC)|u zs$y$vqPn~zcu5ToxX5b7T5aHGH}IaJ^y8Vy0j+i~0tjwh7P}SEQ3C;=3)9V6PkFau z{vI+^H?s$*VMqjqz9fVbM*SUPiYuj_LudB^hg^3>-%F zavkI4x#r!X+H@s`^wi_xar11)N1Ed*H{xy7!df9cXE$Du0vrJ^xP9CSxx+Zfl+B=k zmf{gYIUmizE1&Z+Tzk90v#KvyZAhcpE=b;ok z1UIG>pr53yV|PEW$-s3QCgrM5V?zO4a&dE;yD0Wzx3en5I(|>-9ELoIZV22qZMj`v z4f?JYfBYk#`8z-(K;#cJf0NRJT(FqKmt^LhmR}fCVm-ma^BK4PGSF>%i}pGncPrTm;70pi^_4;{4nP7#v)3tgJcY3ZjZ`@$H zq>O$BGUT&N*Zt#_)f79iV`GtBQ$YcYEw>el!o%3{vyB~|jPQRSn3VY4xq)9#B6K|l z(8bNXvr%p#v`wvj2~f{#p{gbwGl`F|t0#{8Ab75vky zakL@m^_R^EgNl@M26ls6P6cvj5zUffc*sdw7016IGq*p1iTbc1 zseB)0G4lYBdY`itU%Fnh{P|=Z9C^I7zR`J&3lLjjRs(cu>s$$nu1L?UC2F28&6F`$ z!Qq3G#SL+Ii528h4%ye zO<5!5qgG@>3h;SLsR1eNVEY*lm0eD&DNgxT?VqA-=5mwexUVv9h-HtGdxuXmS>^zo zO!(-E()A%~9COrjgelVA?}GJEVkT{_Ht4R%XRR14c-33HR~0cudU7D$=j8~BF&K5fS+MQ-Pjg@D zQ`t#%+!y0z26XU&6GQ@HaSpC$w!1z+&JzSgKvAfeCXJ%pS#o1`d_39^I<&`t5rq(% z0J_*&F3~}L{mgNj0pz<%$(x09Tt{LsyB*&Lw~und!gk!ZqBpqryzUx>gNHJLL=_5-uqiMI2^Uoaq_xb`j%#HZjfDSV4L&wO-;8vZr_!nWEw|iYgv+Nz z{ymOb3MmyUQj-3LLKG1|c2R=-S|EvM<2(UC+!;vVbMdVXo1Y>RHUGqtxw`>=8@Z#t z(+DzB;r)sRcvjR}I})A&t&i`K`FP_|C(SyIqa7J&vC~n>TUFh~xkP#WiIbx2*9( zvezKtsHJ#z0RBeSl_r|#xkkzr2c+$F zCPP{Cwbxz+>?j`TOYh0_XgdpudYt3?JDAw6`Tg5x`{qis{YXqT(!w*=uUbVI{MMGK z_G7q{w?ym#%z;C&cl6c(E*c6D}W5BW<^G2Y5RR&o z+als_V-Y+ARS}^bay%7^LbjsqhD6=2dFU#C_|fb}P3)Amg0+cOMFX|n>)r42X)FvB zP}AhQ<|AnOrbxDTS8nG91P8z~?b{lKNm>dof&i!fx}C}N8Z{T{OUk3Vh|zgORg)(>22;rNqXmf5eD=Nfxh^Go(CU1U}iwtn6=MLY+uDZOSm@#}B z(}*`5qT%#1GZUv{2gyQ~s>Ngp9Gh4;DF7D8t!oEhf}{^I`j-BPygJnOqi;6*$Kf_x zW++bv)VOHNh1w8S$f1~p0G6jky-RW+rF;{~<*3CQbo1@{HXiX=!ad`pI1G}`U6KCj z(w>??OMCI}+Xu%c|75>>C8U?uZ7QrgoxXeFMEt>~Z<6*WQa^Qu&aOjsq#dq-RXR1{ zyjwK%`Ld|JbGTv@hFFwEI~!+PwZs57!#4+hL6DuCCpo(SsmKxSz_%ic{sPP-z|Ot} zaG`d#^*kBu6pw#Jm}dK5FsVZ!P5%4nV;@G@L)l2J^E*SDdeZjHuGl;eH-o_G*Vm2i zuV652(!~RqT_CG1p%x1wR#;X)dI+$e_}s7#;M^XM-s3RH60xY;Cg(|M0@Y7&Jenyl zA!ke^;^<(jEMB~rUGCkF%M5M((`MnQAqiPWuG^lki%3k0dSjWH&v#TU;1FTalosvb z(b|&KZ7Z%Bqr^SflwM*^<6E=|J+Tb0vz`tz)GM%iu$(7N&n#09E_H$XOwR`jVdMMx zSakVy(NOd9k-I1|vGeZMm$Bt7PGz@f!R*M|gmvD4>0m!M|BD?upm6`g00 z`CH(?T37srBo@HV8YTb{%zoKd09!|uj$j$PPjjYTz!79J+AjYK)k?ptj5h3&F*Ts+ zm=$)h8cI`Ey^gU2rvd_gEw$%>!A?gG^8D3{Q4)>EgsF3Yd`Zy?Th637c2TV8*lf#^ zi4A|4mfrm{u(&+Iy(Ea)6dwrp$<%YY=~L1E`}qGz@B4#=(egVYD!%M@oAsRk_Bn{Y z`~3iFh>#bPc^=OHdKr)R$@?y;0;qtmTDD4T1=`eP0Yhmh8C0M!K$ex>ddG(ROpziF_{y>)p{VawUkd$5nWCXkyD>AOe?yE;=b_Bi<{2DoF z9n}N?BA-dk0vC+Jnn+riX6j|a0SSW%TDzXshOqR{n}5%(z+XPr_k>?7!7T1uS7}#9 zM~Y#dCgv>!_mqZ8q*DfnHl1qOq2<>=V8B;2l-&1W&R!bSnB7kWH?-YXq{wE5T#Jm4 z$j~Ad3<#@40gaevqN*_66?N=Amd&2Ie|tsR>=3#Z)$pE}_V*XFY9`2IBtyjCVl8~s zfT$T-M*v)(ivYqcxGx(4Pq!urB~P$MC7M>O(E9My!@G5Szz==+1X$GibR$U(0cXe} z<6!Cpu3Hvx_pRlv?E!FrDE9sCDu^P1Zl$^&AWRe~Py+TXr#t%_x%}_2;?B}bCUbFI zzcwy6af;BTGeC#lIrgAG86II2(o|z@OeGw`QRd{1GF~hp4=lh0HoXa38g6e(zMPC8NCqinWUTS%2y8XuKtGx85mly2 z1&1!cB+&|Zmk8R1axcK(Dc@1VYlxsCJ>Kdt6cju}G%Hw+_^{VuLq=Jg2qM>DiwGpv z;Aq^__C?4*R-1mLGfPZzPJkq{9QOlYy zj1oEYC>NEk2v9k7d$Caf!8uN+vLHLsq?DPBe)e%(LR#c~ z6fcZNW@A*5C)VgjIFNiv3IBRZQfjUdZ(WrI9v>GS&sCjU6(Zr`~#O(R#`bCvY zL+fU6zvVjg+{DXh0iLvEc-1fHu*9#~;5k=Eb9#Gw-&iM6(^X%F;HZP6?BFhgYzDkD zUBVq;_LqowlFQ;b3E-b1F?_>yu@Y+VvThNT{(w>d4piHKkQsZj0`V#bw10=mWh{Ou z222i1pa(?O(Pt@zOThxN!am*#y)w{KJ~l{A@IM}hQTODqby33w5ZP<^iW}Xzg!Ss8 zEG~@R2;RtG#1jHVR{lW#-k7%_ch5Z6qz))R%wyBn2q3iy_)Gv5_o zu7__C1QHeqVS!jY>6wX6ayxAXM=Roi@^ZbZ`-} z*x;;kS#&@ag0}JYpM(#>Xx!{|_5MWgxyp;2z2s$dk~mtxQFcg+&y^B)yO2Q?6vyvUUXN& zOP@?pTTOAPP(S^u)(d?aa}ei=^KKyX*S{|8ItL?^C`s5dKLhU3Z9hpZI(W5b$Av3rb6@vtb3Lg`Tj0hR>a>d3UG| zj8_L9%DG-#6eBd0BV^kC@vDiT0T#Mx|8$MPg;En&nR3#$X*4eaBFE4}9PgE4Y`H;h_YaOIlh>2OAt#)bC?7Tb2G5;pE3%-F(SvDBfOrPSbq6Si)*uxW4BhB zcN1s=!$-4Ihx+vKcFv%1Hmuz1J>x;J!B%aSDjB}v$lZ@}aMM>W#JsUS^yBfOY|gm`R=6RWp*lc4x|p-?C}5xxkRpQH30nzA?L0Q570qA!{Z0Pf?@aGe3VqJD!s*9%TCewxnUL-=g&PQJnl+ZP(E?~ zNHC*_gyzG>@FO$O6Sivo6#Vie6G0!l33r}G5nD1B#%xj>F?6=xlCDyf%)Zjqc& zLmx0(ea-Z<${>$6b;;me%U2gkW*l+ichv}y~AvMK!T!*NvL?>1{4-0$VS z8)T}m8;U#J8L#K)Zwd%)BB)a2Ji%{_LMFrf=jw{BT7i-{OA1s6BGKx$=S6nq3Ghr% zH!bRF;Kw4Vk+*wbE`=`(TW+$J!aI&5KPbEgANEf_{S=4rhNt>4k1mjkzP7w{}wmICkl)Ajbg27P?14K^pyrpJH1q)2EllHIjl7t{bV zpLb`-lfCoNbb4ku^MX3{J99NMY+TIom_p)n;Ect2w9p8Lq@h!6(9nsN;FDciY(PC! z3{YCa$^oU70LcmKlP)Eu5uPzLwql5EL2VPHZylr~CQ<>;1j2#_j?fYoI>Gd^s4XYQ zaWOHp=;qNLRrV(&X*E>c0{gQ)_8689r$`M{ai1+U~f* zK4EemH}zJn;87$A;SQ)(>TTlb=pi@^FSFvYHhWTSa$IuAeKgPYq9H2Tb{g^ovECSaj zs0}JE3j-Pqv~m6PslcO+=yb%aMPP=Ba1g&-Ji5KTnA$bBq=gO2lMLwv9R$ZkipS} zZoq~ynOLeTPq`53006b!KeqlY4F#e3fN){->@7D12_ zZ=;mObCY>4I1a+&w2`_Z1PIm7VwJVYI}am$a0R;LNLIGuBm?3j#0(8Xt7k>ny2#QW z0nK)JWFxp5zIC|Sa_YwcM$sLFBiYpj`U#>Bt~q5CgAR$aoBgF8!JvDs%;>)^INP51 zox#X0I^;CkTTN_c{oxG?>ab#_MmsJT*Br@Cq6*PZV$ zBvK!)_SKl2#BBH-S%1BTs&q6OB+r~o6U9PhJoV6VtcOzL!+F~jWG_h54%w=l-hK9M z95xV0s#VD|MEA!2q~WDIb%MsQQW!y|j%>kBNL+DTRn`V?Cs=5~2@<7UkVU7t3hfLn zq_^2@eq3STtr6D(J(9K=xh7IX5Rn`OfVIt{Oub}6tMDLgUKcLhO~wl*f7F&1FXzGL zXiCwYso*MA;q1r4^OUR$ z3B+G5lwY*?IDQp4;?Ey{zy@;wOy>I`R0V|{_{{B(oky0zeh~K(k++SIh2*%g5^ZyS1^3a72-pm%gQ!o4aYB$!a-vt%q>v|(GSQ(%OD-N+i<_nfZc*TZ#6PD* z*4lpsKquUG1ecbflY2yTqthao3`3!D7j(kx5^?vjB+7Zf_utyozbO6{l4KB!odA)( zeQek6)-Q~N?VY05ye}(hxoxX)>65Q6Fq@Xgc7QIZvm1|aPBgmmX|&PAXjCupYC!;P z8G*AiQSj*vA+WUaaKv{2X8;H*-In7}GPn!<-Z?9MICopio=^}%)=K8GG=CUg6RB%Ao%gi#-jmeE5noVo`iPos(x%o>}KE~+kmngC2V)P3X^+e?Q@V%YM%Q; z*xwV)5PplFqnQjB;-)d2*X=v6gzPDXXoFvmqh&#adH^Tv;170i$4Bw0jwNFqp=(8&9G zz=VTr}qqC@=nEB#UcA!FEO!^bG@V{5{*&u{fg>f(^AaGox81K zdJ3nIt_pXP$FcUp^)rMN%1@q_EVU`HZ zaE%;RU*Jt%(g@bbwJL??HG@=u3}?;mGk+r*2XAdp_lF(^KbeYX?e1vX5kY!4*{LrJ zgx>8hBW}p^7P>{q>L10nYKm-ooTheQr+P8vL1 zF!F96f|z39MmFje(tlv0TO7ivt5qw0H(kK_olBxT&@f`WJ(1nQg5N3`(AMIuDo3Q^ zTe6W(xTbO&?LqZM=PB{eYS4knt(8s~)qUED^_Hg}n1C(HhL(n4F#nWMwips;5RYo- zSS5Dz?h)#9;Xd+&Sj1-{CP`x6)_-H~J)@%DmbG7yWk6AMDWZUY5>$|&XG=3JHAowBI zNhrBC;5>u{C<8Nln>qFV?AATZNd>b3TB-o!9U^3rll&Lg)eE4GLLV6jxg`C002W&G zAUaZoPauucF1x+z$(O5knX?bKnK{an{RUgW3WK zQX!AyDDJW96bGF>8ZH*)wxR=FbCjB>$;-ci@2^x;1ulLdXpuTM5QfmmZ-?3LRJgZx zv5zW8)0jarhbepJtT9G@mo&Ge<~%pIGHA7ts{-t31KxRH&jNcB4v8qhy_2o$X#zL5 z{P5_&Th_(tNLTzFa_Inxm5*rXEhzn@;ebP{67@Mj2739X7ZpHWK{mc#TgeIz3P>10 zd#5L4-P;CN(of-Rg+9A>b8|CFWR#=CQ=zTGUNd$Nw9>HtkTdExbQnL>QC5&fSFk3- zF97x2bx;HBRJ&z?5{jp6Ee`6abkN+I;Eu21p-+X<@J)=N)$S$0CJU9JF1`f4n&XN(Yu=+2?J3u*|M2AhQCf?h$Yt70K}5ws<*ekYKYr znpH^sfNKp9!J+~Hw8=rmk*DyGJ|KZ9wwl}w&18Na%q}Tu2(?;`!GZoZ*jMOlFoz^* zQ04dT9OB?ZV&4W!R=M>+i+^DW|9-OThi}^4GFOAXFPiTNS2S1{d-!LnfUvrNdlUx<4F|^ozI8*wdH_ZTg?E*UKCCxO~*-4+QTO5ihu>EDiw_*-Y1wois z=K3;0qxTtdRLH>;R8)ir$xyf<=`>6`LARHvSqblWwq!{e75#8|aN!Dt4QVve^9Vqp z!>|Y+b#?WpU~YgR09r`f50g&dZ=jI|CIpCZ@o>KdO?nkH6$^9(Xo3^mFvESq@ekw$ zr0EW@z$lj1Tha0%BRfX=w!zv$n&*W6(Q8xeMMdD`F_Ybvxq)CyWMmA;t@r+|(q`Fs zW@t}ubGTDfD&?HK;Y!@3oMhVS&irt(uiem}k!QA{jw{Z}_oOI33`cbBCnK|BTCsCo z_OL5&p~mN%&t>H(@NZ#+zeZk|Nto+A>fZcIkjKoUk%x%sQ^@b;xM{^uTxeg$Y?>8K>bZEc&TVFT z9sLw%G^mKXvB^#MCnxPNr?Pi`CSfpF>}in)_mAMHV)in(@s*vfTn78D|vJ;A{lnF!Ws5d3{42q2yRWIlAS_?8-Ji!RW$Mcu zO;C~IoP%XbIFUYO);M}9X8Zn8dpf_S>|u)V_V~a_;^+8Bn*y>Ix6){J1=~t9Gc`Wk zX&Y_d(%*5KTCN%2DdNF>nl*3HwR9~_sd=}0dEoc;u+gkttfX!B|mD6uw$EJ`MDW+(j{Q)cV!h~&Q=?;+;b7W><%*bDTyVCmM)hut zu`<8omQJ?ucy~i4QDOIB+gDo_LV%0BN?E>oHP!AFEH4AoO(9V^eQ^it!KI%Bx7p<^ z$5*@UCe5j@oQvvyNIK#g6?0c2@UP^s6FuLkQ+0-J;rbTIiHu9Rd7q2*=lxcK4zAka zjx0sCjtTd(A%#Rq?VDDw+^!Jaltj_|OYEknxqUSv_?^ecIyGX_U5?IVy!6DUe#K-* z>*7wRlq3;7=P-@QMX4`Ud&Z-{`$UBU5714avi)&gG2OcDmMEJeZj%SLyn9Iu9=|{qTyz>R-vhu|{V6+m41?iJpW zWs=8v_@QL2JMCbG_NYt~3<6^FXTd@Gmt`Z*VF8!6?LEhe{O)LZc* z%e6I%hkMqJZ`Zy zXA^C9>E|v6%$U-Sii|bdRwx3uujI02^3^QG1hrKuqqEhI{RNeU9Ne3FQrxf!%}<7} zv9PzU)Kpd3e)bhjmpk)rH_K=}bvycJRnDp)zpj7JBi6o{u^$4NXO-xmUhCbEn0cZ& zv@As7=Mw1V_o?~p!6MB{37)f3iD$gHT=JUZ@39Ou>&W@y^*#%QmbJB{xb-<18~a4$ zehQCfHSWuO$9?!qO`aoqPkxA5*s%Ml!*)Kix%c3jMD9lzo6-R>}2;bp+%vHLV(S<2Y1h>RRaxqq$o zbK|8eD>3?}_M_83Exx78a^Mx-D3v$5sq{_zV2WO)7F~^)cBoNL$nv5xPr5LsWzjMm zZO@KZ{8H~8ddG6rY$@SsFsd&}g8 zz7f|nG3s=g7{(HpAM8=prLN==>dUypX+=!huS;^_{z3`HrpVAzo;jkZp-W0+@#c1T6>m2Wr?N6h-;9n6uA&)E3Wo{>~m z9rHY~Ek6^ErtUwbmT#5E`E_L+qx+Rl=U!=*`C`xjb|+SGRfp|hKxsp$KtgI~TSS_W zRz`bZ#z^in;}0BCrxNFDjShTH<5GM$T3sIe`*fH)phGBcrQaF)DveY#xG|1<++zK*$#Wxn!A*|6pJ5%T&%k3sIaKRjGXn0rJr?@t1Ve$%i^E@ zj3tfrx+_$x{7qEA;)NQR2!T23SxxWh-BVZB+{=D8*j8vf+3v%VT{kqvtZy#5N`b8gR~9v0s3)yncXQG9nWqrudasq zI{o}9wzl$!QfsN5Nb|*`RO^ai;?difHbLAXfrii2qV~hv^#woGrK-f>olWWOzGkX9 z&ufFZJKi)KUFBZk1fIxEBi>TAG)L(%9U(wDKkb(6t`%ahnywUYjEYe ztBI#gOVOJqQMv0}WO|(DvtzqqM{v|-)VT90Q`&y+%mfS!o;XMu{F-C|>JNZU+IYBj9r z*p-CV-E&Fb#)|MtGUwT5jbi^A&AhkvOD2p()y{qW{ZJ}*9v=37$Y&_f4JpH2wJg^t z(4^Q4n6?Y)7Hu6V<(qri@@${xrLQGB_KhqZ;`$dY+6UEK>|D-oTU0&Xp6g20{Ws#$ ze$SMa&w-N+YQuvZ-X7T0n zAv!*{x9olf2^VssHT|wsJ~z31D%By7e8c(ge!_<15ja;OA~kZI@4Bb`)Ey5oJ4v%r zGqz#XE>o}g08yaO3%u)^}ELmMda?(1+{K=%S3-*EiWc^zjo%upvkkNBWeEcr}EVoa-9jI)|! zvIy%-{_Ffw;XX82l8o#iY6QX`;p@=3g+CSKv#|Ut_9yR(;H6g1skiK-jMcg&&vW@l8Clh>v^yxItD}23Fk2_aoJ#wd4{M&_HRPw`E zd0f?qEKKdL9>Xj6WwMTiZbx`;)?cEVUUtY?jPBS-h&lz&Hc4fB7cXW!tZ@5Jx$bA7 zOdht-XN`VV{tt{OP{*WB*}0VI!7z&Uo2wm%es8$dU#4Hyt==79ieHJ$_&0w)lk9Rt zVy=|GR;_fHf5o)Fh`%he9;scz^X1}?%MG*fO-=WYmD?mfHcHRUdQIaLB->8qQCKtk zaY*~0Y!ao7_cC!!)a_bP`RqIMq~h?eT3v=b=8J=F3cReBZx@gHsRy_-nd|A|1WS5u zi^R`}3$L`Vku8@T#QO2(2$OqH;efsCbixlRLxy#qn z38`;~Qm3qb%*>t9KONgPAS{FX+4 z62{@g-%>jDceamiYeDq$*9WtkgWF4g&)K!+I<@-+$c~NvZYun2G!?Q#oni*1FB9>7 z)HCZu|Fb*YJU)7i)o>5{oN`4&kw32QO!~1mZ7goym*eDdaY9=$BAJq@To2e38;zjLM*!SATQmqR_+?PkH;Vdy*Uirti%+jWR4!Z;3C2x6_tkC88&j z4ohC`T$_39=e!Z~!L%${j&n_a_uiEoI6Lg?G>d$TF3Mu_upEW#sUKd%PHSRVW7*Np z`Nnt-CYOaVxxAUCv%8Z;#a`t>b|+$=E8aYtENHga)R>!mU5`lDX|VqYR>KVcRZ8QA zS3^cb!nYw0jfJQn;tB=LNOX_?|6He^b*X>&IBfKaG3EbUani2T`;FE(^dBspkHgUD zI&?H`?mLxZTlVmZlSU(>(fPje`jpE>vhq+gZjWb?y zYOwn<0g88I;8NFVrQOK`m+GDiaP3Lx31M?)z70Gn8AcmZ4dS9GRCsGS3-%U4T~BR zo%Mv}{`~Bnk14pLa~RFSTD7sk?AX9(3hQ$biPRgKWy?Rg6asHtY%?3AOW(41ZjN0I z436u2s6Kc*k;gmis)Of)tM`Fwc2DPf7vAc|yCpld$(Cf16@ck_7#R7P zB{p%IaW4gh1?@(rkIC)E1cw5kOCuMjOjS+7SwF4AXa(NX z+3x;Z=+hCdW0$KzTpkS0a#?G++8k?;@RDgRk=id?=%Z5qX!V0Gh@%Y(yBg(bQe3+( zGlYz%UYTm4`-+N<6+;wzGD7GZMGA&HSfg>~_SQeCI2pA(y}a=S4U=^`T_Hv7X=3RW zqJElPbjcvOn*h0zPmU(0o)>@Lai;F+x_#0tCjs-hUvs8&!@Gs`?3mD0*g18-ThzFF zGDUeAeMzjh6*?39Ry#3eRt6zoi+E`zLx|TiPoLd)@4#s$orbiwkM~-?N6)}9W+El8sCKR-Z)Yd0#o+ANEtt@vR8RNd zOr!2C49EW8;pI`f-3IfMOpmrWaOV4&{xcOE0|R{>^&nTSi)#($;KKPwwJG*XJ(#ruOS2V9lSK7;wQEJ|IZx z!1#mW8)E7a6B*@s=6d%}2$bPlejXoQ)<0FYb~E}3PLq3T&169$k;#xAPe?wDZ~dZ- zbBG`5Rs7%T;b5zp%r_RhE`fwUvvq$%zQ0SA`6aN)p5puabckT&j@-nDXZ8Meube*! z$gpLeZ3L#K`j^|J{`GQU>lX z_vVPkjEm#1qKDoNKiDUt?aMhurq2sp8Ax6{I*A`PwfH*Qs2TDn?`ATEMe5GEFsoq! z30hhT11;YI%g)F)^?J^X_Fbh7c}t6<1PMwIqTa}j4 zMNdnevZ*DJRfTK+TP4RuQ}h1B<7)r$xu-@UJQ#hgnw&5zu{8W^1==9Ngwv`rJw=}; zpVZ;r1O4sq$K)BY)$u=}P9fGksx)aIRGbnnysPU-s`p4)%y^aEYa2Z|TrQrpWH+FC zJ;Bgv&OTS{>dn$kkEE+XEJVUM`{9OByFURLEpeY~4o?Ya1w~VpFM100n1(E!oNJFX z;2sY4kIq&M$#7Q~+EP0Qje{dc3$?>8R@GQGxF0CLf0*lvrLco^4K8&b*8LuK`cqDn z&i;c>PI#as&?eOSb+{0B;&LDD>b>LXEsMnn|3Y{0E10!<6)7AN+zu2u}w0Mn{tbadDzz)Oxwr zu$ZF*AJ2(B>iUHH+2NGC?(g=^I^D^Xa8GXFVo1&pjjoY=oS4XIpha_xJ941*@m@vQ zpd1@v$9_BeTw5cadTLUyti|4>`GVzbp0pxIOzD{@iL3s!CXRIv*6mECURf8+;%E|v z`@+n1s#df2s=%|Olm!A=i_k9Z=l3AYNXVaS_iYcp(Kt1HGkrO;pI_E`O*tp*2i|4( zMNxV1-(1Rfhr4Z)zo$(t*S~&y*g3}QWg45kN<=vO#v#pDWv|*?W;i!&`h!GUwj~8F z8L8gdqTJ4XQ0m`77rQ_mTI){uAtX(-7-{X0%4~Yuzsb+ry{b@dKbOkZmxa$|=aT7} z3TbTe&at~!`{Y;JI$k#*(8a~gNGXz6+0VjPBl$xI){@Ie&iWPwX04b@m;ZSoZKXn=hO-KdC1Fb`$$(1uHhJH)KXEy!gv_$jQ*5 zTK}A<$&y{N3j13 zqtL-_P`PSaQ%Pl9Z4G0pq-#)fr8$w@Se;r8OrS zK*v=|8zr2`Uj+2QTSi~=U4pahWP(Hi~ry2qO5Qa z(|)CrH#jQFePkCz1n?iK%J-}wi3eo|7&QP3xcYmS{CV*j4<)>y6$gk#X}R^Az`vO& zwY#MOy7M*=k053N@DhL8o zKpTj#uAsLA&cdnVnX;z2|D^>u&I}-e+UPSC=_IkhbN!IW$TZM6A*pv~fo(jXL2zK1 z<&co*d1@4fO$hq%0i@D}^j7pBbOHS+Ayq>T2+67-)vzD??3k^7lv!~r4DDi(-@H^a zedR`A8YG}$=ODb|;O3tFo!BA5CL%(jzk`k)&67vi9nkV2`7~fv;=v`2l>2fP`)ro> zL@rZQl}+DX9Yk<8#PkC9sHVBOxm8%m+a9Y9(2b*ifK*06-p1+WXCM$9XnXPSvGoU! zc2|))H1pvJ39Q?FyW1o}9%6+kC@VM2e25H%4~)bnpru1fO;Dp{fPWwrRGI=vHLs2d!E%SR^?4`T6q|Dc;|7YDDoy zoE=P$NcV(nBk(PbzU_aO4sH*m6h@k3yGDs*kd%)&+$MXn7rLzABSwO?JszGgDC?8~ zV^C=Dp#$in7BKM~>_$!CECi@wP!}8d`~^}_(+>>|O@bGZ1}H-dpo<6RiK@6DfiQNVWXAx}*B=$+jYzZJnL#C6@9Z9+wo12#}Uq&kdY`7O9>PK^J z5f=fJ#yx;VLt=W6111B31+blcPmN&7eMkV66^PDsKe>m&hXP3;;@E;&r3J92NSKx> zabBE@O9{SW0xS@a{ayj=CBWdx=DA5M3Fc1$7FTi;!uu zgQs|fNJK1Y8en$A20_YQv>ZW%wG2S2M_|}6be?GgDIcN0))>%ASWv?)I_;8`kaS$n zuYmhQ1#D=|@Rdt+W`bP+yeEWwYa=wx01VE=N4pt^C@Iyz;|AV~iv|TYHxRoXRHWef zyq1`l==?YmR89!-fCR%}^sx5X%pn){KIjE|yyE$p!D^g7z*%IaL5r6T#fOl<=hgG-=4rb#{c-0|_rE!3F|% zK;fGV8&4gP<7tha#loj{N$87I1-LLsrEi1sA0c~b7#OAl-2tbL%%q4k7th&6R)RcG zWY0NCTJ7mS%`9^l;Yku+QA?(v=>bS74DO*G9^NqIz6RZ4Gx#xMku`aJY0R-$rIHtM z!jXAZWO3M?z z1t_>{&Fy!mmSL%-f~Vnl%!>$wvmqlx5>FJY!1q{8P(jvQKe|MSMX9jRomXCH!%}HO z1P<_71a#+1z_tKMae!jMiwM$Shy&6=7TB@lyFQO6Y>o)3z`GM1^MH^Fc_u zgPgVWVDd`=^&B27B;3%w3Qhop>LkR^D8M%Akz!l^C-|~aWaZA!)Gy4|%Fs`Rjq3UZ zS2D7Qdj^Z$V0H)~X}~YLnE7R&)xRk1f8O;AjEu{G$E|soQ`ja6<}lc_=#2H|taSy` zvw(3GmBhl2liaIW;4m&-{LRUjcKA8IKm;^&{epqv;W*@P*)o}dC}9p^5(lsB&1n|} zE=Tw#fUSa@#N$A6)4G3uFeF(6I4e!8uXgo)(E>7{93MM(^}`I5Sl5)&u>nnq(l0ZPk3(SHc- zCT40e`^jKL01E4L0J{~4qlxhA(O=G%@46%F0z@5=Ye}pK=MDPkc0lJv84qdUwUnaW zRz88P@=iWjJ#)&|29NM)?yoq34w>tWEA4vL6F_B1>Ow~;3Bp3&n1;@3h&E`0cU1rO zfqV)!E*i7}5rIRlY8p&xUeruhMW64TaT)Rx0u#oVCyuOp@0|uf&@NwwFEQL|43baC z#5h@5e;mO)$n)5BN1z%6j@;1pM@BgaLXCl&F+f~KL9TeNtm|nPoG414MF~eR;mZi97T1JK2H^6`eHMex!io<7$U6%|{-(3u7g&&BOZ4#Er}pQ6a( z@hli30(PA5Pm95KJq{0cMOv0D`z8vMztErq>kTsk2*o%0Us1zYnejwi1|2wb;p`tF z+Ug4ch7?#*d~#JTz@bK1;?|j7k6kx5Ha2Il`Rb6)j^V42YH_EFN`VYo{LO7 zAOK@N`@5fmi8yWrB_#qRaKYi>lLTAw^DyNFnKz)^=%@z15W-pB$%mskyrs3ZRQ1Gj z3sTCq_#VvRZlK9d>XHCgH1a%-9Vx1Uy`2jLh0K7V%Lsw2m1#Ibv;{XYI$v8e4}do` z2pJd?;c1g5BmcUI9BHj{_S|5xK0wVlo#>NMWHa!x_t}zCz^VoCH2~ib7NtA$rv71T zEl>Fs$gUR3GSQAf=qycoIBX$k@?id9X4zY__s)3L;u}zY^6W+j!YqN>dM>aG;Jk=& z0K`ds@S?S58CO3Y{6UEbpU6{R`qGsJ(EE*n1XBdl0Jo?XzA$qf95$~&yFCYQSD$q9 z{bE68U~svFn`?lfnK;+ir$}P}*gq6ai+dnP0?y`^ErR|aml#BMP;y@e!<{NBufUy$ zhRFZ{>>gvv#sw9^tS_9v6X3)aAdEr|g{T2x9Q$lYt|aDwHTa!MQkT-e7%h@LSptt0 zlEj{LN!YFYz%)TtLEymFJBYzshU}v%KC>H{xsNePPG{|81DgcE0nDw`RuS+J{@btB z{&M$4>WrJ4o50-)G9FCOUr3JzR@^G#=x76)apd7pG&~93YY!by{P6HF!;uu&h(ZRN zkWztPu|Ls=Onz@c4Zw+r#P+FzVEons*Hair5eKCF=$qGbgM3FFOfEJqvMaFdM1iiN zXKZKz-UG%N9x*tiA*_d`3PMI&m>6~cShvq!oUDMO?T%6QHUJx)Q^V_!s|n(9ad$6- zaL5sOiO0V{@#Ol9%>fEpM%VsNEYuRq?^7Es&Ul4#8%+N6AtNORi)1<95Vjs2=wY~; z$KWHh%AEtc1{@9}%PY5U-*y2vZx0wv#g6%K|wxdXBHo;#9Oxs~n2 z#Ds3nL%+R`h=7Wk&4@;eatS>*D##eyD87Q{Zf2#jCOZer6q(DeTwp{4_v|P0900=R zYps!Y@1Bx*w}tr zY@4>l-aM$`!7mTH6xqwPPuRF36bxDSAi%zui+g65R{#p23U2pO?Pd&6OKqkucflc5 zo~AWco(qJ7MFwfln8aXOZu)af_4M$BHTR3td*SyLqRI!ZQk(}cWTGqIvR3G z?Yknu1TwDjLP8mYdSz=@*esAY*Q75*25R7op@acFDG(eOk<@EuWA{Bp}Oqetu z+vW%gw2)8V!zn?3pj1=oA$$W?o@221phRvQ-ft7_8 z9L9GLk!5B9`;@$ZbhO(Xc?ZThsE#6gd!b_hc0$9naU4W0L^2v#85kH)PJd7D6$@$h z--(0HrJJ+GVAc+=wMVrNyfAmZP(0)_zoVtfTf4eu9MFmMj)pv+2gRBSuDWRsG?C42 z+I<2?k%arLUj_xIoFpr3fem6Ky9;!8pk8zU2gMpdQ=m zbKD&WQ0B3-UOlq%aBXevV+Ij6W$)z!1@(Ii_})Vbb4Zs;G;4_6M{OJ00B3a{7#F`& zcYr_ZI`V-C_*9+&8@xuc3|MttWyjj%NN@Fh|`e7CgnBO%rh`C&1r4+_xIE9 zNV2iXB3rSBN*FNT3m~y~8}R_VY)g7)UB+553t(s3R%W|Rk1@NF0)>8_TceSW$WSL| zD7Y~1SQ>!`Dy+)(C)mUEtx$}Qx&DIQ3QkW3sITf%cYrn&IC0G;2VdAB3QY~YnR?!0 zg{UC>V8zT2q5LCI1r_vI_7>@R?@DGg#eKtRut*E+Vlc9YX`bTJ|E|)B>DCijbG}Kk z04#~-%ExVnAJx@UxgCafxJ-z*sUEvKpWMN4E*WMKG`t*CDiI5TA}LP_UW%&nSC*qQ zMg9@eS;Ea{BL6|TI*PDpB>3p>B#}b{_j*#38cTe`ark$%eN)cg$4Q17Y`4Mi=TK~D z`YD|YUU8ScEN%jDXIOA6SGwaT~>R0QRry90nsHeg{GuWT8nL^)&=}$9<6m^N@f5mC$l};Fd#% zJ@q93$~n|s(wZU$tS^xKc7gZK=zM*81u`%IV*avX%npi*0>VQHiYXPA4|_%}JGaMP zbaPXj-LhM$qK>{sb@LjxVQ=Z~yxO+?{2TWzvycloP4&0eM(n58Y|kotCF*TU{sA<) zB7`(M^DfB25!zj6r@=h8h$gB>2P0HFEeX$q+k>0zFA9Y=^r?)2cA1x@8wv=OU(R~n z8wZ{s1`JV^C`RDnIKO-lw$9x@J2s%&Z)F-?1AV@;5uwuXgm>9rUD)KpX`NIqV+YuwG`hQQ>oaTL6AAJv(Y<3(^LPctbD`yeFiYWMb=`iCbJ) zP`i6KCUwX7{(S`Bq}H7LD2C60?+sRn7C`@5Z^Mb!3#1qWaRc$MfV;kazU1ob} z8DJ_Zwd7hwYB)?!Cia(U%AG2_`GHt6Tcz7n1|d2Mr>BVJcbn@ z0|D~vDuEq96L1J6*BV1zLr8bjj<5w}HJTeSfyml-jQq$dL`X|n?;|vKApNky)kCWf zo$ncK4{yO72!wBKodJvKP#ey{p)O;k*cgt{q&#Z4g@Dx_h9kE^SaY)Hdiu~5RI)6G zVj49WAxSJb8zl!-TFdVhfVjYr5(CDL>1XhGG5cU$^14xqk&W3rgq~yf;B48Zl|~nn z=u`QF#~9ED>9OxHFr3H-_`pV^$Ig&?7c`*@1stGu?=hcC`}&o?6-(KM$2KYw$o6_7 zgU|$3>Uk9bU0X<#owMTb@E6ca9$IjR>7*%enbJA~NFFqJEUcPKEl$S2N23HvTXeWj z%s?p%VBh|qKCt*mZLrf=0Nb@@dLrVm$r&$5pm8vj0TBV^Hm3o+0I-4ybrN?LRyKFQ zIl$AaKXUvD2@oq(Ldz?#x@(&if4}HDy7%h<%5=xO2Ik|`x8aiTaQf8V5aI-LFIs>= zI-1CXqy`!Gd+5p`ud~W^483;-O^Q^?O@&(!=#URXdcT)JKL>knc&8-XyC8%;B++T$ z^<|tw^Mbj{tDT@*W>uO5_b}m6rdTwi6HMoV1oq^Y5;n!8E0|$&=!KxUfJ(WaV6u;% z%4Y{H_(o}9^97damnI8=ff^N>dSSSZ6t&8cek(Na|M zS)i2r7tFKZMIM485ppCfQ~(k!Sg2?x&@c@|?Ly0^{m(9p`GT+S3YgIW5Ax9*t})Ke zIvyzTC3Sn`#Mk;?CFKcG-GtiT%3oYK4bZxb&XX&sO$;ne;nGs5HDOnv9%_EoQMfJu z3QG56rB31K|fO27kP@+IA4A4@=^g;!8K_T4EZ9br(bmarwl~= z$88(#i25YJJ9JIq8(}gLLdnQ&plS~=!?8elK-5n(!5Q7~0aFItQe<)BM^L zkO-<73+%yZtn}%cEDAwzae#p*3IRd^u?V0)KpM}uwZ6o7b}GtsRt=gf;w>G1(3^ly z%)!M~uUQOaRaIE4OX?UhZc_C!d>+yWEx5r@%DoMh4L}u3c7|tSVwe%#a%h{*D;97% zi1|@s4Ty3C^JiJL5X-jc;D%0EpC&!zK8Q~swx9eL$rkZDz#pqfm4;1Y%5KNx*Fy2UJ#?#gLn0;jy9jbZu|NUPYLLiB%3GcMf|X zD}>>SenHs@p88NYjGI|ML3A0hY=LJ*WBd>}ftKU!|s|TC0J}?Wl?q_<6JDwH;UBwWp zYQvO6*R}S(OI4sm0O9F=kpX-bX!9Cx^y=k6^8igZ<%Bsb_@RP0pi`o7@E}XOL=sIX zM*OYT8MyLAI0PQef0)Jg7C2fv2*fqvfG%mE5i?D6lnT3~CXJ@w!H<`S`k#e8OMqiL z9=^oP08)D&fE!6hO7P23aEDaYDfQZawY1bAdJ=#^p>Hk*y=S-z`BO<_kO{RG41vv> z=&*3U8Gp;~tIdEkDn_S_A=0C9-z{j)Zaxg?%wu$0R)bDu|E;~xstxx+d)>2^mX@|; z6{cWV5=phTgxze8_mQpOu3Q+Ae(XMUU$GTiix>So*Ce%0}mWV z*QFwY7xa7T0|xmkD7p%DKtZh(IktJUzOij%>Yk>n9fRlV^>C|U6aZ61Nf++ z6&#SGeZ>W?)inWQ64uEBS12mt3$FpV2X_p*0A3JqoYhB{jT8r{&;qI6;D%{L(67xv zVFB*Aeg$qu@N_{}2Sx|P!4d^VEzpNhf6p7gum8%sff+Gj4d4OnaRI6?!F-y7Gu_2T zM!R1?vE(6|uSg!b0$orXq9l96t?5A&>O^*|24F)Y@&)V}G+qmV$x(ukng@&_BsGAu zfdH)z#EzGXN^nbuLNo=I6tLNX6=%9~Es_zLxuoOlFNr0QO~~7c#aG5uWNn`_Zaf z7(NGLRn~;?0>&E+frg?Q*c(FC)k0Ii)5bv3_LPMC-Q3ui1gfbT%)S!WKTDQFa&+_y zszb~`kTZA^+_`Wtq5D!G1%ggvcwlld6mU$pAb+qC5uV!pTRgWG-XL|XKiY1tzW2s~ z8}c&$P+my*L8W_NP{2Gu6`!Kxe(PPQYe?LE#dKV$1?!6M30Jv){%(%;Zf;U=`E=V_ zS^XQmIyDkdH{`h_PK%)9vI9X$0QOiTNT@(!<$GZ@yE@<77DZ1;#4s^W@DmU1Iq6c%J ztr!EHC&c2C$BdvEU%<*a0t?Q6dirttCZyDd-FLSg&(PDq(>`}%;^n|6c_)`KdM)P0dq~Ha&+F_ELyKAg(qV$mg$tRdNq9jHU-SBVa4uh0B*O`T4Y2q8D0d zD*0e!X|t&UN63A+|2_o7^;E>MgMy0!-m)yfyW|NYOou)9!TqBwbVF-(u>ostYH9-+a zMaO>#ZX`vC53H>NAohRn>e5S?d?SB{su3pj%0!Fk>FI4jR7!zMy9PJ70iuSyY`im< zGcG<}Hig?7inprQlqZ4E{0{1tscs{v~W#Kq~nPxGO1cQf?ckppnZ57o+cBE^$9JGaFC7dk5ekW`6!t z0BdCv7Z>M+{SDM_nYOE}|58FH(;J>;jLpFJxD_Rt4K}`~1zHy+K@UsBTjsl~w#@ob(tYC!EKkie?GunG+B|*wIx&&W}ULZG-xpiw0 zlpn%w8~kv=5%BTj8Q58+CCT~D&d&EBDViq|37gt72~2z6Mlg$`qa%ap(?bxXD}k@a z99Byd3{^;!zH^5Pa_(1fF}t;72Y+BqRrdBWW@Kc1$;Bx-pI@BJ&Xha4-XGO^`C*+aL@60d~EI2k5H$dzjB2NWF>MS z=b$n;c4C5j?@OEb0WS+%;Tv=bc|jL)>azNeCbp4qNKlQTh7$JJ5eKg6Q5F`Kn_)6C zF5lL9%z8j?M>4u=A{}|3Kfwi~H@HWnWUv zd?WL~!r~odw}YS_fv|lU;O_d&QEvqW1Z3gj+Xe{DFoxnn?#A`6lEdi#@?sZ)ILWLD&y%o*NK=1+9C1q4@{j)6KA3GKF^@j_*THIpuCp zjY*154m(Kk-a=!YLEPy$q=?_);&py;L@`B^<7U{}G5B-^#l`WE^FjFX3J9Q%e!zZV zZ(IJB$ji%vzrAH+!wXt78-N>5cjZ$XAwcAkst=%-Jge!=&{eCU0R2`?YtD^Jh;k1Z_`&Qn-a z^!v}B`vDC6IwFETGBT1mMB&Jf3lC+2UH78-C6y2Ith_=(-eF<1B_$iF&~73 z2mYuX+xsba&QB`#76!x`ioFMS;X)k4-V%nN9C=P!1HbN`D#-qFl%s>eb6Y38OzVXn z-sSv!gqd)7T8l@jv(`7^V`n!#UPpU~)fHzrZ3lI`8|@zw{&(VJJ`R0yb&d8uV>Qz? z!vq}Jp?~H5>hH}>d;QK0k9X~0cG4M}E&Jw^MwMV{BAs!w-FZxc{5b2ikJ>a|_+*|* zLCaSwe&Y8cs;%?i*fR8nV*TI#nd8j#lMC+Kdy{6;UqBytvnf0HpTA~2w!1Ai9{0{4 zDf;}jDm$@MwV6NvaNu`76E^?Vwe#&x&qF=P_{a+=rw^P)fgVS6?edvBy8 zS*`wMbDiDs&O3e2N4&f4I~dbHij?@rveifX##rg(UNZ_ei^4g{zP zyss5%7l;X{2&46X>;CfbXd;U+W3o(*K3zac%&(y!8?^ivMKAjh@Bu#APrH4KsP|{v zERT7mbU$Wqcv!xvu>SUK%1qxr4W5!!+G}S|QB&V_*%eGVcbu&Jz_)S1^Hj7agQL%^ zRyHb{N{aYDkXn_k&77>{i6P(js@Qnm>(Va)ccX`wmWXGz))KkyJ9ysj3Uail@$s*) zHg<_Ms}xPq#h)mfTx1!YF7pibNZKmHHD-3Wz#Zp7jm>=7&${IE7Jul@w>l14B{4KA zd)=2=4TX(*dW+t%;`z@LZ`4Zo4qa%kuc)y4mSVt3R+d{P-D-F;Ye3=J&S#yiKGSbT ze#PXDvoqDxv7ej2SaE5lpM0Hpu;JV6<|jHPO8bD@qw(=;_L|iEX4dli`I#}MR zDW3ir>^Y36_h80iDV*!``lG%X6{9x*HU^<}Ebwymf@Ti5yq~FrjBUxV~F5WS8 zj4jAHTImrSV{+Gm%F_Jh9}W7fXRSPI=Qo&5goacHA~Mbp4md5Zx@?u*=XZai?=71i zY1lKMCjLFpAdGx2^LWem{SJRuzgXA1+&O#fRF5!SE|;WX(O`oX)w$rK)tyH1jRBtL ze?;E;Gs(MU{qaYhjMbDPEhi{KH_PgYXaJYuFa3lcsxl+*S z+-RPovjo??Vw)|aSHDsFJy|E-q_!N*_^_ukSBzelw{jS-h3h;r+OlV>*R@btT(2~I)Uf>2hpv@xRYSDzTX0v?$ScxBZ)K$J zC`%k=FzUzOGd*t0LZ6F&wxy{R!f-T4nKLWKVxr?>$u8D1^Un13|u##v|c&NAhy6zRi@NbFs_&U z;UybR;E2pZnxgPCj)A_^-|EzDsq5{oL8o51Ue=JWb5qOg)T^%jMe{&GAy)p)%|VZc zczn#SJ2%zuUudbbymyh6j*P5@(lJ-`-HDIT@|5Q zU`PtFi2J~L0y@v~^77Z?R1fr8{rkhxw2f{etq+w8h;hPvNkqPG8{ONKjC^;iLZCGx0B;>`H)a-H{lZ z(l}lZYlhodgO}Jb%oTRjow!{b}`XjqmOuJn7vW}qv} zX58uuio=5yQSxoqJF7dZ>f)bw|4)K`d##P;`qj(mBbx4)X%nr*p4SBR-gy-2B$b^E zE{%@`1YKIZ5qN`Jk`}C0em3MizZIv@LLKr)(M*%|(0j6aU8_#ZZ&j{f&+Yn1ZPZJN zvz(6G3SxdKk55r-!~EhX#y0VX3OF17Bubdzn9U6vlM5V%Qzkv6`}R#~{_-XfOHS}} z`oN&whqlL;(~_i0H&x}Z8&A_i@a|Z1B>m!|<0~B0Sy?>1@O}ew3Z33>Gg}DH4SAlRm%LM|zMNsU zcOy@V#S|^wcaNB2r@KYv13SSnJxx}+Zbrun``K<^{$Lu5`26KIvhi|XwZ4DJ@zN1T zz;rfJy3cA;-0^qEASe5?#hv&thw}_VZp`EP^y#ZwzM|i8261Ba)Z|3Wnr;nbV=3%8ocYV|N<=0Cp zZb4_h^>2eUD+i}Gj*ZbVF{oNRgbCtKw_G+{nEK@ZvtcyV>&D*4yeb)+8zUfkIdO(V zoX|Nxne%9z#D4#0)%$WR?Hl2ER4)Rrl?{LXMyhulXFAiMp{lhR^`2k6lJ=YM9o0|r zSbsY#P310gJV$C!8#fcf16;3<4ZPrbFMX<#eqz2bU*9oK%N$65n_`f5wso!JkJIL} zdx{w6crIrrt(#e6lzEC{+XSwzxWD|x(YfuZTKkn_!Pv8Oiy}{Io_BIj|Iwz?Z&Zb!^P7g85+`qy96u=5kyGgvC{HVL5WKc=_ zuy7NzG^*{>*V@!?DuF^qW6j4ls22WBm5sJ+$piW!YXKtC1;s>cd?%>l*R8I{sW_bf zxnUjgWI*3E#=O71!t#`_^nrGJ`!IF2^rXLcLk=5FPjYlOH`Yt?wD!qnmOf3p$oU}s zyrh82TB!y0S5k*u&w7>W&PgN7*ey+^BT+uRN*eM#xEw09*0cKbY*ILyJ@4}Syh2tb zp~1={nbcym#&!4hXrZm~345%^k=)&dR^CcCDHl@Af9&WtUk$L=3l?>u<{1jE0IJgg z1U-X4|Hs`2d?E|xzdbU1l+eFGAkt9%rxpIc^O2u%jZoAilV2ytemuZ^+FONMgmhUE zEO+S$P<9xYezYdx53eZG$G46vTxEZVLrz6O(Qq^OO4NLsf(%;{Hus?Mg3|%7hz|i~ zy~xxMBSCy-CnFOoin4K?&75L*_=UNNNo?+o5Y_fBiXX|Op?AZIB%rDy?EN-QR_A+u z59SdjW|mR8jEe0elavJ(7T`XGkKQ)KNEjdfY_=iD2ahJtJL7)n-H>oG7q)yt=lYx0 z#nuXn;XQe&WOZ)a1nJb+d8R@hx~Xp{8f0>>1j2R67hA8@c^)#E8h7SY1fhwrX$D77 zT*kwr&Yh-%e)1l7U}eNLyWhW6b6u?&I=kkFXFdr!Zt_hVMRim~v%e+0>ml9SPs# zc6Vf=vgyd_Taez6PnT9#dZX80TPnPxf`9OAiW#W zD@f~w_Vw;vM<=)QIor(8L#b~K)w?qb{hvKAIklX|`9I#6R2C0`TQdl(>o=%;>WbA+ zT^d(#XqzKjrMZ^QcnMb%Whym%xQG?jZ?dK*KuFTt}c`8 z{g%bT&w`xQ%MOwBfxYgrpaRqN##3@$=)lvM>7{LU(=K^lwoeu_M3Pm7T_clarq8_s zpmckl6vo>^%Xz7#>(VLGiQA5CT=drsTfFetNah}Y=QoX3a5hGX@H z0NVROx;X5vkBloOqrUeGt`}W>Bap9C6#VXbGrysUS17m0{egBq=@d!W!In$~1uVby zNCoI`tG$y^Bd)3CcYPppdbNW${xw)cJ8i4+DW-7X6l=zm$Ch5vKdxzO+O_2hFryw= zojZ!)G`wf3Qr;FhL@nsCBJ@G&=A3pD#pK}$slT#Zxp6{B0?`}O_|ZXfoeMtg(w|}M z!>lh!*l;c#ntMDTBp+^8$(F{5yxo z(!=9CH`!Op+v06iUYh9Rl29FYJkLaRe7Qb(r1d8?eDuU`^hSD13d(r0WOec^-P_oBEiXrr&dXiPCoxHQww@9h=?~5yri%s#}-s+mX3CR&_T$M$B;)S%%jPe0;`9 zKJ;{z2oR9Zr7T`YrS}ej_y1_@*>p%qJ_)w){db4nTFEy_QT>LSemxj4eg7{MjMTpNsQuca%T7urQBt1d#h-#`QhYg*XvOyD{KqV6T&vM!n~** ze9VA1F(ix4Jy7{2o)^%{9al*FT_ZVhJM_Hcgx9fp)g9l}rbKG5c!FH$=vL{QqmFPf z#z3D>6{fvhf8Xl9(4+2eya*|fnm%PbIem*uG8Na|N%*6}BZ-dNlqWP!=*pXNZ<8m- zJX|VX(Qj1j=ANF-=h3lbEgbpbXkJ*L+)w-{ebzO4;*e5JnW=xlF%n^La;7M_+6X9M;a(-Inj{?s(#DHn>tnUiH8H+dllRY>)fs z{dCAlBpR2w1dgC0%1L6F)_^(gMB_CwgE$#2A{13ge{lkmm5bPyk>#9BEZb(%tB)CU zC|;yV>t|P>!k}zA{aq-ou+85PNR`3EiQE@os>D9C--OH&S82Zi| zEtQe=VRy7Wme5zE)TF(;^e8UtuFm3p-#PQkZ5;EX5EFKe;1A127ftN!tmr<%sMf{X zKMEchXswgT{M63T#1ki0XWg-hSG}f~%!!lmNWf88F5(@du>gl2?P23Z6Hd8eePqco z;0mKAM-6B<^sapL}9(tF~n00A2+(4(Co|hMg ziK+39QX&y#B7Tv$sIcm?>*!@iF3D|&ZzQeUvhmuJ2iwIihhO$yT>tPck>Tw-^l@E- zCSelYiswm5#P14w6*T5&hit4d_K#gEQ08tAQ}Fl@f55ma;uC9^_-8xA+J2*=qBDRg z0*8sqE1-TI?>ll^&h+Yu&W6U{Ngt6ljcMx>T3cVn(p7%&S~+#lQsf!YyaHOf(e!6! zQj-}?y0y-{^mk|5sycC563fp7-sfv$LT%%f8B@lAjxxANIJdC*WYsx*PXxIK2ByN+ z_u)4*UPm_#Sx7v*N!@sj{nus8J%

wh_u?LXua6ud;(rTjrIMqB~_U&>vFi`m<=f zd#Hc)@$x{$xheYlw_~B(m^4velkNjZ^KHyPzs-hzh*u)thXSS^OxI7z}4+Ir?Y zsRpe|s&tI3r!&V#1n)X;rwTl!|9YQawkNPjwR?iHV1zF{RTzJI6tXflc7!Ij2965@ zV<8F@XF?0F1!QbKfByWUG9p6RFZDDy`&j3OLac7|qxi^x_Pi(a*J<%kJ(Sa1A1=3) z>oki5CX8u09=_j+*ZMfhpqpc(dJDVfcUPaA&dZ~Cs*5EkfX;Zp(|Jx5{8ACMAF?6B%qq7ZpYDz|dy$g1)5^#Z<3di-KknNT0NeU`&pAgqa^boNjr2rM54>&89>E4Bw zQEX^jUd|?^fT^c-n7uU7B+vgl`D9@HYtb|2_RlXkd;#-IcebtYpOP&7YfeJQtNAjG z?1f9(VB<3Jr@e)*Q1<4VUa9wm`%WOM6JggV6yCaHF{_SPp$J%-c zw6(Rfd}Gv$CDJ}@)oT(EkhuQa^CWV5d3sCGpPsChR>$xo9Pua;0yW9*e+M_GujD6q zRN0bf{|ZNFUQrqRP;Uso`t-lQIx#WP_Vwph&>$Z>iDF&Ke4;%)A>My(#=u;(U#j)b zyq-i(d&m=8OWT*PVeaVUMgN zHj@AOUyRu|^p3JtGBG42)GXz7b@j>X*y!1;{_}grE-swcB@Wlc(OWydeak+?S8MD1 z&n>)8OQVP+@j$&L@%;J7vwU15LIM(r|J=bg+&qeEj;9k@>g(5(4L9l8p8xkk*tHsn zpQ=;zd3qyDg)RHPf6sf5=f$TmD#iK+%Kz!_izJE&RMF(R%s|w*Q@V`|qv7PyVmxcSvtaukb#+ro}Zs2je_E3 z|FSA;((_vqObKn@2XHMcEGj0aufjrpiJLYxkvMJ{J$q3mEI)DJ^|s zZ;xgm?DIJ~`c}Mx=X`{iFk904sE2%x1kC$i5fZ*kPY;ehaQ(dO%tDL}ryjF~L_}PJ zz4yf2{5qAeu&$n-G<}j3KDxh0xPmP#q61ndPUAVv6Q}e@!O$vZm0RmJ3?tu0WT|}t;>lcAEhuG0iMHs-YQ>$*st2c`;*XnR#^VYtukP1vQBhs?Y@QuFjT9G&k*A|LaV zRUq;1A}ZdXvm@umH7WyP(Iz5#HU&Ug@_AedWV~knUy-s29%Fa|Wki$kMSEM*Cjzhe z^loORGoU-AN7ZLP3zD-Me@k&?{YO}RNC-5}XK`@lb&kLIltXAc>c25NEv}QiEhvyE z)?D|qgZH_KLlUY&Vtk@~d1cfVJ-g9^5wOUuQd835DMUn#sDyV#!g>fA zW=T(P=-B$*Ei5jcdvX!4@>TQo-82u&QCm1|vOj*peEMN*>O?bs7064f$iFNAF| zX8#m&m9*sb!Q<`eZs@Bk{PyLhn<>m!oxfX{o5!3P^LLNg3nSP5k^-<3hBGDe{^jrn zcMMGT?M}Eyr}IAZVM}YPhxq8@bt3>F;+Di zRkqffBdj6=T8m%5fQ+FDYu3gL9*w*t*5HGPYr0K;1xj@r@l~=!?zsx(0xbewC2KPk z7rDRjcRp7kO_biM4;7Yw?viR81vB%$I$|~HJo((J~;CnGq+2? z-o(z-bk(^CB?8`8%a=DX_HWu>#%DfTb(UdF=pAAyqVPVVMTgb#Yomt_g4uV-W^ZHv zl4tVr^5CCM(GO&aVeC3_B40~{j*9BGu^2#9m~EQR1~}MW4(z4UzrS^mZ{{=>5pWgq z*7=}meLyX8bJll?0I)FRrz&mZQ@AYGImbUOaz5=}4!tXn?9;z!Hj82LW;?QF_fL6b zc;SZaZ?9NGx`9O{^W;#GT--gC^e;3aB!jF-*oE8K;nFDwTeKTz#oP%bRg^Wt7f z%=`FVb0Fgkhth98s$w+fbKd};>w|h_po|UuoUwW=jv{_zGYaOuRShfX|_0Zuv#+42q@L-#i^0O zz|Df9Tl%s8FQKhv9NdjD9G@BoUMp%jIk}3;%D|)~k~??qAk3~}P3$B^3?K>uvx|Y5 z`8F%-HIRs1ZF*yFZ5>jnVUg`OMsvD%%11bM^o5GsVpT%<_hm5bO|!je*&?Fxp`mVKHjpGc+_*1t&0a3X0{ryysO&tSnXmda&4Udd$ z2c|DV`0VWJTJG~feQwcK#%+ILsyj9QYce&_1KBN`6|@!BGd4kn1Kj-lAqfdY2#d|Z z0ngIXQdd`30v{dg1q$3WuwcO;OaxejK&S$Jwk)vWmacjxYqBNfJ}eg_=l6FGoLWid zbJ_ZS4R?$B#gssvv!5Npk^@@Mj~}E!hmr;6nu(nqZkp0n;7Gy8!h-}}EF?_^28LVr z?^ALbH+O=q(o6WW!9O)Y)_y|aGW70Ct=HZQ4uA?Kkv$nt*0Dc=;j-JGN=rA`H!?*| z7=aFs6To`~LsU1lY8$QbiHS9Pkr1gspqkT(h};Br6~fTM2ccW-E=sm51>PN_KbTMl zeBTgEtTk+Qyn!a&uwe0>zbVfA*|S)n*uf!?WI!~15f+9iA}Xo|k62e#=Dq|@NY!?wzQXGP|2$|Agi z@kTFR(0=SJ^%4!E#SMJM68|emi542CzVTIP*%)toR=WI#J-*j&2bAkvw+`RUL8B+QyK~H(dsDT)~XQbTS zYk)yqyYZYND!E;E&;zTN>u$PG2+gd2kflnV?C&vP55iHuk|57O7=G}C9$Hv10dG7O zh|!Bc+06YJbB~|5^ac3_)wfhCL@8Ko`hH06Hs`={hAw-z2ZOTd$q$*42|YB>-!4>rc|z>x{R z%-9cB90(Gw!nw0?5Z9o0(E8YHJLd2lQ0&%j?EqVP)h*#VOR_V!4VHCMP2jh-R+x0) z6BDCDxEVehWlmBI0V^>xP}PltH;a`m4iG$XPiF;j$;JAzFK-};_n%556n9YIy|L`4 zY`Jhhrmx?*fe$>8%8dq=OM|sJr+&b=Oyx4ULVDMbWsU2Cjgka#(nH6xs+SelR;?~?J z)F5t~_NPH#3}FhVJ|!piRwglQCb}WC<`HEiVfvSW0WJ_68P+=^_F^ntZ4{nvWRAdL zuJb+Rfz2$twm+9?v^uk*km%jCfU|ed6l)i`a0!jvb{$dC@u_%-MT? zum{bu)~0n})j%c-1E%k~-?F;&-oZg9*osxSuBnett~Yz^&!77Ye{vCSdWI=?w!7Em z;%Y?^4CTPav<@8gUE#8#Tx#4x18ii{oQB3ckN}Q1`w7F*>(CQLu1(J-JtP~d)Y4G% zcZfH!n*t4=pU?VV9~JueY{(sTj`LTV!6f6#p+np)tRjuV8?m(Fu@L9mCnxn+#8Nn4 z$L;2YMl`3=5k$ZMl?5*{#w+rOxPgk2!&6T-33B6okWRouHgB;h(rdq}SlPO+d2+r0u zZ1$xP^*$Iny?apo`Qhp~4;Hk#^jZq_=G(C?Ty-jV89^?f|EPppzGK`xojpap{-&~$ z8#ztfu)*~~qMk}W*_WQT+_w*FNXQA+l+WNK=JThk^x=CAMN`LWMG6F|db+EArHP48 zeWy0rryKpX3jLwLKvWs7o8!Ax({kOA#=&dq1yJF^#!Z>|wwg})Ek;HPw<|c$p0lxx zsA~}H*>inO#~Lfn%9V`*mWJEvY>T*(c*4q0Sc*fXdc2A3IydCwXhy9iE1}*K^f+U9 zU2}G|yStlS`@xy>-ig}5`Vi&XeGxQHtScY~jsOpmj-H;Cs#8B};Cq7~YRA9;E{tsN zmstgD9Xx>jdxH6$w6a|#%ID&y93g5~I?h(e4f=S)KYza#MeK1w72t0qyxN#z0gn@* zTLZ6J<89v_bDB~p92SoVY3^@RH`uiqLN}xOwoiff!?JVqNwYxgrJq8fKbT;i4_38i z_4i&pMVl_9DF7N zo2UMA!(IYeP$$UQRKWnC?2lTpW-7n62-MParfxC}q@k9%B2O1q2?Q&A3YGofQ4=6^ za1gZ0zGJ%tVJikec600N@7!o%K#yz|sJNLQn=nv9G)qh9Hrt@xsNRx>B@2P(e%4=7 z^k>hWAsP!r()JA_IKx1|tPf)O3~fp$$?+bB_s8qqQ7e`D$4Gbu3p_*%b?Pn2#f_w4 zL<4{*gWV9lP@ey4oLLxNq%H+P1PtO?;>JJvUr+v;mFMOoiO*%)iB$^X9tn;CdQwhK z&fu`H4zQEk5c^P7HC%3s30;snR zO~g==6`#Y13lmClR#S5ZQZH@Ns|TymP(FU#>KGj*fm-(O9ZMTuB~ap4I?RfpV`AFQ z$Xm!=J@eQI_o;P=fXiEp`~#s|a`umiyitryl{bHU!7^{?i(60N&}VXRD*c>9A_7hT zRzFH95Jj9DEr~Ci*;Jbu7e6miCC|u@L-v&6M*rtOW@!=Cj6n@92+-zwFEN48{}+6z zR;Ow?KYUDoVQ=v)_R%N2Ty?FPf)@#OOmWm97`%lxGtD4b9Iv(|Q%q!`Gu3(>-@gp? z+JHQn+Z_nHP_;YPztdTA7J@^^<3OzbXhV!m``wF2K6q^-BZ{4UKfC;pRule%%fZix z;dj4wj8$+jT_~YV@6nGRKS2J(40^C^H(H&$My-Rl!y~fG{DtFHk^?cxylO)~7skwT^?vG`{4v{qKtn6^OSQ8%KzS3Tn0Ml8=g>ccL8pEd>W0e#HXu;Xo$&gWv&M;v&b2XkU_H#SQS-wi=|+y?1#eslAV zvpGf_RBj+s;dWk9C__8wt}dzYI;V_hzfEtCT-8u>##H59*ZLp7dt#`V>cg>(s%Yc`cH#jsj7mN_-b+jsAV`GEw zAY2jb8eVkrRH>ZSor~FduT9>vNgdD_3A=ATPe@3B^<=1CObo*Fu`{V!sHf}ZgLa|A zMlR=(-_M8igcPb$zBm1Ej_Yg`>w3;dvD->>hRg7ySNSVSQ8>;lV8{%4mWM-<&R zsDfp4CNTs@elCXL?d*rs>6a})BB%gC@JH~e#7kOJ&R3Vbn{u0*n*g+2o_|lcU%h&D zQU8!7q4&wNXE&fzL!?L$oxw=Cz9!2DO1qayNg+@?L2nf^35hnERtWb3wOXycIx&;& zt%_c?Yvqp;!B6$|Cg3a3xLAr&tQiSq2_2Xnl~`sIEiCRVJ{Qw%a$|<>nTCyl-VJ%k zpF1yOTB{0&^{eeCKeGP%n$d5`C;P>0yWKhHEI+}1;ECB9DB# z7Dxt@nD2_rfDSO=?=B{o{=I&&%5Z zc42{g%k`91@1vum5q%W1O6DAF49eOpo~;0^zaO}7W<;&$+^6rm#(7G(`~e#5XzHUN z?Qf6l?d>bUZCTgAU?bl5##S)tbUQ-ZJfN)T7stp?w9|1k^Ovhv(p#(hBuC zu6HdjJ3CIm`5_s&wxK&XIDpQQ6#5QgKLQSD-=Umd1kF?+yr;&dCT?)*6Y(jSad}Tm zAFsd#mJ;8~jg1#;047T4j+Jp%&$T)nD*Qdsd>!+6bEGaqhQ19Bw|AY)dH&Pf+&lza z1G2%Lin7-4bU~;eVgYqg%1fy|uT&Q|}_VLLX zv54QE?xH(@6J21@XJV1vR8NA9;l4Q@2-U$HxIEN*FO;aVIG&%mMc))6gm?_epxnyu z&Fj~uph+*%E~A9L{H@xQJl@t~?WqgbQoy22NtoCjD2p`wN1ipfLoy#KHx?JwJoIvL zbL#?$J~Sl3AUTbhe5T)WmHN~1QuCV3RZu)7MuCeHx9x~$*(BmMvzQbJs`8kLD$Co* zuH>E-bl)Tgzr#`u+Sj_(HYD9~V_Skv9DID5i}%2U0!lJLaA)DSNqO}uT1X?H?d`;C z6%)oo0QJe(lka@5%K!+;|IcrMx`u{G<3!5$kDDSTgRahlX!B~50YkikD!4Qc|8aA6 zZU-}^A*fzr$ngKz|Fm=6{F$JkdT4j}fw9hKqoDgY*uKYsAFxXxn`p6dix^n7MK~?; zeR|F?*w+pSTjj4oBSV4bEGfHG@`+LY0Ebo%n({qcSzZod)hMu<{tCzksM<#AX8y$9 z6ncU9h)&1d2Xql}Uv?1(vDzw_s&@ZIl*r(tURJZ9*Rtm!;_Ya>=>9fyB7ymqRuqmT zDEcM9)0Bqoj1QJ!Zvt~3*k%bj&OL7{)VnVv)b{P02B#n9)vKo9KS^2p@WF%b#mKjvYO#udAJ-u}@8|L_T zTiUw_G~&RJVo70OW?ZN}Rlj}+eoFuP0=y2Bf^rffN2_6fS5fE<>UaC^K0&bt*>S8G z&+YekC7Qsq>7n{8xJ=t733V_g*ag!7o9VmkyhJ#bkG|O`oqa5_)v2)8NbUX&dOU8& zISEnC18WGVl6i75Two{>Q}}c}3XC~^{NXJzgB*_ttGjWVrrJT&Uf#8th}n= zHaoAzqC2$GpuX(_l*Vc0E48TRk#V6)RwzW13#hvcDO8NWacS805(a{ZyJpn*j2Ng@@Nu zWjW~FSW*fzKS+;ohQJ(%iQ$9A03^E#u`Q9)n5H8PuLnNxI^|nY&_i1ckjG4A2ob~* z!9h$pF!(2ja^3J{T6`e#xJMCp+MS~#Iml~BZCa*H0R@Wy7<=T8o;biz%IwFT^Y<)% z(0AMv_ctsQLziqt0^ZNa&!EsRY5K@J@{QnZs{DS;qwNNdKcw!@zWJ(r7swP3hy{!lLDs`T-UYZdfrAFEf{F@RWqVvg|1z@pK{gu=UDZEO&esJP!y@=f zfl5{^M8n&+ZlM7FC{sX6wstZ2(@$R3?PCDS<+B_z$w(tLR07G$C(^Q;ETpBCQKF=q zqB3T8Dx)GfBKax1Lgi%CHY1JVf8H6F%s-wvKc81ICYt)X)$|ERB+Er`MYP<*g62v} z(_luLWgVB(f((E{am6uE;r%$YwK__}C&^uc{|Ne@WUE)jL!|{?5r`%qxeZXHbBW5V zuCJRyGl3mjwq0U5vA%1USAjIMQI+GW^k61O4jNcfL&eDk^y3TW50jE2;MxF%4tqJ~0X1QVWY0 zQ?Mm8jKcS-bg(XxA!p&zirs_?q6aL}c7MhAR`CNS8l0Dxr*5{gwDhFos{gwO%#4il zp9#7w$pZ1Jy1|y)mxULD|Lr_(+2gWpqR zM@L7n2C7G{ZG&wZQiLoyzFgYR0h=7`u}4p|-Wv)HyylOppJ}F^TFWO2gHI|Ls(dC+ zNJbV0CsVX{cVC6z-I>5Vy`>`#3S>aIMzx=ALuavba3BNj2)nDpx07OLK)vs}IuuwO z1L^+prMOpQIR2h-q6krY71aIoe}7Vc{o{AIP6DVN9y>cbSchK)4f1T$V+KMK==l`m zK7k*_Qws~WnZbb5vokg$0yl_%FqfH!`@DJcCX!u$x&QI7U*U@#SwERa39-TW494Qu z!1_QMJeRn^}d<^+^|TJiP$Vf#qbVj06im%T;mn<$E*Bs z%FP=6{*WSNMp+rh)f+d%!R?DJV-pfRF*s^;P1XLL+1~^Cv!K@=1HAdU?d|d*cUD=f z5GgPv%ELVkW?s8duv>!Wz5*b?L^`J}f%K;sLHm8Z1(peUk0qe-eKlpKQ$t z+s%HpH%0yr;+|D326QlPu(OV(KdTjT`Nfr$?{&T>+vu4*@K7Yb_rmCcje;3M92g*F zVKW#tdaAuQe*=byNT~nWq~U8^Eb{T=M^$)zn(qxM04SA%6CBbYCz-bFuN)j6rdej0 z^HAJ4uYOY)u9zYpu?rM}cZ%I?EG(@6t<6Ev3$-&nST}&3{=hk6DgZ{hKT_8ZP(Ys- z2zKkm2Sp{|?!ZOX=)1qpcsCPgo|Rte^9r(fF99|&f|0AU@J3Ty?_&5D0roRUF3oZR$(DCcmjlhc|W39 zr=vp!7Zya)Cna?Sx+Z)gA|z3i>Q-I>4cg_~2WKU7paZ)y@<;lB6`naIT2y7&99 z={1ed3S*6;i(Oxa(f(-p*Ep%E5rBOJo{EYJpWQe<(pZ8~t)abflQ#w@XZbdbQ2q@B zdU2dX`B+`8b+15`r4xdE>J+tbU0j$I7Tu+6FE5=)gY#~q)QT+|J4~j)Km&0T07IGJ z#Kg-kfi zWwq(!=fJCjoa+h7O=@Zg@d3B^`45f9((k)rLylW=orZ?SY^uf{>}xs!NJRoJK)C3z zGD355=v>|0a`N)fL`6km{FDuTC`hD5QUD|j1}3HjNDsP=p4zi{8!5r{FUuCLyI?O?5uJok*9^iw`{=w^?^9cw<0+&;v+t^OVKUMz8ek z3~g}XFLOLtRRegm*w+r+XTZ1ndGVL!{hY>UPISS(638>czVEJEw%Fpidj(8Air}1` z?pW$5u57bcU4EMmOpa;GpX&peqFzah2^piFAIACB=a1U>5x_u*M zHo%I(m^og7uV7VQU7ZjrOf>jcrBp6d=%YXP^|gcFzt9wpwW;X~aIjp2&;@W2y3(UZ zBg|NV492ck>Ci`+R=dq21)JNl0k{x$eP z%`x6DC1qs904SRW?$U_0k(88_*eJ2?CwC5P{?(Nk$ZzR_PEzw^x`t~2n(db!r)3j~ z$Vy|KhQG3u@+91y%T%`%-j`%cT7V~y6gM!GOxjYJm{h5~r{e4}C`lZoG2Vti)kr`l&bL`tlV zTL-LeVLOkYZa_?jz84cgW~%i2<9<`DbQ-%1*$glN67>Ho2=QR&*B2^q$hsvYMB%YD z-3BlOxA%b+pv3!O0WBFB8BX8@o|=}%NU~=0y(z$NW{!1*2q z;ex4WWGMa>WTiU1=N9`*K}nelO_GRg2j0K^56kx>@VXHMZ|Qb39P}%Iq$(}@2WP}hdoC_>gJy;s6 zDk>zvJ1K3_u*Fx+Ooztm1H5ATl=(&{4h{}aFRwNz&Y)JvO4cs1jcaU#7eqiv_yYWz z`kM+L%gbZJ(7PQ1>h4?{8cY$lHGbp4kR6SZM@o@h zG4tBIq=_Wz){KR)X%Cn$LF#}kBMye50~$}Kae!k0b9t9f;OWG|e|ri{&puiWOU)le znu>nFM%kLiTBLjRik*&$6086(PTB`Oy}hrXAQnYnsRy>)aKIIH5p>M7bZoLL#0Y*+ z@!^BI2MgQc{Cu0MADBk4d>&k3ef?^qySiU#Yzkq?e!YS61g7}l8HG5qAQ=@tg#TUy z4aBMS@5OnJK8Vv6Ot=xR85q$kXNnZZb51KMDGh<;UctS0_h;X{9En7BA3iNr%mD7` z*V@0xQA9%{BkeE&3Whw1jF!NrNl~ZkmjP_A{k;v#!OVH&WF1eXO5JE^7+IztQ^dx` zvOr<1@y4f?#CY;C<;;ywUtRscP;P!{>7e`)(jp$1*mpp1aN3#{a)pyw%zYLE-h%Tg z0+}>)s1}3k6E~x28pYbjznZ9}$I5Ugbi@~b)KnP=bHD`-?w}ivTbW;8#y~?uyW63u z55HFVOAx z=Vdn+!iJhXKZafs0YhO-f3lonj5zL?OD*AU>{@o|!SO+9k3~dP{3C0NSw-Yz6xQUB zTL||)c@7Gl(UO4uFSXUx{BWY%F3=2MK4N%#_T|d2U&tiQ+2{>aUjQC!%va*#;&KIC z_=Zfm1iDcencCq}H{C`iS}fhzn|qsuBv|O+4hK_KT5#{F1pCKojyE&{&u&7X34w7+ z;%if9eSQ6buA|)Bi6x!JlOl@ImXq6du*_iV_qy3bQM3bQkGI*_uz^_vAEmSLY71^I z>9tP}6#b;6q|RWur5hfst6wdNWsKB)n8O5iqsnjitoJ%>VH-mB$3+%A^gLGIi{j;e z%TEFJYN(}gety0SWo}4M8XW#Ld0bG*gbFlk&x<>0g;t8m2Op0;PyeP(k44GQ*KcJF z!pQ+Nh-)1}2iclI4#x4TbWKtL;^laaJrzXt;d&QKD039^zSb|}*m8u8v()H)AGv#v zEs`|{iZFAt&B=Xh%#&Oo!8X{grMRwz{obcM zojo%9&x(P{MuP3`VoC* zF#f5PJ0rbRWKQ~~-P=YBVd=EPAcB($+-lgaV6O|dj)aIeAGAAkyc!psLAFq6ASjKA zg~icmfH?TC(TMw(I$i?qYIeUSh!ZBbh{e>m4M>i45tw?GTnrg?~pGtGD3Km z3PfZzKOpO~p&5?;QH*27$C}&RjE0fQJb-CC`}-Z>dHM2npEidv1zsI9EPtyJ9z01L(6|YnA05 zr{A(7(7TYa1AJxM)D#t)F;xYYNsg_rF%!5*xd;cFHkkCKYm0$u(v2NYZjV}}V%k!~gZ<3>-qvBL>HJr1A=p+b2Ol~I3!D8tjH%ggBZ^E3^CXJ_C4Cubgz-DDtNTT zG4+^JZ14*)7P=z<{IH~viVDt5YlEj>yW6}B-DsU#)bGuogB(T;nzti!{bCPSjvhx~ zFXs0ebTjs^-+va#5_)KkxdD%pjhz<_qFf9YP z(LxbD2?)!MzbE+-auj%EB2XTjSfzDOjO^gxU_7>jjZMnC!MipaUtJx+AbLh-TPzzM zYlS=lTnjO01eDbj4EYB7nMb>z&Vj_I$G6~dprQH9p9K{_y8L@0kynQ5H%mjjZi^yc1mNY5QGhKhfwDxxfjA0aakLh$X| zc&02C-Chn9$+6}Z7bm5QgK4R$JH)+XNgM{G0LIEeQ;t|F!tO6}^(Cc`#{y7H4X&i? z%%wkZ5!bHW{nEwrEjMQ}V zci$EkngQzV=;|s1xyNa_k0j1SW{**4Fg} znPgvlx2;x>B^8|Hp%S=hHsNtqf&=dtv@SwILZ5qkC7(UJi>&sR%L^(nW^V^R8(;3b zYPe`Phv}U4>$YF9S@-k9mF_biHT`8?;sb)HuJnudP%4ta@Zfa87G^2wF*$6onG|3a z37tr4?AJvw^r!iD=sNqkFgyGCn)f50N_x_$VL0g)v4sReXe*TeX_op)kV=rr7lIW+ z=<9&l)sAwYc7lY$b92#1PQ|7xLYojRKw(rWi3XaW)(k z>}=$7vSZ@u>A7=rxTSK7EKxBZtA#8!Mbqt1$-&{l&`34ow`6vj{~MYSUCcYeJ~POOITP^^Dzp|N03M`Cfg!k1bK9S+16GijjL?%wq|1 z7e}c znF>7?3k%E1uN0=UfGn~KVftI`e{ZBoI@}^V4MGMJY2}ReYp(u> z8c_^0;q-!* z;P-|ZLqhM%)YNcf(gt;WDx7|}u&|(6^NK#9@(LHkh~XbUEE>eZDqB;T@UcUn&+P`r z6M_W6B;(!3oiqS{VJC?Hj)LQ50YY_vShdlV*ZXk)8tYf2f;97v4$;*W$L~$~@ZkfW zzmkzrjVWh7N&h+Q!;ZBoX>~mZ@YXX@h98Vik;#^fyu2BND#Qm^aXV*xd|ZVy+hQO!5V-9> zjU_5cxy<}X>4HCpA)(#kX{Y-E@kR&3=?LsQ1ZPH4q`6r^VIi-PgVobc4F*P>{&Rrn zTK~G7WWr4?LIgDSZSp;RRmI&b2ZV7qJU;*}krx3VUp6ez6DX{`-VCcecwo|yxkYta z;lBkIu}R^-v5+hcPZegkl}I?V8j{FgEPVU+2_Rhv_YleW@D2OUoDcKWe=VhLQA?dj zA~A!#!?RJ&DGPN7JtQOqA$|en5}S;S3`|>7kDHcCA3S%WAj+g?)l(whrgba5&(aGo zCKT$$j>$<%0J$Y>Y}g9Vt1cQ>o8$2|R+Ishj8MoF9|0^Nu@QzVq!1Ie);=u9g`6T4 zcY~WPOxY5@v7Hk}1bao1%?JnY1pV{0EWXxYZUD_fL{|Mi{LXd2S3`k_0o@Gr=xzOi z<;E=*4L?8H={;Uxu^u2l=6bh>^=5l#gAK|98p|KrVErn4(dR#Y52(0d-jxfI5@N@JD`Rc0$Q=4pkV9ZU|hneIT-sY z{V9>9C+I`K3eJDlSMoADmr+)Fx?!#b3SU=Gt^!C~Q^ox5XNq{WTVM9}+Kt+C-063^ z@BbkG^SSg%0{HhLganw8BjXG!t0MK1`!E84SSKq4iwjEHw2N+NC%HM%?kb~SL4`Ro zGOzCJ>_k|Fj?T{N6KXmz%lQvm7#LPD0Orp@)rNh1d~xmruf5mLPmk9nywf%N2Ayv< zk|ni@G$Yo|phEklr$pZZr~M#{6=ofhmlx-VJ+89FkZ!{BJ(3B3PQ?-cg?Wv#UcPMA zU|4cFJv~J<5D4B5Ffu%Q9v!>n-lrfM7SedLN5aNqWULQu?XMPYxF8YPJUygMgYhO{ zRYV9S5C1M)N! z&&ln-_xJXII<5DscK$WUROdm4gRrQ<3HVwDjurENxd1Rl#-+N4+ugmVQ}P7>X5av% zb(i&}5+`eG^V{+?`NCvF3W`kERgou2Ac^P(k_|EwK@8P_+bsk9+Ga05Fa!Sf4iBf_ znTv~SiT=BKPDAzeZ-=lP{s(Pu9aUBMwTo^$KtKf*Bt)g9yOmUsW&@JaCEXyPD4-x9 zQqs~TC7oMAy1PMIHr)+(F2CP*zH{#%cZ~DLVK9c^*sQ(RyWV%k^E`9TdAb{IRD@R% z7gqGJg930rq|GsCxZc4@Llih59=_wA#^(r4jC=0%We&)5Jr`-@?u^0%w*v@oPknd> zOy6|^AdjNFyc{_~H10Cs8({=lRoc++9^AkGb=O@b*EIX- zhZNcUt3(C{OdusZrcv7$mL)Pcy?>wir+ox*@o0xK)fa%lHLTUkCNI} zfVnL|$o+vyGDzT)2Y~TvyXN{Vq!Vh@uX*9TvVcp4`klp!fr9F#PHvXRvzdLNSMqyl z_4WMx!e%CR9|b@4*xURPQC7waFy2;QF2v#VW1c`Ih~4kvZjj%}f?n7NWnej4`W9#< z`-Scc!}QOEaBy%Cp**yKt_8IVkT6H8MTg*s*tU%|M&cF;q&cAfPO5tj#Av_3v^jrz zY6J0J4EgpJZ@$`h)}~EK1n>v4Lmr0Y0?>JEu44~=#BSr2zG`$3%N0t*SZELO_v@Dn z0mB7#Q!{iV9(V5C`T1L{EQtlsKOx45{(*r8@N)zZmBEyfLh}LH*$Z+o1R@WV3JCuL zeapdO9AR+*5#Ly4IR7S!tH|V{jO^LBC() zM?+f|;MU*3enra6kfgh(_`D$kLSsBB5K;^L6(Ti)5;;&t+)@C z_1!!_TjbvR#vt%G&VPFIuJ>$%i3QCjKyj5oz`}|@fM(%9KEHz|)Aq#e%(Gt4ssA|$ znDGKzN*^%Fc=D-aMY_a4!v-RpDruQ#Lu1eAHnBIbmhP zLGa^yZ{EE-hp;ga=7Fa7X^QuixAezp=q8VHIGc7UkKJ=Eq2sa2J`njHoPhg{KerURo zCp}2EPlCrwt~N6Ks}y(S`zvS`F4sk<1N+w-lrcbBKpEfzRdJo1I)K<<-Uy;XgLEJO zbUbqf-mxTnn}k|TGo#;md$v2`g&RQ8;^H@V4tyslVd%y>Abam+8&R!(?a~^}jSsqL ztx#2?Z2O+D=lQ)qw`uKZ__r>;r$YBt0!_=HN zX&?Mbpu!3v%#c3g&~g3yhVSh^wbg%t+J%uYc&!Duu0?aq(q(>WDi0@XZ5`4MCFOVg zlxA|$0OGEN?DL?j0Aez~*(m;08o+)asq4YITnFq6VqkNF6kA`{?S!nfv=tV=*i=S! zR;~E2UmG<@>yZq|D2c&+JsWHF+3Lzm)d&Dr=TnpFy>2O*GWk~LAnjC)MYa6sO3|)ry91s)R*)QQUhr0S4J>< z`-MwQV{3GOI2gK6V-d2Zm1@s4^j>01sNbme&0aO4)j%N{ey9?3>Na+3`&G#`L zf*`8*gUvDLQASO8wX3wuzr6Ndve?Z=4)^Ixlq7%tW^CqVSOonD-{|lW7bx`&Y#Z9K zgs}#MU>FTP1&%?mg6yX828A%N7T^>#7YyR?W6K>Ib}&Kd{Gaq1JbNzgJ&%95yA8Gp z(qIud#4ew%BD5m}6p8l2prvkrZH-76@e-%%!O|jSD~P`dq7YVDtnPgG#CUQFn_9f? zUoaj!{O4fS9}pG`ivS>%i&_)s=I8a{6Y$voC9u-~A{+wAZvfz=tLBm;0x4LK$2vL` zAcuG=B_(2S&w;Yx9`V;68{1;ApXj2 zMGib&A6Yx5w0PE&>dCX-R8g8#s&2N(=TyvbNG1R~6!b9QI{tvb4d5#~0wQjRg;~w} z9{~fX2Zjq7O`>k(dF@(2XZkbtupkY^!sXsbz<+;>X;#vD{%8yH@;VEJ4$29?iT5Du zS?p&7f>;-%H3<3)LIRjHB-%SHgM{<-?yMJ-M1w0thHD^DA{Q5z zR6tsKDx(G~P5XNSE=1gO6Hu$2Si!HuAl=b}C;Cgk6__Ye3u!jXTUK`PtVOwyS6S9S|-SnCAW7 z+j|lujemy<(xf{4Er(JWsZdfT6GQJ7)Hs0)0qlJ3PFDo@yFZ{j1=Uo#y{0&5Uu$Yb zt2=C!l#~z^fP#VoGD}2LOACE)Hq(7RhyJerf7r6#6iMbeE`aBiHCPkAAkQD@yE?F? z2qRotR+eG0np_16_Y9+y@O*!MxZCzI!N_6Yl3&8=3y5zC!(B=sqLu{)(CsrZF@cGk z&VC7k{TvbLXaC`8%$A&lfF8;&3 zo%;&K8PvjafA-D+k9bw}9M$QA8y}IK10G|v+Wjt=PL+ivVwC;5fv1beNt)ZLM{8d; z%(8TzIMhaDV3F*;1t*}8MdD5lt8r2oiQU-Ip;|5nW(B|%goy^W1580xjr*1JXF+1F z4}cL2J*k6n6uSEQwJp+gqM{E?TJyvR7P z0~8R5vUgQgQx_<_MJWHlUnd7RNWlQ?Ll=JA{Ad2*d3iH)DddzhBmY!KUg57|pJ zU`U|4|8^(`jL!H8ULZI$^gR^pWg6%d%F~MNYQMtIo0-V$OTRL2^eRk$dTPoVu$;L2 z2l0T~Cc4s7>L{d%C?b`BY4Qd?7j=L9Gl2r1A&dy zKOqGr&?#nhnoi^%!Ap=O+!1=sV|?5PqD~|=2U`Pk&|3C!XgfU4@htiiY*;8;L=*7R zDq0*SeNDeyXr&l$N>}{&-eagj7%rYQzM}FhtJoduW(xR0i{1+HO?P1 zY&LK4kR%@57oci`N=FvcUY1lY7)av0_UDYf%Q*L4XdQqUVCi=Kw}iS-hygS5YCyyT z$OMe=c>~)Hk!9^HYd}+$`;fLnBIyjGB<=_gRnQxN;fi4L~`oKTr!Hg5U1> za!)zPmSkgi&HxywS>=k(xIJgs)@s9eA5Ws*kkCx7ulP!^1_~mK#wU?8#3+H0imACG zhUXT57JdQ|@aD#()^Nyt5GZTF-+zR>W*Uq}O#4pm&{Rp#^__4!$~A>n;lmje2Idd*t?68<_O(*eZB<%7>_;7$zR2)}OwadthbsEeE=@8O{1qiS`e?LOYZ_Tl7e=QE}qYeJI%YiN0pG7bF}Fy{`}+DO+mBsv%j)~AH)gh@%uCb zeg{aiH`H~=1s|(HR>h=Q`UX)yKn4T@J0F9+qH&M@`t>I;JTUI;35+UI_P9|yfXoF$ zh+DG;(-@B?$aL!)L2L6u|(P z865eKipvy$gz1WnzJNp;v~6{xITL?$)v8?h@vnzj%8^qgXx*flF)(H?Dkv#|rfXlN zzPted0QU|H3c{p$_ebKeouGTl$C835nA(kS!*EvFi+cLIe(h^a=4G0;No%HzjW27k zwj3JIIc74E?+8M?{{es{NZ+pm!3J;AHF?5f1*G?UJuYO zy4qNg9MlQWcx5X46m&BzH0`KPM;|-spSLBf}ih)!H;!%5Nf_` z{7k7<{E8TtkJW*j>B`aK50Hw1^3co@T6>e<0KdlK!ge^$S;NH5eH)y+1h7bUBSPmcCiw&~;wxN7 z-4V99)f|-{-&F;&xbx@FuMu=b{MKVt$

$gSxNaq(-SYZXxcj;P1x91kvD{L0~P zkwLGUl$7O9EQDdjbOND@L}maG*DD!_0XYtkPO1ALm)(dFqgGeBpa!Rd2(-I~74|N4 zuxHsVp}JbMy}OG{)8h^Na5Mn=8tc;&_c=$`gM+VJRzmpKgM%JDYSEqA8fskzKf~g2 zkTYRf#sA zbNo+*AfapIQ;#KZ!&ix}^mO;vFJ16A>5nAf{8kZ2K(siTM5C!W_H_hQ9|)NrBBC?1 zh)kuEi6&%F=Wy)iP)=8loc_@0=@LMO&+m3=&JoNKBJ~HF)#U?racODk-}El1?SZIP zVW@P%ZgpHxHX;vX`G3GNihzW`ZUhd$-e@mzOr1!z%%fY=11SvOlCoMxcOalbvOA8G zN1Ib~;BxQqJ3ayrWjCTNd`--Ko?1Xm{PO;FkfSNELfSr|x-X(3>04$2no#IRvwpB` zPJW+Z41w|EJ&l+%&!NznFLXx3D0;MQW(&&E?{7nu+63rd$C>oc<(x*n!0Z``mk2 z$aU*7uy?JJzdl<*PZm)awnnHOwRb3`^Y`u@Yf_^9aM&!Y)_b(x!vMqo3xk#EXL&ML z*;!eC!6F5J{`>}XI!P}IjObnVit_S)!T?%;Wdsor0dRttPtZ7R4JP!yJanw1Zz);s zB_4C#M)Tp-7&Vhp^cH5+jY6|~qzs(IolwIDSve$a1?|AqqWHr@#n3GI;OTUrs1Y3} z=XxCLB}WHRA~QE2J#k5S2!K!_l|&y1xb5HqPSZNi>)Bf+CtSF?^vgzhM$(8`E!o

6AhSSNUaT^IuOJq?C&?+ePig$OEEF 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 Date: Wed, 6 Jan 2021 00:21:36 +0900 Subject: [PATCH 66/71] feat(node): add Humio (#409) (#423) --- diagrams/onprem/monitoring.py | 4 ++++ docs/nodes/onprem.md | 1 + resources/onprem/monitoring/humio.png | Bin 0 -> 14629 bytes 3 files changed, 5 insertions(+) create mode 100644 resources/onprem/monitoring/humio.png diff --git a/diagrams/onprem/monitoring.py b/diagrams/onprem/monitoring.py index b6f0d8ec..c097ecaa 100644 --- a/diagrams/onprem/monitoring.py +++ b/diagrams/onprem/monitoring.py @@ -20,6 +20,10 @@ class Grafana(_Monitoring): _icon = "grafana.png" +class Humio(_Monitoring): + _icon = "humio.png" + + class Newrelic(_Monitoring): _icon = "newrelic.png" diff --git a/docs/nodes/onprem.md b/docs/nodes/onprem.md index 08551d2f..ef64a7a9 100644 --- a/docs/nodes/onprem.md +++ b/docs/nodes/onprem.md @@ -152,6 +152,7 @@ Node classes list of onprem provider. - **diagrams.onprem.monitoring.Cortex** - **diagrams.onprem.monitoring.Datadog** - **diagrams.onprem.monitoring.Grafana** +- **diagrams.onprem.monitoring.Humio** - **diagrams.onprem.monitoring.Newrelic** - **diagrams.onprem.monitoring.PrometheusOperator** - **diagrams.onprem.monitoring.Prometheus** diff --git a/resources/onprem/monitoring/humio.png b/resources/onprem/monitoring/humio.png new file mode 100644 index 0000000000000000000000000000000000000000..bd36be109c671345de45e9b604f4a749192243c0 GIT binary patch literal 14629 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 P=m2SP1+hvI!@&Oo-!naO literal 0 HcmV?d00001 From 4bcea01f345ba68edd33a0479241c3fc710516d9 Mon Sep 17 00:00:00 2001 From: Gauthier Leonard Date: Wed, 27 Jan 2021 13:28:55 +0100 Subject: [PATCH 67/71] feat(node): add PowerBI (#337) --- config.py | 3 +++ diagrams/onprem/analytics.py | 6 ++++++ docs/nodes/onprem.md | 1 + resources/onprem/analytics/powerbi.png | Bin 0 -> 5725 bytes 4 files changed, 10 insertions(+) create mode 100644 resources/onprem/analytics/powerbi.png diff --git a/config.py b/config.py index 57c98307..1d8aafc0 100644 --- a/config.py +++ b/config.py @@ -90,6 +90,9 @@ TITLE_WORDS = { # TODO: check if the classname exists ALIASES = { "onprem": { + "analytics": { + "Powerbi": "PowerBI" + }, "ci": { "Circleci": "CircleCI", "Concourseci": "ConcourseCI", diff --git a/diagrams/onprem/analytics.py b/diagrams/onprem/analytics.py index a62e4017..182c28cd 100644 --- a/diagrams/onprem/analytics.py +++ b/diagrams/onprem/analytics.py @@ -44,6 +44,10 @@ class Presto(_Analytics): _icon = "presto.png" +class Powerbi(_Analytics): + _icon = "powerbi.png" + + class Singer(_Analytics): _icon = "singer.png" @@ -65,3 +69,5 @@ class Tableau(_Analytics): # Aliases + +PowerBI = Powerbi diff --git a/docs/nodes/onprem.md b/docs/nodes/onprem.md index ef64a7a9..2d813727 100644 --- a/docs/nodes/onprem.md +++ b/docs/nodes/onprem.md @@ -21,6 +21,7 @@ Node classes list of onprem provider. - **diagrams.onprem.analytics.Metabase** - **diagrams.onprem.analytics.Norikra** - **diagrams.onprem.analytics.Presto** +- **diagrams.onprem.analytics.Powerbi**, **PowerBI** (alias) - **diagrams.onprem.analytics.Singer** - **diagrams.onprem.analytics.Spark** - **diagrams.onprem.analytics.Storm** diff --git a/resources/onprem/analytics/powerbi.png b/resources/onprem/analytics/powerbi.png new file mode 100644 index 0000000000000000000000000000000000000000..9783fc9461efb51b1951dcf54b850ab177463d51 GIT binary patch literal 5725 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 literal 0 HcmV?d00001 From df061cd2847ea7dbb60d6e48c4eeede5b55a4130 Mon Sep 17 00:00:00 2001 From: Pierre-Yves Aillet Date: Wed, 27 Jan 2021 13:42:07 +0100 Subject: [PATCH 68/71] feat(node): add gcp monitoring (#343) --- diagrams/gcp/operations.py | 15 +++++++++++++++ docs/nodes/gcp.md | 4 ++++ resources/gcp/operations/monitoring.png | Bin 0 -> 8235 bytes 3 files changed, 19 insertions(+) create mode 100644 diagrams/gcp/operations.py create mode 100644 resources/gcp/operations/monitoring.png diff --git a/diagrams/gcp/operations.py b/diagrams/gcp/operations.py new file mode 100644 index 00000000..53ece13f --- /dev/null +++ b/diagrams/gcp/operations.py @@ -0,0 +1,15 @@ +# This module is automatically generated by autogen.sh. DO NOT EDIT. + +from . import _GCP + + +class _Operations(_GCP): + _type = "operations" + _icon_dir = "resources/gcp/operations" + + +class Monitoring(_Operations): + _icon = "monitoring.png" + + +# Aliases diff --git a/docs/nodes/gcp.md b/docs/nodes/gcp.md index 39ad2e31..3a1ee484 100644 --- a/docs/nodes/gcp.md +++ b/docs/nodes/gcp.md @@ -112,6 +112,10 @@ Node classes list of gcp provider. - **diagrams.gcp.network.VirtualPrivateCloud**, **VPC** (alias) - **diagrams.gcp.network.VPN** +## gcp.operations + +- **diagrams.gcp.operations.Monitoring** + ## gcp.security - **diagrams.gcp.security.Iam** diff --git a/resources/gcp/operations/monitoring.png b/resources/gcp/operations/monitoring.png new file mode 100644 index 0000000000000000000000000000000000000000..427babb76fdf34852b6047509cfe77b52e2b75fd GIT binary patch literal 8235 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 TTmWMV`+%yVmO`bRMcDrV7;V3g literal 0 HcmV?d00001 From f19c3a62b8e2fc7aca6fda699dad6221b101ae8c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=AE=89=E4=B8=B9=E6=A2=85?= Date: Wed, 27 Jan 2021 07:38:17 -0600 Subject: [PATCH 69/71] feat(nodes): Add flowchart symbols (#377) --- diagrams/programming/flowchart.py | 107 ++++++++++++++++++ docs/nodes/programming.md | 27 +++++ resources/programming/flowchart/action.png | Bin 0 -> 826 bytes resources/programming/flowchart/collate.png | Bin 0 -> 3007 bytes resources/programming/flowchart/database.png | Bin 0 -> 12758 bytes resources/programming/flowchart/decision.png | Bin 0 -> 13036 bytes resources/programming/flowchart/delay.png | Bin 0 -> 5047 bytes resources/programming/flowchart/display.png | Bin 0 -> 8698 bytes resources/programming/flowchart/document.png | Bin 0 -> 5539 bytes .../programming/flowchart/input-output.png | Bin 0 -> 6198 bytes .../programming/flowchart/inspection.png | Bin 0 -> 7234 bytes .../flowchart/internal-storage.png | Bin 0 -> 1436 bytes .../programming/flowchart/loop-limit.png | Bin 0 -> 1726 bytes .../programming/flowchart/manual-input.png | Bin 0 -> 5308 bytes .../programming/flowchart/manual-loop.png | Bin 0 -> 5979 bytes resources/programming/flowchart/merge.png | Bin 0 -> 1623 bytes .../flowchart/multiple-documents.png | Bin 0 -> 6319 bytes .../flowchart/off-page-connector-left.png | Bin 0 -> 2053 bytes .../flowchart/off-page-connector-right.png | Bin 0 -> 1905 bytes resources/programming/flowchart/or.png | Bin 0 -> 7607 bytes .../flowchart/predefined-process.png | Bin 0 -> 1402 bytes .../programming/flowchart/preparation.png | Bin 0 -> 7606 bytes resources/programming/flowchart/sort.png | Bin 0 -> 2714 bytes resources/programming/flowchart/start-end.png | Bin 0 -> 4918 bytes .../programming/flowchart/stored-data.png | Bin 0 -> 8135 bytes .../flowchart/summing-junction.png | Bin 0 -> 8965 bytes 26 files changed, 134 insertions(+) create mode 100644 diagrams/programming/flowchart.py create mode 100644 resources/programming/flowchart/action.png create mode 100644 resources/programming/flowchart/collate.png create mode 100644 resources/programming/flowchart/database.png create mode 100644 resources/programming/flowchart/decision.png create mode 100644 resources/programming/flowchart/delay.png create mode 100644 resources/programming/flowchart/display.png create mode 100644 resources/programming/flowchart/document.png create mode 100644 resources/programming/flowchart/input-output.png create mode 100644 resources/programming/flowchart/inspection.png create mode 100644 resources/programming/flowchart/internal-storage.png create mode 100644 resources/programming/flowchart/loop-limit.png create mode 100644 resources/programming/flowchart/manual-input.png create mode 100644 resources/programming/flowchart/manual-loop.png create mode 100644 resources/programming/flowchart/merge.png create mode 100644 resources/programming/flowchart/multiple-documents.png create mode 100644 resources/programming/flowchart/off-page-connector-left.png create mode 100644 resources/programming/flowchart/off-page-connector-right.png create mode 100644 resources/programming/flowchart/or.png create mode 100644 resources/programming/flowchart/predefined-process.png create mode 100644 resources/programming/flowchart/preparation.png create mode 100644 resources/programming/flowchart/sort.png create mode 100644 resources/programming/flowchart/start-end.png create mode 100644 resources/programming/flowchart/stored-data.png create mode 100644 resources/programming/flowchart/summing-junction.png diff --git a/diagrams/programming/flowchart.py b/diagrams/programming/flowchart.py new file mode 100644 index 00000000..1e7ecf17 --- /dev/null +++ b/diagrams/programming/flowchart.py @@ -0,0 +1,107 @@ +# This module is automatically generated by autogen.sh. DO NOT EDIT. + +from . import _Programming + + +class _Flowchart(_Programming): + _type = "flowchart" + _icon_dir = "resources/programming/flowchart" + + +class Action(_Flowchart): + _icon = "action.png" + + +class Collate(_Flowchart): + _icon = "collate.png" + + +class Database(_Flowchart): + _icon = "database.png" + + +class Decision(_Flowchart): + _icon = "decision.png" + + +class Delay(_Flowchart): + _icon = "delay.png" + + +class Display(_Flowchart): + _icon = "display.png" + + +class Document(_Flowchart): + _icon = "document.png" + + +class InputOutput(_Flowchart): + _icon = "input-output.png" + + +class Inspection(_Flowchart): + _icon = "inspection.png" + + +class InternalStorage(_Flowchart): + _icon = "internal-storage.png" + + +class LoopLimit(_Flowchart): + _icon = "loop-limit.png" + + +class ManualInput(_Flowchart): + _icon = "manual-input.png" + + +class ManualLoop(_Flowchart): + _icon = "manual-loop.png" + + +class Merge(_Flowchart): + _icon = "merge.png" + + +class MultipleDocuments(_Flowchart): + _icon = "multiple-documents.png" + + +class OffPageConnectorLeft(_Flowchart): + _icon = "off-page-connector-left.png" + + +class OffPageConnectorRight(_Flowchart): + _icon = "off-page-connector-right.png" + + +class Or(_Flowchart): + _icon = "or.png" + + +class PredefinedProcess(_Flowchart): + _icon = "predefined-process.png" + + +class Preparation(_Flowchart): + _icon = "preparation.png" + + +class Sort(_Flowchart): + _icon = "sort.png" + + +class StartEnd(_Flowchart): + _icon = "start-end.png" + + +class StoredData(_Flowchart): + _icon = "stored-data.png" + + +class SummingJunction(_Flowchart): + _icon = "summing-junction.png" + + +# Aliases diff --git a/docs/nodes/programming.md b/docs/nodes/programming.md index 8240515b..06ce37d7 100644 --- a/docs/nodes/programming.md +++ b/docs/nodes/programming.md @@ -5,6 +5,33 @@ title: Programming Node classes list of programming provider. +## programming.flowchart + +- **diagrams.programming.flowchart.Action** +- **diagrams.programming.flowchart.Collate** +- **diagrams.programming.flowchart.Database** +- **diagrams.programming.flowchart.Decision** +- **diagrams.programming.flowchart.Delay** +- **diagrams.programming.flowchart.Display** +- **diagrams.programming.flowchart.Document** +- **diagrams.programming.flowchart.InputOutput** +- **diagrams.programming.flowchart.Inspection** +- **diagrams.programming.flowchart.InternalStorage** +- **diagrams.programming.flowchart.LoopLimit** +- **diagrams.programming.flowchart.ManualInput** +- **diagrams.programming.flowchart.ManualLoop** +- **diagrams.programming.flowchart.Merge** +- **diagrams.programming.flowchart.MultipleDocuments** +- **diagrams.programming.flowchart.OffPageConnectorLeft** +- **diagrams.programming.flowchart.OffPageConnectorRight** +- **diagrams.programming.flowchart.Or** +- **diagrams.programming.flowchart.PredefinedProcess** +- **diagrams.programming.flowchart.Preparation** +- **diagrams.programming.flowchart.Sort** +- **diagrams.programming.flowchart.StartEnd** +- **diagrams.programming.flowchart.StoredData** +- **diagrams.programming.flowchart.SummingJunction** + ## programming.framework - **diagrams.programming.framework.Angular** diff --git a/resources/programming/flowchart/action.png b/resources/programming/flowchart/action.png new file mode 100644 index 0000000000000000000000000000000000000000..28205f4b62af4e1dc08c68fd7bd3b8799e6fc07e GIT binary patch literal 826 zcmeAS@N?(olHy`uVBq!ia0y~yU<5K58911MRQ8&P5Fo{p?&#~tz_78O`%fY(kgt&J z5#-CjP^HGe(9pub@Czu^@PdJ%)PRBERRRNp)eHs(@q#(K0&Rd22LgOTTtNyN8k(A# znwy(7H8u0|^C4^?x22^8NMeG<#zu%5xJpblKoOv9X=y1)s;Q}^wY9Uiw|l~bE+Fdb z1DXt!?VC1j)8)(io;}<9^y&6HcbXa-C(fF+@5PI=|No!)|NrRc&t3if`<_3aFl*MH zCr?iQ{d?;7@5Arkx3;x)Pn_60b!yM#$^ZZV|C`)&3Frrfk|4ieAPo#3DQz95`1MDR z9oZDZBD_uR;yHcYOBW2!8^kkO99Mq;Qjz5C?qYA3Y)}g1u$OrHy0Smv=4BL9uX$Zi z43zfvba4!+xb^nVc0XoEk+zFpbt*d5o&=ptw)#cV>sO_bM91@zC+~N z(s(|mm-BY-yZD=P%Is*%?YG+917+qv*|XPJVnK0LS)Jg~RO{z=_a0;jziz(0Jn)Wv z57!5c1NHUO8JIW}8fZm)XlL+0ufINUPcO%W`}TH+e`N9UYW?%cDmx@G?+TCos#%xn z-bCI_S|nK=adV3qMgRZ>9zT)hY<&FAD_Hj+kf&PW8c~vxSdwa$T$Bo=7>o>z40H_* zbq$R}3=FM|46O`|v<(cb3=H00*ujUQAvZrIGp!Q0hB>_qn?MfmboFyt=akR{0G;SD AegFUf literal 0 HcmV?d00001 diff --git a/resources/programming/flowchart/collate.png b/resources/programming/flowchart/collate.png new file mode 100644 index 0000000000000000000000000000000000000000..2d5be1c84e4b2cd8b854f05c8d873dec76ba38ed GIT binary patch literal 3007 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 literal 0 HcmV?d00001 diff --git a/resources/programming/flowchart/database.png b/resources/programming/flowchart/database.png new file mode 100644 index 0000000000000000000000000000000000000000..78eb1718ce601da5bacf7b1e90471b48e437effd GIT binary patch literal 12758 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 K#quX+!T$w4e!<`X literal 0 HcmV?d00001 diff --git a/resources/programming/flowchart/decision.png b/resources/programming/flowchart/decision.png new file mode 100644 index 0000000000000000000000000000000000000000..40b9293d2c0d20c82f98a3541034aae5e87ad8d4 GIT binary patch literal 13036 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 D(o#db literal 0 HcmV?d00001 diff --git a/resources/programming/flowchart/delay.png b/resources/programming/flowchart/delay.png new file mode 100644 index 0000000000000000000000000000000000000000..b859d173d9897131a8c9374cb7e89ecbf6dcf887 GIT binary patch literal 5047 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 J)EjyJ{U3|2GaUc` literal 0 HcmV?d00001 diff --git a/resources/programming/flowchart/display.png b/resources/programming/flowchart/display.png new file mode 100644 index 0000000000000000000000000000000000000000..1d50abfc1529a8d8f8e54d1f996e44c000ae1f31 GIT binary patch literal 8698 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 I8n&VT1DtiQ;Q#;t literal 0 HcmV?d00001 diff --git a/resources/programming/flowchart/document.png b/resources/programming/flowchart/document.png new file mode 100644 index 0000000000000000000000000000000000000000..02bb83c8cf17059ebabca20251d9a55c13f4a675 GIT binary patch literal 5539 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 literal 0 HcmV?d00001 diff --git a/resources/programming/flowchart/loop-limit.png b/resources/programming/flowchart/loop-limit.png new file mode 100644 index 0000000000000000000000000000000000000000..29813f99392517699126bd994bc950f6b64392ef GIT binary patch literal 1726 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 literal 0 HcmV?d00001 diff --git a/resources/programming/flowchart/manual-loop.png b/resources/programming/flowchart/manual-loop.png new file mode 100644 index 0000000000000000000000000000000000000000..13d1e9f05eef2337993573651a1a226426b75064 GIT binary patch literal 5979 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 literal 0 HcmV?d00001 diff --git a/resources/programming/flowchart/merge.png b/resources/programming/flowchart/merge.png new file mode 100644 index 0000000000000000000000000000000000000000..d6a5851b66534d251f095fb1dd6defcdb9bfc9aa GIT binary patch literal 1623 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 T$IO2RvVg9Z!Tpc-9G?F#I)HAM literal 0 HcmV?d00001 diff --git a/resources/programming/flowchart/predefined-process.png b/resources/programming/flowchart/predefined-process.png new file mode 100644 index 0000000000000000000000000000000000000000..f052d7bf0b92a07c50ff36700b2174215d5698f2 GIT binary patch literal 1402 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 JW9FUme*mw0urL4s literal 0 HcmV?d00001 diff --git a/resources/programming/flowchart/sort.png b/resources/programming/flowchart/sort.png new file mode 100644 index 0000000000000000000000000000000000000000..08718b4aa5c0a3bc27c7faece8af721e7a449b0f GIT binary patch literal 2714 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 literal 0 HcmV?d00001 diff --git a/resources/programming/flowchart/stored-data.png b/resources/programming/flowchart/stored-data.png new file mode 100644 index 0000000000000000000000000000000000000000..972e56090fb954a8fcd0b4b27255f92498dac8d8 GIT binary patch literal 8135 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 yW#w+k%iWTdzb-3#OICL4$7iPh)xgus`I$@b|Gz Date: Thu, 28 Jan 2021 20:07:24 +0900 Subject: [PATCH 70/71] Add FastAPI (#380) --- config.py | 3 +++ diagrams/programming/framework.py | 6 ++++++ docs/nodes/programming.md | 1 + resources/programming/framework/fastapi.png | Bin 0 -> 10779 bytes 4 files changed, 10 insertions(+) create mode 100644 resources/programming/framework/fastapi.png diff --git a/config.py b/config.py index 1d8aafc0..a5c53b14 100644 --- a/config.py +++ b/config.py @@ -395,6 +395,9 @@ ALIASES = { } }, "programming": { + "framework": { + "Fastapi": "FastAPI" + }, "language": { "Javascript": "JavaScript", "Nodejs": "NodeJS", diff --git a/diagrams/programming/framework.py b/diagrams/programming/framework.py index 48929c1d..f8d901fb 100644 --- a/diagrams/programming/framework.py +++ b/diagrams/programming/framework.py @@ -24,6 +24,10 @@ class Ember(_Framework): _icon = "ember.png" +class Fastapi(_Framework): + _icon = "fastapi.png" + + class Flask(_Framework): _icon = "flask.png" @@ -57,3 +61,5 @@ class Vue(_Framework): # Aliases + +FastAPI = Fastapi diff --git a/docs/nodes/programming.md b/docs/nodes/programming.md index 06ce37d7..fdd25404 100644 --- a/docs/nodes/programming.md +++ b/docs/nodes/programming.md @@ -38,6 +38,7 @@ Node classes list of programming provider. - **diagrams.programming.framework.Backbone** - **diagrams.programming.framework.Django** - **diagrams.programming.framework.Ember** +- **diagrams.programming.framework.Fastapi**, **FastAPI** (alias) - **diagrams.programming.framework.Flask** - **diagrams.programming.framework.Flutter** - **diagrams.programming.framework.Laravel** diff --git a/resources/programming/framework/fastapi.png b/resources/programming/framework/fastapi.png new file mode 100644 index 0000000000000000000000000000000000000000..d79d51bf7047e7c28b404769f17d2e52c98bc215 GIT binary patch literal 10779 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 literal 0 HcmV?d00001 From 8768d6888acee004d4e71c816eef30b418c714d1 Mon Sep 17 00:00:00 2001 From: dan-ash <51156564+dan-ash@users.noreply.github.com> Date: Thu, 28 Jan 2021 13:18:15 +0200 Subject: [PATCH 71/71] feat(node): add Azure VMScaleSet Node (#404) Co-authored-by: Dan Aharon-Shalom --- config.py | 1 + diagrams/azure/compute.py | 4 ++++ docs/nodes/azure.md | 1 + resources/azure/compute/vm-scale-set.png | Bin 0 -> 12462 bytes 4 files changed, 6 insertions(+) create mode 100644 resources/azure/compute/vm-scale-set.png diff --git a/config.py b/config.py index a5c53b14..514a2f6b 100644 --- a/config.py +++ b/config.py @@ -242,6 +242,7 @@ ALIASES = { "compute": { "ContainerRegistries": "ACR", "KubernetesServices": "AKS", + "VMScaleSet": "VMSS" }, }, "gcp": { diff --git a/diagrams/azure/compute.py b/diagrams/azure/compute.py index aad7b171..2a42b879 100644 --- a/diagrams/azure/compute.py +++ b/diagrams/azure/compute.py @@ -80,6 +80,10 @@ class VMLinux(_Compute): _icon = "vm-linux.png" +class VMScaleSet(_Compute): + _icon = "vm-scale-set.png" + + class VMWindows(_Compute): _icon = "vm-windows.png" diff --git a/docs/nodes/azure.md b/docs/nodes/azure.md index 59413a08..cb051102 100644 --- a/docs/nodes/azure.md +++ b/docs/nodes/azure.md @@ -39,6 +39,7 @@ Node classes list of azure provider. - **diagrams.azure.compute.VMClassic** - **diagrams.azure.compute.VMImages** - **diagrams.azure.compute.VMLinux** +- **diagrams.azure.compute.VMScaleSet** - **diagrams.azure.compute.VMWindows** - **diagrams.azure.compute.VM** diff --git a/resources/azure/compute/vm-scale-set.png b/resources/azure/compute/vm-scale-set.png new file mode 100644 index 0000000000000000000000000000000000000000..f69874c027756c207f7cef0af915e397a7877a2f GIT binary patch literal 12462 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 I#v=Ux0W^XLAOHXW literal 0 HcmV?d00001