Selaa lähdekoodia

10.6.0 release

Former-commit-id: be084e144df187adeeb65c5f957fb2691854ffca
Gaudenz Alder 6 vuotta sitten
vanhempi
commit
29ddfc71df

+ 7 - 0
ChangeLog

@@ -1,3 +1,10 @@
+01-APR-2019: 10.6.0
+
+- Adds configuration section for Confluence for cloud
+- Free GDrive/OneDrive connector for Confluence cloud
+- Adds show with draw.io option in OneDrive connector
+- Improves handling of files with no extensions in GDrive connector
+
 27-MAR-2019: 10.5.9
 
 - Change to connection points and arrows trigger autosave

+ 1 - 1
VERSION

@@ -1 +1 @@
-10.5.9
+10.6.0

+ 690 - 1
src/main/java/com/mxgraph/io/gliffy/importer/gliffyTranslation.properties

@@ -716,6 +716,338 @@ com.gliffy.shape.aws.aws_v1.storage_and_content_delivery.amazon_s3_objects=mxgra
 com.gliffy.shape.aws.aws_v1.storage_and_content_delivery.aws_import_export=mxgraph.aws3.import_export;fillColor=#E05243
 com.gliffy.shape.aws.aws_v1.storage_and_content_delivery.aws_storage_gateway=mxgraph.aws3.storage_gateway;fillColor=#E05243
 #
+# AWS Isometric
+#
+# AWS AI
+gshape.aws_v2.ai.AI_AmazonLex=outlineConnect=0;fontColor=#232F3E;gradientColor=#4AB29A;gradientDirection=north;fillColor=#116D5B;strokeColor=#ffffff;dashed=0;verticalLabelPosition=bottom;verticalAlign=top;align=center;html=1;fontSize=12;fontStyle=0;aspect=fixed;shape=mxgraph.aws4.resourceIcon;resIcon=mxgraph.aws4.lex;
+gshape.aws_v2.ai.AI_AmazonMachineLearning=outlineConnect=0;fontColor=#232F3E;gradientColor=#4AB29A;gradientDirection=north;fillColor=#116D5B;strokeColor=#ffffff;dashed=0;verticalLabelPosition=bottom;verticalAlign=top;align=center;html=1;fontSize=12;fontStyle=0;aspect=fixed;shape=mxgraph.aws4.resourceIcon;resIcon=mxgraph.aws4.machine_learning;
+gshape.aws_v2.ai.AI_AmazonPolly=outlineConnect=0;fontColor=#232F3E;gradientColor=#4AB29A;gradientDirection=north;fillColor=#116D5B;strokeColor=#ffffff;dashed=0;verticalLabelPosition=bottom;verticalAlign=top;align=center;html=1;fontSize=12;fontStyle=0;aspect=fixed;shape=mxgraph.aws4.resourceIcon;resIcon=mxgraph.aws4.polly;
+gshape.aws_v2.ai.AI_AmazonRekognition=outlineConnect=0;fontColor=#232F3E;gradientColor=#4AB29A;gradientDirection=north;fillColor=#116D5B;strokeColor=#ffffff;dashed=0;verticalLabelPosition=bottom;verticalAlign=top;align=center;html=1;fontSize=12;fontStyle=0;aspect=fixed;shape=mxgraph.aws4.resourceIcon;resIcon=mxgraph.aws4.rekognition;
+# AWS ANALYTICS
+gshape.aws_v2.analytics.Analytics_AWSDataPipeline=outlineConnect=0;fontColor=#232F3E;gradientColor=#945DF2;gradientDirection=north;fillColor=#5A30B5;strokeColor=#ffffff;dashed=0;verticalLabelPosition=bottom;verticalAlign=top;align=center;html=1;fontSize=12;fontStyle=0;aspect=fixed;shape=mxgraph.aws4.resourceIcon;resIcon=mxgraph.aws4.data_pipeline;
+gshape.aws_v2.analytics.Analytics_AWSGlue=outlineConnect=0;fontColor=#232F3E;gradientColor=#945DF2;gradientDirection=north;fillColor=#5A30B5;strokeColor=#ffffff;dashed=0;verticalLabelPosition=bottom;verticalAlign=top;align=center;html=1;fontSize=12;fontStyle=0;aspect=fixed;shape=mxgraph.aws4.resourceIcon;resIcon=mxgraph.aws4.glue;
+gshape.aws_v2.analytics.Analytics_AmazonAthena=outlineConnect=0;fontColor=#232F3E;gradientColor=#945DF2;gradientDirection=north;fillColor=#5A30B5;strokeColor=#ffffff;dashed=0;verticalLabelPosition=bottom;verticalAlign=top;align=center;html=1;fontSize=12;fontStyle=0;aspect=fixed;shape=mxgraph.aws4.resourceIcon;resIcon=mxgraph.aws4.athena;
+gshape.aws_v2.analytics.Analytics_AmazonCloudSearch=outlineConnect=0;fontColor=#232F3E;gradientColor=#945DF2;gradientDirection=north;fillColor=#5A30B5;strokeColor=#ffffff;dashed=0;verticalLabelPosition=bottom;verticalAlign=top;align=center;html=1;fontSize=12;fontStyle=0;aspect=fixed;shape=mxgraph.aws4.resourceIcon;resIcon=mxgraph.aws4.cloudsearch;
+gshape.aws_v2.analytics.Analytics_AmazonCloudSearch_searchdocuments=outlineConnect=0;fontColor=#232F3E;gradientColor=none;fillColor=#5A30B5;strokeColor=none;dashed=0;verticalLabelPosition=bottom;verticalAlign=top;align=center;html=1;fontSize=12;fontStyle=0;aspect=fixed;shape=mxgraph.aws4.search_documents;
+gshape.aws_v2.analytics.Analytics_AmazonEMR=outlineConnect=0;fontColor=#232F3E;gradientColor=#945DF2;gradientDirection=north;fillColor=#5A30B5;strokeColor=#ffffff;dashed=0;verticalLabelPosition=bottom;verticalAlign=top;align=center;html=1;fontSize=12;fontStyle=0;aspect=fixed;shape=mxgraph.aws4.resourceIcon;resIcon=mxgraph.aws4.emr;
+gshape.aws_v2.analytics.Analytics_AmazonEMR_EMRengine=outlineConnect=0;fontColor=#232F3E;gradientColor=none;fillColor=#5A30B5;strokeColor=none;dashed=0;verticalLabelPosition=bottom;verticalAlign=top;align=center;html=1;fontSize=12;fontStyle=0;aspect=fixed;shape=mxgraph.aws4.emr_engine;
+gshape.aws_v2.analytics.Analytics_AmazonEMR_EMRengineMapRM3=outlineConnect=0;fontColor=#232F3E;gradientColor=none;fillColor=#5A30B5;strokeColor=none;dashed=0;verticalLabelPosition=bottom;verticalAlign=top;align=center;html=1;fontSize=12;fontStyle=0;aspect=fixed;shape=mxgraph.aws4.emr_engine_mapr_m3;
+gshape.aws_v2.analytics.Analytics_AmazonEMR_EMRengineMapRM5=outlineConnect=0;fontColor=#232F3E;gradientColor=none;fillColor=#5A30B5;strokeColor=none;dashed=0;verticalLabelPosition=bottom;verticalAlign=top;align=center;html=1;fontSize=12;fontStyle=0;aspect=fixed;shape=mxgraph.aws4.emr_engine_mapr_m5;
+gshape.aws_v2.analytics.Analytics_AmazonEMR_EMRengineMapRM7=outlineConnect=0;fontColor=#232F3E;gradientColor=none;fillColor=#5A30B5;strokeColor=none;dashed=0;verticalLabelPosition=bottom;verticalAlign=top;align=center;html=1;fontSize=12;fontStyle=0;aspect=fixed;shape=mxgraph.aws4.emr_engine_mapr_m7;
+gshape.aws_v2.analytics.Analytics_AmazonEMR_HDFScluster=outlineConnect=0;fontColor=#232F3E;gradientColor=none;fillColor=#5A30B5;strokeColor=none;dashed=0;verticalLabelPosition=bottom;verticalAlign=top;align=center;html=1;fontSize=12;fontStyle=0;aspect=fixed;shape=mxgraph.aws4.hdfs_cluster;
+gshape.aws_v2.analytics.Analytics_AmazonEMR_cluster=outlineConnect=0;fontColor=#232F3E;gradientColor=none;fillColor=#5A30B5;strokeColor=none;dashed=0;verticalLabelPosition=bottom;verticalAlign=top;align=center;html=1;fontSize=12;fontStyle=0;aspect=fixed;shape=mxgraph.aws4.cluster;
+gshape.aws_v2.analytics.Analytics_AmazonES=outlineConnect=0;fontColor=#232F3E;gradientColor=#945DF2;gradientDirection=north;fillColor=#5A30B5;strokeColor=#ffffff;dashed=0;verticalLabelPosition=bottom;verticalAlign=top;align=center;html=1;fontSize=12;fontStyle=0;aspect=fixed;shape=mxgraph.aws4.resourceIcon;resIcon=mxgraph.aws4.elasticsearch_service;
+gshape.aws_v2.analytics.Analytics_AmazonKinesis=outlineConnect=0;fontColor=#232F3E;gradientColor=#945DF2;gradientDirection=north;fillColor=#5A30B5;strokeColor=#ffffff;dashed=0;verticalLabelPosition=bottom;verticalAlign=top;align=center;html=1;fontSize=12;fontStyle=0;aspect=fixed;shape=mxgraph.aws4.resourceIcon;resIcon=mxgraph.aws4.kinesis;
+gshape.aws_v2.analytics.Analytics_AmazonKinesis_AmazonKinesisAnalytics=outlineConnect=0;fontColor=#232F3E;gradientColor=#945DF2;gradientDirection=north;fillColor=#5A30B5;strokeColor=#ffffff;dashed=0;verticalLabelPosition=bottom;verticalAlign=top;align=center;html=1;fontSize=12;fontStyle=0;aspect=fixed;shape=mxgraph.aws4.resourceIcon;resIcon=mxgraph.aws4.kinesis_data_analytics;
+gshape.aws_v2.analytics.Analytics_AmazonKinesis_AmazonKinesisFirehose=outlineConnect=0;fontColor=#232F3E;gradientColor=#945DF2;gradientDirection=north;fillColor=#5A30B5;strokeColor=#ffffff;dashed=0;verticalLabelPosition=bottom;verticalAlign=top;align=center;html=1;fontSize=12;fontStyle=0;aspect=fixed;shape=mxgraph.aws4.resourceIcon;resIcon=mxgraph.aws4.kinesis_data_firehose;
+gshape.aws_v2.analytics.Analytics_AmazonKinesis_AmazonKinesisStreams=outlineConnect=0;fontColor=#232F3E;gradientColor=#945DF2;gradientDirection=north;fillColor=#5A30B5;strokeColor=#ffffff;dashed=0;verticalLabelPosition=bottom;verticalAlign=top;align=center;html=1;fontSize=12;fontStyle=0;aspect=fixed;shape=mxgraph.aws4.resourceIcon;resIcon=mxgraph.aws4.kinesis_data_streams;
+gshape.aws_v2.analytics.Analytics_AmazonKinesis_AmazonKinesis_enabledapp=outlineConnect=0;fontColor=#232F3E;gradientColor=#945DF2;gradientDirection=north;fillColor=#5A30B5;strokeColor=#ffffff;dashed=0;verticalLabelPosition=bottom;verticalAlign=top;align=center;html=1;fontSize=12;fontStyle=0;aspect=fixed;shape=mxgraph.aws4.resourceIcon;resIcon=mxgraph.aws4.kinesis;
+gshape.aws_v2.analytics.Analytics_AmazonQuickSight=outlineConnect=0;fontColor=#232F3E;gradientColor=#945DF2;gradientDirection=north;fillColor=#5A30B5;strokeColor=#ffffff;dashed=0;verticalLabelPosition=bottom;verticalAlign=top;align=center;html=1;fontSize=12;fontStyle=0;aspect=fixed;shape=mxgraph.aws4.resourceIcon;resIcon=mxgraph.aws4.quicksight;
+gshape.aws_v2.analytics.Analytics_AmazonRedshift=outlineConnect=0;fontColor=#232F3E;gradientColor=#945DF2;gradientDirection=north;fillColor=#5A30B5;strokeColor=#ffffff;dashed=0;verticalLabelPosition=bottom;verticalAlign=top;align=center;html=1;fontSize=12;fontStyle=0;aspect=fixed;shape=mxgraph.aws4.resourceIcon;resIcon=mxgraph.aws4.redshift;
+gshape.aws_v2.analytics.Analytics_AmazonRedshift_densecomputenode=outlineConnect=0;fontColor=#232F3E;gradientColor=none;fillColor=#5A30B5;strokeColor=none;dashed=0;verticalLabelPosition=bottom;verticalAlign=top;align=center;html=1;fontSize=12;fontStyle=0;aspect=fixed;shape=mxgraph.aws4.dense_compute_node;
+gshape.aws_v2.analytics.Analytics_AmazonRedshift_densestoragenode=outlineConnect=0;fontColor=#232F3E;gradientColor=none;fillColor=#5A30B5;strokeColor=none;dashed=0;verticalLabelPosition=bottom;verticalAlign=top;align=center;html=1;fontSize=12;fontStyle=0;aspect=fixed;shape=mxgraph.aws4.dense_storage_node;
+# AWS APPLICATION SERVICES 
+gshape.aws_v2.application_services.ApplicationServices_AWSStepFunctions=outlineConnect=0;fontColor=#232F3E;gradientColor=#F34482;gradientDirection=north;fillColor=#BC1356;strokeColor=#ffffff;dashed=0;verticalLabelPosition=bottom;verticalAlign=top;align=center;html=1;fontSize=12;fontStyle=0;aspect=fixed;shape=mxgraph.aws4.resourceIcon;resIcon=mxgraph.aws4.step_functions;
+gshape.aws_v2.application_services.ApplicationServices_AmazonAPIGateway=outlineConnect=0;fontColor=#232F3E;gradientColor=#F54749;gradientDirection=north;fillColor=#C7131F;strokeColor=#ffffff;dashed=0;verticalLabelPosition=bottom;verticalAlign=top;align=center;html=1;fontSize=12;fontStyle=0;aspect=fixed;shape=mxgraph.aws4.resourceIcon;resIcon=mxgraph.aws4.api_gateway;
+gshape.aws_v2.application_services.ApplicationServices_AmazonElasticTranscoder=outlineConnect=0;fontColor=#232F3E;gradientColor=#F78E04;gradientDirection=north;fillColor=#D05C17;strokeColor=#ffffff;dashed=0;verticalLabelPosition=bottom;verticalAlign=top;align=center;html=1;fontSize=12;fontStyle=0;aspect=fixed;shape=mxgraph.aws4.resourceIcon;resIcon=mxgraph.aws4.elastic_transcoder;
+gshape.aws_v2.application_services.ApplicationServices_AmazonSWF=outlineConnect=0;dashed=0;verticalLabelPosition=bottom;verticalAlign=top;align=center;html=1;shape=mxgraph.aws3.swf;fillColor=#D9A741;gradientColor=none;
+gshape.aws_v2.application_services.ApplicationServices_AmazonSWF_decider=outlineConnect=0;dashed=0;verticalLabelPosition=bottom;verticalAlign=top;align=center;html=1;shape=mxgraph.aws3.decider;fillColor=#D9A741;gradientColor=none;
+gshape.aws_v2.application_services.ApplicationServices_AmazonSWF_worker=outlineConnect=0;dashed=0;verticalLabelPosition=bottom;verticalAlign=top;align=center;html=1;shape=mxgraph.aws3.worker;fillColor=#D9A741;gradientColor=none;
+# AWS BUSINESS PRODUCTIVITY
+gshape.aws_v2.business_productivity.BusinessProductivity_AmazonChime=outlineConnect=0;fontColor=#232F3E;gradientColor=#F54749;gradientDirection=north;fillColor=#C7131F;strokeColor=#ffffff;dashed=0;verticalLabelPosition=bottom;verticalAlign=top;align=center;html=1;fontSize=12;fontStyle=0;aspect=fixed;shape=mxgraph.aws4.resourceIcon;resIcon=mxgraph.aws4.chime;
+gshape.aws_v2.business_productivity.BusinessProductivity_AmazonWorkDocs=outlineConnect=0;dashed=0;verticalLabelPosition=bottom;verticalAlign=top;align=center;html=1;shape=mxgraph.aws3.workdocs;fillColor=#D16A28;gradientColor=#F58435;gradientDirection=north;
+gshape.aws_v2.business_productivity.BusinessProductivity_AmazonWorkMail=outlineConnect=0;dashed=0;verticalLabelPosition=bottom;verticalAlign=top;align=center;html=1;shape=mxgraph.aws3.workmail;fillColor=#D16A28;gradientColor=#F58435;gradientDirection=north;
+# AWS COMPUTE
+gshape.aws_v2.compute.Compute_AWSBatch=outlineConnect=0;fontColor=#232F3E;gradientColor=#F78E04;gradientDirection=north;fillColor=#D05C17;strokeColor=#ffffff;dashed=0;verticalLabelPosition=bottom;verticalAlign=top;align=center;html=1;fontSize=12;fontStyle=0;aspect=fixed;shape=mxgraph.aws4.resourceIcon;resIcon=mxgraph.aws4.batch;
+gshape.aws_v2.compute.Compute_AWSElasticBeanstalk=outlineConnect=0;fontColor=#232F3E;gradientColor=#F78E04;gradientDirection=north;fillColor=#D05C17;strokeColor=#ffffff;dashed=0;verticalLabelPosition=bottom;verticalAlign=top;align=center;html=1;fontSize=12;fontStyle=0;aspect=fixed;shape=mxgraph.aws4.resourceIcon;resIcon=mxgraph.aws4.elastic_beanstalk;
+gshape.aws_v2.compute.Compute_AWSElasticBeanstalk_application=outlineConnect=0;fontColor=#232F3E;gradientColor=none;fillColor=#D05C17;strokeColor=none;dashed=0;verticalLabelPosition=bottom;verticalAlign=top;align=center;html=1;fontSize=12;fontStyle=0;aspect=fixed;shape=mxgraph.aws4.application;
+gshape.aws_v2.compute.Compute_AWSElasticBeanstalk_deployment=outlineConnect=0;fontColor=#232F3E;gradientColor=none;fillColor=#D05C17;strokeColor=none;dashed=0;verticalLabelPosition=bottom;verticalAlign=top;align=center;html=1;fontSize=12;fontStyle=0;aspect=fixed;shape=mxgraph.aws4.deployment;
+gshape.aws_v2.compute.Compute_AWSLambda=outlineConnect=0;fontColor=#232F3E;gradientColor=#F78E04;gradientDirection=north;fillColor=#D05C17;strokeColor=#ffffff;dashed=0;verticalLabelPosition=bottom;verticalAlign=top;align=center;html=1;fontSize=12;fontStyle=0;aspect=fixed;shape=mxgraph.aws4.resourceIcon;resIcon=mxgraph.aws4.lambda;
+gshape.aws_v2.compute.Compute_AWSLambda_LambdaFunction=outlineConnect=0;fontColor=#232F3E;gradientColor=none;fillColor=#D05C17;strokeColor=none;dashed=0;verticalLabelPosition=bottom;verticalAlign=top;align=center;html=1;fontSize=12;fontStyle=0;aspect=fixed;shape=mxgraph.aws4.lambda_function;
+gshape.aws_v2.compute.Compute_AWSLambda_mod=outlineConnect=0;fontColor=#232F3E;gradientColor=#F78E04;gradientDirection=north;fillColor=#D05C17;strokeColor=#ffffff;dashed=0;verticalLabelPosition=bottom;verticalAlign=top;align=center;html=1;fontSize=12;fontStyle=0;aspect=fixed;shape=mxgraph.aws4.resourceIcon;resIcon=mxgraph.aws4.lambda;
+gshape.aws_v2.compute.Compute_AmazonEC2=outlineConnect=0;fontColor=#232F3E;gradientColor=#F78E04;gradientDirection=north;fillColor=#D05C17;strokeColor=#ffffff;dashed=0;verticalLabelPosition=bottom;verticalAlign=top;align=center;html=1;fontSize=12;fontStyle=0;aspect=fixed;shape=mxgraph.aws4.resourceIcon;resIcon=mxgraph.aws4.ec2;
+gshape.aws_v2.compute.Compute_AmazonEC2_AMI=outlineConnect=0;fontColor=#232F3E;gradientColor=none;fillColor=#D05C17;strokeColor=none;dashed=0;verticalLabelPosition=bottom;verticalAlign=top;align=center;html=1;fontSize=12;fontStyle=0;aspect=fixed;shape=mxgraph.aws4.ami;
+gshape.aws_v2.compute.Compute_AmazonEC2_AutoScaling=outlineConnect=0;fontColor=#232F3E;gradientColor=#F78E04;gradientDirection=north;fillColor=#D05C17;strokeColor=#ffffff;dashed=0;verticalLabelPosition=bottom;verticalAlign=top;align=center;html=1;fontSize=12;fontStyle=0;aspect=fixed;shape=mxgraph.aws4.resourceIcon;resIcon=mxgraph.aws4.auto_scaling2;
+gshape.aws_v2.compute.Compute_AmazonEC2_DBoninstance=outlineConnect=0;fontColor=#232F3E;gradientColor=none;strokeColor=#232F3E;fillColor=#ffffff;dashed=0;verticalLabelPosition=bottom;verticalAlign=top;align=center;html=1;fontSize=12;fontStyle=0;aspect=fixed;shape=mxgraph.aws4.resourceIcon;resIcon=mxgraph.aws4.db_on_instance;
+gshape.aws_v2.compute.Compute_AmazonEC2_EC2rescue=outlineConnect=0;fontColor=#232F3E;gradientColor=none;fillColor=#D05C17;strokeColor=none;dashed=0;verticalLabelPosition=bottom;verticalAlign=top;align=center;html=1;fontSize=12;fontStyle=0;aspect=fixed;shape=mxgraph.aws4.rescue;
+gshape.aws_v2.compute.Compute_AmazonEC2_ElasticIPaddress=outlineConnect=0;fontColor=#232F3E;gradientColor=none;fillColor=#D05C17;strokeColor=none;dashed=0;verticalLabelPosition=bottom;verticalAlign=top;align=center;html=1;fontSize=12;fontStyle=0;aspect=fixed;shape=mxgraph.aws4.elastic_ip_address;
+gshape.aws_v2.compute.Compute_AmazonEC2_SpotFleet=outlineConnect=0;gradientColor=none;html=1;whiteSpace=wrap;fontSize=12;fontStyle=0;shape=mxgraph.aws4.group;grIcon=mxgraph.aws4.group_spot_fleet;strokeColor=#D86613;fillColor=none;verticalAlign=top;align=left;spacingLeft=30;fontColor=#D86613;dashed=0;
+gshape.aws_v2.compute.Compute_AmazonEC2_SpotInstance=outlineConnect=0;fontColor=#232F3E;gradientColor=none;fillColor=#D86613;strokeColor=none;dashed=0;verticalLabelPosition=bottom;verticalAlign=top;align=center;html=1;fontSize=12;fontStyle=0;aspect=fixed;shape=mxgraph.aws4.spot_instance;
+gshape.aws_v2.compute.Compute_AmazonEC2_X1instance=outlineConnect=0;fontColor=#232F3E;gradientColor=none;fillColor=#D86613;strokeColor=none;dashed=0;verticalLabelPosition=bottom;verticalAlign=top;align=center;html=1;fontSize=12;fontStyle=0;aspect=fixed;shape=mxgraph.aws4.x1_instance2;
+gshape.aws_v2.compute.Compute_AmazonEC2_instance=outlineConnect=0;fontColor=#232F3E;gradientColor=none;fillColor=#D86613;strokeColor=none;dashed=0;verticalLabelPosition=bottom;verticalAlign=top;align=center;html=1;fontSize=12;fontStyle=0;aspect=fixed;shape=mxgraph.aws4.instance2;
+gshape.aws_v2.compute.Compute_AmazonEC2_instances=outlineConnect=0;fontColor=#232F3E;gradientColor=none;fillColor=#D86613;strokeColor=none;dashed=0;verticalLabelPosition=bottom;verticalAlign=top;align=center;html=1;fontSize=12;fontStyle=0;aspect=fixed;shape=mxgraph.aws4.instances;
+gshape.aws_v2.compute.Compute_AmazonEC2_instancewithCloudWatch=outlineConnect=0;fontColor=#232F3E;gradientColor=none;fillColor=#D86613;strokeColor=none;dashed=0;verticalLabelPosition=bottom;verticalAlign=top;align=center;html=1;fontSize=12;fontStyle=0;aspect=fixed;shape=mxgraph.aws4.instance_with_cloudwatch2;
+gshape.aws_v2.compute.Compute_AmazonEC2_optimizedinstance=outlineConnect=0;fontColor=#232F3E;gradientColor=none;fillColor=#D86613;strokeColor=none;dashed=0;verticalLabelPosition=bottom;verticalAlign=top;align=center;html=1;fontSize=12;fontStyle=0;aspect=fixed;shape=mxgraph.aws4.optimized_instance;
+gshape.aws_v2.compute.Compute_AmazonECR=outlineConnect=0;fontColor=#232F3E;gradientColor=#F78E04;gradientDirection=north;fillColor=#D05C17;strokeColor=#ffffff;dashed=0;verticalLabelPosition=bottom;verticalAlign=top;align=center;html=1;fontSize=12;fontStyle=0;aspect=fixed;shape=mxgraph.aws4.resourceIcon;resIcon=mxgraph.aws4.ecr;
+gshape.aws_v2.compute.Compute_AmazonECR_ECRRegistry=outlineConnect=0;fontColor=#232F3E;gradientColor=#F78E04;gradientDirection=north;fillColor=#D05C17;strokeColor=#ffffff;dashed=0;verticalLabelPosition=bottom;verticalAlign=top;align=center;html=1;fontSize=12;fontStyle=0;aspect=fixed;shape=mxgraph.aws4.resourceIcon;resIcon=mxgraph.aws4.ecr;
+gshape.aws_v2.compute.Compute_AmazonECS=outlineConnect=0;fontColor=#232F3E;gradientColor=#F78E04;gradientDirection=north;fillColor=#D05C17;strokeColor=#ffffff;dashed=0;verticalLabelPosition=bottom;verticalAlign=top;align=center;html=1;fontSize=12;fontStyle=0;aspect=fixed;shape=mxgraph.aws4.resourceIcon;resIcon=mxgraph.aws4.ecs;
+gshape.aws_v2.compute.Compute_AmazonECS_ECScontainer=outlineConnect=0;fontColor=#232F3E;gradientColor=none;fillColor=#D05C17;strokeColor=none;dashed=0;verticalLabelPosition=bottom;verticalAlign=top;align=center;html=1;fontSize=12;fontStyle=0;aspect=fixed;shape=mxgraph.aws4.container_1;
+gshape.aws_v2.compute.Compute_AmazonECS_ECScontainer_Alt1=outlineConnect=0;fontColor=#232F3E;gradientColor=none;fillColor=#D05C17;strokeColor=none;dashed=0;verticalLabelPosition=bottom;verticalAlign=top;align=center;html=1;fontSize=12;fontStyle=0;aspect=fixed;shape=mxgraph.aws4.container_2;
+gshape.aws_v2.compute.Compute_AmazonECS_ECScontainer_Alt2=outlineConnect=0;fontColor=#232F3E;gradientColor=none;fillColor=#D05C17;strokeColor=none;dashed=0;verticalLabelPosition=bottom;verticalAlign=top;align=center;html=1;fontSize=12;fontStyle=0;aspect=fixed;shape=mxgraph.aws4.container_3;
+gshape.aws_v2.compute.Compute_AmazonLightsail=outlineConnect=0;fontColor=#232F3E;gradientColor=#F78E04;gradientDirection=north;fillColor=#D05C17;strokeColor=#ffffff;dashed=0;verticalLabelPosition=bottom;verticalAlign=top;align=center;html=1;fontSize=12;fontStyle=0;aspect=fixed;shape=mxgraph.aws4.resourceIcon;resIcon=mxgraph.aws4.lightsail;
+gshape.aws_v2.compute.Compute_AmazonVPC=outlineConnect=0;fontColor=#232F3E;gradientColor=#945DF2;gradientDirection=north;fillColor=#5A30B5;strokeColor=#ffffff;dashed=0;verticalLabelPosition=bottom;verticalAlign=top;align=center;html=1;fontSize=12;fontStyle=0;aspect=fixed;shape=mxgraph.aws4.resourceIcon;resIcon=mxgraph.aws4.vpc;
+gshape.aws_v2.compute.Compute_AmazonVPC_Internetgateway=outlineConnect=0;fontColor=#232F3E;gradientColor=none;fillColor=#5A30B5;strokeColor=none;dashed=0;verticalLabelPosition=bottom;verticalAlign=top;align=center;html=1;fontSize=12;fontStyle=0;aspect=fixed;shape=mxgraph.aws4.internet_gateway;
+gshape.aws_v2.compute.Compute_AmazonVPC_VPCNATgateway=outlineConnect=0;fontColor=#232F3E;gradientColor=none;fillColor=#5A30B5;strokeColor=none;dashed=0;verticalLabelPosition=bottom;verticalAlign=top;align=center;html=1;fontSize=12;fontStyle=0;aspect=fixed;shape=mxgraph.aws4.nat_gateway;
+gshape.aws_v2.compute.Compute_AmazonVPC_VPCpeering=outlineConnect=0;fontColor=#232F3E;gradientColor=none;fillColor=#5A30B5;strokeColor=none;dashed=0;verticalLabelPosition=bottom;verticalAlign=top;align=center;html=1;fontSize=12;fontStyle=0;aspect=fixed;shape=mxgraph.aws4.peering;
+gshape.aws_v2.compute.Compute_AmazonVPC_VPNconnection=outlineConnect=0;fontColor=#232F3E;gradientColor=none;fillColor=#5A30B5;strokeColor=none;dashed=0;verticalLabelPosition=bottom;verticalAlign=top;align=center;html=1;fontSize=12;fontStyle=0;aspect=fixed;shape=mxgraph.aws4.vpn_connection;
+gshape.aws_v2.compute.Compute_AmazonVPC_VPNgateway=outlineConnect=0;fontColor=#232F3E;gradientColor=none;fillColor=#5A30B5;strokeColor=none;dashed=0;verticalLabelPosition=bottom;verticalAlign=top;align=center;html=1;fontSize=12;fontStyle=0;aspect=fixed;shape=mxgraph.aws4.vpn_gateway;
+gshape.aws_v2.compute.Compute_AmazonVPC_customergateway=outlineConnect=0;fontColor=#232F3E;gradientColor=none;fillColor=#5A30B5;strokeColor=none;dashed=0;verticalLabelPosition=bottom;verticalAlign=top;align=center;html=1;fontSize=12;fontStyle=0;aspect=fixed;shape=mxgraph.aws4.customer_gateway;
+gshape.aws_v2.compute.Compute_AmazonVPC_elasticnetworkadapter=outlineConnect=0;fontColor=#232F3E;gradientColor=none;fillColor=#5A30B5;strokeColor=none;dashed=0;verticalLabelPosition=bottom;verticalAlign=top;align=center;html=1;fontSize=12;fontStyle=0;aspect=fixed;shape=mxgraph.aws4.elastic_network_adapter;
+gshape.aws_v2.compute.Compute_AmazonVPC_elasticnetworkinterface=outlineConnect=0;fontColor=#232F3E;gradientColor=none;fillColor=#5A30B5;strokeColor=none;dashed=0;verticalLabelPosition=bottom;verticalAlign=top;align=center;html=1;fontSize=12;fontStyle=0;aspect=fixed;shape=mxgraph.aws4.elastic_network_interface;
+gshape.aws_v2.compute.Compute_AmazonVPC_endpoints=outlineConnect=0;fontColor=#232F3E;gradientColor=none;fillColor=#5A30B5;strokeColor=none;dashed=0;verticalLabelPosition=bottom;verticalAlign=top;align=center;html=1;fontSize=12;fontStyle=0;aspect=fixed;shape=mxgraph.aws4.endpoints;
+gshape.aws_v2.compute.Compute_AmazonVPC_flowlogs=outlineConnect=0;fontColor=#232F3E;gradientColor=none;fillColor=#5A30B5;strokeColor=none;dashed=0;verticalLabelPosition=bottom;verticalAlign=top;align=center;html=1;fontSize=12;fontStyle=0;aspect=fixed;shape=mxgraph.aws4.flow_logs;
+gshape.aws_v2.compute.Compute_AmazonVPC_networkaccesscontrollist=outlineConnect=0;fontColor=#232F3E;gradientColor=none;fillColor=#5A30B5;strokeColor=none;dashed=0;verticalLabelPosition=bottom;verticalAlign=top;align=center;html=1;fontSize=12;fontStyle=0;aspect=fixed;shape=mxgraph.aws4.network_access_control_list;
+gshape.aws_v2.compute.Compute_AmazonVPC_router=outlineConnect=0;fontColor=#232F3E;gradientColor=none;fillColor=#5A30B5;strokeColor=none;dashed=0;verticalLabelPosition=bottom;verticalAlign=top;align=center;html=1;fontSize=12;fontStyle=0;aspect=fixed;shape=mxgraph.aws4.router;
+gshape.aws_v2.compute.Compute_ElasticLoadBalancing=outlineConnect=0;fontColor=#232F3E;gradientColor=#F78E04;gradientDirection=north;fillColor=#D05C17;strokeColor=#ffffff;dashed=0;verticalLabelPosition=bottom;verticalAlign=top;align=center;html=1;fontSize=12;fontStyle=0;aspect=fixed;shape=mxgraph.aws4.resourceIcon;resIcon=mxgraph.aws4.elastic_load_balancing;
+gshape.aws_v2.compute.Compute_ElasticLoadBalancing_ApplicationLoadBalancer=outlineConnect=0;fontColor=#232F3E;gradientColor=#F78E04;gradientDirection=north;fillColor=#D05C17;strokeColor=#ffffff;dashed=0;verticalLabelPosition=bottom;verticalAlign=top;align=center;html=1;fontSize=12;fontStyle=0;aspect=fixed;shape=mxgraph.aws4.resourceIcon;resIcon=mxgraph.aws4.application_load_balancer;
+gshape.aws_v2.compute.Compute_ElasticLoadBalancing_ELLoadBalancer=outlineConnect=0;fontColor=#232F3E;gradientColor=#F78E04;gradientDirection=north;fillColor=#D05C17;strokeColor=#ffffff;dashed=0;verticalLabelPosition=bottom;verticalAlign=top;align=center;html=1;fontSize=12;fontStyle=0;aspect=fixed;shape=mxgraph.aws4.resourceIcon;resIcon=mxgraph.aws4.elastic_load_balancing;
+# AWS CONTACT CENTER
+gshape.aws_v2.contact_center.ContactCenter_AmazonConnect=outlineConnect=0;fontColor=#232F3E;gradientColor=#4D72F3;gradientDirection=north;fillColor=#3334B9;strokeColor=#ffffff;dashed=0;verticalLabelPosition=bottom;verticalAlign=top;align=center;html=1;fontSize=12;fontStyle=0;aspect=fixed;shape=mxgraph.aws4.resourceIcon;resIcon=mxgraph.aws4.connect;
+# AWS DATABASE
+gshape.aws_v2.database.Database_AWSDMS=outlineConnect=0;fontColor=#232F3E;gradientColor=#4D72F3;gradientDirection=north;fillColor=#3334B9;strokeColor=#ffffff;dashed=0;verticalLabelPosition=bottom;verticalAlign=top;align=center;html=1;fontSize=12;fontStyle=0;aspect=fixed;shape=mxgraph.aws4.resourceIcon;resIcon=mxgraph.aws4.database_migration_service;
+gshape.aws_v2.database.Database_AWSDMS_databasemigrationworkflowjob=outlineConnect=0;fontColor=#232F3E;gradientColor=none;fillColor=#3334B9;strokeColor=none;dashed=0;verticalLabelPosition=bottom;verticalAlign=top;align=center;html=1;fontSize=12;fontStyle=0;aspect=fixed;shape=mxgraph.aws4.database_migration_workflow_job;
+gshape.aws_v2.database.Database_AmazonDynamoDB=outlineConnect=0;fontColor=#232F3E;gradientColor=#4D72F3;gradientDirection=north;fillColor=#3334B9;strokeColor=#ffffff;dashed=0;verticalLabelPosition=bottom;verticalAlign=top;align=center;html=1;fontSize=12;fontStyle=0;aspect=fixed;shape=mxgraph.aws4.resourceIcon;resIcon=mxgraph.aws4.database;
+gshape.aws_v2.database.Database_AmazonDynamoDBAccelerator=outlineConnect=0;fontColor=#232F3E;gradientColor=#4D72F3;gradientDirection=north;fillColor=#3334B9;strokeColor=#ffffff;dashed=0;verticalLabelPosition=bottom;verticalAlign=top;align=center;html=1;fontSize=12;fontStyle=0;aspect=fixed;shape=mxgraph.aws4.resourceIcon;resIcon=mxgraph.aws4.dynamodb;
+gshape.aws_v2.database.Database_AmazonDynamoDB_attribute=outlineConnect=0;fontColor=#232F3E;gradientColor=none;fillColor=#3334B9;strokeColor=none;dashed=0;verticalLabelPosition=bottom;verticalAlign=top;align=center;html=1;fontSize=12;fontStyle=0;aspect=fixed;shape=mxgraph.aws4.attribute;
+gshape.aws_v2.database.Database_AmazonDynamoDB_attributes=outlineConnect=0;fontColor=#232F3E;gradientColor=none;fillColor=#3334B9;strokeColor=none;dashed=0;verticalLabelPosition=bottom;verticalAlign=top;align=center;html=1;fontSize=12;fontStyle=0;aspect=fixed;shape=mxgraph.aws4.attributes;
+gshape.aws_v2.database.Database_AmazonDynamoDB_globalsecondaryindex=outlineConnect=0;fontColor=#232F3E;gradientColor=none;fillColor=#3334B9;strokeColor=none;dashed=0;verticalLabelPosition=bottom;verticalAlign=top;align=center;html=1;fontSize=12;fontStyle=0;aspect=fixed;shape=mxgraph.aws4.global_secondary_index;
+gshape.aws_v2.database.Database_AmazonDynamoDB_item=outlineConnect=0;fontColor=#232F3E;gradientColor=none;fillColor=#3334B9;strokeColor=none;dashed=0;verticalLabelPosition=bottom;verticalAlign=top;align=center;html=1;fontSize=12;fontStyle=0;aspect=fixed;shape=mxgraph.aws4.item;
+gshape.aws_v2.database.Database_AmazonDynamoDB_items=outlineConnect=0;fontColor=#232F3E;gradientColor=none;fillColor=#3334B9;strokeColor=none;dashed=0;verticalLabelPosition=bottom;verticalAlign=top;align=center;html=1;fontSize=12;fontStyle=0;aspect=fixed;shape=mxgraph.aws4.items;
+gshape.aws_v2.database.Database_AmazonDynamoDB_table=outlineConnect=0;fontColor=#232F3E;gradientColor=none;fillColor=#3334B9;strokeColor=none;dashed=0;verticalLabelPosition=bottom;verticalAlign=top;align=center;html=1;fontSize=12;fontStyle=0;aspect=fixed;shape=mxgraph.aws4.table;
+gshape.aws_v2.database.Database_AmazonElasticCache=outlineConnect=0;fontColor=#232F3E;gradientColor=#4D72F3;gradientDirection=north;fillColor=#3334B9;strokeColor=#ffffff;dashed=0;verticalLabelPosition=bottom;verticalAlign=top;align=center;html=1;fontSize=12;fontStyle=0;aspect=fixed;shape=mxgraph.aws4.resourceIcon;resIcon=mxgraph.aws4.elasticache;
+gshape.aws_v2.database.Database_AmazonElasticCache_Memcached=outlineConnect=0;fontColor=#232F3E;gradientColor=none;fillColor=#3334B9;strokeColor=none;dashed=0;verticalLabelPosition=bottom;verticalAlign=top;align=center;html=1;fontSize=12;fontStyle=0;aspect=fixed;shape=mxgraph.aws4.elasticache_for_memcached;
+gshape.aws_v2.database.Database_AmazonElasticCache_Redis=outlineConnect=0;fontColor=#232F3E;gradientColor=none;fillColor=#3334B9;strokeColor=none;dashed=0;verticalLabelPosition=bottom;verticalAlign=top;align=center;html=1;fontSize=12;fontStyle=0;aspect=fixed;shape=mxgraph.aws4.elasticache_for_redis;
+gshape.aws_v2.database.Database_AmazonElasticCache_cachenode=outlineConnect=0;fontColor=#232F3E;gradientColor=none;fillColor=#3334B9;strokeColor=none;dashed=0;verticalLabelPosition=bottom;verticalAlign=top;align=center;html=1;fontSize=12;fontStyle=0;aspect=fixed;shape=mxgraph.aws4.cache_node;
+gshape.aws_v2.database.Database_AmazonRDS=outlineConnect=0;fontColor=#232F3E;gradientColor=#4D72F3;gradientDirection=north;fillColor=#3334B9;strokeColor=#ffffff;dashed=0;verticalLabelPosition=bottom;verticalAlign=top;align=center;html=1;fontSize=12;fontStyle=0;aspect=fixed;shape=mxgraph.aws4.resourceIcon;resIcon=mxgraph.aws4.rds;
+gshape.aws_v2.database.Database_AmazonRDS_DBinstance=outlineConnect=0;fontColor=#232F3E;gradientColor=none;strokeColor=#232F3E;fillColor=#ffffff;dashed=0;verticalLabelPosition=bottom;verticalAlign=top;align=center;html=1;fontSize=12;fontStyle=0;aspect=fixed;shape=mxgraph.aws4.resourceIcon;resIcon=mxgraph.aws4.db_instance;
+gshape.aws_v2.database.Database_AmazonRDS_MSSQLinstance=outlineConnect=0;fontColor=#232F3E;gradientColor=none;strokeColor=#232F3E;fillColor=#ffffff;dashed=0;verticalLabelPosition=bottom;verticalAlign=top;align=center;html=1;fontSize=12;fontStyle=0;aspect=fixed;shape=mxgraph.aws4.resourceIcon;resIcon=mxgraph.aws4.ms_sql_instance;
+gshape.aws_v2.database.Database_AmazonRDS_MSSQLinstancealternate=outlineConnect=0;fontColor=#232F3E;gradientColor=none;strokeColor=#232F3E;fillColor=#ffffff;dashed=0;verticalLabelPosition=bottom;verticalAlign=top;align=center;html=1;fontSize=12;fontStyle=0;aspect=fixed;shape=mxgraph.aws4.resourceIcon;resIcon=mxgraph.aws4.ms_sql_instance_alternate;
+gshape.aws_v2.database.Database_AmazonRDS_MySQLDBinstance=outlineConnect=0;fontColor=#232F3E;gradientColor=none;strokeColor=#232F3E;fillColor=#ffffff;dashed=0;verticalLabelPosition=bottom;verticalAlign=top;align=center;html=1;fontSize=12;fontStyle=0;aspect=fixed;shape=mxgraph.aws4.resourceIcon;resIcon=mxgraph.aws4.mysql_db_instance;
+gshape.aws_v2.database.Database_AmazonRDS_MySQLinstancealternate=outlineConnect=0;fontColor=#232F3E;gradientColor=none;strokeColor=#232F3E;fillColor=#ffffff;dashed=0;verticalLabelPosition=bottom;verticalAlign=top;align=center;html=1;fontSize=12;fontStyle=0;aspect=fixed;shape=mxgraph.aws4.resourceIcon;resIcon=mxgraph.aws4.mysql_db_instance_alternate;
+gshape.aws_v2.database.Database_AmazonRDS_OracleDBinstancealternate=outlineConnect=0;fontColor=#232F3E;gradientColor=none;strokeColor=#232F3E;fillColor=#ffffff;dashed=0;verticalLabelPosition=bottom;verticalAlign=top;align=center;html=1;fontSize=12;fontStyle=0;aspect=fixed;shape=mxgraph.aws4.resourceIcon;resIcon=mxgraph.aws4.oracle_db_instance_alternate;
+gshape.aws_v2.database.Database_AmazonRDS_PIOP=outlineConnect=0;fontColor=#232F3E;gradientColor=none;strokeColor=#232F3E;fillColor=#ffffff;dashed=0;verticalLabelPosition=bottom;verticalAlign=top;align=center;html=1;fontSize=12;fontStyle=0;aspect=fixed;shape=mxgraph.aws4.resourceIcon;resIcon=mxgraph.aws4.piop;
+gshape.aws_v2.database.Database_AmazonRDS_PostgreSQLinstance=outlineConnect=0;fontColor=#232F3E;gradientColor=none;strokeColor=#232F3E;fillColor=#ffffff;dashed=0;verticalLabelPosition=bottom;verticalAlign=top;align=center;html=1;fontSize=12;fontStyle=0;aspect=fixed;shape=mxgraph.aws4.resourceIcon;resIcon=mxgraph.aws4.postgresql_instance;
+gshape.aws_v2.database.Database_AmazonRDS_SQLmaster=outlineConnect=0;fontColor=#232F3E;gradientColor=none;strokeColor=#232F3E;fillColor=#ffffff;dashed=0;verticalLabelPosition=bottom;verticalAlign=top;align=center;html=1;fontSize=12;fontStyle=0;aspect=fixed;shape=mxgraph.aws4.resourceIcon;resIcon=mxgraph.aws4.sql_primary;
+gshape.aws_v2.database.Database_AmazonRDS_SQLslave=outlineConnect=0;fontColor=#232F3E;gradientColor=none;strokeColor=#232F3E;fillColor=#ffffff;dashed=0;verticalLabelPosition=bottom;verticalAlign=top;align=center;html=1;fontSize=12;fontStyle=0;aspect=fixed;shape=mxgraph.aws4.resourceIcon;resIcon=mxgraph.aws4.sql_replica;
+gshape.aws_v2.database.Database_AmazonRDS_instancereadreplica=outlineConnect=0;fontColor=#232F3E;gradientColor=none;strokeColor=#232F3E;fillColor=#ffffff;dashed=0;verticalLabelPosition=bottom;verticalAlign=top;align=center;html=1;fontSize=12;fontStyle=0;aspect=fixed;shape=mxgraph.aws4.resourceIcon;resIcon=mxgraph.aws4.db_instance_read_replica;
+gshape.aws_v2.database.Database_AmazonRDS_instancestandby=outlineConnect=0;fontColor=#232F3E;gradientColor=none;strokeColor=#232F3E;fillColor=#ffffff;dashed=0;verticalLabelPosition=bottom;verticalAlign=top;align=center;html=1;fontSize=12;fontStyle=0;aspect=fixed;shape=mxgraph.aws4.resourceIcon;resIcon=mxgraph.aws4.db_instance_standby;
+gshape.aws_v2.database.Database_AmazonRDS_oracleDBinstance=outlineConnect=0;fontColor=#232F3E;gradientColor=none;strokeColor=#232F3E;fillColor=#ffffff;dashed=0;verticalLabelPosition=bottom;verticalAlign=top;align=center;html=1;fontSize=12;fontStyle=0;aspect=fixed;shape=mxgraph.aws4.resourceIcon;resIcon=mxgraph.aws4.oracle_db_instance;
+gshape.aws_v2.database.Database_AmazonRedshift=outlineConnect=0;fontColor=#232F3E;gradientColor=#4D72F3;gradientDirection=north;fillColor=#3334B9;strokeColor=#ffffff;dashed=0;verticalLabelPosition=bottom;verticalAlign=top;align=center;html=1;fontSize=12;fontStyle=0;aspect=fixed;shape=mxgraph.aws4.resourceIcon;resIcon=mxgraph.aws4.redshift;
+gshape.aws_v2.database.Database_AmazonRedshift_densecomputenode=outlineConnect=0;fontColor=#232F3E;gradientColor=none;fillColor=#3334B9;strokeColor=none;dashed=0;verticalLabelPosition=bottom;verticalAlign=top;align=center;html=1;fontSize=12;fontStyle=0;aspect=fixed;shape=mxgraph.aws4.dense_compute_node;
+gshape.aws_v2.database.Database_AmazonRedshift_densestoragenode=outlineConnect=0;fontColor=#232F3E;gradientColor=none;fillColor=#3334B9;strokeColor=none;dashed=0;verticalLabelPosition=bottom;verticalAlign=top;align=center;html=1;fontSize=12;fontStyle=0;aspect=fixed;shape=mxgraph.aws4.dense_storage_node;
+# AWS DESKTOP APP STREAMING
+gshape.aws_v2.desktop_and_app_streaming.DesktopAppStreaming_AmazonAppStream2.0=outlineConnect=0;fontColor=#232F3E;gradientColor=#4AB29A;gradientDirection=north;fillColor=#116D5B;strokeColor=#ffffff;dashed=0;verticalLabelPosition=bottom;verticalAlign=top;align=center;html=1;fontSize=12;fontStyle=0;aspect=fixed;shape=mxgraph.aws4.resourceIcon;resIcon=mxgraph.aws4.appstream_20;
+gshape.aws_v2.desktop_and_app_streaming.DesktopAppStreaming_AmazonWorkSpaces=outlineConnect=0;fontColor=#232F3E;gradientColor=#4AB29A;gradientDirection=north;fillColor=#116D5B;strokeColor=#ffffff;dashed=0;verticalLabelPosition=bottom;verticalAlign=top;align=center;html=1;fontSize=12;fontStyle=0;aspect=fixed;shape=mxgraph.aws4.resourceIcon;resIcon=mxgraph.aws4.workspaces;
+# AWS DEVELOPER TOOLS
+gshape.aws_v2.developer_tools.DeveloperTools_AWSCodeBuild=outlineConnect=0;fontColor=#232F3E;gradientColor=#4D72F3;gradientDirection=north;fillColor=#3334B9;strokeColor=#ffffff;dashed=0;verticalLabelPosition=bottom;verticalAlign=top;align=center;html=1;fontSize=12;fontStyle=0;aspect=fixed;shape=mxgraph.aws4.resourceIcon;resIcon=mxgraph.aws4.codebuild;
+gshape.aws_v2.developer_tools.DeveloperTools_AWSCodeCommit=outlineConnect=0;fontColor=#232F3E;gradientColor=#4D72F3;gradientDirection=north;fillColor=#3334B9;strokeColor=#ffffff;dashed=0;verticalLabelPosition=bottom;verticalAlign=top;align=center;html=1;fontSize=12;fontStyle=0;aspect=fixed;shape=mxgraph.aws4.resourceIcon;resIcon=mxgraph.aws4.codecommit;
+gshape.aws_v2.developer_tools.DeveloperTools_AWSCodeDeploy=outlineConnect=0;fontColor=#232F3E;gradientColor=#4D72F3;gradientDirection=north;fillColor=#3334B9;strokeColor=#ffffff;dashed=0;verticalLabelPosition=bottom;verticalAlign=top;align=center;html=1;fontSize=12;fontStyle=0;aspect=fixed;shape=mxgraph.aws4.resourceIcon;resIcon=mxgraph.aws4.codedeploy;
+gshape.aws_v2.developer_tools.DeveloperTools_AWSCodePipeline=outlineConnect=0;fontColor=#232F3E;gradientColor=#4D72F3;gradientDirection=north;fillColor=#3334B9;strokeColor=#ffffff;dashed=0;verticalLabelPosition=bottom;verticalAlign=top;align=center;html=1;fontSize=12;fontStyle=0;aspect=fixed;shape=mxgraph.aws4.resourceIcon;resIcon=mxgraph.aws4.codepipeline;
+gshape.aws_v2.developer_tools.DeveloperTools_AWSCodeStar=outlineConnect=0;fontColor=#232F3E;gradientColor=#4D72F3;gradientDirection=north;fillColor=#3334B9;strokeColor=#ffffff;dashed=0;verticalLabelPosition=bottom;verticalAlign=top;align=center;html=1;fontSize=12;fontStyle=0;aspect=fixed;shape=mxgraph.aws4.resourceIcon;resIcon=mxgraph.aws4.codestar;
+gshape.aws_v2.developer_tools.DeveloperTools_AWSX_Ray=outlineConnect=0;fontColor=#232F3E;gradientColor=#4D72F3;gradientDirection=north;fillColor=#3334B9;strokeColor=#ffffff;dashed=0;verticalLabelPosition=bottom;verticalAlign=top;align=center;html=1;fontSize=12;fontStyle=0;aspect=fixed;shape=mxgraph.aws4.resourceIcon;resIcon=mxgraph.aws4.xray;
+# AWS GAME DEVELOPMENT
+gshape.aws_v2.game_development.GameDevelopment_AmazonGameLift=outlineConnect=0;fontColor=#232F3E;gradientColor=#945DF2;gradientDirection=north;fillColor=#5A30B5;strokeColor=#ffffff;dashed=0;verticalLabelPosition=bottom;verticalAlign=top;align=center;html=1;fontSize=12;fontStyle=0;aspect=fixed;shape=mxgraph.aws4.resourceIcon;resIcon=mxgraph.aws4.gamelift;
+# AWS GENERAL
+gshape.aws_v2.general.General_AWSManagementConsole=outlineConnect=0;fontColor=#232F3E;gradientColor=#F34482;gradientDirection=north;fillColor=#BC1356;strokeColor=#ffffff;dashed=0;verticalLabelPosition=bottom;verticalAlign=top;align=center;html=1;fontSize=12;fontStyle=0;aspect=fixed;shape=mxgraph.aws4.resourceIcon;resIcon=mxgraph.aws4.management_console;
+gshape.aws_v2.general.General_AWScloud=outlineConnect=0;fontColor=#232F3E;gradientColor=none;fillColor=#232F3E;strokeColor=none;dashed=0;verticalLabelPosition=bottom;verticalAlign=top;align=center;html=1;fontSize=12;fontStyle=0;aspect=fixed;shape=mxgraph.aws4.aws_cloud;
+gshape.aws_v2.general.General_Internet=outlineConnect=0;fontColor=#232F3E;gradientColor=none;fillColor=#232F3E;strokeColor=none;dashed=0;verticalLabelPosition=bottom;verticalAlign=top;align=center;html=1;fontSize=12;fontStyle=0;aspect=fixed;shape=mxgraph.aws4.internet_alt2;
+gshape.aws_v2.general.General_Internetalternate1=outlineConnect=0;fontColor=#232F3E;gradientColor=none;fillColor=#232F3E;strokeColor=none;dashed=0;verticalLabelPosition=bottom;verticalAlign=top;align=center;html=1;fontSize=12;fontStyle=0;aspect=fixed;shape=mxgraph.aws4.internet;
+gshape.aws_v2.general.General_Internetalternate2=outlineConnect=0;fontColor=#232F3E;gradientColor=none;fillColor=#232F3E;strokeColor=none;dashed=0;verticalLabelPosition=bottom;verticalAlign=top;align=center;html=1;fontSize=12;fontStyle=0;aspect=fixed;shape=mxgraph.aws4.internet_alt1;
+gshape.aws_v2.general.General_SAMLtoken=outlineConnect=0;fontColor=#232F3E;gradientColor=none;fillColor=#232F3E;strokeColor=none;dashed=0;verticalLabelPosition=bottom;verticalAlign=top;align=center;html=1;fontSize=12;fontStyle=0;aspect=fixed;shape=mxgraph.aws4.saml_token;
+gshape.aws_v2.general.General_SSLpadlock=outlineConnect=0;fontColor=#232F3E;gradientColor=none;fillColor=#232F3E;strokeColor=none;dashed=0;verticalLabelPosition=bottom;verticalAlign=top;align=center;html=1;fontSize=12;fontStyle=0;aspect=fixed;shape=mxgraph.aws4.ssl_padlock;
+gshape.aws_v2.general.General_client=outlineConnect=0;fontColor=#232F3E;gradientColor=none;fillColor=#232F3E;strokeColor=none;dashed=0;verticalLabelPosition=bottom;verticalAlign=top;align=center;html=1;fontSize=12;fontStyle=0;aspect=fixed;shape=mxgraph.aws4.client;
+gshape.aws_v2.general.General_corporatedatacenter=outlineConnect=0;fontColor=#232F3E;gradientColor=none;fillColor=#232F3E;strokeColor=none;dashed=0;verticalLabelPosition=bottom;verticalAlign=top;align=center;html=1;fontSize=12;fontStyle=0;aspect=fixed;shape=mxgraph.aws4.corporate_data_center;
+gshape.aws_v2.general.General_disk=outlineConnect=0;fontColor=#232F3E;gradientColor=none;fillColor=#232F3E;strokeColor=none;dashed=0;verticalLabelPosition=bottom;verticalAlign=top;align=center;html=1;fontSize=12;fontStyle=0;aspect=fixed;shape=mxgraph.aws4.disk;
+gshape.aws_v2.general.General_forums=outlineConnect=0;fontColor=#232F3E;gradientColor=none;fillColor=#232F3E;strokeColor=none;dashed=0;verticalLabelPosition=bottom;verticalAlign=top;align=center;html=1;fontSize=12;fontStyle=0;aspect=fixed;shape=mxgraph.aws4.forums;
+gshape.aws_v2.general.General_genericdatabase=outlineConnect=0;fontColor=#232F3E;gradientColor=none;fillColor=#232F3E;strokeColor=none;dashed=0;verticalLabelPosition=bottom;verticalAlign=top;align=center;html=1;fontSize=12;fontStyle=0;aspect=fixed;shape=mxgraph.aws4.generic_database;
+gshape.aws_v2.general.General_mobileclient=outlineConnect=0;fontColor=#232F3E;gradientColor=none;fillColor=#232F3E;strokeColor=none;dashed=0;verticalLabelPosition=bottom;verticalAlign=top;align=center;html=1;fontSize=12;fontStyle=0;aspect=fixed;shape=mxgraph.aws4.mobile_client;
+gshape.aws_v2.general.General_multimedia=outlineConnect=0;fontColor=#232F3E;gradientColor=none;fillColor=#232F3E;strokeColor=none;dashed=0;verticalLabelPosition=bottom;verticalAlign=top;align=center;html=1;fontSize=12;fontStyle=0;aspect=fixed;shape=mxgraph.aws4.multimedia;
+gshape.aws_v2.general.General_officebuilding=outlineConnect=0;fontColor=#232F3E;gradientColor=none;fillColor=#232F3E;strokeColor=none;dashed=0;verticalLabelPosition=bottom;verticalAlign=top;align=center;html=1;fontSize=12;fontStyle=0;aspect=fixed;shape=mxgraph.aws4.office_building;
+gshape.aws_v2.general.General_tapestorage=outlineConnect=0;fontColor=#232F3E;gradientColor=none;fillColor=#232F3E;strokeColor=none;dashed=0;verticalLabelPosition=bottom;verticalAlign=top;align=center;html=1;fontSize=12;fontStyle=0;aspect=fixed;shape=mxgraph.aws4.tape_storage;
+gshape.aws_v2.general.General_traditionalserver=outlineConnect=0;fontColor=#232F3E;gradientColor=none;fillColor=#232F3E;strokeColor=none;dashed=0;verticalLabelPosition=bottom;verticalAlign=top;align=center;html=1;fontSize=12;fontStyle=0;aspect=fixed;shape=mxgraph.aws4.traditional_server;
+gshape.aws_v2.general.General_user=outlineConnect=0;fontColor=#232F3E;gradientColor=none;fillColor=#232F3E;strokeColor=none;dashed=0;verticalLabelPosition=bottom;verticalAlign=top;align=center;html=1;fontSize=12;fontStyle=0;aspect=fixed;shape=mxgraph.aws4.user;
+gshape.aws_v2.general.General_users=outlineConnect=0;fontColor=#232F3E;gradientColor=none;fillColor=#232F3E;strokeColor=none;dashed=0;verticalLabelPosition=bottom;verticalAlign=top;align=center;html=1;fontSize=12;fontStyle=0;aspect=fixed;shape=mxgraph.aws4.users;
+gshape.aws_v2.general.General_virtualprivatecloud=outlineConnect=0;fontColor=#232F3E;gradientColor=none;fillColor=#232F3E;strokeColor=none;dashed=0;verticalLabelPosition=bottom;verticalAlign=top;align=center;html=1;fontSize=12;fontStyle=0;aspect=fixed;shape=mxgraph.aws4.virtual_private_cloud;
+# AWS INTERNET OF THINGS
+gshape.aws_v2.iot.InternetOfThings_AWSIoT=outlineConnect=0;fontColor=#232F3E;gradientColor=#60A337;gradientDirection=north;fillColor=#277116;strokeColor=#ffffff;dashed=0;verticalLabelPosition=bottom;verticalAlign=top;align=center;html=1;fontSize=12;fontStyle=0;aspect=fixed;shape=mxgraph.aws4.resourceIcon;resIcon=mxgraph.aws4.internet_of_things;
+gshape.aws_v2.iot.InternetOfThings_AWSIoT_AVSenableddevice=outlineConnect=0;fontColor=#232F3E;gradientColor=none;fillColor=#277116;strokeColor=none;dashed=0;verticalLabelPosition=bottom;verticalAlign=top;align=center;html=1;fontSize=12;fontStyle=0;aspect=fixed;shape=mxgraph.aws4.alexa_enabled_device;
+gshape.aws_v2.iot.InternetOfThings_AWSIoT_AWSGreengrass=outlineConnect=0;fontColor=#232F3E;gradientColor=#60A337;gradientDirection=north;fillColor=#277116;strokeColor=#ffffff;dashed=0;verticalLabelPosition=bottom;verticalAlign=top;align=center;html=1;fontSize=12;fontStyle=0;aspect=fixed;shape=mxgraph.aws4.resourceIcon;resIcon=mxgraph.aws4.greengrass;
+gshape.aws_v2.iot.InternetOfThings_AWSIoT_AWSIoT=outlineConnect=0;fontColor=#232F3E;gradientColor=#60A337;gradientDirection=north;fillColor=#277116;strokeColor=#ffffff;dashed=0;verticalLabelPosition=bottom;verticalAlign=top;align=center;html=1;fontSize=12;fontStyle=0;aspect=fixed;shape=mxgraph.aws4.resourceIcon;resIcon=mxgraph.aws4.internet_of_things;
+gshape.aws_v2.iot.InternetOfThings_AWSIoT_HTTP2protocol=outlineConnect=0;fontColor=#232F3E;gradientColor=none;fillColor=#277116;strokeColor=none;dashed=0;verticalLabelPosition=bottom;verticalAlign=top;align=center;html=1;fontSize=12;fontStyle=0;aspect=fixed;shape=mxgraph.aws4.http2_protocol;
+gshape.aws_v2.iot.InternetOfThings_AWSIoT_HTTPprotocol=outlineConnect=0;fontColor=#232F3E;gradientColor=none;fillColor=#277116;strokeColor=none;dashed=0;verticalLabelPosition=bottom;verticalAlign=top;align=center;html=1;fontSize=12;fontStyle=0;aspect=fixed;shape=mxgraph.aws4.http_protocol;
+gshape.aws_v2.iot.InternetOfThings_AWSIoT_MQTTprotocol=outlineConnect=0;fontColor=#232F3E;gradientColor=none;fillColor=#277116;strokeColor=none;dashed=0;verticalLabelPosition=bottom;verticalAlign=top;align=center;html=1;fontSize=12;fontStyle=0;aspect=fixed;shape=mxgraph.aws4.mqtt_protocol;
+gshape.aws_v2.iot.InternetOfThings_AWSIoT_action=outlineConnect=0;fontColor=#232F3E;gradientColor=none;fillColor=#277116;strokeColor=none;dashed=0;verticalLabelPosition=bottom;verticalAlign=top;align=center;html=1;fontSize=12;fontStyle=0;aspect=fixed;shape=mxgraph.aws4.action;
+gshape.aws_v2.iot.InternetOfThings_AWSIoT_actuator=outlineConnect=0;fontColor=#232F3E;gradientColor=none;fillColor=#277116;strokeColor=none;dashed=0;verticalLabelPosition=bottom;verticalAlign=top;align=center;html=1;fontSize=12;fontStyle=0;aspect=fixed;shape=mxgraph.aws4.actuator;
+gshape.aws_v2.iot.InternetOfThings_AWSIoT_alexaskill=outlineConnect=0;fontColor=#232F3E;gradientColor=none;fillColor=#277116;strokeColor=none;dashed=0;verticalLabelPosition=bottom;verticalAlign=top;align=center;html=1;fontSize=12;fontStyle=0;aspect=fixed;shape=mxgraph.aws4.alexa_skill;
+gshape.aws_v2.iot.InternetOfThings_AWSIoT_alexasmarthomeskill=outlineConnect=0;fontColor=#232F3E;gradientColor=none;strokeColor=#232F3E;fillColor=#ffffff;dashed=0;verticalLabelPosition=bottom;verticalAlign=top;align=center;html=1;fontSize=12;fontStyle=0;aspect=fixed;shape=mxgraph.aws4.resourceIcon;resIcon=mxgraph.aws4.alexa_smart_home_skill;
+gshape.aws_v2.iot.InternetOfThings_AWSIoT_alexavoiceservice=outlineConnect=0;fontColor=#232F3E;gradientColor=none;fillColor=#277116;strokeColor=none;dashed=0;verticalLabelPosition=bottom;verticalAlign=top;align=center;html=1;fontSize=12;fontStyle=0;aspect=fixed;shape=mxgraph.aws4.alexa_skill;
+gshape.aws_v2.iot.InternetOfThings_AWSIoT_certificate=outlineConnect=0;fontColor=#232F3E;gradientColor=none;fillColor=#277116;strokeColor=none;dashed=0;verticalLabelPosition=bottom;verticalAlign=top;align=center;html=1;fontSize=12;fontStyle=0;aspect=fixed;shape=mxgraph.aws4.certificate_manager;
+gshape.aws_v2.iot.InternetOfThings_AWSIoT_desiredstate=outlineConnect=0;fontColor=#232F3E;gradientColor=none;fillColor=#277116;strokeColor=none;dashed=0;verticalLabelPosition=bottom;verticalAlign=top;align=center;html=1;fontSize=12;fontStyle=0;aspect=fixed;shape=mxgraph.aws4.desired_state;
+gshape.aws_v2.iot.InternetOfThings_AWSIoT_echo=outlineConnect=0;fontColor=#232F3E;gradientColor=none;fillColor=#277116;strokeColor=none;dashed=0;verticalLabelPosition=bottom;verticalAlign=top;align=center;html=1;fontSize=12;fontStyle=0;aspect=fixed;shape=mxgraph.aws4.echo;
+gshape.aws_v2.iot.InternetOfThings_AWSIoT_fireTV=outlineConnect=0;fontColor=#232F3E;gradientColor=none;fillColor=#277116;strokeColor=none;dashed=0;verticalLabelPosition=bottom;verticalAlign=top;align=center;html=1;fontSize=12;fontStyle=0;aspect=fixed;shape=mxgraph.aws4.firetv;
+gshape.aws_v2.iot.InternetOfThings_AWSIoT_hardwareboard=outlineConnect=0;fontColor=#232F3E;gradientColor=none;fillColor=#277116;strokeColor=none;dashed=0;verticalLabelPosition=bottom;verticalAlign=top;align=center;html=1;fontSize=12;fontStyle=0;aspect=fixed;shape=mxgraph.aws4.hardware_board;
+gshape.aws_v2.iot.InternetOfThings_AWSIoT_lambdafunction=outlineConnect=0;fontColor=#232F3E;gradientColor=none;fillColor=#277116;strokeColor=none;dashed=0;verticalLabelPosition=bottom;verticalAlign=top;align=center;html=1;fontSize=12;fontStyle=0;aspect=fixed;shape=mxgraph.aws4.lambda_function;
+gshape.aws_v2.iot.InternetOfThings_AWSIoT_policy=outlineConnect=0;fontColor=#232F3E;gradientColor=none;fillColor=#277116;strokeColor=none;dashed=0;verticalLabelPosition=bottom;verticalAlign=top;align=center;html=1;fontSize=12;fontStyle=0;aspect=fixed;shape=mxgraph.aws4.policy;
+gshape.aws_v2.iot.InternetOfThings_AWSIoT_reportedstate=outlineConnect=0;fontColor=#232F3E;gradientColor=none;fillColor=#277116;strokeColor=none;dashed=0;verticalLabelPosition=bottom;verticalAlign=top;align=center;html=1;fontSize=12;fontStyle=0;aspect=fixed;shape=mxgraph.aws4.reported_state;
+gshape.aws_v2.iot.InternetOfThings_AWSIoT_rule=outlineConnect=0;fontColor=#232F3E;gradientColor=none;fillColor=#277116;strokeColor=none;dashed=0;verticalLabelPosition=bottom;verticalAlign=top;align=center;html=1;fontSize=12;fontStyle=0;aspect=fixed;shape=mxgraph.aws4.rule;
+gshape.aws_v2.iot.InternetOfThings_AWSIoT_sensor=outlineConnect=0;fontColor=#232F3E;gradientColor=none;fillColor=#277116;strokeColor=none;dashed=0;verticalLabelPosition=bottom;verticalAlign=top;align=center;html=1;fontSize=12;fontStyle=0;aspect=fixed;shape=mxgraph.aws4.sensor;
+gshape.aws_v2.iot.InternetOfThings_AWSIoT_servo=outlineConnect=0;fontColor=#232F3E;gradientColor=none;fillColor=#277116;strokeColor=none;dashed=0;verticalLabelPosition=bottom;verticalAlign=top;align=center;html=1;fontSize=12;fontStyle=0;aspect=fixed;shape=mxgraph.aws4.servo;
+gshape.aws_v2.iot.InternetOfThings_AWSIoT_shadow=outlineConnect=0;fontColor=#232F3E;gradientColor=none;fillColor=#277116;strokeColor=none;dashed=0;verticalLabelPosition=bottom;verticalAlign=top;align=center;html=1;fontSize=12;fontStyle=0;aspect=fixed;shape=mxgraph.aws4.shadow;
+gshape.aws_v2.iot.InternetOfThings_AWSIoT_simulator=outlineConnect=0;fontColor=#232F3E;gradientColor=none;fillColor=#277116;strokeColor=none;dashed=0;verticalLabelPosition=bottom;verticalAlign=top;align=center;html=1;fontSize=12;fontStyle=0;aspect=fixed;shape=mxgraph.aws4.simulator;
+gshape.aws_v2.iot.InternetOfThings_AWSIoT_thingbank=outlineConnect=0;fontColor=#232F3E;gradientColor=none;fillColor=#277116;strokeColor=none;dashed=0;verticalLabelPosition=bottom;verticalAlign=top;align=center;html=1;fontSize=12;fontStyle=0;aspect=fixed;shape=mxgraph.aws4.bank;
+gshape.aws_v2.iot.InternetOfThings_AWSIoT_thingbicycle=outlineConnect=0;fontColor=#232F3E;gradientColor=none;fillColor=#277116;strokeColor=none;dashed=0;verticalLabelPosition=bottom;verticalAlign=top;align=center;html=1;fontSize=12;fontStyle=0;aspect=fixed;shape=mxgraph.aws4.bycicle;
+gshape.aws_v2.iot.InternetOfThings_AWSIoT_thingcamera=outlineConnect=0;fontColor=#232F3E;gradientColor=none;fillColor=#277116;strokeColor=none;dashed=0;verticalLabelPosition=bottom;verticalAlign=top;align=center;html=1;fontSize=12;fontStyle=0;aspect=fixed;shape=mxgraph.aws4.camera;
+gshape.aws_v2.iot.InternetOfThings_AWSIoT_thingcar=outlineConnect=0;fontColor=#232F3E;gradientColor=none;fillColor=#277116;strokeColor=none;dashed=0;verticalLabelPosition=bottom;verticalAlign=top;align=center;html=1;fontSize=12;fontStyle=0;aspect=fixed;shape=mxgraph.aws4.car;
+gshape.aws_v2.iot.InternetOfThings_AWSIoT_thingcart=outlineConnect=0;fontColor=#232F3E;gradientColor=none;fillColor=#277116;strokeColor=none;dashed=0;verticalLabelPosition=bottom;verticalAlign=top;align=center;html=1;fontSize=12;fontStyle=0;aspect=fixed;shape=mxgraph.aws4.cart;
+gshape.aws_v2.iot.InternetOfThings_AWSIoT_thingcoffeepot=outlineConnect=0;fontColor=#232F3E;gradientColor=none;fillColor=#277116;strokeColor=none;dashed=0;verticalLabelPosition=bottom;verticalAlign=top;align=center;html=1;fontSize=12;fontStyle=0;aspect=fixed;shape=mxgraph.aws4.coffee_pot;
+gshape.aws_v2.iot.InternetOfThings_AWSIoT_thingdoorlock=outlineConnect=0;fontColor=#232F3E;gradientColor=none;fillColor=#277116;strokeColor=none;dashed=0;verticalLabelPosition=bottom;verticalAlign=top;align=center;html=1;fontSize=12;fontStyle=0;aspect=fixed;shape=mxgraph.aws4.door_lock;
+gshape.aws_v2.iot.InternetOfThings_AWSIoT_thingfactory=outlineConnect=0;fontColor=#232F3E;gradientColor=none;fillColor=#277116;strokeColor=none;dashed=0;verticalLabelPosition=bottom;verticalAlign=top;align=center;html=1;fontSize=12;fontStyle=0;aspect=fixed;shape=mxgraph.aws4.factory;
+gshape.aws_v2.iot.InternetOfThings_AWSIoT_thinggeneric=outlineConnect=0;fontColor=#232F3E;gradientColor=none;fillColor=#277116;strokeColor=none;dashed=0;verticalLabelPosition=bottom;verticalAlign=top;align=center;html=1;fontSize=12;fontStyle=0;aspect=fixed;shape=mxgraph.aws4.generic;
+gshape.aws_v2.iot.InternetOfThings_AWSIoT_thinghouse=outlineConnect=0;fontColor=#232F3E;gradientColor=none;fillColor=#277116;strokeColor=none;dashed=0;verticalLabelPosition=bottom;verticalAlign=top;align=center;html=1;fontSize=12;fontStyle=0;aspect=fixed;shape=mxgraph.aws4.house;
+gshape.aws_v2.iot.InternetOfThings_AWSIoT_thingmedicalemergency=outlineConnect=0;fontColor=#232F3E;gradientColor=none;fillColor=#277116;strokeColor=none;dashed=0;verticalLabelPosition=bottom;verticalAlign=top;align=center;html=1;fontSize=12;fontStyle=0;aspect=fixed;shape=mxgraph.aws4.medical_emergency;
+gshape.aws_v2.iot.InternetOfThings_AWSIoT_thingpoliceemergency=outlineConnect=0;fontColor=#232F3E;gradientColor=none;fillColor=#277116;strokeColor=none;dashed=0;verticalLabelPosition=bottom;verticalAlign=top;align=center;html=1;fontSize=12;fontStyle=0;aspect=fixed;shape=mxgraph.aws4.police_emergency;
+gshape.aws_v2.iot.InternetOfThings_AWSIoT_thingthermostat=outlineConnect=0;fontColor=#232F3E;gradientColor=none;fillColor=#277116;strokeColor=none;dashed=0;verticalLabelPosition=bottom;verticalAlign=top;align=center;html=1;fontSize=12;fontStyle=0;aspect=fixed;shape=mxgraph.aws4.thermostat;
+gshape.aws_v2.iot.InternetOfThings_AWSIoT_thingtravel=outlineConnect=0;fontColor=#232F3E;gradientColor=none;fillColor=#277116;strokeColor=none;dashed=0;verticalLabelPosition=bottom;verticalAlign=top;align=center;html=1;fontSize=12;fontStyle=0;aspect=fixed;shape=mxgraph.aws4.travel;
+gshape.aws_v2.iot.InternetOfThings_AWSIoT_thingutility=outlineConnect=0;fontColor=#232F3E;gradientColor=none;fillColor=#277116;strokeColor=none;dashed=0;verticalLabelPosition=bottom;verticalAlign=top;align=center;html=1;fontSize=12;fontStyle=0;aspect=fixed;shape=mxgraph.aws4.utility;
+gshape.aws_v2.iot.InternetOfThings_AWSIoT_thingwindfarm=outlineConnect=0;fontColor=#232F3E;gradientColor=none;fillColor=#277116;strokeColor=none;dashed=0;verticalLabelPosition=bottom;verticalAlign=top;align=center;html=1;fontSize=12;fontStyle=0;aspect=fixed;shape=mxgraph.aws4.windfarm;
+gshape.aws_v2.iot.InternetOfThings_AWSIoT_topic=outlineConnect=0;fontColor=#232F3E;gradientColor=none;fillColor=#277116;strokeColor=none;dashed=0;verticalLabelPosition=bottom;verticalAlign=top;align=center;html=1;fontSize=12;fontStyle=0;aspect=fixed;shape=mxgraph.aws4.topic_2;
+# AWS MANAGEMENT TOOLS
+gshape.aws_v2.management_tools.ManagementTools_AWSCloudFormation=outlineConnect=0;fontColor=#232F3E;gradientColor=#F34482;gradientDirection=north;fillColor=#BC1356;strokeColor=#ffffff;dashed=0;verticalLabelPosition=bottom;verticalAlign=top;align=center;html=1;fontSize=12;fontStyle=0;aspect=fixed;shape=mxgraph.aws4.resourceIcon;resIcon=mxgraph.aws4.cloudformation;
+gshape.aws_v2.management_tools.ManagementTools_AWSCloudFormation_changeset=outlineConnect=0;fontColor=#232F3E;gradientColor=none;fillColor=#BC1356;strokeColor=none;dashed=0;verticalLabelPosition=bottom;verticalAlign=top;align=center;html=1;fontSize=12;fontStyle=0;aspect=fixed;shape=mxgraph.aws4.change_set;
+gshape.aws_v2.management_tools.ManagementTools_AWSCloudFormation_stack=outlineConnect=0;fontColor=#232F3E;gradientColor=none;fillColor=#BC1356;strokeColor=none;dashed=0;verticalLabelPosition=bottom;verticalAlign=top;align=center;html=1;fontSize=12;fontStyle=0;aspect=fixed;shape=mxgraph.aws4.stack;
+gshape.aws_v2.management_tools.ManagementTools_AWSCloudFormation_template=outlineConnect=0;fontColor=#232F3E;gradientColor=none;fillColor=#BC1356;strokeColor=none;dashed=0;verticalLabelPosition=bottom;verticalAlign=top;align=center;html=1;fontSize=12;fontStyle=0;aspect=fixed;shape=mxgraph.aws4.template;
+gshape.aws_v2.management_tools.ManagementTools_AWSCloudTrail=outlineConnect=0;fontColor=#232F3E;gradientColor=#F34482;gradientDirection=north;fillColor=#BC1356;strokeColor=#ffffff;dashed=0;verticalLabelPosition=bottom;verticalAlign=top;align=center;html=1;fontSize=12;fontStyle=0;aspect=fixed;shape=mxgraph.aws4.resourceIcon;resIcon=mxgraph.aws4.cloudtrail;
+gshape.aws_v2.management_tools.ManagementTools_AWSConfig=outlineConnect=0;fontColor=#232F3E;gradientColor=#F34482;gradientDirection=north;fillColor=#BC1356;strokeColor=#ffffff;dashed=0;verticalLabelPosition=bottom;verticalAlign=top;align=center;html=1;fontSize=12;fontStyle=0;aspect=fixed;shape=mxgraph.aws4.resourceIcon;resIcon=mxgraph.aws4.config;
+gshape.aws_v2.management_tools.ManagementTools_AWSManagedServices=outlineConnect=0;fontColor=#232F3E;gradientColor=#F34482;gradientDirection=north;fillColor=#BC1356;strokeColor=#ffffff;dashed=0;verticalLabelPosition=bottom;verticalAlign=top;align=center;html=1;fontSize=12;fontStyle=0;aspect=fixed;shape=mxgraph.aws4.resourceIcon;resIcon=mxgraph.aws4.managed_services;
+gshape.aws_v2.management_tools.ManagementTools_AWSOpsWorks=outlineConnect=0;fontColor=#232F3E;gradientColor=#F34482;gradientDirection=north;fillColor=#BC1356;strokeColor=#ffffff;dashed=0;verticalLabelPosition=bottom;verticalAlign=top;align=center;html=1;fontSize=12;fontStyle=0;aspect=fixed;shape=mxgraph.aws4.resourceIcon;resIcon=mxgraph.aws4.opsworks;
+gshape.aws_v2.management_tools.ManagementTools_AWSOpsWorks_apps=outlineConnect=0;fontColor=#232F3E;gradientColor=none;fillColor=#BC1356;strokeColor=none;dashed=0;verticalLabelPosition=bottom;verticalAlign=top;align=center;html=1;fontSize=12;fontStyle=0;aspect=fixed;shape=mxgraph.aws4.opsworks_apps;
+gshape.aws_v2.management_tools.ManagementTools_AWSOpsWorks_deployments=outlineConnect=0;fontColor=#232F3E;gradientColor=none;fillColor=#BC1356;strokeColor=none;dashed=0;verticalLabelPosition=bottom;verticalAlign=top;align=center;html=1;fontSize=12;fontStyle=0;aspect=fixed;shape=mxgraph.aws4.deployments;
+gshape.aws_v2.management_tools.ManagementTools_AWSOpsWorks_instances=outlineConnect=0;fontColor=#232F3E;gradientColor=none;fillColor=#BC1356;strokeColor=none;dashed=0;verticalLabelPosition=bottom;verticalAlign=top;align=center;html=1;fontSize=12;fontStyle=0;aspect=fixed;shape=mxgraph.aws4.instances_2;
+gshape.aws_v2.management_tools.ManagementTools_AWSOpsWorks_layers=outlineConnect=0;fontColor=#232F3E;gradientColor=none;fillColor=#BC1356;strokeColor=none;dashed=0;verticalLabelPosition=bottom;verticalAlign=top;align=center;html=1;fontSize=12;fontStyle=0;aspect=fixed;shape=mxgraph.aws4.layers;
+gshape.aws_v2.management_tools.ManagementTools_AWSOpsWorks_monitoring=outlineConnect=0;fontColor=#232F3E;gradientColor=none;fillColor=#BC1356;strokeColor=none;dashed=0;verticalLabelPosition=bottom;verticalAlign=top;align=center;html=1;fontSize=12;fontStyle=0;aspect=fixed;shape=mxgraph.aws4.monitoring;
+gshape.aws_v2.management_tools.ManagementTools_AWSOpsWorks_permissions=outlineConnect=0;fontColor=#232F3E;gradientColor=none;fillColor=#BC1356;strokeColor=none;dashed=0;verticalLabelPosition=bottom;verticalAlign=top;align=center;html=1;fontSize=12;fontStyle=0;aspect=fixed;shape=mxgraph.aws4.opsworks_permissions;
+gshape.aws_v2.management_tools.ManagementTools_AWSOpsWorks_resources=outlineConnect=0;fontColor=#232F3E;gradientColor=none;fillColor=#BC1356;strokeColor=none;dashed=0;verticalLabelPosition=bottom;verticalAlign=top;align=center;html=1;fontSize=12;fontStyle=0;aspect=fixed;shape=mxgraph.aws4.resources;
+gshape.aws_v2.management_tools.ManagementTools_AWSOpsWorks_stack=outlineConnect=0;fontColor=#232F3E;gradientColor=none;fillColor=#BC1356;strokeColor=none;dashed=0;verticalLabelPosition=bottom;verticalAlign=top;align=center;html=1;fontSize=12;fontStyle=0;aspect=fixed;shape=mxgraph.aws4.stack2;
+gshape.aws_v2.management_tools.ManagementTools_AWSServiceCatalog=outlineConnect=0;fontColor=#232F3E;gradientColor=#F34482;gradientDirection=north;fillColor=#BC1356;strokeColor=#ffffff;dashed=0;verticalLabelPosition=bottom;verticalAlign=top;align=center;html=1;fontSize=12;fontStyle=0;aspect=fixed;shape=mxgraph.aws4.resourceIcon;resIcon=mxgraph.aws4.service_catalog;
+gshape.aws_v2.management_tools.ManagementTools_AWSTrustedAdvisor=outlineConnect=0;fontColor=#232F3E;gradientColor=#F34482;gradientDirection=north;fillColor=#BC1356;strokeColor=#ffffff;dashed=0;verticalLabelPosition=bottom;verticalAlign=top;align=center;html=1;fontSize=12;fontStyle=0;aspect=fixed;shape=mxgraph.aws4.resourceIcon;resIcon=mxgraph.aws4.trusted_advisor;
+gshape.aws_v2.management_tools.ManagementTools_AWSTrustedAdvisor_checklist=outlineConnect=0;fontColor=#232F3E;gradientColor=none;fillColor=#BC1356;strokeColor=none;dashed=0;verticalLabelPosition=bottom;verticalAlign=top;align=center;html=1;fontSize=12;fontStyle=0;aspect=fixed;shape=mxgraph.aws4.checklist;
+gshape.aws_v2.management_tools.ManagementTools_AWSTrustedAdvisor_checklistcost=outlineConnect=0;fontColor=#232F3E;gradientColor=none;fillColor=#BC1356;strokeColor=none;dashed=0;verticalLabelPosition=bottom;verticalAlign=top;align=center;html=1;fontSize=12;fontStyle=0;aspect=fixed;shape=mxgraph.aws4.checklist_cost;
+gshape.aws_v2.management_tools.ManagementTools_AWSTrustedAdvisor_checklistfaulttolerance=outlineConnect=0;fontColor=#232F3E;gradientColor=none;fillColor=#BC1356;strokeColor=none;dashed=0;verticalLabelPosition=bottom;verticalAlign=top;align=center;html=1;fontSize=12;fontStyle=0;aspect=fixed;shape=mxgraph.aws4.checklist_fault_tolerant;
+gshape.aws_v2.management_tools.ManagementTools_AWSTrustedAdvisor_checklistperformance=outlineConnect=0;fontColor=#232F3E;gradientColor=none;fillColor=#BC1356;strokeColor=none;dashed=0;verticalLabelPosition=bottom;verticalAlign=top;align=center;html=1;fontSize=12;fontStyle=0;aspect=fixed;shape=mxgraph.aws4.checklist_performance;
+gshape.aws_v2.management_tools.ManagementTools_AWSTrustedAdvisor_checklistsecurity=outlineConnect=0;fontColor=#232F3E;gradientColor=none;fillColor=#BC1356;strokeColor=none;dashed=0;verticalLabelPosition=bottom;verticalAlign=top;align=center;html=1;fontSize=12;fontStyle=0;aspect=fixed;shape=mxgraph.aws4.checklist_security;
+gshape.aws_v2.management_tools.ManagementTools_AmazonCloudWatch=outlineConnect=0;fontColor=#232F3E;gradientColor=#F34482;gradientDirection=north;fillColor=#BC1356;strokeColor=#ffffff;dashed=0;verticalLabelPosition=bottom;verticalAlign=top;align=center;html=1;fontSize=12;fontStyle=0;aspect=fixed;shape=mxgraph.aws4.resourceIcon;resIcon=mxgraph.aws4.cloudwatch;
+gshape.aws_v2.management_tools.ManagementTools_AmazonCloudWatch_alarm=outlineConnect=0;fontColor=#232F3E;gradientColor=none;fillColor=#BC1356;strokeColor=none;dashed=0;verticalLabelPosition=bottom;verticalAlign=top;align=center;html=1;fontSize=12;fontStyle=0;aspect=fixed;shape=mxgraph.aws4.alarm;
+gshape.aws_v2.management_tools.ManagementTools_AmazonCloudWatch_eventeventbased=outlineConnect=0;fontColor=#232F3E;gradientColor=none;fillColor=#BC1356;strokeColor=none;dashed=0;verticalLabelPosition=bottom;verticalAlign=top;align=center;html=1;fontSize=12;fontStyle=0;aspect=fixed;shape=mxgraph.aws4.event_event_based;
+gshape.aws_v2.management_tools.ManagementTools_AmazonCloudWatch_eventtimebased=outlineConnect=0;fontColor=#232F3E;gradientColor=none;fillColor=#BC1356;strokeColor=none;dashed=0;verticalLabelPosition=bottom;verticalAlign=top;align=center;html=1;fontSize=12;fontStyle=0;aspect=fixed;shape=mxgraph.aws4.event_time_based;
+gshape.aws_v2.management_tools.ManagementTools_AmazonCloudWatch_rule=outlineConnect=0;fontColor=#232F3E;gradientColor=none;fillColor=#BC1356;strokeColor=none;dashed=0;verticalLabelPosition=bottom;verticalAlign=top;align=center;html=1;fontSize=12;fontStyle=0;aspect=fixed;shape=mxgraph.aws4.rule_2;
+gshape.aws_v2.management_tools.ManagementTools_AmazonEC2SystemsManager=outlineConnect=0;fontColor=#232F3E;gradientColor=#F34482;gradientDirection=north;fillColor=#BC1356;strokeColor=#ffffff;dashed=0;verticalLabelPosition=bottom;verticalAlign=top;align=center;html=1;fontSize=12;fontStyle=0;aspect=fixed;shape=mxgraph.aws4.resourceIcon;resIcon=mxgraph.aws4.systems_manager;
+gshape.aws_v2.management_tools.ManagementTools_AmazonEC2SystemsManager_Automation=outlineConnect=0;fontColor=#232F3E;gradientColor=none;fillColor=#BC1356;strokeColor=none;dashed=0;verticalLabelPosition=bottom;verticalAlign=top;align=center;html=1;fontSize=12;fontStyle=0;aspect=fixed;shape=mxgraph.aws4.automation;
+gshape.aws_v2.management_tools.ManagementTools_AmazonEC2SystemsManager_Inventory=outlineConnect=0;fontColor=#232F3E;gradientColor=none;fillColor=#BC1356;strokeColor=none;dashed=0;verticalLabelPosition=bottom;verticalAlign=top;align=center;html=1;fontSize=12;fontStyle=0;aspect=fixed;shape=mxgraph.aws4.inventory;
+gshape.aws_v2.management_tools.ManagementTools_AmazonEC2SystemsManager_MaintenanceWindow=outlineConnect=0;fontColor=#232F3E;gradientColor=none;fillColor=#BC1356;strokeColor=none;dashed=0;verticalLabelPosition=bottom;verticalAlign=top;align=center;html=1;fontSize=12;fontStyle=0;aspect=fixed;shape=mxgraph.aws4.maintenance_windows;
+gshape.aws_v2.management_tools.ManagementTools_AmazonEC2SystemsManager_ParameterStore=outlineConnect=0;fontColor=#232F3E;gradientColor=none;fillColor=#BC1356;strokeColor=none;dashed=0;verticalLabelPosition=bottom;verticalAlign=top;align=center;html=1;fontSize=12;fontStyle=0;aspect=fixed;shape=mxgraph.aws4.parameter_store;
+gshape.aws_v2.management_tools.ManagementTools_AmazonEC2SystemsManager_PatchManager=outlineConnect=0;fontColor=#232F3E;gradientColor=none;fillColor=#BC1356;strokeColor=none;dashed=0;verticalLabelPosition=bottom;verticalAlign=top;align=center;html=1;fontSize=12;fontStyle=0;aspect=fixed;shape=mxgraph.aws4.patch_manager;
+gshape.aws_v2.management_tools.ManagementTools_AmazonEC2SystemsManager_RunCommand=outlineConnect=0;fontColor=#232F3E;gradientColor=none;fillColor=#BC1356;strokeColor=none;dashed=0;verticalLabelPosition=bottom;verticalAlign=top;align=center;html=1;fontSize=12;fontStyle=0;aspect=fixed;shape=mxgraph.aws4.run_command;
+gshape.aws_v2.management_tools.ManagementTools_AmazonEC2SystemsManager_StateManager=outlineConnect=0;fontColor=#232F3E;gradientColor=none;fillColor=#BC1356;strokeColor=none;dashed=0;verticalLabelPosition=bottom;verticalAlign=top;align=center;html=1;fontSize=12;fontStyle=0;aspect=fixed;shape=mxgraph.aws4.state_manager;
+gshape.aws_v2.management_tools.ManagementTools_AmazonEC2SystemsManager_StatemManager=outlineConnect=0;fontColor=#232F3E;gradientColor=none;fillColor=#BC1356;strokeColor=none;dashed=0;verticalLabelPosition=bottom;verticalAlign=top;align=center;html=1;fontSize=12;fontStyle=0;aspect=fixed;shape=mxgraph.aws4.state_manager;
+gshape.aws_v2.management_tools.ManagementTools_AmazonEC2SystemsManager_documents=outlineConnect=0;fontColor=#232F3E;gradientColor=none;fillColor=#BC1356;strokeColor=none;dashed=0;verticalLabelPosition=bottom;verticalAlign=top;align=center;html=1;fontSize=12;fontStyle=0;aspect=fixed;shape=mxgraph.aws4.documents;
+# AWS MESSAGING
+gshape.aws_v2.messaging.Messaging_AmazonPinpoint=outlineConnect=0;fontColor=#232F3E;gradientColor=#4D72F3;gradientDirection=north;fillColor=#3334B9;strokeColor=#ffffff;dashed=0;verticalLabelPosition=bottom;verticalAlign=top;align=center;html=1;fontSize=12;fontStyle=0;aspect=fixed;shape=mxgraph.aws4.resourceIcon;resIcon=mxgraph.aws4.pinpoint;
+gshape.aws_v2.messaging.Messaging_AmazonSES=outlineConnect=0;fontColor=#232F3E;gradientColor=#4D72F3;gradientDirection=north;fillColor=#3334B9;strokeColor=#ffffff;dashed=0;verticalLabelPosition=bottom;verticalAlign=top;align=center;html=1;fontSize=12;fontStyle=0;aspect=fixed;shape=mxgraph.aws4.resourceIcon;resIcon=mxgraph.aws4.simple_email_service;
+gshape.aws_v2.messaging.Messaging_AmazonSES_email=outlineConnect=0;fontColor=#232F3E;gradientColor=none;fillColor=#3334B9;strokeColor=none;dashed=0;verticalLabelPosition=bottom;verticalAlign=top;align=center;html=1;fontSize=12;fontStyle=0;aspect=fixed;shape=mxgraph.aws4.email;
+gshape.aws_v2.messaging.Messaging_AmazonSNS=outlineConnect=0;fontColor=#232F3E;gradientColor=#F34482;gradientDirection=north;fillColor=#BC1356;strokeColor=#ffffff;dashed=0;verticalLabelPosition=bottom;verticalAlign=top;align=center;html=1;fontSize=12;fontStyle=0;aspect=fixed;shape=mxgraph.aws4.resourceIcon;resIcon=mxgraph.aws4.sns;
+gshape.aws_v2.messaging.Messaging_AmazonSNS_HTTPnotification=outlineConnect=0;fontColor=#232F3E;gradientColor=none;fillColor=#BC1356;strokeColor=none;dashed=0;verticalLabelPosition=bottom;verticalAlign=top;align=center;html=1;fontSize=12;fontStyle=0;aspect=fixed;shape=mxgraph.aws4.http_notification;
+gshape.aws_v2.messaging.Messaging_AmazonSNS_emailnotification=outlineConnect=0;fontColor=#232F3E;gradientColor=none;fillColor=#BC1356;strokeColor=none;dashed=0;verticalLabelPosition=bottom;verticalAlign=top;align=center;html=1;fontSize=12;fontStyle=0;aspect=fixed;shape=mxgraph.aws4.email_notification;
+gshape.aws_v2.messaging.Messaging_AmazonSNS_topic=outlineConnect=0;fontColor=#232F3E;gradientColor=none;fillColor=#BC1356;strokeColor=none;dashed=0;verticalLabelPosition=bottom;verticalAlign=top;align=center;html=1;fontSize=12;fontStyle=0;aspect=fixed;shape=mxgraph.aws4.topic;
+gshape.aws_v2.messaging.Messaging_AmazonSQS=outlineConnect=0;fontColor=#232F3E;gradientColor=#F34482;gradientDirection=north;fillColor=#BC1356;strokeColor=#ffffff;dashed=0;verticalLabelPosition=bottom;verticalAlign=top;align=center;html=1;fontSize=12;fontStyle=0;aspect=fixed;shape=mxgraph.aws4.resourceIcon;resIcon=mxgraph.aws4.sqs;
+gshape.aws_v2.messaging.Messaging_AmazonSQS_message=outlineConnect=0;fontColor=#232F3E;gradientColor=none;fillColor=#BC1356;strokeColor=none;dashed=0;verticalLabelPosition=bottom;verticalAlign=top;align=center;html=1;fontSize=12;fontStyle=0;aspect=fixed;shape=mxgraph.aws4.message;
+gshape.aws_v2.messaging.Messaging_AmazonSQS_queue=outlineConnect=0;fontColor=#232F3E;gradientColor=none;fillColor=#BC1356;strokeColor=none;dashed=0;verticalLabelPosition=bottom;verticalAlign=top;align=center;html=1;fontSize=12;fontStyle=0;aspect=fixed;shape=mxgraph.aws4.queue;
+# AWS MIGRATION
+gshape.aws_v2.migration.Migration_AWSApplicationDiscoveryService=outlineConnect=0;fontColor=#232F3E;gradientColor=#4AB29A;gradientDirection=north;fillColor=#116D5B;strokeColor=#ffffff;dashed=0;verticalLabelPosition=bottom;verticalAlign=top;align=center;html=1;fontSize=12;fontStyle=0;aspect=fixed;shape=mxgraph.aws4.resourceIcon;resIcon=mxgraph.aws4.application_discovery_service;
+gshape.aws_v2.migration.Migration_AWSDMS=outlineConnect=0;fontColor=#232F3E;gradientColor=#4AB29A;gradientDirection=north;fillColor=#116D5B;strokeColor=#ffffff;dashed=0;verticalLabelPosition=bottom;verticalAlign=top;align=center;html=1;fontSize=12;fontStyle=0;aspect=fixed;shape=mxgraph.aws4.resourceIcon;resIcon=mxgraph.aws4.database_migration_service;
+gshape.aws_v2.migration.Migration_AWSMigrationHub=outlineConnect=0;fontColor=#232F3E;gradientColor=#4AB29A;gradientDirection=north;fillColor=#116D5B;strokeColor=#ffffff;dashed=0;verticalLabelPosition=bottom;verticalAlign=top;align=center;html=1;fontSize=12;fontStyle=0;aspect=fixed;shape=mxgraph.aws4.resourceIcon;resIcon=mxgraph.aws4.migration_hub;
+gshape.aws_v2.migration.Migration_AWSSMS=outlineConnect=0;fontColor=#232F3E;gradientColor=#4AB29A;gradientDirection=north;fillColor=#116D5B;strokeColor=#ffffff;dashed=0;verticalLabelPosition=bottom;verticalAlign=top;align=center;html=1;fontSize=12;fontStyle=0;aspect=fixed;shape=mxgraph.aws4.resourceIcon;resIcon=mxgraph.aws4.server_migration_service;
+gshape.aws_v2.migration.Migration_AWSSnowball=outlineConnect=0;fontColor=#232F3E;gradientColor=#4AB29A;gradientDirection=north;fillColor=#116D5B;strokeColor=#ffffff;dashed=0;verticalLabelPosition=bottom;verticalAlign=top;align=center;html=1;fontSize=12;fontStyle=0;aspect=fixed;shape=mxgraph.aws4.resourceIcon;resIcon=mxgraph.aws4.snowball;
+gshape.aws_v2.migration.Migration_AWSSnowball_importexport=outlineConnect=0;fontColor=#232F3E;gradientColor=#4AB29A;gradientDirection=north;fillColor=#116D5B;strokeColor=#ffffff;dashed=0;verticalLabelPosition=bottom;verticalAlign=top;align=center;html=1;fontSize=12;fontStyle=0;aspect=fixed;shape=mxgraph.aws4.resourceIcon;resIcon=mxgraph.aws4.snowball_edge;
+# AWS MOBILE SERVICES
+gshape.aws_v2.mobile_services.MobileServices_AWSDeviceFarm=outlineConnect=0;fontColor=#232F3E;gradientColor=#F54749;gradientDirection=north;fillColor=#C7131F;strokeColor=#ffffff;dashed=0;verticalLabelPosition=bottom;verticalAlign=top;align=center;html=1;fontSize=12;fontStyle=0;aspect=fixed;shape=mxgraph.aws4.resourceIcon;resIcon=mxgraph.aws4.device_farm;
+gshape.aws_v2.mobile_services.MobileServices_AWSMobileHub=outlineConnect=0;fontColor=#232F3E;gradientColor=#F54749;gradientDirection=north;fillColor=#C7131F;strokeColor=#ffffff;dashed=0;verticalLabelPosition=bottom;verticalAlign=top;align=center;html=1;fontSize=12;fontStyle=0;aspect=fixed;shape=mxgraph.aws4.resourceIcon;resIcon=mxgraph.aws4.mobile_hub;
+gshape.aws_v2.mobile_services.MobileServices_AmazonAPIGateway=outlineConnect=0;fontColor=#232F3E;gradientColor=#F54749;gradientDirection=north;fillColor=#C7131F;strokeColor=#ffffff;dashed=0;verticalLabelPosition=bottom;verticalAlign=top;align=center;html=1;fontSize=12;fontStyle=0;aspect=fixed;shape=mxgraph.aws4.resourceIcon;resIcon=mxgraph.aws4.api_gateway;
+gshape.aws_v2.mobile_services.MobileServices_AmazonCognito=outlineConnect=0;fontColor=#232F3E;gradientColor=#F54749;gradientDirection=north;fillColor=#C7131F;strokeColor=#ffffff;dashed=0;verticalLabelPosition=bottom;verticalAlign=top;align=center;html=1;fontSize=12;fontStyle=0;aspect=fixed;shape=mxgraph.aws4.resourceIcon;resIcon=mxgraph.aws4.cognito;
+gshape.aws_v2.mobile_services.MobileServices_AmazonMobileAnalytics=outlineConnect=0;fontColor=#232F3E;gradientColor=#F54749;gradientDirection=north;fillColor=#C7131F;strokeColor=#ffffff;dashed=0;verticalLabelPosition=bottom;verticalAlign=top;align=center;html=1;fontSize=12;fontStyle=0;aspect=fixed;shape=mxgraph.aws4.resourceIcon;resIcon=mxgraph.aws4.analytics;
+gshape.aws_v2.mobile_services.MobileServices_AmazonPinpoint=outlineConnect=0;fontColor=#232F3E;gradientColor=#F54749;gradientDirection=north;fillColor=#C7131F;strokeColor=#ffffff;dashed=0;verticalLabelPosition=bottom;verticalAlign=top;align=center;html=1;fontSize=12;fontStyle=0;aspect=fixed;shape=mxgraph.aws4.resourceIcon;resIcon=mxgraph.aws4.pinpoint;
+# AWS NETWORKING AND CONTENT DELIVERY
+gshape.aws_v2.networking_and_content_delivery.NetworkingContentDelivery_AWSDirectConnect=outlineConnect=0;fontColor=#232F3E;gradientColor=#945DF2;gradientDirection=north;fillColor=#5A30B5;strokeColor=#ffffff;dashed=0;verticalLabelPosition=bottom;verticalAlign=top;align=center;html=1;fontSize=12;fontStyle=0;aspect=fixed;shape=mxgraph.aws4.resourceIcon;resIcon=mxgraph.aws4.direct_connect;
+gshape.aws_v2.networking_and_content_delivery.NetworkingContentDelivery_AmazonCloudFront=outlineConnect=0;fontColor=#232F3E;gradientColor=#945DF2;gradientDirection=north;fillColor=#5A30B5;strokeColor=#ffffff;dashed=0;verticalLabelPosition=bottom;verticalAlign=top;align=center;html=1;fontSize=12;fontStyle=0;aspect=fixed;shape=mxgraph.aws4.resourceIcon;resIcon=mxgraph.aws4.cloudfront;
+gshape.aws_v2.networking_and_content_delivery.NetworkingContentDelivery_AmazonCloudFront_downloaddistribution=outlineConnect=0;fontColor=#232F3E;gradientColor=none;fillColor=#5A30B5;strokeColor=none;dashed=0;verticalLabelPosition=bottom;verticalAlign=top;align=center;html=1;fontSize=12;fontStyle=0;aspect=fixed;shape=mxgraph.aws4.download_distribution;
+gshape.aws_v2.networking_and_content_delivery.NetworkingContentDelivery_AmazonCloudFront_edgelocation=outlineConnect=0;fontColor=#232F3E;gradientColor=none;fillColor=#5A30B5;strokeColor=none;dashed=0;verticalLabelPosition=bottom;verticalAlign=top;align=center;html=1;fontSize=12;fontStyle=0;aspect=fixed;shape=mxgraph.aws4.edge_location;
+gshape.aws_v2.networking_and_content_delivery.NetworkingContentDelivery_AmazonCloudFront_streamingdistribution=outlineConnect=0;fontColor=#232F3E;gradientColor=none;fillColor=#5A30B5;strokeColor=none;dashed=0;verticalLabelPosition=bottom;verticalAlign=top;align=center;html=1;fontSize=12;fontStyle=0;aspect=fixed;shape=mxgraph.aws4.streaming_distribution;
+gshape.aws_v2.networking_and_content_delivery.NetworkingContentDelivery_AmazonRoute53=outlineConnect=0;fontColor=#232F3E;gradientColor=#945DF2;gradientDirection=north;fillColor=#5A30B5;strokeColor=#ffffff;dashed=0;verticalLabelPosition=bottom;verticalAlign=top;align=center;html=1;fontSize=12;fontStyle=0;aspect=fixed;shape=mxgraph.aws4.resourceIcon;resIcon=mxgraph.aws4.route_53;
+gshape.aws_v2.networking_and_content_delivery.NetworkingContentDelivery_AmazonRoute53_hostedzone=outlineConnect=0;fontColor=#232F3E;gradientColor=none;fillColor=#5A30B5;strokeColor=none;dashed=0;verticalLabelPosition=bottom;verticalAlign=top;align=center;html=1;fontSize=12;fontStyle=0;aspect=fixed;shape=mxgraph.aws4.hosted_zone;
+gshape.aws_v2.networking_and_content_delivery.NetworkingContentDelivery_AmazonRoute53_routetable=outlineConnect=0;fontColor=#232F3E;gradientColor=none;fillColor=#5A30B5;strokeColor=none;dashed=0;verticalLabelPosition=bottom;verticalAlign=top;align=center;html=1;fontSize=12;fontStyle=0;aspect=fixed;shape=mxgraph.aws4.route_table;
+gshape.aws_v2.networking_and_content_delivery.NetworkingContentDelivery_AmazonVPC=outlineConnect=0;fontColor=#232F3E;gradientColor=#945DF2;gradientDirection=north;fillColor=#5A30B5;strokeColor=#ffffff;dashed=0;verticalLabelPosition=bottom;verticalAlign=top;align=center;html=1;fontSize=12;fontStyle=0;aspect=fixed;shape=mxgraph.aws4.resourceIcon;resIcon=mxgraph.aws4.vpc;
+gshape.aws_v2.networking_and_content_delivery.NetworkingContentDelivery_AmazonVPC_VPCNATgateway=outlineConnect=0;fontColor=#232F3E;gradientColor=none;fillColor=#5A30B5;strokeColor=none;dashed=0;verticalLabelPosition=bottom;verticalAlign=top;align=center;html=1;fontSize=12;fontStyle=0;aspect=fixed;shape=mxgraph.aws4.nat_gateway;
+gshape.aws_v2.networking_and_content_delivery.NetworkingContentDelivery_AmazonVPC_VPCpeering=outlineConnect=0;fontColor=#232F3E;gradientColor=none;fillColor=#5A30B5;strokeColor=none;dashed=0;verticalLabelPosition=bottom;verticalAlign=top;align=center;html=1;fontSize=12;fontStyle=0;aspect=fixed;shape=mxgraph.aws4.peering;
+gshape.aws_v2.networking_and_content_delivery.NetworkingContentDelivery_AmazonVPC_VPNconnection=outlineConnect=0;fontColor=#232F3E;gradientColor=none;fillColor=#5A30B5;strokeColor=none;dashed=0;verticalLabelPosition=bottom;verticalAlign=top;align=center;html=1;fontSize=12;fontStyle=0;aspect=fixed;shape=mxgraph.aws4.vpn_connection;
+gshape.aws_v2.networking_and_content_delivery.NetworkingContentDelivery_AmazonVPC_VPNgateway=outlineConnect=0;fontColor=#232F3E;gradientColor=none;fillColor=#5A30B5;strokeColor=none;dashed=0;verticalLabelPosition=bottom;verticalAlign=top;align=center;html=1;fontSize=12;fontStyle=0;aspect=fixed;shape=mxgraph.aws4.vpn_gateway;
+gshape.aws_v2.networking_and_content_delivery.NetworkingContentDelivery_AmazonVPC_customergateway=outlineConnect=0;fontColor=#232F3E;gradientColor=none;fillColor=#5A30B5;strokeColor=none;dashed=0;verticalLabelPosition=bottom;verticalAlign=top;align=center;html=1;fontSize=12;fontStyle=0;aspect=fixed;shape=mxgraph.aws4.customer_gateway;
+gshape.aws_v2.networking_and_content_delivery.NetworkingContentDelivery_AmazonVPC_elasticnetworkadapter=outlineConnect=0;fontColor=#232F3E;gradientColor=none;fillColor=#5A30B5;strokeColor=none;dashed=0;verticalLabelPosition=bottom;verticalAlign=top;align=center;html=1;fontSize=12;fontStyle=0;aspect=fixed;shape=mxgraph.aws4.elastic_network_adapter;
+gshape.aws_v2.networking_and_content_delivery.NetworkingContentDelivery_AmazonVPC_elasticnetworkinterface=outlineConnect=0;fontColor=#232F3E;gradientColor=none;fillColor=#5A30B5;strokeColor=none;dashed=0;verticalLabelPosition=bottom;verticalAlign=top;align=center;html=1;fontSize=12;fontStyle=0;aspect=fixed;shape=mxgraph.aws4.elastic_network_interface;
+gshape.aws_v2.networking_and_content_delivery.NetworkingContentDelivery_AmazonVPC_endpoints=outlineConnect=0;fontColor=#232F3E;gradientColor=none;fillColor=#5A30B5;strokeColor=none;dashed=0;verticalLabelPosition=bottom;verticalAlign=top;align=center;html=1;fontSize=12;fontStyle=0;aspect=fixed;shape=mxgraph.aws4.endpoints;
+gshape.aws_v2.networking_and_content_delivery.NetworkingContentDelivery_AmazonVPC_flowlogs=outlineConnect=0;fontColor=#232F3E;gradientColor=none;fillColor=#5A30B5;strokeColor=none;dashed=0;verticalLabelPosition=bottom;verticalAlign=top;align=center;html=1;fontSize=12;fontStyle=0;aspect=fixed;shape=mxgraph.aws4.flow_logs;
+gshape.aws_v2.networking_and_content_delivery.NetworkingContentDelivery_AmazonVPC_internetgateway=outlineConnect=0;fontColor=#232F3E;gradientColor=none;fillColor=#5A30B5;strokeColor=none;dashed=0;verticalLabelPosition=bottom;verticalAlign=top;align=center;html=1;fontSize=12;fontStyle=0;aspect=fixed;shape=mxgraph.aws4.internet_gateway;
+gshape.aws_v2.networking_and_content_delivery.NetworkingContentDelivery_AmazonVPC_networkaccesscontrollist=outlineConnect=0;fontColor=#232F3E;gradientColor=none;fillColor=#5A30B5;strokeColor=none;dashed=0;verticalLabelPosition=bottom;verticalAlign=top;align=center;html=1;fontSize=12;fontStyle=0;aspect=fixed;shape=mxgraph.aws4.network_access_control_list;
+gshape.aws_v2.networking_and_content_delivery.NetworkingContentDelivery_AmazonVPC_router=outlineConnect=0;fontColor=#232F3E;gradientColor=none;fillColor=#5A30B5;strokeColor=none;dashed=0;verticalLabelPosition=bottom;verticalAlign=top;align=center;html=1;fontSize=12;fontStyle=0;aspect=fixed;shape=mxgraph.aws4.router;
+gshape.aws_v2.networking_and_content_delivery.NetworkingContentDelivery_ElasticLoadBalancing=outlineConnect=0;fontColor=#232F3E;gradientColor=#F78E04;gradientDirection=north;fillColor=#D05C17;strokeColor=#ffffff;dashed=0;verticalLabelPosition=bottom;verticalAlign=top;align=center;html=1;fontSize=12;fontStyle=0;aspect=fixed;shape=mxgraph.aws4.resourceIcon;resIcon=mxgraph.aws4.elastic_load_balancing;
+gshape.aws_v2.networking_and_content_delivery.NetworkingContentDelivery_ElasticLoadBalancing_ApplicationLoadBalancer=outlineConnect=0;fontColor=#232F3E;gradientColor=#F78E04;gradientDirection=north;fillColor=#D05C17;strokeColor=#ffffff;dashed=0;verticalLabelPosition=bottom;verticalAlign=top;align=center;html=1;fontSize=12;fontStyle=0;aspect=fixed;shape=mxgraph.aws4.resourceIcon;resIcon=mxgraph.aws4.application_load_balancer;
+gshape.aws_v2.networking_and_content_delivery.NetworkingContentDelivery_ElasticLoadBalancing_ClassicLoadBalancer=outlineConnect=0;fontColor=#232F3E;gradientColor=#F78E04;gradientDirection=north;fillColor=#D05C17;strokeColor=#ffffff;dashed=0;verticalLabelPosition=bottom;verticalAlign=top;align=center;html=1;fontSize=12;fontStyle=0;aspect=fixed;shape=mxgraph.aws4.resourceIcon;resIcon=mxgraph.aws4.classic_load_balancer;
+# AWS ON DEMAND WORKSHOP
+gshape.aws_v2.on_demand_workshop.OnDemandWorkforce_AmazonMechanicalTurk=outlineConnect=0;dashed=0;verticalLabelPosition=bottom;verticalAlign=top;align=center;html=1;shape=mxgraph.aws3.mechanical_turk;fillColor=#ACACAC;gradientColor=none;
+gshape.aws_v2.on_demand_workshop.OnDemandWorkforce_AmazonMechanicalTurk_assignmenttask=outlineConnect=0;dashed=0;verticalLabelPosition=bottom;verticalAlign=top;align=center;html=1;shape=mxgraph.aws3.assignment_task;fillColor=#ACACAC;gradientColor=none;
+gshape.aws_v2.on_demand_workshop.OnDemandWorkforce_AmazonMechanicalTurk_humanintelligencetasks=outlineConnect=0;dashed=0;verticalLabelPosition=bottom;verticalAlign=top;align=center;html=1;shape=mxgraph.aws3.human_intelligence_tasks_hit;fillColor=#ACACAC;gradientColor=none;
+gshape.aws_v2.on_demand_workshop.OnDemandWorkforce_AmazonMechanicalTurk_requester=outlineConnect=0;dashed=0;verticalLabelPosition=bottom;verticalAlign=top;align=center;html=1;shape=mxgraph.aws3.requester;fillColor=#ACACAC;gradientColor=none;
+gshape.aws_v2.on_demand_workshop.OnDemandWorkforce_AmazonMechanicalTurk_workers=outlineConnect=0;dashed=0;verticalLabelPosition=bottom;verticalAlign=top;align=center;html=1;shape=mxgraph.aws3.users;fillColor=#ACACAC;gradientColor=none;
+# AWS SDKS
+gshape.aws_v2.sdks.SDKs_AWSCLI=outlineConnect=0;dashed=0;verticalLabelPosition=bottom;verticalAlign=top;align=center;html=1;shape=mxgraph.aws3.cli;fillColor=#444444;gradientColor=none;
+gshape.aws_v2.sdks.SDKs_AWSToolkitForEclipse=outlineConnect=0;dashed=0;verticalLabelPosition=bottom;verticalAlign=top;align=center;html=1;shape=mxgraph.aws3.toolkit_for_eclipse;fillColor=#342074;gradientColor=none;
+gshape.aws_v2.sdks.SDKs_AWSToolkitForVisualStudio=outlineConnect=0;dashed=0;verticalLabelPosition=bottom;verticalAlign=top;align=center;html=1;shape=mxgraph.aws3.toolkit_for_visual_studio;fillColor=#53B1CB;gradientColor=none;
+gshape.aws_v2.sdks.SDKs_AWSToolsForWindowsPowerShell=outlineConnect=0;dashed=0;verticalLabelPosition=bottom;verticalAlign=top;align=center;html=1;shape=mxgraph.aws3.toolkit_for_windows_powershell;fillColor=#737373;gradientColor=none;
+gshape.aws_v2.sdks.SDKs_Android=outlineConnect=0;dashed=0;verticalLabelPosition=bottom;verticalAlign=top;align=center;html=1;shape=mxgraph.aws3.android;fillColor=#96BF3D;gradientColor=none;
+gshape.aws_v2.sdks.SDKs_Java=outlineConnect=0;dashed=0;verticalLabelPosition=bottom;verticalAlign=top;align=center;html=1;shape=mxgraph.aws3.android;fillColor=#EE472A;gradientColor=none;
+gshape.aws_v2.sdks.SDKs_JavaScript=outlineConnect=0;dashed=0;verticalLabelPosition=bottom;verticalAlign=top;align=center;html=1;shape=mxgraph.aws3.android;fillColor=#205E00;gradientColor=none;
+gshape.aws_v2.sdks.SDKs_Net=outlineConnect=0;dashed=0;verticalLabelPosition=bottom;verticalAlign=top;align=center;html=1;shape=mxgraph.aws3.android;fillColor=#115193;gradientColor=none;
+gshape.aws_v2.sdks.SDKs_Nodejs=outlineConnect=0;dashed=0;verticalLabelPosition=bottom;verticalAlign=top;align=center;html=1;shape=mxgraph.aws3.android;fillColor=#8CC64F;gradientColor=none;
+gshape.aws_v2.sdks.SDKs_PHP=outlineConnect=0;dashed=0;verticalLabelPosition=bottom;verticalAlign=top;align=center;html=1;shape=mxgraph.aws3.android;fillColor=#5A69A4;gradientColor=none;
+gshape.aws_v2.sdks.SDKs_Python=outlineConnect=0;dashed=0;verticalLabelPosition=bottom;verticalAlign=top;align=center;html=1;shape=mxgraph.aws3.android;fillColor=#FFD44F;gradientColor=none;
+gshape.aws_v2.sdks.SDKs_Ruby=outlineConnect=0;dashed=0;verticalLabelPosition=bottom;verticalAlign=top;align=center;html=1;shape=mxgraph.aws3.android;fillColor=#AE1F23;gradientColor=none;
+gshape.aws_v2.sdks.SDKs_Xamarin=outlineConnect=0;dashed=0;verticalLabelPosition=bottom;verticalAlign=top;align=center;html=1;shape=mxgraph.aws3.android;fillColor=#4090D7;gradientColor=none;
+gshape.aws_v2.sdks.SDKs_iOS=outlineConnect=0;dashed=0;verticalLabelPosition=bottom;verticalAlign=top;align=center;html=1;shape=mxgraph.aws3.android;fillColor=#CFCFCF;gradientColor=none;
+# AWS SECURITY AND IDENTITY
+gshape.aws_v2.security_and_identity.SecurityIdentityCompliance_ACM_certificatemanager=outlineConnect=0;fontColor=#232F3E;gradientColor=none;fillColor=#C7131F;strokeColor=none;dashed=0;verticalLabelPosition=bottom;verticalAlign=top;align=center;html=1;fontSize=12;fontStyle=0;aspect=fixed;shape=mxgraph.aws4.certificate_manager_2;
+gshape.aws_v2.security_and_identity.SecurityIdentityCompliance_AWSArtifact=outlineConnect=0;fontColor=#232F3E;gradientColor=#F54749;gradientDirection=north;fillColor=#C7131F;strokeColor=#ffffff;dashed=0;verticalLabelPosition=bottom;verticalAlign=top;align=center;html=1;fontSize=12;fontStyle=0;aspect=fixed;shape=mxgraph.aws4.resourceIcon;resIcon=mxgraph.aws4.artifact;
+gshape.aws_v2.security_and_identity.SecurityIdentityCompliance_AWSCertificateManager=outlineConnect=0;fontColor=#232F3E;gradientColor=#F54749;gradientDirection=north;fillColor=#C7131F;strokeColor=#ffffff;dashed=0;verticalLabelPosition=bottom;verticalAlign=top;align=center;html=1;fontSize=12;fontStyle=0;aspect=fixed;shape=mxgraph.aws4.resourceIcon;resIcon=mxgraph.aws4.certificate_manager_3;
+gshape.aws_v2.security_and_identity.SecurityIdentityCompliance_AWSCloudHSM=outlineConnect=0;fontColor=#232F3E;gradientColor=#F54749;gradientDirection=north;fillColor=#C7131F;strokeColor=#ffffff;dashed=0;verticalLabelPosition=bottom;verticalAlign=top;align=center;html=1;fontSize=12;fontStyle=0;aspect=fixed;shape=mxgraph.aws4.resourceIcon;resIcon=mxgraph.aws4.cloudhsm;
+gshape.aws_v2.security_and_identity.SecurityIdentityCompliance_AWSDirectoryService=outlineConnect=0;fontColor=#232F3E;gradientColor=#F54749;gradientDirection=north;fillColor=#C7131F;strokeColor=#ffffff;dashed=0;verticalLabelPosition=bottom;verticalAlign=top;align=center;html=1;fontSize=12;fontStyle=0;aspect=fixed;shape=mxgraph.aws4.resourceIcon;resIcon=mxgraph.aws4.directory_service;
+gshape.aws_v2.security_and_identity.SecurityIdentityCompliance_AWSIAM=outlineConnect=0;fontColor=#232F3E;gradientColor=#F54749;gradientDirection=north;fillColor=#C7131F;strokeColor=#ffffff;dashed=0;verticalLabelPosition=bottom;verticalAlign=top;align=center;html=1;fontSize=12;fontStyle=0;aspect=fixed;shape=mxgraph.aws4.resourceIcon;resIcon=mxgraph.aws4.identity_and_access_management;
+gshape.aws_v2.security_and_identity.SecurityIdentityCompliance_AWSKMS=outlineConnect=0;fontColor=#232F3E;gradientColor=#F54749;gradientDirection=north;fillColor=#C7131F;strokeColor=#ffffff;dashed=0;verticalLabelPosition=bottom;verticalAlign=top;align=center;html=1;fontSize=12;fontStyle=0;aspect=fixed;shape=mxgraph.aws4.resourceIcon;resIcon=mxgraph.aws4.key_management_service;
+gshape.aws_v2.security_and_identity.SecurityIdentityCompliance_AWSOrganizations=outlineConnect=0;fontColor=#232F3E;gradientColor=#F54749;gradientDirection=north;fillColor=#C7131F;strokeColor=#ffffff;dashed=0;verticalLabelPosition=bottom;verticalAlign=top;align=center;html=1;fontSize=12;fontStyle=0;aspect=fixed;shape=mxgraph.aws4.resourceIcon;resIcon=mxgraph.aws4.organizations;
+gshape.aws_v2.security_and_identity.SecurityIdentityCompliance_AWSShield=outlineConnect=0;fontColor=#232F3E;gradientColor=#F54749;gradientDirection=north;fillColor=#C7131F;strokeColor=#ffffff;dashed=0;verticalLabelPosition=bottom;verticalAlign=top;align=center;html=1;fontSize=12;fontStyle=0;aspect=fixed;shape=mxgraph.aws4.resourceIcon;resIcon=mxgraph.aws4.shield;
+gshape.aws_v2.security_and_identity.SecurityIdentityCompliance_AWSWAF=outlineConnect=0;fontColor=#232F3E;gradientColor=#F54749;gradientDirection=north;fillColor=#C7131F;strokeColor=#ffffff;dashed=0;verticalLabelPosition=bottom;verticalAlign=top;align=center;html=1;fontSize=12;fontStyle=0;aspect=fixed;shape=mxgraph.aws4.resourceIcon;resIcon=mxgraph.aws4.waf;
+gshape.aws_v2.security_and_identity.SecurityIdentityCompliance_AWSWAF_filteringrule=outlineConnect=0;fontColor=#232F3E;gradientColor=none;fillColor=#C7131F;strokeColor=none;dashed=0;verticalLabelPosition=bottom;verticalAlign=top;align=center;html=1;fontSize=12;fontStyle=0;aspect=fixed;shape=mxgraph.aws4.filtering_rule;
+gshape.aws_v2.security_and_identity.SecurityIdentityCompliance_AmazonCloudDirectory=outlineConnect=0;fontColor=#232F3E;gradientColor=#F54749;gradientDirection=north;fillColor=#C7131F;strokeColor=#ffffff;dashed=0;verticalLabelPosition=bottom;verticalAlign=top;align=center;html=1;fontSize=12;fontStyle=0;aspect=fixed;shape=mxgraph.aws4.resourceIcon;resIcon=mxgraph.aws4.cloud_directory;
+gshape.aws_v2.security_and_identity.SecurityIdentityCompliance_AmazonInspector=outlineConnect=0;fontColor=#232F3E;gradientColor=#F54749;gradientDirection=north;fillColor=#C7131F;strokeColor=#ffffff;dashed=0;verticalLabelPosition=bottom;verticalAlign=top;align=center;html=1;fontSize=12;fontStyle=0;aspect=fixed;shape=mxgraph.aws4.resourceIcon;resIcon=mxgraph.aws4.inspector;
+gshape.aws_v2.security_and_identity.SecurityIdentityCompliance_AmazonInspector_agent=outlineConnect=0;fontColor=#232F3E;gradientColor=none;fillColor=#C7131F;strokeColor=none;dashed=0;verticalLabelPosition=bottom;verticalAlign=top;align=center;html=1;fontSize=12;fontStyle=0;aspect=fixed;shape=mxgraph.aws4.agent;
+gshape.aws_v2.security_and_identity.SecurityIdentityCompliance_AmazonMacie=outlineConnect=0;fontColor=#232F3E;gradientColor=#F54749;gradientDirection=north;fillColor=#C7131F;strokeColor=#ffffff;dashed=0;verticalLabelPosition=bottom;verticalAlign=top;align=center;html=1;fontSize=12;fontStyle=0;aspect=fixed;shape=mxgraph.aws4.resourceIcon;resIcon=mxgraph.aws4.macie;
+gshape.aws_v2.security_and_identity.SecurityIdentityCompliance_IAM_AWSSTS=outlineConnect=0;fontColor=#232F3E;gradientColor=none;fillColor=#C7131F;strokeColor=none;dashed=0;verticalLabelPosition=bottom;verticalAlign=top;align=center;html=1;fontSize=12;fontStyle=0;aspect=fixed;shape=mxgraph.aws4.sts;
+gshape.aws_v2.security_and_identity.SecurityIdentityCompliance_IAM_AWSSTS_2=outlineConnect=0;fontColor=#232F3E;gradientColor=none;fillColor=#C7131F;strokeColor=none;dashed=0;verticalLabelPosition=bottom;verticalAlign=top;align=center;html=1;fontSize=12;fontStyle=0;aspect=fixed;shape=mxgraph.aws4.sts_alternate;
+gshape.aws_v2.security_and_identity.SecurityIdentityCompliance_IAM_MFAtoken=outlineConnect=0;fontColor=#232F3E;gradientColor=none;fillColor=#C7131F;strokeColor=none;dashed=0;verticalLabelPosition=bottom;verticalAlign=top;align=center;html=1;fontSize=12;fontStyle=0;aspect=fixed;shape=mxgraph.aws4.mfa_token;
+gshape.aws_v2.security_and_identity.SecurityIdentityCompliance_IAM_addon=outlineConnect=0;fontColor=#232F3E;gradientColor=none;fillColor=#C7131F;strokeColor=none;dashed=0;verticalLabelPosition=bottom;verticalAlign=top;align=center;html=1;fontSize=12;fontStyle=0;aspect=fixed;shape=mxgraph.aws4.addon;
+gshape.aws_v2.security_and_identity.SecurityIdentityCompliance_IAM_dataencryptionkey=outlineConnect=0;fontColor=#232F3E;gradientColor=none;fillColor=#C7131F;strokeColor=none;dashed=0;verticalLabelPosition=bottom;verticalAlign=top;align=center;html=1;fontSize=12;fontStyle=0;aspect=fixed;shape=mxgraph.aws4.data_encryption_key;
+gshape.aws_v2.security_and_identity.SecurityIdentityCompliance_IAM_encrypteddata=outlineConnect=0;fontColor=#232F3E;gradientColor=none;fillColor=#C7131F;strokeColor=none;dashed=0;verticalLabelPosition=bottom;verticalAlign=top;align=center;html=1;fontSize=12;fontStyle=0;aspect=fixed;shape=mxgraph.aws4.encrypted_data;
+gshape.aws_v2.security_and_identity.SecurityIdentityCompliance_IAM_long_termsecuritycredential=outlineConnect=0;fontColor=#232F3E;gradientColor=none;fillColor=#C7131F;strokeColor=none;dashed=0;verticalLabelPosition=bottom;verticalAlign=top;align=center;html=1;fontSize=12;fontStyle=0;aspect=fixed;shape=mxgraph.aws4.temporary_security_credential;
+gshape.aws_v2.security_and_identity.SecurityIdentityCompliance_IAM_permissions=outlineConnect=0;fontColor=#232F3E;gradientColor=none;fillColor=#C7131F;strokeColor=none;dashed=0;verticalLabelPosition=bottom;verticalAlign=top;align=center;html=1;fontSize=12;fontStyle=0;aspect=fixed;shape=mxgraph.aws4.permissions;
+gshape.aws_v2.security_and_identity.SecurityIdentityCompliance_IAM_role=outlineConnect=0;fontColor=#232F3E;gradientColor=none;fillColor=#C7131F;strokeColor=none;dashed=0;verticalLabelPosition=bottom;verticalAlign=top;align=center;html=1;fontSize=12;fontStyle=0;aspect=fixed;shape=mxgraph.aws4.role;
+gshape.aws_v2.security_and_identity.SecurityIdentityCompliance_IAM_temporarysecuritycredential=outlineConnect=0;fontColor=#232F3E;gradientColor=none;fillColor=#C7131F;strokeColor=none;dashed=0;verticalLabelPosition=bottom;verticalAlign=top;align=center;html=1;fontSize=12;fontStyle=0;aspect=fixed;shape=mxgraph.aws4.temporary_security_credential;
+
 # CISCO
 #
 # CISCO BUILDINGS
@@ -1496,6 +1828,363 @@ com.gliffy.shape.floorplan.floorplan_v2.miscellaneous.piano=mxgraph.floorplan.pi
 com.gliffy.shape.mindmap.mindmap_v1.default.main_topic=rect;rounded=1;arcSize=15;absoluteArcSize=1
 com.gliffy.shape.mindmap.mindmap_v1.default.subtopic=rect;rounded=1;arcSize=15;absoluteArcSize=1
 com.gliffy.shape.mindmap.mindmap_v1.default.child_node=rect;rounded=1;dashed=1;arcSize=15;absoluteArcSize=1
+#
+# GOOGLE CLOUD PLATFORM
+#
+# BIG DATA
+gshape.gcp_v1.big_data.bigquery=mxgraph.gcp2.bigquery;fillColor=#5184F3
+gshape.gcp_v1.big_data.cloud_dataflow=mxgraph.gcp2.cloud_dataflow;fillColor=#5184F3
+gshape.gcp_v1.big_data.cloud_datalab=mxgraph.gcp2.cloud_datalab;fillColor=#5184F3
+gshape.gcp_v1.big_data.cloud_dataprep=mxgraph.gcp2.cloud_dataprep;fillColor=#5184F3
+gshape.gcp_v1.big_data.cloud_dataproc=mxgraph.gcp2.cloud_dataproc;fillColor=#5184F3
+gshape.gcp_v1.big_data.cloud_pubsub=mxgraph.gcp2.cloud_pubsub;fillColor=#5184F3
+gshape.gcp_v1.big_data.data_studio=mxgraph.gcp2.data_studio;fillColor=#5184F3
+gshape.gcp_v1.big_data.genomics=mxgraph.gcp2.genomics;fillColor=#5184F3
+# GCP COMPUTE
+gshape.gcp_v1.compute.app_engine=mxgraph.gcp2.app_engine;fillColor=#5184F3
+gshape.gcp_v1.compute.cloud_functions=mxgraph.gcp2.cloud_functions;fillColor=#5184F3
+gshape.gcp_v1.compute.compute_engine=mxgraph.gcp2.compute_engine;fillColor=#5184F3
+gshape.gcp_v1.compute.container_engine=mxgraph.gcp2.container_engine;fillColor=#5184F3
+gshape.gcp_v1.compute.container_optimized_os=mxgraph.gcp2.container_optimized_os;fillColor=#5184F3
+gshape.gcp_v1.compute.gpu=mxgraph.gcp2.gpu;fillColor=#5184F3
+# GCP DATA CARD ICONS
+gshape.gcp_v1.expanded_data_card_icons.app_engine=mxgraph.gcp2.app_engine_icon;strokeColor=none;fillColor=#000000
+gshape.gcp_v1.expanded_data_card_icons.cloud_dataflow=mxgraph.gcp2.cloud_dataflow_icon;strokeColor=none;fillColor=#000000
+gshape.gcp_v1.expanded_data_card_icons.cloud_dataproc=mxgraph.gcp2.cloud_dataproc_icon;strokeColor=none;fillColor=#000000
+gshape.gcp_v1.expanded_data_card_icons.compute_engine=mxgraph.gcp2.compute_engine_icon;strokeColor=none;fillColor=#000000
+gshape.gcp_v1.expanded_data_card_icons.container_engine=mxgraph.gcp2.container_engine_icon;strokeColor=none;fillColor=#000000
+gshape.gcp_v1.expanded_data_card_icons.modifiers_autoscaling=mxgraph.gcp2.modifiers_autoscaling;strokeColor=none;fillColor=#000000
+gshape.gcp_v1.expanded_data_card_icons.modifiers_custom_virtual_machine=mxgraph.gcp2.modifiers_custom_virtual_machine;strokeColor=none;fillColor=#000000
+gshape.gcp_v1.expanded_data_card_icons.modifiers_high_cpu_machine=mxgraph.gcp2.modifiers_high_cpu_machine;strokeColor=none;fillColor=#000000
+gshape.gcp_v1.expanded_data_card_icons.modifiers_high_memory_machine=mxgraph.gcp2.modifiers_high_memory_machine;strokeColor=none;fillColor=#000000
+gshape.gcp_v1.expanded_data_card_icons.modifiers_preemptable_vm=mxgraph.gcp2.modifiers_preemptable_vm;strokeColor=none;fillColor=#000000
+gshape.gcp_v1.expanded_data_card_icons.modifiers_shared_core_machine_f1=mxgraph.gcp2.modifiers_shared_core_machine_f1;strokeColor=none;fillColor=#000000
+gshape.gcp_v1.expanded_data_card_icons.modifiers_shared_core_machine_g1=mxgraph.gcp2.modifiers_shared_core_machine_g1;strokeColor=none;fillColor=#000000
+gshape.gcp_v1.expanded_data_card_icons.modifiers_standard_machine=mxgraph.gcp2.modifiers_standard_machine;strokeColor=none;fillColor=#000000
+gshape.gcp_v1.expanded_data_card_icons.modifiers_storage=mxgraph.gcp2.modifiers_storage;strokeColor=none;fillColor=#000000
+# GCP DEVELOPER TOOLS
+gshape.gcp_v1.developer_tools.cloud_deployment_manager=mxgraph.gcp2.cloud_deployment_manager;fillColor=#5184F3
+gshape.gcp_v1.developer_tools.cloud_sdk=mxgraph.gcp2.placeholder;fillColor=#5184F3
+gshape.gcp_v1.developer_tools.cloud_source_repositories=mxgraph.gcp2.placeholder;fillColor=#5184F3
+gshape.gcp_v1.developer_tools.cloud_test_lab=mxgraph.gcp2.placeholder;fillColor=#5184F3
+gshape.gcp_v1.developer_tools.cloud_tools_for_android_studio=mxgraph.gcp2.placeholder;fillColor=#5184F3
+gshape.gcp_v1.developer_tools.cloud_tools_for_intellij=mxgraph.gcp2.placeholder;fillColor=#5184F3
+gshape.gcp_v1.developer_tools.cloud_tools_for_powershell=mxgraph.gcp2.cloud_tools_for_powershell;fillColor=#5184F3
+gshape.gcp_v1.developer_tools.cloud_tools_for_visual_studio=mxgraph.gcp2.cloud_tools_for_powershell;fillColor=#5184F3
+gshape.gcp_v1.developer_tools.container_builder=mxgraph.gcp2.container_builder;fillColor=#5184F3
+gshape.gcp_v1.developer_tools.container_registry=mxgraph.gcp2.container_registry;fillColor=#5184F3
+gshape.gcp_v1.developer_tools.google_plugin_for_eclipse=mxgraph.gcp2.placeholder;fillColor=#5184F3
+# GCP EXTRAS
+gshape.gcp_v1.extras.blue_hexagon=mxgraph.gcp2.blue_hexagon;fillColor=#5184F3;strokeColor=none
+gshape.gcp_v1.extras.generic_gcp=mxgraph.gcp2.placeholder;fillColor=#5184F3
+gshape.gcp_v1.extras.google_cloud_platform=mxgraph.gcp2.google_cloud_platform;fillColor=#5184F3
+gshape.gcp_v1.extras.google_cloud_platform_lockup=mxgraph.gcp2.google_cloud_platform_lockup;fillColor=#000000;strokeColor=none
+gshape.gcp_v1.extras.prediction_api=mxgraph.gcp2.prediction_api;fillColor=#5184F3
+# GCP IDENTITY AND SECURITY
+gshape.gcp_v1.identity_and_security.beyondcorp=mxgraph.gcp2.beyondcorp;fillColor=#5184F3
+gshape.gcp_v1.identity_and_security.cloud_iam=mxgraph.gcp2.cloud_iam;fillColor=#5184F3
+gshape.gcp_v1.identity_and_security.cloud_resource_manager=mxgraph.gcp2.cloud_iam;fillColor=#5184F3
+gshape.gcp_v1.identity_and_security.cloud_security_scanner=mxgraph.gcp2.cloud_security_scanner;fillColor=#5184F3
+gshape.gcp_v1.identity_and_security.data_loss_prevention_api=mxgraph.gcp2.data_loss_prevention_api;fillColor=#5184F3
+gshape.gcp_v1.identity_and_security.identity_aware_proxy=mxgraph.gcp2.identity_aware_proxy;fillColor=#5184F3
+gshape.gcp_v1.identity_and_security.key_management_service=mxgraph.gcp2.key_management_service;fillColor=#5184F3
+gshape.gcp_v1.identity_and_security.security_key_enforcement=mxgraph.gcp2.security_key_enforcement;fillColor=#5184F3
+# GCP INTERNET OF THINGS
+gshape.gcp_v1.iot.cloud_iot_core=mxgraph.gcp2.cloud_iot_core;fillColor=#5184F3
+# GCP MACHINE LEARNING
+gshape.gcp_v1.machine_learning.advanced_solutions_lab=mxgraph.gcp2.advanced_solutions_lab;fillColor=#5184F3
+gshape.gcp_v1.machine_learning.cloud_jobs_api=mxgraph.gcp.machine_learning.jobs_api;fillColor=#5184F3;strokeColor=none
+gshape.gcp_v1.machine_learning.cloud_machine_learning=mxgraph.gcp2.cloud_machine_learning;fillColor=#5184F3
+gshape.gcp_v1.machine_learning.cloud_natural_language_api=mxgraph.gcp.machine_learning.natural_language_api;fillColor=#5184F3;fillColor=#5184F3;strokeColor=none
+gshape.gcp_v1.machine_learning.cloud_speech_api=mxgraph.gcp.machine_learning.speech_api;fillColor=#5184F3;fillColor=#5184F3;strokeColor=none
+gshape.gcp_v1.machine_learning.cloud_translation_api=mxgraph.gcp.machine_learning.translation_api;fillColor=#5184F3;fillColor=#5184F3;strokeColor=none
+gshape.gcp_v1.machine_learning.cloud_video_intelligence_api=mxgraph.gcp2.cloud_video_intelligence_api;fillColor=#5184F3
+gshape.gcp_v1.machine_learning.cloud_vision_api=mxgraph.gcp.machine_learning.vision_api;fillColor=#5184F3;fillColor=#5184F3;strokeColor=none
+# GCP MANAGEMENT TOOLS
+gshape.gcp_v1.management_tools.cloud_apis=mxgraph.gcp2.cloud_apis;fillColor=#5184F3
+gshape.gcp_v1.management_tools.cloud_billing_api=mxgraph.gcp2.placeholder;fillColor=#5184F3
+gshape.gcp_v1.management_tools.cloud_console=mxgraph.gcp2.placeholder;fillColor=#5184F3
+gshape.gcp_v1.management_tools.cloud_deployment_manager=mxgraph.gcp2.cloud_deployment_manager;fillColor=#5184F3
+gshape.gcp_v1.management_tools.cloud_endpoints=mxgraph.gcp2.cloud_endpoints;fillColor=#5184F3
+gshape.gcp_v1.management_tools.cloud_mobile_app=mxgraph.gcp2.placeholder;fillColor=#5184F3
+gshape.gcp_v1.management_tools.cloud_shell=mxgraph.gcp2.placeholder;fillColor=#5184F3
+gshape.gcp_v1.management_tools.debugger=mxgraph.gcp2.debugger;fillColor=#5184F3
+gshape.gcp_v1.management_tools.error_reporting=mxgraph.gcp2.error_reporting;fillColor=#5184F3
+gshape.gcp_v1.management_tools.logging=mxgraph.gcp2.logging;fillColor=#5184F3
+gshape.gcp_v1.management_tools.monitoring=mxgraph.gcp2.cloud_deployment_manager;fillColor=#5184F3
+gshape.gcp_v1.management_tools.stackdriver=mxgraph.gcp2.stackdriver;fillColor=#5184F3
+gshape.gcp_v1.management_tools.trace=mxgraph.gcp2.trace;fillColor=#5184F3
+# GCP NETWORKING
+gshape.gcp_v1.networking.cloud_cdn=mxgraph.gcp2.cloud_cdn;fillColor=#5184F3
+gshape.gcp_v1.networking.cloud_dns=mxgraph.gcp2.cloud_dns;fillColor=#5184F3
+gshape.gcp_v1.networking.cloud_external_ip_addresses=mxgraph.gcp2.cloud_external_ip_addresses;fillColor=#5184F3
+gshape.gcp_v1.networking.cloud_firewall_rules=mxgraph.gcp2.cloud_firewall_rules;fillColor=#5184F3
+gshape.gcp_v1.networking.cloud_interconnect=mxgraph.gcp2.dedicated_interconnect;fillColor=#5184F3
+gshape.gcp_v1.networking.cloud_load_balancing=mxgraph.gcp2.cloud_load_balancing;fillColor=#5184F3
+gshape.gcp_v1.networking.cloud_network=mxgraph.gcp2.cloud_network;fillColor=#5184F3
+gshape.gcp_v1.networking.cloud_partner_interconnect=mxgraph.gcp2.partner_interconnect;fillColor=#5184F3
+gshape.gcp_v1.networking.cloud_router=mxgraph.gcp2.cloud_router;fillColor=#5184F3
+gshape.gcp_v1.networking.cloud_routes=mxgraph.gcp2.cloud_routes;fillColor=#5184F3
+gshape.gcp_v1.networking.cloud_vpn=mxgraph.gcp2.cloud_vpn;fillColor=#5184F3
+gshape.gcp_v1.networking.virtual_private_cloud=mxgraph.gcp2.virtual_private_cloud;fillColor=#5184F3
+# GCP OPEN SOURCE ICONS
+gshape.gcp_v1.open_source_icons.forseti_lockup=mxgraph.gcp2.forseti_lockup
+gshape.gcp_v1.open_source_icons.forseti_logo=mxgraph.gcp2.forseti_logo
+gshape.gcp_v1.open_source_icons.tensorflow_logo=mxgraph.gcp2.tensorflow_logo
+# GCP STORAGE AND DATABASES
+gshape.gcp_v1.storage_and_databases.cloud_bigtable=mxgraph.gcp2.cloud_bigtable;fillColor=#5184F3
+gshape.gcp_v1.storage_and_databases.cloud_datastore=mxgraph.gcp2.cloud_datastore;fillColor=#5184F3
+gshape.gcp_v1.storage_and_databases.cloud_spanner=mxgraph.gcp2.cloud_spanner;fillColor=#5184F3
+gshape.gcp_v1.storage_and_databases.cloud_sql=mxgraph.gcp2.cloud_sql;fillColor=#5184F3
+gshape.gcp_v1.storage_and_databases.cloud_storage=mxgraph.gcp2.cloud_storage;fillColor=#5184F3
+gshape.gcp_v1.storage_and_databases.data_transfer_appliance=mxgraph.gcp2.transfer_appliance;fillColor=#5184F3
+gshape.gcp_v1.storage_and_databases.persistent_disk=mxgraph.gcp2.persistent_disk;fillColor=#5184F3
+#
+# MS AZURE
+#
+gshape.azure_v1.accounts_microsoft_account=mxgraph.mscae.cloud.microsoft_account;fillColor=#0079D6;strokeColor=none
+gshape.azure_v1.accounts_work_account=mxgraph.mscae.cloud.work_account;fillColor=#0079D6;strokeColor=none
+gshape.azure_v1.activedirectoryb2c_color=image;image=img/lib/mscae/ActiveDirectory.svg;
+gshape.azure_v1.activedirectorydomain_color=image;image=img/lib/mscae/ActiveDirectoryDomain.svg
+gshape.azure_v1.az_building_blocks_50=image;image=img/lib/mscae/Building_Blocks.svg
+gshape.azure_v1.az_virtual_datacenter_50=image;image=img/lib/mscae/Virtual_Datacenter.svg
+gshape.azure_v1.azure_active_directory=mxgraph.azure.azure_active_directory;fillColor=#0079D6;strokeColor=none
+gshape.azure_v1.azure_active_directory_access_control=mxgraph.azure.access_control;fillColor=#0079D6;strokeColor=none
+gshape.azure_v1.azure_active_directory_color=image;image=img/lib/mscae/Active_Directory.svg
+gshape.azure_v1.azure_active_directory_health_monitoring=mxgraph.mscae.cloud.active_directory_health_monitoring;fillColor=#0079D6;strokeColor=none
+gshape.azure_v1.azure_active_directory_health_monitoring_color=image;image=img/lib/mscae/Active_Directory_Health_Monitoring.svg
+gshape.azure_v1.azure_advisor=mxgraph.mscae.cloud.advisor;fillColor=#0079D6;strokeColor=none
+gshape.azure_v1.azure_analysis_service=mxgraph.mscae.cloud.analysis_service;fillColor=#0079D6;strokeColor=none
+gshape.azure_v1.azure_api_management=mxgraph.mscae.cloud.api_management;fillColor=#0079D6;strokeColor=none
+gshape.azure_v1.azure_api_management_color=image;image=img/lib/mscae/API_Management.svg
+gshape.azure_v1.azure_app_service=mxgraph.mscae.cloud.app_service;fillColor=#0079D6;strokeColor=none
+gshape.azure_v1.azure_app_service_azure_api_apps=mxgraph.mscae.cloud.api_app;fillColor=#0079D6;strokeColor=none
+gshape.azure_v1.azure_app_service_azure_api_apps_color=image;image=img/lib/mscae/App_Service_API_Apps.svg
+gshape.azure_v1.azure_app_service_color=image;image=img/lib/mscae/App_Service.svg
+gshape.azure_v1.azure_app_service_mobile_app=mxgraph.mscae.cloud.mobile_app;fillColor=#0079D6;strokeColor=none
+gshape.azure_v1.azure_app_service_mobile_app_color=image;image=img/lib/mscae/App_Service_Mobile_App.svg
+gshape.azure_v1.azure_app_service_web_app=mxgraph.azure.azure_website;fillColor=#0079D6;strokeColor=none
+gshape.azure_v1.azure_app_service_web_app_color=mxgraph.azure.azure_website;fillColor=#0079D6;strokeColor=none
+gshape.azure_v1.azure_app_service_worker_pools=mxgraph.mscae.cloud.worker_pools;fillColor=#0079D6;strokeColor=none
+gshape.azure_v1.azure_app_service_worker_pools_color=image;image=img/lib/mscae/App_Service_Worker_Pools.svg
+gshape.azure_v1.azure_application_gateway=mxgraph.mscae.cloud.application_gateway;fillColor=#0079D6;strokeColor=none
+gshape.azure_v1.azure_application_gateway_color=image;image=img/lib/mscae/Application_Gateway.svg
+gshape.azure_v1.azure_application_insights=mxgraph.mscae.cloud.application_insights;fillColor=#0079D6;strokeColor=none
+gshape.azure_v1.azure_application_insights_color=image;image=img/lib/mscae/Application_Insights.svg
+gshape.azure_v1.azure_automation=mxgraph.azure.automation;fillColor=#0079D6;strokeColor=none
+gshape.azure_v1.azure_automation_color=image;image=img/lib/mscae/Automation.svg
+gshape.azure_v1.azure_automation_runbooks=mxgraph.mscae.cloud.runbooks;fillColor=#0079D6;strokeColor=none
+gshape.azure_v1.azure_automation_runbooks_color=image;image=img/lib/mscae/Runbooks.svg
+gshape.azure_v1.azure_backup=mxgraph.azure.hyper_v_recovery_manager;fillColor=#0079D6;strokeColor=none
+gshape.azure_v1.azure_backup_backup_agent=mxgraph.azure.backup_service;fillColor=#0079D6;strokeColor=none
+gshape.azure_v1.azure_backup_color=image;image=img/lib/mscae/Backup.svg
+gshape.azure_v1.azure_backup_recovery_vault=mxgraph.mscae.cloud.recovery_vault;fillColor=#0079D6;strokeColor=none
+gshape.azure_v1.azure_batch=mxgraph.mscae.cloud.batch;fillColor=#0079D6;strokeColor=none
+gshape.azure_v1.azure_biztalk_services=mxgraph.azure.biztalk_services;fillColor=#0079D6;strokeColor=none
+gshape.azure_v1.azure_biztalk_services_color=image;image=img/lib/mscae/BizTalk_Services.svg
+gshape.azure_v1.azure_biztalk_services_hybrid_connection_manager=mxgraph.mscae.cloud.hybrid_connection_manager;fillColor=#0079D6;strokeColor=none
+gshape.azure_v1.azure_biztalk_services_hybrid_connections=mxgraph.mscae.cloud.hybrid_connections;fillColor=#0079D6;strokeColor=none
+gshape.azure_v1.azure_biztalk_services_hybrid_connections_color=image;image=img/lib/mscae/BizTalk_Services_Hybrid_Connections.svg
+gshape.azure_v1.azure_bot_services=mxgraph.mscae.cloud.bot_services;fillColor=#0079D6;strokeColor=none
+gshape.azure_v1.azure_cache_including_redis=mxgraph.azure.azure_cache;fillColor=#0079D6;strokeColor=none
+gshape.azure_v1.azure_cache_including_redis_color=image;image=img/lib/mscae/Cache_including_Redis.svg
+gshape.azure_v1.azure_cache_redis_product_icon_color=image;image=img/lib/mscae/Cache_Redis_Product.svg
+gshape.azure_v1.azure_cloud_service=mxgraph.azure.cloud_service;fillColor=#0079D6;strokeColor=none
+gshape.azure_v1.azure_cloud_service_color=image;image=img/lib/mscae/Cloud_Service.svg
+gshape.azure_v1.azure_cloud_services_web_role=mxgraph.azure.web_role;fillColor=#0079D6;strokeColor=none
+gshape.azure_v1.azure_cloud_services_web_roles=mxgraph.azure.web_roles;fillColor=#0079D6;strokeColor=none
+gshape.azure_v1.azure_cloud_services_worker_role=mxgraph.azure.worker_role;fillColor=#0079D6;strokeColor=none
+gshape.azure_v1.azure_cloud_services_worker_roles=mxgraph.azure.worker_roles;fillColor=#0079D6;strokeColor=none
+gshape.azure_v1.azure_cognative_services=mxgraph.mscae.cloud.cognitive_services;fillColor=#0079D6;strokeColor=none
+gshape.azure_v1.azure_cognative_services_color=image;image;image=img/lib/ibm/miscellaneous/cognitive_services.svg
+gshape.azure_v1.azure_cognative_services_computer_vision_color=image;image=img/lib/mscae/Cognitive_Services_Computer_Vision.svg
+gshape.azure_v1.azure_cognative_services_emotion_color=image;image=img/lib/mscae/Cognitive_Services_emotion.svg
+gshape.azure_v1.azure_cognative_services_luis_color=image;image=img/lib/mscae/Cognitive_Services_luis.svg;
+gshape.azure_v1.azure_cognative_services_recommendations_color=image;image=img/lib/mscae/Cognitive_Services_recommendations.svg
+gshape.azure_v1.azure_cognative_services_speech_color=image;image=img/lib/mscae/Cognitive_Services_Speech.svg
+gshape.azure_v1.azure_cognative_services_textanalytics_color=image;image=img/lib/mscae/Cognitive_Services_textanalytics.svg
+gshape.azure_v1.azure_cognative_services_web_language_model_color=image;image=img/lib/mscae/Cognitive_Services_web_language_model.svg
+gshape.azure_v1.azure_compute_autoscaling=mxgraph.azure.autoscale;fillColor=#0079D6;strokeColor=none
+gshape.azure_v1.azure_container_registry=mxgraph.mscae.cloud.container_registry;fillColor=#0079D6;strokeColor=none
+gshape.azure_v1.azure_container_service=mxgraph.mscae.cloud.container_service;fillColor=#0079D6;strokeColor=none
+gshape.azure_v1.azure_container_service_color=image;image=img/lib/mscae/Container_Service.svg
+gshape.azure_v1.azure_content_delivery_network_cdn=mxgraph.azure.content_delivery_network;fillColor=#0079D6;strokeColor=none
+gshape.azure_v1.azure_content_delivery_network_cdn_color=image;image=img/lib/mscae/Content_Delivery_Network.svg
+gshape.azure_v1.azure_cortona_management_suite=mxgraph.mscae.cloud.cortona_management_suite;fillColor=#0079D6;strokeColor=none
+gshape.azure_v1.azure_data_catalog=mxgraph.mscae.cloud.data_catalog;fillColor=#0079D6;strokeColor=none
+gshape.azure_v1.azure_data_catalog_color=image;image=img/lib/mscae/Data_Catalog.svg
+gshape.azure_v1.azure_data_factory=mxgraph.mscae.cloud.data_factory;fillColor=#0079D6;strokeColor=none
+gshape.azure_v1.azure_data_factory_color=image;image=img/lib/mscae/Data_Factory.svg
+gshape.azure_v1.azure_data_lake=mxgraph.mscae.cloud.data_lake;fillColor=#0079D6;strokeColor=none
+gshape.azure_v1.azure_data_lake_analytics=mxgraph.mscae.cloud.data_lake_analytics;fillColor=#0079D6;strokeColor=none
+gshape.azure_v1.azure_data_lake_analytics_color=image;image=img/lib/mscae/Data_Lake_Analytics.svg
+gshape.azure_v1.azure_data_lake_store=mxgraph.mscae.cloud.data_lake_store;fillColor=#0079D6;strokeColor=none
+gshape.azure_v1.azure_data_lake_store_color=image;image=img/lib/mscae/Data_Lake_Store.svg
+gshape.azure_v1.azure_data_warehouse=mxgraph.mscae.cloud.data_warehouse;fillColor=#0079D6;strokeColor=none
+gshape.azure_v1.azure_data_warehouse_color=image;image=img/lib/mscae/Data_Warehouse.svg
+gshape.azure_v1.azure_database_general_color=image;image=img/lib/mscae/Database_General.svg
+gshape.azure_v1.azure_dataservices_category_rollup=image;image=img/lib/mscae/DataServices_category_rollup.svg
+gshape.azure_v1.azure_devtest_labs=mxgraph.mscae.cloud.devtest_labs;fillColor=#0079D6;strokeColor=none
+gshape.azure_v1.azure_devtest_labs_color=image;image=img/lib/mscae/DevTest_Labs.svg
+gshape.azure_v1.azure_dns=mxgraph.mscae.cloud.azure_dns;fillColor=#0079D6;strokeColor=none
+gshape.azure_v1.azure_dns_color=image;image=img/lib/mscae/DNS.svg
+gshape.azure_v1.azure_documentdb=mxgraph.mscae.cloud.documentdb;fillColor=#0079D6;strokeColor=none
+gshape.azure_v1.azure_documentdb_color=image;image=img/lib/mscae/DocumentDB.svg
+gshape.azure_v1.azure_documentdb_database_large=mxgraph.mscae.cloud.documentdb;fillColor=#0079D6;strokeColor=none
+gshape.azure_v1.azure_documentdb_docdb_account_large=mxgraph.mscae.cloud.docdb_account;fillColor=#0079D6;strokeColor=none
+gshape.azure_v1.azure_documentdb_docdb_collections_large=mxgraph.mscae.cloud.docdb_collections;fillColor=#0079D6;strokeColor=none
+gshape.azure_v1.azure_documentdb_document_2_large=mxgraph.mscae.cloud.document;fillColor=#0079D6;strokeColor=none
+gshape.azure_v1.azure_event_grid=image;image=img/lib/mscae/Event_Grid.svg
+gshape.azure_v1.azure_event_hubs=mxgraph.mscae.cloud.event_hubs;fillColor=#0079D6;strokeColor=none
+gshape.azure_v1.azure_event_hubs_color=image;image=img/lib/mscae/Event_Hubs.svg;
+gshape.azure_v1.azure_express_route_color=image;image=img/lib/mscae/Express_Route.svg
+gshape.azure_v1.azure_expressroute=mxgraph.azure.express_route;fillColor=#0079D6;strokeColor=none
+gshape.azure_v1.azure_functions=mxgraph.mscae.cloud.functions;fillColor=#0079D6;strokeColor=none
+gshape.azure_v1.azure_functions_color_large=image;image=img/lib/mscae/Functions.svg
+gshape.azure_v1.azure_hdinsight=mxgraph.mscae.cloud.hdinsight;fillColor=#0079D6;strokeColor=none
+gshape.azure_v1.azure_hdinsight_color=image;image=img/lib/mscae/HDInsight.svg
+gshape.azure_v1.azure_hockeyapp=mxgraph.mscae.cloud.hockeyapp;fillColor=#0079D6;strokeColor=none
+gshape.azure_v1.azure_hockeyapp_color=mxgraph.mscae.cloud.hockeyapp;fillColor=#0079D6;strokeColor=none
+gshape.azure_v1.azure_iot_hub=mxgraph.mscae.cloud.iot;fillColor=#0079D6;strokeColor=none
+gshape.azure_v1.azure_key_vault=mxgraph.mscae.cloud.key_vault;fillColor=#0079D6;strokeColor=none
+gshape.azure_v1.azure_keyvault_color=image;image=img/lib/mscae/KeyVault.svg
+gshape.azure_v1.azure_load_balancer_automatic=mxgraph.mscae.cloud.azure_automatic_load_balancer;fillColor=#0079D6;strokeColor=none
+gshape.azure_v1.azure_load_balancer_feature=mxgraph.mscae.cloud.azure_load_balancer_feature;fillColor=#0079D6;strokeColor=none
+gshape.azure_v1.azure_load_balancer_feature_color=image;image=img/lib/mscae/Load_Balancer_feature.svg
+gshape.azure_v1.azure_logic_apps=mxgraph.mscae.cloud.logic_apps;fillColor=#0079D6;strokeColor=none
+gshape.azure_v1.azure_logic_apps_color=image;image=img/lib/mscae/Logic_Apps.svg
+gshape.azure_v1.azure_logo_icon_50=mxgraph.mscae.cloud.azure_logo;fillColor=#0079D6;strokeColor=none
+gshape.azure_v1.azure_machine_learning=mxgraph.mscae.cloud.machine_learning2;fillColor=#0079D6;strokeColor=none
+gshape.azure_v1.azure_machine_learning_color=image;image=img/lib/mscae/Machine_Learning.svg
+gshape.azure_v1.azure_management_portal=mxgraph.mscae.cloud.management_portal;fillColor=#0079D6;strokeColor=none
+gshape.azure_v1.azure_management_portal_color=image;image=img/lib/mscae/Management_Portal.svg
+gshape.azure_v1.azure_media_services=mxgraph.azure.media_service;fillColor=#0079D6;strokeColor=none
+gshape.azure_v1.azure_media_services__color=image;image=img/lib/mscae/Media_Services.svg
+gshape.azure_v1.azure_mobile_engagement=mxgraph.mscae.cloud.mobile_engagement;fillColor=#0079D6;strokeColor=none
+gshape.azure_v1.azure_mobile_engagement_color=image;image=img/lib/mscae/Mobile_Engagement.svg
+gshape.azure_v1.azure_monitor=mxgraph.mscae.cloud.monitor;fillColor=#0079D6;strokeColor=none
+gshape.azure_v1.azure_multi_factor_authentication=mxgraph.azure.multi_factor_authentication;fillColor=#0079D6;strokeColor=none
+gshape.azure_v1.azure_multi_factor_authentication_color=image;image=img/lib/mscae/Multi_Factor_Authentication.svg
+gshape.azure_v1.azure_mysql_cleardb_database=mxgraph.azure.mysql_database;fillColor=#0079D6;strokeColor=none
+gshape.azure_v1.azure_mysql_cleardb_database_color=image;image=img/lib/mscae/MySQL_ClearDB_database.svg
+gshape.azure_v1.azure_notification_hubs=mxgraph.azure.notification_hub;fillColor=#0079D6;strokeColor=none
+gshape.azure_v1.azure_notification_hubs_color=image;image=img/lib/mscae/Notification_Hubs.svg
+gshape.azure_v1.azure_remoteapp=mxgraph.mscae.cloud.remoteapp;fillColor=#0079D6;strokeColor=none
+gshape.azure_v1.azure_remoteapp_color=image;image=img/lib/mscae/RemoteApp.svg
+gshape.azure_v1.azure_rights_management_rms=mxgraph.mscae.cloud.azure_rights_management_rms;fillColor=#0079D6;strokeColor=none
+gshape.azure_v1.azure_route_filter=image;image=img/lib/mscae/Route_Filter.svg
+gshape.azure_v1.azure_scheduler=mxgraph.azure.scheduler;fillColor=#0079D6;strokeColor=none
+gshape.azure_v1.azure_sdk=mxgraph.azure.azure_sdk;fillColor=#0079D6;strokeColor=none
+gshape.azure_v1.azure_sdk_color=image;image=img/lib/mscae/SDK.svg
+gshape.azure_v1.azure_search=mxgraph.mscae.cloud.azure_search;fillColor=#0079D6;strokeColor=none
+gshape.azure_v1.azure_search_color=image;image=img/lib/mscae/Search.svg
+gshape.azure_v1.azure_security_center=mxgraph.mscae.cloud.security_center;fillColor=#0079D6;strokeColor=none
+gshape.azure_v1.azure_security_center__color=image;image=img/lib/mscae/Security_Center.svg
+gshape.azure_v1.azure_service_bus=mxgraph.mscae.cloud.service_bus2;fillColor=#0079D6;strokeColor=none
+gshape.azure_v1.azure_service_bus_2=mxgraph.mscae.cloud.service_bus2;fillColor=#0079D6;strokeColor=none
+gshape.azure_v1.azure_service_bus_color=image;image=img/lib/mscae/Service_Bus.svg
+gshape.azure_v1.azure_service_bus_queues=image;image=img/lib/mscae/Service_Bus_Queues.svg
+gshape.azure_v1.azure_service_bus_queues_color=image;image=img/lib/mscae/Service_Bus_Queues.svg
+gshape.azure_v1.azure_service_bus_relay=mxgraph.mscae.cloud.service_bus_relay2;fillColor=#0079D6;strokeColor=none
+gshape.azure_v1.azure_service_bus_relay_color=image;image=img/lib/mscae/Service_Bus_Relay.svg
+gshape.azure_v1.azure_service_bus_topics=image;image=img/lib/mscae/Service_Bus_Topics.svg
+gshape.azure_v1.azure_service_bus_topics_color=image;image=img/lib/mscae/Service_Bus_Topics.svg
+gshape.azure_v1.azure_service_fabric=mxgraph.mscae.cloud.service_fabric;fillColor=#0079D6;strokeColor=none
+gshape.azure_v1.azure_service_fabric_color=image;image=img/lib/mscae/Service_Fabric.svg
+gshape.azure_v1.azure_site_recovery=mxgraph.mscae.cloud.site_recovery;fillColor=#0079D6;strokeColor=none
+gshape.azure_v1.azure_site_recovery__color=image;image=img/lib/mscae/Site_Recovery.svg
+gshape.azure_v1.azure_sql_database=mxgraph.azure.sql_database_sql_azure;fillColor=#0079D6;strokeColor=none
+gshape.azure_v1.azure_sql_database_generic=mxgraph.azure.sql_database;fillColor=#0079D6;strokeColor=none
+gshape.azure_v1.azure_sql_database_generic_color=image;image=img/lib/mscae/SQL_Database_generic.svg
+gshape.azure_v1.azure_sql_database_premium=mxgraph.mscae.cloud.sql_database_premium;fillColor=#0079D6;strokeColor=none
+gshape.azure_v1.azure_sql_datasync=mxgraph.azure.sql_datasync;fillColor=#0079D6;strokeColor=none
+gshape.azure_v1.azure_sql_datawarehouse=mxgraph.mscae.cloud.data_warehouse;fillColor=#0079D6;strokeColor=none
+gshape.azure_v1.azure_sql_datawarehouse_color=image;image=img/lib/mscae/Data_Warehouse.svg
+gshape.azure_v1.azure_sql_stretch_database=mxgraph.mscae.cloud.sql_stretch_database;fillColor=#0079D6;strokeColor=none
+gshape.azure_v1.azure_sql_stretch_database_color=image;image=img/lib/mscae/SQL_Stretch_Database.svg
+gshape.azure_v1.azure_stack=mxgraph.mscae.cloud.stack;fillColor=#0079D6;strokeColor=none
+gshape.azure_v1.azure_storage=mxgraph.mscae.cloud.storage;fillColor=#0079D6;strokeColor=none
+gshape.azure_v1.azure_storage_blob=mxgraph.azure.storage_blob;fillColor=#0079D6;strokeColor=none
+gshape.azure_v1.azure_storage_cs=mxgraph.mscae.cloud.storage_cs;fillColor=#0079D6;strokeColor=none
+gshape.azure_v1.azure_storage_files=mxgraph.mscae.cloud.storage_files;fillColor=#0079D6;strokeColor=none
+gshape.azure_v1.azure_storage_queue=mxgraph.azure.storage_queue;fillColor=#0079D6;strokeColor=none
+gshape.azure_v1.azure_storage_table=mxgraph.azure.storage_table;fillColor=#0079D6;strokeColor=none
+gshape.azure_v1.azure_store_marketplace_color=image;image=img/lib/mscae/Store_Marketplace.svg
+gshape.azure_v1.azure_storsimple=mxgraph.azure.storsimple;fillColor=#0079D6;strokeColor=none
+gshape.azure_v1.azure_storsimple_color=image;image=img/lib/mscae/StorSimple.svg
+gshape.azure_v1.azure_stream_analytics=mxgraph.mscae.cloud.stream_analytics;fillColor=#0079D6;strokeColor=none
+gshape.azure_v1.azure_stream_analytics_color=image;image=img/lib/mscae/Stream_Analytics.svg
+gshape.azure_v1.azure_subscription=mxgraph.azure.azure_subscription;fillColor=#0079D6;strokeColor=none
+gshape.azure_v1.azure_traffic_manager=mxgraph.azure.traffic_manager;fillColor=#0079D6;strokeColor=none
+gshape.azure_v1.azure_traffic_manager_color=image;image=img/lib/mscae/Traffic_Manager.svg
+gshape.azure_v1.azure_virtual_machine=mxgraph.azure.virtual_machine;fillColor=#0079D6;strokeColor=none
+gshape.azure_v1.azure_virtual_machine_2_color=image;image=img/lib/mscae/Virtual_Machine_2.svg
+gshape.azure_v1.azure_virtual_machine_color=image;image=img/lib/mscae/Virtual_Machine.svg
+gshape.azure_v1.azure_virtual_machines_availability_set=mxgraph.mscae.cloud.virtual_machines_availability_set;fillColor=#0079D6;strokeColor=none
+gshape.azure_v1.azure_virtual_machines_availability_set_color=image;image=img/lib/mscae/Virtual_Machines_Availability_Set.svg
+gshape.azure_v1.azure_virtual_machines_linux_penguin_shadow_color_2=image;image=img/lib/mscae/Virtual_Machines_Linux.svg
+gshape.azure_v1.azure_vm_container=mxgraph.mscae.cloud.virtual_machine_container;fillColor=#0079D6;strokeColor=none
+gshape.azure_v1.azure_vm_scale_set=mxgraph.mscae.cloud.vm_scale_set;fillColor=#0079D6;strokeColor=none
+gshape.azure_v1.azure_vm_scale_set__color=image;image=img/lib/mscae/VM_Scale_Set.svg
+gshape.azure_v1.azure_vm_symbol_only=mxgraph.azure.virtual_machine_feature;fillColor=#0079D6;strokeColor=none
+gshape.azure_v1.azure_vpn_gateway=mxgraph.mscae.cloud.vpn_gateway2;fillColor=#0079D6;strokeColor=none
+gshape.azure_v1.azure_vpn_gateway_color=image;image=img/lib/mscae/VPN_Gateway.svg
+gshape.azure_v1.azure_webapp_webjobs=mxgraph.mscae.cloud.webjobs;fillColor=#0079D6;strokeColor=none
+gshape.azure_v1.azure_webapp_webjobs_color=image;image=img/lib/mscae/WebApp_WebJobs.svg
+gshape.azure_v1.azuredatabricks=image;image=img/lib/mscae/Databricks.svg
+gshape.azure_v1.blockchain_icon_color_50x50=image;image=img/lib/mscae/Blockchain.svg
+gshape.azure_v1.cloud_office_365=mxgraph.mscae.cloud.cloud_office_365;fillColor=#DF3C01;strokeColor=none
+gshape.azure_v1.cosmosdb_color=image;image=img/lib/mscae/CosmosDB.svg
+gshape.azure_v1.customerinsights=image;image=img/lib/mscae/CustomerInsights.svg
+gshape.azure_v1.discs=image;image=img/lib/mscae/Discs.svg
+gshape.azure_v1.elastic_database_pools=image;image=img/lib/mscae/Elastic_Database_Pools.svg
+gshape.azure_v1.gateway_50=image;image=img/lib/mscae/Gateway.svg
+gshape.azure_v1.iot_central_50=mxgraph.mscae.cloud.central;fillColor=#0079D6;strokeColor=none
+gshape.azure_v1.iot_dps_blue_color_final=mxgraph.mscae.cloud.dps;fillColor=#0079D6;strokeColor=none
+gshape.azure_v1.iot_edge_50=image;image=img/lib/mscae/IOT_edge.svg
+gshape.azure_v1.machinelearningserviceplans_color=image;image=img/lib/mscae/MachineLearningServicePlans.svg
+gshape.azure_v1.machinelearningwebservices_color=image;image=img/lib/mscae/MachineLearningWebServices.svg
+gshape.azure_v1.machinelearningworkspaces_color=image;image=img/lib/mscae/MachineLearningWorkspaces.svg
+gshape.azure_v1.managedapplications_color=mxgraph.mscae.cloud.managed_applications;fillColor=#0079D6;strokeColor=none
+gshape.azure_v1.md_snapshot=image;image=img/lib/mscae/MD_snapshot.svg
+gshape.azure_v1.microsoft_azure=mxgraph.mscae.cloud.azure;fillColor=#0079D6;strokeColor=none
+gshape.azure_v1.network_watcher_50=image;image=img/lib/mscae/Network_watcher.svg
+gshape.azure_v1.nsg=image;image=img/lib/mscae/NSG.svg
+gshape.azure_v1.nsg_mono=mxgraph.mscae.cloud.nsg;fillColor=#0079D6;strokeColor=none
+gshape.azure_v1.office_365=mxgraph.mscae.cloud.office_365;fillColor=#DF3C01;strokeColor=none
+gshape.azure_v1.office_365_subscription=mxgraph.mscae.cloud.office_365_subscription;fillColor=#DF3C01;strokeColor=none
+gshape.azure_v1.oms_log_analytics=mxgraph.mscae.cloud.oms_log_analytics;fillColor=#0079D6;strokeColor=none
+gshape.azure_v1.operations_management_suite=mxgraph.mscae.cloud.operational_insights;fillColor=#0079D6;strokeColor=none
+gshape.azure_v1.operations_management_suite_color=image;image=img/lib/mscae/Operations_Management_Suite.svg
+gshape.azure_v1.os_image=mxgraph.azure.operating_system_image;fillColor=#0079D6;strokeColor=none
+gshape.azure_v1.power_bi_embedded=mxgraph.mscae.cloud.power_bi_embedded;fillColor=#000000;strokeColor=none
+gshape.azure_v1.resource_group=mxgraph.mscae.cloud.resource_group;fillColor=#0079D6;strokeColor=none
+gshape.azure_v1.resourcegroup_color=image;image=img/lib/mscae/ResourceGroup.svg
+gshape.azure_v1.service_endpoint=mxgraph.mscae.cloud.service_endpoint2;fillColor=#0079D6;strokeColor=none
+gshape.azure_v1.servicehealth_color=image;image=img/lib/mscae/ServiceHealth.svg
+gshape.azure_v1.sql_elastic_database_pools=mxgraph.mscae.cloud.sql_elastic_database_pools;fillColor=#0079D6;strokeColor=none
+gshape.azure_v1.storage_sync_service=image;image=img/lib/mscae/Storage_sync_service.svg
+gshape.azure_v1.tags=image;image=img/lib/mscae/Tags.svg
+gshape.azure_v1.timeseriesinsights_color=image;image=img/lib/mscae/TimeSeriesInsights.svg
+gshape.azure_v1.unidentified_feature_object=mxgraph.azure.unidentified_code_object;fillColor=#0079D6;strokeColor=none
+gshape.azure_v1.unidentified_feature_object_color=image;image=img/lib/mscae/Unidentified_Feature_Object.svg
+gshape.azure_v1.vhd=mxgraph.azure.vhd;fillColor=#0078D7;strokeColor=none
+gshape.azure_v1.vhd_data_disk=mxgraph.azure.vhd_data_disk;fillColor=#0078D7;strokeColor=none
+gshape.azure_v1.visual_studio_team_services=mxgraph.azure.visual_studio_online;fillColor=#0078D7;strokeColor=none
+gshape.azure_v1.visual_studio_team_services_bitbucket_code_source=mxgraph.azure.bitbucket_code_source;fillColor=#0078D7;strokeColor=none
+gshape.azure_v1.visual_studio_team_services_bitbucket_code_source_color=mxgraph.azure.bitbucket_code_source;fillColor=#1C4870;strokeColor=none
+gshape.azure_v1.visual_studio_team_services_codeplex_source=mxgraph.azure.codeplex_code_source;fillColor=#0078D7;strokeColor=none
+gshape.azure_v1.visual_studio_team_services_codeplex_source_color=image;image=img/lib/mscae/Visual_Studio_Team_Services_CodePlex_source.svg
+gshape.azure_v1.visual_studio_team_services_color=mxgraph.azure.visual_studio_online;fillColor=#784C86;strokeColor=none
+gshape.azure_v1.visual_studio_team_services_dropbox_code_source=mxgraph.azure.dropbox_code_source;fillColor=#0079D6;strokeColor=none
+gshape.azure_v1.visual_studio_team_services_dropbox_code_source_color=mxgraph.azure.dropbox_code_source;fillColor=#0079D6;strokeColor=none
+gshape.azure_v1.visual_studio_team_services_git_repository=mxgraph.azure.git_repository;fillColor=#0079D6;strokeColor=none
+gshape.azure_v1.visual_studio_team_services_git_repository_color=mxgraph.azure.git_repository;fillColor=#D65800;strokeColor=none
+gshape.azure_v1.visual_studio_team_services_github=mxgraph.azure.github_code;fillColor=#0078D7;strokeColor=none
+gshape.azure_v1.visual_studio_team_services_github_color=mxgraph.azure.github_code;fillColor=#000000;strokeColor=none
+gshape.azure_v1.webhook_white=mxgraph.mscae.cloud.webhooks;fillColor=#ffffff;strokeColor=none
+gshape.azure_v1.webhooks=mxgraph.mscae.cloud.webhooks;fillColor=#0078D7;strokeColor=none
+gshape.azure_v1.webhooks_color=image;image=img/lib/mscae/Webhooks.svg
 
 #
 # Child shape TID
@@ -1526,4 +2215,4 @@ com.gliffy.stencil.rectangle.no_fill_line_bottom_2px_off=partialRectangle;top=0;
 com.gliffy.stencil.rectangle.no_fill_half_line_right=partialRectangle;top=0;bottom=0;left=0
 com.gliffy.stencil.rectangle.basic_v1_whitened_68_percent=rect;opacity=68
 #in current configuration, we cannot add subshapes (the circle) 
-com.gliffy.stencil.rectangle.fill_no_line_circle_left=rect;strokeColor=none
+com.gliffy.stencil.rectangle.fill_no_line_circle_left=rect;strokeColor=none

+ 1 - 1
src/main/webapp/cache.manifest

@@ -1,7 +1,7 @@
 CACHE MANIFEST
 
 # THIS FILE WAS GENERATED. DO NOT MODIFY!
-# 03/27/2019 02:45 PM
+# 04/01/2019 01:46 PM
 
 app.html
 index.html?offline=1

+ 0 - 1
src/main/webapp/index.html

@@ -141,7 +141,6 @@
 	<link rel="icon" type="image/png" sizes="32x32" href="images/favicon-32x32.png">
 	<link rel="icon" type="image/png" sizes="16x16" href="images/favicon-16x16.png">
 	<link rel="mask-icon" href="images/safari-pinned-tab.svg" color="#d89000">
-	<link rel="stylesheet" href="https://fonts.googleapis.com/css?family=Roboto:400,700">
     <link rel="stylesheet" type="text/css" href="styles/grapheditor.css">
     <link rel="canonical" href="https://www.draw.io">
 	<link rel="manifest" href="images/manifest.json">

Tiedoston diff-näkymää rajattu, sillä se on liian suuri
+ 406 - 399
src/main/webapp/js/app.min.js


+ 3 - 1
src/main/webapp/js/diagramly/App.js

@@ -512,7 +512,8 @@ App.main = function(callback, createUi)
 		}
 		
 		// Loads Pusher API
-		if (!mxClient.IS_CHROMEAPP && !EditorUi.isElectronApp && DrawioFile.SYNC == 'auto')
+		if (!mxClient.IS_CHROMEAPP && !EditorUi.isElectronApp && DrawioFile.SYNC == 'auto' &&
+			urlParams['stealth'] != '1' && urlParams['offline'] != '1')
 		{
 			// TODO: Check if async loading is fast enough
 			mxscript(App.PUSHER_URL);
@@ -1291,6 +1292,7 @@ App.prototype.init = function()
 		}
 		
 		if (!mxClient.IS_CHROMEAPP && !EditorUi.isElectronApp && urlParams['embed'] != '1' &&
+			urlParams['stealth'] != '1' && urlParams['offline'] != '1' &&
 			(!this.editor.chromeless || this.editor.editable))
 		{
 			// Checks if the cache is alive

+ 113 - 36
src/main/webapp/js/diagramly/Dialogs.js

@@ -2563,7 +2563,7 @@ var ParseDialog = function(editorUi, title, defaultType)
  */
 var NewDialog = function(editorUi, compact, showName, callback, createOnly, cancelCallback,
 		leftHighlight, rightHighlight, rightHighlightBorder, itemPadding, templateFile,
-		recentDocsCallback, searchDocsCallback, openExtDocCallback, showImport, createButtonLabel)
+		recentDocsCallback, searchDocsCallback, openExtDocCallback, showImport, createButtonLabel, customTempCallback)
 {
 	showName = (showName != null) ? showName : true;
 	createOnly = (createOnly != null) ? createOnly : false;
@@ -3070,8 +3070,8 @@ var NewDialog = function(editorUi, compact, showName, callback, createOnly, canc
 		div.appendChild(elt);
 	};
 
-	var categories = {};
-	var categoryCount = 1;
+	var categories = {}, customCats = {};
+	var categoryCount = 1, customCatCount = 0;
 	
 	// Adds local basic templates
 	categories['basic'] = [{title: 'blankDiagram', select: true}];
@@ -3091,6 +3091,64 @@ var NewDialog = function(editorUi, compact, showName, callback, createOnly, canc
 		
 		var currentEntry = null;
 		
+		if (customCatCount > 0)
+		{
+			var titleCss = 'font-weight: bold;background: #f9f9f9;padding: 5px 0 5px 0;text-align: center;';
+			var title = document.createElement('div');
+			title.style.cssText = titleCss;
+			mxUtils.write(title, mxResources.get('custom'));
+			list.appendChild(title);
+			
+			for (var cat in customCats)
+			{
+				var entry = document.createElement('div');
+				var label = cat;
+				var templateList = customCats[cat];
+				
+				if (label.length > 18)
+				{
+					label = label.substring(0, 18) + '&hellip;';
+				}
+				
+				entry.style.cssText = 'display:block;cursor:pointer;padding:6px;white-space:nowrap;margin-bottom:-1px;overflow:hidden;text-overflow:ellipsis;';
+				entry.setAttribute('title', label + ' (' + templateList.length + ')');
+				mxUtils.write(entry, entry.getAttribute('title'));
+				
+				if (itemPadding != null)
+				{
+					entry.style.padding = itemPadding;
+				}
+
+				list.appendChild(entry);
+				
+				(function(cat2, entry2)
+				{
+					mxEvent.addListener(entry, 'click', function()
+					{
+						if (currentEntry != entry2)
+						{
+							currentEntry.style.backgroundColor = '';
+							currentEntry = entry2;
+							currentEntry.style.backgroundColor = leftHighlight;
+							
+							div.scrollTop = 0;
+							div.innerHTML = '';
+							i0 = 0;
+							
+							templates = customCats[cat2];
+							oldTemplates = null;
+							addTemplates();
+						}
+					});
+				})(cat, entry);
+			}
+			
+			title = document.createElement('div');
+			title.style.cssText = titleCss;
+			mxUtils.write(title, 'draw.io');
+			list.appendChild(title);
+		}
+		
 		for (var cat in categories)
 		{
 			var entry = document.createElement('div');
@@ -3161,52 +3219,71 @@ var NewDialog = function(editorUi, compact, showName, callback, createOnly, canc
 			realUrl = PROXY_URL + '?url=' + encodeURIComponent(realUrl);
 		}
 		
-		mxUtils.get(realUrl, function(req)
+		function loadDrawioTemplates()
 		{
-			// Workaround for index loaded 3 times in iOS offline mode
-			if (!indexLoaded)
+			mxUtils.get(realUrl, function(req)
 			{
-				indexLoaded = true;
-				var tmpDoc = req.getXml();
-				var node = tmpDoc.documentElement.firstChild;
-	
-				while (node != null)
+				// Workaround for index loaded 3 times in iOS offline mode
+				if (!indexLoaded)
 				{
-					if (typeof(node.getAttribute) !== 'undefined')
+					indexLoaded = true;
+					var tmpDoc = req.getXml();
+					var node = tmpDoc.documentElement.firstChild;
+		
+					while (node != null)
 					{
-						var url = node.getAttribute('url');
-						
-						if (url != null)
+						if (typeof(node.getAttribute) !== 'undefined')
 						{
-							var category = node.getAttribute('section');
+							var url = node.getAttribute('url');
 							
-							if (category == null)
+							if (url != null)
 							{
-								var slash = url.indexOf('/');
-								category = url.substring(0, slash);
-							}
-							
-							var list = categories[category];
-							
-							if (list == null)
-							{
-								categoryCount++;
-								list = [];
-								categories[category] = list;
+								var category = node.getAttribute('section');
+								
+								if (category == null)
+								{
+									var slash = url.indexOf('/');
+									category = url.substring(0, slash);
+								}
+								
+								var list = categories[category];
+								
+								if (list == null)
+								{
+									categoryCount++;
+									list = [];
+									categories[category] = list;
+								}
+								
+								list.push({url: node.getAttribute('url'), libs: node.getAttribute('libs'),
+									title: node.getAttribute('title'), tooltip: node.getAttribute('url'),
+									preview: node.getAttribute('preview')});
 							}
-							
-							list.push({url: node.getAttribute('url'), libs: node.getAttribute('libs'),
-								title: node.getAttribute('title'), tooltip: node.getAttribute('url'),
-								preview: node.getAttribute('preview')});
 						}
+						
+						node = node.nextSibling;
 					}
 					
-					node = node.nextSibling;
+					initUi();
 				}
+			});
+		};
+		
+		if (customTempCallback != null)
+		{
+			customTempCallback(function(cats, count)
+			{
+				customCats = cats;
+				customCatCount = count;
 				
-				initUi();
-			}
-		});
+				loadDrawioTemplates();
+			}, 
+			loadDrawioTemplates); //In case of an error, just load draw.io templates only
+		}
+		else
+		{
+			loadDrawioTemplates();
+		}
 	}
 	
 	mxEvent.addListener(nameInput, 'keypress', function(e)

+ 35 - 1
src/main/webapp/js/diagramly/DriveClient.js

@@ -1007,7 +1007,41 @@ DriveClient.prototype.getXmlFile = function(resp, success, error, ignoreMime, re
 						data = (window.atob && !mxClient.IS_SF) ? atob(temp) : Base64.decode(temp);
 					}
 					
-					success((importFile) ? new LocalFile(this.ui, data, resp.title, true) : new DriveFile(this.ui, data, resp));
+					if (Graph.fileSupport && new XMLHttpRequest().upload && this.ui.isRemoteFileFormat(data, url))
+					{
+						this.ui.parseFile(new Blob([data], {type: 'application/octet-stream'}), mxUtils.bind(this, function(xhr)
+						{
+							try
+							{
+								if (xhr.readyState == 4)
+								{
+									if (xhr.status >= 200 && xhr.status <= 299)
+									{
+										success(new LocalFile(this.ui, xhr.responseText, resp.title + this.extension, true));
+									}
+									else if (error != null)
+									{
+										error({message: mxResources.get('errorLoadingFile')});
+									}
+								}
+							}
+							catch (e)
+							{
+								if (error != null)
+								{
+									error(e);
+								}
+								else
+								{
+									throw e;
+								}
+							}
+						}), resp.title);
+					}
+					else
+					{
+						success((importFile) ? new LocalFile(this.ui, data, resp.title, true) : new DriveFile(this.ui, data, resp));
+					}
 				}
 			}
 			catch (e)

+ 94 - 58
src/main/webapp/js/diagramly/EditorUi.js

@@ -10088,6 +10088,7 @@
 					
 					var enableRecentDocs = data.enableRecent == 1;
 					var enableSearchDocs = data.enableSearch == 1;
+					var enableCustomTemp = data.enableCustomTemp == 1;
 					
 					var dlg = new NewDialog(this, false, data.callback != null, mxUtils.bind(this, function(xml, name)
 					{
@@ -10128,7 +10129,14 @@
 					{
 						parent.postMessage(JSON.stringify({event: 'template', docUrl: url, info: info,
 							name: name}), '*');
-					});
+					}, null, null,
+					enableCustomTemp? mxUtils.bind(this, function(customTempCallback) 
+					{
+						this.remoteInvoke('getCustomTemplates', null, null, customTempCallback, function()
+						{
+							customTempCallback({}, 0); //ignore error by sending empty templates
+						});
+					}) : null);
 
 					this.showDialog(dlg.container, 620, 440, true, false, mxUtils.bind(this, function(cancel)
 					{
@@ -10665,6 +10673,7 @@
 		{
     		var lines = text.split('\n');
     		var cells = [];
+    		var dups = {};
     		
     		if (lines.length > 0)
     		{
@@ -10889,14 +10898,12 @@
 	    					{
 	    						cell = graph.model.getCell(id);
 	    					}
-
-	    					if (cell == null)
-	    					{
-				    			var cell = new mxCell(label, new mxGeometry(x0, y,
-				    				0, 0), style || 'whiteSpace=wrap;html=1;');
-								cell.vertex = true;
-								cell.id = id;
-	    					}
+	    					
+	    					var exists = cell != null;
+			    			var cell = new mxCell(label, new mxGeometry(x0, y,
+			    				0, 0), style || 'whiteSpace=wrap;html=1;');
+							cell.vertex = true;
+							cell.id = id;
 	    					
 							for (var j = 0; j < values.length; j++)
 					    	{
@@ -10905,11 +10912,14 @@
 							
 							graph.setAttributeForCell(cell, 'placeholders', '1');
 							cell.style = graph.replacePlaceholders(cell, cell.style);
-								
-	    					for (var e = 0; e < edges.length; e++)
-	    					{
-	    						lookups[edges[e].to][cell.getAttribute(edges[e].to)] = cell;
-	    					}
+
+							if (!exists)
+							{
+		    					for (var e = 0; e < edges.length; e++)
+		    					{
+		    						lookups[edges[e].to][cell.getAttribute(edges[e].to)] = cell;
+		    					}
+							}
 							
 							if (link != null && link != 'link')
 							{
@@ -10956,18 +10966,30 @@
 								y += cell.geometry.height + nodespacing;
 							}
 							
-	    					var parent = (parentIndex != null) ? graph.model.getCell(
-	    						namespace + values[parentIndex]) : null;
-	    					
-	    					if (parent != null)
-	    					{
-	    						parent.style = graph.replacePlaceholders(parent, parentstyle);
-	    						graph.addCell(cell, parent);
-	    					}
-	    					else
-	    					{
-	    						cells.push(graph.addCell(cell));
-	    					}
+							if (!exists)
+							{
+		    					var parent = (parentIndex != null) ? graph.model.getCell(
+		    						namespace + values[parentIndex]) : null;
+		    					
+		    					if (parent != null)
+		    					{
+		    						parent.style = graph.replacePlaceholders(parent, parentstyle);
+		    						graph.addCell(cell, parent);
+		    					}
+		    					else
+		    					{
+		    						cells.push(graph.addCell(cell));
+		    					}
+							}
+							else
+							{
+								if (dups[cell.id] == null)
+								{
+									dups[cell.id] = [];
+								}
+								
+								dups[cell.id].push(cell);
+							}
 		    			}
 		    		}
 	    			
@@ -10981,40 +11003,54 @@
 						for (var i = 0; i < cells.length; i++)
 	    				{
 							var cell = cells[i];
-	
-	    					var tmp = cell.getAttribute(edge.from);
-	    					
-	    					if (tmp != null)
-	    					{
-	    						// Removes attribute
-		    					graph.setAttributeForCell(cell, edge.from, null);
-	    						var refs = tmp.split(',');
+							
+							var insertEdge = mxUtils.bind(this, function(realCell, dataCell, edge)
+							{
+								var tmp = dataCell.getAttribute(edge.from);
 		    					
-		    					for (var j = 0; j < refs.length; j++)
-		        				{
-		    						var ref = lookups[edge.to][refs[j]];
+		    					if (tmp != null)
+		    					{
+		    						// Removes attribute
+			    					graph.setAttributeForCell(dataCell, edge.from, null);
+		    						var refs = tmp.split(',');
 		    						
-		    						if (ref != null)
-		    						{
-		    							var label = edge.label;
-		    							
-		    							if (edge.fromlabel != null)
-		    							{
-		    								label = (cell.getAttribute(edge.fromlabel) || '') + (label || '');
-		    							}
-		    							
-		    							if (edge.tolabel != null)
-		    							{
-		    								label = (label || '') + (ref.getAttribute(edge.tolabel) || '');
-		    							}
-		    							
-		    							select.push(graph.insertEdge(null, null, label || '',
-			    							(edge.invert) ? ref : cell, (edge.invert) ? cell : ref,
-							    			edge.style || graph.createCurrentEdgeStyle()));
-		    							mxUtils.remove((edge.invert) ? cell : ref, roots);
-		    						}
-		        				}
-	    					}
+			    					for (var j = 0; j < refs.length; j++)
+			        				{
+			    						var ref = lookups[edge.to][refs[j]];
+			    						
+			    						if (ref != null)
+			    						{
+			    							var label = edge.label;
+			    							
+			    							if (edge.fromlabel != null)
+			    							{
+			    								label = (dataCell.getAttribute(edge.fromlabel) || '') + (label || '');
+			    							}
+			    							
+			    							if (edge.tolabel != null)
+			    							{
+			    								label = (label || '') + (ref.getAttribute(edge.tolabel) || '');
+			    							}
+			    							
+			    							select.push(graph.insertEdge(null, null, label || '',
+				    							(edge.invert) ? ref : realCell, (edge.invert) ? realCell : ref,
+								    			edge.style || graph.createCurrentEdgeStyle()));
+			    							mxUtils.remove((edge.invert) ? realCell : ref, roots);
+			    						}
+			        				}
+		    					}
+							});
+							
+							insertEdge(cell, cell, edge);
+
+    						// Checks more entries
+    						if (dups[cell.id] != null)
+    						{
+    							for (var j = 0; j < dups[cell.id].length; j++)
+    		    				{
+    								insertEdge(cell, dups[cell.id][j], edge);
+    		    				}
+    						}
 						}
 					}
 						

+ 78 - 30
src/main/webapp/js/diagramly/OneDriveClient.js

@@ -520,47 +520,95 @@ OneDriveClient.prototype.getFile = function(id, success, error, denyConvert, asL
 				
 				this.ui.loadUrl(meta['@microsoft.graph.downloadUrl'], mxUtils.bind(this, function(data)
 				{
-					window.clearTimeout(timeoutThread);
-		    	
-			    	if (acceptResponse)
-			    	{
-						var index = (binary) ? data.lastIndexOf(',') : -1;
-						var file = null;
-
-						if (index > 0)
-						{
-							var xml = this.ui.extractGraphModelFromPng(data.substring(index + 1));
+					try
+					{
+						window.clearTimeout(timeoutThread);
+			    	
+				    	if (acceptResponse)
+				    	{
+							var index = (binary) ? data.lastIndexOf(',') : -1;
+							var file = null;
+	
+							if (index > 0)
+							{
+								var xml = this.ui.extractGraphModelFromPng(data.substring(index + 1));
+								
+								if (xml != null && xml.length > 0)
+								{
+									data = xml;
+								}
+								else
+								{
+									// Imports as PNG image
+									file = new LocalFile(this.ui, data, meta.name, true);
+								}
+							}
+							// Checks for base64 encoded mxfile
+							else if (data.substring(0, 32) == 'data:image/png;base64,PG14ZmlsZS')
+							{
+								var temp = data.substring(22);
+								data = (window.atob && !mxClient.IS_SF) ? atob(temp) : Base64.decode(temp);
+							}
 							
-							if (xml != null && xml.length > 0)
+							if (Graph.fileSupport && new XMLHttpRequest().upload && this.ui.isRemoteFileFormat(data, meta['@microsoft.graph.downloadUrl']))
 							{
-								data = xml;
+								this.ui.parseFile(new Blob([data], {type: 'application/octet-stream'}), mxUtils.bind(this, function(xhr)
+								{
+									try
+									{
+										if (xhr.readyState == 4)
+										{
+											if (xhr.status >= 200 && xhr.status <= 299)
+											{
+												success(new LocalFile(this.ui, xhr.responseText, meta.name + this.extension, true));
+											}
+											else if (error != null)
+											{
+												error({message: mxResources.get('errorLoadingFile')});
+											}
+										}
+									}
+									catch (e)
+									{
+										if (error != null)
+										{
+											error(e);
+										}
+										else
+										{
+											throw e;
+										}
+									}
+								}), meta.name);
 							}
 							else
 							{
-								// Imports as PNG image
-								file = new LocalFile(this.ui, data, meta.name, true);
+								if (file != null)
+								{
+									success(file);
+								}
+								else if (asLibrary)
+								{
+									success(new OneDriveLibrary(this.ui, data, meta));
+								}
+								else
+								{
+									success(new OneDriveFile(this.ui, data, meta));
+								}
 							}
-						}
-						// Checks for base64 encoded mxfile
-						else if (data.substring(0, 32) == 'data:image/png;base64,PG14ZmlsZS')
-						{
-							var temp = data.substring(22);
-							data = (window.atob && !mxClient.IS_SF) ? atob(temp) : Base64.decode(temp);
-						}
-						
-						if (file != null)
-						{
-							success(file);
-						}
-						else if (asLibrary)
+				    	}
+					}
+					catch (e)
+					{
+						if (error != null)
 						{
-							success(new OneDriveLibrary(this.ui, data, meta));
+							error(e);
 						}
 						else
 						{
-							success(new OneDriveFile(this.ui, data, meta));
+							throw e;
 						}
-			    	}
+					}
     			}), mxUtils.bind(this, function(req)
 				{
 					window.clearTimeout(timeoutThread);

Tiedoston diff-näkymää rajattu, sillä se on liian suuri
+ 592 - 589
src/main/webapp/js/viewer.min.js


Tiedoston diff-näkymää rajattu, sillä se on liian suuri
+ 4 - 1
src/main/webapp/styles/grapheditor.css